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

 

Artyom Trishkin:

......得到了正确的答案,但是从错误的酒吧。这一点必须被了解和考虑到。

也就是说,在多时段的数据采集中,你需要依靠时间,并在正确的时间范围内重新计算成条数。

谢谢你的澄清。

因此,如果我们在EA中像 这样调用该指标

ozy_verh=NormalizeDouble(iCustom(NULL, 240, "Ozy", Amplitude, 3, 1), Digits);

并在H1上运行EA,该指标将不会从第一个条形图的H4读取。

那么,指标读数将是多少,如何正确操作才能从H4获得正确的读数?

int TimeFrame = 240;

ozy_verh=NormalizeDouble(iCustom(NULL, TimeFrame, "Ozy", Amplitude,3,iBarShift(Symbol(),TimeFrame,iTime(Symbol(),TimeFrame,1)) ), Digits);


那么,从H4开始,指标的数值是否会正确?



 
mila.com:

谢谢你的澄清。

事实证明,如果我在EA中像这样调用该指标

ozy_verh=NormalizeDouble(iCustom(NULL, 240, "Ozy", Amplitude, 3, 1), Digits);

并在H1上运行EA,该指标将不会从第一个条形图的H4读取。

那么我得到的是什么指标读数,我应该如何正确操作才能从高级TF中得到正确的读数?

int TimeFrame = 240;

ozy_verh=NormalizeDouble(iCustom(NULL, TimeFrame, "Ozy", Amplitude,3,iBarShift(Symbol(),TimeFrame,iTime(Symbol(),TimeFrame,1)) ), Digits);


那么,从H4开始,指标的数值是否会正确?



如果你按照你写的方式调用指标。

ozy_verh=NormalizeDouble(iCustom(NULL, 240, "Ozy", Amplitude, 3, 1), Digits);

那么指标数据将从当前符号、从PERIOD_H4 周期、从第四个缓冲区、从H4时间框架的第一个条形中获得。

你一定是误解了我告诉你的内容。

我的意思是:如果EA在M5上运行,你从M5上的第1条获得数据,那么如果你想看看在更高的位置上发生了什么,比如从H1上,那么如果你从更高的位置H1上也获得第1条的数值,你将不会得到当前的数值,也就是现在H1上的数值,而是上一小时的数值。因为M5的第1条在H1的第0条内。

这就是你必须考虑到的问题,这就是我刚才说的。

 
Vitaly Muzichenko:

我是指测试器中的日志

补充:将代码组装到正常状态,修改后,在测试器中运行,并阅读日志中的错误。你在这里给出的是一些零碎的代码。

在这里。我理解支票的事,但不明白它是怎么来的。

附加的文件:
count.mq4  17 kb
 
Artyom Trishkin:

这就是你必须考虑的问题,这就是我所说的。

如果我把EA放在M5上,想从H1上获得指标值,从第一条开始,那么下面的输入是正确的?

ozy_verh=NormalizeDouble(iCustom(NULL, 60, "Ozy", Amplitude, 3, 1), Digits);
 
mila.com:

如果我把专家顾问放在M5上,并想从H1中获得指标值,从第一条开始,那么下面的输入是正确的?

ozy_verh=NormalizeDouble(iCustom(NULL, 60, "Ozy", Amplitude, 3, 1), Digits);

不,而不是1。

datetime _time1 = iTime(Symbol(), PERIOD_H1, 1);
int      _n     = iBarShift(Symbol(), PERIOD_CURRENT, _time1);
// ваша формула
ozy_verh=NormalizeDouble(iCustom(NULL, 60, "Ozy", Amplitude, 3, _n), Digits);
只有当你在服务器上 或自己使用该EA,但你没有打开H1图表,那么你必须做额外的检查。
 

Oksana Berenko:

... 但你也不会打开H1图表,那么你就必须做额外的检查。

谢谢你。

我有一个打开的M5图表,我在上面有一个 调用H1指标的EA,就像你写的那样。

我还需要哪些检查?

 
mila.com:

如果我把专家顾问放在M5上,并想从H1中获得指标值,从第一条开始,那么下面的输入是正确的?

ozy_verh=NormalizeDouble(iCustom(NULL, 60, "Ozy", Amplitude, 3, 1), Digits);

对。这取决于你需要的数据来自哪个时间段的第一个条形图...

看来你还是不明白我在说什么......

 
你好,请你告诉我mt4和mt5的主要区别是什么?我没有看到任何重大的差异。
 

下午...

如果(OrderType()==OP_SELL) CloseOpBuySell("BUY")。

如果(OrderType()==OP_BUY) CloseOpBuySell("SELL")。

这里有一个条件,当我打开一个买入头寸时,我需要关闭一个卖出头寸,反之亦然,会不会触发?

我只对左边的部分感兴趣 OrderType()==OP_SELL

当任何信号被推到那里时,右手边就会工作

问题:"这种关闭方式是否可行?

 
elektrik777:
你好,请你告诉我mt4和mt5的主要区别是什么?我没有看到任何重大的差异。
区别在于EA、脚本和指标的编程语言,其他都是一样的,只是MT5可以在证券交易所交易,MT4不能。
原因: