【问题标题】:How can I calculate lot size risking X% of account balance我如何计算冒着账户余额 X% 风险的手数
【发布时间】:2019-08-11 16:56:27
【问题描述】:

我的问题有两个密切相关的部分:

  1. 给定入场价格和止损,我如何计算我的手数,以便我的经常账户余额的 2.5% 将在交易中承担风险?

  2. 1234563和 0.02(对于 0.018)?

我知道如何计算我的入场价和止损之间的点数:

double DiffInPips = MathAbs(NormalizeDouble(stopLoss-openPrice,Digits)/Point);

我认为需要解决这个问题,但不确定如何在上述两种情况下达到所需的批量。

【问题讨论】:

  • 永远不要使用NormalizeDouble。出于任何原因。是杂牌,不要用。它的使用总是错误的。

标签: mql4 quantitative-finance algorithmic-trading metatrader4 mt4


【解决方案1】:

计算你的资产的风险暴露部分是一个微不足道但非 StackOverflow 的话题,所以让我在这里专注于 编程,解决项目 2:

double NormalizeLotsToTRADE( const double aLotSizeREQUESTED )         // DEMO CODE
{  
   double  aMinSIZE = MarketInfo( _Symbol, MODE_MINLOT  ),
           aMaxSIZE = MarketInfo( _Symbol, MODE_MAXLOT  ),
           aFixSTEP = MarketInfo( _Symbol, MODE_LOTSTEP );

   return( MathMin(            aMaxSIZE,                              // never > MAXLOT
                    MathMax(   aMinSIZE,                              // never < MINLOT
                             ( aMinSIZE                               // ~ min + steps
                             + aFixSTEP * MathFloor( ( aLotSizeREQUESTED
                                                     - aMinSIZE
                                                       )
                                                     / aFixSTEP
                                                     )
                               )
                             )
                    )
           );
    }

如果您的风险经理对您的风险建模警告不那么严格并允许您进行“最接近”舍入,可以使用MathRound() 而不是风险管理严格使用MathFloor()

【讨论】:

  • 感谢您的回答,但我不得不承认第一部分对我来说并非微不足道。我无法计算它,我正在尝试制作 EA 的一些想法。
  • 只需将任务分成几个步骤。计算你能损失多少钱。计算如果在 SL 的情况下交易 1.00 手,您会损失多少钱。将手数计算为比率。与手动交易时相同。在您收到一个值(可能不是 SOF 问题)后 - 标准化,如本例所示。
  • 就在现场,Daniel +1-ed 您明智、冷静和有条不紊地帮助您提供 MQL4/5-askers
  • @user3666197 我终于能够根据入场价、止损价和风险百分比计算手数。我使用您在此解决方案中提供的代码来标准化手数,但无论数字如何,它总是导致 0.01 手数。 Here 是我的代码中最相关的部分。
  • @user3666197 我最近获得了足够的支持来支持答案。在接受答案之前,我还要确保我已经实施了解决方案。我只能解决问题的第一部分,在此之前我无法使用您的解决方案。我还在学习很多东西。
猜你喜欢
  • 2011-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多