您好,感谢您的付出!
不过,希望能看到与文章中描述相对应的类代码,例如
在文章中:
enum ENUM_RISK_CALC_TYPE { RISK_CALC_BALANCE_ONLY, // 仅根据余额进行计算 RISK_CALC_EQUITY_ONLY, // 仅基于权益进行计算 RISK_CALC_COMBINED, // 组合计算 RISK_CALC_ADAPTIVE // 自适应计算 };
在附带的文件中:
enum ENUM_RISK_CALC_TYPE {
RISK_CALC_BALANCE_ONLY, // Only Balance
RISK_CALC_EQUITY_ONLY, // Only Equity
RISK_CALC_BALANCE_EQUITY, // Balance/Equity (US Prop Style)
RISK_CALC_PROP_STANDARD // Standard Prop Company Rules
};
文章中提到的“自适应计算”在附带的类代码中并未体现。
此外,代码中存在一个错误,导致无法编译专家顾问代码:
// Trading Object
CTrade m_trade;
应在 public 部分中:
请检查一下。
在我看来,算法交易系统中至关重要的一点,是将策略的质量与所承担的风险程度明确区分开来。
如果为了获得高回报,系统需要维持较高的保证金占用率或承受巨大的回撤,那么仅凭高回报本身所传达的信息就相对有限。
就我而言,我更倾向于首先评估回撤、最大头寸、交易执行稳定性以及系统在不同市场条件下的表现等参数。
此外,我认为将风险规则纳入系统本身的逻辑框架内非常重要,应避免仅仅因为出现了一段有利行情就盲目增加风险敞口。
从长远来看,控制可能的亏损额度在我看来与分析算法可能获得的收益同样重要。
为我正在运行的采用马丁格尔策略的交易顾问应用了风险管理器
以下是未应用风险管理器时2025年回测结果:
而这是采用最佳风险管理器设置后的结果:
如您所见,最大回撤减少了一半,而盈利则增加了三倍。
相对于权益的回撤幅度有所缩小,并已控制在合理范围内。
此前曾超过50%(这在现实中意味着必然爆仓和强制平仓),现已降至约20%,至少可以尝试用美分进行交易了。
交易次数减少了三分之一,这有点奇怪。交易次数太多,本不该如此。
PS/ 尽管你一直在尝试马丁格尔策略。该策略本质上就是一种纯粹的资金管理方法。 结果说明了什么?主要说明你对马丁格尔策略的运用不够到位,有些地方风险过高,有些地方又不足…… ;-)
显然还有改进的空间。



新文章 交易机器人风险管理器(第一部分):EA风控头文件已发布:
经验表明,缺少完善风控体系的交易账户,其生命周期往往十分短暂。
几乎每位新手交易者都会陷入三类经典心理陷阱。第一类,连续盈利之后产生过度乐观心态。连续几笔交易获利后,会产生自己已经看透市场、掌握市场奥秘的错觉。内心会冒出想法:“现在是盈利状态,可以承担更大风险!”于是交易者放大手数、放弃止损、同时大量持仓。结局可想而知:短短一天,就亏掉数周积累的收益。
第二类,寄希望于行情反转。持仓亏损持续扩大,屏幕上的浮亏数值不断走高,但交易者依旧死扛持仓。“马上就要反转了”,“这只是回调”,“行情不可能一直跌”,无数交易者抱着这类想法,直到被保证金追缴(爆仓)终结交易生涯。
第三类陷阱也最隐蔽 —— 无视自己定下的交易规则。交易者搭建交易系统,制定明确的开仓平仓条件,设置风险上限。但某个时刻心里会冒出念头:“能出什么问题呢?偶尔破一次规则没关系。”于是关闭止损、超出最大允许手数、逆势开仓。这必然走向账户溃败,交易者心里明明清楚后果,却无法克制。
作者:Yevgeniy Koshtenko