Sistem Multi-Strategi Filter Momentum CCI dan Transformasi Fisher Terbalik Rata-rata Bergerak Tertimbang

WMA CCI IFT 趋势追踪 动量过滤 移动止损 风险管理
Tanggal Pembuatan: 2025-07-02 11:21:39 Akhirnya memodifikasi: 2025-07-31 09:05:52
menyalin: 1 Jumlah klik: 271
2
fokus pada
319
Pengikut

Sistem Multi-Strategi Filter Momentum CCI dan Transformasi Fisher Terbalik Rata-rata Bergerak Tertimbang Sistem Multi-Strategi Filter Momentum CCI dan Transformasi Fisher Terbalik Rata-rata Bergerak Tertimbang

Ringkasan

Strategi ini didasarkan pada dua komponen utama: weighted moving average (WMA) crossover dan inverse Fisher-Changes (IFT) CCI indikator filter system. Strategi ini menentukan arah tren pasar melalui 50 siklus dan 200 siklus WMA crossover, dan menggunakan IFT-CCI indikator filter sinyal kebisingan, dan hanya melakukan perdagangan ketika tren bergerak cukup kuat. Selain itu, strategi ini menggabungkan manajemen risiko yang rumit dan perlindungan keuntungan, termasuk pelacakan stop loss dan stop loss tetap, untuk meningkatkan rasio laba atas risiko perdagangan.

Prinsip Strategi

