
Strategi dagangan berbalik dua indikator adalah strategi dagangan garis pendek yang menggabungkan penunjuk momentum dan penunjuk trend. Strategi ini menghasilkan isyarat perdagangan dengan menggunakan penunjuk berbalik dan kemudian digabungkan dengan penunjuk trend untuk menghasilkan isyarat perdagangan yang lebih dipercayai. Strategi ini bertujuan untuk menangkap perubahan harga jangka pendek dan berdagang dalam konteks trend garis pendek dan tengah.
Strategi ini terdiri daripada dua sub-strategi:
Substrategi pertama adalah strategi 123 reversal. Ia memantau sama ada harga telah menunjukkan bentuk kenaikan harga tinggi. Secara khusus, ia akan menghasilkan isyarat beli dalam keadaan berikut: dua hari sebelum harga penutupan jatuh, hari penutupan lebih tinggi daripada harga penutupan hari sebelumnya, dan garis perlahan Stochastic di bawah 50. Ia akan menghasilkan isyarat jual dalam keadaan berikut: dua hari sebelum harga penutupan naik, hari penutupan di bawah harga penutupan hari sebelumnya, dan garis pantas Stochastic di atas 50.
Substrategi kedua adalah ergodic random indicator ((EMDI)). Ia adalah penunjuk trend yang mengenal pasti arah trend dalam garis panjang. Ia menggabungkan idea rata-rata bergerak dan MACD, menggunakan indeks sekali gus untuk meluruskan rata-rata bergerak dan menyeberangi garis laju MACD untuk menghasilkan isyarat beli dan jual.
Strategi ini menggabungkan isyarat dari dua substrategi. Strategi ini hanya akan membuka kedudukan apabila kedua-dua substrategi menghasilkan isyarat yang sama. Iaitu, ia hanya berdagang apabila terdapat sokongan trend garis tengah yang kuat di samping sedikit pembalikan jangka pendek.
Strategi perdagangan berbalik dua indikator cuba menangkap peluang pembalikan harga pendek pada garis tengah pendek melalui kombinasi indikator pembalikan dan trend. Ia dapat menyaring isyarat penipuan dengan berkesan dan mengawal risiko perdagangan hingga ke tahap tertentu. Tetapi strategi ini juga mempunyai beberapa masalah, seperti peluang jangka pendek yang mungkin terlewat, parameter sensitif, dan risiko overfit.
/*backtest
start: 2023-10-09 00:00:00
end: 2023-10-16 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 28/07/2020
// 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
// This is one of the techniques described by William Blau in his book "Momentum,
// Direction and Divergence" (1995). If you like to learn more, we advise you to
// read this book. His book focuses on three key aspects of trading: momentum,
// direction and divergence. Blau, who was an electrical engineer before becoming
// a trader, thoroughly examines the relationship between price and momentum in
// step-by-step examples. From this grounding, he then looks at the deficiencies
// in other oscillators and introduces some innovative techniques, including a
// fresh twist on Stochastics. On directional issues, he analyzes the intricacies
// of ADX and offers a unique approach to help define trending and non-trending periods.
//
// 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
EMDI(r,s,u,SmthLen) =>
pos = 0
xEMA = ema(close, r)
xEMA_S = close - xEMA
xEMA_U = ema(ema(xEMA_S, s), u)
xSignal = ema(xEMA_U, u)
pos := iff(xEMA_U > xSignal, 1,
iff(xEMA_U < xSignal, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Ergodic MDI", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
r = input(32, minval=1)
s = input(5, minval=1)
u = input(5, minval=1)
SmthLen = input(3, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posEMDI = EMDI(r,s,u,SmthLen)
pos = iff(posReversal123 == 1 and posEMDI == 1 , 1,
iff(posReversal123 == -1 and posEMDI == -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 )