Strategi Pecah Trend


Tarikh penciptaan: 2024-03-22 14:48:37 Akhirnya diubah suai: 2024-03-22 14:48:37
Salin: 1 Bilangan klik: 640
1
fokus pada
1617
Pengikut

Strategi Pecah Trend

Gambaran keseluruhan

Ini adalah strategi perdagangan kuantitatif yang menggunakan indikator ATR dan harga penutupan untuk menangkap penembusan trend. Strategi ini menilai arah trend dengan mengira secara dinamik garis trend ke atas dan ke bawah, menghasilkan isyarat perdagangan apabila harga penutupan menembus garis trend. Strategi ini menetapkan stop loss dan harga sasaran pada masa yang sama, dan boleh bergerak stop loss mengikut turun naik.

Prinsip Strategi

  1. Hitung isyarat ATR: atr_signal = atr ((atr_period)
  2. Menghitung garis trend ke atas dan ke bawah:
    • Garis trend bawah: lower_trend = low - atr_mult*atr_signal
    • Garis trend ke atas: upper_trend = high + atr_mult*atr_signal
  3. Garis trend yang disesuaikan secara dinamik, kekal tidak berubah jika garis trend pecah, atau dikemas kini kepada nilai terkini
  4. Warna garisan trend berdasarkan kedudukan harga penutupan berbanding garisan trend untuk menentukan arah trend
  5. Menjana isyarat dagangan:
    • Tanda-tanda lebih banyak: tiada pegangan semasa dan harga penutupan melepasi garis trend
    • Sinyal kosong: Tiada pegangan semasa dan harga penutupan melepasi garisan tren bawah
  6. Set Stop Loss dan Target Harga:
    • Hentikan: Factor amplitudo ATR semasa harga dagangan terkini ± terobosan
    • Harga sasaran: Harga dagangan terkini ± Margin Stop Loss * Rasio untung rugirr
  7. Penghentian bergerak:
    • Hentian Berbilang Kepala: Garis Trend Tertinggi
    • Hentian kosong: Garis trend terendah

Analisis kelebihan

  1. Garis trend yang diselaraskan secara dinamik berdasarkan kadar turun naik untuk menyesuaikan diri dengan keadaan pasaran yang berbeza
  2. Garis trend mempunyai penanda warna arah untuk mengenal pasti trend
  3. Menggunakan ATR sebagai ukuran kadar turun naik, menetapkan hentian dan harga sasaran yang wajar
  4. Fungsi Stop Loss Mobile untuk mengurangkan pengeluaran sebanyak mungkin sambil memastikan keuntungan
  5. Tingkat parameter yang tinggi, menyesuaikan diri dengan pelbagai jenis dan kitaran

Analisis risiko

  1. Strategi penembusan trend mudah menghasilkan terlalu banyak isyarat yang menyebabkan kerugian dalam pasaran yang bergolak
  2. Pilihan parameter ATR yang tidak betul boleh menyebabkan garis trend terlalu sensitif atau lambat, menjejaskan kualiti isyarat
  3. Nisbah keuntungan dan kerugian tetap mungkin tidak sesuai dengan ciri-ciri pasaran yang berbeza
  4. Stop loss mudah alih mungkin hilang, kehilangan trend

Penyelesaian:

  1. Memperkenalkan penapis trend atau penilaian bantuan indikator gegaran untuk mengelakkan kerugian pasaran gegaran
  2. Mengoptimumkan parameter ATR mengikut ciri-ciri varieti dan kitaran
  3. Pengoptimuman nisbah kerugian dan logik stop-loss bergerak, meningkatkan nisbah risiko-keuntungan strategi
  4. Menggabungkan kaedah pengiktirafan trend untuk memperbaiki stop loss bergerak dan menangkap lebih banyak keuntungan trend

Arah pengoptimuman

  1. Gabungan pelbagai kitaran masa, mengenal pasti trend dengan kitaran besar, kitaran kecil mencetuskan isyarat
  2. Menambah pengesahan indikator kuantitatif sebelum garis trend pecah untuk meningkatkan keberkesanan isyarat
  3. Pengendalian kedudukan yang optimum, operasi band yang lebih banyak
  4. Pengoptimuman parameter untuk stop loss dan markah rugi
  5. Peningkatan logik stop loss bergerak untuk mengurangkan stop loss awal dalam trend

Periode masa yang lebih banyak membantu menyaring kebisingan dan lebih stabil dalam menangkap trend. Pemeriksaan indikator kuantiti sebelum penembusan dapat menghapuskan isyarat palsu. Pengoptimuman pengurusan kedudukan dapat meningkatkan kecekapan penggunaan dana. Pengoptimuman parameter stop loss dan stop loss dapat meningkatkan nisbah risiko keuntungan strategi. Peningkatan logik stop loss bergerak dapat memperoleh lebih banyak keuntungan trend sambil mengawal penarikan balik.

ringkaskan

Strategi ini menggunakan ATR sebagai ukuran kadar turun naik, menyesuaikan kedudukan garis trend secara dinamik, menangkap pergerakan tren. Tetapkan sasaran berhenti dan keuntungan yang munasabah, dan gunakan stop loss yang bergerak untuk mengunci keuntungan. Parameter boleh disesuaikan, beradaptasi kuat. Tetapi strategi pemecahan trend juga mudah dipengaruhi oleh keadaan yang bergolak, memerlukan pengoptimuman dan penambahbaikan lebih lanjut.

Kod sumber strategi
/*backtest
start: 2023-03-16 00:00:00
end: 2024-03-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title = "Claw-Pattern", overlay=true, calc_on_every_tick=true, default_qty_type= strategy.percent_of_equity,default_qty_value=10, currency="USD")
//Developer: Trading Strategy Guides
//Creator: Trading Strategy Guides
//Date: 3/18/2024
//Description: A trend trading system strategy 

atr_period = input(title="ATR Period", defval=120, type=input.integer)
atr_mult = input(title="ATR Multiplier", defval=2, type=input.integer)
dir = input(title="Direction (Long=1, Short=-1, Both = 0)", defval=1, type=input.integer)
factor = input(title="Stop Level Deviation (% Chan.)", defval=0.75, type=input.float)
rr = input(title="Reward to Risk Multiplier", defval=2, type=input.integer)
trail_bar_start = input(title="Trail Stop Bar Start", defval=20, type=input.integer)
col_candles = input(title="Enable Colored Candles", defval=false, type=input.bool)

atr_signal = atr(atr_period)

lower_trend = low - atr_mult*atr_signal
upper_trend = high + atr_mult*atr_signal

upper_trend := upper_trend > upper_trend[1] and close < upper_trend[1] ? upper_trend[1] : upper_trend
lower_trend := lower_trend < lower_trend[1] and close > lower_trend[1] ? lower_trend[1] : lower_trend

upper_color = barssince(cross(close, upper_trend[1])) > barssince(cross(close, lower_trend[1])) ? color.red : na
lower_color = barssince(cross(close, upper_trend[1])) > barssince(cross(close, lower_trend[1])) ? na : color.green

trend_line = lower_trend

plot(lower_trend, color=lower_color, title="Lower Trend Color")
plot(upper_trend, color=upper_color, title="Upper Trend Color")

is_buy = strategy.position_size == 0 and crossover(close, upper_trend[1]) and upper_color[1]==color.red and (dir == 1 or dir == 0)
is_sell = strategy.position_size == 0 and crossover(close, lower_trend[1]) and lower_color[1]==color.green and (dir == -1 or dir == 0)

if is_buy
    strategy.entry("Enter Long", strategy.long)
else if is_sell
    strategy.entry("Enter Short", strategy.short)