Sumber dimuat naik... memuat...

Strategi pengesanan trend dengan 200 EMA filter - hanya melakukan lebih banyak

Penulis:ChaoZhang, Tarikh: 2024-05-23 18:07:50
Tag:EMA

多时间框架与200EMA过滤器的趋势跟踪策略 - 仅做多

Ringkasan

Strategi ini adalah strategi pengesanan trend berdasarkan EMA dan penapis EMA tempoh 200 hari. Idea utamanya adalah menggunakan EMA jangka masa yang berlainan untuk mengenal pasti arah trend pasaran, dan membuat banyak kedudukan apabila trend meningkat dan harga di atas EMA tempoh 200 hari. Ini memastikan bahawa perdagangan hanya dilakukan dalam trend kenaikan yang kuat untuk memahami pergerakan kenaikan yang berterusan, sambil menggunakan mekanisme stop loss dan stop loss untuk mengawal risiko.

Strategi ini menggunakan tiga bingkai masa iaitu 5 minit, 15 minit dan 30 minit untuk mengira EMA pantas dan EMA perlahan. Dengan membandingkan EMA pantas dan EMA lambat pada setiap bingkai masa, arah trend dalam bingkai masa itu dapat dipastikan. Kemudian, isyarat trend dari tiga bingkai masa dijumlahkan untuk mendapatkan isyarat trend komprehensif. Apabila isyarat trend komprehensif adalah 3 (iaitu semua bingkai masa adalah isyarat kenaikan) dan harga penutupan semasa berada di atas EMA 200 minit 5 minit; apabila isyarat trend komprehensif lebih rendah daripada 3 atau apabila harga jatuh di bawah EMA 200 minit 5 minit; strategi ini diletakkan di posisi yang rata.

Prinsip-prinsip strategi

  1. EMA pantas (default 9 fasa) dan EMA perlahan (default 21 fasa) yang dikira dalam jangka masa 5 minit, 15 minit dan 30 minit, masing-masing.
  2. EMA 200 hari dikira pada bingkai masa 5 minit, sebagai penapis trend.
  3. Untuk setiap bingkai masa, bandingkan saiz EMA yang cepat dengan EMA yang perlahan, dengan EMA yang cepat naik (+1) dan EMA yang perlahan turun (+-1).
  4. Tambah isyarat trend dari tiga bingkai masa untuk mendapatkan isyarat trend komprehensif yang berpanjangan pada [-3, 3].
  5. Apabila isyarat trend komprehensif sama dengan 3 (peningkatan yang kuat) dan harga penutupan semasa berada di atas EMA 200 minit 5, lebih banyak kedudukan dibuka.
  6. Apabila isyarat trend komprehensif adalah kurang daripada 3 (tendensi menaik semakin lemah) atau harga jatuh di bawah EMA 200 5 minit, harga akan dipadamkan.
  7. Apabila membuka dagangan, stop loss ditetapkan 1% di bawah harga pembukaan dan stop loss ditetapkan 3% di atas harga pembukaan.

Analisis Kelebihan

  1. Dengan menggunakan isyarat trend dalam pelbagai bingkai masa, anda boleh menilai trend pasaran dengan lebih menyeluruh dan mengurangkan isyarat palsu.
  2. Penapis EMA 200 memastikan perdagangan hanya dalam trend menaik yang kuat dan meningkatkan kadar kejayaan.
  3. Syarat-syarat pembukaan yang ketat dan penahan stop loss membantu mengawal risiko dan meningkatkan keuntungan daripada risiko.
  4. Parameter boleh disesuaikan untuk pasaran dan gaya dagangan yang berbeza.

Analisis risiko

  1. Pada titik perubahan trend, tindak balas mungkin lebih lambat dan kehilangan masa penyimpanan yang optimum.
  2. Peningkatan harga perdagangan boleh disebabkan oleh kerapnya pembukaan kedudukan.
  3. Kedudukan stop loss tetap, dan mungkin akan dikeluarkan dengan stop loss lebih awal dalam pasaran yang lebih berubah-ubah.
  4. Penghakiman trend berdasarkan data sejarah, mungkin tidak bertindak balas dengan cepat terhadap turun naik harga yang disebabkan oleh kejadian mendadak.

