股票量化交易软件_反向交易圣杯还是危险的假象

简介

反向交易是一种马丁格尔方法,这样的系统提出在交易亏损之后使用双倍手数,这样在成功的情况下利润会抵消掉之前交易的亏损。

反向马丁格尔与经典马丁格尔的主要区别就是,在交易亏损之后是在反向加仓的,让我们来看一个例子:

  • 在交易 #1 中您开启一个0.1手的买入仓位;
  • 如果交易获利平仓,下一个交易将还是以0.1手为交易量;
  • 如果交易 #1 止损平仓, 交易 #2 就在止损之后立即开启,新的交易是在相反方向上使用双倍手数开启:卖出,0.2手;
  • 如果交易 #2 获利平仓,取得的利润将会抵消交易 #1 的亏损,并且带来另外的利润;
  • 如果交易 #2 止损平仓,交易 #3 会在止损之后立即开启,新的交易会在反向开启: 买入, 0.4 手;
  • 如果交易 #3 获利平仓,它的利润会抵消交易#1和交易#2的亏损,并且再带来0.1手的利润 (0.4 – 0.2 – 0.1 = 0.1 手);
  • 如果不是这样,您又需要在相反方向上开启双倍手数的交易 ...

您相信这样的策略能够获利吗?当使用在有趋势的市场时,为什么不呢?这个策略会帮您跟随趋势,如果您在第一个交易中犯错,您只要关闭它再在趋势的方向上开启一个新的交易就可以了。最重要的事情时使用足够大的止损,这样它就不会在市场无序动荡的时候不断止损了,赫兹量化交易软件将在文章的下一部分中讨论这一点。

常规反向交易的基础

在优化下面的 EA 交易时进行了很多测试,如果您想要最小化亏损的风险,我已经准备了一些需要遵守的规则,这些规则不是终极真理,但是对于所有测试过的交易品种和周期数都是适用的。

规则 1: 获利应当大于止损。

有关马丁格尔和反向马丁格尔技术的文章中,都建议止损应当等于获利,但是测试证明了这种观点时错误的。在所有在市场上的测试中,使用相等的止损和获利都会导致亏损。您获利的唯一机会就是把获利设为至少相当于两倍的止损,

这两个参数之间的最优比例依赖于特定的金融资产品种。例如,对于 GPBUSD,比例大约为3:1 或者 4:1;对于 EURUSD,它可以是2:1,也可以是4:1。

2:1 的意思是获利水平应当等于止损的两倍,也就是说,如果止损是40点,获利应当等于80点。

规则 2: 止损要足够大.

在一定波动范围的市场中,例如外汇交易,在反向策略中使用小止损会导致存款的亏损,所有进行过的测试都证明了这个规则。

在下面的 EA 中, 赫兹量化交易软件将会使用40到90个点的止损,请记住,因为货币交易品种小数点后有5位或者3位,所选的止损和获利应当乘以10 (我不知道为什么,但是在发布于文章部分的EA交易中都是这样做的),也就是说实际的止损是400到900个点。这可以与该金融产品的平均每日波动来比较,

扫描二维码关注公众号,回复: 15896124 查看本文章

低于400个点的止损值可能不论获利多大都会造成亏损。这个规则的唯一例外会在下面给出,它是关于每天只进场一次的策略的。

规则 3: 时段选择不能太小。

使用大的止损和获利值会减少策略对时段的依赖,仓位会在很长时间内持有 - 从一天到一个或多个星期,但是要注意,在低于M15的时段使用策略,利润会降低。而在高于 H1 的时段上使用也是这样,它会导致交易数量下降。

规则 4: 在适当的时间停止。

从理论上,如果您在亏损仓位之后保持开启新的仓位,您最终总能获利,但是在实际应用中,不断地以双倍交易量开启新的仓位会导致亏损或者完全爆仓。

测试显示,在一定数量的反向交易后利润会开始下降,直到存款全部亏光。这很容易解释,在进行了 N 此亏损交易后的交易量会非常大,如果它又亏损平仓,存款或者会完全亏光或者也可能会亏损很厉害,恢复需要很长时间。

实验中取得的最优反向数量是8,对于一些交易品种,这个数字在止损较小的时候可能会大一些。

在测试中我们将使用8,因为它在大多数情况下都是最合适的,尽管对于一些指标来说,7或9的数值可能更合适。

使用和不使用反向交易的 EA 交易

在本文中,我们将不会探讨开发使用反向马丁格尔方法的 EA 交易的过程,假定我们已经有了一个。EA 交易的源代码在下面的附件中,

可以在 EA 交易的设置中启用某些指标,如需这样做,只需要把想要的指标周期数设为非零值:

EA 交易的参数

在测试中,赫兹量化将依次启用每个指标来找出哪个指标是最适合于反向技术的。如果您要进行您自己的测试,不要忘记关闭之前的指标,这样它就不会影响到测试结果。或者您也可以下载所需指标和交易品种的 SET 文件,SET 文件在本文的附件档案中。

