この戦略の名称は"Trend Following with EMA"で,トレンドフォローと指数的な移動平均 (EMA) の技術指標に基づいた定量的な取引戦略です.トレンド追跡とEMAを組み合わせて,株式または他の金融製品の価格傾向を特定し,それに応じて購入および販売の決定を下します.
この戦略の主な論理は
低値が閉値を超えると,価格が上昇し始め,トレンドが形成されると,この時点でロングポジションが開かれる.
価格が下向きから上向きに変化すると,つまり閉じる価格が開く価格を上回り,EMA線を下回ると,ロングポジションも開かれる.
価格が上昇傾向から下落傾向に変化し,つまり閉じる価格が開く価格を下回ると,既存のロングポジションは閉じる.
180期間の高値と EMA の間のクロスオーバーを使用して下降傾向を決定します.高値が EMA 以下の低値と高値が EMA 以下の低値をクロスしたとき,ショートポジションが開かれます.
価格が上昇傾向から下落傾向に変わると,つまり閉じる価格が開く価格を下回り,EMA線が上回ると,ショートポジションも開かれる.
価格が上昇傾向から下落傾向に変化し,つまり閉じる価格が開く価格を超えると,既存のショートポジションは閉じる.
この戦略は,トレンドフォローと移動平均指標を組み合わせ,価格動向の転換点を効果的に把握することができます.
この戦略にはいくつかのリスクもあります:
リスクに対する解決策は次のとおりです
戦略は以下の側面で最適化できます.
一般的に,これは価格の特徴を活用して方向を決定し,トレンドを追跡する典型的なトレンドフォロー戦略である. シンプルで,効果的で,実行しやすい,初心者の定量的な取引戦略として適している. しかし,指標遅れやパラメータ感度などのいくつかの問題がある. これらの問題は,より多くのデータソースを導入し,機械学習を使用することで改善することができる. したがって,この戦略の拡大と最適化には大きな可能性がある. これは推奨される高周波の定量的な取引戦略である.
/*backtest start: 2023-11-28 00:00:00 end: 2023-12-05 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Trend + EMA", overlay=true, initial_capital=10000, currency=currency.USD, pyramiding=0) tim=input("180", title="Period for trend") ema_period=input(180, title="EMA period") opn = request.security(syminfo.tickerid, tim, open) cls = request.security(syminfo.tickerid, tim, close) emaline = ema(close, ema_period) plot(opn, color=red) plot(cls, color=green) plot(emaline, color=black) if (crossover(low, emaline)) strategy.entry("long", strategy.long) if (crossover(cls, opn) and emaline < opn and strategy.position_size == 0) strategy.entry("long", strategy.long) if (crossunder(cls, opn) and strategy.position_size > 0) strategy.close_all() if (crossunder(high, emaline) and high < emaline) strategy.entry("short", strategy.short) if (crossunder(cls, opn) and emaline > opn and strategy.position_size == 0) strategy.entry("short", strategy.short) if (crossover(cls, opn) and strategy.position_size < 0) strategy.close_all()