Inicializar e reinicializar automaticamente a EA a partir de um arquivo - página 6

 
Romal001:
Boa noite me diga a qualidade de testar o robô por quantos anos ele não deve ter perdas?????????? Se você puder responder a esta solicitação, por favor, envie-me como mensagem particular, obrigado antecipadamente!
Dada a baixa qualidade dos dados históricos, independentemente de sua fonte, mesmo alguns anos não é um indicador. O Expert Advisor deve ser otimizado e testado para um corretor particular, mas não se esqueça que o corretor "particular" tem muitos "buracos" na história. Portanto, os testes dependem do cronograma em que a EA opera. Se no M1-M5, então 6-12 meses são suficientes para conclusões. Se na M15 e mais adiante, precisamos de 12 meses para testar e esperar que os dados históricos estejam corretos. E nenhum Ducascopy e afins nos salvará aqui.
 
Vasiliy Sokolov:
Você não está empurrando sua experiência mítica para aqui. Muitos têm experiência comercial real, inclusive com o FORTS, inclusive com o uso do MetaTrader 5. Se os comerciantes não têm dinheiro no FORTS, eles têm que negociar no FORTS, e então eles não podem negociar no FORTS no mercado real.

A respeito da experiência de Michael.

Há mais de um ano, ele e eu trocamos serviços. Eu lhe prestei um serviço, e em troca ele me escreveu um EA para MT5 FORTS. Durante o ano houve quedas na bolsa de valores, quedas de energia elétrica e falhas nas conexões, mas o robô que ele escreveu nunca cometeu um único erro.

O único impacto sobre o dinheiro foi quando o servidor da Bolsa falhou devido ao excesso de transações, mas isto se deve ao fato de que os desenvolvedores ainda não fizeram um código de retorno normal do servidor comercial.

Discutimos este assunto com ele e eu não queria bloquear o código de retorno do EA em pedido inválido porque o servidor comercial, às vezes, em operação normal, retorna este código de retorno (código 10013).

Se você acha que este é um problema engenhoso que só se encontra em sua cabeça, então, por favor, aconselhe como contorná-lo.

 
kond777:

A respeito da experiência de Michael.

Há mais de um ano, ele e eu trocamos serviços. Eu lhe prestei um serviço, e em troca ele me escreveu um EA para MT5 FORTS. Durante o ano houve quedas na bolsa de valores, quedas de energia elétrica e falhas nas conexões, mas o robô que ele escreveu nunca cometeu um único erro.

O único golpe no dinheiro foi quando o servidor da Bolsa falhou por causa do excesso de transações, mas isto se deve ao fato de que os desenvolvedores ainda não fizeram um código de retorno normal do servidor comercial.

Discutimos este assunto com ele e eu não queria bloquear o código de retorno do EA em pedido inválido porque o servidor comercial, às vezes, em operação normal, retorna este código de retorno (código 10013).

Se você acha que este é um problema de contorno que só se encontra em sua cabeça, então, por favor, aconselhe como contorná-lo.

Você não precisa rever algo sobre a experiência de Mihail se ele já disse que seus EAs na Inite são estupidamente eliminados e então começar de novo, e isto acontece a cada partida. Do que há para se falar?

Não podemos aconselhar sobre nada porque o alcance completo deste lixo não é desconhecido nem em sua mente nem na mente de seus defensores. Aqui você escreveu "bloquear o Expert Advisor por código de retorno". Por que bloqueá-lo de forma alguma? Você tem que fazer a coisa certa. Você tem lá seus próprios princípios especiais de programação EA (ninguém viu o código e é pouco provável que o veja), então pense por si mesmo como lidar com suas próprias situações especiais.

 
Romal001:
Boa noite me diga a qualidade de testar o robô por quantos anos ele não deve ter perdas?????????? Se você puder me dizer a resposta em uma mensagem particular, obrigado antecipadamente!
Pode ser. Sem perder negócios, é irrealista e suspeito.
 
Dmitry Fedoseev:

Por que nos contar mais sobre a experiência de Mikhail quando ele mesmo já nos disse que seus EAs na Inite estúpidamente eliminam pedidos e depois recomeçam tudo de novo, e assim por diante a cada partida. Do que há para se falar?

Não podemos aconselhar sobre nada porque o alcance completo deste lixo não é desconhecido nem em sua mente nem na mente de seus defensores. Aqui você escreveu "bloquear o Expert Advisor por código de retorno". Por que bloqueá-lo de forma alguma? Você precisa fazer a coisa certa. Você tem lá seus próprios princípios especiais de programação EA (ninguém viu o código e é pouco provável que o veja), então pense por si mesmo como lidar com suas próprias situações especiais.

 
Sim. Fotos coloridas para adultos são argumentos muito fortes.
 
Dmitry Fedoseev:

