Strategi ini adalah strategi perdagangan mata wang kripto berdasarkan gabungan penunjuk MACD dan penunjuk stokastik. Ia menghasilkan isyarat perdagangan dengan mengira penunjuk MACD harga bitcoin dan menerapkan penunjuk stokastik padanya, untuk menangkap perubahan trend di pasaran mata wang kripto.
Strategi ini mula-mula mengira penunjuk MACD. MACD bermaksud Moving Average Convergence Divergence, yang merupakan penunjuk trend. Ia terdiri daripada garis pantas dan garis perlahan, di mana garis pantas adalah purata bergerak eksponensial jangka pendek dan garis perlahan adalah purata bergerak eksponensial jangka panjang. Apabila garis pantas melintasi di atas garis perlahan, ia menghasilkan isyarat salib emas, menunjukkan pasaran bullish. Apabila garis pantas melintasi di bawah garis perlahan, ia menghasilkan isyarat salib kematian, menunjukkan pasaran bearish.
Selepas mengira penunjuk MACD, strategi ini menggunakan penunjuk stokastik %K pada MACD itu sendiri.
%K = (Tutup semasa - Minimum Minimum selama N tempoh) / (Meningkat tertinggi selama N tempoh - Minimum Minimum selama N tempoh) * 100
Indikator stokastik mencerminkan penyimpangan harga dari julat baru-baru ini. Pergolakan %K antara 20-80 mewakili harga yang berdagang dalam penyatuan. Apabila %K melintasi di atas 20 dari bawah, ia menghasilkan isyarat beli. Apabila %K melintasi di bawah 80 dari atas, ia menghasilkan isyarat jual.
Strategi ini menggabungkan isyarat dagangan dari kedua-dua MACD dan %K stokastik untuk berdagang di pasaran mata wang kripto. Ia menghasilkan isyarat beli apabila %K melintasi di atas 20 dan isyarat jual apabila %K melintasi di bawah 80.
Strategi ini menggabungkan analisis trend dan penunjuk overbought-oversold, yang dapat secara berkesan mengenal pasti titik perubahan penting di pasaran. berbanding dengan menggunakan MACD atau stochastic sahaja, kombinasi %K dan MACD meningkatkan kebolehpercayaan isyarat perdagangan dan mengurangkan isyarat palsu.
Di samping itu, strategi ini menggunakan penunjuk teknikal yang biasa digunakan di pasaran saham untuk perdagangan cryptocurrency. Ini adalah aplikasi rentas pasaran. Penunjuk ini sama-sama boleh digunakan di pasaran mata wang digital, dan mungkin lebih baik kerana turun naiknya mata wang kripto yang tinggi.
Risiko terbesar strategi ini adalah turun naik yang tinggi di pasaran mata wang kripto, yang dengan mudah menghasilkan isyarat palsu dan membawa kepada kerugian perdagangan.
Untuk mengawal risiko ini, adalah dinasihatkan untuk menggunakan stop loss bergerak untuk mengunci keuntungan dan mengelakkan kerugian lanjut. Pada masa yang sama, parameter juga boleh diselaraskan dengan sewajarnya untuk menemui lebih banyak peluang berpotensi menggunakan panjang jangka masa yang berbeza.
Pertama, strategi boleh cuba menggabungkan purata bergerak dengan penunjuk turun naik seperti Bollinger Bands, menetapkan parameter turun naik untuk mengenal pasti kesahihan pecah dan mengelakkan isyarat palsu.
Kedua, model pembelajaran mesin boleh diperkenalkan untuk melatih data sejarah dan mewujudkan model hutan rawak atau model rangkaian saraf LSTM untuk membantu menilai keberkesanan isyarat penunjuk.
Ketiga, tambahkan mekanisme stop loss. Apabila harga bergerak lebih daripada julat tertentu ke arah yang tidak baik, secara automatik mencetuskan stop loss untuk mengawal risiko.
Strategi ini menggabungkan penunjuk MACD dan penunjuk stokastik %K, menggunakan kaedah pengesahan isyarat antara dua penunjuk untuk merumuskan strategi perdagangan mata wang kripto. Strategi penunjuk gabungan ini dapat meningkatkan ketepatan isyarat ke tahap tertentu. Tetapi kita juga perlu sedar risiko terlalu rumit indikator, yang boleh memperkenalkan kesan bunyi bising dan kelewatan. Penyesuaian parameter yang betul dan kawalan risiko mengikut persekitaran pasaran yang berbeza sama pentingnya untuk mendapatkan prestasi strategi yang lebih baik.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Schaff Trend Cycle Strategy", shorttitle="STC Backtest", overlay=true) fastLength = input(title="MACD Fast Length", defval=23) slowLength = input(title="MACD Slow Length", defval=50) cycleLength = input(title="Cycle Length", defval=10) d1Length = input(title="1st %D Length", defval=3) d2Length = input(title="2nd %D Length", defval=3) src = input(title="Source", defval=close) highlightBreakouts = input(title="Highlight Breakouts ?", type=bool, defval=true) macd = ema(src, fastLength) - ema(src, slowLength) k = nz(fixnan(stoch(macd, macd, macd, cycleLength))) d = ema(k, d1Length) kd = nz(fixnan(stoch(d, d, d, cycleLength))) stc = ema(kd, d2Length) stc := stc > 100 ? 100 : stc < 0 ? 0 : stc upper = input(75, defval=75) lower = input(25, defval=25) long = crossover(stc, lower) ? lower : na short = crossunder(stc, upper) ? upper : na long_filt = long and not short short_filt = short and not long prev = 0 prev := long_filt ? 1 : short_filt ? -1 : prev[1] long_final = long_filt and prev[1] == -1 short_final = short_filt and prev[1] == 1 //alertcondition(long_final, "Long", message="Long") //alertcondition(short_final,"Short", message="Short") //plotshape(long_final, style=shape.arrowup, text="Long", color=green, location=location.belowbar) //plotshape(short_final, style=shape.arrowdown, text="Short", color=red, location=location.abovebar) strategy.entry("long", strategy.long, when = long ) strategy.entry("short", strategy.short, when = short)