Strategi Pergerakan Rata-rata Bergerak

Penulis:ChaoZhang, Tarikh: 2024-01-30 16:04:19
Tag:

img

Ringkasan

Strategi Purata Bergerak Relatif (TRMMA) adalah strategi trend yang menggabungkan Indeks Kekuatan Relatif (RSI) dan Indeks Kekuatan Benar (TSI). Ia menggunakan penunjuk RSI dan TSI untuk menghasilkan isyarat beli dan jual, dengan purata bergerak untuk pengoptimuman strategi.

Prinsip-prinsip

Strategi ini terdiri daripada bahagian utama berikut:

  1. Pengiraan STI Mengira nilai padu eksponensial kadar perubahan harga melalui padu eksponensial berganda, kemudian membahagikannya dengan nilai padu eksponensial kadar perubahan harga mutlak untuk mendapatkan penunjuk TSI. jangka panjang adalah 25 hari, jangka pendek adalah 5 hari, dan garis isyarat adalah 14 hari.

  2. Pengiraan RSI Indikator RSI dengan harga penutupan sebagai input dan tempoh 5 hari.

  3. Penghakiman Isyarat Isyarat beli dihasilkan apabila TSI melintasi di atas garis isyaratnya dan RSI melintasi di atas 50. Isyarat jual dihasilkan apabila TSI melintasi di bawah garis isyaratnya dan RSI melintasi di bawah 50.

  4. Warna Lilin Warna lilin berdasarkan isyarat untuk membantu penilaian.

  5. Parameter Strategi Tetapkan parameter seperti nisbah kedudukan dan modal.

Analisis Kelebihan

Strategi ini menggabungkan penunjuk TSI dan RSI untuk menilai dengan berkesan trend pasaran dan situasi overbought / oversold, dengan itu menjana isyarat perdagangan. Berbanding dengan menggunakan TSI atau RSI sahaja, ia boleh menapis lebih banyak isyarat palsu. Di samping itu, berbanding dengan parameter lalai, strategi ini mengamalkan tetapan parameter TSI dan RSI yang lebih agresif untuk mendapatkan isyarat perdagangan yang lebih awal dan berkualiti tinggi.

Analisis Risiko

Risiko utama strategi ini termasuk:

  1. Risiko pengoptimuman parameter. Parameter optimum TSI dan RSI mungkin berbeza di pasaran, produk, dan jangka masa. Parameter perlu dioptimumkan untuk situasi tertentu.

  2. Risiko pembalikan trend. Strategi itu sendiri memberi tumpuan kepada trend. Kejadian mendadak yang menyebabkan penyesuaian jangka pendek atau pembalikan trend jangka sederhana hingga panjang akan mengakibatkan kerugian yang lebih besar untuk strategi.

  3. Risiko isyarat yang kerap. Berbanding dengan parameter lalai, strategi ini menggunakan tetapan parameter yang lebih agresif, yang boleh menghasilkan isyarat perdagangan yang lebih kerap, membawa kos perdagangan yang lebih tinggi dan kesukaran pelaksanaan.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dalam aspek berikut:

  1. Lebih lanjut penapis isyarat dengan menggabungkan dengan purata bergerak dan penunjuk lain untuk mengurangkan perdagangan yang kerap.

  2. Uji gabungan yang optimum antara parameter TSI dan RSI di pasaran dan produk yang berbeza untuk mencari tetapan parameter yang terbaik.

  3. Meningkatkan strategi stop loss untuk mengawal risiko kerugian tunggal.

  4. Mengoptimumkan pengurusan kedudukan, meningkatkan kedudukan apabila trend lebih kuat, dan mengurangkan kedudukan apabila trend menjadi lemah.

Kesimpulan

Strategi TRMMA menggabungkan penunjuk TSI dan RSI untuk menentukan masa masuk dan keluar, dengan keupayaan menangkap trend yang kuat. Berbanding dengan menggunakan TSI atau RSI sahaja, ia dapat menapis isyarat palsu dengan berkesan. Kestabilan strategi dapat ditingkatkan lagi melalui pengoptimuman parameter, strategi stop loss, pengurusan kedudukan, dll. Strategi ini sesuai untuk pelabur dengan beberapa asas kuantitatif yang mengejar pulangan 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")





Lebih lanjut