Por que nos contar mais sobre a experiência de Mikhail quando ele mesmo já nos disse que seus EAs na Inite estúpidamente eliminam pedidos e depois recomeçam tudo de novo, e assim por diante, a cada partida. Do que há para se falar?

Não podemos aconselhar sobre nada porque o alcance completo deste lixo não é desconhecido nem em sua mente nem na mente de seus defensores. Aqui você escreveu "bloquear o Expert Advisor por código de retorno". Por que bloqueá-lo de forma alguma? Você precisa fazer a coisa certa. Você tem lá seus próprios princípios especiais de programação EA (ninguém viu o código e é pouco provável que o veja), então pense por si mesmo como lidar com suas próprias situações especiais.

Eu não estou defendendo ninguém, estou apenas declarando os fatos à minha disposição.

Voltando ao erro nos códigos de retorno. Michael sugere suspender a EA após três solicitações, citando que isso é uma supervisão por parte dos desenvolvedores

https://www.mql5.com/ru/forum/58012/page2#comment_2017705

Eu, como você, acredito que não vale a pena parar o trabalhador da EA, então como você acha que o problema mencionado no link acima pode ser resolvido?

ФОРТС: OnTradeTransaction() коды возврата
ФОРТС: OnTradeTransaction() коды возврата
  • www.mql5.com
Сейчас, коды возврата торгового сервера функции OnTradeTransaction() выглядят так:. - Страница 2 - Категория: автоматические торговые системы
 

Obviamente, se:

Когда "подглючивает" сервер МТ5 или сбой на бирже, то происходит следующее:

O examinador envia ordens para apagar uma ordem EXISTENTE e a resposta retorna

"Pedido inválido"!!!! E o EA continua "batendo" no servidor com ordens de exclusão

da ordem.

Então você tem que continuar batendo. Não há necessidade de bloquear o Expert Advisor. Talvez a quantidade de erros aumente e o intervalo de tempo entre tentativas aumente. A solução mais fácil é fazer várias tentativas e pausas até que o próximo bar abra.

 
Dmitry Fedoseev:

Já foi escrito aqui - recalcule tudo de novo. Isto é, analisar a situação com os pedidos. Para armazenar alguns dados em arquivos ou de qualquer outra forma (talvez em variáveis globais) - não é importante. O ponto principal é que, se alguns dados forem necessários, eles são armazenados em encadernação com as notas de encomenda, e neste caso não há problema com dados desatualizados - temos encomenda - temos dados, não temos encomenda - não temos dados. Pode haver dados não vinculados a uma ordem específica, mas temos que pensar em cada caso e é um problema resolúvel.

A limpeza é realmente o problema mais complicado. Mas não é um problema de armazenamento de dados a longo prazo (ou sua obsolescência), podemos armazenar dados em variáveis simples no Expert Advisor (um pouco arriscado, mas apenas por 5 minutos). A dificuldade aqui é como lidar com isso mais tarde. Podemos criar um grupo de variáveis terminais globais para cada pedido e armazenar o preço de abertura nelas. Então, quando as ordens não marcadas aparecem (ou na abertura de um novo dia), olhamos para as últimas ordens fechadas na história, combinamos de acordo com aquelas características que podem ser usadas (por exemplo, lote) e redefinimos todas as variáveis globais desde a ordem fechada até a nova ordem.

Obrigado. A idéia principal é clara. Pensei que houvesse uma solução simples e universal para todas as situações.
 
Andrey Khatimlianskii:

Concordo com os oradores anteriores (quase todos eles).

  1. Restauramos tudo o que podemos do ambiente do mercado.
  2. Tudo o resto é armazenado com uma referência a algo (bilhete de pedido, horário de início do dia, etc.).
Basta definir uma "data de expiração" diferente para cada uma das variáveis armazenadas (não pode ser a mesma para todas), e carregar somente se não tiver expirado.

Em seu exemplo com o número de aplicações: basta adicionar mais uma variável - a hora de início do último dia. O dia mudou - o contador foi reajustado e a nova data foi registrada.

Para o exemplo com a reabertura de uma posição: você precisa decidir quais eventos podem tornar estas informações inutilizáveis. Por exemplo, como Mikhail aconselhou - se não houver posição, basta esquecer tudo, e se houver, considerar as informações atualizadas.

Em geral, o que é necessário não é uma receita geral, mas específica.

Estou vendo.

Especificidades: amanhã vou pensar em como conseguir uma posição na FORTS. Na verdade, o que eu preciso acima de tudo é saber o preço real de abertura de uma posição que se desobstruiu (reabriu ao preço de desobstrução).

A posição na FORTS é obtida pela soma dos negócios em uma (ou mais ordens). Na compensação há um comércio técnico sem bilhete, precisamos descobrir como determinar o preço POSITION_PRICE_OPEN que era antes da compensação.