请记住本文的目标不是开发有最大获利能力的 EA 交易,所以,我们只会优化指标参数和止损获利水平的数值。指标参数的优化是与止损和获利分开的,所以,得到的结果可能不是最优的,但是它们非常符合我们的目标。

另外,第一个交易的最佳方向是在优化时选择的 (买入,卖出或者任意). 所有其它 EA 交易的设置都没有改变。

测试交易品种和参数

我们将会使用两个可能最常用的交易品种来测试 EA : EURUSD 和 GBPUSD。

测试的时段: M15.

时间段: 尽最大的可能,从1998年到2018年7月,差不多等于20年。

首先,我们将测试指标与反向交易技术结合的运行情况。然后,我们将不使用反向交易,使用固定手数进行测试。我们将只使用一种交易品种来测试不使用反向交易 — EURUSD. 因为这篇文章的主要目的是反向交易。

对于每种变化,我们将选择指标中最大获利的参数以及止损点和获利点。然后是利润最高的方法的图表,完整的测试报告在附件中。

所有的测试都将在 M1 OHLC 模式中进行,因为我们工作于 M15 时段,这将不会很大程度影响我们的测试,但却能极大加快它的速度。

我尝试在测试过程中遵循一定的原则,这样来为所有的指标提供类似的条件。特别是:

  • 初始余额: $ 10,000; 如果有任何优化引起存款的亏损,在选择最佳选项的时候就不会把它考虑在内,即使它的获利能力比其它的优化选项高很多;也就是说,假如存款有 $15,000 或者更多,可能会找到更多利润的EA参数。
  • 如果找到的 EA 参数优化选项有轻微的回撤,则参数 "Size of add. lot in reversing(反向交易中的增加手数)" 会被设为 0.01, 它可以提高 EA 的获利能力1.5到2倍。

让我们看一些 EA 交易的参数:

  • Lot size. 初始交易的手数值。
  • Size of add. lot in reversing. 它可以增加开启反向交易的交易量指定的手数。
    例如,如果这个参数值为 0.01, 而手数大小是 0.01, 则第二步中要开启反向仓位的手数大小将是0.03手,而不是0.02手。也就是 0.01*2+0.01.
    第三步的交易量将是 0.05 手,也就是 (0.01*2)*2+0.01.
    增加额外手数可以提高系统的获利能力,但是,这也可能会增加回撤。
  • Stop Loss type. 为了我们的目标,止损类型将总是点数。
  • Stop Loss. 可以设置止损的点数大小,对于货币的止损值要乘以10,意思是40个点的止损参数等于400个点。
  • Take Profit type. 可以选择获利点数或者设置根据止损和倍数来计算获利。在第二种方式中,如果 "Take Profit" 参数等于4,获利水平就等于4倍的止损。例如,如果止损是40点,获利将是: 40*4=160 点。
  • Take Profit. 获利点数或者倍数值。如果获利是以点数指定的,对于外汇交易品种,实际的数值要乘以10。
  • Open long positions. 很多后来讨论的策略都只在一个方向上才能获利,如果在买入方向上策略不能获利,这个参数可以禁止打开买入仓位。
  • Open short positions. 可以禁止开启卖出仓位.
  • Use ORDER_FILLING_RETURN instead of ORDER_FILLING_FOK. 如果尝试使用这个EA来开启仓位会导致同样的经纪商错误,可以尝试把这个参数设为 true.
  • Action in case of Stop Loss. 这个参数可以用来决定是否使用反向交易技术。
  • Max. lot multiplier in reversing. 如果 EA 使用反向交易方法,这个参数可以限制允许反向交易的最大数量,在所有的测试中,这个参数都将设为8,如果您把它设为 0, 就禁止反向交易。

其它与指标不相关的 EA 交易参数最好就设为默认的样子。

如何进行反向交易

现在让我们探讨在这个 EA 交易中是如何执行反向交易方法的,实际上它非常简单:

  • 在第一个交易开启时候,会以双倍手数在所建仓位的止损水平设置反向的买入止损或者卖出止损订单;
  • 在新柱开启的时候,进行检查看系统中是否存在我们的仓位,以及是否有买入止损或者卖出止损订单,如果仓位存在,但是没有反向订单,就是说订单已经被触发,所以我们需要另外再在相反的位置设置一个双倍手数的订单。
  • 如果没有仓位,而订单还存在,则该仓位已经由获利平仓,这样 EA 就要删除存在的订单。

因为仓位和订单的存在与否是在新柱开启的时候检查的,也就是每15分钟一次,所以也有一点可能订单在15分钟内触发并且止损关闭,这将会打断反向交易序列,因为 EA 交易将没有办法创建新的挂单。

这一点我们可以接受,因为测试结果中显示,在新柱开启的时候做检查比在下一个分时的时候检查和创建新订单能够更多地获利。

