O que significa a entrada do diário de bordo - página 5

 
Несколько смущает тот факт, что на 37 постов этой ветки приходится только один от разработчиков...

por que interferir em uma discussão já produtiva


Os desenvolvedores não querem nos assustar caso encontremos algo interessante para eles... :)
 
Несколько смущает тот факт, что на 37 постов этой ветки приходится только один от разработчиков...

por que interferir em uma discussão já produtiva


Pelas seguintes razões:
1. Para dizer, pessoal, reconhecemos (ou não) que existe um problema e o trataremos.
2. Para dizer, Quark (e Composter, já que ele reproduziu o erro em sua EA), nós olhamos seu código, o erro está nele, tratamos mais ou menos assim.

Caso contrário, você não está interessado. Divirtam-se, crianças...

Vou repetir meus argumentos:
1. Ordens para abrir e fechar posições às vezes retornam erros.
2. Estes códigos de erro não têm nada a ver com a vida real (por exemplo, "preço errado", mesmo que o preço esteja correto).
3. Ao repetir a tentativa com os mesmos parâmetros, você pode fazer o sistema aceitar a ordem. Mas em nenhuma parte de seu manual diz que a mesma ordem deve ser aberta (fechada) em um loop com verificação de erros a cada passo e saída para um arquivo para posterior verificação manual.
4. Algumas vezes os códigos de erro não são devolvidos, ou seja, o programa se comporta como se a operação fosse bem sucedida. Mas falha.

5. O mais importante. Como o problema ocorre na comunicação com o servidor de demonstração (Alpari, no meu caso), é muito provável que, tendo encontrado uma solução agora, na demonstração, nos encontremos novamente na mesma situação quando formos para a real. E então teremos que pagar novamente pela depuração. Com seu próprio dinheiro.

6. Este NÃO é um problema local de um especialista. Eu defendo que todos, ou pelo menos muitos EAs, podem simplesmente não pegá-lo, pois não há um sistema de captura de erros ligado aos meus EAs. Daí que a otimização NÃO pode ser transferida para o real, pois os pedidos não serão abertos e fechados da mesma forma e nem sempre. Daí decorre que as pessoas estarão perdendo tempo e dinheiro.

7. Eu realmente não acredito que este seja um problema da EA. Aponte onde está, se eu estiver errado. Você pode mudar a lógica do especialista, não se trata de lógica.

Aqui.
 
Quark, executamos seu EA em uma máquina de teste com um terminal conectado à alpari. colocamos em 11 pent ups diferentes. estamos prontos para esperar o resultado até o final. assim que a situação descrita surgir, pressionaremos o botão de depuração. portanto, nenhuma resposta não significa falta de atenção. repito, lemos TODOS os posts em nosso fórum e analisamos TODOS os posts. e não somos robôs de e-mail que respondem estupidamente com uma "sua mensagem foi lida e anotada". desculpe.
 
Sobre o contexto comercial - se você olhar o código EA, ele primeiro espera nMagic * 10 segundos, o que lhe garante um exclusivo 10 segundos, depois define o semáforo global (que garante que outros EAs serão pendurados). E só então ele negocia.

Roche, aqui estão os logs para hoje, com um atraso em ciclo após OrderSend e OrderClose de 10000ms. Parece eliminar suspeitas de conflito devido ao tempo e contexto (que não deveria estar lá de qualquer forma):

Tentando fechar posição curta, bilhete: 1827283
9.9.2005 10:13:20 Ordem com este bilhete ainda presente, tentando novamente
9.9.2005 10:13:48 Sem mais ordens com este bilhete Não

Na segunda tentativa :(

9.9.2005 0:14:54 Tentando comprar, tentativa 0
Licitação: 1.24490000, StopLoss: 0.00700000, TakeProfit: 0.00000000 falhou, erro 6
9.9.2005 0:15:4 Tentando comprar, tentativa 1
Licitação: 1.24470000, StopLoss: 0.00700000, TakeProfit: 0.00000000 bem sucedidol

Na segunda tentativa :(

9.9.2005 13:0:22 Tentando comprar, tentativa 0
Licitação: 1.23900000, StopLoss: 0.






Observe que o erro 6 (o mais informativo do mundo) apareceu somente na compra, no fechamento não houve erro. É verdade que houve um erro de ping no registro, mas o especialista não sabe disso...
 
Quark, executamos seu EA em uma máquina de teste com um terminal conectado à alpari. colocamos em 11 pent ups diferentes. estamos prontos para esperar o resultado até o final. assim que a situação descrita surgir, pressionaremos o botão de depuração. Repito, lemos TODAS as mensagens em nosso fórum, e analisamos TODAS elas.


Eles dizem que se uma pessoa está falando com Deus, tudo bem. Mas se Deus começar a responder, isso é um problema :) Mas estou feliz de qualquer forma :)

