自动计算批量大小的功能? - 页 4

 

包含文件是否在正确的文件夹中?

 
Antonsan:

这是一个只发生在我身上的错误吗?
我不能用MetaEditor mq4编译任何文件,如果我放了一行# include。
我也没能编译代码中带有一行# include的mq4文件。
只能启用行
# Include <stderror.mqh>.
# Include <stdlib.mqh>.
# Include <WinUser32.mqh>.

除了phillip的帖子之外。

如果以上是你的代码...请考虑仔细阅读语言文档。

#include 之间没有空白

没有大写的I...使用小写的i

 

在分析货币文件中,我似乎有一个SymbolType()方法的问题。

我在交易CADJPY,我的accountcurrency()是美元,但它总是返回SymbolType = 6。

原因是MarketInfo("USDJPY", MODE_LOTSIZE)总是返回0。

我只能得到当前图表的LOT_SIZE。例如,MarketInfo("CADJPY", MODE_LOTSIZE)工作正常。

这是MetaTrader的问题吗,为什么我不能得到其他货币对的属性

 

你使用的是什么经纪商Ricotter? 他们提供USDJPY供你交易吗?

为了确认你的代码是否正确执行,你应该下载FXDD并开设一个模拟账户,在CADJPY上尝试你的代码。 如果你正确设置了包含文件,它应该可以工作。

 
1005phillip:

你使用的是哪家经纪商Ricotter? 他们提供USDJPY供你交易吗?

为了确认你的代码是否正确执行,你应该下载FXDD并开设一个模拟账户,在CADJPY上尝试你的代码。 如果你正确设置了包含文件,它应该可以工作。

我刚刚又做了一些测试。 我剥离了所有的东西,在start()函数 中我只添加了MarketInfo的调用。 在真实交易中,它工作得很好,但当我使用测试器时,除了我正在运行测试的符号外,其他任何东西都返回0。

我将用FXDD进行测试,谢谢。

 
Ricotter:

我刚刚又做了一些测试。我剥离了所有的东西,在start()函数中我只添加了MarketInfo的调用。在真实交易中,它工作得很好,但当我使用测试器时,除了我正在运行测试的符号外,其他任何东西都会返回0。

我将用FXDD进行测试,谢谢。

FXDD的情况也一样。如果我试图调用MarketInfo("USDJPY", MODE_LOTSIZE),同时对CADJPY对 运行测试器,它返回0。 我甚至下载了USDCAD和USDJPY的历史记录。

 
Ricotter:

FXDD的情况也一样。如果我试图调用MarketInfo("USDJPY", MODE_LOTSIZE),同时针对CADJPY对运行测试器,它返回0。

MarketInfo()只对测试器中的测试符号起作用。查看所有测试器的限制,请点击 ->https://www.mql5.com/en/articles/1512。
 
gordon:
MarketInfo()只对测试器中的测试符号起作用。查看所有测试器的限制,请点击这里 ->https://www.mql5.com/en/articles/1512。

谢谢!

 

该代码将为你做多件事情,它与符号()无关,它将根据你愿意承担的风险和止损价格,计算出一个头寸的最大手数。一旦你有了这个手数值,它还可以根据你的止盈价格为你计算出利润潜力。

它也能正确计算交叉盘,这正是你所追求的......但是你需要注意的是,你不能正确地对交叉盘进行回测,因为MT4的回测器有一个基本的设计限制,在回测期间,你的EA不能访问其他货币对 的历史价格数据。在实践中,这意味着在回测中交易交叉货币对的所有货币估值从根本上是错误的,这意味着交易本身的利润/亏损被回测器转换为账户货币时是完全错误的。

我所链接的代码是正确计算的,是分析性的,没有走捷径。但它们不能用于交叉盘的回测,因为代码会尝试正确计算市场估值,而回测器会阻止它这样做,因此代码会简单地返回错误提示(如果经纪人以某种方式破坏了他们的货币定义,在现实生活中的远期测试中也会这样)。

 
1005phillip:

该代码将为你做多件事情,它与符号()无关,它将根据你愿意承担的风险和止损价格,计算出一个头寸的最大手数。一旦你有了这个手数值,它还可以根据你的止盈价格为你计算出利润潜力。

它也能正确计算交叉盘,这正是你所追求的......但是你需要注意的是,你不能正确地对交叉盘进行回测,因为MT4的回测器有一个基本的设计限制,在回测期间,你的EA不能访问其他货币对的历史价格数据。在实践中,这意味着在回测中交易交叉货币对的所有货币估值从根本上是错误的,这意味着交易本身的利润/亏损被回测器转换为账户货币时是完全错误的。

我所链接的代码是正确计算的,是分析性的,没有走捷径。但它们不能用于交叉盘的回测,因为代码会尝试正确计算市场估值,而回测器会阻止它这样做,因此代码会简单地返回错误提示(如果经纪人以某种方式破坏了他们的货币定义,在现实生活中的远期测试中也会这样)。

这个人用文件历史记录来做。

https://www.mql5.com/en/articles/1493