Advertisement
Maurizio-Ciullo

Bot Weekly Mean Trend ETH/USDT.P BYBIT 4H LONG E SHORT

Jun 5th, 2025
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.                                                                                
  2.                                                 // Bot Weekly Mean Trend ETH/USDT.P BYBIT 4H LONG E SHORT (Strategia Breakout) //
  3.  
  4. // No Repainting: https://www.youtube.com/watch?v=-ZvGC0wUNAI IN QUESTA STRATEGIA E' STATA USATA LA TECNICA NO REPAINTING
  5. // A differenza di quella originale ho cambiato le Medie da SMA a EMA perchè performano meglio
  6.  
  7. // SU TRADINGVIEW ORARIO BORSA GMT
  8. // BARSBACK: 50
  9.  
  10. // Il trading system completo - Weekly Mean Trend ETH/USDT.P BYBIT 4H LONG E SHORT (Strategia Breakout)
  11. // (Sviluppo Dati Exchange = FTX)
  12. // (Exchange= BYBIT) (Sottostante ETH-USDT.P) (Timeframe= 4H) (Direzione= LONG E SHORT) (Swing Posizione= NO) (Esclusione Ore=NO) (Esclusione Giorni=NO) (Esclusione Mesi=NO)
  13. // (Take Profit Long/Short Market = NO) (Take Profit Limit Long/Short= NO)
  14. // (Stop Loss Limit Long= NO) (Stop Loss Limit Short= NO) (Stop Loss Market Long/Short= SI) (Trailing Stop=SI) (Stop Emergenza= NO)
  15. // (Rischio Operazione 2% Perdita Media) (Max Drawdown Permesso 10,94%)
  16. // (ATTENZIONE !!! NON USO PIU' IL RISCHIO OPERAZIONE SOPRA DEL 2% MA LA LASCIO SEMPRE LIVE E QUANDO ARRIVA AL 15% DI MAX DD AGGIUSTATO CON IL PROGRAMMA MONTECARLO PYTHON LA CESTINO
  17. // (In Sample Dal=18/08/17 Al 30/11/21) (Out Of Sample Dal=30/11/21 Al 31/01/22)
  18. // (Money Management = 25% Del Capitale Tradestation)  
  19. // (Money Management = 21% Del Capitale Tradingview) Preso Dal 15% Media Max Drawdown 2°nda Deviazione Standard Simulazione Montecarlo Python
  20. // (Progettatta Il=31/01/22)
  21.  
  22. // ATTENZIONE SONO STATI GENERATI NUOVO REPORT RECENTI IN DATA 01/06/2025 MA QUESTI REPORT SONO STATI GENERATI SUL SEGUENTE DATAFEED DATO CHE FTX E' FALLITO:
  23. // DATI NUOVI REPORT GENERATI NELLE CARTELLE DI SVILUPPO:
  24. // IL DATAFEED COMPLETO = (18/08/2017 26/05/2025)                                              
  25. // NUOVI DATI DI REPORT DATAFEED ETH/USDT BINANCE + ETH/USDT.P BYBIT 4H  STORICO INIZIALE BINANCE PER POI PROSEGUIRE CON BYBIT                                                                                                                     
  26. // (Sviluppo Dati Exchange = BINANCE + BYBIT) (BINANCE Dal=18/08/2017 Al 21/10/2020) (BYBIT Dal=21/10/2020 Al 26/05/2025)
  27.  
  28. input:
  29.     InitialCapital(100000),
  30.     percent_risk(25),
  31.     input_media_W_high(10),                
  32.     input_media_W_low(19),                
  33.     input_media_W_high_smoothed(38),      
  34.     input_media_W_low_smoothed(38),
  35.     input_atr_perdiod_long(14),
  36.     input_atr_perdiod_short(9),
  37.     input_atr_mult_long(0.75),
  38.     input_atr_mult_short(1),
  39.     dmi_min_diff_input_long(18),
  40.     dmi_min_diff_input_short(25),
  41.     solo_long(false),
  42.     solo_short(false);
  43.    
  44.  
  45. // Vars
  46.    
  47.     Vars:
  48.     weekly_High(0),
  49.     weekly_Low(0),
  50.     media_high_smoothed(0),
  51.     media_low_smoothed(0),
  52.     valore_atr_long(0),
  53.     valore_atr_short(0),
  54.     media_low(0),                    
  55.     media_high(0),                    
  56.     account_equity(0),
  57.     risk(0),
  58.     nr_share(0),
  59.     di_pos(0),
  60.     di_neg(0),
  61.     adx_neutrale(0);
  62.    
  63. // Calcololo Dmi
  64.  
  65.   adx_neutrale = adx(14);
  66.   di_pos = (dmiPlus(14));
  67.   di_neg = (dmiMinus(14));
  68.  
  69.  
  70. // Calcololo degli indicatori long
  71.     valore_atr_long      =   AvgTrueRange(input_atr_perdiod_long);
  72.     valore_atr_short     =   AvgTrueRange(input_atr_perdiod_short);
  73.     weekly_Low = LowW(1)[5];// + 4 - 0.21;                                  
  74.     weekly_High = HighW(1)[5];// + 82 - 0.50;  
  75.    
  76.     // ORIGINALE XAVERAGE                            
  77.     media_low = xAverage(weekly_Low, input_media_W_low);                    
  78.     media_high = xAverage(weekly_High, input_media_W_high);                  
  79.     media_low_smoothed = xAverage(weekly_Low, input_media_W_low_smoothed);  
  80.     media_high_smoothed = xAverage(weekly_High, input_media_W_high_smoothed);
  81.    
  82.     // PROVA SOLO AVERAGE
  83.     {media_low = Average(weekly_Low, input_media_W_low);                    
  84.     media_high = Average(weekly_High, input_media_W_high);                  
  85.     media_low_smoothed = Average(weekly_Low, input_media_W_low_smoothed);  
  86.     media_high_smoothed = Average(weekly_High, input_media_W_high_smoothed);}
  87.    
  88. // Money menagment
  89.    
  90.     risk = percent_risk/100;
  91.     nr_share = floor((InitialCapital + NetProfit) * risk) / close;
  92.  
  93.    
  94. // Entrata Long
  95.    
  96. begin;
  97.     begin; 
  98.  
  99.     if Close cross over(media_high) and (Absvalue(open-close)>(valore_atr_long*input_atr_mult_long)) and close > open and di_pos > dmi_min_diff_input_long and not solo_short then
  100.        
  101.         Buy("Long") nr_share contracts Next Bar at market;
  102.        
  103.         //If MarketPosition =1 then
  104.         //Begin;
  105.         //Setstopposition;
  106.         //SetStopLoss(stop_loss_long);
  107.         //Setprofittarget(target_long);
  108.         end;
  109.        
  110.        
  111. // Uscita Long
  112.        
  113.        
  114.        If (MarketPosition =1 and Close cross under(media_high)) then
  115.        
  116.        Sell("Chiusura Long") from entry("Long") Next Bar at market;        
  117.    
  118.    
  119.       end;           
  120.  
  121.  
  122.  
  123. // Entrata Short
  124. begin;      
  125.     begin;
  126.        
  127.        
  128.     if Close cross under(media_low) and (Absvalue(open-close)>(valore_atr_short*input_atr_mult_short)) and close < open and di_neg > dmi_min_diff_input_short and not solo_long then
  129.    
  130.             Sellshort("Short") nr_share Contracts Next Bar at market;
  131.            
  132.             //If MarketPosition =-1 then
  133.             //Begin
  134.             //Setstopposition;
  135.             //SetStopLoss(stop_loss_short);
  136.             //Setprofittarget(target_short);
  137.        
  138.         end;   
  139.        
  140.        
  141. // Uscita Long
  142.    
  143.        
  144.        If (MarketPosition =-1 and Close cross over(media_low)) then
  145.        
  146.        Buytocover("Chiusura Short") from entry("Short") Next Bar at market;
  147.    
  148.         end;
  149.  
  150.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement