Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Il trading system completo - Bot Smart Reversal Band Gabriele Ver-5 (Strategia Reversal) - parte 1
- // (Exchange= FTX) (Sottostante ETH-PERP) (Timeframe= 1H) (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= +9% Tradingview-Hub) (Take Profit Limit Short= +12% Tradingview-Hub)
- // (Stop Loss Limit Long= -10% Tradingview-Hub) (Stop Loss Limit Short= -3% Tradingview-Hub) (Trailing Stop=NO) (Stop Emergenza: NO)
- // (Rischio Operazione 2% Perdita Media)
- // (In Sample Dal=01/02/2021 Al 01/08/2021) (Out Of Sample Dal=01/08/2021 Al 19/04/2022)
- // (Progettatta Il=21/04/2022)
- // GLI IMPUT POTREBBERO ESSERE DIVERSI E VANNO PRESI DAL CODICE DI PINESCRIPT, INSERIRE ANCHE LE VARIABILI SHORT CHE POTREBBERO AVERE INPUT DIVERSI
- // ATTENZIONE, ALCUNE POSIZIONI SONO DIFFERENTI DA TRADINGVIEW PER VIA DELLE 2 EMA CHE SONO CALCOLATE GUSTE MADANNO VALORI DIVERSI.
- // ATTENZIONE, I VALORI DELL'ADX SONODIFFERENTI PEECHE' FORSE NON SONO CALCOLATI SULL'RMA
- input:
- InitialCapital(100000),
- percent_risk(50),
- input_stop_loss_percent_long(10),
- input_stop_loss_percent_short(3),
- input_target_percent_long(9),
- input_target_percent_short(12),
- lunghezza_sma_long(15),
- lunghezza_sma_short(20),
- deviazione_long(1.3),
- deviazione_short(1.7),
- lunghezza_adx_long(11),
- lunghezza_adx_short(10),
- lunghezza_rsi_long(14),
- lunghezza_rsi_short(7),
- differenziale_adx_long_alto(65),
- differenziale_adx_long_basso(26),
- differenziale_adx_short_alto(35),
- differenziale_adx_short_basso(20),
- differenziale_rsi_short(45),
- differenziale_rsi_long(60),
- lung_ema_long(100),
- lung_ema_short(150),
- //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),
- valore_adx_short(0),
- valore_rsi_long(0),
- valore_rsi_short(0),
- middle_Band_short(0),
- deviazione_st_short(0),
- UpperBand_short(0),
- LowerBand_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);
- valore_rsi_long = rsi(close, lunghezza_rsi_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);
- valore_rsi_short = rsi(close, lunghezza_rsi_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;
- begin;
- 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
- {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}
- {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 }
- 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[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
- {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}
- {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}
- 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;
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement