程序库: BestInterval - 页 17

 
Andrey Khatimlianskii:

有没有简单的方法让您的 OnTester 在连接 BestInterval 后继续工作?

没有用:

它仍然返回最终余额(而且您需要自己的复杂标准,BESTINTERVAL_ONTESTER_FORMULA 不能解决问题)。

#define  BESTINTERVAL_ONTESTER // 优化标准是最佳区间的利润。
#define  BESTINTERVAL_CALL_ONFUNCTIONS //OnTester 将在 BESTINTERVAL_ONTESTER 模式下调用 и OnTimer.
#include <fxsaber\BestInterval\BestInterval.mqh> // 计算最佳交易间隔

double OnTester()
{
  Print("Hello World");
  
  return(123);
}

在日志中可以看到Print 已触发,即 OnTester 将被执行。但仅此而已,其结果将被忽略。


您需要

#define  BESTINTERVAL_ONTESTER // 优化标准是最佳区间的利润。
#define  BESTINTERVAL_ONTESTER_FORMULA MyOnTester()
#include <fxsaber\BestInterval\BestInterval.mqh> // 计算最佳交易间隔

input int Input = 0;

double MyOnTester()
{
  return(123);
}


结果

pass 1 returned result 123.000000 in 0:00:00.468
pass 0 returned result 123.000000 in 0:00:00.469
 
Andrey Khatimlianskii:


备注:MT5 的最新版本在编译时有很多 "过时行为,隐藏方法调用将在未来的 MQL 编译器版本中禁用 "的警告。

这意味着什么?

 
fxsaber:

您需要这个

删除间隔量 = 0 时不起作用。

在测试中,我发现了这个 EA:

#define  BESTINTERVAL_ONTESTER // 优化标准是最佳区间的利润。
#define  BESTINTERVAL_ONTESTER_FORMULA MyOnTester()
#include <fxsaber\BestInterval\BestInterval.mqh> // 计算最佳交易间隔

input int inputParam = 0;

double MyOnTester()
{
  return(inputParam*100);
}

当删除时间间隔的数量 = 0 时,它返回所有传递中的起始余额。

如果删除间隔数 = 1,则返回预期值。

 
Andrey Khatimlianskii:

删除间隔量 = 0 时不起作用。

在检查中,我发现了这个 EA:

当删除间隔金额 = 0 时,它会返回所有传递中的起始余额。

如果删除间隔量 = 1,则返回预期值。

第 713 行。

  if (!inBestInterval_Action && inAmountDeleteIntervals)

删除第二个条件。

 
fxsaber:

第 713 行

删除第二个条件。

好了谢谢。

 

在这种通用库中,我将输入参数放在一个单独的文件中,并用 ifdef 对其进行封装,这样我就可以在正确的位置插入这些参数,而无需关注库文件本身的连接顺序(这可能会起到一定的作用)。

也许还有其他更优雅的管理输入顺序的方法?

 
Andrey Khatimlianskii:

也许还有其他更优雅的方法来管理输入的顺序?

我从来没有在意过这些修饰。还有很多其他事情要做......

如果能有个地方讨论有前途的事情就好了。这里几乎完全沉寂了。

 
fxsaber:

如果能有地方讨论前瞻性问题就好了。这里几乎完全沉寂了。

有一种观点认为,盈利战略不能公开讨论。这就是为什么论坛上只有一些粗浅的研究,而在第一次(甚至是偶然的)与金粒 相遇时--就转入地下了。

我一直支持讨论,但在交易方面我不会提供太多帮助,我更关注技术问题。

 
Andrey Khatimlianskii:

我总是赞成讨论

有了大量的交易 和抛出区间,就有了一个有趣的研究对象。

