Sumber dimuat naik... memuat...

Trend Multi-Timeframe Mengikuti Strategi dengan 200 EMA Filter - Lama sahaja

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

img

Ringkasan

Strategi ini adalah strategi yang mengikuti trend berdasarkan purata bergerak eksponen (EMA) pelbagai jangka masa dan penapis EMA 200 tempoh. Idea utama adalah untuk menggunakan EMA pada jangka masa yang berbeza untuk mengenal pasti arah trend pasaran dan menubuhkan kedudukan panjang apabila trend meningkat dan harga di atas EMA 200 tempoh. Ini memastikan bahawa dagangan hanya dimasukkan semasa aliran naik yang kuat, bertujuan untuk menangkap pergerakan menaik yang berterusan sambil menguruskan risiko dengan mekanisme stop-loss dan mengambil keuntungan yang ditakrifkan.

Strategi ini menggunakan tiga bingkai masa: 5 minit, 15 minit, dan 30 minit, mengira EMA pantas dan perlahan untuk masing-masing. Dengan membandingkan EMA pantas dan perlahan untuk setiap bingkai masa, arah trend dapat ditentukan. Isyarat trend dari tiga bingkai masa kemudiannya dijumlahkan untuk mendapatkan isyarat trend gabungan. Apabila isyarat trend gabungan adalah 3 (menunjukkan aliran menaik di semua bingkai masa) dan harga penutupan semasa di atas EMA 200 tempoh pada bingkai masa 5 minit, strategi memasuki kedudukan panjang. Posisi ditutup apabila isyarat trend gabungan jatuh di bawah 3 atau harga jatuh di bawah EMA 200 tempoh 5 minit.

Prinsip Strategi

  1. Mengira EMA pantas (default 9 tempoh) dan EMA perlahan (default 21 tempoh) untuk jangka masa 5 minit, 15 minit, dan 30 minit.
  2. Mengira EMA 200 tempoh pada jangka masa 5 minit sebagai penapis trend.
  3. Untuk setiap jangka masa, bandingkan EMA yang cepat dan perlahan.
  4. Jumlah isyarat trend dari tiga jangka masa untuk mendapatkan isyarat trend gabungan dalam julat [-3, 3].
  5. Masukkan kedudukan panjang apabila isyarat trend gabungan sama dengan 3 (utara yang kuat) dan harga penutupan semasa berada di atas EMA 200 minit 5.
  6. Tutup kedudukan apabila isyarat trend gabungan jatuh di bawah 3 (pergerakan menaik lemah) atau harga jatuh di bawah EMA 200 tempoh 5 minit.
  7. Tetapkan stop-loss 1% di bawah harga masuk dan mengambil keuntungan 3% di atas harga masuk.

Kelebihan

  1. Dengan menggunakan isyarat trend dari pelbagai jangka masa, strategi dapat menilai lebih komprehensif trend pasaran dan mengurangkan isyarat palsu.
  2. Penapis EMA 200 tempoh memastikan bahawa dagangan hanya dimasukkan semasa aliran naik yang kuat, meningkatkan kadar kejayaan.
  3. Syarat kemasukan dan keluar yang ketat, bersama dengan stop-loss dan mengambil keuntungan, membantu mengawal risiko dan meningkatkan nisbah risiko-balasan.
  4. Parameter yang boleh diselaraskan menjadikan strategi dapat disesuaikan dengan pasaran dan gaya perdagangan yang berbeza.

Risiko

  1. Strategi ini mungkin bertindak balas perlahan pada titik perubahan trend, kehilangan peluang kemasukan yang optimum.
  2. Masuk dan keluar yang kerap boleh meningkatkan kos perdagangan.
  3. Tahap stop-loss tetap boleh membawa kepada keluar awal di pasaran yang sangat tidak menentu.
  4. Penentuan trend adalah berdasarkan data sejarah dan mungkin tidak bertindak balas dengan segera terhadap pergerakan harga tiba-tiba yang disebabkan oleh peristiwa yang tidak dijangka.

Arahan pengoptimuman

  1. Memperkenalkan lebih banyak jangka masa atau mengoptimumkan pemilihan jangka masa yang sedia ada untuk meningkatkan ketepatan dan ketepatan masa pengenalan trend.
  2. Mengoptimumkan paras stop-loss dan take-profit, seperti melaksanakan trailing stop atau take-profit dinamik, untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
  3. Menggabungkan isyarat tambahan seperti jumlah, momentum, dan lain-lain, bersama-sama dengan isyarat trend untuk membentuk keadaan kemasukan dan keluar pelbagai faktor, meningkatkan kekuatan strategi.
  4. Mengoptimumkan parameter untuk mencari kombinasi yang paling sesuai untuk pasaran semasa.
  5. Pertimbangkan untuk menambah mekanisme jualan pendek untuk memperluaskan penerapan strategi ini.

Ringkasan

Strategi ini menentukan arah trend dengan membandingkan EMA pada beberapa jangka masa sambil menggunakan EMA 200-periode sebagai penapis trend. Ia menubuhkan kedudukan panjang apabila trend jelas menaik dan harga di atas purata bergerak jangka panjang, bertujuan untuk menangkap trend menaik yang kuat. Syarat masuk dan keluar yang ketat dan paras stop-loss dan take-profit tetap membantu menguruskan risiko. Walau bagaimanapun, strategi ini mungkin bertindak balas perlahan pada titik perubahan trend dan mempunyai batasan dalam menangani turun naik pasaran tiba-tiba kerana tahap stop-loss dan take-profit tetap. Pada masa akan datang, kebolehsesuaian dan ketahanan strategi dapat ditingkatkan dengan memperkenalkan lebih banyak kerangka masa, mengoptimumkan tahap stop-loss dan mengambil keuntungan, menggabungkan isyarat perdagangan tambahan, mengoptimumkan parameter, dll. Ini akan membolehkan strategi untuk memanfaatkan peluang pasaran dengan lebih baik sambil mengawal risiko.


/*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")


Berkaitan

Lebih lanjut