Advertisement
Maurizio-Ciullo

4 Differenziale che filtra gli ingressi In Percentuale E ON/OFF //Dopo aver creato u

Jun 29th, 2021 (edited)
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.                                            (Differenziale che filtra gli ingressi in percentuale e ON/OFF)
  2.                                                          
  3.  
  4. Per impostare un On/Off opzionale che può operare o su un differenziale in $ oppure su un differenziale in percentuale bisogna:
  5.  
  6. -Creare 3 input:
  7. 1 Differenziale in $ Integer o Float
  8. 2 Differenziale in % Integer o Float
  9. 3 On/Off Buleano
  10.  
  11. -Creare 2 condizioni di entrara:
  12. 1 Con le condizioni di entrata e alla fine: and not con l'input On/Off
  13. 2 Con le condizioni di entrata senza aggiungere alla fine and not
  14.  
  15. //@version=4    
  16. strategy(title="4 Differenziale che filtra gli ingressi In Percentuale E ON/OFF", overlay=true,
  17.     pyramiding=0, initial_capital=10000,
  18.     commission_type=strategy.commission.cash_per_order,
  19.     commission_value=1, slippage=2)
  20.  
  21. //test revisione
  22.  
  23. //input periodo media lenta
  24. emaInputLenta = input(title="EMA Lenta", type=input.integer, defval=81, minval=0, maxval=500)
  25. //input periodo media veloce
  26. emaInputVeloce = input(title="EMA Veloce", type=input.integer, defval=15, minval=0, maxval=500)
  27. //input distanza minima tra le due medie (DIFFERENZIALE CHE FILTRA GLI INGRESSI DI 15 DOLLARI)
  28. maMinDiff = input(title="maMinDiff", type=input.float, defval=15)
  29. //input distanza minima tra le due medie (DIFFERENZIALE CHE FILTRA GLI INGRESSI IN PERCENTUALE
  30. maMinDiffPercentuale=input(title="Percentuale_maMind_Diff", type=input.float, defval=19)
  31. //ON,OFF In Input per il maMinDiffPercentuale
  32. maMinDiffPercentualeOn_Off=input(title="Percentuale_maMind_DiffOn_Off", type=input.bool, defval=false)
  33.  
  34. //La variabile maMinDiff è un range di prezzo esempio $
  35.  
  36. //calcolo delle due medie mobili esponenziali
  37. emaLenta = ema(close, emaInputLenta)
  38. emaVeloce = ema(close, emaInputVeloce)
  39.  
  40. //Calcolo del MaMinDiffPercentuale
  41.  
  42. Percentuale_MaMin_Diff= (maMinDiff * maMinDiffPercentuale) / 100
  43.  
  44. plot(emaLenta, color=color.orange)
  45. plot(emaVeloce, color=color.blue)
  46. //plot(maMinDiff, color=color.black)(Lo attivo o disattivo a seconda di che filtro voglio)
  47. plot(Percentuale_MaMin_Diff, color=color.purple)
  48.  
  49. //Ho creato 2 Filtri e posso scegliere se usare il Primo in $ Fissi o il Secondo in Percentuale
  50.  
  51. //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
  52. //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
  53.  
  54.  
  55. condEntryLong1 = crossover(emaVeloce, emaLenta) and (emaVeloce - emaLenta) > maMinDiff and not maMinDiffPercentualeOn_Off
  56.  
  57. //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
  58. //nel risultato tra emaVeloce - emaLenta allora entra
  59. //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
  60. //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$
  61.  
  62. //Esempio con Filtro Percentuale
  63.  
  64. //Se la Media che si crea dalla sottrazione delle altre due medie con il Filtro > di 2,85% entra Long
  65. //La misurazione parte dal risultato della sottrazione delle altre 2 medie e dal calcolo percentuale: 15*19/100= 2,85%
  66. //vale a dire (maMinDiff * maMinDiffPercentuale) / 100
  67.  
  68. condEntryLong2 = crossover(emaVeloce, emaLenta) and (emaVeloce - emaLenta) > Percentuale_MaMin_Diff
  69.  
  70. //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
  71. //di 2.85% risultato ottenuto da 15*19/100 =2.85
  72.  
  73. //definizione condizioni di entrata short
  74. condExitLong = crossunder(emaVeloce, emaLenta)
  75.  
  76. //Spiegazione: A Cond_Exit_Long NON HO CREATO NESSUN FILTRO, QUINDI USCIRò DALLA POSIZIONE PIù RAPIDAMENTE
  77.  
  78. //definizione condizioni di entrata long con opzione On/Off In Input
  79. strategy.entry("operazione_long", true, when = condEntryLong1)
  80. strategy.entry("operazione_long", true, when = condEntryLong2)
  81. strategy.close("operazione_long", when = condExitLong)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement