この戦略は,価格のトレンド方向を決定し,そのクロスオーバー信号に基づいて取引決定を行うために,10日間の単純な移動平均値 (10SMA) と移動平均 konvergence divergence (MACD) という2つの技術指標を使用する.価格が10SMAを超越し,MACDの速い線がスローラインを超越すると,ロング信号が生成される.価格が10SMAを下回り,MACDの速い線がスローラインを下回ると,ロングポジションは閉鎖される.この戦略は,2つの指標の確認を通じて信号の信頼性を向上させながら,市場のトレンド機会を把握することを目的としている.
この戦略の核心は,価格と10SMAの関係,およびMACDの高速線と遅い線のクロスオーバーを使用してトレンドを決定することです.両方の指標からの確認は,シグナルの有効性と信頼性を一定程度向上させることができます.
10SMAとMACDダブルトレンドフォローティングストラテジーは,市場における中長期トレンド機会をシンプルかつ使いやすい方法で把握するために,一般的に使用される2つの技術指標を組み合わせています.単一の指標を使用すると比較して,2つの指標からの確認は,一定の水準の適応性を持つと同時に,一定の程度にシグナルの信頼性と有効性を向上させることができます.しかし,この戦略は,遅れ,不安定な市場,および予期せぬ出来事などのリスクにも直面しています.実用的な応用では,他のフィルタリング条件を最適化すること,取利益とストップ損失を追加すること,動的パラメータ最適化,および戦略の安定性と収益性をさらに高めるために基本的な分析と組み合わせることなど,市場の特徴と個人的な好みに基づいて適切な最適化と改善を行う必要があります.
/*backtest start: 2023-06-01 00:00:00 end: 2024-06-06 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("10SMA and MACD Strategy", overlay=true) // Input parameters length = input(10, title="SMA Length") macdFastLength = input(12, title="MACD Fast Length") macdSlowLength = input(26, title="MACD Slow Length") macdSignalSmoothing = input(9, title="MACD Signal Smoothing") // Calculate 10SMA sma10 = ta.sma(close, length) plot(sma10, title="10SMA", color=color.blue) // Calculate MACD [macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalSmoothing) plot(macdLine, title="MACD Line", color=color.red) plot(signalLine, title="Signal Line", color=color.green) // Strategy conditions longCondition = ta.crossover(close, sma10) and ta.crossover(macdLine, signalLine) shortCondition = ta.crossunder(close, sma10) and ta.crossunder(macdLine, signalLine) // Plot buy and sell signals plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Strategy execution if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.close("Long")