
Ini adalah strategi yang menggabungkan RSI, EMA dan VMACD secara rawak untuk mengenal pasti titik-titik pembalikan di pasaran, yang berfungsi dengan baik apabila trend turun akan berbalik. Ia akan menghasilkan isyarat beli apabila ia memenuhi syarat.
Strategi ini berdasarkan kepada gabungan beberapa indikator berikut:
Apabila RSI acak berpatah balik dari kawasan oversold, dan melintasi garis perlahan pada garis pantas EM, dan VMACD juga mula naik, isyarat beli akan dihasilkan. Selain itu, isyarat beli akan dihasilkan sebagai isyarat tambahan jika harga jangka pendek menembusi SMA 10 kitaran (rata-rata bergerak sederhana).
Strategi ini akan menjejaki perubahan dalam masa nyata dalam beberapa petunjuk ini dan mengira maklumat seperti SMA, EMA dan lain-lain selepas jangka masa tertentu. Apabila mencetuskan syarat membeli, ia akan menggunakan jumlah kontrak tetap untuk membeli dan membuka kedudukan.
Strategi ini menggabungkan beberapa petunjuk yang dapat mengesan peluang untuk membalikkan pasaran.
Keseluruhannya, strategi ini berkesan untuk menangkap isyarat reversal dan membina kedudukan multi-head untuk keuntungan selepas turun ke tahap tertentu.
Walaupun ada kelebihan, strategi ini mempunyai risiko yang perlu diperhatikan, terutamanya:
Untuk mengatasi risiko di atas, anda boleh mengoptimumkan lagi dengan:
Strategi ini boleh dioptimumkan dengan cara berikut:
Strategi pencari gelombang VRSI-EMA yang bercampur dengan VMACD, secara keseluruhan merupakan strategi yang baik untuk mengenal pasti peluang pembalikan penurunan. Ia menggabungkan beberapa petunjuk untuk membentuk isyarat membeli, yang dapat menentukan masa pembalikan secara berkesan.
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Wavefinder+", overlay=true)
length = input(20)
confirmBars = input(2)
price = close
slow = input(12, "Short period")
fast = input(26, "Long period")
signal = input(9, "Smoothing period")
maFast = ema( volume * close, fast ) / ema( volume, fast )
maSlow = ema( volume * close, slow ) / ema( volume, slow )
da = maSlow - maFast
maSignal = ema( da, signal )
dm=da-maSignal
source = close
lengthRSI = input(14, minval=8), lengthStoch = input(14, minval=5)
smoothK = input(3,minval=3), smoothD = input(3,minval=3)
OverSold = input(25), OverBought = input(75)
rsi1 = rsi(source, lengthRSI)
rsi2= rsi(low, 20)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
k1= sma(stoch(rsi2, rsi2, rsi2, lengthStoch), smoothK)
d1= sma(k1, smoothD)
delta=k-d1
ma = ema(low, length)
ema5= ema(price,20)
sma= sma(price,10)
bcond = price < ma
lcond = price> ema5
bcount = 0
lcount= 0
bcount := bcond ? nz(bcount[1]) + 1 : 0
lcount := lcond ? nz(lcount[1]) + 1 : 0
if (lcount>1 and change(k)>3 and k>d and k<55 and rising(dm,1)) or ( k[1]-k[2]<-2 and k-k[1]>5 and k>35 and k<80) or (ma-sma>0.05*sma and rising(sma,3) and rising(dm,2))
strategy.entry("Long", strategy.long, qty=10000/close)
if (bcount == confirmBars)
strategy.close("Long")
if close<0.99*sma
strategy.close("Long")
plot(0.99*sma)
plot(ma)
//hline(OverSold,color=blue)
//hline(OverBought,color=blue)
//plot(d, color=red)
//plot(k, color=green,title="k-line")
//(close-close[3]<-0.05*close[3]) or (close-close[2]<-0.05*close[2]) or (close-close[2]<-0.05*close[2]) or (close-close[4]<-0.05*close[4]) or
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)