Автоматическая проверка на маркете - страница 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 - это пересчет из процентов ;-). То есть Risk/100 дает значение от 0 до 1.
 
Stanislav Korotky:
100 - это пересчет из процентов ;-). То есть Risk/100 дает значение от 0 до 1.
Та е мае. Я не использую ни риск ни тем более 100% (у лота 100% ???) и прохожу проверку.
 
Evgeniy Scherbina:
Та е мае. Я не использую ни риск ни тем более 100% (у лота 100% ???) и прохожу проверку.
Вопрос то был про то, откуда 100. Ответ - не "с потолка". А кто что использует - дело десятое. Использование показателя "риска" не должно мешать проверке.
 
Evgeniy Scherbina:

Ваш lotDigit это хитроумная дура, которая всегда вычисляет 0. Этого нет в примере в документации. Видимо, вам нравятся когда много скобок?

Также вот это: FreeMg*Risk/100/Margin/Step... Откуда 100? Явно с потолка.

Много строк. Реально много, а что вычисляете?? 

в данном случае lotDigit считает количество знаков для округления, можете проверить - эта хитроумная дура будет всегда больше нуля (если разрешен дробный лот)

...похоже вы и дробные лоты не используете 

 
Taras Slobodyanik:

в данном случае lotDigit считает количество знаков для округления, можете проверить - эта хитроумная дура будет всегда больше нуля (если разрешен дробный лот)

...похоже вы и дробные лоты не используете 

Угу, зато я прохожу проверку легко
 
у меня тест прошел проблем был в сложности безиндикорного внутренного для ЕА алгоритгм