Purata Pergerakan Berwajaran dan Inverse Fisher Transform Sistem Pelbagai Strategi Penapis Momentum CCI

WMA CCI IFT 趋势追踪 动量过滤 移动止损 风险管理
Tarikh penciptaan: 2025-07-02 11:21:39 Akhirnya diubah suai: 2025-07-31 09:05:52
Salin: 1 Bilangan klik: 271
2
fokus pada
319
Pengikut

Purata Pergerakan Berwajaran dan Inverse Fisher Transform Sistem Pelbagai Strategi Penapis Momentum CCI Purata Pergerakan Berwajaran dan Inverse Fisher Transform Sistem Pelbagai Strategi Penapis Momentum CCI

Gambaran keseluruhan

Sistem penapisan dinamika CCI linear dan reverse Fischer adalah strategi perdagangan kuantitatif yang menggabungkan analisis teknikal dan penapisan dinamika. Strategi ini berdasarkan pada dua komponen utama: penapisan dinamika CCI linear dan reverse Fischer. Strategi ini menentukan arah trend pasaran melalui penapisan WMA 50 dan 200 dan menggunakan isyarat IFT-CCI untuk menapis bunyi bising dan hanya melakukan perdagangan apabila pergerakan tren cukup kuat.

Prinsip Strategi

