如何编码? - 页 307

 

...

是的,你的理解是正确的

至于对fasle的设置:mql是一种类似C/C++的语言,这意味着false == 0,true == 1。所以你可以用这种方式。你不能声明全局变量的类型,因为它们完全是双数,但使用上层方式,你可以把它们当作布尔值来使用。

crsnape@btinternet.com:
啊...我明白了。因为全局变量在内存中保存其值。因此,正如你所说的,当它完成回溯测试并达到5000时,即使回溯测试重新运行,这也会被保存在内存中,所以它永远不会因为BarsGV不低于5000而返回错误?天啊,这太深奥了。

还有,如果它产生了错误,它会将HasOrderedGV设置为false,这样它就可以继续进行其余的代码?

我对你的理解正确吗?

BTW- 这是否允许?

GlobalVariableSet(HasOrderedGV, false)。

因为在MQL4书中说。

datetime GlobalVariableSet([/TD] [TD]string name,double value)
我的实例中的第二个值是bool而不是double?
 

它又开始工作了。真棒。

谢谢。

 

或者说它是...

我输入了我通常的测试日期,即2011年1月4日至2012年7月20日。昨天晚上,当我在init()中插入BarsGV时,它工作得很好,但是当我今天早上测试时,没有做任何改变,它只在17.01.2011下了一个订单。然后我在5分钟后再次回测,没有做任何修改,它返回了从2011年1月19日到2011年4月21日的大约30个订单!

基本上,它的工作是正常的,但在我指定的结束日期前就被关闭了。日志中没有错误,我的print()也是如此,等等。我的进入标准应该发展到2012年7月20日的交易。

它似乎真的很不稳定,我只能假设它与我的GlobalVariable有关。你怎么看?

 

这是我的日志。

2012.07.23 09:08:16 2011.03.21 16:18 测试者:在1.42100(1.42100 / 1.42125)处获利2号。

2012.07.23 09:08:15 2011.03.04 14:39 测试者:在1.40040(1.40043 / 1.40068)处获利#1。

2012.07.23 09:08:14 2011.02.04 13:39 测试者:止损#3在1.35700 (1.35699 / 1.35724)

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4: 票号 3 符号 EURUSD 价格 1.3718 SL 1.357 TP 0

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4: EA试图放置止盈水平...成功

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4: 修改 #3 在1.37175买入0.01 EURUSD sl: 1.35700 tp: 1.41600 ok

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4:成功计算获利位置

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4:成功下单

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4: EA尝试下达买入指令...

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4: open #3 buy 0.01 EURUSD at 1.37175 sl: 1.35700 ok

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4: 使用导出的风险百分比成功计算头寸大小

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4:风险百分比准备用于手数计算

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4:前一单盈利。3%的风险分配

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4:最后开仓的订单获得票号2。

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4:最后开仓的订单获得票号2

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4:检查购买标准...成功。订单准备就绪

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4: 票号 2 符号 EURUSD 价格 1.36 SL 1.3396 TP 0

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4: EA试图放置止盈水平...成功

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4: 修改 #2 在1.35995买入0.01 EURUSD sl: 1.33960 tp: 1.42100 ok

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4:成功计算获利位置

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4:成功下单

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4: EA尝试下达买入指令...

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4: open #2 buy 0.01 EURUSD at 1.35995 sl: 1.33960 ok

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4: 使用导出的风险百分比成功计算出头寸大小

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4:风险百分比准备好用于手数计算

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4:前一单盈利。3%的风险分配

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4: 最后开仓的订单获得票号1

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4:最后开仓的订单获得票号1

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4:检查购买标准...成功。订单准备就绪

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4: 票号 1 符号 EURUSD 价格 1.3442 SL 1.3254 TP 0

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4: EA试图放置止盈水平...成功

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4: 修改#1 在1.34415买入0.01 EURUSD sl: 1.32540 tp: 1.40040 ok

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4:成功计算获利位置

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4:成功下单

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4: EA尝试下达买入指令...

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4: open #1 buy 0.01 EURUSD at 1.34415 sl: 1.32540 ok

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4: 使用导出的风险百分比成功计算头寸大小

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4:风险百分比准备好用于计算手数

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4:未发现先前订单。1%的风险分配

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4:最后开仓的订单获得票号-1

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4:检查购买标准...成功。订单准备就绪

2012.07.23 09:08:12 H4周期EA输入。MagicNumber=42; RiskRewardRatio=3; D1SlowMAPeriod=200; D1FastMAPeriod=50; FastMACDPeriod=12; SlowMACDPeriod=26; SignalPeriod=9; DNCPeriod=120; SL_Period=10。

它像时钟一样运行,但由于某些原因决定在某段时间后停止下单...

 

...

对不起。

但这些数据并不足以说明你的EA发生了什么。我已经说过几次了,没有代码,我只能猜测,而从所附的数据来看,我甚至无法猜测。

crsnape@btinternet.com:
这是我的日志。

2012.07.23 09:08:16 2011.03.21 16:18 测试者:在1.42100(1.42100/1.42125)处获利#2。