Strategi ini bekerja berdasarkan beberapa mekanisme utama:

  1. Sistem pengenalan trenStrategi menggunakan 50 siklus dan 200 siklus rata-rata bergerak berbobot ((WMA) sebagai dasar untuk mengidentifikasi tren. Ketika WMA jangka pendek ((50 siklus) di atas WMA jangka panjang ((200 siklus) di bawah WMA jangka pendek di bawah WMA jangka panjang di atas WMA jangka panjang di bawah WMA, sinyal potensial shorting terbentuk.

  2. Mekanisme penyaringanStrategi menggunakan inverse Fisher transformasi (IFT) berdasarkan CCI sebagai filter momentum. Indikator IFT-CCI memberikan sinyal momentum pasar yang lebih jelas dengan mengubah nilai CCI ke dalam kisaran antara -1 dan 1. Hanya pertimbangkan untuk melakukan multi order jika nilai IFT-CCI lebih besar dari 0,5 dan pertimbangkan untuk melakukan blanko order jika lebih kecil dari -0.5.

  3. Konfirmasi sinyal dan keterlambatan masukStrategi dirancang dengan mekanisme “standby” yang unik. Strategi masuk ke “standby” ketika ada sinyal tren tetapi kondisi penyaringan momentum tidak terpenuhi. Strategi hanya melakukan perdagangan setelah kondisi momentum terpenuhi dan arah tren tidak berubah.

  4. Manajemen risiko dinamisStrategi ini mengimplementasikan tracking stop dan fixed stop loss yang didasarkan pada persentase. Tracking stop akan diaktifkan ketika harga mencapai persentase keuntungan yang ditentukan (default 3%) dan otomatis akan ditutup jika penarikan melebihi persentase yang ditetapkan (default 1%). Strategi ini juga menetapkan persentase kerugian maksimum (default 3%), sebagai pertahanan terakhir untuk pengendalian risiko.

  5. Sistem umpan balik visualStrategi menggunakan label dan emoji pada grafik untuk menandai sinyal dan peristiwa penting, termasuk WMA crossover, titik masuk dan keluar perdagangan, meningkatkan visibilitas dan intuisi proses perdagangan.

Dalam implementasi kode, strategi pertama kali menghitung WMA dan IFT-CCI, kemudian berdasarkan indikator ini dan kondisi pasar saat ini untuk menentukan sinyal perdagangan. Logika pelaksanaan perdagangan mencakup beberapa penanganan situasi, seperti perubahan tren, konfirmasi sinyal dan manajemen risiko, untuk memastikan strategi dapat secara fleksibel menanggapi berbagai kondisi pasar.

Keunggulan Strategis

Strategi ini memiliki beberapa keunggulan yang signifikan, yang memungkinkan untuk mempertahankan kinerja yang relatif stabil di berbagai kondisi pasar:

  1. Kemampuan untuk mengidentifikasi tren yang komprehensifDengan kombinasi rata-rata bergerak berbobot jangka pendek dan jangka panjang, strategi dapat secara akurat mengidentifikasi tren pasar utama, menghindari perdagangan yang sering terjadi di pasar horizontal, dan mengurangi biaya transaksi yang tidak perlu.

  2. Filter kebisingan yang efektifReverse Fisher Conversion CCI menyediakan mekanisme penyaringan momentum yang kuat untuk membantu strategi menyaring sejumlah besar kebisingan pasar dan sinyal palsu, yang secara signifikan meningkatkan kualitas sinyal dan tingkat keberhasilan perdagangan.

  3. Mekanisme pengesahan sinyal yang fleksibelDesain “standby” memungkinkan strategi untuk menunggu konfirmasi momentum setelah sinyal tren muncul, dan mekanisme keterlambatan masuk ini secara efektif mengurangi kerugian yang disebabkan oleh false breakout, tanpa melewatkan peluang tren yang sebenarnya.

  4. Sistem Manajemen Risiko DinamisTracking stop and fixed stop loss mechanism strategi memberikan perlindungan risiko yang komprehensif, yang dapat memaksimalkan keuntungan dalam situasi tren dan membatasi kerugian dalam situasi reversal, meningkatkan risiko-return ratio strategi secara signifikan.

  5. Umpan balik visual yang intuitifSistem label dan emoji pada grafik memberikan umpan balik visual yang jelas kepada pedagang, membantu pedagang lebih memahami proses pengambilan keputusan strategis dan kondisi pasar, meningkatkan pengalaman perdagangan dan transparansi strategi.

  6. Adaptasi terhadap karakteristik pasarStrategi dapat beradaptasi dengan kondisi dan siklus pasar yang berbeda, dapat menemukan peluang perdagangan yang tepat baik di pasar tren maupun di pasar yang bergolak, dan menunjukkan kemampuan beradaptasi dan stabilitas yang kuat.

  7. Keunggulan Manajemen EmosiDengan aturan yang jelas dan indikator objektif, strategi mengurangi penilaian subjektif dan pengaruh emosional dalam proses perdagangan, membantu pedagang untuk tetap disiplin dan konsisten, dan meningkatkan stabilitas hasil perdagangan dalam jangka panjang.

Risiko Strategis

Meskipun strategi ini dirancang dengan baik, ada beberapa faktor risiko yang perlu diperhatikan:

  1. Risiko sensitivitas parameterKinerja strategi sangat bergantung pada parameter yang dipilih, seperti siklus WMA, panjang CCI, target laba dan tingkat stop loss. Pengaturan parameter yang tidak tepat dapat menyebabkan optimasi berlebihan atau kinerja yang buruk. Disarankan untuk meminimalkan risiko ini dengan memverifikasi kehandalan parameter dengan pengujian ulang di berbagai kondisi pasar, dan pertimbangkan untuk menggunakan parameter adaptif.

  2. Perubahan tren risiko keterlambatan: Moving averages adalah indikator lag yang mungkin hanya memberi sinyal setelah tren pasar telah berubah. Dalam pasar yang berbalik dengan cepat, keterlambatan ini dapat menyebabkan kerugian yang signifikan. Dapat dipertimbangkan untuk memperkenalkan indikator peringatan dini yang lebih sensitif, seperti tingkat fluktuasi harga atau tingkat perubahan volume, untuk mengidentifikasi perubahan tren potensial lebih awal.

  3. Risiko Terlalu Banyak BerdagangDalam pasar yang bergoyang, WMA dapat sering berselingkuh, menyebabkan terlalu banyak sinyal perdagangan dan biaya perdagangan yang tidak perlu. Meskipun filter IFT-CCI dapat membantu mengurangi masalah ini, Anda harus memantau frekuensi perdagangan dan mempertimbangkan strategi penangguhan sementara di pasar horizontal.

  4. Risiko KetidakrelevananDalam kondisi pasar yang ekstrem, korelasi normal antara indikator dapat gagal sementara, menyebabkan kinerja strategi yang buruk. Disarankan untuk menerapkan mekanisme deteksi kondisi pasar, mengurangi posisi atau menangguhkan perdagangan dalam kondisi pasar yang tidak biasa, untuk mengurangi risiko.

  5. Persentase Risiko Tetap: Strategi menggunakan persentase tetap untuk stop loss dan stop loss, yang mungkin tidak berlaku untuk semua lingkungan pasar. Dalam pasar yang sangat fluktuatif, persentase tetap mungkin terlalu kecil; di pasar yang rendah fluktuatif, mungkin terlalu besar. Pertimbangkan untuk menerapkan tingkat stop loss dan stop loss yang dinamis berdasarkan volatilitas pasar, untuk menyesuaikan diri dengan lingkungan pasar yang berbeda.

  6. Resiko dari perbedaan antara deteksi dan hard diskHasil pengembalian mungkin tidak sepenuhnya mencerminkan situasi perdagangan yang sebenarnya, karena mereka biasanya tidak mempertimbangkan faktor-faktor seperti slippage, penolakan pesanan, masalah likuiditas. Disarankan untuk melakukan perdagangan simulasi sebelum perdagangan langsung, dan awalnya menggunakan posisi yang lebih kecil untuk memverifikasi kinerja strategi dalam lingkungan nyata.

  7. Strategi tunggal bergantung pada risikoTerlalu banyak mengandalkan satu strategi dapat menyebabkan kinerja yang tidak stabil dalam jangka panjang. Disarankan untuk menggunakan strategi ini sebagai bagian dari sistem perdagangan yang lebih luas, dikombinasikan dengan strategi lain yang tidak relevan, untuk menyebarkan risiko dan meningkatkan stabilitas keseluruhan.

Arah optimasi

Berdasarkan analisis logika strategi dan potensi risiko, berikut adalah beberapa arah optimasi yang mungkin:

  1. Optimasi parameter adaptasi: Strategi saat ini menggunakan parameter WMA dan CCI yang tetap. Anda dapat mempertimbangkan untuk menerapkan sistem parameter adaptasi, menyesuaikan parameter ini sesuai dengan volatilitas pasar dan dinamika berkala. Misalnya, menggunakan siklus WMA yang lebih pendek di pasar yang berfluktuasi tinggi dan siklus yang lebih panjang di pasar yang berfluktuasi rendah untuk meningkatkan adaptasi strategi terhadap lingkungan pasar yang berbeda.

  2. Integrasi analisis multi-frame waktuPada dasar dari satu kerangka waktu saat ini, analisis kerangka waktu multi dapat ditambahkan, dengan informasi tren periode yang lebih lama sebagai syarat penyaringan perdagangan. Misalnya, perdagangan hanya dilakukan ketika garis hari dan 4 jam garis tren sesuai, yang dapat meningkatkan kualitas sinyal dan tingkat keberhasilan secara signifikan.

  3. Sistem klasifikasi kondisi pasarIntroduksi sistem klasifikasi kondisi pasar yang membedakan pasar menjadi tren, goyah, dan transisi, dan menggunakan parameter dan strategi perdagangan yang berbeda untuk kondisi pasar yang berbeda. Misalnya, lebih aktif dalam melacak keuntungan di pasar tren yang kuat, dan lebih konservatif dalam menetapkan target di pasar goyah.

  4. Optimalisasi Manajemen Risiko DinamisPengaturan persentase tetap diganti dengan level stop loss dan stop loss yang dinamis berdasarkan ATR (rata-rata real range) atau volatilitas historis. Ini akan membuat manajemen risiko lebih beradaptasi dengan sifat pasar yang benar-benar berfluktuasi dan meningkatkan efisiensi manajemen dana.

  5. Integrasi indikator emosiPertimbangkan untuk mengintegrasikan indikator sentimen pasar (misalnya volume transaksi, tingkat perubahan volatilitas, atau luas pasar) ke dalam sistem penyaringan sinyal. Indikator-indikator ini dapat memberikan informasi tambahan tentang sentimen peserta pasar dan membantu mengidentifikasi potensi tren yang berkelanjutan atau berbalik.

  6. Pembelajaran Mesin: Menggunakan teknologi pembelajaran mesin untuk mengoptimalkan proses pengambilan keputusan strategi, terutama dalam pengakuan sinyal dan manajemen risiko. Model pembelajaran mesin dapat mengidentifikasi titik masuk dan keluar yang optimal berdasarkan data historis, meningkatkan akurasi dan kehandalan strategi.

  7. Analisis relevansi aset terkaitIntroduksi analisis relevansi aset terkait sebagai lapisan konfirmasi sinyal tambahan. Ketika beberapa aset terkait menunjukkan sinyal tren yang konsisten, dapat meningkatkan kredibilitas sinyal dan ukuran posisi perdagangan, meningkatkan efektivitas keseluruhan strategi.

Meringkaskan

Sistem multi-strategi CCI momentum penyaring adalah strategi perdagangan kuantitatif yang komprehensif dan kuat, yang dengan cerdik menggabungkan tiga elemen inti dari trend tracking, momentum penyaring, dan manajemen risiko, membentuk sistem perdagangan yang seimbang dan efisien. Keuntungan utama dari strategi ini adalah mekanisme konfirmasi sinyal bertingkatnya, yang mengidentifikasi arah tren melalui WMA, kemudian mengkonfirmasi kekuatan sinyal melalui filter momentum IFT-CCI, dan akhirnya mencegah terobosan palsu melalui mekanisme “siap”, yang sangat meningkatkan kualitas dan keandalan sinyal perdagangan.

Sementara itu, sistem manajemen risiko dinamis dari strategi yang melindungi keamanan dana dan memaksimalkan keuntungan dalam situasi yang sedang tren, menunjukkan karakteristik pengembalian risiko yang baik. Sistem umpan balik visual meningkatkan ketersediaan dan transparansi strategi, membantu pedagang untuk lebih memahami dan melaksanakan keputusan perdagangan.

Meskipun ada risiko potensial seperti sensitivitas parameter, keterlambatan sinyal, dan adaptasi pasar, risiko ini dapat diatasi dengan cara optimasi yang diusulkan, seperti parameter adaptasi, analisis multi-frame waktu, klasifikasi status pasar, dan manajemen risiko dinamis.

Secara keseluruhan, strategi ini, dengan menyeimbangkan objektivitas analisis teknis dan fleksibilitas manajemen risiko dinamis, dapat mempertahankan kinerja yang relatif stabil dalam berbagai lingkungan pasar, cocok sebagai strategi dasar untuk perdagangan kuantitatif jangka menengah dan panjang. Ini adalah pilihan yang layak dipertimbangkan bagi investor dan pedagang yang mencari metode perdagangan yang andal dan sistematis. Dengan pengoptimalan dan penyesuaian pribadi lebih lanjut, strategi ini berpotensi menjadi sistem perdagangan yang lebih lengkap dan efisien.

Kode Sumber Strategi
//@version=5
//策略初始化:设置策略名称和基本参数
strategy("Intelligent Entry Strategy", overlay=false, default_qty_type=strategy.percent_of_equity, 
    default_qty_value=100)

//WMA移动平均线系统:用于判断市场趋势方向
wmaFast = ta.wma(close, 50);//快速WMA,50周期
wmaSlow = ta.wma(close, 200);//慢速WMA,200周期

//绘制WMA200线:根据快慢线关系显示不同颜色
plot(wmaSlow, title="WMA 200 (Magic Line)", color=wmaFast > wmaSlow ? color.green : color.red, 
    linewidth=2, overlay = true)

//WMA金叉信号:快线上穿慢线时显示绿色标签
if ta.crossover(wmaFast, wmaSlow)
    label.new(bar_index, low, style=label.style_label_up, color=color.green, size=size.small)

//WMA死叉信号:快线下穿慢线时显示红色标签
if ta.crossunder(wmaFast, wmaSlow)
    label.new(bar_index, high, style=label.style_label_down, color=color.red, size=size.small)

//IFT_CCI指标计算:反向费舍尔变换的商品通道指数
cciLength = input(5, "CCI Length");//CCI周期参数
wmaLength = input(9, "Smoothing Length");//WMA平滑周期参数
v11 = 0.1 * (ta.cci(close, cciLength) / 4);//CCI值标准化处理
v21 = ta.wma(v11, wmaLength);//对CCI值进行WMA平滑
iftCciRaw = (math.exp(2 * v21) - 1) / (math.exp(2 * v21) + 1);//反向费舍尔变换公式
iftCci = nz(iftCciRaw[1]);//获取前一根K线的IFT_CCI值,处理空值

//绘制IFT_CCI指标:显示在副图中
plot(iftCciRaw[1], title="IFT_CCI (Mind Reader)", color=color.fuchsia)
hline(0.5, color=color.red);//上临界线
hline(-0.5, color=color.green);//下临界线

//过滤条件设置:基于IFT_CCI值的多空过滤
iftFilterLong = iftCci >= 0.5;//做多过滤条件
iftFilterShort = iftCci <= -0.5;//做空过滤条件

//风险管理参数:设置止盈止损参数
profitPercent = input.float(3.0, title="Profit Trailing Start (%)", minval=0.1);//止盈开始百分比
pullbackPercent = input.float(1.0, title="Trailing Stop Pullback (%)", minval=0.1);//回撤止盈百分比
maxLossPercent = input.float(3.0, title="Maximum Loss Stop (%)", minval=0.1);//最大损失百分比

//状态变量定义:用于跟踪仓位和价格状态
var float entryPrice = na;//进场价格
var float highestPrice = na;//最高价记录
var float lowestPrice = na;//最低价记录
var string activePosition = "none";//当前持仓状态
var bool longReady = false;//多头准备状态
var bool shortReady = false;//空头准备状态

//K线确认状态:确保在K线收盘后执行操作
barClosed = barstate.isconfirmed

//交易信号定义:基于WMA交叉的买卖信号
longSignal = wmaFast > wmaSlow and wmaFast[1] <= wmaSlow[1];//多头信号:快线上穿慢线
shortSignal = wmaFast < wmaSlow and wmaFast[1] >= wmaSlow[1];//空头信号:快线下穿慢线

//多头进场逻辑:处理多头交易的进场条件
if (longSignal and not iftFilterLong and barClosed)
    longReady := true;//如果有多头信号但IFT_CCI条件未满足,设置多头准备状态

if (longSignal and iftFilterLong and barClosed)
    if (activePosition == "short")
        strategy.close("Short");//如果当前持有空头仓位,先平仓
    strategy.entry("Long", strategy.long);//开多头仓位
    entryPrice := close;//记录进场价格
    highestPrice := close;//初始化最高价
    activePosition := "long";//更新仓位状态
    longReady := false;//重置多头准备状态
    //显示多头进场标签
    label.new(bar_index, low, "Long Magic!", style=label.style_label_up, color=color.green, 
        textcolor=color.white, size=size.tiny)

//延迟多头进场:处理之前准备的多头信号
if (longReady and iftFilterLong and wmaFast > wmaSlow and barClosed)
    if (activePosition == "short")
        strategy.close("Short");//平掉空头仓位
    strategy.entry("Long", strategy.long);//开多头仓位
    entryPrice := close;//记录进场价格
    highestPrice := close;//初始化最高价
    activePosition := "long";//更新仓位状态
    longReady := false;//重置多头准备状态
    //显示延迟多头进场标签
    label.new(bar_index, low, "Pending Long Triggered!", style=label.style_label_up, 
        color=color.lime, textcolor=color.black, size=size.tiny)

//空头进场逻辑:处理空头交易的进场条件
if (shortSignal and not iftFilterShort and barClosed)
    shortReady := true;//如果有空头信号但IFT_CCI条件未满足,设置空头准备状态

if (shortSignal and iftFilterShort and barClosed)
    if (activePosition == "long")
        strategy.close("Long");//如果当前持有多头仓位,先平仓
    strategy.entry("Short", strategy.short);//开空头仓位
    entryPrice := close;//记录进场价格
    lowestPrice := close;//初始化最低价
    activePosition := "short";//更新仓位状态
    shortReady := false;//重置空头准备状态
    //显示空头进场标签
    label.new(bar_index, high, "Short Curse!", style=label.style_label_down, color=color.red, 
        textcolor=color.white, size=size.tiny)

//延迟空头进场:处理之前准备的空头信号
if (shortReady and iftFilterShort and wmaFast < wmaSlow and barClosed)
    if (activePosition == "long")
        strategy.close("Long");//平掉多头仓位
    strategy.entry("Short", strategy.short);//开空头仓位
    entryPrice := close;//记录进场价格
    lowestPrice := close;//初始化最低价
    activePosition := "short";//更新仓位状态
    shortReady := false;//重置空头准备状态
    //显示延迟空头进场标签
    label.new(bar_index, high, "Pending Short Triggered!", style=label.style_label_down, 
        color=color.orange, textcolor=color.black, size=size.tiny)

//准备状态重置:当趋势发生反转时重置准备状态
if (longReady and wmaFast < wmaSlow)
    longReady := false;//趋势转空时取消多头准备

if (shortReady and wmaFast > wmaSlow)
    shortReady := false;//趋势转多时取消空头准备

//多头出场逻辑:处理多头仓位的止盈止损
if (activePosition == "long")
    highestPrice := math.max(highestPrice, close);//更新持仓期间最高价
    profitRatio = (highestPrice - entryPrice) / entryPrice * 100;//计算盈利比例
    pullback = (highestPrice - close) / highestPrice * 100;//计算从最高点的回撤比例
    lossRatio = (entryPrice - close) / entryPrice * 100;//计算亏损比例
    
    //移动止盈条件:达到目标盈利且回撤超过设定值时平仓
    if (profitRatio >= profitPercent and pullback >= pullbackPercent)
        strategy.close("Long");//平多头仓位
        activePosition := "none";//重置仓位状态
        //显示止盈平仓标签
        label.new(bar_index, high, "Long Profit Take!", style=label.style_label_down, color=color.teal)
    
    //止损条件:亏损超过最大允许值时平仓
    if (profitRatio < profitPercent and lossRatio >= maxLossPercent)
        strategy.close("Long");//平多头仓位
        activePosition := "none";//重置仓位状态
        //显示止损平仓标签
        label.new(bar_index, high, "Long Stop Loss!", style=label.style_label_down, color=color.red)

//空头出场逻辑:处理空头仓位的止盈止损
if (activePosition == "short")
    lowestPrice := math.min(lowestPrice, close);//更新持仓期间最低价
    profitRatio = (entryPrice - lowestPrice) / entryPrice * 100;//计算盈利比例
    bounce = (close - lowestPrice) / lowestPrice * 100;//计算从最低点的反弹比例
    lossRatio = (close - entryPrice) / entryPrice * 100;//计算亏损比例
    
    //移动止盈条件:达到目标盈利且反弹超过设定值时平仓
    if (profitRatio >= profitPercent and bounce >= pullbackPercent)
        strategy.close("Short");//平空头仓位
        activePosition := "none";//重置仓位状态
        //显示止盈平仓标签
        label.new(bar_index, low, "Short Profit Take!", style=label.style_label_up, color=color.purple)
    
    //止损条件:亏损超过最大允许值时平仓
    if (profitRatio < profitPercent and lossRatio >= maxLossPercent)
        strategy.close("Short");//平空头仓位
        activePosition := "none";//重置仓位状态
        //显示止损平仓标签
        label.new(bar_index, low, "Short Stop Loss!", style=label.style_label_up, color=color.red)