Arah pengoptimuman

  1. Memperkenalkan lebih banyak bingkai masa atau mengoptimumkan bingkai masa yang ada untuk meningkatkan keakuran dan ketepatan masa penilaian trend.
  2. Pengoptimuman kedudukan stop loss dan stop loss, seperti pengenalan stop loss atau stop loss dinamik, untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
  3. Di samping isyarat trend, isyarat lain seperti jumlah dagangan, momentum dan lain-lain diperkenalkan, membentuk pelbagai faktor untuk membuka kedudukan yang stabil, meningkatkan kestabilan strategi.
  4. Mengoptimumkan parameter untuk mencari kombinasi parameter yang paling sesuai dengan pasaran semasa.
  5. Mengambil kira untuk menyertai mekanisme kerja kosong dan meluaskan jangkauan penerapan.

Ringkasan

Strategi ini menentukan arah trend dengan membandingkan EMA pada pelbagai bingkai masa, sambil menggunakan EMA tempoh 200 sebagai penapis trend, dan membina banyak kedudukan untuk menangkap pergerakan bullish yang kuat apabila trend jelas ke atas dan harga di atas garis purata jangka panjang. Keadaan pembukaan yang ketat dan stop loss yang tetap membantu mengawal risiko. Tetapi strategi ini mungkin bertindak balas lambat pada titik perubahan trend, dan posisi stop loss yang tetap, yang mempunyai keterbatasan dalam menangani turun naik pasaran secara tiba-tiba. Masa depan boleh meningkatkan fleksibiliti dan kestabilan strategi dengan memperkenalkan lebih banyak bingkai masa, mengoptimumkan stop loss, memasukkan lebih banyak isyarat dagangan, mengoptimumkan parameter, dan lain-lain, yang membolehkan mereka memahami peluang pasaran dan mengawal risiko dengan lebih baik.


/*backtest
start: 2023-05-17 00:00:00
end: 2024-05-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Multi-Timeframe Trend Following with 200 EMA Filter - Longs Only", shorttitle="MTF_TF_200EMA_Longs", overlay=true, initial_capital=1000, default_qty_type=strategy.fixed, default_qty_value=1)

// Inputs
fast_length = input.int(9, title="Fast EMA Length", minval=1)
slow_length = input.int(21, title="Slow EMA Length", minval=1)
filter_length_200 = input.int(200, title="200 EMA Length", minval=1)
stop_loss_perc = input.float(1.0, title="Stop Loss Percentage", minval=0.1) / 100
take_profit_perc = input.float(3.0, title="Take Profit Percentage", minval=0.1) / 100

// Calculate EMAs for 5-minute, 15-minute, and 30-minute timeframes
ema_fast_5min = request.security(syminfo.tickerid, "5", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on)
ema_slow_5min = request.security(syminfo.tickerid, "5", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on)

ema_fast_15min = request.security(syminfo.tickerid, "15", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on)
ema_slow_15min = request.security(syminfo.tickerid, "15", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on)

ema_fast_30min = request.security(syminfo.tickerid, "30", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on)
ema_slow_30min = request.security(syminfo.tickerid, "30", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on)

// Calculate 200 EMA for the 5-minute timeframe
ema_200_5min = ta.ema(close, filter_length_200)

// Determine the trend for each timeframe
trend_5min = ema_fast_5min > ema_slow_5min ? 1 : -1
trend_15min = ema_fast_15min > ema_slow_15min ? 1 : -1
trend_30min = ema_fast_30min > ema_slow_30min ? 1 : -1

// Combine trend signals
combined_trend = trend_5min + trend_15min + trend_30min

// Define entry and exit conditions with 200 EMA filter
enter_long = combined_trend == 3 and close > ema_200_5min
exit_long = combined_trend < 3 or close < ema_200_5min

// Plot EMAs for the 5-minute timeframe
plot(ema_fast_5min, color=color.blue, linewidth=2, title="Fast EMA 5min")
plot(ema_slow_5min, color=color.red, linewidth=2, title="Slow EMA 5min")
plot(ema_200_5min, color=color.green, linewidth=2, title="200 EMA 5min")

// Strategy execution
if (enter_long)
    strategy.entry("Long", strategy.long, stop=close * (1 - stop_loss_perc), limit=close * (1 + take_profit_perc))
if (exit_long)
    strategy.close("Long")


Kandungan berkaitan

Lebih lanjut