文章 "实用且奇特的自动交易技术"

 

新文章 实用且奇特的自动交易技术已发布:

在本文中,我将演示一些非常有趣且实用的自动交易技术。 其中一些可能您很熟悉。 我将尝试覆盖最有趣的方法,并解释为什么它们值得使用。 此外,我将展示这些技术在实战中的适用性。 我们将创建智能交易系统,并依据历史报价来测试全部所述技术。

实际上,该技术不仅可用在马丁格尔之中,而且可以用在具有足够高频的任何其他交易策略当中。 在此示例中,我将利用基于余额回撤的量具。 因为考虑与余额有关的所有事情都更容易。 我们把余额表分为上升和下降部分。 两个相邻的区段形成一个半波。 随着交易数量趋于无限,半波的数量亦趋于无限。 有限的样本就足以让我们在运用马丁格尔时略有盈利。 下图说明了这个思路:

余额波浪

该图示意已形成的半波,和刚刚开始的半波。 任何余额图都是由这样的半波构成。 这些半波的大小会持续波动,我们可以始终在图表上区分这些半波的分组。 这些半波的大小,在一个波中越小,而在另一个波中越大。 因此,通过逐渐降低手数,我们可以等待,知道当前分组里出现严重回撤的半波。 鉴于在系列中此种严重回撤的数量很少,因此这将增加波浪分组的总体平均量具,结果就是,原始测试的相应性能变量也应增加。

为了实现,我们需要为马丁格尔增添两个额外的输入参数:

  • { DealsMinusToBreak } - 前一个周期的亏损交易数量,达到该数量时应将周期的起始手数重置为起始值
  • LotDecrease } - 当交易历史中出现新周期时,降低周期起始手数的步长

这两个参数允许我们为安全的半波分组增加手数;为危险的半波分组减少手数;从理论上讲,应能增加上述性能量具。

作者:Evgeniy Ilin

 

传统上有用、有见地。

发人深省

 

所有函数都趋同于经典的

市场交易量 = K*exp(N* 平衡缩减)

或者是我读错了对角线 :-)

🤔

 
Maxim Kuznetsov:

所有功能都已成为经典。

市场交易量 = K*exp(N*余额缩水)

或者我看错了对角线 :-)

🤔

如果我们说的是经典的马丁格尔,那么是的)我想你指的是最后一点。这里有点不同。也许我应该解释一下。如果我们将股本或平衡线划分为若干段,就会出现平均缩水增加和缩水减少的段落,在缩水增加的段落上,我们应尽量提供最小手数,而在缩水减少的段落上,我们应尽量提供最大手数,这样我们就降低了风险区域的重要性,增加了安全区域的重要性。结果是,通过娴熟地使用这一技巧,亏损策略可以变成略微有利的策略。可以有很多变化,你只需要尝试,否则就无从下手。没有实践的理论只是理论 )

 
Evgeniy Ilin:

好吧,如果我们说的是经典的马丁格尔,那么是的)我明白你指的是最后一点。这里有点不同。也许我应该解释一下。如果我们把股票或平衡线分成若干段,那么就会出现平均缩水增加和缩水减少的段落,在缩水增加的段落上,我们应尽量提供最小手数,而在缩水减少的段落上,我们应尽量提供最大手数,这样我们就降低了风险区域的重要性,增加了安全区域的重要性。结果是,通过娴熟地使用这一技巧,亏损策略可以变成略微有利的策略。可以有很多变化,你只需要尝试,否则就无从下手。没有实践的理论只是理论 )

如果我知道在哪里跌倒,我就会铺一张床 :-))

这是关于增加/减少余额缩减的领域和风险领域...

这些都是事先不知道的,只能事后知道。如果知道了,那么 "坐以待毙 "的方法就会统治一切:-)只要不在风险较高的区域交易就可以了。

 
Maxim Kuznetsov:

如果我知道哪里会掉下去,我就会为它铺一张床:-))

这是关于增加/减少余额缩减和风险领域....

它们不是事先知道的,而是事后才知道的。如果知道了,那么 "坐以待毙 "的方法就会统治一切:-)只要不在风险较高的区域进行交易就可以了。

这很简单,较低的缩水总是伴随着较高的缩水,反之亦然 ) 现在你可以铺一根稻草了 )

 

真的非常有用。通过控制手数而不是使用固定手数来获利

顺便问一下,PartialClosing EA 的测试时间框架是什么?

 
Zhongquan Jiang:

真的非常有用。通过控制手数而不是使用固定手数来获利。

顺便问一下,PartialClosing EA 的测试时间框架是什么?

谢谢!部分平仓回溯测试 是在 2000-2021 年的 M5 时间框架上进行的。但我认为它也可以在 M1 或更高的时间框架上运行。)

 
Evgeniy Ilin:

这很简单,较低的缩水总是伴随着较高的缩水,反之亦然 ) 现在您可以铺设稻草了 )

在实践中,文章中的图片应该多几个点,就像这样。


当缩减超出模型或明显恢复时......
,在此之后采取行动操纵手数
,它们越接近顶部,我们就越接近经典的马丁格尔模型,但离得越远,当然就越有趣。

 
Maxim Kuznetsov:

实际上,文章中的图片应该像这样多几个点


当缩水明显超出模型或恢复范围时......
,在此之后采取行动操纵手数
,越接近顶部,我们就越接近经典的马汀加尔法,但越远,当然就越有趣。

嗯,一般来说,是的,但有必要留一些食物给人们)开始思考一下)。没有明确的秘诀,只有一个总的原则,即所有这些东西都是一个波浪过程,如何精确地定义这些区域的边界是一个很大的创造空间,我只是举了一个最简单的例子。 一般来说,对这个原则的理解本身就给了一个参考点,从这个参考点开始思考),甚至没有必要说我的食谱是最好的),人越多,我的解决方案就越不可能是最好的。

 

我可能没有完全理解,但真的应该是这样而不是反过来(突出显示)吗?

void PartialCloseType()//部分关闭订单
   {
   bool ord;
   double ValidLot;
   MqlTick TickS;
   SymbolInfoTick(_Symbol,TickS);
            
   for ( int i=0; i<OrdersTotal(); i++ )
      {
      ord=OrderSelect( i, SELECT_BY_POS, MODE_TRADES );
                            
      if ( ord && OrderMagicNumber() == MagicF && OrderSymbol() == _Symbol )
         {
         if ( OrderType() == OP_BUY )
            {
            ValidLot=CalcCloseLots(OrderLots(),(Open[0]-Open[1])/_Point);
            if ( ValidLot > 0.0 ) ord=OrderClose(OrderTicket(),ValidLot,TickS.bid,MathAbs(SlippageMaxClose),Green);
            }
         if ( OrderType() == OP_SELL )
            {
            ValidLot=CalcCloseLots(OrderLots(),(Open[1]-Open[0])/_Point);
            if ( ValidLot > 0.0 ) ord=OrderClose(OrderTicket(),ValidLot,TickS.ask,MathAbs(SlippageMaxClose),Red);
            }         
         break;
         }
      }

在这种情况下,当价格变动与设定订单的方向一致时,就会部分平仓。也就是说,盈利头寸被平仓,而亏损头寸仍然存在。