编码帮助 - 页 486

 
xtractalpha:
谢谢你的快速回复!

我已经删除了这些线,但EA仍然以错误的手数开仓。

这真的很奇怪,为什么EA无视我的马丁格尔法则。因为EA只在手数为0.10或0.20的情况下打开交易....。 (见图片)。

屏幕截图:Lightshot

我认为我的lotsizecalc函数是问题所在。我希望当我输掉一笔交易时,该函数能将我的手数乘以马丁格尔金额。

我的马丁格尔金额是1.5,我的手数是0.10。这意味着当我连续输掉5笔交易时,手数将是:0.1, 0.15, 0.22, 0.34, 0.51。

double LotsizeCalc() { if(lastOrderProfit()<0 && tradeNumber <=MaximumTrades) { tradeNumber++; malot=OrderLots()*MartingaleAmount; } else { malot = LotSize; tradeNumber=1; } return(malot); }

谁能检查一下这个代码?

预先感谢。

蒂埃里

将第121行改为:tradeNumber=0。

这就是我在这种情况下得到的结果。

正如你所看到的,当做了这些修改后,似乎就可以了。

我将进一步检查,但不是今天

附加的文件:
res.gif  35 kb
 

你好,附件中的专家已经编译,但有14个警告,你能再施展一下你的魔法吗?

请注意

附加的文件:
 

帮助改进这个指标

谁能把这个指标在最新版本的MetaTrader上修复一下...谢谢

附加的文件:
 
Jeeves:
你好,附件中的专家可以编译,但有14个警告,你能再施展一下你的魔法吗? 请注意

杰维斯

给你:manualordermanager_v7_nmc.mq4

附加的文件:
 
privasi:
帮助改进这个指标 谁能把这个指标固定在最新版本的MetaTrader上工作...谢谢

私有化

新的mt4兼容版本的macd被张贴在这里 :https://www.mql5.com/en/forum/183798/page121

 
privasi:
帮助改进这个指标 谁能把这个指标固定在最新版本的MetaTrader上工作...谢谢

我这边也只是提供一些帮助

多用途的贸易经理只有编译器警告。它应该工作

 
mladen:
将第121行改为:tradeNumber=0。

这是我在这种情况下得到的结果。

正如你所看到的,当做了这些修改后,似乎就可以了。

会再检查一下,但不是今天

谢谢你的回复....,像你这样的牛人在这个论坛上真是令人难以置信!

总之....我已经按照你的建议,编辑了这一行。由于某些原因,我的EA不会第二次乘以lotsize。(看这个:Lightshot的截图)

如果我使用0.10作为起始手数,2作为乘数。EA将不会第二次乘以手数。但是在你的系统中,它却能正常工作,这可能是什么原因呢...我在花旗银行的MT4平台和FXCM的MT4平台上试过,但都不工作。

有人知道问题出在哪里吗?

谢谢。

蒂埃里

test_martingale.mq4

附加的文件:
 
mladen:
Jeeves 给你:manualordermanager_v7_nmc.mq4

非常感谢....,这是我欠你的另一个人情。

 
xtractalpha:
谢谢您的回复....,像您这样的牛人在这个论坛上真是令人难以置信!

Anyways....我已经按照你的建议,编辑了这一行。由于某些原因,我的EA不会对手数进行第二次倍增。

如果我使用0.10作为起始手数,2作为乘数。EA将不会第二次乘以手数。但是在你的系统中却能正常工作,这可能是什么原因呢...我在花旗银行的MT4平台和FXCM的MT4平台上试过,但都不工作。

有人知道问题出在哪里吗?

谢谢。

蒂埃里

test_martingale.mq4

你必须从历史选择函数(lastOrderProfit())中选择并返回手数,与 "lastProfit "的方式相同。

ProFXManager

 
xtractalpha:
感谢你的回复....,像你这样的牛人在这个论坛上真是令人难以置信!

Anyways....我已经按照你的建议,编辑了这一行。由于某些原因,我的EA不会第二次乘以lotsize。(看这个:Lightshot的截图)

如果我使用0.10作为起始手数,2作为乘数。EA将不会第二次乘以手数。但是在你的系统中,它却能正常工作,这可能是什么原因呢...我在花旗银行的MT4平台和FXCM的MT4平台上试过,但都不工作。

有人知道问题出在哪里吗?

谢谢。

蒂埃里

test_martingale.mq4

你必须以不同的方式确定最后的订单手数

_________________

问题是这样的:当你调用LotsizeCalc()函数并且新的订单被打开时,就没有问题了。但是如果由于某种原因,订单没有被打开,你的 "tradeNumber "仍然增加,尽管订单没有被打开。

最好是简单地计算当前打开的某种类型的订单数量,并使用该数字代替 "tradeNumber"(这样,即使在你重新启动EA的情况下,EA也会正确工作--如果你使用一些变量值,如果你重新启动EA,它就会工作错误)。

原因: