
この戦略は,RSI指標のMACDに基づいて取引信号を生成する.それは,RSI指標の判断市場過剰買い過剰売りの特性を組み合わせ,市場傾向と動力の変化を判断するMACDの優位性を,複数の指標を総合的に利用して取引信号を提供する戦略を設計する.
この戦略は,まずRSIを計算し,その後RSIに基づいてMACDを計算する.RSIは,市場の過剰買いと過剰販売を判断し,MACDは,市場の傾向と動力の変化を捉える.
具体的には,戦略は14サイクルRSI指標を最初に計算する. その後,RSI指標に基づいてMACD指標を計算する. 12サイクルと26サイクルEMA平均線,および9サイクル信号線を含む. MACD柱状図を計算する.
MACD柱状図の0軸を横切るときに買い信号を生じ,MACD柱状図の0軸を横切るときに売り信号を生じます.こうして,RSIを使って市場の超買いを判断し,MACDを使って市場の傾向と動力の変化を判断し,取引信号の生成を行う.
この戦略は,RSIとMACDの2つの指標の優位性を組み合わせて,市場の状態をより全面的に判断し,シグナルもより信頼できます.
RSIは,超買いと超売りを判断し,株の選択や偽突破を防ぐのに役立ちます.
MACDはトレンドと動力の変化を判断し,取引信号はより明確である.
RSIはMACDと組み合わせて,複数の要因を統合して判断し,偽信号をフィルターすることができます.
RSIとMACDのパラメータ設定は,戦略のパフォーマンスに影響し,最適化の調整が必要である.
複数の指標の組み合わせは戦略の複雑さを高め,失敗の確率も高めます.
MACDの取引シグナルが遅れている可能性があり,他の指標と組み合わせた判断が必要である.
RSIとMACDのパラメータを最適化して,最適なパラメータの組み合わせを見つけます.
KDJ,ブリン帯など,他の指標判断を追加し,指標群を形成し,信号の正確性を向上させる.
単一損失を抑えるために Stop Loss 戦略に加入する.
倉庫開設と平和のロジックを最適化して,衝突信号を防止する.
この戦略は,RSIとMACDの2つの指標の優位性を総合的に利用して取引信号を形成する.それは,超買い超売りを判断すると同時に傾向と動力の要因を考慮し,偽信号を効果的にフィルターすることができ,信号の質は高い.次のステップは,パラメータ最適化,ストップダメージ戦略,および他の指標の追加などの手段によって,この戦略をさらに完善し,信号をより正確かつ信頼性のあるものにすることができる.
/*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")