Avevo in mente questo ts ma non so se si possa fare con la prorealtime.
Intraday 15 minuti , se la chiusura di una candela, ad esempio al ribasso ,si allontana dalla media semplice a 20 periodi….di un tot di punti (un forte allontanamento ci vorrebbe)…io inserisco un ordine ,in direzione opposta ,long all’incrocio dei prezzi con la media a 20 . Quello che voglio sapere questo ordine pendente può rimanere valido fino alla fine del giorno di trading? Se si come si può scrivere il codice?
Grazie spero che l’esposizione della idea possa essere chiara.
Eccolo:
ONCE SegnaleLong = 0
ONCE SegnaleShort = 0
ONCE PuntiMIN = 100 //100 punti come minimo prima di piazzare l'ordine STOP contrario
Sma = average[20,0](close)
PerCent = ((close / Sma) - 1) * 100 //% di allontanamento - NON USATA (a solo titolo dimostrativo del calcolo)
Punti = (close - Sma) / PipSize //Punti di allontanamento
//
// azzerare il segnale quando si è già a mercato
//
IF OnMarket THEN
SegnaleLong = 0
SegnaleShort = 0
ENDIF
//
// verificare se ci sono segnali quando non si è già a mercato
//
IF Not OnMarket THEN
IF SegnaleLong = 0 THEN
IF Punti <= -PuntiMIN THEN
SegnaleLong = 1
SegnaleShort = 0
ENDIF
ELSIF SegnaleShort = 0 THEN
IF Punti >= PuntiMIN THEN
SegnaleLong = 0
SegnaleShort = 1
ENDIF
ENDIF
SET TARGET pPROFIT 300
SET STOP pLOSS 100
ENDIF
//
// inserire gli ordini pendenti STOP
//
IF Not OnMarket THEN
IF SegnaleLong THEN
BUY 1 Contract AT Sma STOP
ELSIF SegnaleShort THEN
SELLSHORT 1 Contract AT Sma STOP
ENDIF
ENDIF
//
// azzerare i segnali in caso di incrocio opposto
//
IF close CROSSES OVER Sma THEN
SegnaleLong = 0
ELSIF close CROSSES UNDER Sma THEN
SegnaleShort = 0
ENDIF
Gli ordini pendenti durano SOLO una candela, alla cui chiusura vengono TUTTI cancellati (ovviamente quelli che non sono entrati a mercato).
Pertanto gli ordini vanno reinseriti ogni candela, se servon ancora. Si può smettere di inserirli quando si arriva d una certa ora oppure quando non ci sono più le condizioni.
Grazie della risposta Roberto. Quindi l’efficacia dell’ idea rimarrebbe valida solo se dopo la candela che si allontana molto dalla media, la candela successiva vada a riprendere la media. L’unica cosa che mi viene in mente potrebbe essere creare più ts dando alla candela che si allontana dalla media[1] poi un altro ts indicando questa candela [2] ecc. Potrebbe essere una soluzione…poi magari ci si accorge statisticamente che ad esempio il [3] si hanno più probabilità e quindi se ne crea uno solo. Che ne pensi non so se sono stato chiaro
No, può durare anche 50 candele, solo che ogni volta va reinserito l’ordine STOP come ho fatto io nel codice. SegnaleLong e SegnalShort sono le due variabili che indicano se c’è stato un segnale; finché quelle variabili avranno valore VERO (diverso da 0) si inserisce l’ordine STOP, altrimenti no.
@ Mauro M
che se vuoi che la strategia funzioni solo in alcuni orari, all’inizio scrivi, ad esempio:
DEFPARAM FlatBefore = 080000
DEFPARAM FlatAfter = 215800