Strategi Pengesanan Pengesahan Trend

Penulis:ChaoZhang, Tarikh: 2024-01-25 11:57:56
Tag:

img

Ringkasan

Logika Strategi

Syarat kemasukan

Pengesahan Trend: Strategi ini menggunakan Supertrend dan MACD untuk mengesahkan arah trend. Pengesahan berganda ini dapat meningkatkan kemungkinan mengenal pasti trend dengan tepat dan menapis isyarat palsu.

Pengesahan VWAP: Strategi ini mempertimbangkan jarak harga ke tahap VWAP. Tahap dinamik ini boleh bertindak sebagai sokongan / rintangan dan menyediakan konteks tambahan untuk keputusan kemasukan.

Syarat keluar

MACD Crossover: Strategi ini menutup kedudukan panjang apabila garis MACD melintasi di bawah garis isyarat dan menutup kedudukan pendek apabila garis MACD melintasi di atas.

Pengurusan Risiko

Stop Loss adaptif: Strategi menetapkan julat stop-loss, yang menyediakan beberapa toleransi untuk turun naik harga kecil. Pendekatan adaptif ini mempertimbangkan turun naik pasaran.

Trailing Stop: Strategi ini menggabungkan mekanisme trailing stop untuk mengunci keuntungan ketika perdagangan bergerak ke arah yang dikehendaki. Ini berpotensi meningkatkan keuntungan semasa trend yang kuat.

Analisis Kelebihan

Pengesahan Indikator Dual: Gabungan Supertrend dan MACD untuk pengesahan trend adalah aspek unik yang menambah lapisan penapisan untuk meningkatkan ketepatan isyarat.

VWAP dinamik: Menggabungkan tahap VWAP memberikan wawasan mengenai sentimen pasaran kerana VWAP sering digunakan oleh peniaga institusi.

Stop Loss dan Trailing adaptif: Julat Stop Loss dan Trailing Stop adaptif boleh menguruskan risiko dengan lebih berkesan dan melindungi keuntungan.

Pencatatan Keuntungan Sebahagian: Cadangan untuk mempertimbangkan pencatatan keuntungan sebahagian pada persilangan MACD membolehkan mendapatkan keuntungan sambil kekal dalam perdagangan.

Analisis Risiko

Pengujian belakang: Uji semula strategi apa pun sebelum penggunaan langsung untuk memahami prestasi di pelbagai keadaan pasaran.

Pengurusan Risiko: Kawal dengan teliti saiz kedudukan dan risiko portfolio keseluruhan walaupun terdapat mekanisme terbina dalam.

Keadaan pasaran: Tidak ada strategi yang berfungsi dengan sempurna dalam semua keadaan pasaran.

Kemudahan penyesuaian: Pasaran berkembang dari masa ke masa. Bersedia untuk menyesuaikan strategi yang diperlukan untuk menyelaraskan dengan dinamik yang berubah.

Arahan pengoptimuman

Pelbagai Jangka Masa: Pertimbangkan untuk memohon jangka masa yang lebih tinggi untuk memanfaatkan trend jangka panjang.

Pengoptimuman Parameter: Uji kombinasi parameter yang berbeza seperti panjang tempoh ATR, julat stop loss dan lain-lain untuk mencari parameter yang optimum.

Mengambil Keuntungan Sebahagian: Menggabungkan peraturan mengambil keuntungan separa yang lebih pasti seperti mengambil keuntungan pada tahap peratusan tertentu.

Pengoptimuman Keadaan: Uji penambahan atau penghapusan peraturan kemasukan atau keluar tertentu untuk mencari keseimbangan yang betul.

Kesimpulan

Strategi ini menawarkan pendekatan yang agak unik untuk menggabungkan trend, momentum dan indikator jumlah untuk mengesahkan trend dan mengenal pasti titik masuk yang berpotensi. Ciri-ciri seperti pengesahan berganda dan hentian adaptif memberikan kelebihan tertentu. Walau bagaimanapun, pengujian balik, pengoptimuman, dan pemantauan menyeluruh adalah penting untuk daya maju jangka panjang mana-mana strategi. Strategi ini menyediakan rangka kerja yang patut diteroka dan disempurnakan lebih lanjut.


/*backtest
start: 2023-12-25 00:00:00
end: 2024-01-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Trend Confirmation Strategy", overlay=true)

// Supertrend Indicator
atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)
[supertrend, direction] = ta.supertrend(factor, atrPeriod)

// MACD Indicator
fast_length = input(title="Fast Length", defval=12)
slow_length = input(title="Slow Length", defval=26)
macd_src = input(title="Source", defval=close)
signal_length = input.int(title="Signal Smoothing",  minval = 1, maxval = 50, defval = 9)
macd_sma_source = input.string(title="Oscillator MA Type",  defval="EMA", options=["SMA", "EMA"])
macd_sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"])

fast_ma = macd_sma_source == "SMA" ? ta.sma(macd_src, fast_length) : ta.ema(macd_src, fast_length)
slow_ma = macd_sma_source == "SMA" ? ta.sma(macd_src, slow_length) : ta.ema(macd_src, slow_length)
macd = fast_ma - slow_ma
signal = macd_sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)

// VWAP Indicator
vwap_hideonDWM = input(false, title="Hide VWAP on 1D or Above")
vwap_src = input(title="VWAP Source", defval=hlc3)

vwap_value = ta.vwap(vwap_src)
vwap_value_long = vwap_value
vwap_value_short = vwap_value

// Entry Criteria
confirm_up_trend = direction > 0 and macd > signal
confirm_down_trend = direction < 0 and macd < signal

// VWAP Confirmation
price_above_vwap = close > vwap_value_long
price_below_vwap = close < vwap_value_short

// Stop Loss and Take Profit
stop_loss_range = input(2, title="Stop Loss Range")
trail_offset = input(0.5, title="Trailing Stop Offset")

stop_loss_long = close - stop_loss_range
stop_loss_short = close + stop_loss_range

// Strategy Entry
if not (vwap_hideonDWM and timeframe.isdwm)
    if confirm_up_trend and price_above_vwap
        strategy.entry("Buy", strategy.long)
    if confirm_down_trend and price_below_vwap
        strategy.entry("Sell", strategy.short)

// Strategy Exit
if macd < signal and macd[1] >= signal[1]
    strategy.close("Buy", comment="MACD Crossover")

if macd > signal and macd[1] <= signal[1]
    strategy.close("Sell", comment="MACD Crossover")

// Plot Supertrend and VWAP
plot(supertrend, color=direction > 0 ? color.green : color.red, title="Supertrend")
plot(vwap_value_long, color=color.blue, title="VWAP Long")
plot(vwap_value_short, color=color.orange, title="VWAP Short")

// Plot MACD Histogram
hist = macd - signal
hist_color = hist >= 0 ? color.green : color.red
plot(hist, style=plot.style_histogram, color=hist_color, title="MACD Histogram")


Lebih lanjut