モメンタムブレイクアウト戦略


作成日: 2023-10-09 15:15:22 最終変更日: 2023-10-09 15:15:22
コピー: 0 クリック数: 676
1
フォロー
1617
フォロワー

概要

この戦略は,動向指標と重要なサポートレジスタンス値を基に,ブレイク操作を行う日中取引戦略である. 傾向を識別するために,Choppiness指数と組み合わせて,リスクを制御するために,傾向が明らかであるときにのみ取引する.

戦略原則

この策略は,Choppiness指標を使用してトレンドを識別します.Choppiness値が低い場合は,トレンドが明らかであり,Choppiness値が高い場合は,収束を示します. 策略は,Choppiness値が44未満である場合にのみ動作します.

入力シグナルには,H4,H5などを含む重要な日中のサポートの抵抗値を計算します. H4を突破すると,オーバー; L4を突破すると,空白.

具体的には,次の日間のサポートレジスタンス値を計算します.

  • Pivot = (最高値 + 最低値 + 終了価格) / 3
  • 範囲は最大値から最小値に等しいです.
  • H1-H6=ピボット+レンジ*比
  • L1-L6 = ピボット - レンジ * 比例

これらのサポートレジスタンス位を計算した後,H4とL4を重要な突破点として指定した.

価格がH4を突破すると,多頭動力の強化を表示し,多操作を行う.価格がL4を下回ると,空頭動力の強化を表示し,空調操作を行う.

戦略的優位分析

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

  1. ショッピネス指数は,明瞭なトレンドを識別し,市場を整理するウィップソーを回避します.

  2. 通常,強い意味を持つ重要なサポート抵抗点を計算します. 突破取引を行うためにそれらを頼りにして,より高い利益の確率を得ることができます.

  3. H4とL4を突破し,その日の重要な多空区分口である閉盘価格に近い位置を操作する.

  4. 突破シグナルには非常に高い勝利率がある.価格がH4とL4を実際に突破すると,その後の動きは通常トレンドを継続する.

  5. 戦略の実行ロジックは非常にシンプルで明快で,理解し,実行しやすく,初心者の学習に適しています.

戦略的リスク分析

この戦略には以下のリスクもあります.

  1. Choppiness指数によるトレンドの識別に依存し,その指数自体が誤りになり,市場トレンドを誤って判断する可能性があります.

  2. 計算されたサポートレジスタンス位は100%信頼できないので,価格はこれらの位を直接突破してストップ損失を引き起こす可能性があります.

  3. 突破信号は偽の突破が発生し,実際の価格がすぐに逆調し,戦略に損失をもたらす可能性があります.

  4. 戦略は大きなトレンドの方向を考慮していないので,市場の長期的方向が不明である場合,戦略は繰り返し損失を招く可能性があります.

  5. ストップ・ロースの仕組みが欠けていて,極端な状況では,単一の損失は非常に大きい可能性があります.

対策として

  1. 他の指標を導入することで,トレンドの判断の正確さを向上させることができます.

  2. 単一損失をコントロールするために移動停止を増加させる.

  3. 長期トレンド指数と組み合わせて逆転取引を避ける.

  4. 突破口の追跡を防ぐため,再入口信号を追加する.

戦略最適化の方向性

この戦略は,以下の点でさらに最適化できます.

  1. ショピネス指標のパラメータを最適化して,より適切な数値を見つけ,精度を向上させる.

  2. H3やL3のような異なる突破口をテストし,より効果的な突破口を探します.

  3. 利潤を固定し,リスクをコントロールするために移動式ストップ戦略を追加する.

  4. 偽突破の後の損失を回避するために再入場信号を増やす.

  5. 長期指数で大きなトレンドを判断し,逆行操作を避ける.

  6. 取引時間を最適化します.例えば,米国やヨーロッパの取引時間のみで操作します.

  7. 固定数量や固定資金の入場など,ポジション管理戦略を追加する.

  8. 測定データを分析し,パラメータをさらにテストし,最適化します.

要約する

全体的に見ると,この戦略の核心思想は,トレンドを識別した後,重要な支柱の抵抗点を突破する時に操作することです.それは単純な論理構造と高い利益の確率を持っています.しかし,一定のリスクも存在し,リスクを制御し,利益率を高めるために最適化を続ける必要があります.パラメータ調整,止損戦略,トレンド判断などの最適化により,非常に実用的な日内突破システムに構築できます.それは,動量指標に基づいて突破操作を行うための考え方を私たちに提供し,有効な日内取引戦略です.

ストラテジーソースコード
/*backtest
start: 2023-09-08 00:00:00
end: 2023-10-08 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Created by AS
strategy(title="ASH1Strategy", shorttitle="AS_H1_Strategy", overlay=true) 
//sd = input(true, title="Show Daily Pivots?")
EMA = ema(close,3)

pivot = (high + low + close ) / 3.0 
range = high - low
h5 = (high/low) * close 
h4 = close + (high - low) * 1.1 / 2.0
h3 = close + (high - low) * 1.1 / 4.0
h2 = close + (high - low) * 1.1 / 6.0
h1 = close + (high - low) * 1.1 / 12.0
l1 = close - (high - low) * 1.1 / 12.0
l2 = close - (high - low) * 1.1 / 6.0
l3 = close - (high - low) * 1.1 / 4.0
l4 = close - (high - low) * 1.1 / 2.0
h6 = h5 + 1.168 * (h5 - h4) 
l5 = close - (h5 - close)
l6 = close - (h6 - close)

// Daily line breaks
//sopen = request.security(syminfo.tickerid, "D", open [1])
//shigh = request.security(syminfo.tickerid, "D", high [1])
//slow = request.security(syminfo.tickerid, "D", low [1])
//sclose = request.security(syminfo.tickerid, "D", close [1])
//
// Color
//dcolor=sopen != sopen[1] ? na : black
//dcolor1=sopen != sopen[1] ? na : red
//dcolor2=sopen != sopen[1] ? na : green

//Daily Pivots 
dtime_pivot = request.security(syminfo.tickerid, 'D', pivot[1]) 
dtime_h6 = request.security(syminfo.tickerid, 'D', h6[1]) 
dtime_h5 = request.security(syminfo.tickerid, 'D', h5[1]) 
dtime_h4 = request.security(syminfo.tickerid, 'D', h4[1]) 
dtime_h3 = request.security(syminfo.tickerid, 'D', h3[1]) 
dtime_h2 = request.security(syminfo.tickerid, 'D', h2[1]) 
dtime_h1 = request.security(syminfo.tickerid, 'D', h1[1]) 
dtime_l1 = request.security(syminfo.tickerid, 'D', l1[1]) 
dtime_l2 = request.security(syminfo.tickerid, 'D', l2[1]) 
dtime_l3 = request.security(syminfo.tickerid, 'D', l3[1]) 
dtime_l4 = request.security(syminfo.tickerid, 'D', l4[1]) 
dtime_l5 = request.security(syminfo.tickerid, 'D', l5[1]) 
dtime_l6 = request.security(syminfo.tickerid, 'D', l6[1]) 

//offs_daily = 0
//plot(sd and dtime_pivot ? dtime_pivot : na, title="Daily Pivot",color=dcolor, linewidth=2)
//plot(sd and dtime_h6 ? dtime_h6 : na, title="Daily H6", color=dcolor2, linewidth=2)
//plot(sd and dtime_h5 ? dtime_h5 : na, title="Daily H5",color=dcolor2, linewidth=2)
//plot(sd and dtime_h4 ? dtime_h4 : na, title="Daily H4",color=dcolor2, linewidth=2)
//plot(sd and dtime_h3 ? dtime_h3 : na, title="Daily H3",color=dcolor1, linewidth=3)
//plot(sd and dtime_h2 ? dtime_h2 : na, title="Daily H2",color=dcolor2, linewidth=2)
//plot(sd and dtime_h1 ? dtime_h1 : na, title="Daily H1",color=dcolor2, linewidth=2)
//plot(sd and dtime_l1 ? dtime_l1 : na, title="Daily L1",color=dcolor2, linewidth=2)
//plot(sd and dtime_l2 ? dtime_l2 : na, title="Daily L2",color=dcolor2, linewidth=2)
//plot(sd and dtime_l3 ? dtime_l3 : na, title="Daily L3",color=dcolor1, linewidth=3)
//plot(sd and dtime_l4 ? dtime_l4 : na, title="Daily L4",color=dcolor2, linewidth=2)
//plot(sd and dtime_l5 ? dtime_l5 : na, title="Daily L5",color=dcolor2, linewidth=2)
//plot(sd and dtime_l6 ? dtime_l6 : na, title="Daily L6",color=dcolor2, linewidth=2)

longCondition = close >dtime_h4
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)
    


shortCondition = close <dtime_l4
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)