Profit = 55367.00 = 54785.00 + 582.00 (1.06%) - Amount of Delete Intervals = 20
00:00:00 - 02:29:28 : Profit = 8460.00 (15.28%), Total = 293 (88.74%), PF = 4.95, Mean = 28.87, DD = 298.00, RF = 28.39
02:34:20 - 03:06:49 : Profit = 763.00 (1.38%), Total = 74 (79.73%), PF = 1.64, Mean = 10.31, DD = 696.00, RF = 1.10
03:12:43 - 03:46:29 : Profit = 1067.00 (1.93%), Total = 76 (75.00%), PF = 2.07, Mean = 14.04, DD = 440.00, RF = 2.43
03:54:37 - 07:15:26 : Profit = 3641.00 (6.58%), Total = 327 (77.68%), PF = 1.66, Mean = 11.13, DD = 1183.00, RF = 3.08
07:30:54 - 09:16:59 : Profit = 2452.00 (4.43%), Total = 253 (79.45%), PF = 1.57, Mean = 9.69, DD = 877.00, RF = 2.80
09:34:03 - 09:42:17 : Profit = 865.00 (1.56%), Total = 42 (83.33%), PF = 3.03, Mean = 20.60, DD = 177.00, RF = 4.89
09:42:19 - 09:51:57 : Profit = 1389.00 (2.51%), Total = 51 (84.31%), PF = 4.99, Mean = 27.24, DD = 93.00, RF = 14.94
09:56:38 - 10:04:58 : Profit = 1351.00 (2.44%), Total = 75 (82.67%), PF = 2.52, Mean = 18.01, DD = 350.00, RF = 3.86
14:22:11 - 14:46:12 : Profit = 2167.00 (3.91%), Total = 110 (78.18%), PF = 3.33, Mean = 19.70, DD = 488.00, RF = 4.44
14:51:09 - 15:01:51 : Profit = 1511.00 (2.73%), Total = 69 (79.71%), PF = 2.68, Mean = 21.90, DD = 353.00, RF = 4.28
15:04:47 - 15:46:23 : Profit = 3605.00 (6.51%), Total = 297 (76.09%), PF = 1.75, Mean = 12.14, DD = 670.00, RF = 5.38
15:54:05 - 16:04:53 : Profit = 2051.00 (3.70%), Total = 103 (82.52%), PF = 2.65, Mean = 19.91, DD = 299.00, RF = 6.86
16:08:24 - 16:15:39 : Profit = 896.00 (1.62%), Total = 56 (78.57%), PF = 2.22, Mean = 16.00, DD = 167.00, RF = 5.37
16:21:19 - 16:44:18 : Profit = 2159.00 (3.90%), Total = 184 (79.89%), PF = 1.71, Mean = 11.73, DD = 352.00, RF = 6.13
16:54:29 - 17:01:09 : Profit = 1457.00 (2.63%), Total = 68 (82.35%), PF = 4.70, Mean = 21.43, DD = 118.00, RF = 12.35
17:10:30 - 17:30:56 : Profit = 2858.00 (5.16%), Total = 178 (78.09%), PF = 2.07, Mean = 16.06, DD = 431.00, RF = 6.63
17:41:23 - 17:51:28 : Profit = 989.00 (1.79%), Total = 88 (76.14%), PF = 1.65, Mean = 11.24, DD = 478.00, RF = 2.07
17:53:57 - 18:51:41 : Profit = 4399.00 (7.95%), Total = 449 (73.72%), PF = 1.53, Mean = 9.80, DD = 635.00, RF = 6.93
18:56:38 - 19:41:09 : Profit = 1646.00 (2.97%), Total = 181 (75.14%), PF = 1.51, Mean = 9.09, DD = 474.00, RF = 3.47
19:44:55 - 20:03:20 : Profit = 1492.00 (2.69%), Total = 70 (78.57%), PF = 3.25, Mean = 21.31, DD = 130.00, RF = 11.48
20:11:31 - 23:59:59 : Profit = 10149.00 (18.33%), Total = 659 (77.24%), PF = 2.12, Mean = 15.40, DD = 645.00, RF = 15.73
SUMMARY: 00:00:00 - 23:59:59 : Profit = 55367.00 (100.00%), Total = 3703 (78.50%), PF = 2.04, Mean = 14.95, DD = 1247.00, RF = 44.40

我们需要弄清楚如何从这些数据中识别出好的交易块。大块交易中必须包含适当数量的交易、单位时间内的重大收益等。我还没能正式确定这一点。


任务大致如下:给定大量废弃区间,确定可能的系统大块,并在此基础上计算自定义优化标准。

这个问题的解决将使 TC 的潜力得到更大的发挥。

 
fxsaber:

我还没来得及正式确定。

那么这就是神经网络的任务,手工准备数据并训练神经网络,然后将来用训练好的神经网络来评估结果。

FN:如果用手指,如何将乘法表教给神经网络https://www.mql5.com/ru/forum/8265/page2#comment_333746(我可能已经用这个例子惹恼了大家 )))))- 您为输入提供数据,输出是您的评价,分为 3 级:优、良、差--NS 可以很好地完成这项任务,但您必须手工准备数据,或者说对您认为好/坏的结果进行分类。