Ide inti dari strategi ini adalah menggunakan rentang fluktuasi harga yang dihitung oleh indikator ATR untuk menilai terobosan harga, dan indikator EMA untuk menilai arah tren keseluruhan, sehingga mencapai tren setelah perdagangan. Ketika harga menembus batas atas atau bawah rentang ATR, jika arah terobosan konsisten dengan arah EMA, ambil posisi panjang atau pendek. Kondisi penutupan adalah bahwa harga menembus rentang ATR lagi.
Pertama, strategi ini menggunakan indikator ATR untuk menghitung kisaran fluktuasi harga selama periode tertentu. Batas atas kisaran ATR adalah SMA + ATR, dan batas bawahnya adalah SMA-ATR. Di mana SMA mewakili rata-rata bergerak sederhana dari harga penutupan pada hari itu, dan ATR mewakili Rata-rata Kisaran Benar.
Ketika harga menembus batas atas atau bawah kisaran ATR, peluang perdagangan terjadi. Pada saat ini, perlu untuk menilai arah. Jika itu adalah terobosan ke atas, pergi panjang. Jika itu adalah terobosan ke bawah, pergi pendek. Untuk memastikan arah terobosan konsisten dengan arah tren, strategi menggunakan indikator EMA untuk menentukan arah tren keseluruhan. Hanya ketika arah terobosan konsisten dengan arah EMA posisi akan diambil.
Akhirnya, strategi menggunakan harga yang menembus kisaran ATR lagi sebagai sinyal penutupan. Setelah pergi panjang, tutup posisi ketika harga turun di bawah batas bawah; setelah pergi pendek, tutup posisi ketika harga naik di atas batas atas.
Menggunakan indikator ATR untuk menentukan terobosan dapat secara efektif menangkap terobosan tren harga. rentang ATR ditetapkan berdasarkan volatilitas dan tidak akan terlalu mengganggu fluktuasi normal.
Menambahkan indikator EMA sebagai penilaian arah menghindari perdagangan melawan arah tren, yang dapat sangat meningkatkan tingkat keuntungan.
Menggunakan price break back di atas kisaran ATR sebagai metode stop loss dapat memaksimalkan pengendalian risiko.
Di pasar yang volatile, rentang ATR dapat sering terpenetrasi, yang dengan mudah mengarah pada perdagangan yang tidak valid yang berlebihan dan kerugian yang lebih besar.
EMA sebagai indikator untuk menilai arah tren memiliki beberapa keterlambatan sehingga mungkin kehilangan peluang untuk pembalikan harga jangka pendek.
Metode stop loss adalah price break back di atas range, yang dapat dengan mudah menyebabkan kerugian yang lebih luas karena peristiwa mendadak.
Pertimbangkan untuk menggabungkan indikator lain untuk menentukan tren dan penurunan untuk menghindari kesalahan penilaian tunggal EMA. Seperti MACD, KDJ, dll.
Pertimbangkan untuk menyesuaikan parameter ATR secara real time sesuai dengan volatilitas pasar sehingga kisaran ATR lebih dekat dengan fluktuasi aktual.
Pertimbangkan untuk memasukkan metode stop loss bergerak untuk terus menyesuaikan titik stop loss untuk memaksimalkan pengendalian risiko kerugian tunggal.
Ide keseluruhan strategi ini jelas, menggunakan indikator ATR untuk menentukan terobosan harga dan bekerja sama dengan EMA untuk menentukan arah, dapat secara efektif mengikuti tren; Metode stop loss sederhana dan mudah dioperasikan. Tetapi pada saat yang sama, ada risiko tertentu dan ruang besar untuk optimasi yang membutuhkan pengujian dan penyesuaian lebih lanjut. Secara umum, strategi ini cocok untuk pedagang tren yang mengejar tingkat kemenangan yang 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) //------------