Данная библиотека позволяет работать с ордерами в MQL5 (MT5-hedge) точно так же, как в MQL4. Т.е. ордерная языковая система (ОЯС) становится идентичной MQL4. При этом сохраняется возможность параллельно использовать MQL5-ордерную систему. В частности, стандартная MQL5-библиотека будет продолжать полноценно работать. Выбор между ордерными...
我还什么都没做,我正在尝试编译这段代码:
该代码已编译。Virtual 和 BestInterval 昨天已更新。您使用的可能是旧版本。
不使用Virtual 也能编译、
没有BestInterval 也能编译、
但不会一起编译。
这是什么意思?
你的程序库中没有其他输入参数。你这是什么意思?
您的库中一个输入参数都没有了。交易、自动交易系统和交易策略测试论坛。
库: BestInterval
fxsaber, 2018.10.16 2:57 pm.
Virtual 和 BestInterval 已于昨日更新。您可能使用的是旧版本。
该代码已编译。Virtual 和 BestInterval 已于昨日更新。您可能使用的是旧版本。
谢谢!
更新了Virtual,可以编译。
Expert Advisor 已编译,跳转时间间隔已计算,文件出现在 Common 中。
但测试器中没有 inBestInterval_Action 参数,无论是否使用 VIRTUAL_TESTER,该参数都不会出现。
因此,我无法根据抛出的时间间隔进行测试。
我需要帮助--我做错了什么?
编译 Expert Advisor,计算跳转间隔,文件出现在 Common 中。
但测试器中缺少 inBestInterval_Action 参数,无论是否使用 VIRTUAL_TESTER,该参数都不会出现。
因此,无法根据抛出的时间间隔进行测试。
我需要帮助 - 我做错了什么?
VIRTUAL_TESTER 仅用于加速优化或反向。这就是为什么不规定它与 BestInterval 一起使用的原因。
关于交易、自动交易系统和测试交易策略的论坛。
库: BestInterval
fxsaber, 2018.10.15 13:30
1. 使用任何智能交易系统,并在其开头写下这几行代码
ZY 很好,你已经弄清楚了代码。如果库的形式与 KB 中的相同,我不知道原因何在。也许您在删除 VIRTUAL_TESTER 时忘记编译它们了。
fxsaber:
ZY 代码得到整理是件好事。如果库与 KB 中的相同,我不知道为什么。也许你在删除 VIRTUAL_TESTER 时忘记编译它们了。
我创建了一个 TesterEA_mq4.mq5 文件,内容如下:
TesterEA.mq4 文件是原始文件,来自 KB。编译正常。
MT4Orders、Virtual、BestInterval 均来自 KB。
我更正了 EMA.mqh(出现了除以零的 错误):
EMA( const int period ) :Alpha(1.0 / period), Value(0)
由
EMA( const int period ) :Alpha(2.0 / (period+1.0)), Value(0)
我尝试用 BestInterval.mqh 代替
使
BestInterval Action 变量出现在测试器中,当 BestInterval Action=false 时,日志中的一切都很漂亮,但当 BestInterval Action=true 时,整个测试都在运行,日志中没有写任何关于时间间隔的内容....。
真遗憾......:)
我创建了以下文件 TesterEA_mq4.mq5:
TesterEA.mq4 文件是原始文件,来自 KB。编译正常。
MT4Orders、Virtual、BestInterval 均来自 KB。
修复了 EMA.mqh( 出现除以零的 错误):
EMA( const int period ) :Alpha(1.0 / period), Value(0)
由
EMA( const int period ) :Alpha(2.0 / (period+1.0)), Value(0)
零周期是一个不正确的值。因此,除以零是正常的,故意这样做是为了说明不能设置这样的值。
我在 BestInterval.mqh 中尝试用
使
BestInterval Action 变量出现在测试器中,当 BestInterval Action=false 时,日志中的一切都很漂亮,但当 BestInterval Action=true 时,整个测试都在运行,日志中没有写任何关于时间间隔的内容....。
真遗憾......:)
以下是 Action 的源代码
当 Action = true 时,测试者报告中的利润应与 Action = false 时日志中计算的利润相同。
以下是源代码
如果 Action = true,测试者报告中的利润应与 Action = false 时日志中计算的利润相同。
不,石花没有出现......:)
在此窗体中,当 Action = true 时,它完全停止关闭订单,并立即用新订单消耗掉所有保证金(可能与 CloseBy 有关)....。
如果禁用 Virtual.mqh,一切正常,但 Action 间隔被忽略。
要更深入地理解您的代码是一项挑战......我想我还是暂时放弃吧。;)
没有,没有石花出来...... :)
在此窗体中,当 Action = true 时,它完全停止关闭订单,并立即用新订单占用所有保证金(可能与 CloseBy 有关)....。
如果是在 Netting 上运行,我不会感到惊讶。CloseBy 在那里不起作用。
禁用 Virtual.mqh后,一切正常,但行动间隔被忽略。
要更深入地理解您的代码是一项挑战......我想我还是暂时放弃吧。;)
在树篱上做吧。我没有考虑净值,因为 MT4-advisor 当然不应该在这种模式下运行。
忽略坏区间的算法很简单。在虚拟环境中启动 TS。只有符合计算区间的未平仓头寸 的净结算头寸 才会在虚拟环境中计算。然后将其净值位置与真实环境中的虚拟位置同步。这是用最难看的分析方法完成的,但实施起来却很简单--CloseBy。
实际上,反向模式也是以同样的方式实现的。我可以重写 CloseBy 变体,使其也适用于净额结算账户。我并不忙于此事。