Strategi ini menggunakan kombinasi indikator rata-rata dua kali ganda dan indikator Stochastic untuk mengenal pasti peluang untuk berbalik trend, untuk mencapai perdagangan garis pendek yang cekap. Strategi ini memilih untuk melakukan short apabila harga memasuki kawasan overbuy dan oversell; Strategi ini memilih untuk melakukan over apabila harga memasuki kawasan oversell untuk menangkap pembalikan trend garis pendek.
Strategi ini adalah berdasarkan kepada penggunaan gabungan purata berlapis dua dan penunjuk Stochastic.
Rata-rata berlapis dua terdiri daripada rata-rata bergerak cepat, rata-rata bergerak perlahan, dan rata-rata bergerak perlahan. Apabila rata-rata bergerak cepat melintasi rata-rata bergerak perlahan, ia dianggap sebagai isyarat membeli; apabila rata-rata bergerak perlahan melintasi rata-rata bergerak cepat, ia dianggap sebagai isyarat menjual.
Indeks Stochastic mengandungi nilai K dan D, nilai K menunjukkan kedudukan harga tertinggi dan terendah harga penutupan semasa dalam masa N hari, nilai D adalah purata bergerak sederhana hari M nilai K. Apabila nilai K dan D melebihi 80 adalah kawasan yang lebih baik, dan lebih kecil daripada 20 adalah kawasan yang lebih baik. Indeks Stochastic dapat mengenal pasti kawasan yang lebih baik dan lebih baik dalam jangka pendek.
Strategi ini menggunakan gabungan purata dua kali ganda dan penunjuk Stochastic, dan apabila penunjuk Stochastic menunjukkan kawasan overbought atau oversold, treeview melihat sama ada ia sepadan dengan isyarat purata dua kali ganda, dan jika sepadan, pilih titik itu untuk bertukar perdagangan, dengan harapan untuk menangkap titik perubahan trend garis pendek.
Strategi ini mempunyai kelebihan berikut:
Kombinasi menggunakan purata dua kali ganda dan penunjuk Stochastic, yang dapat mengenal pasti titik-titik perubahan trend pada garis pendek dan garis pendek pada masa yang sama.
Menggunakan isyarat overbought dan oversold Stochastic untuk memilih peluang reversal rata-rata ganda yang lebih berkesan.
Peraturan strategi dagangan jelas dan mudah dilaksanakan.
Waktu dagangan yang boleh disesuaikan dan parameter bulan untuk pelbagai jenis dan tempoh masa.
Tetapkan stop loss untuk mengawal risiko.
Strategi ini mempunyai beberapa risiko:
Rata-rata dua kali lipat boleh menghasilkan pecah palsu, dan penunjuk Stochastic juga boleh muncul dalam bentuk garis K asynchronous yang tidak sah, yang menyebabkan kesalahan isyarat perdagangan. Parameter boleh disesuaikan dengan sewajarnya, atau penunjuk lain boleh ditambah untuk pengesahan kombinasi.
Berasaskan hanya pada petunjuk teknikal, tanpa mempertimbangkan faktor asas, mudah gagal apabila berlaku peristiwa ekonomi utama. Boleh dimasukkan ke dalam kawalan risiko peristiwa ekonomi.
Kesukaran untuk memahami titik tepat di mana rata-rata bergerak berbalik, boleh menyebabkan masalah yang terlalu kecil atau terlalu besar. Strategi berhenti harus dioptimumkan.
Tetapan parameter yang tidak betul boleh menyebabkan frekuensi perdagangan yang terlalu tinggi atau kesan isyarat yang tidak baik. Ujian pengoptimuman parameter harus dilakukan untuk pelbagai jenis dan tempoh.
Hanya sesuai untuk perdagangan garis pendek, tidak sesuai untuk memegang garis panjang. Perlu mengawal saiz kedudukan.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Uji kombinasi lebih banyak penunjuk seperti KDJ, MACD dan lain-lain untuk meningkatkan keberkesanan isyarat.
Menerusi analisis indikator jumlah transaksi, mengelakkan penembusan palsu.
Mengoptimumkan parameter purata ganda untuk mengenal pasti masa pembalikan yang lebih tepat.
Mengoptimumkan strategi hentian kerugian untuk mengurangkan kemungkinan hentian kerugian akan dicetuskan.
Menambah modul kawalan risiko peristiwa ekonomi untuk mengelakkan kesan peristiwa besar terhadap perdagangan.
Menggunakan teknologi pembelajaran mesin untuk mengoptimumkan parameter secara automatik dan meningkatkan kebolehpasaran parameter.
Ujian semula dilakukan pada lebih banyak jenis dan kitaran untuk mencari arah penggunaan yang terbaik.
Strategi ini menggunakan gabungan purata ganda dan Stochastic yang berbeza dengan bentuk garis K untuk mencapai tujuan perdagangan pada titik perubahan trend garis pendek. Strategi ini dapat meningkatkan keuntungan perdagangan, dan peraturan strategi jelas dan mudah dikendalikan, berbanding dengan penggunaan satu indikator sahaja. Tetapi strategi ini juga mempunyai risiko tertentu, memerlukan pengoptimuman parameter dan hentikan kerugian, dan menambahkan lebih banyak petunjuk dan kawalan risiko.
/*backtest
start: 2022-10-26 00:00:00
end: 2023-10-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="Intraday Stochiastic Strategy", shorttitle="Intraday Stochiastic Strategy", overlay=true, initial_capital = 1000)
//WORKS FOR BTCUSD M30
//OBVERVED GOOD PERFORMANCES FOR SELL MODE M15 : US30USD / UK100GBP / JP225USD / SPX500USD / BCOUSD / EURGBP
//Best Forex Hours are 7-21
//0 is Long Position
//1 is Short Position
//2 No position
mode=input(1, maxval=2, title="Mode")
lossLimit=input(10000, maxval=10000, title="Loss Limit")
hourStart=input(2, maxval=24, title="Hour Start")
hourStop=input(13, maxval=24, title="Hour Stop")
//Month selected for back testing. 0 is maximum number of months
monthSelected = input(0, maxval=12, title="Month Selected")
/////////////////////////////////////////////////
fast = 20, slow = 50, ultraSlow = 200
fastMA = sma(close, fast)
slowMA = sma(close, slow)
ultraSlowMA = sma(close, ultraSlow)
colorFast = red
colorSlow = black
colorUltraSlowMA = purple
if(timeframe.period == "1" or timeframe.period == "3" or timeframe.period == "5" or timeframe.period == "15" or timeframe.period == "30" or timeframe.period == "45" or timeframe.period == "60" or timeframe.period == "120" or timeframe.period == "180" or timeframe.period == "240")
fastMA := ema(close, fast)
slowMA := ema(close, slow)
ultraSlowMA := ema(close, ultraSlow)
colorFast := orange
colorSlow := gray
colorUltraSlowMA := blue
p1 = plot(fastMA, color=colorFast)
p2 = plot(slowMA, color=colorSlow, linewidth=2)
p3 = plot(ultraSlowMA, color=colorUltraSlowMA, linewidth=3)
fill(p1, p2, color = fastMA > slowMA ? green : red)
////////////////////////////////////////////////
ema150 = 200
ema150MA = ema(close, ema150)
smooth = input(3, minval=1), K = input(14, minval=1), D=input(3,minval=1)
hh=highest(high,K)
ll=lowest(low,K)
k = sma((close-ll)/(hh-ll)*100, smooth)
d = sma(k, 3)
//plot(k, color=blue)
//plot(d, color=red)
//h0 = hline(80)
//h1 = hline(20)
//fill(h0, h1, color=purple, transp=95)
//plot(hour*100, color=red, linewidth=2)
stochiasticHigh = 80
stochiasticLow = 20
data = close < ema150MA and k>stochiasticHigh and d>stochiasticHigh and close>open
plotshape(data, style=shape.triangledown, location=location.belowbar, color=red)
data2 = close > ema150MA and k<stochiasticLow and d<stochiasticLow and close<open
plotshape(data2, style=shape.triangleup, location=location.abovebar, color=green)
isData = 0
isData := isData[1]
if(isData == 0)
if(data)
if(mode==1 and hour>hourStart and hour<hourStop and (monthSelected==0 or month==monthSelected)) //DOW hours : 2-13
strategy.entry("SCALP SHORT", strategy.short)
isData := 1
else
if(k<stochiasticLow and d<stochiasticLow)
if(mode==1)
strategy.close_all(when = true)
isData := 0
isData2 = 0
isData2 := isData2[1]
if(isData2 == 0)
if(data2)
if(mode==0 and hour>hourStart and hour<hourStop and (monthSelected==0 or month==monthSelected))
strategy.entry("SCALP LONG", strategy.long)
isData2 := 1
else
if(k>stochiasticHigh and d>stochiasticHigh)
if(mode==0)
strategy.close_all(when = true)
isData2 := 0
strategy.exit("STOP LOSS", "SCALP LONG", loss=lossLimit)
strategy.exit("STOP LOSS", "SCALP SHORT", loss=lossLimit)