Strategi ini dinamakan
Secara khusus, penunjuk Momentum digunakan untuk menilai percepatan atau kelewatan pergerakan harga dan perubahan trend. SuperTrend digunakan untuk menilai sama ada harga menembusi saluran menaik atau menurun dan perubahan trend. Gabungan kedua-duanya dapat menangkap titik pembalikan trend dengan lebih tepat.
Bahagian penunjuk momentum
Mengira nilai momentum N-hari harga dan mengira momentum 1 hari nilai momentum. Apabila momentum N-hari > 0 dan momentum 1 hari > 0, ia adalah isyarat panjang; apabila momentum N-hari < 0 dan momentum 1 hari < 0, ia adalah isyarat pendek.
Bahagian penunjuk SuperTrend
Hitung nilai ATR harga, dan lukis garis saluran ke atas dan saluran ke bawah berdasarkan ATR. Apabila harga memecahkan saluran ke atas dari bawah, ia adalah isyarat panjang, dan apabila harga memecahkan saluran ke bawah dari atas, ia adalah isyarat pendek.
Logik kemasukan
Ambil operasi AND isyarat panjang dari penunjuk momentum dan isyarat panjang dari SuperTrend untuk menjana isyarat masuk panjang akhir apabila kedua-duanya berlaku pada masa yang sama; Ambil operasi AND isyarat pendek dari penunjuk momentum dan isyarat pendek dari SuperTrend untuk menjana isyarat masuk pendek akhir apabila kedua-duanya berlaku pada masa yang sama.
Menggunakan penunjuk momentum untuk menentukan percepatan atau kelewatan pergerakan harga untuk menangkap titik pembalikan trend.
Menggunakan penunjuk SuperTrend untuk menentukan saluran terobosan harga untuk menangkap titik terobosan.
Pengesahan bersama dua jenis penunjuk boleh mengurangkan isyarat palsu dan meningkatkan ketepatan entri.
Gabungan Logik Keluar kedua-dua penunjuk membolehkan trend menjejaki keluar untuk mengelakkan keluar awal.
Tetapan parameter indikator momentum N-hari yang tidak betul mungkin terlepas titik pembalikan trend.
Tetapan parameter SuperTrend yang tidak betul boleh menyebabkan lukisan saluran yang tidak tepat dan isyarat palsu.
Pemantauan bersama kedua-dua penunjuk mungkin kehilangan beberapa peluang.
Gabungan parameter harus diselaraskan untuk mencari pasangan parameter optimum untuk memaksimumkan potensi strategi.
Penyelesaian yang sepadan:
Gunakan analisis berjalan maju untuk mencari parameter optimum.
Tambah modul pengoptimuman parameter untuk pengoptimuman parameter masa nyata.
Sesuaikan logik gabungan kedua-dua penunjuk dan pertimbangkan secara menyeluruh.
Tambah modul pengoptimuman parameter adaptif untuk pelarasan masa nyata mengikut keadaan pasaran
Tambah model pembelajaran mesin untuk membantu menilai ketepatan isyarat penunjuk
Memperluas lebih banyak penunjuk untuk membentuk satu set penunjuk, dan menggunakan mekanisme pengundian untuk menjana isyarat kemasukan
Menggunakan model pembelajaran mendalam dan bukannya penunjuk tradisional untuk penilaian yang didorong oleh data mengenai masa masuk dan keluar
Strategi ini menggabungkan kekuatan indikator Momentum dan SuperTrend melalui pengesahan berganda untuk meningkatkan ketepatan Entri, dan menggunakan indikator untuk menilai masa Keluar. Berbanding dengan penggunaan indikator tunggal, ia dapat mengurangkan isyarat palsu dan mencapai kadar kemenangan yang lebih tinggi. Melalui pengoptimuman parameter, pembelajaran mesin dan teknologi lanjutan lain, masih ada ruang untuk peningkatan lebih lanjut terhadap keberkesanan strategi dan layak penyelidikan dan penerapan yang mendalam.
/*backtest start: 2022-12-20 00:00:00 end: 2023-12-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Momentum + SuperTrend Strategy", overlay=true) // Momentum Strategy length = input(12) price = close momentum(seria, length) => mom = seria - seria[length] mom mom0 = momentum(price, length) mom1 = momentum(mom0, 1) momLongCondition = mom0 > 0 and mom1 > 0 momShortCondition = mom0 < 0 and mom1 < 0 // SuperTrend Strategy Periods = input(10) Multiplier = input(3.0) changeATR = input(true) src = input(hl2) atr2 = sma(tr, Periods) atr = changeATR ? atr(Periods) : atr2 up = src - (Multiplier * atr) up1 = nz(up[1], up) up := close[1] > up1 ? max(up, up1) : up dn = src + (Multiplier * atr) dn1 = nz(dn[1], dn) dn := close[1] < dn1 ? min(dn, dn1) : dn trend = 1 trend := nz(trend[1], trend) trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend buySignal = trend == 1 and trend[1] == -1 sellSignal = trend == -1 and trend[1] == 1 // Combined Entry Conditions longCondition = momLongCondition and buySignal shortCondition = momShortCondition and sellSignal // Strategy Entries if (longCondition) strategy.entry("MomLE", strategy.long, stop=high+syminfo.mintick, comment="MomLE") else strategy.cancel("MomLE") if (shortCondition) strategy.entry("MomSE", strategy.short, stop=low-syminfo.mintick, comment="MomSE") else strategy.cancel("MomSE") // Plot SuperTrend on the chart upPlot = plot(trend == 1 ? up : na, title="SuperTrend Up", color=color.green, linewidth=2) dnPlot = plot(trend == -1 ? dn : na, title="SuperTrend Down", color=color.red, linewidth=2) // Highlight the SuperTrend region fill(upPlot, dnPlot, color = trend == 1 ? color.new(color.green, 90) : color.new(color.red, 90), title="SuperTrend Highlight") // Plot SuperTrend Buy/Sell signals on the chart plotshape(series=buySignal, title="SuperTrend Buy Signal", color=color.green, style=shape.triangleup, size=size.small) plotshape(series=sellSignal, title="SuperTrend Sell Signal", color=color.red, style=shape.triangledown, size=size.small) // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © naveen1119