アダプティブ・ダブル・ブレークスルー・トレーディング・戦略

作者: リン・ハーンチャオチャン,日付: 2024-02-06 15:31:36
タグ:

img

概要

アダプティブ・デュアル・ブレークスルー・トレーディング戦略は,株式のオープニング価格と終了価格の関係に基づいて判断と取引を行う定量戦略である.この戦略は,設定されたパラメータ条件が満たされると,ロングまたはショートポジションを取ることになる.同時に,オープンおよび終了価格の最近の変化に基づいて現在のポジションを終了するタイミングを決定できる適応式出口メカニズムを持っている.

戦略原則

この戦略の主な論理は,開場価格と閉場価格のサイズ関係に基づいて方向を判断することである.特に,閉場価格が設定された値1を超えた開場価格よりも高くなった場合,ロング信号が生成される.開場価格が設定された値1を超えた閉場価格よりも高くなった場合,ショート信号が生成される.ポジションが入力されると,戦略は価格変化を継続的に監視する.開場価格と閉場価格が設定された値2を超えて逆転した場合,出口オペレーションが実行される.この戦略には,オープンポジション論理と出口論理の両方が含まれており,比較的完全な取引フレームワークを形成することが見られる.

コード実装に関しては,戦略は最初にロングとショートポジション条件を定義し,開設ポジション論理を満たしたときにオーダーを配置する.その後,出口条件が起動されたかどうかを継続的に検出し,出口条件が満たされたら,閉じる操作を実行する.この戦略はリアルタイムで市場の変化を監視し,適応性があり柔軟である.

戦略 の 利点

アダプティブ・ダブル・ブレークスルー・トレーディング・戦略には以下の利点があります.

  1. 分かりやすく,シンプルで,理解し,実行しやすい操作
  2. 市場の変化に適応するためにポジションを動的に調整する
  3. リスク制御のためのストップ損失機能がある.
  4. パラメータを調整して異なる品種に適用できます
  5. 拡張スペースが大きいアルゴリズムを最適化する簡単

戦略 の リスク

この戦略には いくつかの利点がありますが,次のリスクも伴います

  1. ストップ・ロスの戦略は,激しい市場変動の際に失敗する可能性があります.
  2. 長期的動向を把握できず,頻繁にポジションを切り替える
  3. パラメーターの設定が不適切であれば,取引が過剰になる可能性があります.
  4. システム故障により損失を止めることができない可能性があります.

これらのリスクは,リアルタイムの取引中に注意深く監視され,パラメータを迅速に調整したりアルゴリズムを最適化したりする必要があります.

オプティマイゼーションの方向性

この戦略を最適化するための主な側面は以下の通りである.

  1. ストレップ・ロスの最適化を強化し,敏感性を確保しながら,頻繁な位置切り替えを制御する.
  2. トレンドでない環境での取引頻度を減らすためにトレンド判断指標を追加します.
  3. 短期間の日中取引戦略を組み合わせて戦略の収益性を向上させる.
  4. ダイナミックな値調整のための適応パラメータメカニズムを最適化する.
  5. マシン学習モデルを追加して 傾向を判断します

アルゴリズムとモデルの最適化によって 戦略の全体的な安定性と収益性が向上できます

概要

アダプティブ・デュアル・ブレークスルー・トレーディング戦略は,トレンド判断とアダプティブ・エグジット・メカニズムを組み合わせて,リスクを効果的に制御することができる.そのシンプルな原則と柔軟なパラメータは,理解し拡張しやすくし,深く研究する推奨され価値のある定量戦略となっています.


/*backtest
start: 2023-01-30 00:00:00
end: 2024-02-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Repaint in version 3", overlay=true, calc_on_every_tick=true, calc_on_order_fills=true) // Repaint?
// strategy("Repaint in version 3", overlay=true, calc_on_every_tick=true) // Correct

val1 = input(123)
val2 = input(234)

from_year=input(2018, minval=2000, maxval=2020)
from_month=input(6, minval=1, maxval=12)
from_day=input(1, minval=1, maxval=31)

to_year=input(2019, minval=2007, maxval=2020)
to_month=input(12, minval=1, maxval=12)
to_day=input(31, minval=1, maxval=31)

long = (close-open) > val1
short = (open-close) > val1

exitLong = (open-close) > val2
exitShort = (close-open) > val2

term = true

strategy.entry("LONG", strategy.long, when=long and term)
strategy.close("LONG",  when = exitLong and not short and term)

strategy.entry("SHORT", strategy.short, when=short and term)
strategy.close("SHORT", when = exitShort and not long and term)


もっと