Strategi ini menggabungkan strategi 123 reversal, strategi DMI dan strategi moving average untuk mewujudkan pengumpulan berkesan dari pelbagai jenis strategi untuk membentuk strategi gabungan yang kuat. Strategi ini boleh melakukan operasi reversal pada titik perubahan trend, dan boleh melakukan operasi maju ketika trend berterusan, dan juga menggunakan filter moving average untuk mengenal pasti arah trend pasaran dengan berkesan, meningkatkan peluang strategi.
123 Strategi pembalikan: apabila harga penutupan 2 hari berturut-turut di bawah harga penutupan hari sebelumnya dan ditukar ke atas harga penutupan hari sebelumnya, dan garis K perlahan pada hari ke-9 lebih rendah daripada 50, apabila harga penutupan 2 hari berturut-turut di atas harga penutupan hari sebelumnya dan ditukar ke bawah harga penutupan hari sebelumnya, dan garis K cepat pada hari ke-9 lebih tinggi daripada 50, maka buatlah kosong.
Strategi DMI: Buat lebih banyak apabila + DI di talian melalui-DI; kosong apabila + DI di bawah-DI.
Strategi purata bergerak: melakukan lebih banyak apabila melalui purata bergerak di atas harga penutupan; kosong apabila melalui purata bergerak di bawah harga penutupan.
Tiga isyarat strategi mengeluarkan isyarat arah yang sama untuk membuka kedudukan, jika tidak, kedudukan kosong.
Strategi ini menggabungkan strategi trend dan strategi pembalikan, yang dapat menangkap peluang pembalikan harga tepat pada masanya dan tidak ketinggalan peluang untuk menjalankan trend. Penapisan purata bergerak dapat mengurangkan isyarat palsu. Pelbagai strategi saling mengesahkan dan dapat meningkatkan kebolehpercayaan isyarat.
Menggabungkan pelbagai strategi untuk meningkatkan kemenangan. Strategi 123 berbalik dapat menangkap titik perubahan, strategi DMI dapat menangkap trend, dan rata-rata bergerak dapat memfilter isyarat.
Strategi pembalikan digabungkan dengan strategi trend, yang boleh menangkap pembalikan dan juga trend, perdagangan yang fleksibel.
Menggunakan penapis purata bergerak dapat mengurangkan isyarat palsu yang dihasilkan oleh turun naik jangka pendek.
Kombinasi pelbagai strategi dapat saling mengesahkan isyarat, mengelakkan strategi tunggal gagal kerana dipengaruhi oleh keadaan pasaran tertentu.
Lebih banyak parameter strategi, anda boleh mencari kombinasi parameter terbaik dengan mengoptimumkan dan meningkatkan kestabilan strategi.
Strategi pembalikan mudah terjebak dalam trend goyah. Ia boleh dielakkan dengan menggabungkan strategi trend.
Strategi DMI mungkin kehilangan peluang pada awal trend. Parameter DMI boleh dikurangkan dengan sewajarnya untuk meningkatkan kepekaan.
Rata-rata bergerak mempunyai keterlambatan, yang mungkin melambatkan penjanaan isyarat. Siklus boleh dikurangkan dengan sewajarnya untuk mempercepatkan tindak balas.
Walaupun kombinasi pelbagai strategi meningkatkan peluang kemenangan, ia juga meningkatkan kerumitan strategi. Ia perlu diuji dengan teliti setiap parameter yang ditetapkan.
Strategi sensitif terhadap kos dagangan. Ia disyorkan untuk menghapuskan jangkauan stop loss dengan sewajarnya dan mengelakkan terlalu kerap membuka kedudukan kosong.
Mengoptimumkan parameter strategi untuk mencari kombinasi parameter terbaik.
Tambah isyarat penapis indikator lain, seperti MACD, RSI dan lain-lain, untuk meningkatkan kestabilan strategi.
Tambah strategi hentikan kerugian, seperti hentikan trend, hentikan guncangan, dan lain-lain, untuk mengawal risiko.
Mengoptimumkan pengurusan kedudukan, seperti kedudukan tetap, kedudukan dinamik dan sebagainya, untuk meningkatkan kadar pulangan strategi.
Penyesuaian parameter untuk varieti tertentu untuk meningkatkan adaptasi strategi.
Menambah model pembelajaran mesin untuk membantu membuat keputusan, menggunakan lebih banyak data sejarah untuk meningkatkan prestasi strategi.
Strategi ini membentuk strategi agregat yang fleksibel dan berubah-ubah dengan menggabungkan strategi pembalikan, strategi trend dan penapis purata bergerak dengan berkesan. Ia boleh menangkap titik peralihan harga, tetapi juga dapat menangkap kesinambungan trend, meningkatkan kestabilan dan kebolehpercayaan isyarat melalui kombinasi pelbagai strategi.
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-18 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 15/10/2019
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
// The strategy sells at market, if close price is lower than the previous close price
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The related article is copyrighted material from Stocks & Commodities Aug 2009
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
vFast = sma(stoch(close, high, low, Length), KSmoothing)
vSlow = sma(vFast, DLength)
pos = 0.0
pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0)))
pos
fFilter(xSeriesSum, xSeriesV, Filter) =>
iff(xSeriesV > Filter, xSeriesSum, 0)
DMIMA(Length_MA, Length_DMI) =>
pos = 0.0
xMA = sma(close, Length_MA)
up = change(high)
down = -change(low)
trur = rma(tr, Length_DMI)
xPDI = fixnan(100 * rma(up > down and up > 0 ? up : 0, Length_DMI) / trur)
xNDI = fixnan(100 * rma(down > up and down > 0 ? down : 0, Length_DMI) / trur)
nPDI = xPDI
nNDI = xNDI
nMA = xMA
nPDI_1 = xPDI[1]
nNDI_1 = xNDI[1]
nMA_1 = xMA[1]
bMDILong = iff(nPDI > nNDI and nPDI_1 < nNDI_1, true,
iff(nPDI < nNDI and nPDI_1 > nNDI_1, false, false))
bMDIShort = iff(nPDI > nNDI and nPDI_1 < nNDI_1, false,
iff(nPDI < nNDI and nPDI_1 > nNDI_1, true, false))
bMALong = iff(close > nMA and close[1] < nMA_1, true,
iff(close < nMA and close[1] > nMA_1, false, false))
bMAShort = iff(close > nMA and close[1] < nMA_1, false,
iff(close < nMA and close[1] > nMA_1, true, false))
pos := iff(bMDILong and bMALong, 1,
iff(bMDIShort and bMAShort, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & DMI & Moving Average", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length_MA = input(30, minval=1)
Length_DMI = input(14, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDMIMA = DMIMA(Length_MA,Length_DMI)
pos = iff(posReversal123 == 1 and posDMIMA == 1 , 1,
iff(posReversal123 == -1 and posDMIMA == -1, -1, 0))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1 , 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
if (possig == 0)
strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )