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

 
Vitaly Muzichenko #:

谢谢你。我将与之合作。这本手册很乱。

 
Sergey Dymov #:

谢谢你。我将与之合作。这本手册很乱。

它似乎是适应...

大家都说mql5比mql4快。那么我有一个问题。为什么同一个专家顾问在mql4上执行了164毫秒,在mql5上执行了527毫秒?可能是什么问题?

 
Sergey Dymov #:

改编似乎已经成功...

大家都说mql5比mql4快。那么我有一个问题。为什么同样的专家顾问在mql4上的运行时间是164毫秒,而在mql5上是527毫秒?可能是什么问题?

你用什么以及如何衡量业绩?

 
Sergey Dymov 一个 用mql4编写的多货币EA。当然,在测试器中它并不工作。我已经决定,我应该转到mql5。

我已经改编了所有的编译器错误,并修复了它们。,但技术指标的使用除外。我对自己的脑袋没有什么想法。文件是难以理解的,涵盖了两页。也许我找错了地方。

mql4中的一行代码如下

double MA1EURGBP_TF = iMA("EURGBP",15,MA1_Period,0,MODE_EMA,PRICE_OPEN,0) 。

double Stoch_M_GBPUSD=iStochastic("GBPUSD", Stoch_Period, K_Period, D_Period, Slowing, MODE_EMA, 0, MODE_MAIN, 0) 。

根据文档,整个页面的代码在mql5中发生了变化。处理程序、缓冲区、带参数的数组、这个启动、这个计算、处理程序创建过程中的错误处理......。这真是太疯狂了...也许我找错了地方。

如果我使用几个货币对和几个时间框架,我就会得到 "战争与和平"。

在4ka中,信息部分应该与其他符号一起工作,而顺序部分则不能。但我们应该首先将所需的符号加载到报价档案中。它以前并不工作。它将对按符号加载档案的深度起作用。你可以在档案中看到这个日期。

 

请提供更多建议。

我已经将EA转移到MT5,一切似乎都在工作。我在mt4上写了一个自定义指标 来检查执行的正确性,我也要把它移到mt5。

我改编了这个指标,似乎也能用,但不是很好。

1) 卸载时从图表中删除对象不起作用。我认为没有任何地方可以犯错。

int OnInit()

{

ObjectCreate(0, "GBP_S0",OBJ_LABEL,0,0,0)。

return(INIT_SUCCEEDED)。

}

空白OnDeinit(const int reason)。

{

ObjectDelete(0, "GBP_S0")。

}

2)

如果我们这样做。

ExtGBPBuffer[i]=GBPTP。

ObjectSetString(0, "GBP_S101",OBJPROP_TEXT,ExtGBPBuffer[i])。

那么GBP_S101这个值正是我们要找的。但这条线是零。这怎么可能呢?也就是说,线画好了,一切都很好,颜色、宽度,一切都很好,除了数值。


即使我这样做 ExtGBPBuffer[i]=2;行仍为0

 
Sergey Dymov #:

1) 卸载时从图中删除对象不起作用。似乎没有什么地方可以出错。

它的作用

 
for(int cycle=1; cycle<=6; cycle++) { int period = per+(CountBuy()+CountSell()); vgran = iCustom(NULL,TF,"Канал_1",period,1,0);      }
一个提示。我通过iCustom添加一个指标,并在这个指标中循环,改变1个实例参数--周期。因此,我选择了一些变体并与之合作。我只取了最后一栏。但是,当我停止我的专家顾问 时,我注意到我看到了一打具有不同参数的指标,而且是整个历史长度。当我把一个指标修改成直方图(一个单独的窗口)时,分别出现十个直方图窗口。如何删除(不显示行),在循环枚举期间不使用整个指标,而只使用最后的值。
 
Aleksandr Kononov 停止我的专家顾问 时,我注意到它显示了一打不同参数的指标,而且是在整个历史长度上。当我把一个指标修改成直方图(一个单独的窗口)时,分别出现十个直方图窗口。如何删除(不显示行),在循环枚举期间不使用整个指标,而只使用最后的值。
   HideTestIndicators(true); 
   MaCurrent=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,0); 
   MaPrevious=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,1); 
   HideTestIndicators(false);
 

伙计们,请教一下基于开盘价的MA自定义指标,它不会因为新的点位出现而改变其读数,这就是为什么它是基于开盘价的。

在mql5上,适应性指标在过渡区的读数随着每一个刻度而改变...还通过开价,甚至像这样


copy=CopyBuffer(MA2EURJPY,0,1,CountBars,MA2EURJPY_TF)。

如果(copy<0)

Print("复制失败 MA2EURJPY_MAS")。


以进行第二次读数,但它仍然来回跳动。


Andrey Sokolov #:

它的作用

我有一种感觉,语言是有缺陷的。当我在mql5中编辑一个不相关的片段时,一切都停止工作...



 
Sergey Dymov #:

我有一种感觉,这种语言的故障率很高。当我在mql5中编辑一个不相关的部分时,一切都停止工作......我也遇到过这样的情况,但每次我都发现 "这不是babina",所以不是babina,所以不是mql4。

我也遇到过类似的情况,但每次都是 "不是巴比纳",所以......。

原因: