
Strategi penarikan stop loss dinamik dengan mengira purata rentang turun naik sebenar saham ATR sebagai asas, digabungkan dengan pengguna yang ditetapkan ATR faktor dinamik menetapkan garis stop loss dan garis penarikan, untuk mencapai tujuan penarikan stop loss. Apabila harga saham memecahkan garis penarikan, menggunakan strategi penarikan trend tradisional untuk membina kedudukan berganda; Apabila harga saham jatuh dari garis stop loss, menggunakan strategi pembalikan untuk membina kedudukan kosong, menggunakan perdagangan dua hala untuk keuntungan.
Strategi ini menggunakan ATR untuk mengira purata pergerakan sebenar harga saham, dan menggabungkan faktor ATR yang dimasukkan oleh pengguna sebagai asas untuk membeli dan menjual saham dengan kerugian. Secara khusus, strategi ini pertama-tama mengira nilai ATR saham selama 120 hari lalu, kemudian kalikan dengan nilai ATR yang dijual oleh pengguna untuk mendapatkan harga rujukan jual dan rugi, iaitu garis henti rugi; kalikan dengan nilai ATR yang dibeli untuk mendapatkan harga rujukan pembelian, iaitu garis kejar.
Strategi ini memetakan garis hentian dan garis mengejar pada masa yang sama, kedua-dua garis ini akan berubah mengikut turun naik harga saham, dengan fungsi pengesanan dinamik tertentu. Indeks ATR dapat mencerminkan dengan lebih baik tahap rata-rata turun naik sebenar saham, menggunakan indikator ATR untuk menetapkan garis hentian dan mengejar kerugian, dapat mengelakkan kerugian yang disebabkan oleh turun naik saham yang besar.
Secara keseluruhan, strategi ini adalah tipikal strategi penghentian dan pengejaran kerugian, idea utamanya adalah untuk mengikuti trend berdasarkan penunjuk ATR untuk menetapkan garis berhenti dan garis pengejaran. Kelebihan strategi ini adalah boleh berdagang dua arah, memegang kedudukan yang fleksibel; menggunakan indikator ATR untuk mengawal risiko, sesuai untuk saham yang bergelombang tinggi. Tetapi kerana peraturan membeli dan menjual lebih mudah, terdapat risiko mengikuti secara buta; parameter yang tidak betul juga akan mempengaruhi kesan strategi.
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © phobo3s
//@version=4
strategy("ATR Stop Buy Strategy",shorttitle="ATR-ST",initial_capital=1000, overlay = true, default_qty_type = strategy.percent_of_equity, pyramiding = 5, default_qty_value = 20, commission_type = strategy.commission.cash_per_order, commission_value = 1, calc_on_every_tick = true)
daysBack = input(defval=120, title="Days Back", type=input.integer)
sellCoeff = input(defval=1.5, title="Selling Coefficent For ATR", type=input.float, minval= 0.01, step=0.1)
buyCoeff = input(defval=1.2, title = "Buying Coefficent For ATR", type=input.float, minval= 0.01, step=0.1)
fromDate = timenow - (daysBack*24*60*60*1000)
toDate = timenow
ATR = atr(14)
stopLossPoint = ATR * sellCoeff
buyPoint = ATR * buyCoeff
StoplossLine = close[1] - stopLossPoint[1]
BuyLine = close[1] + buyPoint[1]
if (high > BuyLine and time >= fromDate and time <= toDate )
strategy.entry("GG", strategy.long, comment="Gir")
if (low < StoplossLine and strategy.position_avg_price < close and time >= fromDate and time <= toDate )
strategy.entry("GG", strategy.short, comment="Çık")
//longFlags = close < StoplossLine
//shortFlags = close > BuyLine
//plotshape(shortFlags, style=shape.triangledown, location=location.abovebar, color=color.red)
//plotshape(longFlags, style=shape.triangleup, location=location.belowbar, color=color.blue)
plot(StoplossLine)
plot(BuyLine)