文章 "交易员生存技巧: 由指标制作的快餐" - 页 6

 
Vladimir Karputov:

MACD Sample One value at a time.mq5MACD Sample 4 to 5 MQL4 style.mq5 在输入参数值相同的情况下给出了不同的利润。

此外,一个是通过 OOP 编写的,另一个是程序风格。因此,文章中给出的性能比较会引起疑问。

 
Renat Fatkhullin:

在 MQL5 应用程序运行期间,不会自动锁定指标句柄。只有在 MQL5 程序结束后,才会在 "清理马虎的程序员 "的框架内自动释放指标句柄。在这种情况下,我们应明确写入誓言,以提高程序的质量。

因此,如果一个人创建了一堆指标,却不控制这些指标的删除,就会产生很大的问题。无论是对他的程序还是对整个终端都是如此。

我再次重申--文章中的方法是绝对有害和不正确的。

您是少数几个了解 MetaTrader 5 幕后情况的人之一。请解释 iCustom(....) 被多次访问时会发生什么。最终会产生什么样的开销?如果句柄已被记忆,为什么重复调用 iMACD(....) 类型会降低性能?

 
fxsaber:

MACD 样本每次一个值.mq5MACD 样本 4 至 5 MQL4 style.mq5 在输入参数值相同的情况下给出了不同的利润。

此外,一个是通过 OOP 编写的,另一个是程序风格。因此,文章中给出的性能比较会引起疑问。


编号 n/a专家顾问基于真实刻度的每个 刻度所有刻度OHLC


测试时间交易交易测试时间交易时间交易测试时间测试时间测试时间
1MACD 样本.mq50:01:19.4851222440:00:53.7501222440:00:03.735119238
2MACD 样本 一次一个值.mq50:01:20.3441222440:00:56.2971222440:00:03.687119238
3MACD 样本 4 至 5 MQL4 style.mq50:02:37.4221222440:01:52.1711222440:00:06.312119238

在 "所有刻度线 "模式下,所有三个智能交易系统都显示了相同的图表:

MACD 样本

 
Vladimir Karputov:

在 "所有刻度线 "模式下,所有三个智能交易系统都显示了相同的图表:

比较利润(数字),而不是图表。

 
fxsaber:

此外,一个是通过 OOP 编写的,另一个是程序风格的。这就是为什么文章中的性能比较会引起质疑。

智能交易系统必须明确无误地完全相同,只有指标调用 不同。即使两个不同的代码在测试器中给出的结果相同,也绝对不可能进行比较。
 
fxsaber:

比较概况(数字),而不是图表。


我早就比较过数字和交易数量。如果你写,那就提供更精确的数据:你在哪里测试,测试了什么。最后的日志。

 
Vladimir Karputov:

我早就比较过数字以及交易和买卖的数量。如果你写,那就提供更精确的数据:你在哪里测试,测试了什么。最后的日志。

EURUSD,M1 (MetaQuotes-Demo): generating based on real ticks
EURUSD,M1: testing of Experts\Fast food\MACD Sample 4 to 5 MQL4 style.ex5 from 2017.09.01 00:00 to 2018.01.26 00:00 started with inputs:
  TakeProfit=50
  Lots=0.1
  TrailingStop=30
  MACDOpenLevel=3
  MACDCloseLevel=2
  MATrendPeriod=26
...
final balance 10000144.09 EUR
EURUSD,M1: 9753093 ticks, 147480 bars generated. Test passed in 0:00:16.598 (including ticks preprocessing 0:00:01.373).


EURUSD,M1 (MetaQuotes-Demo): generating based on real ticks
EURUSD,M1: testing of Experts\Fast food\MACD Sample One value at a time.ex5 from 2017.09.01 00:00 to 2018.01.26 00:00 started with inputs:
  InpLots=0.1
  InpTakeProfit=50
  InpTrailingStop=30
  InpMACDOpenLevel=3
  InpMACDCloseLevel=2
  InpMATrendPeriod=26
...
final balance 10000140.65 EUR
EURUSD,M1: 9753093 ticks, 147480 bars generated. Environment synchronized in 0:00:00.047. Test passed in 0:00:08.939 (including ticks preprocessing 0:00:01.357).
 
fxsaber:



好的,我将第三次展示所写的内容:

在 "所有刻度线"模式下,所有三个 EA 都显示了相同的图表:

 
Vladimir Karputov:

好的,我将第三次展示所写的内容:

在任何测试模式 下,具有相同交易逻辑的智能交易系统都应该显示相同的结果。在这种情况下,却没有观察到这一点。

在上述 "All ticks "模式下,同样的设置结果是不同的。
 
fxsaber:

在任何测试模式 下,具有相同交易逻辑的智能交易系统都应显示相同的结果。在这种情况下,却没有观察到这一点。

在上述 "All ticks "模式中,相同设置下的结果是不同的。

但我的结果是一样的。怎么办?淹没 10 页?