VIX XIV: Buona sera. Come dovrebbe essere il codice che troverà l'ultimo ordine chiuso? Assomiglia a questo: "OrderSelect(OrdersHistoryTotal, SELECT_BY_POS, MODE_HISTORY"?
Questo è l'aspetto approssimativo del tuo blocco:
int a=-1;
for(int is=OrdersHistoryTotal(); is>=0; is--)
{
if(OrderSelect(is, SELECT_BY_POS, MODE_HISTORY))
{
if(OrderType()==OP_BUY) {a=OrderType(); break;}
if(OrderType()==OP_SELL){a=OrderType(); break;}
}
}
if(a==OP_BUY) Comment("È stato trovato l'ultimo ordine di acquisto chiuso nella lista;)
if(a==OP_SELL) Comment("È stato trovato l'ultimo ordine di vendita chiuso nella lista;)
Ho letto molto tempo fa che non c'è garanzia nella disposizione cronologica degli ordini in OrdersHistoryTotal, e bisogna controllare in base alla data di chiusura.
Potresti rendere umanamente possibile l'inserimento del codice come codice nell'editor MT?
Nessuno dei tuoi pulsanti funziona come voglio io.
C'è un modo complicato. Copia e incolla tutto quello che vuoi da qualsiasi codice. E incollate il vostro codice lì dentro. Meno l'evidenziazione non funziona in questo modo))))
if(OrderSelect(is,SELECT_BY_POS,MODE_TRADES)) Это чужой код и его можно править))))
Per la prima domanda, dovete fare una funzione come questa:
for(int is=OrdersTotal()-1; is>=0; is--)
{
if(OrderSelect(is,SELECT_BY_POS,MODE_TRADES))
{//Chiudi gli ordini che sono stati aperti il venerdì della settimana che non è quella corrente. In questo caso, non chiudiamo gli ordini il venerdì della settimana corrente.
if (OrderType()==OP_BUY) result=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(nameSym,MODE_BID),MarketInfo(nameSym,MODE_DIGITS)),3,CLR_NONE);
if (OrderType()==OP_SELL) result=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(nameSym,MODE_ASK),MarketInfo(nameSym,MODE_DIGITS)),3,CLR_NONE);
Ciao Qualcuno può spiegare come funziona il trailing take profi? Ci sono alcune informazioni su Trailing Stop nella guida di MT5, ma non ci sono informazioni su Trailing Profit. Quando imposto "Stop Loss trailing level (in punti)" nel mio Expert Advisor, per esempio, a 100, capisco che il trailing profit sarà attivato quando il prezzo passa 100 punti nella direzione richiesta. Ma cosa significa "Take Profit trailing level (in punti)" = 10?
altec3: Ciao! Qualcuno può spiegare il principio del trailing take profi? Non riesco a trovare alcuna informazione su Trailing Stop nella MT5 Reference. Quando imposto "Stop Loss trailing level (in punti)" nel mio Expert Advisor, per esempio, a 100, capisco che il trailing profit sarà attivato quando il prezzo passa 100 punti nella direzione richiesta. Ma cosa significa "Take Profit trailing level (in punti)" = 10?
Il TakeProfit è calcolato in pip e il Trailing TakeProfit è calcolato nella valuta del deposito. Trailing TakeProfit è il profitto nella valuta del deposito da uno o più ordini, e mette gli stop degli ordini nella quantità specificata nelle impostazioni, cioè ad una distanza calcolata.
Per esempio, il Trailing Take Profit in $100 è specificato nelle impostazioni. Una volta che il prezzo raggiunge il profitto di 100$ e va oltre, il programma calcola la distanza di 100$ e piazza tutti gli stoploss degli ordini nel punto calcolato, se lo permette. Non appena il prezzo torna agli stop, tutti gli ordini saranno chiusi. In linea di principio questo è lo stesso del Trailing Stop, solo che è calcolato in valuta depo e segue il profitto. Forse ho fatto un errore da qualche parte, ma il principio è questo. Spero di essermi spiegato.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Buona sera. Come dovrebbe essere il codice che troverà l'ultimo ordine chiuso? Assomiglia a questo: "OrderSelect(OrdersHistoryTotal, SELECT_BY_POS, MODE_HISTORY"?
Questo è l'aspetto approssimativo del tuo blocco:
int a=-1;
for(int is=OrdersHistoryTotal(); is>=0; is--)
{
if(OrderSelect(is, SELECT_BY_POS, MODE_HISTORY))
{
if(OrderType()==OP_BUY) {a=OrderType(); break;}
if(OrderType()==OP_SELL){a=OrderType(); break;}
}
}
if(a==OP_BUY) Comment("È stato trovato l'ultimo ordine di acquisto chiuso nella lista;)
if(a==OP_SELL) Comment("È stato trovato l'ultimo ordine di vendita chiuso nella lista;)
Ho letto molto tempo fa che non c'è garanzia nella disposizione cronologica degli ordini in OrdersHistoryTotal, e bisogna controllare in base alla data di chiusura.
@Valerius, non puoi inserirlo come codice? O cosa manca?
@Valerius, non puoi inserirlo come codice? O cosa manca?
Potreste rendere umanamente possibile l'inserimento di codice come codice nell'editor di MT?
Nessuno dei vostri pulsanti funziona come mi serve.
Potresti rendere umanamente possibile l'inserimento del codice come codice nell'editor MT?
Nessuno dei tuoi pulsanti funziona come voglio io.
C'è un modo complicato. Copia e incolla tutto quello che vuoi da qualsiasi codice. E incollate il vostro codice lì dentro. Meno l'evidenziazione non funziona in questo modo))))
Per la prima domanda, dovete fare una funzione come questa:
{Print("Errore durante la selezione dell'ordine", GetLastError();}
Per la seconda domanda, ci dovrebbe essere la seguente voce:
OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(MarketInfo(nameSym,MODE_ASK)), 3, clrNONE);
Buona fortuna.
Grazie! Ha funzionato come previsto sulla prima domanda
Sul secondo - numero errato di parametri. Corretto - OrderClose(OrderTicket(),OrderLots(),Ask,3,CLR_NONE);
Solo che ora non ho capito bene la modifica della mia prima variante (l'ho copiata da qualche parte)...
Qualcuno può spiegare come funziona il trailing take profi? Ci sono alcune informazioni su Trailing Stop nella guida di MT5, ma non ci sono informazioni su Trailing Profit. Quando imposto "Stop Loss trailing level (in punti)" nel mio Expert Advisor, per esempio, a 100, capisco che il trailing profit sarà attivato quando il prezzo passa 100 punti nella direzione richiesta. Ma cosa significa "Take Profit trailing level (in punti)" = 10?
Ciao!
Qualcuno può spiegare il principio del trailing take profi? Non riesco a trovare alcuna informazione su Trailing Stop nella MT5 Reference. Quando imposto "Stop Loss trailing level (in punti)" nel mio Expert Advisor, per esempio, a 100, capisco che il trailing profit sarà attivato quando il prezzo passa 100 punti nella direzione richiesta. Ma cosa significa "Take Profit trailing level (in punti)" = 10?
Il TakeProfit è calcolato in pip e il Trailing TakeProfit è calcolato nella valuta del deposito. Trailing TakeProfit è il profitto nella valuta del deposito da uno o più ordini, e mette gli stop degli ordini nella quantità specificata nelle impostazioni, cioè ad una distanza calcolata.
Per esempio, il Trailing Take Profit in $100 è specificato nelle impostazioni. Una volta che il prezzo raggiunge il profitto di 100$ e va oltre, il programma calcola la distanza di 100$ e piazza tutti gli stoploss degli ordini nel punto calcolato, se lo permette. Non appena il prezzo torna agli stop, tutti gli ordini saranno chiusi. In linea di principio questo è lo stesso del Trailing Stop, solo che è calcolato in valuta depo e segue il profitto. Forse ho fatto un errore da qualche parte, ma il principio è questo. Spero di essermi spiegato.