Advertisement
Maurizio-Ciullo

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

Apr 22nd, 2022 (edited)
291
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 Gabriele 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= +12% 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.  
  16. input:
  17.     InitialCapital(100000),
  18.     percent_risk(50),
  19.     input_stop_loss_percent_long(10),
  20.     input_stop_loss_percent_short(3),
  21.     input_target_percent_long(9),
  22.     input_target_percent_short(12),
  23.     lunghezza_sma_long(15),
  24.     lunghezza_sma_short(20),
  25.     deviazione_long(1.3),
  26.     deviazione_short(1.7),
  27.     lunghezza_adx_long(11),
  28.     lunghezza_adx_short(10),
  29.     lunghezza_rsi_long(14),
  30.     lunghezza_rsi_short(7),
  31.     differenziale_adx_long_alto(65),
  32.     differenziale_adx_long_basso(26),
  33.     differenziale_adx_short_alto(35),
  34.     differenziale_adx_short_basso(20),
  35.     differenziale_rsi_short(45),
  36.     differenziale_rsi_long(60),
  37.     lung_ema_long(100),
  38.     lung_ema_short(150),
  39.     //skipday(thursday),
  40.     skipmonth1(4),
  41.     skipmonth2(8),
  42.     solo_long(false),
  43.     solo_short(false);
  44.    
  45. Vars:
  46.      
  47.      media_long(0),
  48.      media_short(0),
  49.      middle_Band_long(0),
  50.      deviazione_st_long(0),
  51.      UpperBand_long(0),
  52.      LowerBand_long(0),
  53.      valore_adx_long(0),
  54.      valore_adx_short(0),
  55.      valore_rsi_long(0),
  56.      valore_rsi_short(0),
  57.      middle_Band_short(0),
  58.      deviazione_st_short(0),
  59.      UpperBand_short(0),
  60.      LowerBand_short(0),
  61.      stop_loss_long(0),
  62.      stop_loss_short(0),
  63.      target_long(0),
  64.      target_short(0),
  65.      account_equity(0),
  66.      risk(0),
  67.      nr_share(0);
  68.      
  69.      
  70.      
  71.    
  72.  
  73. // Calcololo degli indicatori long
  74.      
  75.  
  76.     middle_Band_long      =   average(close, lunghezza_sma_long);
  77.     deviazione_st_long    =   deviazione_long * StandardDev(close,lunghezza_sma_long, 1);
  78.     UpperBand_long        =   middle_Band_long  + deviazione_st_long;
  79.     LowerBand_long        =   middle_Band_long  - deviazione_st_long;
  80.     valore_adx_long       =   adx(lunghezza_adx_long);
  81.     valore_rsi_long       =   rsi(close, lunghezza_rsi_long);
  82.  
  83. // Calcololo degli indicatori short
  84.    
  85.     middle_Band_short      =   average(close, lunghezza_sma_short);
  86.     deviazione_st_short    =   deviazione_short * StandardDev(close,lunghezza_sma_short, 1);
  87.     UpperBand_short        =   middle_Band_short  + deviazione_st_short;
  88.     LowerBand_short        =   middle_Band_short  - deviazione_st_short;
  89.     valore_adx_short       =   adx(lunghezza_adx_short);
  90.     valore_rsi_short        =  rsi(close, lunghezza_rsi_short);
  91.  
  92.      
  93.      
  94.      
  95.    
  96.     media_long = XAverage(Close, lung_ema_long);
  97.     media_short = XAverage(Close, lung_ema_short); 
  98.      
  99.      
  100. // Money menagment
  101.    
  102.    
  103.     risk = percent_risk/100;
  104.     nr_share = floor((InitialCapital + NetProfit) * risk) / close;
  105.     stop_loss_long=((((InitialCapital + NetProfit) * risk)/100) * input_stop_loss_percent_long);
  106.     stop_loss_short=((((InitialCapital + NetProfit) * risk)/100) * input_stop_loss_percent_short);
  107.     target_long=((((InitialCapital + NetProfit) * risk)/100) * input_target_percent_long);
  108.     target_short=((((InitialCapital + NetProfit) * risk)/100) * input_target_percent_short);
  109.    
  110.    
  111.    
  112.    
  113.    
  114. // Entrata Long
  115.    
  116. begin;
  117.     begin; 
  118.     if close[1] < open[1] and close > open and  ((low[1]  < LowerBand_long[1]) or (low < 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 not solo_short  then
  119.     {if close[1] < open[1] and close > open 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 not solo_short  then}
  120.     {if close[1] < open[1] and close > open and low[1]  < LowerBand_long[1] 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 not solo_short  then    }
  121.         Buy("Long") nr_share contracts Next Bar at market;
  122.        
  123.         If MarketPosition =1 then
  124.         Begin;
  125.         Setstopposition;
  126.         SetStopLoss(stop_loss_long);
  127.         Setprofittarget(target_long);
  128.        
  129.         End;
  130.        
  131.        
  132.        
  133.        
  134. // Uscita Long
  135.          
  136.    
  137.     if close cross over UpperBand_long then
  138.        
  139.         Sell("Chiusura Long") from entry("Long") Next Bar at market;
  140.        
  141.  
  142.    
  143.     end;   
  144.  
  145.    
  146.  
  147. // Entrata Short
  148.    
  149.     begin;
  150.        
  151.         if close[1] > open[1] and close < open and ((high[1] > UpperBand_short[1]) or (high > 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 not solo_long  then
  152.         {if close[1] > open[1] and close < open 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 not solo_long  then}
  153.         {if close[1] > open[1] and close < open and high[1] > UpperBand_short[1] 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 not solo_long  then}
  154.             Sellshort("Short") nr_share Contracts Next Bar at market;
  155.              
  156.             If MarketPosition =-1 then
  157.             Begin
  158.             Setstopposition;
  159.             SetStopLoss(stop_loss_short);
  160.             Setprofittarget(target_short);
  161.        
  162.             End;   
  163.        
  164.            
  165.        
  166. // Uscita Short
  167.  
  168.        
  169.         if close cross under LowerBand_short then
  170.            
  171.             Buytocover("Chiusura Short") from entry("Short") Next Bar at market;
  172.          
  173.  
  174.     end;
  175.    
  176. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement