
Gagasan inti dari strategi ini adalah menggunakan rentang fluktuasi harga yang dihitung oleh indikator ATR untuk menentukan harga yang pecah, dan indikator EMA untuk menentukan arah tren secara keseluruhan, untuk mencapai tren mengikuti perdagangan. Ketika harga dari rentang ATR di atas atau di bawah garis pecah, jika arah yang pecah sesuai dengan arah EMA, masuklah untuk melakukan lebih atau untuk menjadi kosong.
Pertama, strategi ini menggunakan indikator ATR untuk menghitung rentang fluktuasi harga dalam periode tertentu. Rentang ATR memiliki batas atas SMA + ATR dan batas bawah SMA-ATR. Di mana SMA mewakili rata-rata bergerak sederhana dari harga penutupan hari itu dan ATR mewakili rata-rata gelombang nyata.
Sebuah peluang perdagangan terbentuk ketika harga keluar dari ATR atau turun dari ATR. Saat ini, Anda perlu menentukan arah. Jika Anda keluar ke atas, Anda harus melakukan lebih banyak, dan jika Anda keluar ke bawah, Anda tidak perlu melakukan apa pun.
Akhirnya, strategi ini menggunakan harga untuk kembali ke batas ATR sebagai sinyal posisi terendah. Setelah harga jatuh ke bawah, maka posisi terendah akan terendah; Setelah harga jatuh ke atas, maka posisi terendah akan terendah.
Dengan menggunakan indikator ATR untuk menilai terobosan, dapat secara efektif menangkap terobosan tren harga. Rentang ATR diatur berdasarkan tingkat fluktuasi, tidak terlalu mengganggu fluktuasi normal.
Menambahkan indikator EMA sebagai penilaian arah, menghindari perdagangan yang bertentangan dengan arah tren, dapat meningkatkan tingkat keuntungan secara signifikan.
Menggunakan harga kembali ke luar batas ATR sebagai metode stop loss, dapat meminimalkan risiko kerugian.
Dalam situasi yang bergejolak, rentang ATR dapat sering dipotong, yang dapat menyebabkan terlalu banyak transaksi yang tidak valid dan memperluas kerugian.
EMA sebagai indikator untuk menentukan arah tren, ada keterlambatan tertentu. Oleh karena itu, mungkin kehilangan kesempatan untuk membalikkan harga dalam waktu singkat.
Stop loss adalah harga yang terbalik, yang dapat menyebabkan kerugian yang lebih besar akibat kejadian yang tidak terduga.
Pertimbangan untuk mengevaluasi tren dan penarikan diri dapat digabungkan dengan indikator lain untuk menghindari kesalahan penilaian tunggal EMA, seperti MACD, KDJ, dll.
Anda dapat mempertimbangkan untuk menyesuaikan parameter ATR secara real-time dengan fluktuasi pasar, sehingga rentang ATR lebih dekat dengan fluktuasi nyata.
Hal ini dapat dikombinasikan dengan modus mobile stop loss, real-time adjustment stop loss, dan pengendalian maksimum risiko kerugian tunggal.
Strategi ini memiliki ide yang jelas, menggunakan indikator ATR untuk menentukan harga yang terobosan dan bekerja sama dengan arah penilaian EMA, untuk mengikuti tren secara efektif; Stop loss langsung, mudah dioperasikan. Namun, ada juga risiko tertentu, ruang optimasi yang lebih besar, menunggu pengujian dan penyesuaian lebih lanjut. Secara keseluruhan, strategi ini cocok untuk pedagang tren yang mengejar kemenangan tinggi.
/*backtest
start: 2024-01-23 00:00:00
end: 2024-02-22 00:00:00
period: 3h
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/
// © cwagoner78
//@version=4
strategy("cATRpillar", overlay=true)
//------------
//inputs
lookback = input(title="Periods", type=input.integer, defval=37)
atrMult = input(title="Range Multiplier", type=input.float, defval=.2)
takeProfit = input(title="Take Profit", type=input.float, defval=5000)
stopLoss = input(title="Stop Loss", type=input.float, defval=2500)
lots = input(title="Lots to Trade", type=input.float, defval=1)
//------------
//indicators
atr=atr(lookback)*atrMult
sma=sma(close, lookback)
ema=ema(close,lookback*2)
rangeLo=sma-atr
rangeHi=sma+atr
//------------
//draw objects
p0 =plot(close, title="Close", color=#26A69A, linewidth=0, transp=80,style=plot.style_stepline)
p1 =plot(rangeHi, title="High", color=color.fuchsia, linewidth=0, transp=80,style=plot.style_stepline)
p2 =plot(rangeLo, title="Low", color=color.lime, linewidth=0, transp=80,style=plot.style_stepline)
p3 =plot(ema, title="EMA", color=color.white, linewidth=0, transp=80, style=plot.style_stepline)
fill(p1, p0, color=color.fuchsia)
fill(p0, p2, color=color.lime)
//------------
//Trading
atrShort=open[1] > rangeHi and open < rangeLo
atrLong=open[1] < rangeLo and open > rangeHi
exitLong=open>rangeLo
exitShort=open<rangeHi
//Long
longCondition=atrLong and open>ema+atr
strategy.entry(id="cATRpillar-Buy", long=true, when=longCondition)
longCloseCondition=exitLong
strategy.exit(id="cATRpillar-Exit", qty=lots, profit=takeProfit, loss=stopLoss, when=longCloseCondition)
//Short
shortCondition=atrShort and open<ema-atr
strategy.entry(id="cATRpillar-Sell", long=false, when=shortCondition)
shortCloseCondition=exitShort
strategy.exit(id="cATRpillar-Exit", qty=lots, profit=takeProfit, loss=stopLoss, when=shortCloseCondition)
plotshape(shortCondition, title= "Short", location=location.belowbar, color=color.fuchsia, transp=80, style=shape.triangledown, size=size.tiny)
plotshape(longCondition, title= "Long", location=location.abovebar, color=color.lime, transp=80, style=shape.triangleup, size=size.tiny)
//------------