mql4言語の特徴、微妙なニュアンスとテクニック - ページ 21

 
fxsaber:

収益性の計算。


応用編


結果


ZZZ クセ字を消す方法がわかりません(MT4 Expertsタブよりコピー)。

端末をロシア語に切り替えてください。
 
Artyom Trishkin:
端末をロシア語に切り替えてください。

端末とその中はすべてロシア語です。コピーするときにくずし字がある。

 
fxsaber:

端末とその中はすべてロシア語です。コピーするときにワニがいる。

コピー時のキーボード配列は、ロシア語にしてください。

 
Artyom Trishkin:

コピー時のキーボード配列は、ロシア語にしてください。

ありがとうございます、うまくいきました。

 
Artyom Trishkin:

コピー時のキーボード配列は、ロシア語にしてください。

アルテムは、どのような形で影響を与えることができるのでしょうか? それはBAGです。
 
Maxim Kuznetsov:
アルチョム、これのどこが効果的なんだ? これはBAGだ。

私が覚えている限り、こことmql4.comではずっとこの状態です。

 
Artyom Trishkin:

このようなことは、私が覚えている限り、ここやmql4.comで起きています。

つまり、FICTIONになったのです :-)

入力言語スイッチの状態が、どうしてコピーペーストの結果に影響するのですか?

 
Yurij Kozhevnikov:
それは「機能」に入るはずです。あと数年早く知っていてもおかしくなかったと思います。
それはもう、特典映像の中にあるのです。
 
Artyom Trishkin:
それは、すでに機能として備わっているのです。

その時、私は気づいたのです :D

だから、削除したんです。

 
リスク計算を行う。
// Вычисляет риск для заданной максимальной просадки.
double GetRisk( const double NewMaxDD, const double Alpha, const string Symb, const int Magic = -1  )
{
  double RiskLeft = 0;
  double RiskRight = 10;
  
  double Risk, SumGain, MaxDD, RF;
    
  do
  {
    Risk = (RiskLeft + RiskRight) / 2;
        
    if (!GetSumGain(Risk, SumGain, MaxDD, RF, Symb, Magic)) // https://www.mql5.com/ru/forum/170953/page20#comment_13432058
    {
      MaxDD = DBL_MAX;

      RiskRight = Risk;      
    }
    else if (MaxDD > NewMaxDD)
      RiskRight = Risk;
    else
      RiskLeft = Risk;
  }
  while (!IsStopped() && (MathAbs(MaxDD - NewMaxDD) > Alpha));
  
  return(Risk);  
}


アプリケーションです。

#property strict
#property  show_inputs

input double inMaxDD = 0.3; // Для какой максимальной просадки вычислить риск?
input int MagicNumber = 1;

#define  D(A) DoubleToString(A, 2)

void OnStart()
{
  double SumGain, MaxDD, RF;
  
  const double Risk = GetRisk(inMaxDD, 0.01, _Symbol, MagicNumber);
  
  if (GetSumGain(Risk, SumGain, MaxDD, RF, _Symbol, MagicNumber))   
    Print((string)MagicNumber + ": при риске " + D(Risk) +
                                " увеличение было бы в " + D(SumGain) + " раза" +
                                " с максимальной относительной просадкой по балансу " + D(MaxDD) + 
                                ", фактор восстановления = " + D(RF));  
}


結果

1: при риске 0.51 увеличение было бы в 3.82 раза с максимальной относительной просадкой по балансу 0.30, фактор восстановления = 3.20