反向交易作为一个独立的交易策略

现在,让我们转到反向交易。这是一个有趣的情况: 在反向马丁格尔交易中,第一个交易的时间和方向没有关系。即使第一个交易是不成功的,相反方向上的下一个交易可以修正这个错误。

所以,我们不需要搜索好的入场点,我们可以在任何想要的时间入场。在理论上,反向交易技术可以当成一个独立的交易系统。让我们来验证它,

在我们的例子中,如果对于某交易品种没有仓位,我们将会每15分钟就入场,

入场方向没有关系... 如果不是为了测试结果,就没有关系。

所以,这里是 GBPUSD 余额图表, 其中 SL 85 而 TP 190:

GBPUSD M15: 不使用指标的反向交易

一共由 2647 个交易,在20年中,EA 取得的利润是 115,115,它等于每年 57%。

这里是 EURUSD 余额图表,其中 SL 45 而 TP 175:

EURUSD M15: 不使用指标的反转交易

一共有 3693 次交易,利润: 117,521. 这相当于每年 58%。

对于 GBPUSD 和 EURUSD, 赫兹量化软件只开启卖出仓位,如果启用了买入仓位,利润就变少了。但是策略还是保持盈利的。这表明反向交易可以用作自给自足的交易系统,我们已经成功在两个交易品种中在过去的二十年中取得了利润,

尽管余额图表不是很漂亮。特别是 GBPUSD 在从 2004 到 2008 年中都没有任何利润的增长,但是,也没有大的回撤。

EURUSD 的余额图表要好一些,但是还是有一到两年的持平时间段。

尽管如此,反向交易的获利能力还是很明显的。我想没有必要展示不使用反向交易的余额图表了。从逻辑上,它们应当是亏损的。

一天入场一次

有一个有趣的交易系统:它不使用任何指标,而是使用的一些其它方法。方法思路如下: 如果您一直在同一时间入场交易,使用小的止损和大的获利,则很有可能您会获利。

看起来似乎很荒谬,但是,我想这种方法可以用于交易一些指数。例如,对于道琼斯指数,如果您在 16:25 或者 16:30 入场, 也就是在股票市场开市之前。通常,在这个时间内会有较大的波动,可能会有趋势开始。

实际上,它适用与指数交易并显示出了很好的获利能力,即使没有反向交易也是这样。但是这种策略会在外汇交易市场上展示出好的结果吗?

很令人惊讶,对于 GBPUSD, 有两个时间段非常适合这个交易系统的工作,分别是 15:15 和 19:45,我不知道为什么是这个时间,但是请看一下余额图表 (在 19:45 入场, SL 20, TP 750):

GBPUSD M5: 每天入场一次

总共有 1788 次交易。利润: 215,834. 这等于每年 107% ,

在二十年中每年100% 的利润是非常震撼的,之前讨论的所有指标都没有提供这样的获利能力。

当然,这个系统有很长时间段的亏损,但是使用20个点的止损和750点的获利,这样一个获利的交易可以抵消数以百计的亏损交易。

请注意,我另外在系统中做了几点改变,上面的获利是通过不在星期五入场交易和不在夏季 - 六月,七月和八月交易而获得的(我禁止了对应的入场交易)。如果允许在任何月份任何日子来入场交易,余额图表和总利润会变差一些,尽管策略还是会保持获利,显示出很好的结果。

另外,使用相同的规则 (禁止在星期五和夏季月份交易) 对于 EURUSD 交易品种也是适用的。但是,只在八月份禁止交易而不是在所有夏季月份禁止交易的话会显示出更好的结果。就算我们另外禁止了六月和七月,这大约会减少1000美元左右的利润。

这里是 EURUSD 图表,其中 SL 20, TP 680:

EURUSD M5: 每天入场一次

一共有 1379 次交易,利润: 256,280. 相当于每年 128% 。

一个非常有趣的现实情况:禁止在星期五交易在这两种情况下都能够增加利润。为什么是星期五呢?外汇市场上的三倍隔夜息是在星期三收取的,所以星期五是普通的一天。也许,在周末之前动荡性会增加,所以止损更容易触及吧。

现在让我们看 EURUSD 图表 (SL 20, TP 900), 每天入场一次而且使用固定手数,也就是没有使用反向交易:

EURUSD M5: 每天入场一次,不使用反向交易

共有830次交易,利润: 69. 在这种情况下,利润更像是随机获得的。

标准指标

让我们尝试通过使用标准指标来改善交易结果。

 

布林带

入场买入条件:

  • 如果当前的柱高于移动平均,就跳过它;
  • 如果前一个柱是下降的,就跳过它;
  • 如果再前一个柱没有超过布林带的底部边界,跳过它;
  • 如果再前一个柱的收盘价没有高于布林带的地步边界,就跳过它;

猜你喜欢

转载自blog.csdn.net/herzqthz/article/details/131769632