Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 974

 
Sprut112:

E que tal isto?

Faça-o assim...

double Freeus =AccountInfoDouble(ACCOUNT_MARGIN_FREE)* MaximumRisk 
               /SymbolInfoDouble(symbol_name[ir],SYMBOL_TRADE_TICK_VALUE)/ 1000;
  input_lots = NormalizeDouble(MathRound(Freeus) * SymbolInfoDouble(symbol_name[ir], SYMBOL_VOLUME_STEP),dg);
 
xxz:

fazer isto...

Não, funcionou quando acrescentei Passo:) Mais uma vez obrigado!
 
Vladimir Karputov:

Fixar blocos de inicialização em EAs (OnInit() ).

O quê exactamente ? 0 avisos. Voltar 0 para
return(INIT_SUCCEED) if only.
 
pivomoe:
O que é que isso tem ? Devolver 0 em
return(INIT_SUCCEED) if only.

Mostrar o código MQL5 completo da função OnInit() dos EAs que não recarregam. Mostrar código MQL5 completo da função OnDeinit() dos Expert Advisors que não recarregam. Os Consultores Especialistas utilizam bibliotecas de terceiros? Dll?

 
Vladimir Karputov:

Mostrar o código MQL5 completo da função OnInit() dos EAs que não recarregam. Mostrar o código MQL5 completo da função OnDeinit() dos EAs que não recarregam. Os Consultores Especialistas utilizam bibliotecas de terceiros? Dll?

Eu não uso nenhum Dll. O código do OnInit tem 1000 linhas. Há alocação de memória para as aulas. Talvez nem toda a memória seja libertada no OnDeinit. Fechando o terminal com uma cruz está bem, mas o programador está bem apenas 90% do tempo.
 
pivomoe:
Eu não uso o Dll. O código do OnInit tem 1000 linhas. Há alocação de memória para as aulas. Talvez nem toda a memória seja libertada no OnDeinit. Fechar o terminal com uma cruz está bem, mas o programador funciona bem apenas 90% do tempo.

Já respondeu a 90% da sua pergunta. Só falta encontrar o erro :)

 
Por favor, aconselhar como atribuir explicitamente a cada encomenda um magik diferente.
Por exemplo.
Por exemplo, precisamos de criar
Comprar_Parar encomenda e atribuir-lhe magic_1
Encomendar Buy_Stop e atribuir-lhe magic_2
Buy_Stop order and set its magic_3 to it

Para que ao modificarmos ordens, possamos especificar explicitamente qual a ordem a modificar.

se uma encomenda Buy_Stop == wizard_2, modifique-a.

 

Boa tarde.

Tenho perguntas relacionadas com a ausência de Sono() no testador. Gostaria de saber como as pessoas resolvem os seguintes problemas ao utilizar o testador de estratégia (tanto as execuções únicas como a enumeração dos parâmetros de entrada):

1) Como verificam se um cabo indicador está pronto? Como me faria esperar até o cálculo do indicador estar completo, e só depois passar para as linhas.

2) Como posso esperar que o ficheiro de texto chamado a abrir para leitura durante a EA?

3) Como esperar pela resposta da função OrderTotal()? E pode haver um atraso na resposta a esta função?

4) Como esperar pela função OrderCalcMargin() para responder? E pode haver um atraso na resposta a esta função?

5) Faz sentido esperar pelo"trade server return code" através do MqlTradeResult no testador (mesmo que não seja claro como).

No terminal todas estas tarefas foram resolvidas usando Sleep(), enquanto não funciona no testador. Além disso, não tenho a certeza de precisar de dormir() exactamente, pode haver alguma solução racional?

Obrigado.

 

Olá! decompor a construção em se... C= (i>0) ? (A>B) ? 1 : (A<B) ? 2 : C: 0;

ler a ajuda - mas falhou)

 
Tango_X:

Olá! decompor a construção em se... C= (i>0) ? (A>B) ? 1 : (A<B) ? 2 : C: 0;

ler a ajuda - mas falhou)

É o que parece:

C=xxx;
if(i>0)
  {
   if(A>B)
     {
      C=1;
     }
   else
     {
      if(A<B)
        {
         C=2;
        }
      else
        {
         C=C;
        }
     }
  }
else
  {
   C=0;
  }

S.S. Não tem nada a ver com a ajuda. É uma questão de lógica.