Artikel ini menjelaskan secara rinci strategi perdagangan kuantitatif yang menggunakan ATR untuk stop loss dan Kijun-Sen breakout untuk entry, dengan validasi sinyal tambahan menggunakan indikator Williams %R untuk mengendalikan risiko perdagangan.
I. Logika Strategi
Indikator inti dari strategi ini meliputi:
ATR sebagai indikator stop loss, yang secara dinamis mencerminkan volatilitas pasar.
Ichimoku Kijun-Sen garis untuk menentukan arah tren dan memberikan sinyal masuk.
Williams %R untuk validasi sinyal tambahan untuk menghindari entri palsu.
Logika khusus perdagangan adalah:
Ambil posisi panjang ketika harga pecah di bawah dan pulih kembali di atas garis Kijun-Sen. Ambil posisi pendek ketika harga pecah di atas dan jatuh kembali di bawah garis. Ini memungkinkan tren mengikuti.
Pada saat yang sama, periksa apakah Williams % R setuju dengan arah, jika tidak, lewatkan entri.
Atur stop loss pada level ATR yang dihitung untuk setiap entri. ATR secara dinamis mencerminkan volatilitas pasar, memungkinkan ukuran stop loss yang wajar.
Ketika stop loss atau take profit dipicu, tutup posisi untuk mendapatkan keuntungan.
II. Keuntungan dari Strategi
Keuntungan utama dari strategi ini adalah:
Pertama, ATR stop loss mengatur pengendalian risiko sesuai dengan volatilitas pasar, secara efektif menghindari kerugian besar.
Kedua, entri Kijun-Sen dengan validasi Williams %R meningkatkan kualitas sinyal.
Akhirnya, pengaturan stop loss dan take profit juga mendefinisikan risiko-pahala untuk setiap perdagangan.
III. Kemunduran Potensial
Namun, risiko berikut juga harus dipertimbangkan:
Pertama, sinyal Kijun-Sen mungkin terlambat selama transisi tren, gagal bereaksi tepat waktu.
Kedua, stop loss yang diatur terlalu agresif berisiko dihentikan lebih awal.
Akhirnya, optimasi parameter yang tidak tepat juga dapat menyebabkan masalah overfit.
IV. Ringkasan
Dalam kesimpulan, artikel ini telah menjelaskan strategi perdagangan kuantitatif menggunakan ATR untuk stop loss dan Kijun-Sen untuk sinyal masuk. Hal ini dapat mencapai kontrol risiko yang efektif melalui stop dinamis dan penyaringan sinyal. Tetapi risiko seperti transisi tren dan pembatalan stop loss perlu dicegah. Secara keseluruhan, ini memberikan tren sederhana dan efektif mengikuti metodologi.
/*backtest start: 2023-09-06 00:00:00 end: 2023-09-13 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // strategy("NNFX ft. ATR, Kijun-Sen, %R","NNFX-2",true,pyramiding=1,calc_on_order_fills=true,calc_on_every_tick=true,initial_capital = 1000, currency="USD",slippage=5,commission_type=strategy.commission.cash_per_contract,commission_value=0.000035) strategy.initial_capital = 50000 //INDICATOR--------------------------------------------------------------------- //Average True Range (1. RISK) atr_period = input(14, "Average True Range Period") atr = atr(atr_period) //Ichimoku Cloud - Kijun Sen (2. BASELINE) ks_period = input(20, "Kijun Sen Period") kijun_sen = (highest(high,ks_period) + lowest(low,ks_period))/2 base_long = open < kijun_sen and close > kijun_sen base_short = open > kijun_sen and close < kijun_sen //Williams Percent Range (3. Confirmation#1) use_wpr = input(true,"Use W%R?") wpr_len = input(1, "Williams % Range Period") wpr = -100*(highest(high,wpr_len) - close)/(highest(high,wpr_len) - lowest(low,wpr_len)) wpr_up = input(-25, "%R Upper Level") wpr_low = input(-75, "%R Lower Level") conf1_long = wpr >= wpr_up conf1_short = wpr <= wpr_low if(use_wpr == false) conf1_long := true conf1_short := true //TRADE LOGIC------------------------------------------------------------------- //Long Entry //if -> WPR crosses below -39 AND MACD line is less than signal line l_en = base_long and conf1_long //Long Exit //if -> WPR crosses above -14 l_ex = close < kijun_sen //Short Entry //if -> WPR crosses above -39 AND MACD line is greater than signal line s_en = base_short and conf1_short //Short Exit //if -> WPR crosses under -14 s_ex = close > kijun_sen //MONEY MANAGEMENT-------------------------------------------------------------- balance = strategy.netprofit + strategy.initial_capital //current balance floating = strategy.openprofit //floating profit/loss isTwoDigit = input(false,"Is this a 2 digit pair? (JPY, XAU, XPD...") risk = input(5,"Risk %")/100 //risk % per trade equity_protector = input(30,"Equity Protection %")/100 //equity protection % stop = atr*100000*input(1.5,"Average True Range multiplier") //Stop level if(isTwoDigit) stop := stop/100 target = input(150, "Target TP in Points") //TP level //Calculate current DD and determine if stopout is necessary equity_stopout = false if(floating<0 and abs(floating/balance)>equity_protector) equity_stopout := true //Calculate the size of the next trade temp01 = balance * risk //Risk in USD temp02 = temp01/stop //Risk in lots temp03 = temp02*100000 //Convert to contracts size = temp03 - temp03%1000 //Normalize to 1000s (Trade size) if(size < 1000) size := 1000 //Set min. lot size //TRADE EXECUTION--------------------------------------------------------------- strategy.close_all(equity_stopout) //Close all trades w/equity protector is_open = strategy.opentrades > 0 if(true) strategy.entry("l_en",true,oca_name="a",when=l_en and not is_open) //Long entry strategy.entry("s_en",false,oca_name="a",when=s_en and not is_open) //Short entry strategy.exit("S/L","l_en",loss=stop, profit=target) //Long exit (stop loss) strategy.close("l_en",when=l_ex) //Long exit (exit condition) strategy.exit("S/L","s_en",loss=stop, profit=target) //Short exit (stop loss) strategy.close("s_en",when=s_ex) //Short exit (exit condition) //PLOTTING---------------------------------------------------------------------- plot(kijun_sen,"Kijun-Sen",color.blue,2)