初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1216

 
Pineapple88:

在EA启动后立即开仓 的原因是什么?

开仓的条件没有满足,但开仓了

在这种情况下,最好的办法是使用打印。这将显示条件是否得到满足。

...
if(PositionsTotal()==0)
 {
  Print(" MovingAverage1[0]: ",MovingAverage1[0]," MovingAverage2[0]: ",MovingAverage2[0]);
  trade.Sell(0.1);
 }
...
 
Vladimir Karputov:

我们应该在什么时候检查 "MinDist(30 pips) "和 "OpenDev(10 pips)"--在每一个tick 上还是只在新的bar诞生的时刻?

应该在每一个Tick上进行检查!

但对于测试来说,是否有可能制作两个变体,并在参数中为测试者提供一个开关? 也许在CODEBASE中有一个现成的例子

 
Milhail Novgorodcev:

有必要在每个Tick中进行测试!

但对于测试来说,是否有可能制作两个变体,并在参数中为测试者提供一个开关? 也许在CODEBASE中有一个现成的例子。

如果你想在每个tick上检查,那么你应该指定如何和在哪里检查 "MinDist(30 pips) "参数。

例如,你想在当前栏上检查吗?或者在任何数量的柱子 上,或者只是寻找'MinDist(30 pips)' 的最后时刻

 

同志们好!

在可视化策略测试器 中,当运行EA时,EA中使用的MACD指标要么显示,要么不显示,标准例子中的EA也是如此。这是Visual Tester中的一个无形的错误还是什么?

 
谁会提示。通过邮件发送了一个文件夹,里面有一个关于mql5的EA.但是在终端安装不了。怎么做?
 
kokines:
我通过邮件收到了一个装有mql5的EA的文件夹,但我不能在终端安装它。 我怎么做呢? 我在哪里可以找到关于如何做的信息?

也许他们给你发了带有源代码的文件夹,然后你需要用MetaEditor来编译它。

 
Vladimir Karputov:

如果你在每个tick上检查,那么你需要指定如何和在哪里检查'MinDist(30 pips)'参数。

例如,你想在当前栏上检查吗?或者在任何一个栏位,或者只是搜索"MinDist(30 pips) " 的最后时刻

我们需要最后的MinDist(30) - 这个事件将是打开订单的信号,一旦在当前时刻达到OpenDev(10)的值,订单将被打开,如果MinDist(30)的价格值高于平均水平(或如果低于平均水平,则为卖出),则为BAY。

而在订单被打开后,MinDist值被重置,你必须再次等待!!!MinDist值(30),等等。

 
Milhail Novgorodcev:

你需要在最后时刻出现MinDist(30)--该事件给出了一个开仓信号,当OpenDev(10)的值在当前时刻达到时,该订单将打开,如果MinDist(30)的价格值高于平均值,则该订单将买入(如果低于平均值则卖出)。

而在订单被打开后,MinDist值被重置,你必须再次等待!!等待MinDist值(30),等等。

第一次运行时,找到'MinDist(30)'事件的第一个日期并记住它。随后扫描从这个日期到当前时间 的空间。一旦你发现一个新的'MinDist(30)'事件,就覆盖掉已保存的日期。

 
在测试器中发送错误10054的错误是什么?

 

下午好!

我正在努力理解数组,有以下问题。

MqlRates rates[]; 
   ArraySetAsSeries(rates,true); 
   int copied=CopyRates(Symbol(),0,0,100,rates);

如果在CopyRates 中是从现在到过去计数的,为什么在这个例子中使用ArraySetAsSeries 并设置标志为true?

我理解,ArraySetAsSeries 函数对于搜索从现在到过去的数组是必要的。

我想了解这个例子中这个函数的用途。