mql4语言的特点、微妙之处以及技巧 - 页 21

 
fxsaber:

盈利能力的计算。


应用


结果


ZZZ我不知道如何摆脱古怪的字符(从MT4专家标签复制)。

将终端切换到俄语。
 
Artyom Trishkin:
将终端切换到俄语。

该终端和其中的一切都以俄语进行。抄写时有草字头。

 
fxsaber:

该终端和其中的一切都以俄语进行。抄写时有鳄鱼。

复制时的键盘布局应该是俄语。

 
Artyom Trishkin:

复制时的键盘布局应该是俄语。

谢谢你,它成功了。

 
Artyom Trishkin:

复制时的键盘布局应该是俄语。

Artem,它能以什么方式影响呢? 它是BAG
 
Maxim Kuznetsov:
Artyom,这怎么可能有任何影响? 这是一个BAG

从我记事起,这里和mql4.com就一直如此。

 
Artyom Trishkin:

从我记事起,在这里和mql4.com,这种情况就一直在发生。

也就是说,它成了一个虚构的故事 :-)

输入语言开关的状态究竟如何影响复制-粘贴的结果?

 
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
原因: