
“MACD RSI一目均衡イチモク動量トレンド多頭戦略”は,MACD,RSIと一目均衡雲図の信号を分析することによって,市場の傾向と動力を捕捉し,トレンドを追跡し,買い売りのタイミングを把握する目的を実現する,MACD,RSIと一目均衡雲図の信号を総合的に使用する量化取引戦略である.戦略は,指標のパラメータと取引周期を柔軟に設定し,異なる取引スタイルと市場に適用する.
この戦略の核心は,MACD,RSI,および一目瞭然の均衡指標を統合したものです.
“MACD RSI 一目均衡 Ichimoku動量トレンド多頭策略”は,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")