“MACD RSI First Equilibrium Ichimoku Dynamic Trend Multiplexing Strategy” adalah strategi perdagangan kuantitatif yang menggunakan MACD, RSI dan indikator First Equilibrium secara komprehensif. Strategi ini menangkap trend dan momentum pasaran dengan menganalisis isyarat MACD, RSI dan grafik First Equilibrium Cloud, untuk mencapai tujuan mengesan trend dan memahami masa pembelian dan penjualan.
Di tengah-tengah strategi ini adalah penggunaan komprehensif MACD, RSI dan indikator keseimbangan terdahulu:
“MACD RSI First Balance Ichimoku Dynamic Trend Multi-headed Strategy” adalah satu strategi perdagangan kuantitatif yang mempunyai ciri-ciri yang kuat, menggunakan MACD, RSI dan indikator First Balance untuk mempertimbangkan trend dan momentum secara menyeluruh, menunjukkan keupayaan untuk menangkap trend yang baik dan mengawal irama dalam pasaran dengan arah. Dengan pengoptimuman parameter dan langkah-langkah kawalan risiko, strategi ini boleh menjadi alat yang kuat untuk menangkap peluang pasaran dan memperoleh keuntungan yang mantap.
/*backtest
start: 2023-04-24 00:00:00
end: 2024-04-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// @ Julien_Eche
//@version=5
strategy("MACD RSI Ichimoku Strategy", overlay=true)
string t1 = ("If checked, this strategy is suitable for those who buy and sell. If unchecked, it is suitable for those who only want to take long positions—buying and closing buys.")
start_date = input(timestamp("1975-01-01T00:00:00"), title="Start Date")
end_date = input(timestamp("2099-01-01T00:00:00"), title="End Date")
// Input settings for Ichimoku Cloud lengths
length1 = input.int(9, title="Tenkan-sen Length", minval=1)
length2 = input.int(26, title="Kijun-sen Length", minval=1)
length3 = input.int(52, title="Senkou Span Length", minval=1)
// Calculate Ichimoku Cloud components based on input lengths
tenkanSen = ta.sma(high + low, length1) / 2
kijunSen = ta.sma(high + low, length2) / 2
senkouSpanA = ((tenkanSen + kijunSen) / 2)[length2]
senkouSpanB = ta.sma(high + low, length3) / 2
// Input settings for MACD parameters
macdFastLength = input(12, title="MACD Fast Length")
macdSlowLength = input(26, title="MACD Slow Length")
macdSignalLength = input(9, title="MACD Signal Length")
// Calculate MACD
[macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalLength)
// Input settings for RSI length
rsiLength = input(14, title="RSI Length")
// Calculate RSI
rsiValue = ta.rsi(close, rsiLength)
// Determine Buy/Sell behavior based on input
buySell = input(false, title="Buy/Sell", tooltip=t1)
// More sensitive entry conditions (Buy Only)
canEnter = ta.crossover(tenkanSen, kijunSen) or (close > senkouSpanA and close > senkouSpanB and macdLine > signalLine and rsiValue < 70)
// Enter long position (Buy) with time condition
if (canEnter)
strategy.entry("Buy", strategy.long)
// More sensitive exit conditions (Close Buy) with time condition
canExit = ta.crossunder(tenkanSen, kijunSen) or (close < senkouSpanA and close < senkouSpanB)
// Determine exit behavior based on user input
if buySell
// Sell to close long position (Short) with time condition
if (canExit )
strategy.entry("Sell", strategy.short)
else
// Sell to exit long position (Buy/Sell) with time condition
if (canExit )
strategy.close("Buy", comment="Sell for exit")