Stai usandoStopLimit nel trading reale?
È chiaro cheStopLimit funziona in modo inadeguato nel tester.
Ha senso usarlo nel trading reale? Quali sono i vantaggi e gli svantaggi?
Cosa c'è che non va nel tester?
A quanto pare nessuno lo usa,
l'ordine viene aperto a prezzi inesistenti:
Un semplice esempio da verificare:
//+------------------------------------------------------------------+ //| StopLimit_Test.mq5 | //+------------------------------------------------------------------+ #include <Trade\Trade.mqh> CTrade trade; input int Deviation = 100; //+------------------------------------------------------------------+ void OnTick() { MqlTick tick; SymbolInfoTick(_Symbol,tick); trade.SetTypeFilling(ORDER_FILLING_RETURN); double ticksise=SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE); if(OrdersTotal()==0) trade.OrderOpen( _Symbol, // символ ORDER_TYPE_BUY_STOP_LIMIT, // тип ордера 1.0, // объем ордера tick.ask+Deviation*ticksise, // цена исполнения tick.ask+10*ticksise, // цена стоплимита 0, // цена stop loss 0 // цена take profit ); } //+------------------------------------------------------------------+
A quanto pare nessuno lo usa,
l'ordine viene aperto a prezzi inesistenti:
Un semplice esempio da verificare:
Un ordine BuyStopLimit funziona così:
- Un ordine BuyStop è piazzato sopra il prezzo (valore del prezzo nella struttura della richiesta di compravendita = prezzo + distanza di impostazione dell'ordine stop)
- Quando scatta un ordine BuyStop, un ordine BuyLimit viene piazzato sotto il prezzo
(al prezzo stoplimit nella struttura di richiesta di trade che dovrebbe essere calcolato correttamente: stoplimit = prezzo - distanza di impostazione dell'ordine stop) - Quando scatta un ordine BuyLimit, viene effettuata un'entrata nel mercato al prezzo dell'ordine BuyLimit
Esempio:
Un ordine BuyStopLimit funziona in questo modo:
- Impostiamo un ordine BuyStop sopra il prezzo (valore del prezzo nella struttura di richiesta di compravendita = prezzo + distanza di impostazione dell'ordine stop)
- Quando viene attivato il BuyStop, un ordine BuyLimit viene piazzato sotto il prezzo
(al prezzo stoplimit nella struttura di richiesta di trade che dovrebbe essere calcolato correttamente: stoplimit = prezzo - distanza di impostazione dell'ordine stop) - Quando scatta un ordine BuyLimit, viene effettuata un'entrata nel mercato al prezzo dell'ordine BuyLimit
Esempio:
QuandoBuyLimit è sotto il prezzo, funziona bene nel tester.
QuandoBuyLimit è superiore al prezzo, dovrebbe aprire al prezzo Ask. Sullo scambio, sul reale, funziona così.
Non ha senso usare StopLimit per impostareBuyLimit sotto il prezzo.
QuandoBuyLimit è sotto il prezzo, funziona bene nel tester.
QuandoBuyLimit è sopra il prezzo, dovrebbe aprirsi al prezzo Ask. Sullo scambio, sul reale, funziona così.
Usare uno StopLimit per mettere il BuyLimit sotto il prezzo non ha senso.
Campo | Descrizione |
azione | Tipo di operazione commerciale. Ilvalore può essere uno dei valori dell'enumerazione ENUM_TRADE_REQUEST_ACTIONS |
magia | Identificatore dell'Expert Advisor. Permette di organizzare l'elaborazione analitica degli ordini commerciali. Ogni Expert Advisor può mostrare il proprio identificatore unico quando invia una richiesta di compravendita |
ordine | Ordinare il biglietto. Richiesto per la modifica di ordini pendenti |
simbolo | Nome del simbolo per il quale viene effettuato l'ordine. Non necessario per la modifica degli ordini e la chiusura delle posizioni |
Volume | Volume richiesto di un affare in lotti. Ilvalore effettivo del volume quando si apre una posizione dipende dal tipo di ordine che viene eseguito. |
prezzo | Il prezzo quando l'ordine dovrebbe essere eseguito. Il prezzo non è richiestoper gli ordini a mercato del tipo "Esecuzione sul mercato" ( SYMBOL_TRADE_EXECUTION_MARKET ) con il tipoTRADE_ACTION_DEAL |
stoplimit | Prezzo al quale l'ordine pendente Limit sarà piazzato una volta che il prezzo raggiunge il valore del prezzo (questa condizione è obbligatoria). Fino a quel momento, l'ordine pendente non viene inserito nel sistema di trading |
sl | Prezzo al quale scatterà un ordine Stop Loss quando il prezzo del titolo si muove in una direzione sfavorevole |
tp | Prezzo al quale l'ordine Take Profit viene attivato dal movimento del prezzo nella direzione favorevole |
deviazione | Scostamento massimo accettabile dal prezzo richiesto, fissato in punti |
tipo | Tipo di ordine. Il valore può essere uno dei valori dell'enumerazione ENUM_ORDER_TYPE |
tipo_riempimento | Tipo di ordine da eseguire. Ilvalore può essere uno dei valori diENUM_ORDER_TYPE_FILLING |
tipo_tempo | Tipo di ordine_tempo di riempimento. Ilvalore può essere uno dei valori diENUM_ORDER_TYPE_TIME |
scadenza | Tempo di scadenzadell'ordine in sospeso (per ordini ORDER_TIME_SPECIFIED) |
commento | Commento all'ordine |
posizione | Biglietto per la posizione. Questo dovrebbe essere compilato quando una posizione viene cambiata e chiusa per identificarla chiaramente. Questo di solito corrisponde al biglietto dell'ordine che ha portato all'apertura della posizione. |
per posizione | Un biglietto per una contro posizione. Usato quando si chiude una posizione di contatore - aperta per lo stesso strumento, ma nella direzione opposta. |
Spero che tu sappia cos'è un ordine limite. E anche un ordine di arresto, spero non abbiate dubbi.
E questo è quello che dice qui su come funziona un ordine StopLimit: quando il prezzo raggiunge il livello di un ordine Stop (ed è posto al di sopra del prezzo di acquisto), solo allora sarà posto un ordine Limit (ed è posto al di sotto del prezzo di acquisto).
QuandoBuyLimit è sotto il prezzo, funziona bene nel tester.
QuandoBuyLimit è sopra il prezzo, dovrebbe aprirsi al prezzo Ask. Sulloscambio, sul reale, funziona così.
Usare StopLimit per mettere il BuyLimit sotto il prezzo non ha senso.
Scusa, come fai a mettere l 'ordine BuyLimit sopra il prezzo?
Non dovrebbe essere impostato affatto in questo scenario.
Se state usando una classe di trading SB, c'è un controllo per i parametri errati, e in una tale situazione non viene piazzato un ordine pendente, ma viene aperto un ordine a mercato.
Campo | Descrizione |
azione | Tipo di operazione commerciale. Ilvalore può essere uno dei valori dell'enumerazione ENUM_TRADE_REQUEST_ACTIONS |
magia | Identificatore dell'Expert Advisor. Permette di organizzare l'elaborazione analitica degli ordini commerciali. Ogni Expert Advisor può mostrare il proprio identificatore unico quando invia una richiesta di compravendita |
ordine | Ordinare il biglietto. Richiesto per la modifica di ordini pendenti |
simbolo | Nome del simbolo per il quale viene effettuato l'ordine. Non necessario per la modifica degli ordini e la chiusura delle posizioni |
Volume | Volume richiesto di un affare in lotti. Ilvalore effettivo del volume quando si apre una posizione dipende dal tipo di ordine che viene eseguito. |
prezzo | Questo è il prezzo al quale l'ordine dovrebbe essere eseguito. Il prezzo non è richiestoper gli ordini a mercato del tipo "Esecuzione sul mercato" ( SYMBOL_TRADE_EXECUTION_MARKET ) con il tipoTRADE_ACTION_DEAL |
stoplimit | Prezzo al quale l'ordine pendente Limit sarà piazzato una volta che il prezzo raggiunge il valore del prezzo (questa condizione è obbligatoria). Fino a quel momento, l'ordine pendente non viene inserito nel sistema di trading |
sl | Prezzo al quale scatterà un ordine Stop Loss quando il prezzo del titolo si muove in una direzione sfavorevole |
tp | Prezzo al quale l'ordine Take Profit viene attivato dal movimento del prezzo nella direzione favorevole |
deviazione | Scostamento massimo accettabile dal prezzo richiesto, fissato in punti |
tipo | Tipo di ordine. Il valore può essere uno dei valori dell'enumerazione ENUM_ORDER_TYPE |
tipo_riempimento | Tipo di ordine da eseguire. Ilvalore può essere uno dei valori diENUM_ORDER_TYPE_FILLING |
tipo_tempo | Tipo di ordine_tempo di riempimento. Ilvalore può essere uno dei valori diENUM_ORDER_TYPE_TIME |
scadenza | Tempo di scadenzadell'ordine in sospeso (per ordini ORDER_TIME_SPECIFIED) |
commento | Commento all'ordine |
posizione | Biglietto per la posizione. Questo dovrebbe essere compilato quando una posizione viene cambiata e chiusa per identificarla chiaramente. Questo di solito corrisponde al biglietto dell'ordine che ha portato all'apertura della posizione. |
per posizione | Un biglietto per una contro posizione. Si usa quando si chiude una posizione con una contro posizione - aperta per lo stesso strumento, ma nella direzione opposta. |
Spero che tu sappia cos'è un ordine limite. E anche un ordine di arresto, spero che tu non abbia dubbi.
E questo è quello che dice qui su come funziona un ordine StopLimit: quando il prezzo raggiunge il livello dell'ordine Stop (ed è posto al di sopra del prezzo di acquisto), solo in questo caso un ordine Limit sarà posto (ed è posto al di sotto del prezzo di acquisto).
Cosa vi fa pensare che l'ordine BuyLimit debba essere necessariamente sotto il prezzo?
Sto parlando del mercato azionario, il forex non è interessante.
Mi scusi, cosa sta facendo impostando l'ordine BuyLimit sopra il prezzo?
Non dovrebbe essere impostato affatto in questa situazione.
Se state usando la classe SB-trading, ha un controllo per i parametri non validi e in tale situazione, l'ordine pendente non viene aperto, e la posizione viene aperta da un ordine a mercato.
Vi ho dato un esempio di codice sopra.
Dovrebbe essere impostato e lo è.
Se fosse aperto dal mercato, non ci sarebbero problemi nel tester; sarebbe aperto dal prezzo Ask. Ma verrebbe aperto ad un prezzo inesistente, lo si può vedere nella foto qui sopra.
p.s. Provate voi stessi il codice di cui sopra in un conto di scambioil limite dovrebbe impostare lo slippage di un ordine a mercato, non l'impostazione di un ordine limite :))
Il "fantastico" stoplimit nella libreria standard, senza parole :))
il limite dovrebbe impostare lo slippage dell'ordine a mercato, non l'impostazione dell'ordine limite :))
Lo slippage è impostato dal parametro di deviazione nella richiesta di trading.
E il livello stoplimit è il livello al quale l'ordine Limit è impostato rispetto al livello dell'ordine stop.
- www.mql5.com
- 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
Stai usandoStopLimit nel trading reale?
È chiaro cheStopLimit funziona in modo inadeguato nel tester.
Ha senso usarlo nel trading reale? Quali sono i vantaggi e gli svantaggi?