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

 
YanSay:

像这样吗?

我会像这样循环。

for(int i=OrdersTotal()-1; i>WRONG_VALUE; i--)

我习惯于postdecrement/postincrement--这对我来说是有意义的,不像前缀增量/减量,因为(从帮助中)前缀增量(++i)和减量(-k)是在表达式中使用一个变量之前应用于该变量的。

另一方面,你的比较一点也不正确。

if(NormalizeDouble((Ask-OrderStopLoss()>Trailing*Point),Digits))

这里你是在对一个布尔值进行规范化处理--两个值的比较结果--Ask-OrderStopLoss()表达式的值与Trailing*Point表达式的值进行比较,然后你对这个比较的结果进行规范化。

比较结果只能是假(0)或真(不为零)。因此,你将对这个零或非零进行标准化处理。

这就是你应该做的比较。

if(NormalizeDouble((Ask-OrderStopLoss())-Trailing*Point,Digits)>DBL_EPSILON)
  {
   // Ask-OrderStopLoss() больше Trailing*Point
  }
 
Juer:
这个错误是什么意思?


我有一个有两个对象的函数。

其中一个类有一个结构,有4000多个字段(大部分是枚举)。

如何处理这个错误?

bool              CheckCandleOneRules(CCandlePropertiesBase *candle,
                                      CCandleRule *rule,
                                      int dir);

这里局部变量的大小在编译时过大(超过512kb)。

要看什么,做什么?该函数有一个字符串数组CArrayString,我怀疑这个错误可能与它有关。

我使用Add()方法填充它,然后再次做Clear()Shutdown()。然后我用Add()方法再次填充新的数据。在这种情况下,数组是否会从空元素开始重新填充?

 

我如何知道,在历史上,最长的连续、多方向的蜡烛序列?

例如:第一个是看跌,第二个是看涨,第三个是看跌,以此类推。我想我们需要一个循环和一个变量来记录这种蜡烛的数量,但我不知道这个循环应该是什么,以及如何通过什么条件来退出它。

 
PolarSeaman:

我如何知道,在历史上,最长的连续、多方向的蜡烛序列?

例如:第一个是看跌,第二个是看涨,第三个是看跌,以此类推。我想我们需要一个循环和一个变量来记录这种蜡烛的数量,但我不知道这个循环应该是什么,如何退出,通过什么条件。

我不知道应该用什么样的循环来退出它。

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyRates
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyRates
  • www.mql5.com
Получает в массив rates_array исторические данные структуры MqlRates указанного символа-периода в указанном количестве. Отсчет элементов от стартовой позиции ведется от настоящего к прошлому, то есть стартовая позиция, равная 0, означает текущий бар. При копировании заранее неизвестного количества данных рекомендуется в качестве приемного...
 
Alexey Viktorov:

CopyRates并在一个MqlRates结构的 数组上循环。

谢谢,一个数组的循环,怎么做? 什么时候退出?

 
PolarSeaman:

谢谢你,数组循环,怎么做?什么时候退出?

与订单清单的情况相同。只是你应该注意数组中的索引方向。以及何时退出...如果它应该只做一次,而且是在最后一小节中,那么一旦序列被打破,它就应该退出。如果它是一个指标,那么当阵列结束时退出。
 
PolarSeaman:

我如何知道,在历史上,最长的连续、多方向的蜡烛序列?

例如:第一个是看跌,第二个是看涨,第三个是看跌,以此类推。我想我们需要一个循环和一个变量来记录这种蜡烛图的数量,但我不知道这个循环应该是什么,以及如何通过什么条件来退出它。

我不知道它应该是什么样的循环,但我不知道从什么条件下退出。

 
Alexey Viktorov:
然后,一旦序列被打破,就会出来。

首先,我如何记录这个序列?

 
Vitaly Muzichenko:

并从哪里算起最大的一致性,从什么时候开始创建外汇?

这将是伟大的)但经纪人的历史是有限的,通过所有可用的搜索。 或过去一年,即自15.04.17以来。

 
PolarSeaman:

一般来说,如何将这一序列写下来?

如何写,阿列克谢回答。如果他有时间和愿望,能够按照他的想法写出代码,那就太好了)。

我通过一个旗子看到了实施,但对我来说似乎是错误的,我甚至不想开始尝试。

PS。顺便问一下,它是一个指标,还是一个EA?
原因: