c语言资金管理系统,拉布谢尔资金管理系统的统计学验证

本文探讨了拉布谢尔资金管理系统,一种基于马丁格尔策略的变种,但不那么激进。系统要求胜率超过33%-40%才能保证盈利。文章通过统计学验证,模拟了数百万次交易,结果显示,拉布谢尔系统在赢率50%左右时,与固定下注系统相比,虽然可能导致更快的账户回撤,但在特定参数下,如低风险和较高胜率,它能创造更多利润。然而,拉布谢尔系统并不能把一个负期望的系统变为盈利系统,且其复杂性可能导致交易者错误判断其效率。
摘要由CSDN通过智能技术生成

有三种谎言: 谎言, 可恶的谎言, 以及统计.

简介

在很多周末, 我都在深度浏览互联网, 偶然间我碰到了一个之前从来没有听说过的资金管理系统. 它被称为拉布谢尔, 或者取消系统(使用拉布谢尔的外汇交易真空清除系统, 俄语版). 英文版描述可以在这里找到. 此系统是马丁格尔的变种, 因为您在失误以后需要加大您的投注然后在获利中小赢. 然而,它是一个不大激进的版本, 因为下注并非双倍, 而是增加一定数量.

下面这些段落描述了让我非常好奇的系统属性:

"所以, 请注意获利交易的数量应该超过33-40%, 这样才能保证此系统正常工作并获利!!!"– 这是非常重要的说明. 然而, 为什么初始百分比范围如此之大并不清楚 – 从 33% 到 40%.

"记住, 这种方法可以认为是游戏场中的欺骗性阴谋".  –真的吗?那么, 它真的能有用?!

"但是原则还是一样的 – 获胜 33% 可以抵消 66% 的失败. 所以, 如果您在实际外汇交易中应用此资金管理方法的话, 您需要一个获胜几率在50%以上并且利润因子>=1的系统".

实际上, 提到的文章声明了您需要一个输赢数量差不多的系统, 胜率大约是50%(或者说"比33%要多"). 如果您有这样一个系统, 拉布谢尔方法可以很容易使您盈利!所以, 既然我们有方法把它应用到不错的领域, 我们还有必要去寻找其他的数学方法吗?毕竟, 开发一个取胜率47%的系统应该并不难...

让我们看看拉布谢尔系统变化的风险.

最小的下注通常假定为等于1. 如果我们赢了, 我们的交易规模保持不变, 而我们的交易余额略有增加.

如果我们输了, 我们的下注大小增加1, 变成2, 而我们把输的注数加到一行记录上:

-1

如果这次我们赢了, 我们应该把2加到记录上:

-1 2

然后我们回顾这两个数字, 因为我们已经把输的赢回来了(换句话说, 我们已经通过两次下注又让我们的余额增加了1).

现在, 让我们考虑一个更长的失败序列.

-1

让我们下2注. 输了:

-1 -2

让我们下3注. 输了:

-1 -2 -3

让我们下4注. 输了:

-1 -2 -3 -4

让我们下5注. 输了:

-1 -2 -3 -4 -5

让我们下6注. 又输了:

-1 -2 -3 -4 -5 -6

让我们下7注. 我们终于赢了:

-1 -2 -3 -4 -5 -6 +7

这样, 我们去掉"-1", "-6"和"+7", 因为我们的赢盘抵消了两次失败的下注. 下面一次下注是记录中剩下的第一个和最后一个数值的和, 也就是, 仍然是7. 如果我们赢了:

-2 -3 -4 -5 +7

我们去掉 "-2", "-5" 和 "+7". 我们下一次的下注大小还是记录中剩下的第一个和最后一个之和. 是的, 仍然是7 (一些使用者推荐为下注再增加1, 这样如果我们走运就能够得到一个最小利润而不是0). 如果我们赢了:

-3 -4 +7

我们把记录中全部数字去掉, 因为我们已经把我们输掉的赢回来了.

如果我们在中间阶段输掉了, 输掉的下注大小也被记录, 下一次下注还是等于记录中第一个和最后一个数值之和.

所以, 我们最初的结论是什么?

连续6次失败只需要3次获胜就能抵消掉(然而, 应该是连续获胜; 我们晚点再讨论). 乍一看来, 这个系统很容易让我们在市场上所向披靡.

下注大小的增长和马丁格尔相比明显变慢. 如果我们把这一序列用在马丁格尔系统中, 我们最后的那次下注, 大小是最初的64倍.

在上述例子中, 总的存款回撤(输掉的下注之和)只有21, 而使用马丁格尔的话, 就应该是63了.

通过简单计算显示, 如果每次下注使用1%的存款, 我们一连输掉13次才会输光我们的资金. 而如果每次用0.1%, 则需要连输44次. 你可能会想, "在50/50比例下连输44次!?这种可能性几乎没有!这就像被陨石砸到一样!这种可能性对我不错!", 等等.).

你可以很容易地找到许多关于马丁格尔系统回撤和危险的研究. 实际上, 你只要用纸和笔自己简单算算就能够知道回撤可能多厉害了. 但是, 我没有找到针对拉布谢尔系统的类似研究.

这个下注系统看起来非常复杂, 也就阻碍了其数学期望的计算.

但是让我们回头看看在下注中我们输掉的. 让我们假定, 我们连输了6次然后只是赢回两次而不是3次. 则我们的记录数据看起来如下:

-3 -4

我们下注7, 然后又输了:

-3 -4 -7

我们下注10(注意: 当我们输的时候, 下注的大小已经从3开始增长而不是1了, 这使我们的存款变得不那么安全了). 我们又输了:

-3 -4 -7 -10

我们必须下注13了.

所以, 如果我们出现重复性的失败, 该系统会让我们的加注超过1. 这看起来是完全战胜回撤的唯一方法. 这就是我们的存款真正地陷入危机了, 因为我们需要一系列胜利来抵消回撤. 在纸上计算还是看起来太复杂了或者至少太麻烦了...

你是否还对这个系统能做什么感兴趣?如果是的话, 让我们再详细研究.

设定任务: 主题与方法

最重要的问题就是, 拉布谢尔资金管理系统是否真的能够把一个数学期望转化为真正的盈利方法. 当然, 引用的段落中提到的大约 33% 的胜率就输赢临界点听起来有些不可思议. 但是, 也许49% 或者 50% 的胜率就足够了?如果不是的话, 拉布谢尔系统有哪些其他优势呢?

我们将会使用统计学, 也就是说我们需要开发一个MQL程序(本例中是MQL4, 我还没有完全掌握MQL5). 让我们的程序来进行数以百万计的交易, 并且"清空"成千上万的存款 - 我们将会在不损坏我们真正资金的情况下分析结果. 如果程序可以盈利, 将有可能在真实交易中实现这算法.

拉布谢尔系统的开发是基于输赢比率相同的假定的. 其他比率情况下也可以采用此系统, 但是这看起来不大合理. 如果此系统可以影响输赢比率相同的数学期望, 它也应该影响其他的比率. 如果不能的话, 我们只是简单地浪费时间思考了一个合适的适应方案.

另外, 我们可以把输赢相同的系统想像成50%赢率的系统, 这样考虑就简单多了, 因为我们对抛硬币非常熟悉. 因此, 让我们把我们的程序叫做硬币测试(CoinTest).

首先, 我们应该描述我们未来程序的主要特性:

我们应该能够改变获胜可能性. 50/50比率只是一个特殊的平衡条件.

我们应该能够设置风险水平. 拉布谢尔系统有一个固定下注大小. 如果我们根据我们的存款规模来扩大初始赌注, 我们的存款将永远不会回到最初的状态, 因为所有的数值都比最初有所改变. 在有回撤退出后, 我们可以重新计算下注大小, 但是, 这将会引出难以处理的分数. 所以, 我们使用两个变量来设置风险 - 初始存款和初始下注.

有必要设置每笔存款的最大交易次数. 它应该被设置得足够大, 这样我们就能知道, 就算初始风险非常低的时候我们是否会损失全部存款. 毕竟, 如果存款持续增长, 这个过程可能是无限的, 我们可能永远都不知道结果.

我们应该有能力检查一个单一的存款的交易序列的结果, 这既是为了程序的调试, 也是为了我们可以改变交易逻辑. 把结果输出到文件中可以很好满足我们的目标.

在我们完成任务, 为单一存款过程写完代码后, 我们因该继续收集一系列独立的存款中(最好)使用不同参数过程的统计数据. 你要知道, 单一的试验几乎是没有意义的. 统计结果也被发送到文件中. 我们不需要每一个单独存款的历史.

我们的下注规模选择系统可能可以用于真实交易, 所以我们应该把它做成一个类.

对我们来说, 现阶段在MetaTrader中真的做交易没有必要, 因为会耗用很多计算资源. 我们只需要使用所需的规模和一个给定的胜率来得到随机交易的结果. 使用这种想法, 我们将会开发一个脚本程序, 因为这种MQL程序和EA交易或指标相比非常适合单独运行一次.

伪随机数生成器质量的统计学验证

伪随机数生成器(PRNG)的质量对我们非常重要, 因为它将用于定义每个交易的结果(赢/输). 一个很长的赢/输序列分布的准确性是最重要的. 晚些时候我们会尝试不使用复杂的数学和统计学理论对它进行评估.

这篇文章的目的不是对PRNG的质量做详细的研究(否则, 我们必须进行15个不同的测试). 我们所感兴趣的PRNG特点是它不会影响拉布谢尔系统的测试结果, 并不需要复杂的验证过程.

MetaTrader 有标准的 MathRand() PRNG 函数. PRNG 序列使用MathSrand() 函数进行初始化.

让我们写一个小的脚本程序 (RandFile)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值