
“MACD RSI 일목 균형 이치모쿠 동력 트렌드 다단계 전략”은 MACD, RSI 및 일목 균형 클라우드 그래프의 신호를 분석하여 시장의 추세와 동력을 포착하여 트렌드를 추적하고 매매 시기를 파악하는 목적을 달성하는 양적 거래 전략이다. 전략은 다양한 거래 스타일과 시장에 적합한 지표 파라미터와 거래 주기를 유연하게 설정할 수 있습니다.
이 전략의 핵심은 MACD, RSI, 그리고 평형 지표의 통합적인 활용입니다.
“MACD RSI 일목 균형 이치모쿠 동력 트렌드 다단계 전략”은 강력한 기능의 양적 거래 전략으로, MACD, RSI 및 일목 균형 지표를 통합하여 트렌드 및 동력을 종합적으로 고려하여, 방향성이있는 시장에서 트렌드를 잘 포착하고 리듬을 제어하는 능력을 보여줍니다. 매개 변수 최적화 및 위험 제어 조치를 통해, 이 전략은 시장 기회를 파악하고 안정적으로 수익을 얻는 강력한 도구가 될 수 있습니다.
/*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")