Strategi ini menggunakan 50 saluran rata-rata kitaran dan ADX Moving Index serta kombinasi penunjuk tenaga EFI untuk perdagangan trend. Apabila penunjuk tenaga EFI menunjukkan trend, masuk ke dalam arena dengan pengulangan di kawasan 50 saluran rata-rata. Strategi ini berlaku untuk tempoh masa 1 minit.
Hitung saluran rata-rata 50 kitaran, di atas saluran sepanjang garis rata-rata sebagai titik tinggi, di bawah sepanjang garis rata-rata sebagai titik rendah.
Pengiraan indeks pergerakan ADX untuk menilai kekuatan trend, hanya apabila trend kuat ((ADX> 20) akan dipertimbangkan untuk berdagang.
Hitung indikator tenaga EFI untuk tempoh panjang ((120 kitaran) dan tempoh pendek ((15 kitaran)). Indeks jangka panjang lebih besar daripada 0 menunjukkan peningkatan tenaga trend naik secara keseluruhan, dan indikator jangka pendek kurang daripada 0 menunjukkan penurunan denyutan pulsa kenaikan jangka pendek.
Operasi beli dilakukan apabila indikator EFI jangka panjang dan pendek mengeluarkan isyarat beli, dan apabila harga kembali ke saluran 50 rata-rata.
Operasi jual dilakukan apabila indikator EFI jangka panjang dan jangka pendek mengeluarkan isyarat jual, dan apabila harga kembali ke 50 saluran garis rata.
Strategi ini menggabungkan trend, momentum, dan isyarat penarikan balik yang dapat menyaring sebahagian besar penembusan palsu dengan berkesan. Kelebihan spesifiknya adalah sebagai berikut:
50 saluran garis rata dengan jelas menentukan arah trend utama.
Indeks ADX memastikan perdagangan hanya berlaku apabila trend jelas dan mengelakkan pasaran yang bergoyang.
Indeks EFI menilai bahawa pembelian dilakukan pada saat tenaga trend meningkat, mengurangkan risiko pembelian.
Menunggu panggilan balik ke dalam padang, anda boleh mendapatkan nisbah risiko dan ganjaran yang lebih baik.
Kombinasi pelbagai indikator dapat menyaring dengan berkesan risiko penembusan palsu.
Strategi ini mempunyai risiko utama:
Terdapat juga penyesuaian yang lebih ketara dalam trend yang kuat, yang memerlukan penangguhan yang lebih luas.
Dalam keadaan yang bergolak, penunjuk EFI mungkin memberi isyarat yang salah, yang memerlukan penunjuk trend seperti ADX.
Jika anda mengubah semula ke arah yang lebih jauh, anda akan terlepas masa masuk, dan anda boleh menyesuaikan parameter garis purata dengan betul.
Satu jenis dagangan tunggal tidak dapat menyebarkan risiko sistemik pasaran dengan berkesan.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Uji lebih banyak varieti untuk mencari ruang lingkup parameter strategi.
Tambah strategi berhenti kerugian untuk mengunci keuntungan dengan menjejaki berhenti kerugian.
Mengoptimumkan parameter, mengoptimumkan parameter penunjuk seperti ADX, EFI.
Menambah algoritma pembelajaran mesin, menggunakan latihan data besar untuk menentukan trend yang benar atau salah.
Menambah perdagangan dalam tempoh masa yang berlainan, menggunakan teknik kawalan kedudukan Spacing antara tempoh yang berbeza.
Kajian dan pengenalan lebih banyak penapis trend untuk meningkatkan kualiti isyarat
Strategi ini secara keseluruhan adalah strategi penyesuaian trend yang sangat sesuai untuk pemula. Ia menggabungkan pelbagai isyarat seperti trend, momentum dan penyesuaian, yang dapat menyaring penembusan palsu dengan berkesan. Dengan mengoptimumkan strategi menghentikan kerugian, penetapan parameter, kitaran masa, dan lain-lain, strategi ini boleh menjadi sistem pengesanan trend yang kuat.
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 1h
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/
// © trent777brown
//@version=5
// strategy("adx efi 50 ema channel, trend pullback", overlay=true, margin_long=100, margin_short=100, currency=currency.USD, initial_capital= 100000, close_entries_rule="ANY")
//bollingerbands
[basis, upperband, lowerband]= ta.bb(ohlc4, 50, 3)
[basis2, upperband2, lowerband2]= ta.bb(ohlc4, 50, 2)
psar= ta.sar(.1, .1, .09)
ema50= ta.ema(hlc3, 50)
ema50hi= ta.ema(high, 50)
ema50lo= ta.ema(low, 50)
ema18= ta.wma(hlc3, 15)
wma9= ta.wma(open, 9)
wma5= ta.wma(ohlc4, 5)
ema34= ta.rma(hlc3, 10)
[macdline, signalline, histline]= ta.macd(hlc3, 5, 34, 5)
[macdline2, signalline2, histline2]= ta.macd(hlc3, 15,70, 24)
[diplus, diminus, adx]= ta.dmi(20, 20)
[diplus2, diminus2, adx2]= ta.dmi(12, 12)
rsi= ta.rsi(hlc3, 14)
rsisma= ta.sma(rsi, 10)
stoch= ta.stoch(close, high, low, 21)
k= ta.wma(stoch, 3)
d= ta.wma(k, 3)
trendline5= ta.wma(hlc3, 300)
trendline9= ta.wma(open, 540)
trendline18= ta.wma(open, 1080)
atr=ta.atr(14)
plot(psar, color=color.red, style=plot.style_circles)
plot(ema50, color=color.white, linewidth=4)
plot(ema50hi, color=color.yellow, linewidth=4)
plot(ema50lo, color=color.yellow, linewidth=4)
plot(ema34, color=color.aqua, linewidth=4)
plot(wma9, color=color.gray, linewidth=4)
plot(wma5, color=color.lime, linewidth=4)
plot(trendline18, color=color.orange, linewidth=4)
plot(upperband, color=color.navy, linewidth=4)
plot(lowerband, color=color.navy, linewidth=4)
plot(upperband2, color=color.navy, linewidth=4)
plot(lowerband2, color=color.navy, linewidth=4)
plot(trendline9, color=color.maroon, linewidth=4)
plot(trendline5, color=color.yellow, linewidth=4)
efi = ta.rma(ta.change(close) * volume, 15)
efi2= ta.rma(ta.change(close) * volume, 120)
buy= efi2 > 0 and efi < 0 and efi[1] < efi and adx >= 20 and open < ema50hi
sell= efi2 < 0 and efi > 0 and efi[1] > efi and adx >= 20 and open > ema50lo
//ell= rsi > 50 and ta.crossunder(wma5, wma9) and psar > high and ema18 <= ema50hi and macdline > 0 and macdline < signalline
//buy= ta.crossunder(close, ema50) and rsi < 50 and adx2 < adx2[1] and k < 25 and psar > high
//uy= rsi < 60 and ta.crossover(wma5, wma9) and psar < low and ema18 >= ema50 and macdline2 > 0 and diplus2 < 30 // and histline2 < 0
//buy= ema18 > ema50 and ta.crossunder(rsi, 45) and open < ema50hi and adx2[3] < adx2 and diplus2 < 25 and macdline < 0 and adx < 10
//sell= ta.crossover(close, ema50) and rsi > 50 and adx2 < adx2[1] and k > 75 and psar < low
//ell= ema18 < ema50 and ta.crossover(rsi, 60) and open > ema50lo and diminus2 < 30 and macdline2 < 0 and adx2[2] < adx2
//buy sell conditions 1
//buy= ta.crossover(wma5, ema18) and ema18 > ema50lo and diplus > 22 and diminus < 22 and adx > 15
//ell= ta.crossover(psar, high) and macdline2 < signalline2 and rsi < rsisma
//when conditions
buytrig= ema34 >= ema50lo
selltrig= ema34 <= ema50hi
//strategy
sl= low - atr * 8
tp= high + atr * 4
sellsl= high + atr * 8
selltp= low - atr * 4
if(buy)
strategy.entry("buy", strategy.long, when= buytrig)
strategy.exit("exit buy", "buy", limit= tp, stop= sl)
strategy.close("close", when= ta.crossunder(ema34, ema50lo))
if(sell)
strategy.entry("sell", strategy.short, when= selltrig)
strategy.exit("exit sell", "sell", limit= selltp, stop= sellsl)