新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1769

 

大家下午好。请告诉我,我是否需要在mt4的d1上开始测试指标,当我得到信号时,我需要切换到n1。我可以在不中断测试的情况下进行吗?

 
DanilaMactep #:

大家下午好。请告诉我,我是否需要在mt4的d1上开始测试指标,当我得到信号时,我需要切换到n1。我可以在不中断测试的情况下进行吗?

你需要在H1上启动它,并从D1上获得信号

 
DanilaMactep #:

大家下午好。请告诉我,我是否需要在mt4的d1上开始测试指标,当我得到信号时,我需要切换到n1。我可以在不中断测试的情况下进行吗?

不可以。时间框架不能在测试器中切换。因此,你应该在M1上 设置ticks模型OHLC,观察H1或D1的信号,或者选择H1,等待D1 的信号。

 
MakarFX #:

你必须在H1上运行,并从D1获得信号。

这是指如果专家顾问被测试。我需要手动测试。也就是说,我应该把专家顾问连接到测试中,并把指标附在测试图表上。而且我需要在测试过程中手动切换时间框架。这可以用脚本或其他东西来完成吗?

 
DanilaMactep #:

这是在测试EA的情况下。但我需要手动测试。也就是说,我应该将EA连接到测试,并将指标放在测试图表上。而且我必须在测试过程中手动切换时间框架。这可以用脚本或其他东西来完成吗?

你从指标上得到信号了吗?
 
MakarFX #:
你是否从指标上得到了信号?
从指标上看是的,但只是在较低的时间框架上击败其趋势线,然后是反趋势线的形式--可能以后我会录制一个视频来说明;-)
 
DanilaMactep #:
是的,从指标上看,但只是以击败其趋势线的形式,然后在较低的时间框架上的反趋势线--也许以后我会录制一个视频来说明这一点;-)

做一个MTF指标,你就会很高兴)

 
MakarFX #:

做一个MTF指标,你就会很高兴)

你能告诉我,我错过了什么吗?这是EA中的一个功能。

错误:超过了阵列的限制

int TradeSignal() 
  {
   int limit, i, sig=-1;
   double Ma_curr, Ma_prev, Buffer[];
   limit=MaPeriod*3;
   for(i=limit;i>=0;i--)
     {
      Ma_curr=iMA(_Symbol,_Period,MaPeriod,0,MaMethod,MaPrice,i);
      Ma_prev=iMA(_Symbol,_Period,MaPeriod,0,MaMethod,MaPrice,i+1);
      Buffer[i]=Ma_curr-Ma_prev;
      if(Buffer[i]>0) sig=0;
      if(Buffer[i]<0) sig=1;
     }
   return(sig);
  }
 
MakarFX #:

你能告诉我,我错过了什么吗?这是EA中的一个功能。

错误:阵列超限

你没有为缓冲器阵列分配内存

int TradeSignal() 
  {
   int limit, i, sig=-1;
   double Ma_curr, Ma_prev, Buffer[];
   limit=MaPeriod*3;
   ArrayResize(Buffer, limit);
   for(i=limit-1;i>=0;i--)
     {
      Ma_curr=iMA(_Symbol,_Period,MaPeriod,0,MaMethod,MaPrice,i);
      Ma_prev=iMA(_Symbol,_Period,MaPeriod,0,MaMethod,MaPrice,i+1);
      Buffer[i]=Ma_curr-Ma_prev;
      if(Buffer[i]>0) sig=0;
      if(Buffer[i]<0) sig=1;
     }
   return(sig);
  }
 
Mihail Matkovskij #:

你没有为缓冲器阵列分配内存

非常感谢你。
原因: