ピボットリバーサルKライン戦略


作成日: 2023-12-15 10:17:49 最終変更日: 2023-12-15 10:17:49
コピー: 0 クリック数: 598
1
フォロー
1621
フォロワー

ピボットリバーサルKライン戦略

概要

枢軸反転K線戦略は,枢軸点に基づいて取引信号を生成する量化取引戦略である.この戦略は,左側に一定数のK線の最高価格と最低価格を計算することによって,枢軸領域を決定する.価格が枢軸領域を破るとき,相応の多引または空引操作を行う.

戦略原則

この戦略の核心的な論理は,左側の4つのK線の最高価格を多重軸として計算し,左側の4つのK線の最低価格を空白軸として計算する.右側の2つのK線は,価格が空白軸の領域を突破しているかどうかを判断するために使用される.価格が多重軸を超えると,多重軸;価格が空白軸より低いとき,空白軸.

この戦略は,まず,左側の4つのK線の最高値を計算します.swh, 複数軸として.同時に,左側の4つのK線の最小値を計算するswl,空白の軸として. 軸を決定した後,右側の2つのK線で価格が軸を破ったかどうかを判断します.swh価格が低くなるとswl余裕があれば

オーバーと空調の信号が出た後,オーバーと空調の注文がされ,リスク管理のために枢軸区域の外にあるストップを設定する.

優位分析

枢軸反転策の最大の優位性は,価格反転のタイミングを捉えることができるということです. 価格が長時間横横整理段階にあるとき,しばしば枢軸区域の近くで振動します. このとき,枢軸突破策を使用すると,価格反転の最適なタイミングを捉えることができ,利益を得ることができます.

他の反転策に比べて,枢軸反転策は操作が簡単,リスクが制御可能などの利点がある.左右のK線数設定は,異なる品種と市場環境に適応するために自由に調整することができる.さらに,枢軸区域の外での止損設定は,リスクを効果的に制御することができる.

リスク分析

枢軸反転戦略の主要なリスクは枢軸領域判断の誤りである.左側のK線が明確な枢軸領域を特定できない場合,右側のK線の突破は誤った信号である可能性がある.この場合,損失を招く可能性が高い.

さらに,状況の変化はリスクも伴う. 停止が設定されているにもかかわらず,状況が断層,ジャンプなどの異常な状況が発生した場合,停止は良好な保護作用をなさない可能性があります.

リスクを軽減するために,同時に多額の空白を行う戦略を採用することを考えることができます.つまり,価格が上昇する時に多額の空白を行い,下降する時に空白を行い,それによって部分的なリスクをカバーできます.また,他の指標と組み合わせて状況を判断し,可能な転換点で取引機会を逃さないようにすることもできます.

最適化の方向

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

  1. 右と右のK線数設定を最適化します.より多くの左と右のK線の組み合わせをテストして,最適なパラメータを見つけることができます.

  2. 指標のフィルタを追加します. 入学時にMA,MACDなどの指標のフィルタを追加して,不確実な状況で入学を避けることができます.

  3. 停止位置の設定を最適化する.異なる品種の特徴に応じて,より優良な停止位置を選択することができる.

  4. 追跡ストップの追加. 入場後に追跡ストップを使用して,単純にストップストップの退出ではなく,利益をロックすることができます.

要約する

枢軸反転戦略は,価格が枢軸区域の逆転時を捉えることで取引する. 操作の簡素性,リスクの制御などがある. 主なリスクは枢軸区域の誤りやトレード突破を識別することにある. パラメータ最適化,フィルタを追加,ストップ・ローズ戦略の改善などの方法によりリスクを軽減し,戦略の安定性を高める. 全体的に,枢軸反転戦略は,盘全体のトレード状況におけるショートラインの取引機会を捕捉するのに最適である.

ストラテジーソースコード
/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 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)

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("Long", strategy.long, comment="Long", 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("Short", strategy.short, comment="Short", stop=lprice - syminfo.mintick)

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