ブレイク・スカルパー - トレンドの変化を素早く把握する

作者: リン・ハーンチャオチャン,日付: 2023年10月25日 17:58:11
タグ:

img

概要

ブレイクアウト・スカルパー戦略は,トレンド変化を特定するために,高速かつ遅い移動平均を活用するブレイクアウト・トレード戦略である.リスク管理のためにエントリーストップとトラッキング・エグジットストップを設定する.この戦略は,市場は横向きになると手動でポジションを閉じる.急速なトレンドシフトをキャピタライズするために不安定な楽器に適している.

戦略の論理

この戦略は,高速ウィンドウとスローウィンドウを使用している.デフォルト期間はそれぞれ13と52である.高速ウィンドウは短期的トレンドを捉え,スローウィンドウは全体の市場方向を決定する.両ウィンドウの中間価格がグラフ化されている.高速ミッド価格がスローミッド価格を超越したとき,上昇傾向が形成される可能性がある.高速ミッド価格がスロー価格を下回るとき,下落傾向が始まる可能性がある.

スロー・ミッド価格がスロー・ミッド価格より高く,インスタント価格もスロー・ミッド価格より高くなったとき,購入信号が生成される.エントリーストップはスロー・ウィンドウの最高価格に置かれる.スロー・ミッド価格がスロー・ウィンドウの下にあり,インスタント価格がスロー・ミッド価格以下になると,セール信号が起動し,エントリーストップはスロー・ウィンドウの最低価格に置かれる.

さらに,リスク制御のために出口ストップが定義されている.ロング出口ストップは,高速と遅いウィンドウの最大値最低価格である.ショート出口ストップは,高速と遅いウィンドウ最高価格の最小値である.これは,リスク軽減のために現在のトレンド方向の外にストップが配置されることを保証する.

入場条件が有効でないとき,ポジションは閉鎖され,横向市場での不必要な損失を回避する.

利点分析

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

  1. 変動性のある資産に適したトレンド変化を迅速に検出します.高速と遅いウィンドウの組み合わせにより,反応性のあるトレンド変化の検出が可能になります.

  2. 合理的なストップによる 効果的なリスク管理です ストップは損失を制御するために タイムリーな出口を可能にします

  3. シンプルで明快な論理で 移動平均の交差と停止をベースに 分かりやすく実行できます

  4. パラメータを調整し,より多くの指標を追加することができます.

リスク分析

主なリスクは以下のとおりです.

  1. 市場騒音は誤った信号を生む可能性があります.

  2. 遅い窓遅延 ターニングポイントは遅れて検出されるかもしれない

  3. 市場に近いストップ 窓価格を直接ベースにしたストップは 狭すぎるかもしれません

  4. 横向的な市場は 暴落をもたらし 不安定な市場は 誤った信号を生み出します

緩和策

  1. スピードウィンドウを最適化し フィルターを追加します

  2. スローウィンドウを改善し 確認指標を追加します

  3. 市場価格から緩衝停止.

  4. 横方向を検知して信号を避けろ

最適化 の 機会

この戦略は,いくつかの側面で強化できます.

  1. 異なる資産のための窓期間を最適化します

  2. より良いリスク管理のためにポジションサイズを追加します.

  3. 利得のメカニズムを実装する

  4. 強力な信号を作成するためにより多くのフィルターを追加します.

  5. 三角形や分岐点のようなパターン検出を組み込む

  6. マシン学習を利用してパラメータを最適化します

結論

ブレイクアウト・スカルパー (Breakout Scalper) は,高速で遅い移動平均のクロスに基づいてトレンド変化を迅速に把握することを目的としています.これは金などの不安定な市場に適しています.ストップはリスク管理を提供します.単純な論理は理解し最適化することを容易にする.識別されたリスクと改善は戦略をさらに改善する方法を提供します.全体として,これは強力なアプローチに精製できる効率的なトレンドトレーディングシステムです.


/*backtest
start: 2023-10-17 00:00:00
end: 2023-10-24 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Breakout Scalper", overlay=true)

fast_window = input(title="Fast Window",  defval=13, minval=1)
slow_window = input(title="Slow Window",  defval=52, minval=1)
instant_period = input(title="Instant Period",  defval=3, minval=1)

fast_low = lowest(fast_window)
fast_high = highest(fast_window)
fast_mid = (fast_low + fast_high) / 2

slow_low = lowest(slow_window)
slow_high = highest(slow_window)
slow_mid = (slow_low + slow_high) / 2

instant_price = ema(close, instant_period)

plot(instant_price, title="Instant Price", color=black, transp=50)
fp = plot(fast_mid, title="Fast Mid", color=green)
sp = plot(slow_mid, title="Slow Mid", color=red)
fill(fp, sp, color=(fast_mid > slow_mid ? green : red))

is_buy_mode = (instant_price > fast_mid) and (fast_mid > slow_mid)
is_sell_mode = (instant_price < fast_mid) and (fast_mid < slow_mid)
entry_color = is_buy_mode ? green : (is_sell_mode ? red : na)
exit_color = is_buy_mode ? red : (is_sell_mode ? green : na)

entry_buy_stop = slow_high
entry_sell_stop = slow_low
exit_buy_stop = max(fast_low, slow_low)
exit_sell_stop = min(fast_high, slow_high)
strategy.entry("long", strategy.long, stop=entry_buy_stop, when=is_buy_mode)
strategy.exit("stop", "long", stop=exit_buy_stop)
strategy.entry("short", strategy.short, stop=entry_sell_stop, when=is_sell_mode)
strategy.exit("stop", "short", stop=exit_sell_stop)
strategy.close("long", when=(not is_buy_mode))
strategy.close("short", when=(not is_sell_mode))

entry_buy_stop_color = (strategy.position_size == 0) ? (is_buy_mode ? green : na) : na
plotshape(entry_buy_stop, location=location.absolute, color=entry_buy_stop_color, style=shape.circle)
entry_sell_stop_color = (strategy.position_size == 0) ? (is_sell_mode ? red : na) : na
plotshape(entry_sell_stop, location=location.absolute, color=entry_sell_stop_color, style=shape.circle)
exit_buy_stop_color = (strategy.position_size > 0) ? red : na
plotshape(exit_buy_stop, location=location.absolute, color=exit_buy_stop_color, style=shape.xcross)
exit_sell_stop_color = (strategy.position_size < 0) ? green : na
plotshape(exit_sell_stop, location=location.absolute, color=exit_sell_stop_color, style=shape.xcross)


もっと