Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
E ordens pendentes:((
Log 1:
Tentando comprar, tentativa 0 falhou, erro 6
Tentando comprar, tentativa 1 falhou, erro 129
Tentando comprar, tentativa 2 falhou, erro 129
Tentando comprar, tentativa 3 falhou, erro 129
Tentando comprar, tentativa 4 falhou, erro 129
Erro de compra em ziguezague: 4050
2.28000000, 0.02700000, 0.00000000
Tentando comprar, tentativa 0 falhou, erro 6
Tentando comprar, tente 1 com sucessol
A ordem foi aberta na 7ª tentativa. Várias mensagens de erro foram recebidas pelo caminho e não tinham nada a ver com a realidade.
Log 2.
7.9.2005 11:0:15, Sinal: sell7.9.2005 11:0:15 Tentando vender, tentativa 0.
Pergunte: 1.24820000, StopLoss: 0.00600000, TakeProfit: 0.00000000
falhou, erro 6
7.9.2005 11:0:15 Tentando vender, tentativa 1.
Pergunte: 1.24820000, StopLoss: 0.00600000, TakeProfit: 0.00000000
sucessol
Na segunda tentativa. O erro número seis foi o assunto de um ramo inteiro, mais de cem postos. Seguindo os conselhos dos desenvolvedores, Rosh e Composter, a freqüência de erro foi reduzida de "de vez em quando" para "cerca de uma vez em cinco". Mas ainda está lá.
Log 3.
Tentativa de fechar posição longa, bilhete: 1784257
6.9.2005 12:0:13 PM Ordem com este bilhete ainda presente, tentando novamente
6.9.2005 12:0:13 Ordem com este bilhete ainda presente, tentando novamente
6.9.2005 12:0:13 Ordem com este bilhete ainda presente, tentando novamente
6.9.2005 12:0:13 Ordem com este bilhete ainda presente, tentando novamente
6.9.2005 12:0:13 Ordem com este bilhete ainda presente, tentando novamente
Cinco falhas, NÃO houve código de erro. O programa pensou que essa posição estava fechada. Eu estava pegando o bilhete no circuito, se não o fizesse, o problema não seria detectado.
E assim por diante.
{
int nTicket = OrderTicket();
SaveComment ("rtAttempting to close long position, ticket: " + nTicket);
int nResultado = OrderClose(OrderTicket(), OrderLots(), Bid, nSlip, Aqua);
Sleep(10000);
if(nResultado == -1)
{
int nError = GetLastError();
Alerta(strExpertName + ", erro: " + nError);
}
}
Tive que usar uma citação para tornar o texto em negrito.
O objetivo do Sono é apenas esperar até que a condição que causou a falha tenha desaparecido (você sabe, os pings começam a passar). Porque - levando em conta que as operações comerciais "tomam" o controle e não o deixam ir até que eles voltem, então, se houver um erro, ele deve aparecer imediatamente. Se não - é um bug.
A única exceção possível é a verificação do meu laço para um bilhete de uma posição recém-encerrada. Mas mesmo aqui podemos argumentar como o sistema deveria se comportar de forma ideal.
Novamente, o problema não é apenas que os erros RETORNADOS, mas também que os códigos de erro são retirados do teto, e às vezes não há nenhum código - o código de sucesso da operação é devolvido.
Se eu não entender alguma coisa, por favor explique.
1. Um SMS é enviado informando a intenção de remover tal ordem.
2. Uma tentativa de cancelar o pedido é feita
3. O resultado da função OrderDelete() é analisado e se for negativo (a ordem não foi removida), então
4. Ele envia um SMS confirmando a falha.
Ontem recebemos 2 SMS, tudo de acordo com as regras, mas a ordem foi cancelada no mesmo segundo, de acordo com os logs.
Assim, a EA estava tentando obter o resultado da operação de cancelamento do pedido uma fração de segundo antes de obter o resultado. É como na piada sobre os chineses que plantaram batatas e depois as desenterraram no dia seguinte. Quando perguntados "Está amadurecendo tão rápido", eles diriam "Não, mas está mordendo" :)
1. Eu fiz todo este alvoroço sobre as encomendas reais. E se eles se comportam assim, isso precisa ser consertado.
2) A idéia é que a MT EAs deve ser capaz de negociar SEM um ciclo atrasado. É assim que deve ser.
Vou colocar um atraso, mas, como se costuma dizer, "sem prazer" :)
Eu mesmo não acredito, os desenvolvedores podem explicar o quanto eu estou errado?
Um pouco embaraçoso é o fato de que para 37 postos neste tópico existe apenas um dos desenvolvedores...
por que interferir em uma discussão já produtiva
e aqui estão os produtos =)
Fiz alguns testes. Um consultor especializado abre e fecha uma posição (alternadamente compra e venda). Pausa mínima entre todas as negociações - 10 seg.
Tentativas de OrderSendência: 996
Bem sucedido*: 888
Erros**: 108
* - Por tentativa de "sucesso" quero dizer o seguinte: ordemEnviar bilhete devolvido no., GetLastError devolvido 0, posição aberta selecionada com sucesso ordemselecione.
** - Todos os erros #148 "o contexto comercial está ocupado" - era isso que Slava estava perguntando no próximo tópico - "e se desativarmos o cheque isTradeAllowed?". Os erros começaram às 07:16:46 e ainda estão se acumulando)
OrderClose tentativas: 890 Sucesso*: 736
Erros**: 154
* - por tentativa de fechamento "bem sucedida" quero dizer o seguinte: fechamento de ordem retornado verdadeiro, GetLastError retornado 0, posição fechada selecionada com sucesso seleciona ordem no mod_history.
** - 152 erro #1 "nenhum erro", um #6 e um #138(requotes)
A situação que foi apanhada não aconteceu. Isto é, todas as posições fechadas foram de fato fechadas.