
Strategi ini menggunakan sinyal pembentukan garpu emas dan garpu mati dari garis rata-rata EMA ganda, bekerja sama dengan indikator ATR untuk menilai volatilitas pasar, dan mencapai tren jual beli rendah. Strategi ini diikuti ketika garis cepat garpu emas lambat, dan indikator ATR lebih rendah dari hari sebelumnya dianggap sebagai sinyal multihead. Bila garis cepat garpu mati lambat, dan indikator ATR lebih tinggi dari hari sebelumnya dianggap sebagai sinyal kosong kosong.
Guna dua EMA rata-rata dengan panjang 20 dan 55. Bila melewati jalur cepat menghasilkan garpu emas, dianggap sebagai sinyal multihead; Bila melewati jalur cepat menghasilkan garpu mati, dianggap sebagai sinyal kosong.
Penggunaan indikator ATR dengan panjang 14 . Indikator ATR dapat mencerminkan tingkat volatilitas dan tingkat risiko pasar . Ketika ATR lebih rendah dari hari sebelumnya, menunjukkan penurunan fluktuasi pasar, cocok untuk melakukan intervensi lebih banyak; Ketika ATR lebih tinggi dari hari sebelumnya, menunjukkan peningkatan fluktuasi pasar, cocok untuk melakukan intervensi shorting .
Hanya dalam garis cepat Gold Fork Liner lambat dan ATR lebih rendah dari hari sebelumnya; hanya dalam garis cepat Dead Fork Liner lambat dan ATR lebih tinggi dari hari sebelumnya. Hindari intervensi mudah ketika pasar berfluktuasi besar.
Indikator ATR juga digunakan untuk mengatur stop loss dan stop loss. Stop loss adalah harga saat ini dikurangi dengan ATR dikali stop loss multiplier; stop loss adalah harga saat ini ditambah dengan ATR dikali stop loss multiplier.
Stop loss multiplier default 3x ATR, stop loss multiplier default 3x ATR. Hal ini memungkinkan stop loss dan stop loss untuk mengikuti pergerakan pasar secara dinamis.
Dengan menggunakan sistem ganda rata-rata, dapat memberikan konfirmasi yang lebih kuat terhadap penilaian keadaan kosong. Menghindari kesalahan false breakout yang umum di pasar.
Pengenalan indikator ATR, yang memungkinkan strategi untuk hanya melakukan intervensi pada saat turun naik rendah, dapat memfilter banyak sinyal palsu dan mengurangi risiko sistem.
Stop loss ATR dinamis memungkinkan stop loss untuk diatur sesuai dengan tingkat fluktuasi pasar. Hindari stop loss terlalu dekat atau stop loss terlalu dekat.
Anda dapat mengatur apakah Anda akan menggunakan crossover linear sebagai mekanisme keluar tambahan. Anda dapat mengoptimalkan lebih lanjut dari hasil kerugian sistem.
Stop loss dan stop loss dapat diatur secara dinamis berdasarkan ATR, lebih sesuai dengan logika perdagangan tren, stop loss tidak terlalu sensitif, stop loss tidak terlalu longgar.
Sistem linear ganda menilai adanya keterlambatan sinyal. Mungkin kehilangan tren jangka pendek yang lebih kuat.
ATR akan naik pada saat fluktuasi tinggi, dan mungkin akan melewatkan waktu intervensi. ATR harus disesuaikan dengan parameter ATR.
Stop loss mungkin terlalu dekat ketika memegang posisi jangka panjang, dan harus digabungkan dengan pelepasan tren yang tepat.
Sistem garis rata tidak efektif dalam menilai skenario plot curvature. Harus dikonfirmasi dengan indikator lain.
Parameter ATR harus disesuaikan dengan siklus yang berbeda dari varietas yang berbeda. Pilihan parameter yang tidak tepat dapat mempengaruhi kerugian sistem.
Kombinasi rata-rata dari parameter panjang yang berbeda dapat diuji untuk mencari parameter rata-rata yang lebih sesuai dengan karakteristik tren varietas tersebut.
Indikator lain seperti MACD, KD dapat diperkenalkan untuk mengkonfirmasi sinyal persilangan rata-rata, meningkatkan Entscheidungssicherheit.
Parameter ATR dapat dioptimalkan melalui retrospeksi agar lebih sesuai dengan karakteristik stabilisasi fluktuasi dari varietas tersebut.
Faktor ATR dapat diatur sebagai variabel yang dapat disesuaikan, dan secara dinamis menyesuaikan posisi stop loss sesuai dengan kekuatan tren.
Hal ini dapat dikombinasikan dengan indikator kekuatan tren, mengurangi persyaratan stop loss ketika tren tidak kuat, dan meningkatkan persyaratan stop loss ketika tren kuat.
Strategi ini mengintegrasikan penilaian tren dari dua garis rata-rata EMA dan pengendalian risiko dari indikator volatilitas ATR untuk membentuk sistem pelacakan tren yang lebih lengkap. Optimasi strategi berfokus pada penyesuaian garis rata-rata dan parameter ATR agar lebih sesuai dengan karakteristik varietas, serta merancang mekanisme stop loss yang dinamis untuk mengikuti perubahan kekuatan tren.
/*backtest
start: 2023-10-16 00:00:00
end: 2023-11-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// **********************************************
// PtahX EMA/ATR Strategy Public Release
// EMA Strategy with ATR & "Fear Factor" built in
// written by PtahX October 2019
// * modifications welcome
// * please let me know if you improve it so I can continue to learn :)
// * use at your own risk - I'm a new programmer and still learning
// * Best of luck on your trades!!
// Take Profit (TP) option based on ATR or MA Crossover
//***********************************************
strategy(title="PtahX EMA/ATR Strategy", overlay=true, pyramiding=1, calc_on_every_tick=true, default_qty_value=1, initial_capital=10000, slippage=2)
//*****************************
// Global Inputs
//*****************************
fastMA = input(title="Fast Moving Average", defval=20, step=1)
slowMA = input(title="Slow Moving Average", defval=55, step=1)
source = input(close, title="Source")
atrLength = input(title="ATR Length", defval=14, minval=7, step=1)
slMultiplier = input(title="Stop Loss Multiple", type=input.float, defval=3, minval=1, step=0.2)
tpMultiplier = input(title= "Take Profit Multiple", type=input.float, defval=3, minval=1, step=0.2)
maPlot = input(true, title="Plot EMA?")
maCrossoverExit = input(false, title="Exit with Slow MA Crossover?")
atrExit = input(true, title="Exit with ATR?")
//***********************************
// ATR
//***********************************
atr = atr(atrLength)
//***********************************
// Volatility Filter
//**********************************
// During uptrends the ATR indicator tends to post lower volatility.
// During downtrends, the ATR indicator tends to post higher volatility
volatilityBullish = atr < atr[1]
volatilityBearish = atr > atr[1]
//***********************************
// Moving Averages
//***********************************
// Double Line Plot Code (used for Entries & Exits not plotted by default)
fast = ema(source, fastMA)
slow = ema(source, slowMA)
maLong = crossover(fast, slow)
maShort = crossunder(fast, slow)
// Single Line Plot Code
bullish = slow > slow[1]
bearish = slow < slow[1]
barColor = bullish ? color.green : bearish ? color.red : color.blue
//*****************************
// Entries
//*****************************
entryLong = maLong and volatilityBullish
entryShort = maShort and volatilityBearish
if entryLong
sLoss = source - atr * slMultiplier
strategy.entry("Long", strategy.long, qty=10)
strategy.exit("Long Exit", "Long", stop=sLoss)
if entryShort
sLoss = source + atr * slMultiplier
tProfit = close > slowMA
strategy.entry("Short", strategy.short, qty=10)
strategy.exit("Short Exit", "Short", stop=sLoss)
//*****************************
// Exits
//*****************************
exitLong = 0
exitShort = 0
if maCrossoverExit
exitLong = maShort
exitShort = maLong
strategy.exit("Long Exit", "Long", when = exitLong)
strategy.exit("Short Exit", "Short", when = exitShort)
if atrExit
exitLong = source + atr * tpMultiplier
exitShort = source - atr * tpMultiplier
strategy.exit("Long Exit", "Long", limit = exitLong)
strategy.exit("Short Exit", "Short", limit = exitShort)
//******************************
// ATR Based Exit/ Stop Plotting
//******************************
// Stop Loss Calculations
longStopLoss = source - atr(atrLength) * slMultiplier
shortStopLoss = source + atr(atrLength) * slMultiplier
longTakeProfit = source - atr(atrLength) * slMultiplier
shortTakeProfit = source + atr(atrLength) * slMultiplier
//*********************************
//Chart Plotting
//*********************************
//ATR Based Stop Losses
plot(shortStopLoss, color=color.fuchsia, offset=0, transp=0, show_last=5, linewidth=2, style=plot.style_stepline, title="Short Stop Loss")
plot(longStopLoss, color=color.fuchsia, offset=0, transp=0, show_last=5, linewidth=2, style=plot.style_stepline, title="Long Stop Loss")
// Single Slow EMA Option
plot(slow and maPlot ? slow : na, title="EMA", color=barColor, linewidth=3)