对市场的自动检查 - 页 7

 

这就是方法!!!。

// v передается в функцию как double-значение лота
// сначала то что чаще всего встречается
v = NormalizeDouble(v, 3);
if(v < MarketInfo(symbol, MODE_MINLOT)) v = MarketInfo(symbol, MODE_MINLOT);
  
  
// затем рассчитать знаки после запятой для объема, которого не может быть но они фсе равно проверяют
string volume_min = (string) SymbolInfoDouble(symbol, SYMBOL_VOLUME_MIN);
int volume_digits = 0;
int pos = StringFind(volume_min, ".", 0);


if(pos > 0){
  volume_min = StringSubstr(volume_min, pos+1, StringLen(volume_min)-pos);
  volume_digits = StringLen(volume_min);
  v = NormalizeDouble(v, volume_digits);
}
 
Evgeniy Scherbina:

你的lotDigit是一个狡猾的傻瓜,总是计算为0,这在文档的例子中是没有的。显然,你喜欢大量的括号?

还有这个。FreeMg*Risk/100/Margin/Step...100人是从哪里来的?显然是来自天花板。

那是一个很大的串联。这确实很多,但你在计算什么?

就在那里。

http://mql4you.ru/mql-school/yazyk-mql-urok-3.html

Язык MQL — Урок 3 «расчет лота» | MQL для тебя
Язык MQL — Урок 3 «расчет лота» | MQL для тебя
  • mql4you.ru
На прошлом уроке «Язык MQL — Урок 2» мы научили наш первый , написанный на языке MQL4 рассчитывать размер лота, а точнее запрашивать у нас размер средств которыми мы хотим рискнуть при торговле на форекс при помощи терминала Metatrader 4. В данном уроке я предлагаю заняться самим ! Для расчета желаемого лота, скрипту MT4 необходимо знать...
 
Evgeniy Scherbina:

还有这个。FreeMg*Risk/100/Margin/Step...100是从何而来?显然是来自天花板。

100是由百分比转换而来;-)。因此,风险/100给出了一个在0和1之间的值。
 
Stanislav Korotky:
100是由百分比转换而来;-)。也就是说,风险/100给出了一个介于0和1之间的值。
那是五月。我不使用这两种风险,更不用说100%了(该地段有100%???),并通过了检查。
 
Evgeniy Scherbina:
5月。我不使用任何风险,更不用说100%(该地段有100%???)并通过检查。
这个问题是关于100的来源。答案不是 "来自天花板"。谁使用什么是第十个问题。使用 "风险 "指标不应干扰核查。
 
Evgeniy Scherbina:

你的lotDigit是一个狡猾的傻瓜,总是计算为0,这在文档的例子中是没有的。显然,你喜欢大量的括号?

还有这个。FreeMg*Risk/100/Margin/Step...100人是从哪里来的?显然是来自天花板。

那是一个很大的串联。真的很多,你是怎么计算的?

在这种情况下,lotDigit计算四舍五入的位数,你可以检查--这个狡猾的傻瓜总是大于零(如果允许小数手的话)。

...看起来你也不使用小数点的手数。

 
Taras Slobodyanik:

在这种情况下,lotDigit计算四舍五入的位数,你可以检查--这个狡猾的傻瓜总是大于零(如果允许小数手的话)。

...看起来你也不使用小数点的手数

嗯哼,但我很容易通过检查
 
我的测试通过了,问题是EA算法的内部非指示性的复杂性。