Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (Differenziale che filtra gli ingressi in percentuale e ON/OFF)
- Per impostare un On/Off opzionale che può operare o su un differenziale in $ oppure su un differenziale in percentuale bisogna:
- -Creare 3 input:
- 1 Differenziale in $ Integer o Float
- 2 Differenziale in % Integer o Float
- 3 On/Off Buleano
- -Creare 2 condizioni di entrara:
- 1 Con le condizioni di entrata e alla fine: and not con l'input On/Off
- 2 Con le condizioni di entrata senza aggiungere alla fine and not
- //@version=4
- strategy(title="4 Differenziale che filtra gli ingressi In Percentuale E ON/OFF", overlay=true,
- pyramiding=0, initial_capital=10000,
- commission_type=strategy.commission.cash_per_order,
- commission_value=1, slippage=2)
- //test revisione
- //input periodo media lenta
- emaInputLenta = input(title="EMA Lenta", type=input.integer, defval=81, minval=0, maxval=500)
- //input periodo media veloce
- emaInputVeloce = input(title="EMA Veloce", type=input.integer, defval=15, minval=0, maxval=500)
- //input distanza minima tra le due medie (DIFFERENZIALE CHE FILTRA GLI INGRESSI DI 15 DOLLARI)
- maMinDiff = input(title="maMinDiff", type=input.float, defval=15)
- //input distanza minima tra le due medie (DIFFERENZIALE CHE FILTRA GLI INGRESSI IN PERCENTUALE
- maMinDiffPercentuale=input(title="Percentuale_maMind_Diff", type=input.float, defval=19)
- //ON,OFF In Input per il maMinDiffPercentuale
- maMinDiffPercentualeOn_Off=input(title="Percentuale_maMind_DiffOn_Off", type=input.bool, defval=false)
- //La variabile maMinDiff è un range di prezzo esempio $
- //calcolo delle due medie mobili esponenziali
- emaLenta = ema(close, emaInputLenta)
- emaVeloce = ema(close, emaInputVeloce)
- //Calcolo del MaMinDiffPercentuale
- Percentuale_MaMin_Diff= (maMinDiff * maMinDiffPercentuale) / 100
- plot(emaLenta, color=color.orange)
- plot(emaVeloce, color=color.blue)
- //plot(maMinDiff, color=color.black)(Lo attivo o disattivo a seconda di che filtro voglio)
- plot(Percentuale_MaMin_Diff, color=color.purple)
- //Ho creato 2 Filtri e posso scegliere se usare il Primo in $ Fissi o il Secondo in Percentuale
- //definizione condizioni di entrata long dopo il cross delle medie vogliamo un filtro minimo di 15$ di oscillazione alla chiusura dal prezzo ricavato della mediaVeloce - mediaLenta
- //definizione condizioni di entrata long dopo il cross delle medie vogliamo un filtro in percentuale di oscillazione alla chiusura dal prezzo ricavato della mediaVeloce - mediaLenta
- condEntryLong1 = crossover(emaVeloce, emaLenta) and (emaVeloce - emaLenta) > maMinDiff and not maMinDiffPercentualeOn_Off
- //Nella riga sopra stiamo dicendo se c'è l'incrocio delle medie e c'e una differenza di prezzo es in $ maggiore di quello che abbiamo inpostato con maMinDiff
- //nel risultato tra emaVeloce - emaLenta allora entra
- //Esempio incrocio 2 medie ok poi mediaVeloce si trova ad un prezzo es 100$ MediaLenta si trova ad un altro prezzo es 50$ 100-50=50 se la chiusura è maggiore
- //del differenziale che abbiamo impostato noi es 15 allora entra. A questo punto il prezzo entrerà solo se ci sarà l'incrocio e anche un prezzo maggiore di 65$
- //Esempio con Filtro Percentuale
- //Se la Media che si crea dalla sottrazione delle altre due medie con il Filtro > di 2,85% entra Long
- //La misurazione parte dal risultato della sottrazione delle altre 2 medie e dal calcolo percentuale: 15*19/100= 2,85%
- //vale a dire (maMinDiff * maMinDiffPercentuale) / 100
- condEntryLong2 = crossover(emaVeloce, emaLenta) and (emaVeloce - emaLenta) > Percentuale_MaMin_Diff
- //Spiegazione: media2= 12 media1= 8, 12-8=4 a partire da 4 il mio entry si verificherà solo all'incrocio delle medie e ad una percentuale maggiore
- //di 2.85% risultato ottenuto da 15*19/100 =2.85
- //definizione condizioni di entrata short
- condExitLong = crossunder(emaVeloce, emaLenta)
- //Spiegazione: A Cond_Exit_Long NON HO CREATO NESSUN FILTRO, QUINDI USCIRò DALLA POSIZIONE PIù RAPIDAMENTE
- //definizione condizioni di entrata long con opzione On/Off In Input
- strategy.entry("operazione_long", true, when = condEntryLong1)
- strategy.entry("operazione_long", true, when = condEntryLong2)
- strategy.close("operazione_long", when = condExitLong)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement