Visualizzazione Ibrida
-
21-09-14, 19: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 09:44
-
25-09-14, 13: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)
-
26-09-14, 23: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, 10: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, 15: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 15:15
-
27-09-14, 16: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?