
Strategi ini memungkinkan pelacakan momentum dari rentang waktu dengan kombinasi 123 reversal dan MACD. 123 reversal menilai titik reversal tren jangka pendek, dan MACD menilai tren jangka menengah, keduanya dikombinasikan untuk mencapai reversal jangka pendek dan sekaligus mengunci sinyal polygonal tren jangka menengah.
Strategi ini terdiri dari dua bagian:
123 Bagian pembalikan: Dua garis K saat ini membentuk titik tinggi / rendah, dan menghasilkan sinyal beli / jual ketika indikator acak di bawah / di atas 50.
Bagian MACD: Sinyal beli dihasilkan ketika garis cepat melewati garis lambat, dan sinyal jual dihasilkan ketika garis cepat melewati garis lambat.
Akhirnya keduanya digabungkan, yaitu pada saat 123 berbalik dan MACD juga menghasilkan sinyal sinkron, sinyal akhir dikeluarkan.
Strategi ini menggabungkan pembalikan jangka pendek dan jangka menengah dan dapat mengunci tren jangka menengah dalam fluktuasi jangka pendek, sehingga mendapatkan tingkat kemenangan yang lebih tinggi. Terutama dalam situasi yang bergolak, pembalikan 123 dapat mematikan sebagian dari kebisingan, sehingga meningkatkan stabilitas.
Selain itu, dengan menyesuaikan parameter, dapat menyeimbangkan rasio sinyal reversal dan sinyal tren, sesuai dengan lingkungan pasar yang berbeda.
Strategi ini memiliki keterlambatan waktu tertentu, terutama ketika menggunakan MACD periode panjang. Selain itu, sinyal pembalikan itu sendiri memiliki tingkat keacakan dan mudah ditangkap.
Siklus MACD dapat dipersingkat secara tepat, atau stop loss dapat ditingkatkan untuk mengendalikan risiko.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Menyesuaikan 123 parameter pembalikan untuk mengoptimalkan efek pembalikan
Menyesuaikan parameter MACD untuk mengoptimalkan penilaian tren
Menambahkan filter pada indikator tambahan lainnya untuk meningkatkan efektivitas
Meningkatkan strategi stop loss dan mengendalikan risiko
Strategi ini mengintegrasikan berbagai parameter dan indikator teknis dari beberapa frame waktu, dengan melacak dinamika lintas frame waktu, menyeimbangkan keuntungan dari perdagangan reversal dan perdagangan tren. Efek keseimbangan dapat disesuaikan melalui parameter, dan dapat diperkenalkan lebih banyak indikator atau stop loss untuk dioptimalkan, merupakan ide strategi yang sangat potensial.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 28/01/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
// MACD – Moving Average Convergence Divergence. The MACD is calculated
// by subtracting a 26-day moving average of a security's price from a
// 12-day moving average of its price. The result is an indicator that
// oscillates above and below zero. When the MACD is above zero, it means
// the 12-day moving average is higher than the 26-day moving average.
// This is bullish as it shows that current expectations (i.e., the 12-day
// moving average) are more bullish than previous expectations (i.e., the
// 26-day average). This implies a bullish, or upward, shift in the supply/demand
// lines. When the MACD falls below zero, it means that the 12-day moving average
// is less than the 26-day moving average, implying a bearish shift in the
// supply/demand lines.
// A 9-day moving average of the MACD (not of the security's price) is usually
// plotted on top of the MACD indicator. This line is referred to as the "signal"
// line. The signal line anticipates the convergence of the two moving averages
// (i.e., the movement of the MACD toward the zero line).
// Let's consider the rational behind this technique. The MACD is the difference
// between two moving averages of price. When the shorter-term moving average rises
// above the longer-term moving average (i.e., the MACD rises above zero), it means
// that investor expectations are becoming more bullish (i.e., there has been an
// upward shift in the supply/demand lines). By plotting a 9-day moving average of
// the MACD, we can see the changing of expectations (i.e., the shifting of the
// supply/demand lines) as they occur.
//
// 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
MACD(fastLength,slowLength,signalLength) =>
pos = 0.0
fastMA = ema(close, fastLength)
slowMA = ema(close, slowLength)
macd = fastMA - slowMA
signal = sma(macd, signalLength)
pos:= iff(signal < macd , 1,
iff(signal > macd, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & MACD Crossover", 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)
//-------------------------
fastLength = input(8, minval=1)
slowLength = input(16,minval=1)
signalLength=input(11,minval=1)
xSeria = input(title="Source", type=input.source, defval=close)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMACD = MACD(fastLength,slowLength, signalLength)
pos = iff(posReversal123 == 1 and posMACD == 1 , 1,
iff(posReversal123 == -1 and posMACD == -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 )