Arredondar para múltiplo de 5

 

Olá, pessoal, eu implementei no meu EA um Stop em ATR e eu opero o BRA50 na Activ Trades. Eu preciso que o meu STOP fique em múltiplo de 5 para não ocorrer erro de SL porque no Bra50 a pontuação é múltipla de 5.


Dúvida: Como eu converto, por exemplo, 252 para 255? Tem alguma função de conversão para isso?

Resumo da minha dúvida:Eu preciso que 153 vire 155. Que 187 vire 190...

 
Rafael Magalhaes Souza:

Olá, pessoal, eu implementei no meu EA um Stop em ATR e eu opero o BRA50 na Activ Trades. Eu preciso que o meu STOP fique em múltiplo de 5 para não ocorrer erro de SL porque no Bra50 a pontuação é múltipla de 5.


Dúvida: Como eu converto, por exemplo, 252 para 255? Tem alguma função de conversão para isso?

Resumo da minha dúvida:Eu preciso que 153 vire 155. Que 187 vire 190...

Então...

double vr = 252;
vr = round(vr / 5) * 5;

Mas sugiro que trabalhe carregando o mínimo de ticks do ativo;

double minTick = SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE);
double vr = 252;
vr = round(vr / tick) * minTick;

Sucesso por aí...

 
Adailton Silva #:

Então...

Mas sugiro que trabalhe carregando o mínimo de ticks do ativo;

Sucesso por aí...

 Muito obrigado pela ajuda. Era exatamente isso que eu precisava.