ダランベール法によるLot制御を行う

負け越し数が計算できていれば楽勝です。

負け越し数計算については以下を参照

//+------------------------------------------------------------------+
//| D'Alembert法によるロット数の計算                                        |
//+------------------------------------------------------------------+
double CalculateDAlembertLots(int losses)
  {
   double lotSize = initialLot * pow(1.1, losses);

// 最小取引数量、最大取引数量、数量ステップを考慮
   lotSize = MathMax(lotSize, 0.1);  // 最小取引数量
   lotSize = MathMin(lotSize, 10.0); // 最大取引数量

// 数量ステップに合わせて丸める
   lotSize = MathRound(lotSize / 0.01) * 0.01;
   return lotSize;
  }


使い方

double trade_lot = CalculateDAlembertLots(global_excessive_lossed);
Print(trade_lot);



MQL5コード一覧はコチラ

https://note.com/noway_pway/n/na50e47a51645

いいなと思ったら応援しよう!