Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
- //Il trading system completo - Bot Reversal Band Ver-5 (Strategia Reversal) - parte 1
- // (Exchange= FTX) (Sottostante ETH-PERP) (Timeframe= 4H) (Direzione= LONG E SHORT) (Swing Posizione= SI) (Esclusione Ore=NO) (Esclusione Giorni=NO) (Esclusione Mesi=APRILE/AGOSTO)
- // (Take Profit Long/Short= Market Close Sopra/Sotto Bande) (Take Profit Limit Long/Short= +12% Tradingview-Hub) (Stop Loss Limit Long= -9% Tradingview-Hub) (Stop Loss Limit Short= -7% Tradingview-Hub) (Trailing Stop=NO) (Stop Emergenza: NO)
- // (Rischio Operazione 2% Perdita Media)
- // (In Sample Dal=17/08/2017 Al 17/10/2020) (Out Of Sample Dal=18/10/2020 Al 15/03/2021)
- // ATTENZIONE, ALCUNE POSIZIONI SONO DIFFERENTI DA TRADINGVIEW PER VIA DELLE CANDELE CHE POTREBBERO AVERE VALORI LEGGERENTE DIVERSI.
- // ATTENZIONE, ALCUNE VOLTE, MOLTO RARAMENTE LE MEDIE POTREBBERO DIFFERIRE SEMPRE PER VIDE DELLE CANDELE CHE POTREBBERO AVERE VALORI LEGGERENTE DIVERSI.
- // ATTENZIONE, I VALORI DELL'ADX A VOLTE POSSONO ESSERE DIFFERENTI PER POI RIASSESTARSI DI NUOVO.
- input:
- InitialCapital(100000),
- percent_risk(50),
- input_stop_loss_percent_long(9),
- input_stop_loss_percent_short(7),
- input_target_percent_long(12),
- input_target_percent_short(12),
- lunghezza_sma_long(30),
- lunghezza_sma_short(24),
- deviazione_long(1.5),
- deviazione_short(1.5),
- lunghezza_adx_long(10),
- lunghezza_adx_short(9),
- differenziale_adx_long(35),
- differenziale_adx_short(31),
- lung_ema_long(55),
- lung_ema_short(55),
- //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;
- begin;
- if close cross over LowerBand_long and close < media_long and valore_adx_long < differenziale_adx_long and month(date) <> skipmonth2 and month(date) <> skipmonth1 {and Dayofweek(date) <> skipday} 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 cross under UpperBand_short and close > media_short and valore_adx_short < differenziale_adx_short and month(date) <> skipmonth2 and month(date) <> skipmonth1 {and Dayofweek(date) <> skipday} 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