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

 
Alekseu Fedotov #:

我没有看到这里的错误。

if(TimeFrame != PERIOD_CURRENT)

同样的事情

if(TimeFrame != 0)
 
Alekseu Fedotov #:

我没有看到这里有什么错误。

PERIOD_CURRENT为0--神奇的常数

它至少应该是_Period(当前图表的周期),它总是不为0。

 
Alekseu Fedotov #:

我没有看到这里有什么错误。

在采取这段代码的地方,还有一个输入参数

sinput ENUM_TIMEFRAMES TimeFrame = PERIOD_CURRENT; // Период

相应地,我们得到如果0不等于0的条件。

但是,如果我们在输入参数中用任何其他时期代替PERIOD_CURRENT,无论图表周期如何,该条件都会成立。那么这个条件的意义何在?

 
Alexey Viktorov #:

在采取这段代码的地方,还有一个输入参数

相应地,我们得到如果0不等于0的条件

但是,如果我们在输入参数中用任何其他时期代替PERIOD_CURRENT,无论图表周期如何,该条件都会成立。那么,这个条件的意义何在?

只有一次是有意义的,这样ChartSetSymbolPeriod()函数就不会给你带来太多麻烦。

 
Alekseu Fedotov #:

重点只有一个,这样ChartSetSymbolPeriod()函数才不会被不必要地拉动。

原则上,是的。但问题是关于错误的存在,而不是关于这个条件的权宜之计......

 

下午好,亲爱的开发者们!

我面临着需要对订单进行分组,以便分别处理每一组(关闭、充值等)。我认为这个任务并不难,但我不知道如何解决它。我有一个非常不明确的想法,就是这样。没有人遇到过这样的问题?分组可以以任何方式进行(全局变量 终端、注释等)。如果有任何帮助,我将不胜感激。

 
AMarkov (全局变量 终端、注释等)。如果有任何帮助,我将不胜感激。

你为什么不愿意使用Magik?因为一个EA中可能有不止一个魔术师......

 
镁合金
Alexey Viktorov #:

为什么魔术师不适合?毕竟,一个议员中可能有不止一个魔术师......。

马吉克也适合。我假设所有这些选项将有几乎相同的算法。所以,这并不重要。最主要的是要找到解决方案)。

 
AMarkov #:
镁合金

马吉克也适合。我假设所有这些选项将有几乎相同的算法。所以这都是一样的。最主要的是找到一个解决方案)。

当然,解决办法是一样的。确定该订单属于这个或那个组的标准,并根据该标准确定它......
 
Alexey Viktorov #:
当然,解决办法是一样的。你定义了订单属于这个或那个组的标准,并根据这个标准来识别它。

谢谢你的参与。任务说明对我来说很清楚。我被困在执行中...

试着用了一下评论。到第二组为止,它的数字是正确的。第三天,它返回一个评论,尽管第一组仍然在市场上。我们的想法不是要增加数字,而是要把腾出来的数字拿出来。我希望我解释清楚了)。

for(int a=1; a<10; a++)

{

评论="。

for(int i=0; i<OrdersTotal(); i++)

{

如果(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

如果(OrderSymbol()==Symbol() && OrderMagicNumber()==magic)

{

//打印(OrderComment();

如果(OrderComment()==IntegerToString(a))继续。

否则

{

评论=IntegerToString(a)。

突破。

}

}

}

}

if(comment!="") break;

}

如果(CountOfBuy(magic)<1 && CountOfSell(magic)<1) comment="1"。

原因: