この記事では,ピボットポイントに基づいた逆転取引戦略を詳細に分析します.この戦略は,一期間の潜在的なサポートとレジスタンスピボットレベルを計算し,価格がこれらのピボットレベルを突破するとトレンド逆転を特定し,逆転取引を可能にします.
この戦略は主に2つの指標に依存します.ピボット高値とピボット低値.ピボット高値と低値は,期間中の最高値と最低値で,ピボット高値と低値が,ピボット低値とピボット低値で,ピボット高値と低値が,ピボット低値で,ピボット低値が,ピボット高値と低値が,ピボット低値で,ピボット低値が,ピボット高値と低値が,ピボット低値で,ピボット低値が,ピボット低値と低値が,ピボット低値が,ピボット高値と低値が,ピボット低値で,ピボット低値が,ピボット低値が,ピボット低値と低値が,ピボット低値が,ピボット低値が,ピボット低値が,ピボット低値が,ピボット低値が,ピボット低値が,ピボット低値が,ピボット低値が,ピボット低値pivothigh()
そしてpivotlow()
軸点を計算する際には,左と右の周期を設定する必要があります.この戦略では,左に4つの周期と右に2つの周期を使用します.
最新期間の最高価格が前期のピボット高値よりも低いとき,逆転の機会を示します.以前のポジションがショートであった場合,ロングポジションは今,逆転をキャピタライズすることを検討する必要があります.同様に,最新の期間の最低価格が前期のピボット低値よりも高いとき,既存のロングポジションはショートに逆転することを検討する必要があります.
具体的には,主な論理は:
この戦略の最大の利点は,逆転トレーダーにとって重要な潜在的なトレンド逆転点を特定することです.他の指標と比較して,ピボットポイントは,頻繁に誤った信号なしに主要なサポート/レジスタンスレベルをより明確に特定することができます.
さらに,この戦略には,長期と短期両方の条件があり,市場状況が異なるため,機会を逃さないようにしています.ストップロスの利用はリスクを制御し,良いリスク/リターン比を確保します.
要するに これは非常に実用的な逆転戦略です
誤った信号を減らすための努力にもかかわらず,ブレイクアウトベースの戦略は,必然的に早期または遅れの信号などの問題に直面する.これは,長期入場を計画する結果,市場が既に逆転した,またはショートを計画する結果,突然牛走が爆発する可能性があります.このような逆転を完璧に予測できないことは,技術分析の固有の制限です.
さらに,ピボットポイントも完璧なサポート/レジスタンスレベルを保証することはできません.不運は,実際のサポートレベル直前にストップロスを打つ結果になる可能性があります.重要なゾーン周辺のそのような不確実性は完全に回避することはできません.
期間の最適化.現在の左/右期は4と2に設定されています.これらは初期値として機能し,各市場のためにさらに最適化することができます.
他の指標とフィルターを追加します.例えば,ボリュームと組み合わせて,ボリューム増加に伴った場合にのみブレイクを有効とみなします.これは偽ブレイクを避けるのに役立ちます.
ダイナミックストップ損失.現在,ストップはピボットレベル以上/下の一つの最低ティックのバッファで設定されています.バッファゾーンは市場の変動に基づいて動的に調整できます.
トレンド方向でのみ動作する.現在,ロング/ショート条件は並行している.最適化はトレンドフィルターに基づいて,上向きでロング,下向きでショートである.
概要すると,これはシンプルで実用的な逆転戦略である. 期間中のピボットポイントを特定し,価格突破を監視することは,潜在的なトレンド逆転を検出するための核心的アイデアを形成する. 並行ロング/ショート条件は,ストップ損失がリスクを管理する一方で,機会を最大化する.
戦略の論理は単純で実行が容易である.パラメータは初心者にとっても直感的である.さらなる最適化は採用のためにパフォーマンスを向上させることができる.全体的にこれは推奨される戦略である.
/*backtest start: 2022-12-11 00:00:00 end: 2023-12-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Pivot Reversal Strategy", overlay=true) leftBars = input(4) rightBars = input(2) // backtesting date range from_day = input(defval = 1, title = "From Day", minval = 1) from_month = input(defval = 3, title = "From Month", minval = 1) from_year = input(defval = 2018, title = "From Year", minval = 1970) to_day = input(defval = 1, title = "To Day", minval = 1) to_month = input(defval = 1, title = "To Month", minval = 1) to_year = input(defval = 2100, title = "To Year", minval = 1970) time_cond = (time > timestamp(from_year, from_month, from_day, 00, 00)) and (time < timestamp(to_year, to_month, to_day, 23, 59)) 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 and time_cond) 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 and time_cond) strategy.entry("PivRevSE", strategy.short, comment="PivRevSE", stop=lprice - syminfo.mintick) //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)