Strategi ini menggunakan penunjuk ATR untuk mengira garis stop loss dinamik untuk kawalan risiko.
Strategi ini menggunakan penunjuk ATR untuk mengira garis stop loss dinamik. Apabila harga meningkat, garis stop loss akan bergerak ke atas dengan harga untuk mengunci keuntungan. Apabila harga jatuh, garis stop loss tetap tidak berubah untuk mengelakkan berhenti. Indikator ATR dapat mengukur turun naik pasaran dan risiko. Mengganda dengan pekali menghasilkan garis stop loss, dengan itu mengawal pendedahan risiko setiap perdagangan.
Strategi ini menggunakan penunjuk ATR dan fungsi tertinggi untuk mengira garis stop loss dinamik.
TS=highest(high-Mult*atr(Atr),Hhv)
Di mana Atr adalah parameter tempoh ATR, Hhv adalah parameter tempoh melihat balik fungsi tertinggi, dan Mult adalah pekali ATR.
Logiknya adalah untuk pertama kali mengira nilai ATR, kemudian mengalikannya dengan pekali Mult untuk mendapatkan julat zon penyangga stop loss. Kemudian gunakan fungsi tertinggi untuk mencari tertinggi tertinggi dalam tempoh Hhv yang lalu, dan tolak zon penyangga stop loss untuk mendapatkan garis stop loss dinamik TS.
Apabila harga naik, paras tertinggi akan sentiasa dikemas kini, mendorong garis stop loss untuk bergerak ke atas dan mengunci keuntungan. Apabila harga jatuh, garis stop loss akan mengekalkan titik tertinggi sebelumnya untuk mengelakkan berhenti.
Garis stop loss menyesuaikan secara dinamik untuk mengesan titik tertinggi selepas harga naik, membolehkan mengambil keuntungan tepat pada masanya.
Garis stop loss tetap boleh dengan mudah dicetuskan oleh penarikan semula biasa atau berhenti yang terlalu ketat. Strategi ini menjaga stop loss tidak berubah semasa penurunan harga untuk mengelakkan berhenti yang tidak perlu.
Dengan menyesuaikan tempoh ATR dan parameter pengganda, kepekaan pelarasan stop loss boleh dikawal untuk tahap berhenti yang berbeza.
ATR secara dinamik mengira julat stop loss, membolehkan julat stop loss yang munasabah mengikut turun naik pasaran untuk kawalan risiko setiap perdagangan.
Apabila volatiliti meningkat, ATR meningkat dengan cepat dan mendorong barisan stop loss dengan cepat, meningkatkan peluang berhenti yang tidak perlu.
Strategi ini berjuang untuk menyesuaikan diri dengan pembalikan tajam. Garis stop loss mungkin terlalu lama dan memerlukan pengurangan kedudukan tepat pada masanya.
Mengoptimumkan tempoh ATR, tempoh tertinggi dan parameter pengganda bersama-sama boleh menjadi mencabar.
Meningkatkan tempoh ATR untuk mengurangkan pelarasan garis berhenti yang terlalu kerap, tetapi dengan kos kerugian yang lebih besar setiap perhentian.
Meningkatkan tempoh tertinggi untuk membuat garis lebih stabil, tetapi keseimbangan kelajuan pengesanan.
Pilih pengganda ATR yang sesuai mengikut ciri instrumen. Pengganda yang lebih besar meluaskan berhenti, yang lebih kecil mengurangkan kerugian setiap berhenti.
Menambah penapis trend mengurangkan kemungkinan berhenti yang dicetuskan oleh pembalikan.
Strategi ini mempunyai kelebihan berhenti dinamik dan risiko yang boleh dikawal. Ia sesuai dengan pasaran trend tetapi berhati-hati dengan lonjakan turun naik dan pengoptimuman parameter yang sukar. Dengan tetapan yang betul, pengoptimuman dan teknik tambahan, ia boleh digunakan untuk perdagangan langsung.
/*backtest start: 2023-10-17 00:00:00 end: 2023-10-24 00:00:00 period: 30m basePeriod: 15m 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/ // © ceyhun //@version=4 strategy("ATR Trailing Stoploss Strategy ",overlay=true) Atr=input(defval=5,title="Atr Period",minval=1,maxval=500) Hhv=input(defval=10,title="HHV Period",minval=1,maxval=500) Mult=input(defval=2.5,title="Multiplier",minval=0.1) Barcolor=input(true,title="Barcolor") TS=highest(high-Mult*atr(Atr),Hhv),barssince(close>highest(high-Mult*atr(Atr),Hhv) and close>close) Color=iff(close>TS,color.green,iff(close<TS,color.red,color.black)) barcolor(Barcolor? Color:na) plot(TS,color=Color,linewidth=3,title="ATR Trailing Stoploss") Buy = crossover(close,TS) Sell = crossunder(close,TS) if Buy strategy.entry("Buy", strategy.long, comment="Buy") if Sell strategy.entry("Sell", strategy.short, comment="Sell")