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

 
Vikon:

你好。

我正试图转换为五,但我还是不明白语法的逻辑。

如何将double i= iHigh(Symbol(),0,1); 从指标四转换为mql5。

我还不能给出任何想法。

谢谢

double i[]; CopyHigh(Symbol(),PERIOD_CURRENT,0,1,i);
 
pronych:
double i[]; CopyHigh(Symbol(),PERIOD_CURRENT,0,1,i);

不,你不能像mql4那样做,你不能给警报一个高值

double i= iHigh(Symbol(),0,1);

警报(i)。

而你提供给我的,按照我的理解,是一个具有最大值的int条数组。

以下是我理解的问题,如何将这两个对任何级别的程序员来说都很清楚的字符串翻译成mql5

 
Vikon:

不,你不能像mql4那样做,你不能给警报一个高值

double i= iHigh(Symbol(),0,1);

警报(i)。

而你提供给我的,按照我的理解,是一个具有最大值的int条数组。

这就是我理解的困难,如何将这两个任何级别的程序员都能理解的字符串翻译成mql5

这是帮助中的内容
int  CopyHigh(
   string           symbol_name,      // имя символа
   ENUM_TIMEFRAMES  timeframe,        // период
   int              start_pos,        // откуда начнем 
   int              count,            // сколько копируем
   double           high_array[]      // массив для копирования максимальных цен
   );

所有正确的建议,但如果警报中的条形图不是零,你必须复制2个缓冲区(或你需要应用多少个)。

double i[];
ArraySetAsSeries(i,true); // массив как таймсерия
CopyHigh(Symbol(),PERIOD_CURRENT,0,2,i);
Alert(i[1]);
 
lewvik:
这是帮助中的内容

所有的建议都是正确的,只有在警戒线不为零的情况下,你才需要复制2个缓冲区(或者你需要应用多少个)。

它工作得很好。谢谢

 

你好!

关于指标的问题,在这里我想写一个 MACD指标,它将在任何时间段使用四个MACD时间段,为此我使用MACD指标句柄,它在OnInit和Start中的数组复制和排序功能。

所以我的问题是。

我应该申报四个(每个时间段)或一个手柄,有多少个。

如果有,在代码执行过程中,有什么可能改变四个时间段的参数。

也许可以将一个句柄卷进一个函数中,并在代码中为给定的时间段进行调用

 
我不知道某处是否有一篇类似于 "EA速度慢的最常见原因 "的文章?我试图理解为什么测试器中的EA一开始就飞起来了,但越往后就越慢了。它的发展阶段还不至于那么关键(速度足以发展基本机制和工具)。但还是很不舒服,超过一个星期就没有意义了,因为之后速度就趋于零了。
 
Lone_Irbis:
我不知道某处是否有一篇类似于 "EA速度慢的最常见原因 "的文章?我试图理解为什么测试器中的EA一开始就飞起来了,但越往后就越慢了。它的发展阶段还没有到关键的程度(速度足以发展基本机制和工具)。但仍然不方便的是,采取超过一周的片段没有意义,因为之后的速度已经趋于零了。
最有可能使用的指标是对整个历史的计算,在测试结束时增加。
 
Lone_Irbis:
我不知道某处是否有一篇类似于 "EA速度慢的最常见原因 "的文章?我试图理解为什么测试器中的EA一开始就飞起来了,但越往后就越慢了。它的发展阶段还不至于那么关键(速度足以发展基本机制和工具)。但仍然不方便的是,采取超过一个星期的片段是没有意义的,因为在那之后,速度已经趋于零。
作为一个替代方案:将测试期一分为二,在测试器中分别运行。通过这种方式,我们可以确定在指定的时期内,是否只是有较少的信号输入。
 
zfs:
最有可能使用的指标是对整个历史的计算,在测试结束时增加。

到目前为止,根本没有使用任何外部指标。但它根据历史进行了相当多的计算,是的。然而对分析的蜡烛图的最大数量似乎有限制,如果原因是它们,不清楚为什么会逐渐变慢,而不是从一开始就变慢(似乎间隔总是从现在开始计算)。

 
Lone_Irbis:

到目前为止,根本没有使用任何外部指标。但它根据历史进行了相当多的计算,是的。然而,似乎对分析的蜡烛图的最大数量有限制,如果是这个原因,就不清楚为什么会逐渐放慢,而不是从一开始就放慢(似乎这一段总是从现在开始的)。

而 "相当多的基于历史的计算 "加起来就是一个动态阵列