Retornou preço errado. SymbolInfoDouble(_Symbol,SYMBOL_ASK)

 

Bom dia


Ontem no pregão e numa conta demo, um ordem de compra no mini índice apresentou esse erro:

2021.02.26 13:04:11.637 failed exchange buy 1 WINJ21 at 101040 tp: 102140 [Invalid stops]

Quero saber o por quê do SymbolInfoDouble(_Symbol,SYMBOL_ASK) retornar o  preço 101040, sendo que o preço no momento era em torno de 112300?

Como contornar esse problema?

Trecho do código

input double      inpStopGain=200;   // Stop Gain
input double      inpStopLoss=600;   // Stop Loss
.
.
.

double ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
double bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);

trade.Buy(1,_Symbol,0,ask-inpStopLoss*_Point,ask+inpStopGain*_Point,"COMPRA");
.
.
.


Obrigado.

 
Anderson De Assis:

Bom dia


Ontem no pregão e numa conta demo, um ordem de compra no mini índice apresentou esse erro:

2021.02.26 13:04:11.637 failed exchange buy 1 WINJ21 at 101040 tp: 102140 [Invalid stops]

Quero saber o por quê do SymbolInfoDouble(_Symbol,SYMBOL_ASK) retornar o  preço 101040, sendo que o preço no momento era em torno de 112300?

Como contornar esse problema?

Trecho do código


Obrigado.

você mandou um TP menor que o preço de entrada...

Por quê, "*_Point" ??

 
Anderson De Assis:


Olá

primeiro uma correção os valores  bid/ask  em 2021.02.26 13:04:11.637 são os valores mostrados abaixo, mas mesmo assim, os valores de AT e TP não estão corretos e mais estranho o valor do SL não aparecer.  Se for possível, gostaria de ler o log diário de ontem completo,  pode ser?


 
Rogerio Giannetti Torres:

Olá

primeiro uma correção os valores  bid/ask  em 2021.02.26 13:04:11.637 são os valores mostrados abaixo, mas mesmo assim, os valores de AT e TP não estão corretos e mais estranho o valor do SL não aparecer.  Se for possível, gostaria de ler o log diário de ontem completo,  pode ser?


Rogério, aqui está o log do dia 26/02. Arquivo anexo.

Não comentei antes, esse robô está hospedado num VPS do MQL5, conta demo.

O stop gain é fixo 1100  não 600.  E o stop loss é baseado no fundo ou topo anterior, ou por pontos, depende da configuração dos parâmetros do robô.

input double      inpStopGain=
1100 ;   // Stop Gain
input double      inpStopLoss=1100;   // Stop Loss
Arquivos anexados:
log_2602.txt  19 kb
 
Anderson De Assis:

Rogério, aqui está o log do dia 26/02. Arquivo anexo.

Não comentei antes, esse robô está hospedado num VPS do MQL5, conta demo.

O stop gain é fixo 1100  não 600.  E o stop loss é baseado no fundo ou topo anterior, ou por pontos, depende da configuração dos parâmetros do robô.

Bom,  como eu disse antes esse registro de log, mostrado abaixo,  está muito estranho;

"Trades '19090190958': failed exchange buy 1 WINJ21 at 101040 tp: 102140 [Invalid stops]"

Deveria ser:

"Trades '19090190958': failed exchange buy 1 WINJ21 at market   sl:101040 tp: 102140 [Invalid stops]

Você fez algumas alterações, reiniciou o robô e sincronizou o VPS e tudo normalizou:

2021.02.26 15:12:19.317 Experts expert Robot (WINJ21,M15) loaded successfully 

2021.02.26 15:12:19.276 Terminal launched with C:\Hosting\instances\5EA10035E964EE5F5E9581A1DE6CA0F0\start.ini 

2021.02.26 18:00:00.061 Trades '19090190958': exchange buy 1 WINJ21 at market sl: 110985 tp: 112395 

 Bom, suas alterações corrigiram o problema, enfim perdi meu tempo, com algo que você já tinha corrigido. Passar bem meu caro.

 
Rogerio Giannetti Torres:

Bom,  como eu disse antes esse registro de log, mostrado abaixo,  está muito estranho;

"Trades '19090190958': failed exchange buy 1 WINJ21 at 101040 tp: 102140 [Invalid stops]"

Deveria ser:

"Trades '19090190958': failed exchange buy 1 WINJ21 at market   sl:101040 tp: 102140 [Invalid stops]

Você fez algumas alterações, reiniciou o robô e sincronizou o VPS e tudo normalizou: 2021.02.26 15:12:19.317 Experts expert Robot (WINJ21,M15) loaded successfully 2021.02.26 15:12:19.276 Terminal launched with C:\Hosting\instances\5EA10035E964EE5F5E9581A1DE6CA0F0\start.ini 2021.02.26 18:00:00.061 Trades '19090190958': exchange buy 1 WINJ21 at market sl: 110985 tp: 112395 Bom, suas alterações corrigiram o problema, enfim perdi meu tempo, com algo que você já tinha corrigido. Passar bem meu caro.

Sim. Eu migrei novamente o robô tempo depois do invalid stops, mas sem alterações no robô. Mesmo assim fiquei na dúvida se foi problema no código ou de comunicação com o servidor, visto que o preço de ask estava muito diferente do preço atual.

No código não foi, pois fiz até o teste de mesa. 

Espero que esse tipo de anomalia não ocorra com frequência. Só tem uma semana que contratei o VPS.

Obrigado.

Razão: