二重動量戦略は,株が連続して上昇または下落するK線形状を識別することによって,低買い高売りの目的を達成する.それは,簡単な指標判断を使用し,実行しやすいので,中短線取引に適用される.
この戦略は主に2つの指標に基づいています.上のK線の数そしてK線の数が減る。
上記のパラメータは,LongEnterAfter,LongExitAfter,ShortEnterAfter,およびShortExitAfterを調整することで,特定の取引規則を決定することができます.
この戦略は,株価の動向の変化を捉え,日々の閉盘価格の下落を継続的にモニターすることによって,出場のタイミングを判断する.指標パラメータの設定のK線形状が発生したときに,相応の買入開設または平仓の販売を行う.
総じて,二重動量戦略の核心は,株価の短期的な下落傾向を識別して,取引の方向とタイミングを決定することである.それはシンプルで直接であり,パラメータ設定によって戦略の積極性を調整することができる.
双重動力の戦略には以下の利点があります.
概して,二重動量戦略は,株価の変化に敏感な,高操作頻度を求める投資家に適している.それは,個々の株の短期的な動作を捉え,余剰の利益を得ることができる.パラメータを調整することによって,戦略の頻度とリスクを制御することができる.
双重重力の戦略には以下のリスクがあります.
リスクの管理には,以下の措置を考慮してください.
この戦略は,以下のポイントを考慮して最適化できます.
トレンド判断の指標を増やし,トレンドの終わりに誤った取引を避ける.MACD,KDJなどの指標を導入して大トレンド判断することができる.
取引量を判断し,取引量が減った時に倉庫を建てるのを避ける.
移動ストップを設定して利益をロックし,ATRを少なくともN倍でストップを追跡することができます.
回測パラメータの組み合わせの最適化を追加し,安定性を高めるために最適なパラメータを探します.
アルゴリズムによる取引モジュールを追加し,よりスマートな注文管理を実現する.
機械学習技術を使って,より効果的な取引シグナルを見つけます.
概して,主な最適化の方向は,戦略の安定性向上,リスク管理,より効果的なアルファの発見である.同時に,アルゴリズム取引能力の強化も重要である.
二重動量戦略は,単純に連続した上下K線判断によって株式選択時に取引を実現する。それは実現し易く,パラメータ制御の積極性を調整できる。主に短期利益を追求する投資家に適し,特に中小市場価値の株式に適している。同時に,パラメータ過度最適化,ストップ・ロース設定,取引量変化などのリスクにも注意する必要がある.最適化によって戦略の安定性を高めることができる。全体的に,二重動量戦略は,高効率の柔軟な量化戦略であり,その応用価値を探求する価値がある。
/*backtest
start: 2022-10-02 00:00:00
end: 2023-10-08 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// strategy(title="simple momentum", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// ====================================
// STUDY AND STRATEGY
// Inputs
LongEnterAfter = input(title="enter long after X rising blocks", defval=2)
LongExitAfter = input(title="exit long after X falling blocks", defval=1)
ShortEnterAfter = input(title="enter short after X falling blocks", defval=2)
ShortExitAfter = input(title="exit short after X rising blocks", defval=1)
// Criteria
Valid = change(time)
LongEnter = Valid and rising(close, LongEnterAfter)
LongExit = Valid and falling(close, LongExitAfter)
ShortEnter = Valid and falling(close, ShortEnterAfter)
ShortExit = Valid and rising(close, ShortExitAfter)
// ====================================
// STRATEGY
TradeSinceYear = input(title="trade since year", defval=2017)
TradeSinceMonth = input(title="trade since month", defval=1)
if year > TradeSinceYear or (year == TradeSinceYear and month >= TradeSinceMonth)
strategy.entry("long", strategy.long, when = LongEnter)
strategy.close("long", when = LongExit)
strategy.entry("short", strategy.short, when = ShortEnter)
strategy.close("short", when = ShortExit)