Risposta

Il trade si apre quando la regola di uscita è vera...

6 risposte

RJL

Cliente, bbp_partecipante, comunità, 67 risposte.

Visita il profilo

8 anni fa #114410

...con conseguente perdita immediata!

 

Qualcuno ha avuto la stessa esperienza e ha qualche consiglio su come evitare questo problema?

 

In pratica, le condizioni di entrata dell'EA erano vere, quindi ha eseguito l'operazione, ma al momento dell'entrata nell'operazione era vera anche la regola di uscita, quindi l'ha chiusa immediatamente - ovviamente per la perdita dello spread. Dentro e fuori in 1 secondo, per una perdita... lol.

 

Si tratta di qualcosa che non può essere colto in fase di test, quindi forse è necessario introdurre un sistema di sicurezza nella generazione del codice dell'EA per assicurarsi che le regole di uscita siano false prima di eseguire un'operazione?

 

Mark/Tomas, qualche idea?

 

Per fortuna sto ancora testando le strategie su micro lotti ed è solo lo spread che perdo, ma se è possibile evitarlo con qualcosa di così semplice come quello descritto sopra forse questo può essere implementato sia come rilascio immediato ma sicuramente almeno per SQ4.

 

Se avesse colto il mercato in un momento di allargamento degli spread, sarebbe potuta andare peggio e questo tipo di problemi non fa altro che provocare un'emorragia di denaro nelle nostre strategie.

0

tomas262

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

8 anni fa #133895

È possibile caricare questa strategia problematica o inviarla a [email protected]? Quello che descrivi non dovrebbe accadere

0

RJL

Cliente, bbp_partecipante, comunità, 67 risposte.

Visita il profilo

8 anni fa #133900

Ciao Tomas,

 

La strategia è riportata di seguito.

 

Quello che voglio dire è che quando le condizioni di ingresso sono vere, l'EA esegue ovviamente un'operazione...

 

Tuttavia, quando entra nell'operazione, l'EA si rende conto che anche gli ordini di uscita sono veri, quindi la chiude immediatamente, causando una perdita.

 

Non è detto che accada sempre, ma certamente quando un EA viene caricato in un particolare ciclo di prezzi, c'è la possibilità che non colga la regola di entrata quando si verifica per la prima volta. Ad esempio, la chiusura di Close10 sopra SMA76 potrebbe essersi verificata 5 barre fa, ma poiché la mia posizione era piatta quando l'EA è stato aggiunto 5 barre dopo la prima occorrenza del segnale, avrebbe comunque eseguito l'operazione, anche se a quel punto anche l'ordine di uscita sarebbe stato valido.

 

Questo è solo un esempio, ma per caso potrebbero esserci altri casi in cui un ordine di uscita è vero nello stesso momento in cui sono vere le condizioni di entrata, quindi sarebbe utile un modo per l'EA di riconoscerlo e di non entrare nel trade. Quindi, come ho detto nell'OP, forse controllare che gli ordini di uscita siano falsi prima di entrare in un'operazione?

 

Ad ogni modo, fatemi sapere se tutto ciò ha senso e cosa ne pensate.

 

Grazie! 🙂

 

 

 

