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

 
Sprut112:
如何向专家顾问(标准ma)解释,我们应该只在跨越平均线的时刻买入(卖出),而不是在一般情况下,当ma_1>ma_2的时候。他不断地买东西,无法停止

你需要在变量中记住穿越已经发生,当它穿越回来时,重写变量,说它已经再次穿越。这就是变体№1。

看看历史上的交易,如果最后是买入,那么就等待卖出的信号,然后像这样交替进行,这种方式比较可靠

 
Vitaly Muzichenko:

你需要在变量中记住穿越已经发生,当它穿越回来时,重写变量,说它已经再次穿越。这就是变体№1。

看一下历史上的交易,如果最后是买入,那么就等待卖出的信号,然后一圈一圈地交替进行,这种方式比较可靠

很有智慧的东西,你不能在条件中加入一些东西吗?
 
Sprut112:
在条件本身添加一些东西不是很复杂吗?

这有什么大不了的?用历史来工作并不难,把交集写进一个变量里就更容易了。

 
Vitaly Muzichenko:

你需要在变量中记住穿越已经发生,当它穿越回来时,重写变量,说它已经再次穿越。这就是变体№1。

看看历史上的交易,如果上次是买入,我们就等待卖出的信号,这样我们就会交替进行,这种方法比较可靠。

如果我们谈论的是最后的MA交叉,基于MA的交易通常更容易。

1.控制新酒吧

2.在新的酒吧,我们检查条件。

ma_1[1]>ma_2[1] && ma_1[2]<ma_2[2] - 自上而下的交叉点

或 ma_1[1]<ma_2[1] && ma_1[2]>ma_2[2] - 自上而下的交叉点

如果哪个MA从上面穿过没有任何区别,那么两个条件都应使用。

if((ma_1[1]>ma_2[1]  && ma_1[2]<ma_2[2]) || (ma_1[1]<ma_2[1]  && ma_1[2]>ma_2[2])) // пересечение!!!
 
Vitaly Muzichenko:

这有什么大不了的?用历史来工作并不难,把交集写进一个变量里就更容易了。

好的,谢谢。
 
Igor Makanu:

当涉及到最后的MA交叉时,在MA上交易通常更容易。

1.监控新的酒吧

2.在新的酒吧,我们检查条件。

ma_1[1]>ma_2[1] && ma_1[2]<ma_2[2] - 自上而下的交叉点

或 ma_1[1]<ma_2[1] && ma_1[2]>ma_2[2] - 自上而下的交叉点

如果哪个MA从上面穿过没有任何区别,那么两个条件都应使用。

嗯,这还是有道理的。
 

朋友们,请你们告诉我,为什么在优化EA 的时候,\Terminal\tester\logs文件夹中积累了大量的日志文件,内容如下。

2 00:00:01.796 2014.04.01 10:57:30 Tester: #102因过期而被删除。

2 00:00:02.221 2014.04.24 08:59:59 测试人员:#103因过期而被删除

2 00:00:02.326 2014.04.30 12:57:30 Tester: #104因过期而被删除。

2 00:00:02.852 2014.05.29 10:20:00 测试者:订单#105,卖出0.10欧元兑美元在1.35871处开仓

0 00:00:02.852 2014.05.29 10:22:30 测试员:止损#105在1.35910(1.35876 / 1.35926)�

2 00:00:02.941 2014.06.04 01:20:00 测试员:订单#106,买入0.10欧元兑美元在1.36306处开仓

0 00:00:02.941 2014.06.04 01:22:30 测试员:止损106号在1.36259(1.36253 / 1.36303)

2 00:00:03.133 2014.06.13 14:03:20 测试员:订单#107,卖出0.10欧元兑美元在1.35382处开仓

而我的一些EA写了这样的日志,有些则没有。我不能让它出来。

 


这怎么可能呢?

 
我怎样才能使EA代码中的输入变量不可改变?例如,我在Macd上使用一个EA,我不希望它的变量显示在设置窗口中。
 
Sprut112:
如何使输入变量在EA代码中不可更改?例如,我在Macd上使用一个EA,我不希望它的变量显示在设置窗口中。

在源代码中按F1键,在输入或外部的 "命令 "上阅读帮助;)

原因: