
Strategi ini berdasarkan kepada dua set parameter yang berbeza, iaitu indikator hypertrend dan indikator CCI, yang bertujuan untuk menangkap turun naik harga garis pendek dan melakukan perdagangan frekuensi tinggi. Indikator hypertrend menilai arah trend harga dengan mengira ATR secara dinamik; manakala indikator CCI digunakan untuk menentukan sama ada pasaran terlalu banyak membeli atau terlalu banyak menjual. Strategi ini menggabungkan kedua-duanya untuk membentuk isyarat perdagangan.
Menggunakan ATR 14 kitaran untuk mengira tren cepat, faktor tetapan adalah 3; menggunakan ATR 14 kitaran untuk mengira tren perlahan, faktor tetapan adalah 6. Tren cepat lebih sensitif dan dapat menangkap perubahan jangka pendek; tren perlahan menilai arah trend utama.
Apabila laju melampaui trend melintasi harga, dan perlahan melampaui trend masih di atas harga, menilai sebagai mungkin isyarat pembalikan, lakukan lebih banyak; apabila laju melampaui trend melintasi harga, dan perlahan melampaui trend masih di bawah harga, menilai sebagai mungkin isyarat pembalikan, buat kosong.
Pada masa yang sama, menggunakan CCI untuk menilai keadaan pasaran overbuy oversell. CCI lebih tinggi daripada 100 ketika pasaran adalah overbuy, di bawah 100 ketika pasaran adalah oversold.
Dalam kes overbought dan oversold, indikator hypertrend lebih cenderung untuk memberi isyarat pembalikan, yang merupakan logik utama strategi tersebut.
Gabungan antara penilaian overtrend dan titik balik trend dan penilaian overbought dan oversold oleh CCI, dapat menyaring penembusan palsu dan meningkatkan kualiti isyarat.
Pergerakan yang cepat dan beransur-ansur melangkaui trend membentuk isyarat dagangan, mewujudkan frekuensi keluar masuk yang tinggi.
Parameter CCI dan parameter super trend boleh disesuaikan secara fleksibel untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
Strategi yang jelas dan mudah difahami, dan parameter yang mudah disesuaikan.
Super trend sendiri mempunyai kelewatan masa, dan mungkin terlepas peluang pertama untuk berbalik. Anda boleh mencuba memendekkan kitaran ATR.
CCI mempunyai risiko penyesuaian semula, turun naik yang terlalu besar juga boleh menyebabkan perdagangan berulang. Anda boleh mencuba parameter CCI yang lebih besar atau menyesuaikan sempadan.
Perdagangan frekuensi tinggi mudah meningkatkan frekuensi perdagangan dan beban bayaran. Ia disyorkan untuk menyesuaikan masa pegangan dan mengurangkan frekuensi pembukaan kedudukan rendah.
Kombinasi parameter boleh dioptimumkan secara berulang, mencari parameter optimum berdasarkan parameter seperti pengunduran maksimum atau nisbah untung rugi.
Kaedah pembelajaran mesin seperti hutan rawak boleh digabungkan untuk memilih ciri untuk parameter, untuk mencapai pengoptimuman parameter secara automatik.
Anda boleh cuba untuk mengawal risiko dengan menghadkan jumlah maksimum yang boleh dibuka dalam tempoh tertentu.
Strategi ini memanfaatkan penunjuk hypertrend untuk menentukan titik perubahan trend jangka pendek, ditambah dengan isyarat penapis penunjuk CCI. Apabila parameter ditetapkan dengan munasabah, perdagangan garis pendek yang cekap dapat dicapai. Tetapi juga perlu waspada terhadap pelbagai jenis risiko yang dibawa oleh perdagangan yang terlalu kerap, dengan penyesuaian parameter dan pengoptimuman algoritma yang terus meningkat, dapat memperoleh prestasi strategi yang lebih baik.
/*backtest
start: 2023-02-25 00:00:00
end: 2024-02-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="Stochastic RSI Strategy", shorttitle="StochRSI", overlay=true)
rsiLength = input.int(14, title="RSI Length")
stochLength = input.int(14, title="Stochastic Length")
kSmooth = input.int(3, title="K Smooth")
dSmooth = input.int(3, title="D Smooth")
oversoldLevel = input(10, title="Oversold Level")
overboughtLevel = input(90, title="Overbought Level")
rsi = ta.rsi(close, rsiLength)
stochRsi = ta.stoch(rsi, rsi, rsi, stochLength)
longCondition = stochRsi < oversoldLevel
shortCondition = stochRsi > overboughtLevel
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
if (shortCondition)
strategy.close("Long")
if (longCondition)
strategy.close("Short")
plotshape(longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)