Strategi ini menggabungkan 123 corak pembalikan dan penunjuk aliran wang untuk mengenal pasti pembalikan trend.
Pertama, 123 corak pembalikan digunakan untuk mengesan titik pembalikan yang berpotensi. Secara khusus, isyarat beli dihasilkan apabila harga ditutup dalam dua hari pertama dan kemudian ditutup pada hari ketiga, dengan osilator stokastik di bawah ambang. isyarat jual dihasilkan apabila harga ditutup dalam dua hari pertama dan kemudian ditutup pada hari ketiga, dengan osilator stokastik di atas ambang.
Kedua, garis cepat dan perlahan penunjuk aliran wang dikira. Garis cepat terdiri daripada purata bergerak eksponen jangka pendek aliran wang, manakala garis perlahan adalah EMA jangka panjang. Apabila garis pantas berada di atas garis perlahan, ia menunjukkan aliran wang masuk dan menghasilkan isyarat beli. Sebaliknya mencadangkan aliran keluar wang dan menghasilkan isyarat jual.
Akhirnya, apabila kedua-dua isyarat pembalikan 123 dan aliran wang bersetuju, isyarat perdagangan dihasilkan.
Risiko boleh dikendalikan dengan meningkatkan kebolehpercayaan pembalikan, menyesuaikan kepekaan aliran wang, melaksanakan stop loss, dll.
Strategi ini mengintegrasikan kelebihan perdagangan pembalikan dan trend berikut. Ia dapat mengenal pasti titik perubahan pasaran dengan berkesan. Walau bagaimanapun, penyesuaian parameter dan kawalan risiko diperlukan untuk mengelakkan isyarat palsu yang berlebihan semasa mengesan trend. Jika digunakan dengan betul, ia boleh menjadi 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 )