你们的工作真棒!感谢您的文章。
感谢您的反馈!我们将竭尽全力,继续保持高标准。
感谢您撰写这篇有趣的文章!干得漂亮。
如果可以的话,我想澄清几个逻辑和技术问题:
我是否正确理解了在 DailyLoss() 方法中控制风险时,没有考虑股票缩水的风险?
在使用数组时,为什么要使用宏?
谢谢。
感谢您的反馈!
Правильно я понимаю, что при контроле рисков в методе DailyLoss() не учитывается риск просадки по еквити?
可能错了。DailyLoss() 方法不会评估缩水有多大。它只是在必要时将指定的最大缩水水平从百分比转换为账户货币。比较本身在CheckDailyLimit() 方法中进行:
if(m_dailyProfit < -DailyLoss() && CMoney::DepoPart() > 0) { ... }
m_dailyProfit 的值在每个 tick 中更新,并计算为当前资金(净值)与每日水平(余额值与 每日期初资金的最大值)之差:
m_dailyProfit = m_equity - m_baseDailyLevel;
因此,资金缩水似乎只是考虑在内。还是我误解了问题?
处理数组时为什么要使用宏?
为了压缩代码。宏还允许将代码块作为参数传递,而通过函数执行此类操作时,不能将代码块作为参数传递给函数。
Yuriy Bykov 每个 tick 中更新,并计算为当前资金(净值)与每日水平( 每日期初余额和资金的最大值)之间的差额:
因此,资金缩水似乎只是被考虑在内。还是我误解了问题?
为了代码紧凑。另外,宏允许将代码块作为参数传递,而通过函数执行此类操作时,不能将代码块作为参数传递给函数。
非常感谢您的详细解答 ))我们将等待新的文章!)
亲爱的尤里
我正在尝试编译代码,但在 VirtualRiskManager.mqh 中遇到以下错误:
"Changed - undeclared identifier" on line CVirtualReceiver::Instance().Changed(); // Notify the recipient about changes
我检查了多次代码,但都没有发现问题。你能解释一下我漏掉了什么吗?
我很期待本系列的下一篇文章。
谢谢
Yuriy Bykov 项目 文件档案。我将在本文中附上。
非常感谢
新文章 开发多币种 EA 交易(第 12 部分):开发自营交易级别风险管理器已发布:
在正在开发的 EA 中,我们已经有了某种控制回撤的机制。但它具有概率性,因为它是以历史价格数据的测试结果为基础的。因此,回撤有时会超过最大预期值(尽管概率很小)。让我们试着增加一种机制,以确保遵守指定的回撤水平。
最近,人工交易的风险管理和算法交易的风险管理两篇文章对风险管理这一主题进行了探讨。在这些文章中,作者提出了一种编程式实现方法,可控制各种交易参数是否符合预设指标。例如,如果超过了一天、一周或一个月的设定损失水平,交易就会暂停。
从自营公司吸取一些教训一文也很有意思。作者研究了自营交易公司对希望获得管理资本的交易者提出的交易要求。尽管在各种专门用于交易的资源上可以找到对此类公司活动的模糊态度,但使用明确的风险管理规则是成功交易的最重要组成部分之一。因此,以自营交易公司使用的风险控制模型为基础,利用已经积累的经验,实施我们自己的风险管理器是合理的。
作者:Yuriy Bykov