[原创]不知是什么原因组件找不到空头持仓,组件不止损请老师帮改一下 [文华财经]
- 咨询内容:
文华自带组件“限价止损+追踪止盈(独立运行)”只改了品种为if1303,
问题:我手动开空后仓位存在,但组件找不到空头持仓。
明明有持仓但组件总是T_SellPosition(A)>0表达式:false,不满足条件,
后面止陨价条件到达也不能被执行止损动作。
不知是什么原因组件找不到空头持仓,请老师帮改一下,看是不是那里语句不对或者是加载问题。
-
-
此主题相关图片如下:组件.png
- 文华技术人员:
//if1303 限价止损+追踪止盈独立运行
VAR Price,MinPrice;//定义最新价变量,最小变动价位
VAR BPRICE,SPRICE,HPRICE,LPRICE;//定义多头持仓均价,空头持仓均价,波段最高价,波段最低价
VAR Step,LoseBit,WinBit,WinStep,LoseStep,SaveBit; //定义追踪点差,止损点差,止盈点差,保底止盈价位
VAR A;
VOID MAIN()
{
A="IF1303";
Price=Price(A); //让PRICE函数取得A的最新价
Step=1; //定义追踪点差
LoseBit=1; //定义止损点差
WinBit=1; //定义止盈点差
SaveBit=1;//定义保底止盈损失价位
//WinStep=1;//定义止盈价差(监控价差的用户可以使用)
//LoseStep=1;//定义止损价差(监控价差的用户可以使用)
MinPrice=MinPrice(A);//定义最小变动价位
BPRICE=T_BuyAvgPrice(A);//取得持仓栏中该合约多头持仓均价
SPRICE=T_SellAvgPrice(A);//取得持仓栏中该合约空头持仓均价
IF (T_BuyPosition(A)>0)//如果多头持仓大于0
{
SPDeal(); // 执行卖平程序
}
IF (T_SellPosition(A)>0) //如果空头持仓大于0
{
BPDeal(); //执行买平程序
}
}VOID SPDeal() //定义卖平函数
{
IF (BPRICE-Price>=LoseBit*MinPrice) //如果多头持仓均价-最新价大于等于止损点差*最小变动价位
{
T_Deal(A,1,1,T_BuyPosition(A),0); //发出委托,以最新价卖平多头持仓
}
ELSE IF (BPRICE-Price<0) //如果最新价大于多头持仓均价
{
HPRICE=ReadGlobal("HPRICE"); //读取上一次最高价,如果第一次运行,此处为0
IF (HPRICE==0||Price>HPRICE) //如果 上一次最高价为0或者最新价大于上一次最高价
{
HPRICE=Price; //将上一次最高价赋值为当前最新价
}
ELSE IF (HPRICE>=BPRICE+MinPrice*WinBit && HPRICE<=BPRICE+MinPrice*WinBit+MinPrice*Step && BPRICE+MinPrice*WinBit-Price==SaveBit) //最近一次最高价处于两个波段之间,并且最新价回撤到止盈价位以下
{
T_Deal(A,1,1,T_BuyPosition(A),0); //将多头持仓以最新价全平
HPRICE=0; //将上一次最高价清零
}
WriteGlobal("HPRICE",HPRICE); //将上一次最高价写入HPRICE
}
}VOID BPDeal() //定义平空仓函数
{
IF (Price-SPRICE>=LoseBit*MinPrice) //如果当前价格减去空头开仓均价>=止损点差*最小变动价位
{
T_Deal(A,0,1,T_SellPosition(A),0); //将当前合约的持仓全部平掉
}
ELSE IF (Price<SPRICE) //当前最新价小于空头持仓均价
{
LPRICE=ReadGlobal("LPRICE"); //读取上一次最低价的值
IF(Price<LPRICE||LPRICE==0) //如果最新价小于上一次最低价或者上一次最低价为0
{
LPRICE=Price; //最低价等于最新价
}
ELSE IF(LPRICE>=SPRICE-WinBit*MinPrice-MinPrice*Step && LPRICE<=SPRICE-WinBit*MinPrice && Price-SPRICE+WinBit*MinPrice==SaveBit) //最近一次最低价处在两个波段之内并且最新价高于止盈价
{
T_Deal(A,0,1,T_SellPosition(A),0); //全平
LPRICE=0; //对上一次最低价重新赋值
}
WriteGlobal("LPRICE",LPRICE); //将LPRICE写入注册表
}
} - 文华客服:
请参考下面链接40楼
http://help.shwebstock.com.cn/dispbbs.asp?boardid=14&id=254123&page=&star=4
- 网友回复:
40楼是这样说的:
您的问题已查明是由于
T_BuyPosition(A)
T_SellPosition(A)这两个函数在升级后读取系统持仓有误导致的,开发已经修改。会在下次升级版本中体现。
那什么时候能升级好?要快。
- 网友回复:
需要等下次升级了,请您耐心等待
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 262069696 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容