
Strategi ini berdasarkan purata penunjuk rawak untuk membuat keputusan isyarat perdagangan, termasuk dalam strategi pengesanan trend. Strategi ini adalah strategi pengesanan trend yang tipikal dengan mengira purata bergerak penunjuk rawak purata% K dan% D, melakukan lebih banyak apabila mereka berlaku Goldfork, melakukan kosong apabila berlaku Deadfork.
Hitung nilai rata-rata penunjuk rawak% K dan% D. Di mana% K adalah purata bergerak nilai rawak yang dikira berdasarkan harga penutupan dalam tempoh tertentu, yang mencerminkan kedudukan harga semasa berbanding harga tertinggi dan terendah dalam tempoh tertentu. % D adalah purata bergerak% K, yang digunakan untuk mengesahkan trend.
Rata-rata rata-rata bergerak rata-rata ((EMA) untuk %K dan %D, masing-masing, untuk mendapatkan purata purata rata-rata indikator rawak_avg_k dan_avg_d。
Untuk menilai isyarat dagangan:
Sinyal beli:_avg_k memakai_avg_d, dan_avg_d <20 tahun, lebih banyak kerja.
Menjual isyarat:_avg_k bawah memakai_avg_d, dan_avg_kosong apabila d > 80
Pengurusan simpanan:
Multiple Stop Loss: Apabila_avg_d >80 jam kedudukan kosong
Kerugian tiket kosong:_avg_d <20:00 kedudukan kosong
Maksimum 3 pesanan serentak dibenarkan, dalam strategi penambahan simpanan
Menggunakan garisan keseimbangan ganda untuk menilai garisan mati garisan emas, dapat menyaring penembusan palsu dengan berkesan, meningkatkan kualiti isyarat
Menggunakan penunjuk purata rawak untuk mengesan trend harga
Dengan menggunakan penghakiman selang-selang, anda boleh mengelakkan dagangan yang kerap berlaku dalam keadaan yang tidak menentu.
Membiarkan penarikan, untuk mendapatkan lebih banyak keuntungan dalam keadaan trend
Strategi Hentikan Kerugian Mengendalikan Kerugian Tunggal
Strategi dagangan dua hala mudah menghasilkan dagangan yang kerap, jika kos dagangan terlalu tinggi akan menjejaskan keuntungan
Menggunakan titik berhenti tetap mungkin menghentikan kecenderungan keluar terlalu awal
Terlalu banyak deposit boleh menyebabkan kerugian meningkat
Tidak dapat menilai titik perubahan tren dengan berkesan, kemungkinan kerugian yang lebih besar apabila trend berubah
Perlu mengoptimumkan kitaran parameter, dan kesannya sangat berbeza dalam kitaran yang berbeza
Ia boleh dipertimbangkan untuk memperkenalkan indikator trend untuk mengelakkan dagangan berlawanan arah.
Mengubah Stop Loss Secara Dinamis Untuk Menyokong Trend
Mengoptimumkan strategi penambahan pertaruhan, contohnya dengan meningkatkan jumlah pemain pertaruhan
Kaedah ini juga boleh digunakan untuk menjimatkan masa dan wang.
Optimumkan parameter ujian untuk pelbagai jenis, meningkatkan kesesuaian parameter
Strategi ini secara keseluruhannya adalah strategi pengesanan trend yang tipikal, menggunakan arah trend yang dinilai dengan menggunakan penunjuk purata rawak, dan melakukan perdagangan kenaikan apabila trend muncul. Kelebihan strategi adalah keupayaan pengesanan yang kuat, sesuai dengan tren, tetapi perlu berhati-hati untuk mengelakkan perdagangan berlawanan.
/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
//1. AVG Stochastic Calculate
//1.1 AVG %K is calculated by apply EMA with smooth K period on Average of Original Stochastic %k & %d
//+ avg_k=ema((%k+%d)/2,smoothK)
//1.2 AVG %D is calculated by apply EMA with %d period on AVG %K
//+ avg_d=ema(avg_k,periodD)
//2. Parameter
//+ %K Length: 21
//+ %K Smoothing: 3
//+ %D Smoothing: 3
//+ Symbol: BTC/USDT
//+ Timeframe: M30
//+ Pyramiding: Maximum 3 orders at the same direction.
//3. Signal
//3.1 Buy Signal
//+ Entry: AVG %K crossover AVG %D and AVG %D < 20
//+ Exit: AVG %D > 80
//3.2 Sell Signal
//+ Entry: AVG %K crossunder AVG %D and AVG %D > 80
//+ Exit: AVG %D < 20
strategy(title="AVG Stochastic Strategy [M30 Backtesting]", overlay=true, pyramiding=3)
periodK = input.int(21, title="%K Length", minval=1)
smoothK = input.int(3, title="%K Smoothing", minval=1)
periodD = input.int(3, title="%D Smoothing", minval=1)
k = ta.sma(ta.stoch(close, high, low, periodK), smoothK)
d = ta.sma(k, periodD)
_avg_k=ta.ema(math.avg(k,d),smoothK)
_avg_d=ta.ema(_avg_k,periodD)
up=
_avg_k[1]<_avg_d[1]
and _avg_k>_avg_d
and _avg_d<20
dn=
_avg_k[1]>_avg_d[1]
and _avg_k<_avg_d
and _avg_d>80
var arr_val=0
if up
arr_val:=1
strategy.entry("Long", strategy.long)
if dn
arr_val:=-1
strategy.entry("Short", strategy.short)
if up[1] or dn[1]
arr_val:=0
plotarrow(arr_val,title="Signal",colorup=color.green,colordown=color.red)
if _avg_d>80
strategy.close("Long")
if _avg_d<20
strategy.close("Short")
//EOF