Apenas um lembrete de que o Expert Advisor não negociará em negócios de 5 minutos por padrão. Há um relógio codificado lá dentro, você tem que mudá-lo.
Também não tenho idéia de como é fácil pegar isto em 5 minutos. Também :) se os testes como você descreveu, os ciclos devem ser proibidos, pois são projetados para amortecer o erro. É claro que haverá uma entrada nos registros, mas pode ser tarde demais para apertar o botão.

Finalmente, acho que podemos acrescentar a mesma lógica (chamada das minhas funções em vez de OrderSend e OrderClose) a outros EAs. Por uma questão de consistência. Acho que também serei capaz de pegar algo.

Boa sorte,
Quark
 
Quark, executamos sua EA em uma máquina de teste com um terminal conectado a alpari. colocamos em 11 pentímetros diferentes. estamos prontos para esperar o resultado até o final. assim que a situação descrita surgir, pressionaremos o botão de depuração. portanto, nenhuma resposta não significa falta de atenção. Repito, nós lemos TODAS as mensagens em nosso fórum e analisamos TODAS as mensagens. e não somos robôs de correio que estúpidamente respondem "sua mensagem foi lida e anotada". desculpe.
provavelmente também lhe enviarei o código - além deste bug que eu tenho é permitido trabalhar...
 
Provavelmente também lhe enviarei o código - além deste bug, meu istrade também o impede de funcionar...

envie para mim. isso é o que estamos pegando
 
Mencionei anteriormente que não me propus a pegar problemas com pedidos pendentes. Mas eu tenho um simples solucionador de problemas :) e ele pegou um deles (erro 6). Estou colando o código abaixo.

Gostaria de enfatizar que este código não depende de nenhuma condição, exceto para o acionamento da segunda de duas ordens pendentes. Portanto, este código foi chamado novamente uma hora depois (eu estava fora de minha casa) e a ordem pendente foi apagada. A mensagem de alerta persistiu.

Portanto, o sistema funcionou desta vez, sem reiniciar o terminal. Não excluo que outros casos (com pedidos urgentes) também resultem do desligamento temporário do terminal.

Isto concorda com o fato de que ao repetir o pedido de operação no loop, você pode ter sucesso no segundo, terceiro e assim por diante.

	if(nNumOfOpenedOrders > 0) { for(nCnt = OrderTotal() - 1; nCnt >= 0; nCnt--) { OrderSelect(nCnt, SELECT_BY_POS, MODE_TRADES); if(OrderMagicNumber() == nMagic && 
				(OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP)) { bool bResult = OrderDelete(OrderTicket()); if(bResult == false) { int nError = GetLastError(); Alert("SimpleBreak " + Símbolo() + " erro: "} } + nError); } } }
 
Quark, um milagre aconteceu =)
Seu especialista abriu uma posição =))))

Todos os 8 estão pairando no relógio há muito tempo e ninguém está negociando... E agora às 15:00 horas na Alpari uma vaga aberta. Isto é normal?)
 
Quark, um milagre aconteceu =)<br/ translate="no"> Seu especialista abriu uma posição =))))

Todos os 8 estão pairando no relógio há muito tempo e ninguém está negociando... E assim, às 15h, a Alpari abriu uma posição. Isto é normal?)


Abriu para mim também, e aos 15 :)
A posição anterior, também com sucesso, foi aberta em USDCAD 23.08.

Na verdade, é um bom Expert Advisor, e não falha na maioria das vezes. Assim como qualquer outro. Portanto, você pode reescrever o Expert Advisor, por exemplo, para reverter posições a cada hora - isso gerará mais negócios :) E haverá mais fracassos também.
Esta EA é apenas um exemplo a ser dado aos desenvolvedores. Caso contrário, todos eles falham de vez em quando. E você também, pelo que entendo, não é por causa do nosso código...