程序库: BestInterval - 页 3

 
fxsaber:

如果是在 Netting 上运行,我也不会感到惊讶。CloseBy在那里不起作用。

在套期保值上运行。我没有在净额结算中使用它,因为 MT4-advisor 当然不应该在这种模式下运行。

是的,这是一种对冲。还是在 MT5 的其他地方设置的?

账户类型

 
Mikola_2:

我认为这是一个对冲。或者在 MT5 的其他地方还可以自定义?

我已经有几个月没有在 MT5 的常规符号上运行 Tester 了。也许我没有考虑到某些因素。

请写下交易服务器的名称,我将进行检查。

 
fxsaber:

我已经有几个月没有在 MT5 符号上运行 Tester 了。也许我没有考虑到某些因素。

请写下您的交易服务器名称,我将进行检查。

AlpariEvrasia-MT5 演示
 
Mikola_2:
AlpariEvrasia-MT5-Demo

服务器不支持 CloseBy

关于交易、自动交易系统和测试交易策略的论坛

PositionCloseBy 在真实账户中不起作用

fxsaber, 2018.07.24 16:42

bool IsCloseBy( const string Symb )
{
  return(SymbolInfoInteger(Symb, SYMBOL_ORDER_MODE) & SYMBOL_ORDER_CLOSEBY);
}


ZY 更新了 Sync.mqh。不再使用 CloseBy。在报告和图表中分析历史记录更容易。感谢您的报告!

交易和抛出间隔在测试器图表上是这样显示的

 

在 MQ 演示服务器上,初始值为 10K 的数据总是丢失 -1127。

FxChoice 上的情况要好一些。


我没有发现这个智能交易系统有什么不同,但我发现了一个错误:)

连接库时,Virtual 无法编译带有 OrderSend 的行。


我在说谎,结果显示出来了:)

2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   Amount of Delete Intervals = 0
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   00:00:00 - 23:59:59 : Profit = 2637.54, Total = 2641 (30.48%), PF = 1.11, Mean = 1.00, DD = 14834.15, RF = 0.18
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   SUMMARY: 00:00:00 - 23:59:59 : Profit = 2637.54, Total = 2641 (30.48%), PF = 1.11, Mean = 1.00, DD = 14834.15, RF = 0.18
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   Amount of Delete Intervals = 1
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   15:34:37 - 19:55:39 : Profit = 18700.06, Total = 827 (32.77%), PF = 9.58, Mean = 22.61, DD = 632.22, RF = 29.58
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   SUMMARY: 00:00:00 - 23:59:59 : Profit = 18700.06, Total = 827 (32.77%), PF = 9.58, Mean = 22.61, DD = 632.22, RF = 29.58


附加的文件:
 
fxsaber:

服务器不支持 CloseBy

ZY 更新了 Sync.mqh。不再使用 CloseBy。在报告和图表中分析历史记录变得更容易了。感谢您的报告!

交易和抛出间隔在 Tester 图表上是这样显示的

Urrraaaaah,成功了! :)))) 我只需要做一些调整,使数字一致。

这是初步运行结果:

行动 = false

下面是 Action = true 时的运行结果:

行动 = true

下面是测试仪的统计数据:

测试仪 1 测试仪 2

 
Mikola_2:

啊,成功了!:)))),我只需要做一些调整,使数字相匹配。

当 Action = false 时,OnTester 会显示计算出的最佳区间对应的利润。

当 Action = true 时(这种模式只对单次通过有意义),OnTester 会显示 Action = false 时对应的最终余额;


也就是说,当 Action 开启时,OnTester 将显示结果,就好像最佳区间不存在一样。这样,通过比较两行数据:最终余额和 OnTester 结果,就可以了解结果提高了多少个百分点。


至于 Action = true 时的空 SUMMARY。这不是一个错误。我这样做是为了理解 Action = true 模式正在运行。有必要以不同的方式报告,并正确填写 SUMMARY。只是这样做用处不大,因为所有这些数据都已经在测试者的报告 中了。

 
...:

在 MQ 演示服务器上,初始值为 10K 的数据总是丢失 -1127。

FxChoice 上的情况要好一些。

关于交易、自动交易系统和测试交易策略的论坛。

库:BestInterval

fxsaber, 2018.10.16 23:51

在常规的 MT5 符号上,已经有几个月没有运行 Tester 了。


我没有发现此 EA 有任何不同,但我发现了一个错误:)

我们需要数据来重现一个关键错误。

连接库时,Virtual 无法编译 OrderSend 行。

Virtual 的说明称,它只适用于 MT4 类型的代码。您的 EA 是 MT5 类型。因此,Virtual 无法编译。此外,Action = true 也不起作用,因为这里使用的是虚拟交易环境。但是,Action = false 可以工作。因此,对于 MT5 风格,您只需添加以下几行

#include <MT4Orders.mqh> //https://www.mql5.com/zh/code/16006

#define  BESTINTERVAL_ONTESTER
#include <fxsaber\BestInterval\BestInterval.mqh>


我使用 MT4 风格编写所有内容。这样既方便又通用。

 
fxsaber:

如果 Action = false,OnTester 将显示计算出的最佳区间对应的利润。

当 Action = true 时(该模式仅对单次通过有意义),OnTester 将显示 Action = false 时对应的最终余额;

也就是说,当 Action 开启时,OnTester 将显示结果,就好像最佳区间不存在一样。因此,通过比较两行中的数据:最终余额和 OnTester 结果,您可以了解结果提高了多少百分比。

至于 Action = true 时的空 SUMMARY。这不是一个错误。我这样做是为了理解 Action = true 模式正在运行。有必要以不同的方式报告,并正确填写 SUMMARY。只是这样做用处不大,因为所有这些数据都已包含在 Tester 报告中。

不...... :)

看,有四位数:

Action = false:最终余额 9080.02

OnTester 11895

操作 = true:最终余额 13271.09。

OnTester 12931。

都不匹配。在我看来,OnTester 对总余额的总结有误。

必须要有匹配的地方,否则如何确保所有计算都是正确的......:)

 
Mikola_2:

没有......)

看,有四个数字:

Action = false:最终余额 9080.02

OnTester 11895

操作 = true:最终余额 13271.09

测试仪12931

所有项目都不匹配。在我看来,OnTester 似乎在某个地方错误地汇总了总额。

必须有匹配的东西,否则你怎么能确定所有计算都是正确的......:)

这很容易解释。高亮显示的数字是虚拟交易环境中的最终余额。它的利润是以 TickValue = 1 计算的。而 MT5-Tester 会在每个 tick 上更改 TickValue。为此,它特别从其他货币对中获取数据。此外,Virtual 不计算佣金和掉期,因为这与 TickValue 一样,并无实际必要。

我自己在自定义符号上运行一切。掉期为零。所有结算货币都等于存款 货币。结果显示完全匹配。

一般来说,突出显示的 OnTester 是不使用最佳区间的 TS 利润,计算条件是 TickValue = 1,佣金 = Swap = 0。这就是为什么交易一手总能得到一个完整的 OnTester 的原因。