Normalizar o preço do Dólar

 

Eu estou começando a programar pra Dólar, e o primeiro problema que estou tendo é justamente a questão do preço, já que o dolar se movimenta de meio em meio ponto, ao enviar a ordem me retorna [Invalid Stops].



Eu tentei com *_Didigts, mas mas está dando diferença, eu coloco 1 pontos de take ele joga 3. 

 

Pra qualquer ativo, vc tem que normalizar os preços conforme o número de dígitos decimais do ativo.

Segue dica genérica dada pelo @Rogerio Giannetti Torres em outra resposta (a dica foi para o preço ASK, mas é só vc adaptar para o SL e o TP):

tickSize=SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE);
ask = SymbolInfoDouble(_Symbol,SYMBOL_ASK);
ask = NormalizeDouble(MathRound(ask/tickSize)*tickSize,_Digits);
Dolar com valores quebrados
Dolar com valores quebrados
  • 2018.12.20
  • www.mql5.com
Bom Dia Os valores de bid e ask estão saindo quebrado quando realizado backtest do inicio desse ano. Ex: 03/01/2018 ASK = 3391.297 BID= 3391...
 
HENRIQUE ARAUJO DOS SANTOS:

Eu estou começando a programar pra Dólar, e o primeiro problema que estou tendo é justamente a questão do preço, já que o dolar se movimenta de meio em meio ponto, ao enviar a ordem me retorna [Invalid Stops].



Eu tentei com *_Didigts, mas mas está dando diferença, eu coloco 1 pontos de take ele joga 3. 

Ué a mesma dúvida desse post ?

Lá vc mesmo disse que resolveu.
É como o trader patinhas disse, sempe vai ter que normalizar o preço, seja ações, índices, cfd ou forex.

 
mercado BR eu deixo sem o _Digits, afinal o que vc escreve como parametro é o que realmente tem que ser....já forex eu utilizo pois cada moeda tem sua pontuação diferente
 
Eduardo Oliveira:
mercado BR eu deixo sem o _Digits, afinal o que vc escreve como parametro é o que realmente tem que ser....já forex eu utilizo pois cada moeda tem sua pontuação diferente

Não julgo errado isso, mas com essa solução, vc deixa seu EA enviesado para um ativo especifico.

Normalizando ele vai funcionar de maneira correta em qq tipo de ativo.

 
Jonathan Pereira:

Não julgo errado isso, mas com essa solução, vc deixa seu EA enviesado para um ativo especifico.

Normalizando ele vai funcionar de maneira correta em qq tipo de ativo.

Com certeza! Dentro do próprio mercado BR existem ativos com diferentes variações de dígitos (futuros de dólar têm 1 dígito, futuros de índice têm 0, ações têm 2, ouro tem 3 ... )

 
Entendido!! Acho interessante deixar o EA o mais maleável possivel. Era um dos meus problemas, programar um EA limitado somente ao indice. Mas fazendo a normalização conforme o tick size do ativo fica muito mais interessante.
Razão: