Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 974

 
Sprut112:

Che ne dite di questo?

Faccia così...

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:

fare questo...

No, ha funzionato quando ho aggiunto Step:) Grazie ancora!
 
Vladimir Karputov:

Fissare i blocchi di inizializzazione negli EA (OnInit() ).

Cosa esattamente? 0 avvertimenti. Ritorno 0 a
return(INIT_SUCCEED) se solo.
 
pivomoe:
Cosa c'è? Ritorno 0 su
return(INIT_SUCCEED) se solo.

Mostra il codice MQL5 completo della funzione OnInit() degli EA che non ricaricano. Mostra il codice MQL5 completo della funzione OnDeinit() degli Expert Advisors che non ricaricano. Gli Expert Advisors usano librerie di terze parti? Dll?

 
Vladimir Karputov:

Mostra il codice MQL5 completo della funzione OnInit() degli EA che non ricaricano. Mostra il codice MQL5 completo della funzione OnDeinit() degli EA che non ricaricano. Gli Expert Advisors usano librerie di terze parti? Dll?

Non uso nessuna Dll. Il codice di OnInit è lungo 1000 linee. C'è un'allocazione di memoria per le classi. Forse non tutta la memoria viene liberata in OnDeinit. Chiudere il terminale con una croce va bene, ma lo scheduler va bene solo il 90% delle volte.
 
pivomoe:
Non uso Dll. Il codice di OnInit è lungo 1000 linee. C'è un'allocazione di memoria per le classi. Forse non tutta la memoria viene liberata in OnDeinit. Chiudere il terminale con una croce va bene, ma lo scheduler funziona bene solo il 90% delle volte.

Hai già risposto al 90% della tua domanda. Non resta che trovare l'errore :)

 
Per favore, consigliate come assegnare esplicitamente ad ogni ordine un magik diverso.
Per esempio.
Per esempio, dobbiamo impostare
Ordine Buy_Stop e assegnargli magic_1
ordinare Buy_Stop e assegnargli magic_2
Ordine Buy_Stop e impostare il suo magic_3

In modo che quando si modificano gli ordini si possa specificare esplicitamente quale ordine modificare.

se un ordine Buy_Stop == wizard_2, lo modifica.

 

Buon pomeriggio.

Ho delle domande in relazione all'assenza di Sleep() nel tester. Mi piacerebbe sapere come le persone risolvono i seguenti problemi quando usano lo strategy tester (sia le corse singole che l'enumerazione dei parametri di input):

1) Come controllano se una maniglia dell'indicatore è pronta? Come farei ad aspettare che il calcolo dell'indicatore sia completo, e solo allora passare alle linee.

2) Come faccio ad aspettare che il file di testo chiamato si apra in lettura durante l'EA?

3) Come aspettare la risposta della funzione OrdersTotal()? E può esserci un ritardo nella risposta di questa funzione?

4) Come aspettare che la funzione OrderCalcMargin() risponda? E può esserci un ritardo nella risposta di questa funzione?

5) Ha senso aspettare il"trade server return code" attraverso MqlTradeResult nel tester (anche se non è chiaro come).

Nel terminale tutti questi compiti sono stati risolti usando Sleep(), mentre non funziona nel tester. Inoltre, non sono sicuro di aver bisogno di Sleep() esattamente, forse c'è qualche soluzione razionale?

Grazie.

 

Ciao, scomponi la costruzione in se... C= (i>0) ? (A>B) ? 1 : (A<B) ? 2 : C: 0;

leggere l'aiuto - ma non ci è riuscito)

 
Tango_X:

Ciao, scomponi la costruzione in se... C= (i>0) ? (A>B) ? 1 : (A<B) ? 2 : C: 0;

leggere l'aiuto - ma non ci è riuscito)

Sembra così:

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

S.S. Non ha niente a che vedere con l'aiuto. Si tratta di logica.