Strategi ini membolehkan trend-tracking dan reversal trading dengan menggabungkan 123 reversals dengan penunjuk aliran wang.
Pertama, dengan 123 bentuk pembalikan menilai titik pembalikan harga. Secara khusus, jika harga penutupan dua hari pertama jatuh, harga penutupan naik pada hari ketiga, dan penunjuk rawak berada di bawah penurunan, menghasilkan isyarat beli; jika harga penutupan dua hari pertama naik, harga penutupan hari ketiga jatuh, dan penunjuk rawak berada di atas penurunan, menghasilkan isyarat jual.
Kedua, mengira indikator aliran dana untuk garis pantas dan perlahan. Garis pantas terdiri daripada purata bergerak indeks aliran dana untuk tempoh yang lebih lama, dan garis perlahan adalah purata bergerak indeks untuk tempoh yang lebih lama. Jika garis pantas lebih tinggi daripada garis perlahan, ia dianggap sebagai aliran dana, menghasilkan isyarat membeli; sebaliknya, ia menghasilkan isyarat menjual.
Akhir sekali, gabungan 123 reversals dengan indikator aliran wang menghasilkan isyarat dagangan jika kedua-dua isyarat itu sepadan.
Risiko boleh dikawal dengan meningkatkan kebolehpercayaan bentuk pembalikan, sensitiviti dalam penunjuk aliran dana, dan logik stop-loss.
Strategi ini mengintegrasikan kelebihan perdagangan terbalik dan trend tracking, dapat mengenal pasti titik-titik perubahan pasaran dengan berkesan. Tetapi perlu berhati-hati dengan parameter penyesuaian dan kawalan risiko, untuk mengelakkan terlalu banyak isyarat yang salah semasa mengikuti trend. Jika digunakan dengan baik, ia boleh menjadi salah satu strategi perdagangan yang cekap.
/*backtest
start: 2023-08-17 00:00:00
end: 2023-09-16 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 24/02/2021
// 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
// Indicator plots Money Flow Indicator (Chaikin). This indicator looks
// to improve on Larry William's Accumulation Distribution formula that
// compared the closing price with the opening price. In the early 1970's,
// opening prices for stocks stopped being transmitted by the exchanges.
// This made it difficult to calculate Williams' formula. The Chaikin
// Oscillator uses the average price of the bar calculated as follows
// (High + Low) /2 instead of the Open.
// The indicator subtracts a 10 period exponential moving average of the
// AccumDist function from a 3 period exponential moving average of the
// AccumDist function.
//
// 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
MFI(Fast,Slow) =>
pos = 0.0
lenMax = max(Fast, Slow)
lenMin = min(Fast, Slow)
xDiv = (high - low) * volume
SumMax = sum(iff(xDiv > 0, (close - open) / (high - low) * volume , 0) , lenMax)
SumMin = sum(iff(xDiv > 0, (close - open) / (high - low) * volume , 0) , lenMin)
emaMax = ema(SumMax, lenMax)
emaMin = ema(SumMin, lenMin)
nRes = emaMax - emaMin
pos:= iff(nRes > 0, 1,
iff(nRes < 0, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Money Flow Indicator", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Money Flow ----")
Fast = input(3, minval=1)
Slow = input(10, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMFI = MFI(Fast,Slow)
pos = iff(posReversal123 == 1 and posMFI == 1 , 1,
iff(posReversal123 == -1 and posMFI == -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 )