Strategi TRMMA adalah strategi yang menggabungkan Indeks Kekuatan Relatif (RSI) dan Indeks Kekuatan Sejati (TSI). Strategi ini menggunakan indikator RSI dan TSI untuk menghasilkan sinyal beli dan jual, dengan moving average untuk optimasi strategi.
Strategi ini terdiri dari bagian-bagian utama berikut:
Perhitungan TSI Menghitung nilai eksponen rata dari tingkat perubahan harga melalui double exponential smoothing, kemudian membagi dengan nilai eksponen rata dari tingkat absolut perubahan harga untuk mendapatkan indikator TSI. jangka panjang adalah 25 hari, jangka pendek adalah 5 hari, dan garis sinyal adalah 14 hari.
Perhitungan RSI Indikator RSI dengan harga dekat sebagai input dan durasi 5 hari.
Penghakiman Sinyal Sinyal beli dihasilkan ketika TSI melintasi di atas garis sinyalnya dan RSI melintasi di atas 50.
Mewarnai Lilin Mewarnai lilin berdasarkan sinyal untuk membantu penilaian.
Parameter Strategi Tetapkan parameter seperti rasio posisi dan modal.
Strategi ini menggabungkan indikator TSI dan RSI untuk secara efektif menilai tren pasar dan situasi overbought/oversold, sehingga menghasilkan sinyal perdagangan. Dibandingkan dengan menggunakan TSI atau RSI saja, strategi ini dapat menyaring lebih banyak sinyal palsu. Selain itu, dibandingkan dengan parameter default, strategi ini mengadopsi pengaturan parameter TSI dan RSI yang lebih agresif untuk mendapatkan sinyal perdagangan yang lebih awal dan berkualitas lebih tinggi.
Risiko utama dari strategi ini meliputi:
Risiko optimasi parameter. Parameter optimal TSI dan RSI dapat berbeda di pasar, produk, dan kerangka waktu. Parameter perlu dioptimalkan untuk situasi tertentu.
Risiko pembalikan tren. Strategi itu sendiri berfokus pada tren. Kejadian mendadak yang menyebabkan penyesuaian jangka pendek atau pembalikan tren jangka menengah hingga panjang akan menghasilkan kerugian yang lebih besar untuk strategi.
Risiko sinyal yang sering. Dibandingkan dengan parameter default, strategi ini menggunakan pengaturan parameter yang lebih agresif, yang dapat menghasilkan sinyal perdagangan yang lebih sering, membawa biaya perdagangan yang lebih tinggi dan kesulitan implementasi.
Strategi dapat dioptimalkan dalam aspek berikut:
Lebih lanjut menyaring sinyal dengan menggabungkan dengan moving average dan indikator lain untuk mengurangi perdagangan yang sering.
Uji kombinasi optimal dari parameter TSI dan RSI di pasar dan produk yang berbeda untuk menemukan pengaturan parameter terbaik.
Meningkatkan strategi stop loss untuk mengendalikan risiko kerugian tunggal.
Mengoptimalkan manajemen posisi, meningkatkan posisi ketika tren lebih kuat, dan mengurangi posisi ketika tren menjadi lemah.
Strategi TRMMA menggabungkan indikator TSI dan RSI untuk menentukan waktu masuk dan keluar, dengan kemampuan menangkap tren yang kuat. Dibandingkan dengan menggunakan TSI atau RSI saja, strategi ini dapat secara efektif menyaring sinyal palsu. Stabilitas strategi dapat ditingkatkan lebih lanjut melalui optimasi parameter, strategi stop loss, manajemen posisi, dll. Strategi ini cocok untuk investor dengan beberapa dasar kuantitatif yang mengejar pengembalian yang tinggi.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // "True relative Movement" or "TRM" for short is a system that combines my two favorite indicators: RSI and TSI. I strived to put together an indicator that combined the best of both // in order to help discretionary traders predict market direction, weakness and strength. As with most technical indicators there are "Buy and sell" signals. Similiar to Elder Impulse system, ///TRM paints bars 3 different colors to display 3 different conditions: Blue for "Buy", Pink for "Sell", and gray for "Take profit/Hold". When the bars turn blue, that means all conditions /// have been met. When they turn pink, no conditions have been met. When they are gray, only one condition has been met. The system is simple, yet effective. A buy signal is prodcued when /// TSI is above the signal line, and RSI is above 50, and vice versa for sell signals. I have modified the default parameters for TSI and RSI for more "aggressive" entries and exits. I may later on /// name this condition "Fast-TRM" and "Slow-TRM" for when default settings for TSI and RSI are applies, as this is a very robust system as well. ///******ES 1HR, 15MIN/5MIN SYSTEM***** Go long, when all time frame on a buy signal and vice versa. Take profit when the 5 min chart flips to buy or sell depending on what side of the trade you are on. Close or flip //// long/short when time all time frames flip to Buy/Hold if short and Sell/Hold if long. Use 20EMA for additional confirmation. //@version=4 strategy("TKP-TRM Strategy", overlay=true) Note = input( 0, title = "TSI standard values are 25, 13, 13, and RSI is 14. Can change the default values to these for 'Slow TRM'") long = input(title="TSI-Long Length", type=input.integer, defval=25) short = input(title="TSI-Short Length", type=input.integer, defval=5) signal = input(title="TSI-Signal Length", type=input.integer, defval=14) price = close double_smooth(src, long, short) => fist_smooth = ema(src, long) ema(fist_smooth, short) pc = change(price) double_smoothed_pc = double_smooth(pc, long, short) double_smoothed_abs_pc = double_smooth(abs(pc), long, short) tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc) TSI_Signal_Line = (ema(tsi_value, signal)) /////////////////////////////RSI//////////////////////////////////////////////// src = close, len = input(5, minval=1, title="RSILength") up = rma(max(change(src), 0), len) down = rma(-min(change(src), 0), len) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) rsiBuyfilterlevel = input(50, minval = 1, title = "RSI cross above Buy Level") rsiSellfilterlevel = input(50, minval = 1, title = "RSI cross below Sell Level") ////////////////////////////Bar Coloring////////////////////////////////////////////////////////// TRM_Buy = ((tsi_value > TSI_Signal_Line) and (rsi > rsiBuyfilterlevel)) TRM_Sell = ( (tsi_value < TSI_Signal_Line) and (rsi <rsiSellfilterlevel)) TRM_Color = TRM_Buy? #3BB3E4 : TRM_Sell? #FF006E : #b2b5be barcolor(TRM_Color) ///////////////////////////Strategy Paramters//////////////////////////////////////// if (TRM_Buy) strategy.entry("Long", strategy.long, comment="Long") if (TRM_Sell) strategy.close("Long", comment="Sell")