-
21-09-14, 20:01 #1
- Data Registrazione
- Apr 2012
- Messaggi
- 43
Interruzione script e attesa reverse nel caso di intervento del exitLong o exitShort
E' da varie settimane che mi stò domandando se é possibile quanto descritto nel titolo della discussione. Ho provato in BeeTrader innumerevoli altre strade per eludere il problema ma senza risultato.
P. es.: sono long, interviene l'exitLong ma se le condizioni che caratterizzano lo script di buy permangono, interviene nuovamente l'acquisto e dinuovo l'exitLong ecc. ecc, a volte in maniera interminabile sino a quando la richiesta nello script buy non é più soddisfatta. La tal cosa avviene per converso sulla vendita ed il corrispondente exitShort sino a far preferire l'eliminazione di entrambe le soluzioni exit ed il solo utilizzo dello stop Loss, con tutti i rischi che tale scelta comporta.
L'idea sarebbe, di ottenere dalla strategia le seguenti condizioni:
-sono Long, interviene l'exitLong-->> interdire ulteriori acquisti allo script buy sino a quando non interviene lo script sell.
-sono Short, interviene l'exitShort-->> interdire ulteriori vendite allo script sell sino a quando non interviene lo script buy.
Naturalmente non sò costruirla e mi domando se é possibile realizzarla.
Vogliate scusare le parole utilizzate, certamente poco tecniche, sia in ambito trading che informatico; qualcuno può aiutarmi? (ma non credo sia un problema solo mio)
Saluti
ArmandoUltima modifica di armando; 22-09-14 alle 10:44
-
25-09-14, 14:20 #2
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
Ciao,
dovrebbe essere certamente possibile!
Magari posta un esempio, così è più facile dare una risposta precisa e senza fraintendimenti.
Comunque è un caso analogo a quello di cui si era parlato quì:
http://www.playoptions.it/vbforum/sh...ll=1#post67834
Nel tuo caso, il vettore "Position" dovrebbe essere aggiunto nelle condizioni di Buy Script e Sell Script utilizzandolo in una maniera del tipo:
...... ...... AND Position <> REF(Position , 1)
-
27-09-14, 00:57 #3
- Data Registrazione
- Apr 2012
- Messaggi
- 43
Salve Smash x avermi risposto.
Allego un esempio e lo script relativo come richiesto:
BUY Script:
INPUTS: @periods(14) , @price(CLOSE), @matype(EXPONENTIAL),
INPUTS: @trailAmount(100),@trailPercent(10), @stopLoss(400)
SET TRAILING_STOP = @trailAmount
SET TRAILING_PERCENT = @trailPercent
SET STOP_LOSS = @stopLoss
SET a = MovingAverage(@price, 6, @matype)
SET b = MovingAverage(@price, 10, @matype)
SET c = MovingAverage(@price, 14, @matype)
SET d = MovingAverage(@price, 20, @matype)
SET e = MovingAverage(@price, 28, @matype)
SET f = LinearRegressionForecast(@price, 8)
f-30>(a+b+c+d+e/5)
SELL Script:
SET a = MovingAverage(@price, 6, @matype)
SET b = MovingAverage(@price, 10, @matype)
SET c = MovingAverage(@price, 14, @matype)
SET d = MovingAverage(@price, 20, @matype)
SET e = MovingAverage(@price, 28, @matype)
SET f = LinearRegressionForecast(@price, 8)
f+30<(a+b+c+d+e/5)
ExitLong Script:
SET a = MovingAverage(@price, 6, @matype)
SET g = LinearRegressionForecast(@price, 5)
CROSSOVER(a, g)
ExitShort Script:
SET a = MovingAverage(@price, 6, @matype)
SET g = LinearRegressionForecast(@price, 5)
CROSSOVER(g, a)
Certamente quanto richiesto nel titolo non sarà una chiave di volta, ma vorrei verificarne la % Profitable.
Ho provato a "gestire" il SET Position come hai indicato, ma non ci sono riuscito; se puoi darmi maggiori indicazioni te ne sarei grato.
Armando
-
27-09-14, 11:59 #4
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
Ciao Armando,
se non ho capito male, volevi che non si verificassero mai 2 ingressi Long consecutivi oppure 2 ingressi Short consecutivi, è corretto?
In tal caso si potrebbe scrivere così:
BUY SCRIPT
INPUTS: @periods(14) , @price(CLOSE), @matype(EXPONENTIAL), INPUTS: @trailAmount(100),@trailPercent(10), @stopLoss(400) SET TRAILING_STOP = @trailAmount SET TRAILING_PERCENT = @trailPercent SET STOP_LOSS = @stopLoss SET a = MovingAverage(@price, 6, @matype) SET b = MovingAverage(@price, 10, @matype) SET c = MovingAverage(@price, 14, @matype) SET d = MovingAverage(@price, 20, @matype) SET e = MovingAverage(@price, 28, @matype) SET f = LinearRegressionForecast(@price, 8) SET ConditionBuy = f-30>(a+b+c+d+e/5) SET ConditionSell = f+30<(a+b+c+d+e/5) SET Position = ConditionBuy - ConditionSell SET LastPosition = CHANGEIF(Position <> 0, Position) ConditionBuy AND REF(LastPosition, 1) <> 1
SELL SCRIPT
SET a = MovingAverage(@price, 6, @matype) SET b = MovingAverage(@price, 10, @matype) SET c = MovingAverage(@price, 14, @matype) SET d = MovingAverage(@price, 20, @matype) SET e = MovingAverage(@price, 28, @matype) SET f = LinearRegressionForecast(@price, 8) SET ConditionBuy = f-30>(a+b+c+d+e/5) SET ConditionSell = f+30<(a+b+c+d+e/5) SET Position = ConditionBuy - ConditionSell SET LastPosition = CHANGEIF(Position <> 0, Position) ConditionSell AND REF(LastPosition, 1) <> -1
ExitLONG SCRIPT
SET a = MovingAverage(@price, 6, @matype) SET g = LinearRegressionForecast(@price, 5) CROSSOVER(a, g)
ExitSHORT SCRIPT
SET a = MovingAverage(@price, 6, @matype) SET g = LinearRegressionForecast(@price, 5) CROSSOVER(g, a)
-
27-09-14, 16:09 #5
- Data Registrazione
- Apr 2012
- Messaggi
- 43
Mi spiace, sono stato poco chiaro, la necessità consiste nel riuscire in fase di uscita di un trend in BUY o di un trend in SELL di interromperlo e attendere il reverse nel caso di intervento del exitLong o exitShort.
Caso 1) sono in trend di BUY (e sono già stati eseguiti diversi trade buy con chiusure relative in Trailing Stop) ma si stà esaurendo, ed in uscita del trend interviene un exitLong (oppure due) a tal punto vorrei che lo script di buy sia bloccato e ripartire solo dopo che interviene lo script di SELL con la prima vendita.
Caso 2) sono in trend di SELL..........................................di converso a Caso 1), ma viene controllato l'exitShort e bloccato lo script di SELL. sino a quando non iterviene lo script di BUY con il primo acquisto
Nel grafico di esempio allegato di un trend in SELL, come vedi, dopo T16 SX (exitShort) sono avvenute le vendite Sell 17-18 e 19 e le T18 e 19 SX ecc. che avrei tagliato se successivamente a T16SX avessi bloccato lo script di SELL e passato direttamente al teorico Buy 20 (che non ho evidenziato).
Grazie x l'attenzioneUltima modifica di armando; 27-09-14 alle 16:15
-
27-09-14, 17:32 #6
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
Chiaro il concetto adesso!
Manca soltanto un'informazione però:
qual è il criterio secondo cui si decide che il trend si sta esaurendo e si procede con il blocco delle entrate in posizione in attesa del primo segnale di segno contrario?
Ovvero, facendo riferimento al tuo esempio allegato, qual è il criterio secondo il quale l'Exit Short T16 SX doveva essere l'ultimo, dopodichè si sarebbero dovuti inibire i successivi ingressi Short?
-
27-09-14, 18:57 #7
- Data Registrazione
- Apr 2012
- Messaggi
- 43
Quando esce l'exitShort! Ossia, i criteri sarebbero descritti nello ExitScript, e nell'esempio, sarebbe lo stesso T16 SX che doveva essere il primo (e vorrei l'ultimo) per uscire dal trend.
-
27-09-14, 21:11 #8
- Data Registrazione
- Jan 2008
- Messaggi
- 1,004
Exit Short T16 SX doveva essere l'ultimo perchè esce l'exitShort ..cosa significa?
La condizione deve essere chiara se vuoi che ci capiamio qualche cosa e vedrai che Smash la saprà scrivere, cerca di completare la frase:
Exit Short T16 SX doveva essere l'ultimo perchè ......
-
27-09-14, 23:10 #9
- Data Registrazione
- Apr 2012
- Messaggi
- 43
Io non sono in grado di dire o capire se tale impostazione é possibile in Easy Script. Nella mia richiesta non cercavo una terza condizione, ma solo se era possibile che: al primo intervento di un exit (non l'ultimo), bloccare lo script di buy o sell relativo sino a quando non interviene quello opposto. E' tutto qui.
Non posso cercare una terza condizione perchè semplicemente, (come l'ho pensata) non esiste.
La ringrazio x il tempo che mi ha dedicato.
Armando
-
27-09-14, 23:41 #10
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
Ciao Armando,
nessun problema!
Mi rendo conto che allora avevo capito bene all'inizio, e lo script che ti avevo proposto al post #4 se non mi sono sbagliato in qualche cosa dovrebbe fare esattamente quello che chiedi.
Quando avevo scritto che non si dovevano verificare mai 2 ingressi Long consecutivi oppure 2 ingressi Short consecutivi, intendevo dire che non si doveva mai verificare un secondo ingresso Long dopo un ExitLong oppure un secondo ingresso Short dopo un ExitShort.Ultima modifica di Smash; 27-09-14 alle 23:46