Failed instant buy [Invalid stops]

 

Olá,

Meu código funciona, abro algumas posições, porém ao decorrer do tempo não consigo abrir outras e não entendo o motivo.

No diário recebo a seguinte mensagem:
2019.04.08 00:00:00   failed instant buy 0.96 EURUSD at 1.12210 sl: 1.12185 tp: 1.12435 [Invalid stops]

O AT está dentro da faixa de SL e TP. Por quê o stop é invalido?

Na imagem é possível ver os valores de abertura e fechamento e também posições que consegui abrir.

Alguém sabe onde está o erro?

Att.

Arquivos anexados:
Resultado.png  10 kb
 
YLSP:

Olá,

Meu código funciona, abro algumas posições, porém ao decorrer do tempo não consigo abrir outras e não entendo o motivo.

No diário recebo a seguinte mensagem:

O AT está dentro da faixa de SL e TP. Por quê o stop é invalido?

Na imagem é possível ver os valores de abertura e fechamento e também posições que consegui abrir.

Alguém sabe onde está o erro?

Att.

Olá, 

pode ser o seguinte:  SL > Bid - stopLevel* Point  ...  Você precisa dar um print em Ask, Bid, e stop level  para identificar o erro.

 

De fato, consegui contornar esse erro.

O código anterior:

if(!ExtTrade.PositionOpen(_Symbol,signal,LotsC,SymbolInfoDouble(_Symbol,SYMBOL_ASK),
                           SymbolInfoDouble(_Symbol,SYMBOL_ASK)-NormalizeDouble(SL*_Point,_Digits),
                           SymbolInfoDouble(_Symbol,SYMBOL_ASK)+NormalizeDouble(TP*_Point,_Digits)))


O código que não gera o erro:

if(!ExtTrade.PositionOpen(_Symbol,signal,LotsC,SymbolInfoDouble(_Symbol,SYMBOL_ASK),
                           SymbolInfoDouble(_Symbol,SYMBOL_BID)-NormalizeDouble(SL*_Point,_Digits),
                           SymbolInfoDouble(_Symbol,SYMBOL_BID)+NormalizeDouble(TP*_Point,_Digits)))


Não tenho certeza se essa alteração é o correto a se fazer, mas funcionou neste caso.

 
YLSP:

De fato, consegui contornar esse erro.

O código anterior:


O código que não gera o erro:


Não tenho certeza se essa alteração é o correto a se fazer, mas funcionou neste caso.

Provavelmente você opera Forex... então faz TODA a diferença saber onde o BID e ASK estão... do contrário você estará enviando stops dentro da Zona Proibida da corretora.