Verificação automática no mercado - página 7

 

É assim que se faz!!!

// 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:

Seu loteDigit é um tolo complicado que sempre calcula 0. Isto não está no exemplo da documentação. Aparentemente, você gosta de muitos parênteses?

Também isto: FreeMg*Risk/100/Margin/Step... De onde veio o 100? Obviamente do teto.

Isso é um monte de fios. É realmente muito, mas o que você está calculando?

Aí está.

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:

Também isto: FreeMg*Risk/100/Margin/Step... De onde vem o 100? Claramente do teto.

100 é uma conversão de porcentagem ;-). Assim, Risk/100 dá um valor entre 0 e 1.
 
Stanislav Korotky:
100 é uma conversão de porcentagem ;-). Ou seja, Risk/100 dá um valor entre 0 e 1.
Isso é maio. Eu não uso nenhum dos dois riscos, muito menos 100% (o lote tem 100% ????) e passo o cheque.
 
Evgeniy Scherbina:
Ta e maio. Eu não uso nenhum risco, muito menos 100% (o lote tem 100% ????) e passo o cheque.
A pergunta era sobre de onde vem o 100. A resposta não é "do teto". Quem usa o que é uma décima questão. O uso do indicador de "risco" não deve interferir na verificação.
 
Evgeniy Scherbina:

Seu loteDigit é um tolo complicado que sempre calcula 0. Isto não está no exemplo da documentação. Aparentemente, você gosta de muitos parênteses?

Também isto: FreeMg*Risk/100/Margin/Step... De onde veio o 100? Obviamente do teto.

Isso é um monte de fios. É realmente muito, o que você calcula?

neste caso lotDigit conta o número de dígitos para arredondamento, você pode verificar - este tolo complicado será sempre maior que zero (se lote fracionário for permitido)

...parece que você também não usa lotes fracionários.

 
Taras Slobodyanik:

neste caso lotDigit conta o número de dígitos para arredondamento, você pode verificar - este tolo complicado será sempre maior que zero (se lote fracionário for permitido)

...parece que você também não usa lotes fracionários

Uh-huh, mas eu passo o cheque facilmente
 
meu teste passou no problema foi a complexidade do algoritmo interno não indicativo para EA