この戦略は,RSI指標のMACDに基づいて取引信号を生成する.それは,RSI指標の市場における過剰購入および過剰販売レベルを判断する能力,および市場動向と勢力の変化を決定するMACDの優位性を組み合わせ,複数の指標を使用して取引信号を提供する戦略を設計する.
この戦略は,まずRSI指標を計算し,その後RSI指標に基づいてMACDを計算する.RSI指標は市場の過買い・過売状態を決定し,MACDは市場の動向と勢力の変化を記録する.
戦略は,まず14期RSI指標を計算し,RSIに基づいて12期と26期EMA,および9期シグナルラインを含むMACD指標を計算する.その後MACDヒストグラムを計算する.
MACDヒストグラムが0を超えると購入信号が生成される.MACDヒストグラムが0を下回ると販売信号が起動する.この方法で,戦略は,過剰購入/過剰販売レベルを判断するためにRSIを使用し,トレンドとモメントの変化を決定するためにMACDを使用し,取引信号を生成する.
この戦略は,RSIとMACDの両方の指標の強みを組み合わせ,市場状況のより包括的な判断を可能にし,より信頼性の高いシグナルをもたらします.
過剰購入/過剰販売のレベルを判断するために RSI を使用することは,株式の選択や偽のブレイクを防ぐのに役立ちます.
MACDの動向や動向の変化に対する判断は,取引信号をより明確にする.
RSIとMACDの組み合わせにより 複数の要因に基づく判断が 誤った信号をフィルターにします
RSIとMACDのパラメータ設定は戦略のパフォーマンスに影響し,調整と最適化が必要です.
複数の指標の組み合わせにより 戦略の複雑さと 誤り発生の確率は高まります
MACDの取引信号は遅れており,他の指標で補完する必要があります.
RSIとMACDのパラメータを最適化して,最適なパラメータの組み合わせを見つけます.
KDJやボリンジャー帯などの他の指標を組み込むことで 指標クラスタを形成し 信号の精度を向上します
ストップ・ロスの戦略を組み込む.
入口と出口ロジックを最適化して 矛盾する信号を防ぐ
この戦略は,RSIとMACD指標の結合強みを活用し,トレードシグナルを形成し,過剰購入/過剰販売レベルを判断し,トレンドおよびモメンタム要因を考慮し,誤ったシグナルを効果的にフィルターし,品質シグナルを提供します.次のステップは,パラメータ最適化,ストップ損失,より多くの指標を追加など,シグナル正確性と信頼性を向上させるためのさらなる強化を含みます.
/*backtest start: 2022-12-18 00:00:00 end: 2023-12-24 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "MACD of RSI", overlay = false) //////////////////////// RSI /////////////////////////// src = close, len = input(14, minval=1, title="Length") up = sma(max(change(src), 0), len) down = sma(-min(change(src), 0), len) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) //////////////////////// RSI ////////////////////////// //////////////// MACD //////////////////////////// sourcemacd = rsi fastLength = input(12, minval=1), slowLength=input(26,minval=1) signalLength=input(9,minval=1) fastMA = ema(sourcemacd, fastLength) slowMA = ema(sourcemacd, slowLength) macd = fastMA - slowMA signal = ema(macd, signalLength) delta=macd-signal swap1 = delta>0?green:red plot(delta,color=swap1,style=columns,title='Histo',histbase=0,transp=20) p1 = plot(macd,color=blue,title='MACD Line') p2 = plot(signal,color=red,title='Signal') fill(p1, p2, color=blue) hline(0) /////////////////////////MACD ////////////////////////// // Conditions longCond = na sellCond = na longCond := crossover(delta,0) sellCond := crossunder(delta,0) monthfrom =input(6) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( longCond ) strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY") else strategy.cancel(id="BUY") if ( sellCond ) strategy.close("BUY")