Especialistas: ManualTradeOnStrategyTester - página 2

 

Bom e perfeito. O Excel funciona bem.
MAS, depois de dois dias, recebi essa mensagem de spam

2016.08.16 16:19:08.052 2016.01.04 00:25:00 EA detectou erro: 1004 -- EA Aborted!!! Por favor, feche o EA agora e cuide de suas entradas abertas.

que bloqueiam ordens

AJUDA!


 
Andrasdudu:

Bom e perfeito. O Excel funciona bem.
MAS, depois de dois dias, recebi essa mensagem de spam

2016.08.16 16:19:08.052 2016.01.04 00:25:00 EA detectou erro: 1004 -- EA Aborted!!! Por favor, feche o EA agora e cuide de suas entradas abertas.

that block orders

HELP!


O erro que você recebeu surgiu quando o EA recebeu uma ordem de comando do botão do Excel... de alguma forma, o EA não conseguiu executar a ordem e a mensagem "Order Not Sent" também deveria ter sido exibida:

//+------------------------------------+
//| Executar TRADE
//+------------------------------------+ 
bool ExecuteTrade(string Entry,double ThePrice,double lot) // Entrada = compra ou venda / retorna verdadeiro se for bem-sucedida.
  {
   bool success;

   success=true;

   MqlTradeRequest mreq; // para solicitação de envio de comércio.
   MqlTradeResult mresu; // obter o resultado da negociação.
   ZeroMemory(mreq); // Inicializar a solicitação de envio da negociação.

   Print("Order Initialized");
   mreq.action = TRADE_ACTION_DEAL;                                   // execução imediata da ordem
   if(Entry=="buy") mreq.price = NormalizeDouble(ThePrice,_Digits);   // deve ser o último preço de lance
   if(Entry=="sell") mreq.price = NormalizeDouble(ThePrice,_Digits);  // deve ser o último preço de venda
   mreq.symbol = _Symbol;                                             // par de moedas
   mreq.volume = lot;                                                 // número de lotes a serem negociados
   mreq.magic = 11119;                                                // Número mágico do pedido
   if(Entry=="sell") mreq.type = ORDER_TYPE_SELL;                     // Ordem de venda
   if(Entry=="buy") mreq.type = ORDER_TYPE_BUY;                       // Ordem de compra
   mreq.type_filling = ORDER_FILLING_FOK;                             // Tipo de execução da ordem
   mreq.deviation=100;                                                // Desvio do preço atual
//--- enviar pedido
   if(!OrderSend(mreq,mresu))
     {
      Alert("Order Not Sent: ",GetLastError());
      ResetLastError();
      success=false;
     }
.
.
.
.
   if(success==false)
     {
      Alert("Error ORDER FAILED!!! - error:1004");
      Arun_error=1004;
     }
   return(success);
  }

... não tenho certeza do que deu errado no seu processo... mas a única causa do erro que eu poderia pensar é algo na sua configuração do MT5... ou... na pasta de comando de origem para onde você enviou o texto dos arquivos de comando, provavelmente um comando de texto não é excluído adequadamente depois de ser usado ou informado pelo EA. Verifique a pasta "common" de origem do comando se ela responde adequadamente no seu Excel e no EA... se isso acontecer, deve haver algo no testador de estratégia do MT5 que não consegue detectar a ordem solicitada.

 

Olá, obrigado pelo Expert Advisor.

Quando pressiono start no testador de estratégia, o Visualizer abre e mostra uma grande mensagem "Waiting for update" (Aguardando atualização) e nada acontece.

Como posso resolver isso?


Obrigado...

 


Hi,

Tentei usar esse indicador também, mas recebi a mesma mensagem.

Registro de gravação:

1. 2020.04.18 21:14:44.766 strategytesterpracticetrade não é um indicador personalizado e será removido

2. 2020.04.18 21:14:44.766 cannot create indicator


Alguém pode resolver esse problema?

 


Ok, a solução é (veja a imagem).

Clique com o botão direito do mouse no ExpertMACD para abrir o menu de contexto no Navigator-> selecione "Testen" ou "Test".



Mas agora tenho outro problema.


Se houver um arquivo .txt chamado "sell.txt", "buy.txt" ou "close.txt" localizado em

Win10:

C:\Users\[User]\AppData\Roaming\MetaQuotes\Terminal\Common\Files

O MT5 abre toda vez que há uma nova ordem! Ele não fecha uma ordem se houver um close.txt localizado no caminho.

Acho que o problema está aqui no código:


// Se for encontrado um close.txt, ele fechará qualquer posição aberta com o tamanho máximo de volume indicado na posição. 
   if(FileIsExist("close.txt",FILE_COMMON))
     {

      FileDelete("sell.txt",FILE_COMMON);
      FileDelete("buy.txt",FILE_COMMON);
      FileDelete("close.txt",FILE_COMMON);

      if(OpenPosition()=="buy")
        {
         PositionSelect(_Symbol);
         JustifySize=NormalizeDouble(PositionGetDouble(POSITION_VOLUME),2);
         ExecuteTrade("sell",CurP,JustifySize);
        }

      if(OpenPosition()=="sell")
        {
         PositionSelect(_Symbol);
         JustifySize=NormalizeDouble(PositionGetDouble(POSITION_VOLUME),2);
         ExecuteTrade("buy",CurP,JustifySize);
        }
     }


Parece que o MT5 está reagindo de forma diferente do desejado nesta linha

if(OpenPosition()=="buy")

Arquivos anexados:
pic.jpg  98 kb
 
Recebi esta mensagem: EA aborted!
Arquivos anexados:
the_PR.png  38 kb
 
Olá, boa hora
Possibilidade de enviar esse aplicativo ou arquivo excel para mim
Porque eu não faço nada