Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Bot Reversal Band Riot Period 1 10-03-2025 ETHUSDT.P BYBIT 4H LONG E SHORT //
- // Datafeed Cambiato / Periodi Backtest Cambiati / Inputs Cambiati / Skip Months Disattivato //
- // RIOTTIMIZZAZIONE PERIODICA 1 DELLA ORIGINALE REVERSAL BAND
- // IL DATAFEED COMPLETO = (18/08/2017 26/02/2025)
- // NUOVI DATI DI SVILUPPO DATAFEED ETH/USDT BINANCE + ETH/USDT.P BYBIT 4H STORICO INIZIALE BINANCE PER POI PROSEGUIRE CON BYBIT
- // (Sviluppo Dati Exchange = BINANCE + BYBIT) (BINANCE Dal=18/08/2017 Al 21/10/2020) (BYBIT Dal=21/10/2020 Al 26/02/2025)
- // SU TRADINGVIEW ORARIO BORSA GMT
- // BARSBACK: 60
- // NUOVE DATE IN SAMPLE E OUT OF SAMPLE
- //Il data feed completo: 18/08/2017 26/02/2025
- //In Sample: Inizio 18/08/2017 Fine 18/09/2023
- //Out Of Sample: Inizio 18/09/2023 Fine 26/02/2025
- //Il trading system completo - Bot Reversal Band Riot Period 1 10-03-2025 ETHUSDT.P BYBIT 4H LONG E SHORT
- // (Exchange= BYBIT) (Sottostante ETH-USDT.P) (Timeframe= 4H) (Direzione= LONG E SHORT) (Swing Posizione= SI) (Esclusione Ore=NO) (Esclusione Giorni=NO) (Esclusione Mesi=NO)
- // (Take Profit Long/Short= Market Close Sopra/Sotto Bande) (Take Profit Limit Long= +12% Tradingview-Hub) (Take Profit Limit Short= +6,7 % Tradingview-Hub
- // (Stop Loss Limit Long= -10% Tradingview-Hub) (Stop Loss Limit Short= -7.1% Tradingview-Hub) (Trailing Stop=NO) (Stop Emergenza: NO)
- // (Max DD Concesso = 15% Media Max Drawdown 2°nda Deviazione Standard Simulazione Montecalo Python
- // (Money Management = 25% Del Capitale Tradestation)
- // (Money Management = 18% Del Capitale Tradingview) Preso Dal 15% Media Max Drawdown 2°nda Deviazione Standard Simulazione Montecarlo Python
- // (Progettatta Il=07/07/23)
- // (In Sample Dal=17/08/2017 18/09/2023) (Out Of Sample Dal18/09/2023 Al 26-02-2025)
- // (Progettatta Il=26/02/2025)
- // ATTENZIONE, ALCUNE POSIZIONI SONO DIFFERENTI DA TRADINGVIEW PER VIA DELLE CANDELE INIZIALI CHE SONO DI BINANCE CHE POTREBBERO AVERE VALORI LEGGERENTE DIVERSI.
- // ATTENZIONE, ALCUNE VOLTE, MOLTO RARAMENTE LE MEDIE POTREBBERO DIFFERIRE SEMPRE PER VIDE DELLE CANDELE INIZIALI CHE SONO DI BINANCE CHE POTREBBERO AVERE VALORI LEGGERENTE DIVERSI.
- // ATTENZIONE, I VALORI DELL'ADX A VOLTE POSSONO ESSERE DIFFERENTI PER VIA DELLE CANDELE INIZIALI CHE SONO DI BINANCE PER POI RIASSESTARSI DI NUOVO.
- input:
- InitialCapital(100000),
- percent_risk(25),
- input_stop_loss_percent_long(10),
- input_stop_loss_percent_short(7.1),
- input_target_percent_long(12),
- input_target_percent_short(6.7),
- lunghezza_sma_long(31),
- lunghezza_sma_short(48),
- deviazione_long(1.7),
- deviazione_short(1.3),
- lunghezza_adx_long(6),
- lunghezza_adx_short(10),
- differenziale_adx_long(60),
- differenziale_adx_short(22),
- lung_ema_long(52),
- lung_ema_short(42),
- //skipday(thursday),
- skipmonth1(4),
- skipmonth2(8),
- solo_long(false),
- solo_short(false);
- Vars:
- media_long(0),
- media_short(0),
- middle_Band_long(0),
- deviazione_st_long(0),
- UpperBand_long(0),
- LowerBand_long(0),
- valore_adx_long(0),
- middle_Band_short(0),
- deviazione_st_short(0),
- UpperBand_short(0),
- LowerBand_short(0),
- valore_adx_short(0),
- stop_loss_long(0),
- stop_loss_short(0),
- target_long(0),
- target_short(0),
- account_equity(0),
- risk(0),
- nr_share(0);
- // Calcololo degli indicatori long
- middle_Band_long = average(close, lunghezza_sma_long);
- deviazione_st_long = deviazione_long * StandardDev(close,lunghezza_sma_long, 1);
- UpperBand_long = middle_Band_long + deviazione_st_long;
- LowerBand_long = middle_Band_long - deviazione_st_long;
- valore_adx_long = adx(lunghezza_adx_long);
- // Calcololo degli indicatori short
- middle_Band_short = average(close, lunghezza_sma_short);
- deviazione_st_short = deviazione_short * StandardDev(close,lunghezza_sma_short, 1);
- UpperBand_short = middle_Band_short + deviazione_st_short;
- LowerBand_short = middle_Band_short - deviazione_st_short;
- valore_adx_short = adx(lunghezza_adx_short);
- media_long = XAverage(Close, lung_ema_long);
- media_short = XAverage(Close, lung_ema_short);
- // Money menagment
- risk = percent_risk/100;
- nr_share = floor((InitialCapital + NetProfit) * risk) / close;
- stop_loss_long=((((InitialCapital + NetProfit) * risk)/100) * input_stop_loss_percent_long);
- stop_loss_short=((((InitialCapital + NetProfit) * risk)/100) * input_stop_loss_percent_short);
- target_long=((((InitialCapital + NetProfit) * risk)/100) * input_target_percent_long);
- target_short=((((InitialCapital + NetProfit) * risk)/100) * input_target_percent_short);
- // Entrata Long
- begin;
- if close cross over LowerBand_long and close < media_long and valore_adx_long < differenziale_adx_long and not solo_short {and month(date) <> skipmonth2 and month(date) <> skipmonth1} {and Dayofweek(date) <> skipday} then
- Buy("Long") nr_share contracts Next Bar at market;
- If MarketPosition =1 then
- Begin;
- Setstopposition;
- SetStopLoss(stop_loss_long);
- Setprofittarget(target_long);
- End;
- // Uscita Long
- if close cross over UpperBand_long then
- Sell("Chiusura Long") from entry("Long") Next Bar at market;
- end;
- // Entrata Short
- begin;
- if close cross under UpperBand_short and close > media_short and valore_adx_short < differenziale_adx_short and not solo_long {and month(date) <> skipmonth2 and month(date) <> skipmonth1} {and Dayofweek(date) <> skipday} then
- Sellshort("Short") nr_share Contracts Next Bar at market;
- If MarketPosition =-1 then
- Begin
- Setstopposition;
- SetStopLoss(stop_loss_short);
- Setprofittarget(target_short);
- End;
- // Uscita Short
- if close cross under LowerBand_short then
- Buytocover("Chiusura Short") from entry("Short") Next Bar at market;
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement