Molto utile. Grazie.
Steven
L'esempio successivo fallisce con un errore.
Programmatori, aiuto con mql5, per favore!!!
E' possibile utilizzare una normale funzione di trailing come in mql4 senza alcuna classe? Proprio come, ad esempio, la funzione TradeSizeOptimised è implementata in Moving Averages.mq5.
Ho già cercato di tutto, negli esempi, negli articoli, nel forum - non ho trovato nulla. Mi sono già perso completamente.... Forse qualcuno ha una variante pronta, gliene sarò molto grato!!! - Vorrei partecipare al campionato.
Programmatori, aiuto con mql5, per favore!!!
E' possibile utilizzare una normale funzione di trailing come in mql4 senza alcuna classe? Proprio come, ad esempio, la funzione TradeSizeOptimised è implementata in Moving Averages.mq5.
Ho già cercato di tutto, negli esempi, negli articoli, nel forum - non ho trovato nulla. Mi sono già perso completamente.... Forse qualcuno ha una variante pronta, gliene sarò molto grato!!! - Vorrei partecipare al campionato.
ecco a voi
int TrailingStop() { if(PositionSelect(Symbol())) // selezionare la posizione { //MqlTradeRequest m_request;// dichiarare la struttura della richiesta al server //MqlTradeResult m_result;// dichiarare la struttura di risposta del server double Bid = SymbolInfoDouble(Symbol(), SYMBOL_BID); // scrivere il prezzo dell'offerta nella variabile double Ask = SymbolInfoDouble(Symbol(), SYMBOL_ASK); // scrivere nella variabile ask price double OpenPrice=PositionGetDouble(POSITION_PRICE_OPEN); // scrivere il prezzo di apertura della posizione nella variabile double PositionSL=PositionGetDouble(POSITION_SL); // scrivere il livello di stop loss nella variabile double PositionTP=PositionGetDouble(POSITION_TP); // scrivere il livello di take profit nella variabile if((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY) // definire il tipo di posizione { if(TrailWhileMinus==true || Bid-OpenPrice>_Point*Trail) // non si può fare la pesca a strascico fino a quando non si raggiunge il pareggio con il primo trasferimento di tappa { if(Bid-PositionSL>Trail*_Point) //condizione di base per la necessità di spostare lo stop loss { //--- scrivere i dati nella struttura request.action = TRADE_ACTION_SLTP; request.symbol = Symbol(); request.sl = NormalizeDouble(Bid-Trail*_Point,_Digits); request.tp = NormalizeDouble(PositionTP,_Digits); //--- return(OrderSend(request,result)); // inviare la richiesta al server } } } else { if(TrailWhileMinus==true || OpenPrice-Ask>_Point*Trail) // non si può fare la pesca a strascico fino a quando non si raggiunge il pareggio con il primo trasferimento di tappa { if(PositionSL-Ask>Trail*_Point) //condizione di base per la necessità di spostare lo stop loss { //--- scrivere i dati nella struttura request.action = TRADE_ACTION_SLTP; request.symbol = Symbol(); request.sl = NormalizeDouble(Ask+Trail*_Point,_Digits); request.tp = NormalizeDouble(PositionTP,_Digits); //--- return(OrderSend(request,result)); // inviare la richiesta al server } } } } return(0); }
ecco a voi
Presumo (probabilmente non senza ragione) che sia meglio passare il risultato come parametro :)
Altrimenti non c'è modo di analizzarlo. In qualche modo non va bene...
PS
Creerei anche due funzioni - TrailingStopBuy e TrailingStopSell
Presumo (probabilmente non senza ragione) che sia meglio passare il risultato come parametro :)
Altrimenti non c'è modo di analizzarlo. In qualche modo non va bene...
PS
Creerei anche due funzioni - TrailingStopBuy e TrailingStopSell.
Beh, ho dato all'uomo un esempio, perché ha già fatto il suo cervello come scrivere un trailing ordinario, e poi lasciarlo pensare un po ', che avrebbe funzionato senza errori, nel tester in linea di principio, e questo disegno funziona bene. nella vita reale non ha verificato
Ecco a voi.

- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Il nuovo articolo Come creare il Tuo Trailing Stop è stato pubblicato:
La regola di base del trader: lascia che il profitto cresca, riduci le perdite! Questo articolo considera una delle tecniche di base che consentono di seguire questa regola: spostare lo stop level protettivo (livello di Stop Loss) dopo aver aumentato il profitto della posizione, ovvero il livello di Trailing Stop. Troverai la procedura step by step per creare una classe per il trailing stop sugli indicatori SAR e NRTR. Tutti potranno inserire questo trailing stop nei propri expert o utilizzarlo autonomamente per controllare le posizioni nei propri account.
Autore: Dmitry Fedoseev