2012.07.23 09:08:15 2011.03.04 14:39 测试者:在1.40040(1.40043 / 1.40068)处获利#1。

2012.07.23 09:08:14 2011.02.04 13:39 测试者:止损#3在1.35700 (1.35699 / 1.35724)

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4: 票号 3 符号 EURUSD 价格 1.3718 SL 1.357 TP 0

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4: EA试图放置止盈水平...成功

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4: 修改#3 在1.37175买入0.01 EURUSD sl: 1.35700 tp: 1.41600 ok

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4:成功计算获利位置

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4:成功下单

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4: EA尝试下达买入指令...

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4: open #3 buy 0.01 EURUSD at 1.37175 sl: 1.35700 ok

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4: 使用导出的风险百分比成功计算头寸大小

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4:风险百分比准备用于手数计算

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4:前一单盈利。3%的风险分配

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4: 最后开仓的订单获得票号2

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4:最后开仓的订单获得票号2

2012.07.23 09:08:14 2011.02.01 04:00 H4周期EA EURUSD,H4:检查购买标准...成功。订单准备就绪

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4: 票号 2 符号 EURUSD 价格 1.36 SL 1.3396 TP 0

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4: EA试图放置止盈水平...成功

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4: 修改 #2 在1.35995买入0.01 EURUSD sl: 1.33960 tp: 1.42100 ok

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4:成功计算获利位置

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4:成功下单

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4: EA尝试下达买入指令...

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4: open #2 buy 0.01 EURUSD at 1.35995 sl: 1.33960 ok

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4: 使用导出的风险百分比成功计算出头寸大小

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4:风险百分比准备好用于手数计算

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4:前一单盈利。3%的风险分配

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4: 最后开仓的订单获得票号1

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4:最后开仓的订单获得票号1

2012.07.23 09:08:13 2011.01.21 20:00 H4周期EA EURUSD,H4:检查购买标准...成功。订单准备就绪

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4: 票号 1 符号 EURUSD 价格 1.3442 SL 1.3254 TP 0

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4: EA试图放置止盈水平...成功

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4: 修改#1 在1.34415买入0.01 EURUSD sl: 1.32540 tp: 1.40040 ok

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4:成功计算获利位置

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4:成功下单

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4: EA尝试下达买入指令...

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4: open #1 buy 0.01 EURUSD at 1.34415 sl: 1.32540 ok

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4: 使用导出的风险百分比成功计算头寸大小

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4:风险百分比准备好用于计算手数

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4:未发现先前订单。1%的风险分配

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4:最后开仓的订单获得票号-1

2012.07.23 09:08:13 2011.01.19 04:00 H4周期EA EURUSD,H4:检查购买标准...成功。订单准备就绪

2012.07.23 09:08:12 H4周期EA输入。MagicNumber=42; RiskRewardRatio=3; D1SlowMAPeriod=200; D1FastMAPeriod=50; FastMACDPeriod=12; SlowMACDPeriod=26; SignalPeriod=9; DNCPeriod=120; SL_Period=10;

它像时钟一样运行,但由于某种原因,在一段时间后决定停止下订单......
 

你好mladen,我附上了文件。希望我写得很好,这样才有意义!

附加的文件:
 

...

从代码中我可以看到:计数条(IndicatorCounted()函数)在EA中不起作用。(我只是假设你在使用,因为代码中缺少CountedBars定义)。

它只能在指标中工作

crsnape@btinternet.com:
你好mladen,我附上了文件。希望我写得很好,这样才有意义!
 

对不起,我不知道你说的CountedBars函数 是什么意思,因为我没有在我的代码中使用过,所以我下载了我发布的文件,打开后发现与我实际附上的文件完全不同。很奇怪吗?

我肯定附的是正确的,是不是因为我的电脑上的文件旁边有一个挂锁标志--我只能想到这个?

当你打开那个代码时,你一定在想这是什么鬼东西,因为里面几乎没有任何东西。

 

...

我指的是代码的这一部分

if (Bars > CountedBars)

CountedBars = Bars

else

return (-888);

我完全没有看到CountedBars的声明(我甚至无法编译这段代码--不仅仅是因为缺少对该变量的声明)。

crsnape@btinternet.com:
对不起,我不知道你说的CountedBars函数是什么意思,因为我没有在我的代码中使用过,所以我下载了我发布的文件,打开后发现和我实际附上的文件完全不同。很奇怪吗?

我肯定附上了正确的文件,是不是因为我的电脑上的文件旁边有一个挂锁标志--这就是我所能想到的?

当你打开那段代码时,你一定在想这是什么鬼东西,因为里面几乎没有什么东西。
 

对不起mladen,你通过我附上的文件所看到的代码是完全错误的--尽管附上了正确的文件(我仔细检查了文件名),但它与我目前的代码毫无相似之处。

我所能想到的是,我正在处理的文件在我的系统中旁边有一个挂锁。我不知道那是什么,也不知道它的作用。有什么想法吗/?

PS-这是我自己的EA,因为我使用了创建EA的 向导,它的顶部版权旁边有我的名字。