Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 384

 
le0nid2014:
...

if (OrdersTotal() == 0 && ********** )

OrderSend("USDCHF",OP_BUY,Lots,Ask,0,0,0, "5891",MagicNumb,0,Red);


if (OrdersTotal() == 0 && ***********)

OrderSend("USDCHF",OP_SELL,Lots,Bid,0,0,0, "58892",MagicNumb,0,Red);

...
State guardando nella direzione sbagliata. Tutto vi è già stato detto. Ho anche dato un esempio astratto sopra. O è troppo pigro per fare una ricerca?
 
Artyom Trishkin:
Se hai due Expert Advisors, dovrebbero avere la stessa procedura guidata. Dovrebbero essere lanciati su diversi grafici per un simbolo. In generale, ovviamente, è più facile migliorare quello principale che iniziarne un altro.

Non posso migliorarlo, viene dal mercato.

Non posso usarlo su 2 grafici perché non riesco a trovare condizioni adatte. Aprirà ordini in 2 direzioni quando ne rimangono 0.

 
Artyom Trishkin:

Bene, il controllo è una chiamata di funzione che restituisce una bandiera:

if(!Function_check_open_position(symbol,OP_BUY,magic)) function_open_position(symbol,OP_BUY,Lots,stop_loss,take_profit,magic,comment);
if(!Function_check_open_position(symbol,OP_SELL,magic)) Function_open_position(symbol,OP_SELL,Lots,stop_loss,take_profit,magic,comment);

Qui, per prima cosa, se abbiamo bisogno di scoprire se c'è un ordine che segue il codice di nuovo, dovremo chiamare la funzione ancora una volta. E se memorizziamo il valore nelle variabili, possiamo passarle ulteriormente senza chiamare di nuovo la funzione. In secondo luogo, è una questione di gusto, non mi piace fare costruzioni complesse, soprattutto se ci sono poche condizioni o molti argomenti sono passati a una funzione. Peggiora la comprensione del codice.
 
Vitalie Postolache:
Sì, il mio errore è venuto fuori quando si parla di "no inludes", questa caratteristica è solo nell'inluder Trade.mqh.

Nessun problema, ho chiuso con quello opposto.

La fine è scritta in un batter d'occhio, ci vuole più tempo per fare un segnale.

sulla 4-rka sembra essere peggiore da questo punto di vista....

e quel multicurrency è una bellezza, non posso credere ai miei occhi.

BRAVO agli sviluppatori! //la transizione per la prima volta è stata esattamente di 1 giorno.

 
Tapochun:
Prima di tutto, se volete scoprire se c'è ancora un ordine, dovrete chiamare di nuovo la funzione. E se volete memorizzare il valore in variabili, potete passarle ulteriormente senza chiamare di nuovo la funzione. In secondo luogo, è una questione di gusto, non mi piace fare costruzioni complesse, soprattutto se ci sono poche condizioni o molti argomenti sono passati a una funzione. Peggiora la comprensione del codice.
A giudicare dalla domanda, non c'è altro di cui hai bisogno.
 
le0nid2014:

Non posso migliorarlo, viene dal mercato.

Non posso usarlo su 2 grafici perché non riesco a trovare condizioni adatte. aprirà ordini in 2 direzioni quando ce ne sono 0.

Ti ho già detto come implementarlo e come aprire gli ordini in 2 direzioni. Vi è già stato detto come fare.
 
Artyom Trishkin:
A giudicare dalla domanda, non c'è bisogno di altro.
Iprogetti si stanno espandendo, si dovrebbe cercare di pensare in anticipo.
 
Tapochun:
I progetti si stanno espandendo,

Artyom Trishkin:
Dovrebbe funzionare su un grafico, e il secondo - uno semplice che apre due posizioni - sull'altro. Vi è già stato detto come fare.

Non sei un po' inadeguato,addio.

 
Tapochun:
I progetti sono in espansione, bisogna cercare di pensare in anticipo.

Sì, grazie per la scienza. Ci penserò sicuramente...

ZS. Cosa impedisce allora di restituire il controllo non in una condizione, ma in una variabile e già controllarlo? Probabilmente la complessità più selvaggia di questo progetto in futuro...

E un'altra cosa: se il progetto viene ampliato, anche il tempo di esecuzione del codice può aumentare. Di conseguenza, ci saranno molti calcoli da eseguire dopo che i dati sono stati scritti nella variabile. Quindi, non è possibile che nel momento in cui abbiamo bisogno di un secondo controllo, l'ordine sarà già stato chiuso (a uno stop, per esempio... o prendere...), e il programma calcolerà quindi un valore errato memorizzato nella variabile?

Esattamente - dobbiamo pensare in anticipo ai grandi progetti e a tutte le possibili situazioni che possono verificarsi. Quindi rimango della mia convinzione: avere sempre i dati più recenti prima di usarli. Per quanto possibile.

 

le0nid2014:

Sei un po' inadeguato,addio.

Stai parlando con me? Va bene, buona giornata. Ma tornerete a quello che ho suggerito alla fine, unendovi così alla schiera degli inadeguati.