[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 576

 
Ekburg:

Aí é que está, tudo é normal! Configurei as impressoras para rastrear durante o teste quais valores são passados para a função de modificação, tudo é normal lá, a parada é diferente, nada desnecessário é jogado, tudo está dentro dos limites permitidos pelo servidor, e os oponentes no código acima não permitem passar os mesmos valores...

Tente verificar antes de modificar desta forma:

      double Erunda=16.0*Point;// от 12 для пятизнаков, от 2 для четырех
//
      if(MathAbs(OrderStopLoss()-sl)<Erunda && MathAbs(OrderTakeProfit()-tp)<Erunda){нет_необходимости_модифицировать;}
      else { модифицировать;}

 
Sepulca:

Tente fazer a verificação antes de modificá-la desta forma:


Quais são estas funções, para que servem? Nunca tinha visto ou usado uma antes.
 
Desead:

Estou ficando cansado de lutar com esta questão, todas as ordens pendentes não são apagadas normalmente, então eu uso este laço para apagá-las:

Eu até adicionei ao loop FOR FOR e WHILE todas as ordens pendentes ainda estão lá, elas não são apagadas. Há muitas ordens pendentes para apagar, cerca de 20, talvez isto seja algum tipo de dificuldade?

Aqui está um exemplo de eliminação de ordens, incluindo as pendentes (eu as apaguei com esta):

Nem todas as ordens pendentes estão presentes neste código (no filtro de seleção). Outra variante de erro: verifique os Magick recebidos por pedidos pendentes quando eles abrem (em seu próprio código).

 
Ekburg:

Obrigado. Procurei na base de código, encontrei algo, tentei substituí-lo, mudei-o desta forma e que, li milhares de linhas de código profissional, e não só isso, mas que dá erro 1 ao modificar e pronto, não sei o que fazer. Tenho enfrentado várias dificuldades para escrever e trabalhar com EAs, mas tento resolvê-las eu mesmo, caso contrário não teria uma boa experiência, li ajuda, reli livros didáticos, resolvi problemas e tive um pensamento um pouco diferente de quando comecei, mas não consegui resolver este problema sozinho, então me voltei para vocês, profissionais! Eu não escreveria Trailyn se não fosse necessário para o trabalho da EA:)
Deixe-me não acreditar em você (que você tenha relido tudo ou "lido assim") - a questão do erro nº 1 é abordada no tutorial e foi REALMENTE discutida no fórum. A resposta pode ser encontrada aqui.
 
Ekburg:

o resultado é o mesmo... quais são essas funções, para que servem? Nunca as vi ou usei antes


Não é uma função, é apenas uma verificação antes da modificação, se os valores SL ou TP são bem diferentes dos anteriores, nós modificamos. Não faz sentido modificar TP ou SL por uma tubulação, pelo menos para não incomodar a DC.
 
Sepulca:


Não é uma função, é apenas uma verificação antes da modificação, se os valores SL ou TP são suficientemente diferentes dos valores anteriores, então modifique. Não faz sentido modificar TP ou SL por uma tubulação, nem que seja apenas para evitar a irritante DT.

Obrigado, é uma boa idéia, vou usá-la de agora em diante.
 
TarasBY:
Deixe-me não acreditar (que você tenha relido tudo ou "lido assim") - a questão do erro nº 1 é abordada no livro didático e foi discutida REALMENTE no fórum. A resposta pode ser encontrada aqui.


é claro que não li tudo, mas li o livro de texto várias vezes para encontrar as causas do erro, mas parece que elas não estão no código... Vou olhar para seu link e mais uma vez ler o artigo inteiro sobre o assunto, obrigado pela ajuda, que você não marcou:)
 

Olá membros do fórum,

Decidi escrever um EA para mim mesmo. Estou lendo um tutorial sobre o mql4 porque eu negocio o MT4. E aqui está o interessante. arquivos mqh baixados deste tutorial abrem (automaticamente) no MetaEditor 5 (eu também tenho Mt5 instalado)! Isso significa que eles não vão trabalhar com a Mt4?

 
Ekburg:

Quais são estas funções, para que servem? Nunca tinha visto ou usado uma antes.


Não é uma função, é uma forma de comparar números não-normalizados. Eles não podem ser comparados entre si, mas o resultado de subtrair um do outro pode ser comparado a zero.

E o cheque que tenho é como este:

//+------------------------------------------------------------------+ 
 double ND(double nd){return(NormalizeDouble(nd,Digits));}
//+------------------------------------------------------------------+ 
if(ND(price)!=OrderOpenPrice()||ND(SL)!=OrderStopLoss()||ND(TP)!=OrderTakeProfit()||Expiration!=OrderExpiration())
   {
   OrderModify( int ticket, double price, double stoploss, double takeprofit, datetime expiration, color arrow_color=CLR_NONE);
}
else return;
     
 
lottamer:

Olá membros do fórum,

Decidi escrever um EA para mim mesmo. Estou lendo um tutorial sobre o mql4 porque eu negocio o MT4. E aqui está o interessante. arquivos mqh baixados deste tutorial abrem (automaticamente) no MetaEditor 5 (eu também tenho Mt5 instalado)! Isso significa que eles não irão trabalhar com a Mt4?


Tente compilá-lo e você vai descobrir.
Razão: