开拓者期货期权程序化系统交易论坛

标题: 一个奇怪的问题,有图,有源码,有注释~ [打印本页]

作者: fatstar    时间: 2015-7-6 09:49:40     标题: 一个奇怪的问题,有图,有源码,有注释~

一个三均线系统,在图中打圈的部分会出现在一个价位上同时执行buy和sell的指令,百思不得其解,求原因以及解决方法,谢谢~
  1. //入场模块
  2.         If(EMA1[1]>EMA2[1] And CloseD(1)>EMA3[1])                //短期均线在中期均线之上,同时收盘价在长期均线之上
  3.         {
  4.                 Buy(lot,open);                                        //做多,以开盘价买入,默认1手
  5.         }
  6.        
  7.         If(EMA1[1]<EMA2[1] And CloseD(1)<EMA3[1])                //短期均线在中期均线之下,同时收盘价在长期均线之下
  8.         {
  9.                 SellShort(lot,open);                                //做空,以开盘价买入,默认1手
  10.         }

  11.         //止损模块
  12.         if(MarketPosition==1 and CloseD(1)<ema3[1])         //如果持有多单,同时收盘价下破长期均线;
  13.         {
  14.                 Sell(lot,open);                                                //多单平仓;
  15.         }
  16.         if(MarketPosition==-1 and CloseD(1)>ema3[1])         //如果持有空单,同时收盘价在长期均线之上;
  17.         {
  18.                 BuyToCover(lot,open);                                //空单平仓;
  19.         }
复制代码

作者: 小米    时间: 2015-7-6 16:10:56

closeD(1)不可以直接放条件里这样使用的。。
可以先声明一个中间变量,如:myclose
myclose = closeD(1);
再将myclose替换原closeD(1)后再看看结果。
如果仍有不符合你交易想法的信号结果 ,建议就要从条件上进行排查了。
作者: fatstar    时间: 2015-7-6 21:21:20

小米 发表于 2015-7-6 16:10
closeD(1)不可以直接放条件里这样使用的。。
可以先声明一个中间变量,如:myclose
myclose = closeD(1);

我试试,谢谢版主!




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2