Discussione: Help me! Stop e reverse su soglia
-
09-09-15, 22:22 #1
Help me! Stop e reverse su soglia
Buonasera Max avrei bisogno di un piccolo aiutino che a dire il vero è un aiutone
Una volta verificata la condizione di ingresso vorrei effettuare un stop e rerverse della posizione qualora il last, nelle barre successive mi attraversi la soglia (segmento giallo in figura) fissata un tick sotto il minimo della barra che ha generato il segnale long ed inoltre questo reverse deve avvenire tassativamente entro un max di 3 barre
Ovviamente tutto speculare per il reverse del segnale short
Come potrei impostare lo script ?
grazie infinite
ApoUltima modifica di Apocalips; 09-09-15 alle 22:28
....non si desidera ciò che è facile ottenere (Ovidio)....
-
10-09-15, 10:11 #2
-
10-09-15, 23:29 #3
Ciao Andrea, io avrei pensato ad una cosa del genere:
Codice da inserire in Sell Script per il Sell o il reverse della posizione Long:
SET A= condizione di entrata SET B= CurrentContracts()=1 AND REF(CurrentContracts(),1)= 0 #momento in cui sono a mercato SET C= CHANGEIF(B=1, LOW)-1 #Soglia di stop e reverse posta 1 tick sotto il minimo della barra che ha generato il segnale Long SET D= CROSSUNDER (LAST, C) AND BarsSinceEntry()<=3 #condizione in cui avviene il reverse con limite temporale di 3 barre A OR D
.....Che ne pensi ?... l'ho provato in backtest ma sembra non funzionare, mi esegue solo A.
grazie
ApoUltima modifica di Apocalips; 11-09-15 alle 00:16
....non si desidera ciò che è facile ottenere (Ovidio)....
-
11-09-15, 15:54 #4
-
11-09-15, 22:22 #5
-
14-09-15, 13:56 #6
Ciao Andrea, Max
good news?
Apo....non si desidera ciò che è facile ottenere (Ovidio)....
-
14-09-15, 14:14 #7
Salve,
ecco un'idea sul segnale di uscita long:
SET barreEntrata = BarsSinceEntry() SET soglia = REF(LOW, barreEntrata) - @distanzaSogliaUscita SET cond_posizione = (CurrentContracts() > 0) SET cond_prezzo = (LAST < soglia) SET cond_tempo = (barreEntrata <= 3) SET condizione_uscita = cond_posizione AND cond_prezzo AND cond_tempo
Suggerimento: nello script sopra, la condizione relativa alla posizione è completamente inutile. beeTrader infatti esegue il codice dello script Exit Long solo e soltanto quando la posizione attuale della strategia è Long, quindi la condizione cond_posizione è sempre vera quando lo script viene eseguito, pertanto può essere rimossa completamente. In questo caso l'ho lasciata solo per impostare tutti i parametri richiesti come da domanda iniziale.
Ovviamente lo stesso vale per lo script Exit Short, che viene eseguito solo e soltanto quando la posizione attuale della strategia è Short.
Max FrancarioUltima modifica di Francario Massimiliano; 14-09-15 alle 14:18
-
14-09-15, 22:04 #8
Grazie Max, perfetto, ora funziona
L' unica cosa che ho notato ( correggimi se sbaglio ) è che in tick by tick il vettore barreEntrata è in ritardo di uno nel conteggio barre, verosimilmente dovuto al fatto che incrementa di 1 solo quando la barra è terminata, ho pensato quindi di recuperare questa barra aggiungendola come costante nella riga seguente che diventa:
barreEntrata = BarsSinceEntry()+1
domani provo il tutto
grazie mille
ApoUltima modifica di Apocalips; 14-09-15 alle 22:12
....non si desidera ciò che è facile ottenere (Ovidio)....
-
15-09-15, 10:59 #9
-
15-09-15, 11:32 #10
Prossimo step è quello di istruire il sistema a recuperare in caso di reverse almeno quanto perso dal precedente trade appena chiuso e girato
.....ma che belle queste sfide, si impara tanto e si allena il cervello a non rimanere dormiente
Max, esiste una funzione che richiami il profit/loss consolidato dell'ultimo trade ?
grazieUltima modifica di Apocalips; 15-09-15 alle 11:35
....non si desidera ciò che è facile ottenere (Ovidio)....