Advertisement
Maurizio-Ciullo

Bot Smart-Reversal-Band-Maurizio ETH/PERP Ver-5 FTX 1H LONG E SHORT

May 7th, 2022
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. // Il trading system completo - Bot Smart Reversal Band Maurizio Ver-5 (Strategia Reversal) - parte 1
  3. // (Exchange= FTX) (Sottostante ETH-PERP) (Timeframe= 1H) (Direzione= LONG E SHORT) (Swing Posizione= SI) (Esclusione Ore= NO) (Esclusione Giorni= NO) (Esclusione Mesi= NO)
  4. // (Take Profit Long/Short= Market Close Sopra/Sotto Bande) (Take Profit Limit Long= +9% Tradingview-Hub) (Take Profit Limit Short= +10% Tradingview-Hub)
  5. // (Stop Loss Limit Long= -10% Tradingview-Hub) (Stop Loss Limit Short= -3% Tradingview-Hub) (Trailing Stop=NO) (Stop Emergenza: NO)
  6. // (Rischio Operazione 2% Perdita Media)
  7. // (In Sample Dal=01/02/2021 Al 01/08/2021) (Out Of Sample Dal=01/08/2021 Al 19/04/2022)
  8. // (Progettatta Il=21/04/2022)
  9.  
  10. // GLI IMPUT POTREBBERO ESSERE DIVERSI E VANNO PRESI DAL CODICE DI PINESCRIPT, INSERIRE ANCHE LE VARIABILI SHORT CHE POTREBBERO AVERE INPUT DIVERSI
  11.  
  12. // ATTENZIONE, ALCUNE POSIZIONI SONO DIFFERENTI DA TRADINGVIEW PER VIA DELLE 2 EMA CHE SONO CALCOLATE GUSTE MADANNO VALORI DIVERSI.
  13. // ATTENZIONE, I VALORI DELL'ADX SONODIFFERENTI PEECHE' FORSE NON SONO CALCOLATI SULL'RMA
  14.  
  15. input:
  16.   InitialCapital(100000),
  17.   percent_risk(50),
  18.   input_stop_loss_percent_long(10),  
  19.   input_stop_loss_percent_short(3),
  20.   input_target_percent_long(9),
  21.   input_target_percent_short(10),
  22.   lunghezza_sma_long(15),
  23.   lunghezza_sma_short(20),
  24.   lung_ema_long(75),
  25.   lung_ema_short(160),
  26.   deviazione_long(1.3),
  27.   deviazione_short(1.7),
  28.   lunghezza_adx_long(11),
  29.   lunghezza_adx_short(10),
  30.   lunghezza_rsi_long(13),
  31.   lunghezza_rsi_short(7),
  32.   differenziale_rsi_long(80),
  33.   differenziale_rsi_short(45),
  34.   differenziale_adx_long_alto(65),
  35.   differenziale_adx_long_basso(26),
  36.   differenziale_adx_short_alto(35),
  37.   differenziale_adx_short_basso(20),
  38.   //skipday(thursday),
  39.   skipmonth1(4),
  40.   skipmonth2(8),
  41.   solo_long(false),
  42.   solo_short(false);
  43.  
  44. Vars:
  45.    
  46.    media_long(0),
  47.    media_short(0),
  48.    middle_Band_long(0),
  49.    deviazione_st_long(0),
  50.    UpperBand_long(0),
  51.    LowerBand_long(0),
  52.    valore_adx_long(0),
  53.    valore_adx_short(0),
  54.    valore_rsi_long(0),
  55.    valore_rsi_short(0),
  56.    middle_Band_short(0),
  57.    deviazione_st_short(0),
  58.    UpperBand_short(0),
  59.    LowerBand_short(0),
  60.    stop_loss_long(0),
  61.    stop_loss_short(0),
  62.    target_long(0),
  63.    target_short(0),
  64.    account_equity(0),
  65.    risk(0),
  66.    nr_share(0);
  67.    
  68.      
  69.      
  70.  
  71.  
  72. // Calcololo degli indicatori long
  73.      
  74.  
  75.   middle_Band_long      =   average(close, lunghezza_sma_long);
  76.   deviazione_st_long    =   deviazione_long * StandardDev(close,lunghezza_sma_long, 1);
  77.   UpperBand_long        =   middle_Band_long  + deviazione_st_long;
  78.   LowerBand_long        =   middle_Band_long  - deviazione_st_long;
  79.   valore_adx_long       =   adx(lunghezza_adx_long);
  80.     valore_rsi_long       =   rsi(close, lunghezza_rsi_long);
  81.  
  82. // Calcololo degli indicatori short
  83.  
  84.   middle_Band_short      =   average(close, lunghezza_sma_short);
  85.   deviazione_st_short    =   deviazione_short * StandardDev(close,lunghezza_sma_short, 1);
  86.   UpperBand_short        =   middle_Band_short  + deviazione_st_short;
  87.   LowerBand_short        =   middle_Band_short  - deviazione_st_short;
  88.   valore_adx_short       =   adx(lunghezza_adx_short);
  89.   valore_rsi_short        =  rsi(close, lunghezza_rsi_short);
  90.  
  91.      
  92.      
  93.      
  94.      
  95.   media_long = XAverage(Close, lung_ema_long);
  96.   media_short = XAverage(Close, lung_ema_short);  
  97.      
  98.      
  99. // Money menagment
  100.  
  101.  
  102.   risk = percent_risk/100;
  103.   nr_share = floor((InitialCapital + NetProfit) * risk) / close;
  104.   stop_loss_long=((((InitialCapital + NetProfit) * risk)/100) * input_stop_loss_percent_long);
  105.   stop_loss_short=((((InitialCapital + NetProfit) * risk)/100) * input_stop_loss_percent_short);
  106.   target_long=((((InitialCapital + NetProfit) * risk)/100) * input_target_percent_long);
  107.   target_short=((((InitialCapital + NetProfit) * risk)/100) * input_target_percent_short);
  108.  
  109.  
  110.  
  111.  
  112.  
  113. // Entrata Long
  114.  
  115. begin;
  116.   begin;  
  117.   if close[1] < open[1] and low[1] < LowerBand_long and close > LowerBand_long and close > media_long and valore_adx_long > differenziale_adx_long_basso and valore_adx_long < differenziale_adx_long_alto and valore_rsi_long < differenziale_rsi_long {and  month(date) <> skipmonth2 and month(date) <> skipmonth1 and Dayofweek(date) <> skipday} and not solo_short  then
  118.    
  119.  
  120.     Buy("Long") nr_share contracts Next Bar at market;
  121.    
  122.     If MarketPosition =1 then
  123.     Begin;
  124.     Setstopposition;
  125.     SetStopLoss(stop_loss_long);
  126.     Setprofittarget(target_long);
  127.    
  128.     End;
  129.    
  130.    
  131.    
  132.    
  133. // Uscita Long
  134.      
  135.  
  136.   if close cross over UpperBand_long then
  137.    
  138.     Sell("Chiusura Long") from entry("Long") Next Bar at market;
  139.    
  140.  
  141.  
  142.   end;
  143.  
  144.  
  145. // Entrata Short
  146.      
  147.     begin;
  148.      
  149.     if close[1] > open[1] and high[1] > UpperBand_short and close < UpperBand_short and close < media_short and valore_adx_short > differenziale_adx_short_basso and valore_adx_short < differenziale_adx_short_alto and valore_rsi_short > differenziale_rsi_short {  and month(date) <> skipmonth2 and month(date) <> skipmonth1 and Dayofweek(date) <> skipday} and not solo_long  then
  150.  
  151.        Sellshort("Short") nr_share Contracts Next Bar at market;
  152.        
  153.       If MarketPosition =-1 then
  154.       Begin
  155.       Setstopposition;
  156.       SetStopLoss(stop_loss_short);
  157.       Setprofittarget(target_short);
  158.    
  159.         End;  
  160.    
  161.      
  162.    
  163. // Uscita Short
  164.  
  165.      
  166.       if close cross under LowerBand_short then
  167.      
  168.       Buytocover("Chiusura Short") from entry("Short") Next Bar at market;
  169.      
  170.  
  171.   end;
  172.  
  173. end;
  174.  
  175.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement