文章 "攫取盈利至最后的点位" - 页 21

 

为了过滤掉假葡萄球菌,我从蜱虫历史记录中删除了传播率为零的蜱虫。我从未想过这会导致这样的失误。


如果在真实历史记录的交易逻辑中忽略点差为零的刻度线,结果会提高 15%。

void OnTick
{
  if (Bid == Ask)
    return;

// ...

结果会提高 15%。也就是说,在采用这种逻辑之前,可以获利 1900 点,而如果采用这种逻辑,则可以一下子获利 2150 点。这还是在交易次数 相同的情况下。


我一度认为,TS 完全是个废物,因为这种无稽之谈会对结果产生如此重大的影响。但后来我决定调查一下。

结果发现,在 7500K 个刻度线中,有 187K 个这样的刻度线。但其中有 19K 个刻度线影响了局部极值的形成。


这样一来,一切都水到渠成了。零点差过滤器是个错误。价差是虚构的,与盈利无关。同时,我决定用它来进行老式过滤。你不能这么做。或者至少在写入 tick 存档时出现技术故障的情况下只过滤负价差。


这种情况至少需要一些理由:为什么点差为零的刻度线会出现在局部极值处?也许是价格汇总的某些特殊性。


一般来说,不要用零点差过滤。

Документация по MQL5: Торговые функции / HistoryDealsTotal
Документация по MQL5: Торговые функции / HistoryDealsTotal
  • www.mql5.com
Возвращает количество сделок в истории. Перед вызовом функции HistoryDealsTotal() необходимо получить историю сделок и ордеров с помощью функции HistorySelect() или HistorySelectByPosition(). Не следует...
[删除]  
fxsaber:

这种情况至少需要一定的理由,是什么原因导致零价差的刻度线出现在局部极值处?也许,这是价格汇总的某些特殊性造成的。

为什么要说明理由呢?零点差可能在价格流中均匀分布

而且,在价差为零的刻度线出现时,没有人知道它将是一个极值。

 
trader_number_one:

我们为什么要在这里证明什么呢?零点差在价格流中可能是均匀分布的。

在价差为零的时候,没有人知道它会不会是一个极值。

有道理,我同意。


有趣的是,当存在一种市场模式时,写一个有利可图的 TS 非常容易。你可以写出截然不同的 TS,但它们会得到相似的结果,这正是因为存在市场规律性。

也就是说,问题的关键甚至不在于找到最优的 TS,而在于及时发现规律性的存在。


我尝试过从绝对愚蠢到非常复杂的交易逻辑。所有的加减都是一样的。我无法得到质的不同的结果。事实证明,当你知道一种形态的存在时,无论你想出什么样的逻辑,几乎都不可能不进行交易。


由此,我们可以得出结论,盈利的 TS 并不是独一无二的,而是具有某种复杂的规律性。而逻辑只能帮助我们避免亏损,而不是赚钱。因为即使是傻瓜也会在盈利的 TS 上赚钱。不亏钱更难。


这一切有什么意义呢?这种对 19K ticks 的依赖仍然有点令人震惊,但当结果变化 15%....,TS 的逻辑不就完全错了吗?也就是说,糟糕的不是模式,而是交易它的 TS 的众多变体之一。

[删除]  
fxsaber:

从这里我们可以得出结论,盈利的 TS 并不是独一无二的,它是一种复杂的模式。逻辑只能帮助我们避免损失,而不是赚钱。因为即使是傻瓜也会在盈利的 TS 上赚钱。不亏损更难。

没错。在所有的 TS 上,夜间交叉交易这种情况经常发生。有人最先注意到,然后是一群人不断重复,所有人都剁手赚钱一段时间,然后通道变得疯狂,不再那么理想,价格离开通道的频率越来越高,谁能从非理想通道中榨取最大利润,谁就能持续最长的时间。然后,有人会找到另一个交叉点,历史又会重演。

这一切有什么意义呢?这种对 19K ticks 的依赖性还是有点令人担忧,而且这也不是 TS 的全部逻辑,当结果发生 15%的变化时....。也就是说,糟糕的不是该形态,而是交易该形态的 TS 的众多变体之一。

我认为解释起来非常简单。"如果你长时间折磨一组数据,你可以得到任何结果"(c) 类似这样的话。

我今天也遇到了类似的情况。有两个类似的 TC。一个在 2 点和 3 点交易,另一个在 6 点和 7 点交易。有时,一笔交易从 3 点钟开始就挂着,所以到了 6 点钟,我们必须对它进行处理(如果我们打开相反的交易,就关闭它,而不仅仅是这样)。我很久以前写过一个粘合算法。一切正常。但是,如果算法接收到按时间排序的所有交易(2、3、6 和 7 小时),它就会扔出错误的交易。我经常忘记这一点。结果,今天在这样的粘合之后,我的利润率增加了一倍半。我坐在这里也在想,也许应该是这样的,也许这里面有什么深意,有可能提高利润率!但也许不是。

 
trader_number_one:

结果,今天经过这样一次粘合,我的利润率提高了一倍半。

运气本来是可以逆转的。最好还是改进粘合。但这种事情很难进行可靠的调试。因为它几乎总是实时的。同步器的调试也是如此。


而关于胶合失效的深层含义。你需要制作一个 TC 组合,并在回溯测试中观察它。这样至少可以为自我保证提供一些论据。

 
trader_number_one:
有人最先发现

如果从模式开始一个月后就能识别出来,那就是一个很好的结果。从这个意义上讲,MultiTester 等解决方案非常棒。

有可能两周后就能发现。但是,时间越短,越是炫耀,而不是争论。

 
fxsaber:

预告片中是该脚本 运行一次后的完整报告。

其中有一个经过清理的示例。

我不知道这些曲线球是什么。

 
trader_number_one:
然后就会有一群复读机出现,并持续赚钱一段时间。

我以为这篇文章会出现这种情况。但事实并非如此。


有很多监控器都有夜间黄牛。在那里,一切都像手掌一样清晰:交易时间间隔和交易符号都标得清清楚楚。只有一个缺点--迟钝。平均而言,每个符号每天只有一次交易。甚至更少。


从这个意义上说,这篇文章走得更远一些,不仅清楚地展示了寻找金矿石 的方法,还给出了其中一种交易频率很高的金矿石。没有人费尽心思去写一个用于稀释岩石的简易筛子。这显然是社会学家研究的一种现象的结果。有大量的 TS 变体可以榨取利润。但读者们却固执地认为,这里有什么未解之谜。


整篇文章都是对读者的恶作剧,总有一天会实现。与此同时,这也没什么。

 
fxsaber:

从这里我们可以得出结论,盈利的 TS 并不是独一无二的,它是一种复杂的模式。逻辑只能帮助我们避免损失,而不是赚钱。因为即使是傻瓜也能在盈利的 TS 上赚钱。不亏损就更难了。

计算为这一假设提供了论据。我拿了一个符号,它在优化某些部分时显示出显著的加号。不仅仅是加号,而是带有 "宏伟 "的前缀。

在这个符号上有一个年度区间,在这个区间内,从优化到优秀的最佳路段上,一切都很糟糕。


因此,我只选择了这个令人作呕的年度区间,并使用 BestInterval 对其进行了优化。大概得到了一个拟合加分。然后,我又检查了一下这个变量在那些优秀区间上的表现。

sinput int inMinTrades = 500; // 最少交易次数(头寸)。

#define  BESTINTERVAL_ONTESTER_FORMULA BestInterval.GetTotal() > inMinTrades ? BestInterval.GetProfit() : 0 


它的表现几乎一样棒!


也就是说,很难绕过超级利润点,而不在这些点上获得超级利润。


ZЫ 非常有趣的是,BestInterval 在令人厌恶的年度区间上显示的交易时间完全相同,而在极好的区间上交易是最佳的。这感觉就好像糟糕的一年中既有梅花年,也有盈利年。而 BestInterval 挖出了有利可图的部分。除了这一年,定价的盈利部分好像被关闭了。

 

fxsaber:

等待排水

我做到了交易停止