关于插入第三方指标 历史回测出现如下情况(在不停的插入MACD指标 模拟测试是没问题的?

 
 
看不懂。。
 
Krist Wu #:
看不懂。。

在不停的加载MACD

 

在OnInit中创建指标句柄,不要在OnTick()中创建。

仔细看了下,指标参数相同,不应该出现重复加载。

 
Ziheng Zhuang #:

在OnInit中创建指标句柄,不要在OnTick()中创建。

仔细看了下,指标参数相同,不应该出现重复加载。

的确是代码问题,重复加载指标,检查你的代码

 
Ziheng Zhuang #:

在OnInit中创建指标句柄,不要在OnTick()中创建。

仔细看了下,指标参数相同,不应该出现重复加载。

看了  就是用  你写的双线MACD    句柄 在OnTick 有创建(需要求MACD值 但没插入 指标 )     

                Onlnit 有插入 

   int MD=iCustom(Symbol(),图表周期," MACD(2lines) ",F,S,M,实现方法,应用价格类型);

   ChartIndicatorAdd(0,1,MD);



OnTick()

   bool  M金叉= 指标.MACD金叉(Symbol(),图表周期,0, 10, 快, 慢,柱,F,S,M,实现方法,应用价格类型,1);
   bool  M死叉= 指标.MACD死叉(Symbol(),图表周期,0, 10, 快, 慢,柱,F,S,M,实现方法,应用价格类型,1);
 

不需要调用ChartIndicatorAdd(0,1,MD),复盘测试时会自动加载已经创建了句柄的指标。

在OnInit中创建句柄,在OnTick中的调用CopyBuffer,用句柄获取指标数据。

在代码库中找EA参考下。

 

感谢  秒懂 就是我已封装好了             使用就不方便了  加载EA 也不能自动载入指标   (但还有个疑问 我用另外一个指标就没这个问题 一样的写法     )        不是说你写的macd  有问题   我下别的macd  也是一样

很是纳闷

int OnInit()

  {

//---

   int m10=iCustom(Symbol(),图表周期,"Examples\\supertrend",波动率周期,波动率乘数);

   ChartIndicatorAdd(0,0,m10);

  return(INIT_SUCCEEDED);

  }


void OnTick()

  {

      //---载入指标值

      指标.求SuperTrend值(Symbol(),图表周期, 0,100, 买提值, 卖提值,波动值,波动率周期,波动率乘数);

}

 

希望官方能解决这个问题吧  就不用句柄分开写了

原因: