Erros, bugs, perguntas - página 587

 
speedy:

Boa tarde.

Perdi a capacidade de parar num ponto de paragem.
Após premir o botão de depuração, o processo começa e pára imediatamente.
Não pode sequer parar na função de init.
Não funciona da mesma forma com Consultores e Indutores Especialistas, mesmo a partir do pacote standard.

Então começa e pára imediatamente?

Tem exemplos de reprodução em passos, registos?

 
alexvd:

Então começa e pára imediatamente?

Tem exemplos de reprodução em passos, registos?

Começa com sucesso e ... sai com sucesso ... os registos serão enviados à noite, não há erros, procurei em todo o lado e testei diferentes eksperts/indicadores do pacote padrão.
O testador visual funciona, mas não é o mesmo...

Apenas num ponto a depuração não se detém no programa, mas de alguma forma termina a sessão mais cedo e "com sucesso"...

para ser continuado...

 
speedy:

Começa com sucesso e ... sai com sucesso... Enviarei os registos à noite, não há erros, procurei em todo o lado e testei diferentes eksperts/indicadores do pacote padrão.
O testador visual funciona, mas não é o mesmo...

É que, a certa altura, o debug não se prolonga no programa, mas de alguma forma termina a sessão mais cedo e "com sucesso"...

continuou...

O problema está resolvido.

Reparei que antes de começar a depurar todos os indicadores e peritos do pacote padrão,
Mesmo depois de apagar o código fonte, "encontrou-o". Claro que, depois de apagar o executável, o terminal perguntou-me educadamente, ao depurar, se eu estava pronto para substituir a minha velha EA pela que estava a tentar depurar. Eu disse Sim e acalmou e tudo funcionou.

No entanto, ainda não está claro:
- porque a depuração da antiga EA não funcionava
- (mais importante) porque é que o debug carregou o antigo Expert Advisor que aparentemente não funcionava e não aquele que eu lancei no debug.

Tudo isto não está agora a bloquear porque encontrei uma solução.
Mas tenho a certeza que o BUG com a depuração errada da EA em vez da destacada ainda está lá...

 

Por favor, ajude ou explique o que está errado.

a EA funciona como um relógio numa conta de demonstração, mas no Testador de Estratégia gera um erro de pedido

Descrevi o meu pedido para abrir uma encomenda na minha biblioteca de uma forma conveniente e compreensível

bool Trade::OpenOrder(símbolo de corda,ordem de tipo de corda,preço duplo,volume duplo,ulong deviation=50,double sl=0,double tp=0,ulong magic=0)

{

bool in=false;

if(magic==0) magic=777;

if(typeorder==" ||| symbol=="" ||| price==0 ||| volume==0)

{

Imprimir("Parâmetros de encomenda não especificados");

devolução(in);

}

senão

{

Pedido MqlTradeRequest;

if(typeorder=="BUY") request.type=ORDER_TYPE_BUY;

if(typeorder=="SELL") request.type=ORDER_TYPE_SELL;

request.price=preço;

request.action=TRADE_ACTION_DEAL;

request.magic=magic;

request.symbol=símbolo;

request.volume=volume;

request.sl=sl;

request.tp=tp;

request.deviation=deviation;

request.comment=";

Resultado MqlTradeResult;

OrderSend(pedido,resultado);

se (resultado.retcode == TRADE_RETCODE_DONE) in=true;

else Print(result.retcode," ",request.price," ",request.sl," ",request.tp);

devolução(in);

}

}

A minha EA usa herança dessa classe, por isso, o meu pedido é semelhante ao seguinte

O símbolo G_Symbol é definido na inicialização

type="BUY" (Comprar)

preço Perguntar

Lotes 0.1

......................

OpenOrder(G_Symbol,type,price,Lots);

Em demonstração, a posição abre, mas no Testador de Estratégia diz o seguinte

2011.12.01 13:18:46 2010.01.29 00:00:52 10013 1.386 0 0

2011.12.01 13:18:46 2010.01.29 00:00:00:52 compra falhada no mercado 0,10 EURUSD [Pedido inválido]

Não posso fazer um teste de estratégia.

Não sei o que aconteceu ao meu testador, não tive problemas antes e não mudei o meu módulo durante pelo menos meio ano.



 
Genchik:

Em Demonstração abre, mas no Testador de Estratégia diz o seguinte

2011.12.01 13:18:46 2010.01.29 00:00:52 10013 1.386 0 0

2011.12.01 13:18:46 2010.01.29 00:00:00:52 compra falhada no mercado 0,10 EURUSD [Pedido inválido]

Não posso fazer um teste de estratégia.

Não sei o que há de errado com o testador, não mudei o meu módulo durante pelo menos meio ano.


Dê uma vista de olhos ao ramo Tenho um problema com as encomendas de VENDA
 

Já olhei através deste fio, mas há um problema diferente

Tenho a EA a funcionar e não tenho problemas na minha conta,

Mas no testador, durante a visualização, não abre ordens em nenhuma direcção

A minha construção é 540 e tudo aconteceu depois de eu a ter actualizado

Aqui está outra mensagem do Testador de Estratégia de outro terminal, também 540 construído

2011.12.01 14:14:40 Core 1 2011.04.18 18:07:47 10013 1.42279 0 0

2011.12.01 14:14:40 Core 1 2011.04.18 18:07:47 venda imediata falhada 0,10 EURUSD a 1,42279 [Pedido inválido]

2011.12.01 14:14:38 Core 1 2011.04.07 08:45:54 10013 1.42947 0 0
2011.12.01 14:14:38 Core 1 2011.04.07 08:45:54 compra instantânea falhada 0,10 EURUSD a 1,42947 [Pedido inválido]

 
Genchik:

2011.12.01 14:14:38 Core 1 2011.04.07 08:45:54 10013 1.42947 0 0
2011.12.01 14:14:38 Core 1 2011.04.07 08:45:54 compra instantânea falhada 0,10 EURUSD a 1,42947 [Pedido inválido]


10013

TRADE_RETCODE_INVALID

Pedido incorrecto

 
sergeev:

10013

TRADE_RETCODE_INVALID

Pedido incorrecto

Obrigado pela transcrição, mas eu conheço-a.

A questão é que o pedido está correcto.

e, por conta disso, o consultor trabalha sem problemas, não quer e dá este erro apenas no testador

 
Genchik:

Olhei através deste fio, mas há um problema diferente

Já tentou ZeroMemory()?
 
Rosh:
Já tentou ZeroMemory() ?

O que é que isso tem a ver com isto?

Não o utilizo de todo.

Razão: