
この戦略は,二重EMA均線システムとRSI指標の組み合わせを使用して,市場動向を判断しながら取引シグナルを発信することを補助し,トレンド追跡戦略に属します.この戦略は,簡単に使用でき,複数の大株価指数とデジタル通貨に適用され,2013年から現在の再測定で500%以上の累積利益を得ています.
この戦略は,2つの異なるパラメータ設定のMACDを主要取引指標として使用する.最初のMACDは10周期の短平均線と22周期の長平均線,補助線は9周期の平均線である.第二のMACDは21周期の短平均線と45周期の長平均線,補助線は20周期の平均線である.
最初の MACD の DIFF ラインの 0 軸を横切ると買取信号が発生し,下の 0 軸を横切ると売出信号が発生する.第二の MACD の DIFF ラインからの信号は,最初の MACD 信号を確認する.
同時に,この戦略は,価格動力の計算の公式を採用し,最新のK線の閉盘価格+最高価格を,以前の1本のK線の閉盘価格+最高価格で除き,1より大きい結果が,現在の上昇傾向にあることを示す,買入シグナルを生成し,逆に,売り出さシグナルを生成する.
最後に,Stoch RSIのK線が20より大きい場合も,セールシグナルが確認されます.
この戦略は,双EMAの組み合わせでトレンドを判断し,偽のブレイクを効果的にフィルターします.補助的な動力公式は,揺れによる誤ったシグナルを回避することもできます.Stoch RSI指標の使用は,超買い超売り区域で売り信号を発信し,頂点を追いつくのを避けることができます.
この策略は,いくつかの一般的な指標の簡単な組み合わせのみを使用し,過度に複雑な論理的関係はありません.理解し,修正することが非常に簡単です.パラメータ設定は,異なる品種に最適化する必要なく,適応性が高いです.
この戦略は,株価指数,デジタル通貨など,様々な品種で,良い累積利益を得ている.最大撤退制御は理想的です. 非常に一般的なトレンド追跡戦略として使用できます.
この戦略の主なリスクは,平均線を用いて判断することであり,価格が大幅な揺れが発生すると,ウィップソーが起こり,その結果,損失が発生する.また,単一損失を制御するストップも設定されていない.
Stoch RSIは,超買いと超売りの判断に理想的な効果を与えず,反転シグナルを逃す可能性が高い.
価格が急激に下落しても,MACD指数がまだデッドフォークを形成していない場合,この戦略は,ポジションを継続して失うこともあります.
単一の損失を制御するために,ストップを設定することを考えることができます.例えば,ATRストップを設定するか,閉盘価格が低い平均線でストップを行う.
他の指標を追加して補足することもできます.例えば,KD指標またはブリン帯指標をStoch RSIと組み合わせることで,より信頼性の高い判断ができます.
取引量分析を増加させることができる.例えば,大量減仓時にストップロスを高めること,または容量不足時に倉庫を建てるのを避ける.
異なるパラメータの組み合わせをテストして,MACDの周期パラメータを最適化することもできます.また,異なる周期のMACDをテストして,多重確認を構成することもできます.
この二重MACD量化取引戦略の全体的な構想はシンプルで明確で,二重EMAの組み合わせで判断する傾向を採用し,動量指標に補助して誤った信号を回避し,より良い取引タイミングを選することができる. この戦略のパラメータは,一般的で,実績が安定している.基本戦略として最適化調整を行うことができる. 次のステップは,ストップ・ロスの修正方法,取引量分析の追加,その他の指標の組み合わせなどの手段によって,戦略の安定性と収益率をさらに強化することができる.
/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Multiple MACD RSI simple strategy", overlay=true, initial_capital=5000, default_qty_type=strategy.percent_of_equity, default_qty_value=80, pyramiding=0, calc_on_order_fills=true)
fastLength = input(10)
slowlength = input(22)
MACDLength = input(9)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = sma(MACD, MACDLength)
delta = MACD - aMACD
fastLength2 = input(21)
slowlength2 = input(45)
MACDLength2 = input(20)
MACD2 = ema(open, fastLength2) - ema(open, slowlength2)
aMACD2 = sma(MACD2, MACDLength2)
delta2 = MACD2 - aMACD2
uptrend = (close + high)/(close[1] + high[1])
downtrend = (close + low)/(close[1] + low[1])
smoothK = input(2, minval=1, title="K smoothing Stoch RSI")
smoothD = input(3, minval=1, title= "D smoothing for Stoch RSI")
lengthRSI = input(7, minval=1, title="RSI Length")
lengthStoch = input(8, minval=1, title="Stochastic Length")
src = input(close, title="RSI Source")
rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
h0 = hline(80)
h1 = hline(20)
yearin = input(2018, title="Year to start backtesting from")
if (delta > 0) and (year>=yearin) and (delta2 > 0) and (uptrend > 1)
strategy.entry("buy", strategy.long, comment="buy")
if (delta < 0) and (year>=yearin) and (delta2 < 0) and (downtrend < 1) and (d > 20)
strategy.entry("sell", strategy.short, comment="sell")
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)