====================================================================
== Condizioni di ingresso
==================================================================== 
LongEntryCondition = ((Close(10) chiude sopra SMA(76)) o (BBWidthRatio(181, 2.0) incrocia sopra BarRange(55))
ShortEntryCondition = ((Close(10) chiude sotto lo SMA(76)) o (BBWidthRatio(181, 2.0) incrocia sotto BarRange(55))
 
 
====================================================================
== Ordini di entrata
====================================================================
- Ingresso lungo
se LongEntryCondition è vero {
   se non c'è nessuna posizione aperta, acquistare all'apertura del mercato;
   Stop Loss = 387 pips;
   Obiettivo di profitto = (0,79 * ATR(69)) pips;
}
 
- Voce breve
se ShortEntryCondition è vero {
   se non c'è nessuna posizione aperta, vendere all'apertura del mercato;
   Stop Loss = 387 pips;
   Obiettivo di profitto = (0,79 * ATR(69)) pips;
}
 
====================================================================
== Ordini di uscita
====================================================================
- Uscita lunga
se MarketPosition è Long {
   se (ADX_DIMINUS(21) > MACD(12, 26, 9)) {
      Chiudere la posizione sul mercato;
   }
}
 
- Uscita breve
se MarketPosition è Short {
   se (ADX_DIMINUS(21) < MACD(12, 26, 9)) {
      Chiudere la posizione sul mercato;
   }
}

0

RJL

Cliente, bbp_partecipante, comunità, 67 risposte.

Visita il profilo

8 anni fa #133914

Si tratta di un aspetto importante, perché è successo di nuovo, ma è impossibile per me legiferare se e quando succederà. 

 

Credo che prima di eseguire un'operazione sia necessario applicare una semplice regola di "controllo degli ordini di uscita".

 

Ho perso altri soldi su un'operazione che non avrebbe dovuto essere aperta sulla base della regola di uscita e quando gli spread si allargano a quest'ora del giorno di negoziazione, la situazione peggiora ulteriormente.

 

Si prega di fornire una soluzione al più presto.

0

Mark Fric

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

8 anni fa #133944

Capisco il problema, ma non c'è una soluzione semplice.

 

Sì, la condizione di uscita può essere controllata prima dell'entrata per una condizione semplice come la tua, ma che dire delle regole che funzionano con il numero di barre dell'ordine aperto?

Potrebbe non essere in grado di cogliere tutti i casi, perché ce ne sono altri, e rallenterà anche il backtest - perché ora le regole di uscita vengono controllate solo se c'è una posizione aperta.

 

 

Questo problema è relativamente facile da scoprire: potete controllare i risultati del backtest e cercare gli ordini che sono stati chiusi immediatamente dopo l'apertura.

Inoltre, il backtester funziona come il trading reale, quindi vi costerà uno spread anche nel backtest.

Nel trading reale ci sono slippage, ritardi dei broker, requote e altri problemi, non credo che la chiusura occasionale degli ordini sia il problema più grande che richiede una soluzione immediata.

 

Ma cercheremo di migliorarlo nella nuova versione.

Marchio
Architetto StrategyQuant

0

RJL

Cliente, bbp_partecipante, comunità, 67 risposte.

Visita il profilo

8 anni fa #133976

Sì, la condizione di uscita può essere controllata prima dell'entrata per una condizione semplice come la tua, ma che dire delle regole che funzionano con il numero di barre dell'ordine aperto?

 

 

Deve solo ignorare questa parte dell'equazione quando esamina gli ordini di uscita.

 

 

Potrebbe non essere in grado di cogliere tutti i casi, perché ce ne sono altri, e rallenterà anche il backtest - perché ora le regole di uscita vengono controllate solo se c'è una posizione aperta.

 

 

Non deve necessariamente far parte del backtest, ma solo essere aggiunto alla generazione del codice mt4.

 

 

Nel trading reale ci sono slippage, ritardi dei broker, requote e altri problemi, non credo che la chiusura occasionale degli ordini sia il problema più grande che richiede una soluzione immediata.

 

 

Capisco che non sia il problema più grande, ma può essere un problema, anche se si verifica solo occasionalmente. Se si opera su pochi mini lotti in un momento in cui gli spread si sono allargati, si perde una discreta quantità di denaro per nulla. L'altro giorno mi è capitato di aprire e chiudere un'operazione con uno spread di 20 pip perché era notte fonda, e ovviamente molte strategie giornaliere possono aprirsi a quest'ora, quando gli orologi del server battono la mezzanotte.

 

Come è già stato richiesto, tuttavia, se introducete uno spread checker nelle regole delle nuove strategie generate per SQ4, si spera che gli spread allargati non siano più un problema.

0

watson7tyler

Abbonato, bbp_partecipante, comunità, 3 risposte.

Visita il profilo

8 anni fa #134168

Non ci sono molte regole ferree nel trading, ma questo articolo elenca le 10 regole che non dovete mai infrangere se volete essere un trader di successo.

0

Stai visualizzando 6 risposte - da 1 a 6 (di 6 totali)