Strategi Trend yang Didorong Kecairan - Strategi Dagangan Kuantiti Berdasarkan Petunjuk Trend Aliran

Penulis:ChaoZhang, Tarikh: 2023-12-21 10:19:52
Tag:

img

Ringkasan

Strategi ini dinamakan Strategi Trend yang Dikendalikan Kecairan. Ia bertujuan untuk mengenal pasti hala tuju trend harga dalam jangka masa yang berbeza dan membuat keputusan panjang atau pendek yang sesuai. Strategi ini menggunakan sistem purata bergerak berganda untuk menentukan trend dan menggunakan perbezaan antara nilai Indeks Kekuatan Relatif (RSI) dalam pelbagai jangka masa untuk bertindak balas tepat pada masanya terhadap perubahan trend.

Logika Strategi

Logik teras strategi ini adalah berdasarkan kepada penunjuk CHOP, di mana sistem purata bergerak menilai arah trend keseluruhan. Khususnya, strategi ini mengira nilai RSI garis pantas (Length = 20) dan garis perlahan (Length = 50) pada bingkai masa yang lebih tinggi, dan mengira perbezaan antara kedua-dua garis RSI. Apabila RSI garis pantas melintasi di atas RSI garis perlahan, ia menandakan trend menaik dan mencetuskan isyarat panjang. Sebaliknya, jika RSI garis pantas melintasi di bawah RSI garis perlahan, ia menunjukkan trend menurun dan menghasilkan isyarat pendek. Perbezaan RSI yang berbeza didorong oleh kenaikan harga dan dapat mengenal pasti titik perubahan trend dengan sensitif.

Strategi ini juga memperkenalkan mekanisme pelbagai jangka masa: ia mengira perbezaan RSI pada jangka masa yang lebih tinggi (contohnya harian) untuk menentukan arah trend keseluruhan, dan kemudian melaksanakan pesanan beli dan jual sebenar pada jangka masa yang lebih rendah (contohnya 5 minit) berdasarkan penilaian trend jangka masa yang lebih tinggi.

Kelebihan Strategi

  • Mengambil secara sensitif pembalikan trend yang berpotensi sebelum masa menggunakan pembezaan RSI
  • Menggunakan konsep jangka masa berbilang untuk menentukan trend pada TF yang lebih tinggi dan melaksanakan pesanan pada TF yang lebih rendah
  • RSI mencerminkan perubahan harga dan jumlah, menunjukkan kecairan pasaran dan penyertaan
  • Tetapan parameter mudah, mudah difahami, dijelaskan dan disesuaikan

Risiko & Penyelesaian

  • Penembusan palsu mungkin berlaku dengan sistem MA berganda
  • Kegagalan melarikan diri boleh menyebabkan kerugian yang tidak perlu

Penyelesaian:

  1. Sesuaikan parameter MA untuk mengurangkan kebarangkalian pecah palsu
  2. Tambah penapis untuk mengelakkan kemasukan yang tidak perlu

Arahan pengoptimuman

  • Mengoptimumkan parameter RSI menggunakan algoritma Penapis Kalman
  • Tambah MACD dan penunjuk lain untuk membantu penilaian
  • Menetapkan kedudukan keluar dinamik berdasarkan perubahan jumlah dagangan

Kesimpulan

Strategi ini memanfaatkan perbezaan RSI untuk menangkap titik perubahan yang berpotensi pada trend dengan sensitif. Aplikasi pelbagai jangka masa memastikan menilai trend keseluruhan sambil mengekalkan pelaksanaan perdagangan tertentu yang fleksibel. Berbanding dengan strategi trend berikut yang lain, strategi ini lebih mudah, intuitif dalam penyesuaian parameter dan mudah dioptimumkan.


/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Flow Trend Indicator Strategy", "FlowTI", overlay=true, calc_on_every_tick=true)

isTimeFrame(timeFrame) =>
    timeFrame == timeframe.period ? true : false

Htf() =>
    isTimeFrame("12") ? "60" : isTimeFrame("60") ? "300" : isTimeFrame("300") ? "D" : isTimeFrame("D") ? "W" : isTimeFrame("W") ? "M" : isTimeFrame("M") ? "5M" : "D"

TrendIndication() =>
    trendFastLength = 20
    trendSlowLength = 50
    upFastHtf = request.security(syminfo.tickerid, Htf(), rma(max(change(close), 0), trendFastLength), barmerge.gaps_off, barmerge.lookahead_on)
    downFastHtf = request.security(syminfo.tickerid, Htf(), rma(-min(change(close), 0), trendFastLength), barmerge.gaps_off, barmerge.lookahead_on)
    rsiFastHtf = downFastHtf == 0 ? 100 : upFastHtf == 0 ? 0 : 100 - (100 / (1 + upFastHtf / downFastHtf))
    upSlowHtf = request.security(syminfo.tickerid, Htf(), rma(max(change(close), 0), trendSlowLength), barmerge.gaps_off, barmerge.lookahead_on)
    downSlowHtf = request.security(syminfo.tickerid, Htf(), rma(-min(change(close), 0), trendSlowLength), barmerge.gaps_off, barmerge.lookahead_on)
    rsiSlowHtf = downSlowHtf == 0 ? 100 : upSlowHtf == 0 ? 0 : 100 - (100 / (1 + upSlowHtf / downSlowHtf))
    rsiDiff = rsiFastHtf - rsiSlowHtf
    crossover(rsiDiff, 0) ? true : crossunder(rsiDiff, 0) ? false : na

if (TrendIndication() == true)
    strategy.entry("Long", strategy.long)

if (TrendIndication() == false)
    strategy.entry("Short", strategy.short)

Lebih lanjut