老师把给我看下!谢谢 (文华财经WH8赢智V8.2)

投资者咨询:老师把给我看下!谢谢 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-4-2 21:59
 //一点点


VAR Price1;//定义最新价变量
VAR MinPrice1,Code1,BuyVol,SellVol,TZ1,TZ2;//定义最小变动价位,合约名称
VAR BPRICE,SPRICE;//定义多头持仓均价,空头持仓均价
VAR Step,Lost,Win,WinStep,LoseStep,SaveBit,New; //定义追踪点差,止损点差,止盈点差,保底止盈价位

VOID MAIN()
{
Code1="sc1809";
Step=1; //定义追踪点差
Lost=3; //定义止损点差
Win=1; //定义止盈点差
SaveBit=1;//定义保底止盈损失价位
//WinStep=1;//定义止盈价差(监控价差的用户可以使用)
//LoseStep=1;//定义止损价差(监控价差的用户可以使用)
    Price1=Price(Code1,"New"); //让PRICE函数取得ru1409的最新价
MinPrice1=MinPrice(Code1);//定义最小变动价位
BPRICE=T_BuyAvgPrice(Code1);//取得持仓栏中该合约多头持仓均价
SPRICE=T_SellAvgPrice(Code1);//取得持仓栏中该合约空头持仓均价
BuyVol=T_SHBuyPosition(Code1,0);
SellVol=T_SHSellPosition(Code1,0);
IF (BuyVol>0)//如果多头持仓大于0
{
TZ1 = 1;
SPDeal(); // 执行卖平程序
}
IF (SellVol>0)  //如果空头持仓大于0 
{
TZ2 = 1;
BPDeal(); //执行买平程序
}
}
VOID SPDeal() //定义卖平函数
{
IF(TZ1!=0&&T_BuyRemainPosition(Code1) != 0) 
{
T_Deal(Code1,1,2,T_BuyPosition(Code1),BPRICE+MinPrice1*Win); 
}

IF( BPRICE - New >= Lost*MinPrice(Code1) )//止损部分
{

T_DeleteOrderAll();
TZ1 = 0;
IF(TZ1 == 0&&T_BuyRemainPosition( Code1 ) > 0 )
{
T_Deal1(Code1,1,2,T_BuyRemainPosition( Code1 ),LIMIT_ORDER); 
TZ1 = 2;
}
     
}
   }



VOID BPDeal() //定义买平函数
{

IF(TZ2!=0&&T_SellRemainPosition(Code1) != 0) 
{
T_Deal(Code1,0,2,T_SellPosition(Code1),SPRICE-MinPrice1*Win); 
}
IF( New - SPRICE >= Lost*MinPrice(Code1) )//止损部分
{
T_DeleteOrderAll();
TZ2 = 0;
IF(TZ2 == 0 &&T_SellRemainPosition( Code1 ) > 0 )
{
T_Deal1(Code1,0,2,T_SellRemainPosition( Code1 ),LIMIT_ORDER); 
TZ2 = 2;
}
     
}

}

 执行的时候  止损部分  不会触发,不会撤单重新挂单
技术人员回复
日期:2018-4-2 22:15
 

这个是您止损写法有误

 IF( BPRICE - New >= Lost*MinPrice(Code1) )//止损部分
   IF( New - SPRICE >= Lost*MinPrice(Code1) )//止损部分

New 不能这样使用的,您改成下面的用Price1取最新价的写法即可

Price1=Price(Code1,"New"); //让PRICE函数取得合约的最新价
投资者咨询:老师把给我看下!谢谢 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-4-2 21:59
 辛苦
投资者咨询:老师把给我看下!谢谢 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-4-2 21:59
 ?
技术人员回复
日期:2018-4-3 11:42

 请参考2楼回复

投资者咨询:老师把给我看下!谢谢 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-4-2 21:59
执行逻辑上有错误吗?
技术人员回复
日期:2018-4-3 16:25
 
您的模型写法有些不严谨,要调整的话需要整体重新编写,您考虑下

如果可以的话,请具体量化说明下您的思路,我们给您编写完整的算法交易模型
投资者咨询:老师把给我看下!谢谢 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-4-2 21:59
手动开仓
开仓后,自动挂一个点的盈利单,
再判断
如果时间超过10秒或者亏损达到5个最小变动价位,撤单,重新以对价委托
//


老师只需要写一个方向的操作即可,其余部分可以同理的!辛苦
技术人员回复
日期:2018-4-3 17:15
 
您是想手动开仓后没有持仓且没有挂单的时候 设置止盈委托是吧?

那如果在止盈还没有成交的时候,手动开新仓了,

止盈单撤单 并重新按照目前的持仓均价和手数发止盈吗?




投资者咨询:老师把给我看下!谢谢 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-4-2 21:59
手动开仓(开仓后,不会开新仓)
开仓后,自动挂一个点的盈利单,
再判断
如果时间超过10秒或者亏损达到5个最小变动价位,撤止盈单,重新以对价委托止损