Visualizzazione Ibrida
-
16-11-14, 19:25 #1
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
Ciao Alex,
in pratica è lo stesso problema di cui si era parlato qui:
http://www.playoptions.it/vbforum/sh...ng-o-exitShort
anzi è persino un po' più semplice perchè non hai bisogno di codificare nè l'ExitLong Script nè l'ExitShort Script.
Pertanto una soluzione tipo quella proposta al post #4 di quel Thread nel tuo caso dovrebbe esserti sufficiente, senza ExitLong Script ed ExitShort Script.Ultima modifica di Smash; 16-11-14 alle 19:36
-
17-11-14, 00:24 #2
- Data Registrazione
- Dec 2012
- Messaggi
- 432
-
17-11-14, 00:52 #3
Vai tranquillo che funziona, ecco il TS lavorare correttamente con lo script di Smash che risolve brillantemente il problema degli ingressi indesiderati tra un segnale e l'altro:
...e con il Bund a timeframe 1 minuto sembra andar molto bene :
lo script è semplice, basta sostiuire le condizioni buy e sell
ApoUltima modifica di Apocalips; 17-11-14 alle 01:35
....non si desidera ciò che è facile ottenere (Ovidio)....
-
17-11-14, 09:27 #4
- Data Registrazione
- Dec 2012
- Messaggi
- 432
-
17-11-14, 14:59 #5
- Data Registrazione
- Dec 2012
- Messaggi
- 432
-
18-11-14, 00:40 #6
- Data Registrazione
- Nov 2008
- Messaggi
- 99
Caro alex69
visto che da solo non ci sono riuscito, e quindi le mie capacità di programmazione sono oltremodo più modeste delle tue, mi potresti indicare in dettaglio come hai modificato lo script per risolvere il problema da te in origine evidenziato?
Grazie e cordiali saluti.
-
18-11-14, 15:25 #7
- Data Registrazione
- Dec 2012
- Messaggi
- 432
Ciao DICECC,
lo script di Smash serve a verificare che non si verifichi più di 1 trade dello stesso segno.
Intanto si impostano le 2 condizioni si Buy e di Sell:
SET ConditionBuy = (WPR (P) > -35 AND REF (WPR (P), 1) <= - 35) SET ConditionSell = (WPR (P) < -65 AND REF (WPR (P), 1) >= - 65)
Di seguito si impostano i parametri di verifica:
SET Position = ConditionBuy - ConditionSell SET LastPosition = CHANGEIF(Position <> 0, Position)
Infine la condizione per far partire il segnale Buy:
ConditionBuy AND REF(LastPosition, 1) <> 1
Quest'ultima condizione, nel Sell Script diventa:
ConditionSell AND REF(LastPosition, 1) <> -1
Le condizioni Exit Long ed Exit Short restano immutate.
Ci devi inoltre aggiungere il set per il take profit.
Da solo non ci sarei mai arrivato, ma rileggendo i vari passaggi con l'aiuto contestuale, si riesce a capire la logica che sta dietro.
Ecco il risultato finale del Buy Script:
INPUTS: @periods(300), @takeprofit(100) SET TAKE_PROFIT= @takeprofit SET P= @periods #Criteri alternanza Buy-Sell SET ConditionBuy = (WPR (P) > -35 AND REF (WPR (P), 1) <= - 35) SET ConditionSell = (WPR (P) < -65 AND REF (WPR (P), 1) >= - 65) SET Position = ConditionBuy - ConditionSell SET LastPosition = CHANGEIF(Position <> 0, Position) ConditionBuy AND REF(LastPosition, 1) <> 1
Penso che così non avrai problemi.
Se ho scritto qualche inesattezza Smash o Apo penso che me lo segnaleranno.
Magari si potrebbero condividere i risultati più interessanti dei backtest che faremo in futuro.
Saluti.
Alex
-
18-11-14, 22:27 #8
- Data Registrazione
- Nov 2008
- Messaggi
- 99
-
18-11-14, 23:08 #9
Nessuna inesattezza Alex, il tuo script funziona correttamente.
Io lo renderei ancora piu snello con l'utilizzo della funzione crossover creata apposta per semplificare le cose e per scrivere meno a parità di risultato, quindi:
buy script:
INPUTS: @periods(300), @lowMark(-35), @highMark(-65), @TakeProfit (100) set take_profit = @TakeProfit set A = WilliamsPctR(@periods) set ConditionBuy = CROSSOVER(A, @lowMark) set ConditionSell = CROSSOVER(@highMark, A) set Position = ConditionBuy - ConditionSell set LastPosition = CHANGEIF(Position <> 0, Position) ConditionBuy AND REF(LastPosition, 1) <> 1
Sell script:
set A = WilliamsPctR(@periods) set ConditionBuy = CROSSOVER(A, @lowMark) set ConditionSell = CROSSOVER(@highMark, A) set Position = ConditionBuy - ConditionSell set LastPosition = CHANGEIF(Position <> 0, Position) ConditionSell AND REF(LastPosition, 1) <> -1
Colgo l'occasione per ringraziare il buon Smash che riesce sempre a trasformare un' idea di trading in un codice EasySscript elegante, funzionante e perfettamente rispondente alle nostre aspettative. grazie.
ApoUltima modifica di Apocalips; 18-11-14 alle 23:19
....non si desidera ciò che è facile ottenere (Ovidio)....
-
19-11-14, 00:12 #10
- Data Registrazione
- Dec 2012
- Messaggi
- 432