ピボット逆転戦略

作者: リン・ハーンチャオチャン, 日時: 2023-09-26 17:38:56
タグ:

概要

ピボット逆転戦略 (Pivot Reversal Strategy) は,ピボットサポートとレジスタンスレベルの概念を組み合わせたブレークアウト・トレード戦略である.価格がピボットレベルを突破したとき,逆転ポジションをとる.この戦略はシンプルで実行が容易で,短期的なブレークアウト・トレード戦略である.

戦略の論理

この戦略は,最初にピボットのレジスタンスとサポートレベルとして指定された期間 (例えば4バー) の最高値と最低値を計算します.その後,リアルタイムで価格の動きを監視し,価格がピボットのレベルを突破するかどうかを決定します.具体的には:

  1. ピボット抵抗 swh の最高価格を計算するために,ピボットhigh ((() 関数を使用します.
  2. ピボットサポート swl の最低価格を計算するために,ピボットロー ((() 関数を使用します.
  3. 価格がピボットレジスタンスの上を突破するとショート (戦略.ショート)
  4. ストラテジー.ロング (strategy.long) は,価格がピボットサポートスロー (swl) の下を突破したときに行う.

戦略の論理は単純で明瞭です 価格がピボットレベルを突破すると反転ポジションを取ります また,一夜間のリスクを避けるために取引時間の制御も組み込んでいます

利点分析

ピボット逆転戦略にはいくつかの利点があります.

  1. 戦略のアイデアは,初心者にとってシンプルで理解しやすい.
  2. 傾向の逆転を判断するためにピボットレベルを使用することは 短期的な市場騒音に対して 堅牢です
  3. 取引頻度が過剰になるのはピボタルブレイクでの取引のみです.
  4. 取引時間の制御は 一夜間のリスクを避けるのに役立ちます
  5. 簡潔なコードは最適化が容易です

リスク分析

また,注意すべきリスクもあります.

  1. ピボットレベルは完璧なトレンド予測を保証するものではなく,誤ったブレイクが可能です.
  2. 重要な信号だけでは 早期入場が起こり得る.他の指標は 取引信号を確証すべきです.
  3. システムリスクをもたらす市場体制や 個々のストック特性を考慮しない.
  4. 支持と抵抗が曖昧なのは 突破の失敗の可能性を高めます

リスクを制御するために推奨される最適化には,主要なトレンドに従うための移動ストップロスの使用,市場の条件と株のペアリング,および誤ったブレイクアウト率の削減が含まれます.

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

リスクを考えると,将来の最適化は以下の点に焦点を当てることができます.

  1. 計算期間を増やして成功率を向上させるようなピボットパラメータを最適化します

  2. 移動ストップロスを追加して主要なトレンドをフォローし,逆転リスクを軽減します.

  3. MACDなどの他の指標を組み込み 傾向を確認し 誤ったブレイクを回避します

  4. 特徴によって分類し,ユニークなパラメータを設定する.

  5. 米国と香港の株式などの市場での取引時間を最適化します

  6. 選択的取引の市場全体的な傾向を考慮する.

結論

一般的に,ピボットリバース戦略は,初心者が学ぶための素晴らしいシンプルなブレークアウト戦略です.ピボットポイントを使用して,リバースレベルをきれいに識別します.リスクは存在するが,パラメータ,ストップ損失,取引時間,インジケーターを最適化することで,それを堅牢な短期取引戦略に変えることができます.


/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Pivot Reversal Strategy", overlay=true)

// === BACKTEST RANGE ===
FromMonth = input(defval = 2, title = "From Month", minval = 1)
FromDay   = input(defval = 1, title = "From Day", minval = 1)
FromYear  = input(defval = 2018, title = "From Year", minval = 2014)
ToMonth   = input(defval = 1, title = "To Month", minval = 1)
ToDay     = input(defval = 1, title = "To Day", minval = 1)
ToYear    = input(defval = 9999, title = "To Year", minval = 2014)


leftBars = input(4)
rightBars = input(2)

swh = pivothigh(leftBars, rightBars)
swl = pivotlow(leftBars, rightBars)

swh_cond = not na(swh)

hprice = 0.0
hprice := swh_cond ? swh : hprice[1]

le = false
le := swh_cond ? true : (le[1] and high > hprice ? false : le[1])

if (le)
    strategy.entry("PivRevLE", strategy.long, comment="PivRevLE", stop=hprice + syminfo.mintick)

swl_cond = not na(swl)

lprice = 0.0
lprice := swl_cond ? swl : lprice[1]


se = false
se := swl_cond ? true : (se[1] and low < lprice ? false : se[1])

if (se)
    strategy.entry("PivRevSE", strategy.short, comment="PivRevSE", stop=lprice - syminfo.mintick)

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

もっと