Strategi ini bekerja berdasarkan beberapa mekanisme utama:

  1. Sistem Pengiktirafan TrendStrategi menggunakan purata bergerak bertimbangan ((WMA) 50 dan 200 kitaran sebagai asas untuk mengenal pasti trend. Apabila WMA jangka pendek ((50 kitaran) di atas WMA jangka panjang ((200 kitaran) di atas, ia membentuk isyarat melakukan lebih berpotensi; apabila WMA jangka pendek di bawah WMA panjang, ia membentuk isyarat melakukan kurang berpotensi.

  2. Mekanisme penapis kuasaStrategi ini menggunakan IFT sebagai penapis momentum. Indeks IFT-CCI memberikan isyarat momentum pasaran yang lebih jelas dengan menukar nilai CCI ke dalam julat antara -1 hingga 1. Hanya pertimbangkan untuk melaksanakan banyak pesanan apabila nilai IFT-CCI lebih besar daripada 0.5, dan pertimbangkan untuk melaksanakan pesanan kosong apabila kurang daripada -0.5.

  3. Pengesahan isyarat dan kelewatan masukStrategi merancang mekanisme “siap sedia” yang unik. Strategi memasuki “siap sedia” apabila terdapat isyarat trend tetapi syarat penapisan momentum tidak dipenuhi. Strategi hanya menjalankan perdagangan apabila syarat momentum dipenuhi dan arah trend tidak berubah.

  4. Pengurusan risiko dinamik: Strategi mewujudkan peratusan yang berasaskan peratusan tracking stop dan mekanisme berhenti tetap. Apabila harga mencapai peratusan keuntungan yang ditetapkan (default 3%) akan mengaktifkan tracking stop; Jika penarikan balik melebihi peratusan yang ditetapkan (default 1%), maka kedudukan kosong secara automatik.

  5. Sistem maklum balas visualStrategi menggunakan label dan emoji pada carta untuk menandakan isyarat dan peristiwa utama, termasuk persimpangan WMA, titik masuk dan keluar perdagangan, meningkatkan penglihatan dan intuisi proses perdagangan.

Dalam pelaksanaan kod, strategi pertama mengira WMA dan IFT-CCI, dan kemudian menentukan isyarat perdagangan berdasarkan petunjuk ini dan keadaan pasaran semasa. Logik pelaksanaan perdagangan merangkumi pelbagai keadaan, seperti perubahan trend, pengesahan isyarat dan pengurusan risiko, untuk memastikan strategi dapat bertindak balas secara fleksibel terhadap keadaan pasaran yang berbeza.

Kelebihan Strategik

Strategi ini mempunyai beberapa kelebihan penting yang membolehkan ia mengekalkan prestasi yang stabil dalam pelbagai keadaan pasaran:

  1. Keupayaan untuk mengenali trend secara menyeluruhDengan menggabungkan purata bergerak bertimbangan jangka pendek dan jangka panjang, strategi dapat mengenal pasti trend pasaran utama dengan tepat, mengelakkan perdagangan yang kerap di pasaran berlawanan arah, dan mengurangkan kos perdagangan yang tidak perlu.

  2. Penapisan bunyi yang berkesanIndeks CCI Reverse Fisher Conversion menyediakan mekanisme penapisan momentum yang kuat untuk membantu menapis banyak bunyi pasaran dan isyarat palsu, meningkatkan kualiti isyarat dan kadar kejayaan perdagangan secara ketara.

  3. Mekanisme pengesahan isyarat yang fleksibelReka bentuk “siap sedia” membolehkan strategi menunggu pengesahan momentum selepas isyarat trend muncul. Mekanisme kemasukan tertunda ini berkesan mengurangkan kerugian akibat penembusan palsu dan tidak kehilangan peluang trend sebenar.

  4. Sistem pengurusan risiko dinamik: Sistem tracking stop dan stop loss tetap strategi menyediakan perlindungan risiko yang komprehensif, memaksimumkan keuntungan dalam keadaan trend, dan mengehadkan kerugian dalam keadaan berbalik, meningkatkan kadar risiko dan pulangan strategi.

  5. Maklum balas visual intuitifSistem label dan emoji pada carta memberikan maklum balas visual yang jelas kepada peniaga, membantu peniaga lebih memahami proses membuat keputusan strategik dan keadaan pasaran, meningkatkan pengalaman perdagangan dan ketelusan strategi.

  6. Ciri-ciri pasaran yang sesuaiStrategi mampu menyesuaikan diri dengan keadaan dan kitaran pasaran yang berbeza, mencari peluang perdagangan yang sesuai di pasaran yang sedang tren atau di pasaran yang bergolak, menunjukkan daya serap dan ketahanan yang kuat.

  7. Kelebihan pengurusan emosiDengan peraturan yang jelas dan penunjuk objektif, strategi mengurangkan penilaian subjektif dan pengaruh emosi dalam proses perdagangan, membantu peniaga mengekalkan disiplin dan konsistensi, dan meningkatkan kestabilan hasil perdagangan dalam jangka panjang.

Risiko Strategik

Walaupun strategi ini direka dengan baik, terdapat beberapa faktor risiko yang perlu diperhatikan:

  1. Risiko sensitiviti parameterPrestasi strategi sangat bergantung pada parameter yang dipilih, seperti kitaran WMA, panjang CCI, sasaran keuntungan dan paras kerugian. Tetapan parameter yang tidak betul boleh menyebabkan pengoptimuman berlebihan atau prestasi yang tidak baik.

  2. Risiko perubahan trend: Rata-rata bergerak adalah penunjuk keterlambatan yang mungkin memberi isyarat hanya selepas trend pasaran telah berubah. Dalam pasaran yang berbalik dengan cepat, kelewatan ini boleh menyebabkan kerugian yang ketara.

  3. Risiko perdagangan berlebihanWMA mungkin sering berselisih dalam pasaran yang bergolak, menyebabkan terlalu banyak isyarat perdagangan dan kos perdagangan yang tidak perlu. Walaupun penapis IFT-CCI dapat membantu mengurangkan masalah ini, anda masih perlu memantau frekuensi perdagangan dan mempertimbangkan strategi penangguhan sementara di pasaran yang bergelombang.

  4. Risiko kegagalan relevansiDalam keadaan pasaran yang melampau, hubungan normal antara indikator mungkin tidak berfungsi sementara, menyebabkan strategi tidak berfungsi dengan baik. Ia disyorkan untuk melaksanakan mekanisme pengesanan keadaan pasaran, mengurangkan kedudukan atau menangguhkan perdagangan dalam keadaan pasaran yang tidak normal untuk mengurangkan risiko.

  5. Risiko peratusan tetapStrategi menggunakan peratusan tetap untuk menghentikan dan menghentikan kerugian, yang mungkin tidak berlaku untuk semua keadaan pasaran. Dalam pasaran yang bergelombang tinggi, peratusan tetap mungkin terlalu kecil; dalam pasaran yang bergelombang rendah, mungkin terlalu besar. Pertimbangkan untuk melaksanakan tahap berhenti dan berhenti yang dinamik berdasarkan turun naik pasaran, untuk menyesuaikan diri dengan lebih baik dengan keadaan pasaran yang berbeza.

  6. Risiko percanggahan dengan cakeraHasil pengesanan semula mungkin tidak sepenuhnya mencerminkan keadaan perdagangan sebenar, kerana mereka biasanya tidak mempertimbangkan faktor-faktor seperti slippage, penolakan pesanan, dan masalah kecairan. Ia disyorkan untuk melakukan perdagangan simulasi sebelum perdagangan langsung, dan pada mulanya menggunakan kedudukan yang lebih kecil untuk mengesahkan bagaimana strategi berfungsi dalam keadaan sebenar.

  7. Strategi tunggal bergantung kepada risikoTerlalu banyak bergantung pada satu strategi boleh menyebabkan kestabilan prestasi jangka panjang. Ia disyorkan untuk menggunakan strategi ini sebagai sebahagian daripada sistem perdagangan yang lebih luas dan digunakan bersama dengan strategi lain yang tidak berkaitan untuk menyebarkan risiko dan meningkatkan kestabilan keseluruhan.

Arah pengoptimuman

Berdasarkan analisis logik strategi dan potensi risiko, berikut adalah beberapa arah yang mungkin untuk pengoptimuman:

  1. Optimasi parameter penyesuaian: Strategi semasa menggunakan parameter WMA dan CCI yang tetap. Anda boleh mempertimbangkan untuk mewujudkan sistem parameter penyesuaian, menyesuaikan parameter ini mengikut turun naik pasaran dan dinamik kitaran. Sebagai contoh, menggunakan kitaran WMA yang lebih pendek di pasaran yang bergolak tinggi, menggunakan kitaran yang lebih lama di pasaran yang bergolak rendah, untuk meningkatkan penyesuaian strategi terhadap keadaan pasaran yang berbeza.

  2. Integrasi analisis pelbagai kerangka masaBerdasarkan satu bingkai masa semasa, analisis bingkai masa yang berbilang boleh ditambahkan untuk memfilter maklumat trend yang lebih lama sebagai syarat perdagangan. Sebagai contoh, perdagangan hanya dijalankan apabila trend garis hari dan garis 4 jam sama, yang dapat meningkatkan kualiti isyarat dan kadar kejayaan.

  3. Sistem klasifikasi keadaan pasaran: Memperkenalkan sistem klasifikasi keadaan pasaran, membahagi pasaran kepada keadaan tren, gegaran dan peralihan, dan menggunakan parameter dan strategi perdagangan yang berbeza untuk keadaan pasaran yang berbeza. Sebagai contoh, lebih aktif untuk menjejaki keuntungan dalam pasaran yang kuat, dan lebih konservatif untuk menetapkan sasaran dalam pasaran yang bergolak.

  4. Pengurusan risiko dinamik yang dioptimumkanPengaturan peratusan tetap digantikan dengan tahap stop loss dan stop loss yang dinamik berdasarkan ATR (Rang Real Rata-rata) atau turun naik sejarah. Ini akan membolehkan pengurusan risiko menyesuaikan diri dengan sifat turun naik pasaran yang sebenarnya dan meningkatkan kecekapan pengurusan wang.

  5. Penunjuk emosi bersepaduPertimbangkan untuk mengintegrasikan penunjuk sentimen pasaran (seperti jumlah transaksi, kadar perubahan kadar turun naik atau lebar pasaran) ke dalam sistem penapisan isyarat. Penunjuk ini boleh memberikan maklumat tambahan mengenai sentimen peserta pasaran dan membantu mengenal pasti kemungkinan trend berterusan atau berbalik.

  6. Pembelajaran Mesin: Menggunakan teknologi pembelajaran mesin untuk mengoptimumkan proses membuat keputusan strategi, terutamanya dalam pengiktirafan isyarat dan pengurusan risiko. Model pembelajaran mesin dapat mengenal pasti titik masuk dan keluar yang optimum berdasarkan data sejarah, meningkatkan ketepatan dan ketahanan strategi.

  7. Analisis relevansi aset: Memperkenalkan analisis hubungan aset yang berkaitan sebagai lapisan pengesahan isyarat tambahan. Apabila beberapa aset yang berkaitan menunjukkan isyarat trend yang konsisten, anda boleh meningkatkan kredibiliti isyarat dan saiz kedudukan perdagangan, meningkatkan keberkesanan keseluruhan strategi.

ringkaskan

Sistem multi-strategi penapis momentum CCI dengan garis berat berat dan reverse Fisher adalah strategi perdagangan kuantitatif yang komprehensif dan kuat, yang menggabungkan tiga elemen teras trend, penapis momentum dan pengurusan risiko dengan bijak, membentuk sistem perdagangan yang seimbang dan cekap. Keuntungan utama strategi ini adalah mekanisme pengesahan isyarat berlapis, yang mengenal pasti arah trend melalui WMA, kemudian melalui penapis momentum IFT-CCI untuk mengukuhkan kekuatan isyarat, dan akhirnya dengan mekanisme “siap sedia” untuk mencegah penembusan palsu, yang meningkatkan kualiti dan kebolehpercayaan isyarat perdagangan.

Pada masa yang sama, sistem pengurusan risiko dinamik strategi ini dapat melindungi keselamatan dana dan memaksimumkan keuntungan dalam keadaan yang sedang tren, dengan ciri-ciri pengembalian risiko yang baik. Sistem maklum balas visual meningkatkan ketersediaan dan ketelusan strategi, membantu peniaga memahami dan melaksanakan keputusan perdagangan dengan lebih baik.

Walaupun terdapat risiko yang berpotensi seperti sensitiviti parameter, kelewatan isyarat, dan kesesuaian pasaran, risiko ini dapat dikurangkan dengan berkesan melalui arah pengoptimuman yang dicadangkan, seperti parameter kesesuaian, analisis jangka masa berbilang, klasifikasi keadaan pasaran, dan pengurusan risiko dinamik.

Secara keseluruhannya, strategi ini dapat mengekalkan prestasi yang agak stabil dalam pelbagai keadaan pasaran dengan menyeimbangkan objektiviti analisis teknikal dan fleksibiliti pengurusan risiko dinamik. Strategi ini sesuai sebagai strategi asas untuk perdagangan kuantitatif jangka menengah dan jangka panjang.

Kod 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)