erro 4756 - página 4

 
RaptorUK:

Acho, vou confirmar, que vi o mesmo problema no Testador de Estratégia, não sei exatamente como isso poderia acontecer, vou tentar novamente com mais alguns relatórios de erros adicionados para ter certeza.

OK, um mistério resolvido... Não percebi que o Spread usado no Testador de Estratégia é tirado dos dados do Histórico, em particular os dados M1. A razão pela qual tenho paradas inválidas em minha execução do Testador de Estratégia é porque o spread é maior que meu SL. Vou adicionar um teste para isso.

 

Konstantin83:
2013.03.10 11:19:18    2012.01.04 15:00:00   failed buy stop 1.00 EURUSD at 1.30505 sl: 1.28375 tp: 1.30375 [Invalid stops]

Não entendo parada inválida. a sl está abaixo da sl de compra: 1,28375 <1,30505 ?

 
Konstantin83:

CopyHigh(_Symbol,_Period,TimeCurrent(),5,hg);

Top = NormalizeDouble(rates[ArrayMaximum(hg,0,WHOLE_ARRAY)].high,_Digits); 

- projetomal compreendido .
Escolha entre os valores do dobro máximo e use aquele ao invés do índice inteiro

agradeceKonstantin83 :

mas eu não entendo o que você diz.

topo é o mais alto das últimas 5 velas e topo é o dobro e não o índice inteiro

topo
 

dan5:

Não entendo parada inválida. a sl está abaixo da sl de compra: 1,28375 <1,30505 ?


Não leve "Paradas inválidas" muito à letra. Não se trata apenas de Parar Perda, também pode ser o preço de entrada e/ou o TP. Quando você obtiver um erro, imprima as seguintes informações, elas o ajudarão a descobrir o que deu errado:

  1. tipo de comércio, limite de compra, compra, venda, parada de venda, etc.
  2. o preço de venda
  3. o preço da licitação
  4. o preço de entrada
  5. o SL
  6. o TP
  7. o Nível de Congelamento
  8. o Nível de Paradas
  9. o número do erro (e a descrição do erro, se você realmente quiser)
Você também deve ler este artigo, ele foi escrito para mql4, mas tenho certeza de que ainda se aplica ao mql5:Requisitos e limitações na realização de negócios
Requirements and Limitations in Making Trades - Appendixes - MQL4 Tutorial
  • book.mql4.com
Requirements and Limitations in Making Trades - Appendixes - MQL4 Tutorial
 

dan5:

2013.03.10 11:19:18 2012.01.04 15:00:00 paradas de compra falhadas 1,00 EURUSD a 1,30505 sl: 1,28375 tp: 1,30375 [Paradas inválidas]


Não entendo parada inválida. a sl está abaixo da sl de compra : 1,28375 <1,30505 ?


Você notou que a entrada 1.30505 é > a TP 1.30375 ?
 
RaptorUK:
Você notou que a entrada 1.30505 é > a TP 1.30375 ?

obrigado por sua ajuda eu modifico meu sl e tp está tudo bem agora

mrequest.sl = NormalizeDouble( mrequest.price + STP*_Point,_Dígitos); // Stop Loss
mrequest.tp = NormalizeDouble( mrequest.price - TKP*_Point,_Dígitos);// Take Profit

em vez de:

mrequest.sl = NormalizeDouble(latest_price.bid + STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble(latest_price.bid - TKP*_Point,_Digits); // Take Profit

 
dan5:

obrigado por sua ajuda eu modifico meu sl e tp está tudo bem agora

mrequest.sl = NormalizeDouble( mrequest.price + STP*_Point,_Dígitos); // Stop Loss
mrequest.tp = NormalizeDouble( mrequest.price - TKP*_Point,_Dígitos);// Take Profit

em vez de:

mrequest.sl = NormalizeDouble(latest_price.bid + STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble(latest_price.bid - TKP*_Point,_Digits); // Take Profit

Isso é uma boa notícia, espero que você não se importe que eu subverta seu fio condutor, mas acho que nós dois conseguimos algo útil no final :-)
 
RaptorUK:
Isso é uma boa notícia, espero que você não se importe que eu subverta seu fio condutor, mas acho que nós dois conseguimos algo útil no final :-)
Você encontrou outra solução que eu proponho com a OnTradeTransaction para prosseguir com sl & tp em um caso de Execução de Mercado (corretor ECN)?
 
angevoyageur:
Vocês encontraram outra solução que eu proponho com a OnTradeTransaction para proceder com sl & tp em um caso de Execução de Mercado (corretor ECN)?
O código que sugeri neste post https://www.mql5.com/en/forum/11051#comment_446272 funciona bem até onde posso dizer, assumi que não estava funcionando no Testador de Estratégia devido à minha suposição de que o spread a ser corrigido (como no MT4) estava incorreto. Meu código agora funciona no Testador de Estratégia e na Demonstração para símbolos com tipo de execução Instantânea ou de Troca, meu código determina o tipo e envia o(s) pedido(s) apropriado(s). O ideal seria que meu código tratasse automaticamente qualquer tipo de execução.
 
RaptorUK:
O código que sugeri neste post https://www.mql5.com/en/forum/11051#comment_446272 funciona bem até onde posso dizer, assumi que não estava funcionando no Testador de Estratégia devido à minha suposição de que o spread a ser fixado (como no MT4) estava incorreto. Meu código agora funciona no Testador de Estratégia e na Demo para símbolos com tipo de execução Instantânea ou de Troca, meu código determina o tipo e envia o(s) pedido(s) apropriado(s). O ideal seria que meu código tratasse automaticamente qualquer tipo de execução.
Ah ok, eu perdi-o.
Razão: