
Strategi ini menggunakan sinyal pembentukan garpu emas dan garpu mati dari EMA rata-rata ganda, bekerjasama dengan penunjuk ATR untuk menilai kadar turun naik pasaran, untuk mencapai trend jual beli rendah. Apabila garpu emas garpu lambat, dan penunjuk ATR lebih rendah daripada hari sebelumnya dianggap sebagai isyarat berbilang lebih banyak; apabila garpu garpu cepat garpu lambat, dan penunjuk ATR lebih tinggi daripada hari sebelumnya dianggap sebagai isyarat kosong kosong.
Garis purata EMA ganda dengan panjang 20 dan 55 digunakan. Apabila melintasi garisan perlahan pada garisan pantas menghasilkan garpu emas, ia dianggap sebagai isyarat bermulut; apabila melintasi garpu perlahan di bawah garpu pantas menghasilkan garpu mati, ia dianggap sebagai isyarat kosong.
Penggunaan indikator ATR dengan panjang 14 . Indeks ATR dapat mencerminkan kadar turun naik dan tahap risiko pasaran . Apabila ATR lebih rendah daripada hari sebelumnya, menunjukkan turun naik pasaran lemah dan sesuai untuk melakukan intervensi lebih banyak; Apabila ATR lebih tinggi daripada hari sebelumnya, menunjukkan turun naik pasaran meningkat dan sesuai untuk melakukan intervensi.
Hanya buat lebih banyak pada garis cepat yang lebih lambat dan ATR lebih rendah daripada hari sebelumnya; hanya buat kosong pada garis cepat yang lebih lambat dan ATR lebih tinggi daripada hari sebelumnya. Elakkan campur tangan dengan mudah apabila turun naik pasaran lebih besar.
Penunjuk ATR juga digunakan untuk menetapkan titik hentian dan penangguhan. Titik hentian adalah harga semasa tolak ATR kali ganda penangguhan; titik hentian adalah harga semasa ditambah ATR kali ganda penangguhan.
Stop loss multiplier secara default adalah 3 kali ATR, dan stop loss multiplier secara default adalah 3 kali ATR. Ini membolehkan stop loss dan stop loss untuk mengikuti pergerakan pasaran secara dinamik.
Menggunakan sistem dua hala rata, dapat memberikan pengesahan yang lebih kuat mengenai keputusan keadaan kosong.
Pengenalan penunjuk ATR, yang membolehkan strategi hanya campur tangan apabila turun naik rendah, dapat menyaring banyak isyarat palsu dan mengurangkan risiko sistem.
ATR Dinamik Stop Loss Stop boleh membuat Stop Loss Stop set dengan tahap turun naik pasaran. Elakkan Stop Loss terlalu dekat atau Stop Loss Terlalu Ringan.
Anda boleh menetapkan sama ada untuk menggunakan penyeberangan linear sebagai mekanisme keluar tambahan. Anda boleh mengoptimumkan lagi hasil kerugian sistem.
Anda boleh menetapkan tahap berhenti dan hentikan secara dinamik mengikut ATR, lebih sesuai dengan logik perdagangan trend, hentikan tidak terlalu sensitif dan hentikan tidak terlalu longgar.
Sistem linear ganda menilai bahawa isyarat ada ketinggalan tertentu. Ia mungkin terlepas trend jangka pendek yang lebih kuat.
Apabila turun naik tinggi, ATR akan meningkat, mungkin terlepas masa campur tangan. Parameter ATR harus disesuaikan dengan betul.
Apabila memegang kedudukan jangka panjang, titik hentian mungkin terlalu dekat, dan ia perlu dikombinasikan dengan kelonggaran kecenderungan yang sesuai.
Sistem garis rata kurang berkesan dalam menilai senario melengkung. Ia harus disahkan dengan penunjuk lain.
Parameter ATR harus disesuaikan mengikut kitaran yang berbeza untuk pelbagai jenis. Pilihan parameter yang tidak betul akan mempengaruhi kerugian sistem.
Kombinasi garis rata parameter panjang yang berbeza boleh diuji untuk mencari parameter garis rata yang lebih sesuai dengan ciri-ciri trend varieti tersebut.
Indikator lain seperti MACD, KD dan sebagainya boleh diperkenalkan untuk mengesahkan isyarat persilangan garis rata-rata dan meningkatkan Entscheidungssicherheit.
Parameter ATR boleh dioptimumkan melalui pengesanan semula untuk menjadikannya lebih sesuai dengan ciri-ciri kestabilan turun naik jenis ini.
Faktor ATR boleh ditetapkan sebagai pembolehubah yang boleh disesuaikan, menyesuaikan kedudukan hentian hentian secara dinamik mengikut kekuatan trend.
Ia boleh digabungkan dengan indikator kekuatan trend, mengurangkan keperluan untuk menghentikan kerugian apabila trend tidak kuat, dan meningkatkan keperluan untuk berhenti apabila trend kuat.
Strategi ini mengintegrasikan penghakiman trend pada garis rata-rata EMA ganda dan kawalan risiko pada indikator kadar turun naik ATR, membentuk sistem pemantauan trend yang lebih lengkap. Strategi yang dioptimumkan memberi tumpuan kepada penyesuaian garis rata-rata dan parameter ATR agar lebih sesuai dengan ciri-ciri varieti, dan merancang mekanisme hentian hentian dinamik untuk mengikuti perubahan kekuatan trend.
/*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)