Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1289

 
SanAlex:

Ho anche sperimentato - ho aperto la macchina fotografica e non potevo chiuderla - finché non ho ucciso il processo.

https://www.gunsmoker.ru/2015/01/avoid-using-ShellExecuteEx.html

Почему вам не следует использовать ShellExecute(Ex)
  • 2015.01.05
  • GunSmoker
  • www.gunsmoker.ru
В прошлый раз мы узнали, почему вам никогда не следует использовать функцию . В этот раз я расскажу вам о том, почему вам не следует использовать функцию . Заголовки этого и предыдущего постов выбраны крайне тщательно. Предыдущий пост говорил о том, что если вы пишете код в 1995 году или позднее, то вы не должны использовать функцию . Поскольку...
 

Potreste dirmi qual è il problema?

     if(buy_lots>0||sell_lots>0)
      ChartSetSymbolPeriod(0,Symbol(),PERIOD_M15);
     if(buy_lots==0||sell_lots==0)
      ChartSetSymbolPeriod(0,Symbol(),PERIOD_M5);

Se non ci sono ordini aperti, allora M5 è abilitato e tutto va bene,

Ma appena si apre un ordine, comincia a saltare M5,M15,M5,M15...

 
MakarFX:

Potreste dirmi qual è il problema?

Se non ci sono ordini aperti, allora M5 è abilitato e tutto va bene,

Ma appena apro un ordine, inizia a rimbalzare su M5, M15, M5, M15...

È proprio come dice, è così che succede.

O sostituire in quello inferiore con AND

 
Valeriy Yastremskiy:

È proprio come è scritto, è così che funziona.

O sostituire in basso con E

Grazie, l'ho fatto, ma il risultato è lo stesso

     if(buy_lots>0||sell_lots>0)
      ChartSetSymbolPeriod(0,Symbol(),PERIOD_M15);
     if(buy_lots+sell_lots==0)
      ChartSetSymbolPeriod(0,Symbol(),PERIOD_M5);
 
MakarFX:

Grazie, l'ho sostituito, ma il risultato è lo stesso.

  
      Alert("1 buy_lots ",buy_lots," sell_lots " sell_lots);
    if(buy_lots>0||sell_lots>0)
      ChartSetSymbolPeriod(0,Symbol(),PERIOD_M15);
     Alert("2 buy_lots ",buy_lots," sell_lots " sell_lots);
     if(buy_lots==0 && sell_lots==0)
      ChartSetSymbolPeriod(0,Symbol(),PERIOD_M5);

Quindi manca qualcosa. Quindi la somma dibuy_lots+sell_lots=0

E meglio dell'aggiunta. O Alert o Print per aiutare.

 
Valeriy Yastremskiy:

Quindi manca qualcosa. Quindi la somma dibuy_lots+sell_lots=0

E meglio dell'aggiunta. O Alert o Print per aiutare.

In che modo è meglio?

(0 == 0 e 1 == 0) - la condizione non è soddisfatta

(0 + 1 == 0) - anche la condizione non è soddisfatta

Qual è la differenza tra AND e addizione in questo particolare esempio?

 
MakarFX:

Grazie, l'ho sostituito, ma il risultato è lo stesso

Quindi controllare i valori buy_lots e sell_lots probabilmente perde i suoi valori da qualche parte.
 
Alexey Viktorov:
Quindi controllate i valori di buy_lots e sell_lots, probabilmente stanno perdendo i loro valori da qualche parte.

Stampa


Non è chiaro perché passa a M5

 
MakarFX:

Stampa


Non è chiaro perché si accende M5

Quando il TF viene commutato, l'EA viene riavviato. Provate a mettere le stampe sotto condizione, commutare e stampare. O viceversa.

E dovremmo sicuramente aggiungere il controllo del periodo nella condizione. Se si passa a M15, perché cambiare di nuovo?

 
Igor Makanu:

ecco perché si raccomanda di cercare di fare il lavoro EA esclusivamente con i vostri maghi

Se il compito è quello di aprire un ordine una volta al giorno ad una certa ora, l'algoritmo è il seguente:

- avviare EA, controlla il numero di ordini aperti, se l'ordine con il nostro mago è aperto, quindi uscire fino al prossimo tick

- se non ci sono ordini, l'EA aspetta che l'ora e i minuti correnti siano maggiori di quelli dati

- questo tempo è arrivato, EA controllerà la cronologia degli ordini e se non ha piazzato un ordine con il nostro magik, allora imposterà un ordine e uscirà - l'uscita è utile per non elaborare gli errori del server, se l'ordine non è stato impostato, allora al prossimo tick cercheremo di farlo di nuovo, cioè non è necessario organizzare un ciclo per l'apertura ripetuta dell'ordine su questo tick.... ma questa è una questione di gusti e obiettivi, è l'implementazione più semplice)))

Per favore, ditemi cosa significa EA nel vostro contesto. Voglio trovare e leggere più dettagli .....
Voglio trovarlo e saperne di più sul seguente sito web: Grazie.

Motivazione: