投资者咨询:模组问题11 (文华财经WH8赢智V8.2)
来源:文华财经 日期:2018-4-20 10:56
技术人员回复
日期:2018-4-20 11:17
模型给您优化下,您这么试试
//该组件仅仅用来示范如何编写算法交易模型
//用户需要根据自己交易经验,编写组件再实际应用!!!
VAR Modname;
VAR Code1;//定义合约名称
VAR Price1;//定义最新价
VAR SellPosition,BuyPosition;//定义模组空头持仓、多头持仓
GLOBAL_VAR LastWithDrawFinsh; //这个变量的作用是避免撤单的过程中反复的进行撤单
VOID MAIN()
{
Modname="模组名";
Code1=Modname.F_DealCode();
Price1=Price(Code1,"New");//定义最新价为当前模型所加载合约的最新价
SellPosition=AL_SellRemainPosition(Code1);
BuyPosition=AL_BuyRemainPosition(Code1);
IF(T_IsNoOrder()!=1 ) //有挂单的情况
{
IF(CurrentTime()-LastOrderTime()>20 && LastWithDrawFinsh == 1) //如果20秒有委托未成交,全撤,下次进入会重新下委托
{
T_DeleteOrderAll();
LastWithDrawFinsh=0;
}
RETURN;
}
LastWithDrawFinsh=1;
Modname.F_FreshSig(); //取得一个还未处理的新信号
IF(Modname.F_Sig() == BPK && Modname.F_SigValid() == 1) //如果取出的信号为BPK 且信号不是消失状态
{
IF(SellPosition!=0&&T_IsNoOrder()==1)
{
MessageOut("信号BPK生效,平掉所有卖仓");
T_ReduceSellOpiTo(Code1, Price1,0); //平掉所有空头持仓
}
IF(BuyPosition == 0)
{
MessageOut("信号BPK生效,开仓");
T_AddBuyOpiTo(Code1, Price1,Modname.F_SigVol()); //补充持仓
}
}
ELSE IF(Modname.F_Sig() == SPK && Modname.F_SigValid() == 1) //如果取出的信号为SPK 且信号不是消失状态
{
IF(BuyPosition!=0&&T_IsNoOrder()==1)
{
MessageOut("信号SPK生效,平掉所有卖仓");
T_ReduceBuyOpiTo(Code1, Price1,0); //平掉所有多头持仓
}
IF(SellPosition == 0) //如果买仓为0,不存在止赢止损问题,直接开仓
{
MessageOut("信号SPK生效,开仓");
T_AddSellOpiTo(Code1, Price1,Modname.F_SigVol()); //补充空头持仓
}
}
IF(Modname.F_Sig() == BPK && Modname.F_SigValid() == 0) //BPK 条件不满足(似可认为BPK信号处在消失状态)
{
IF(BuyPosition!=0)
{
MessageOut("信号BPK失效,平掉所有买仓");
T_ReduceBuyOpiTo(Code1, Price1,0); //平掉所有多头持仓
}
}
ELSE IF(Modname.F_Sig() == SPK && Modname.F_SigValid() == 0) //SPK 条件不满足(似可认为SPK信号处在消失状态)
{
IF(SellPosition!=0)
{
MessageOut("信号SPK失效,平掉所有卖仓");
T_ReduceSellOpiTo(Code1, Price1,0); //平掉所有空头持仓
}
}
}
投资者咨询:模组问题11 (文华财经WH8赢智V8.2)
来源:文华财经 日期:2018-4-20 10:56
您好,不开仓了
技术人员回复
日期:2018-4-20 22:22
和有挂单有关系,模型有挂单是会影响开仓的,因为委托都是最新价,不是又是委托
如果您有实际加载思路,请您重新说下,重新写,系统模型,更改很麻烦的
投资者咨询:模组问题11 (文华财经WH8赢智V8.2)
来源:文华财经 日期:2018-4-20 10:56
MA7:MA(LOW,Q1);
DIFF : EMA(CLOSE,12) - EMA(CLOSE,26);//短周期与长周期的收盘价的指数平滑移动平均值做差。
DEA : EMA(DIFF,9);//DIFF的M个周期指数平滑移动平均
2*(DIFF-DEA),COLORSTICK;//DIFF减DEA的2倍画柱状线
DIFF<REF(DIFF,1)&&MA7>C&&PANZHENG=0,BK;
执行以上开仓(30秒不成撤单),开仓后马上挂平仓(如平仓不成继续挂平仓),一开一平。闭市前30秒全平
技术人员回复
日期:2018-4-21 9:52
您是希望改写为宽语言加载到MQ软件上使用吗
投资者咨询:模组问题11 (文华财经WH8赢智V8.2)
来源:文华财经 日期:2018-4-20 10:56
技术人员回复
日期:2018-4-21 16:50
周一工作时间相关同事给您回复
技术人员回复
日期:2018-4-23 9:18
投资者咨询:模组问题11 (文华财经WH8赢智V8.2)
来源:文华财经 日期:2018-4-20 10:56
需要和您核实以下内容:
MA7:MA(LOW,Q1);
DIFF : EMA(CLOSE,12) - EMA(CLOSE,26);//短周期与长周期的收盘价的指数平滑移动平均值做差。
DEA : EMA(DIFF,9);//DIFF的M个周期指数平滑移动平均
2*(DIFF-DEA),COLORSTICK;//DIFF减DEA的2倍画柱状线
DIFF<REF(DIFF,1)&&MA7>C&&PANZHENG=0,BK;
DIFF>REF(DIFF,1)&&MA7<C&&PANZHENG=0,SK;
4.组件平仓挂单具体是以什么价位位置委托?是否是止盈止损都挂,需要具体说下?指定价格,设定几跳就严格按照几条执行,