内部コンバージェンスブレイクアウト戦略


作成日: 2024-02-26 12:16:52 最終変更日: 2024-02-26 12:16:52
コピー: 0 クリック数: 626
1
フォロー
1617
フォロワー

内部コンバージェンスブレイクアウト戦略

概要

内部収束の突破策は,K線形状に基づくトレンド追跡策である.この策は,内部収束と外部拡大のK線形状を使用してトレンドを判断し,突破点で長期開拓を行う.

戦略原則

この戦略は主に以下の2つのK線形状を判断する.

  1. 内部収束K線:K線の最高値は昨日の最高値より低く,最低値は昨日の最低値より高く,範囲が収束していることを示している.

  2. 外部拡大K線:K線の最高値は昨日の最高値より高く,最低値は昨日の最低値より低く,範囲が拡大していることを示している.

上記の2つの形状を判断すると,戦略の入場信号とみなされる.入場K線の次の日に,開場価格が前日の最高価格より高い場合は,多めに行い,開場価格が低点の1日の最低価格に,空きをする.

余分な空白を行うと,止損停止ポイントが設定されます. 具体的には,以下のような止損停止アルゴリズムがあります.

ストップポイント= (現在のクローズ・価格 × ターゲット・ストップ・パーセンテージ) / 最小変動価格

ストップポイント= (現在のクローズ価格 × ストップパーセンテージ) / 最小変動価格

利益を得て市場から撤退し,余計な損失を避けるため, ストップ・オーダーとストップ・ローズを掲げます.

優位分析

この戦略の利点は以下の通りです.

  1. 内部収束の外部拡大K線形状はより信頼性が高く,トレンドの方向を判断する成功率は高い.

  2. 突破入場は判断の確実性を高め,部分的な偽突破を回避する.

  3. 取引は完全に自動化され,人間による介入も必要なく,操作リスクも低減されます.

リスク分析

この戦略にはいくつかのリスクがあります.

  1. K線形判断は完全には信頼できないので,誤信号が発生する可能性がある.

  2. 突破入場は簡単にセットされ,適切なストップポイントを調整する.

  3. パラメータを正しく設定しない場合,損失が増加し,最適化パラメータを慎重にテストする必要があります.

最適化の方向

この戦略は以下の方向から最適化できます.

  1. フィルタリング条件を追加して,誤った信号を回避する.例えば,取引量フィルタを追加する.

  2. ストップ・ストップ・損失アルゴリズムを最適化し,動的ストップ・ストップ・損失を実現する.

  3. 自動停止防止機能が追加されました.

  4. 機械学習によるパラメータの自動最適化.

要約する

内部収束の突破戦略は,全体としてより信頼性の高い,実行しやすい傾向戦略である.この戦略は,内部収束の外部拡張形態の判断上の優位性と突破の確実性の優位性を充分に利用している.同時に,戦略アルゴリズムは,単純で明確で,容易に理解し,入場選択を量化するのに適している.継続的な最適化と調整により,この戦略をより安定的かつスマートにすることができ,その結果,より良い取引効果が得られる.

ストラテジーソースコード
/*backtest
start: 2023-02-19 00:00:00
end: 2024-02-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("inside bar strategy  Wıth SL-TP ", overlay=true )



insides = high < high[1] and low > low[1]
outsides = high > high[1] and low < low[1]

candle_control=insides or outsides


target_profit_percent=input(3,"target profit%",step=0.1)
stop_loss_percent=input(1,"stop loss %",step=0.1)



yearfrom = input(2021)
yearuntil =input(2022)
monthfrom =input(1)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)


long_cond=candle_control[1] and close>open and high>high[1]
short_cond=candle_control[1] and close<open and low<low[1]



if ( long_cond ) 
    strategy.entry("LONG", strategy.long, stop=close, oca_name="TREND",  comment="LONG")
    
else
    strategy.cancel(id="LONG")


if (  short_cond ) 

    strategy.entry("SHORT", strategy.short,stop=close, oca_name="TREND", comment="SHORT")
else
    strategy.cancel(id="SHORT")
    
    
    
    
profit_target=(close*(target_profit_percent/100))/syminfo.mintick
stop_target=(close*(stop_loss_percent/100))/syminfo.mintick


strategy.exit("LONG EXIT","LONG",profit=profit_target, loss=stop_target ) 
    
strategy.exit("LONG EXIT","SHORT",profit=profit_target, loss=stop_target )