关于MQ软件的一个写法 (文华财经WH6赢顺V6.7)

投资者咨询:关于MQ软件的一个写法 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-7-25 15:19

1、当持仓方向是多单,当委托买一价=(持仓价+5)时,平仓。

2、同时,按委托卖一价开仓1手,方向:做多;

      3300秒内,如果委托买一价达不到(持仓价+5)时,按实时的委托买一价,平仓。同时,按委托卖一价继续开仓1手,方向做多; 

技术人员回复
日期:2018-7-25 15:35

算法语句编写较复杂,分析后预计明日17:00前给您回复

投资者咨询:关于MQ软件的一个写法 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-7-25 15:19
用TICK模型是不是也可以实现?
技术人员回复
日期:2018-7-25 15:44
 1楼思路与可以在TICK周期中实现
技术人员回复
日期:2018-7-26 16:46

 参考:

 

vars

Global_Numeric BB;

Global_Numeric BKID;

Global_Numeric SPID;

Global_Numeric CDID;

Begin

If( F_BuyPosition()>0&&F_BuyAvgPrice()==Price("Bid1")+5&&BB==0)

{

                  SPID=A_SendOrder(Enum_sell,Enum_Exit,1,Price("FallLimit"));  

  BB=1;

}

If(BB==1&& F_OrderStatus(SPID) == Enum_Filled)

           {

                  BKID=A_SendOrder(Enum_buy,Enum_Entry,1,Price("Bid1"));

                 SetGlobalVar2("BuyTimeCoin",CurrentTime);

                  BB=2;

           }


 

IF(TimeDiff(GetGlobalVar2("BuyTimeCoin"),CurrentTime) > 300 && BB==2 && not(F_OrderStatus(BKID) == Enum_Filled))

{

 CDID=F_DeleteOrder();

BB=3;

}

IF(BB==3&&F_OrderEntryOrExit(CDID)==Enum_Canceled )

{

  BKID=A_SendOrder(Enum_buy,Enum_Entry,1,Price("Bid1"));

  BB=2;

}

IF(BB==2&&F_OrderStatus(BKID) == Enum_Filled)

{

BB=0;

}


 

End