
二重分岐戦略は,技術的な形状に基づいた量的な取引戦略である.この戦略は,二重底分岐と二重頂分岐の形成を認識し,価格がこれらの分岐を突破すると買入と売却の信号を発信する.
この戦略の核心思想は,分岐理論に基づいている. M型やW型のような短期的な転換点が現れたとき,現在のトレンドが逆転する可能性を示している.具体的には,連続5つのK線が,より高い高さやより低い低さの特定の組み合わせを形成すると,底分岐または頂部分岐が形成される.例えば,K線図で,前2つのK線の最高値が,その後の3つのK線の最高値より高い場合,頂部分岐が形成される.
価格が底分岐を突破したり,頂分岐を突破したりすると,反転の可能性が高いことを示し,戦略はそれぞれ買いと売りのシグナルを生成する.
この戦略の主要な利点は,潜在的トレンドの逆転点を識別できることです.これは,トレンドの種類を追跡する取引戦略に非常に有用です. さらに,単一のK線形状のみに依存する戦略と比較して,二重分岐の識別は取引信号をより信頼性のあるものにします.
この戦略の主なリスクは,分型識別が価格逆転を百パーセント保証できないことである.時には,価格が短期的な調整のみであり,トレンド転換は起こらない場合がある.この場合,戦略が誤ったシグナルを生成した場合,不必要な損失を引き起こす.このリスクを軽減するには,取引量などの他の指標と組み合わせて,価格逆転の可能性を検証することができる.
この戦略は,以下の方法でさらに最適化できます.
偽反転の誤解を避けるために,取引量指数などのフィルタリング条件を追加します.
パラメータを調整し,より大きな時間周期の二重分形を認識し,大トレンドの逆転を捉える.
モバイル・ストップ・ストラテジーと組み合わせて,損益シートの損失を減らす.
二重分形突破戦略は,特定のK線形状を識別して潜在的価格逆転を判断する一般的な技術指標駆動型戦略である.それは,市場の短期および中期トレンドを効果的に追跡し,高い利益/損失比率を有し,信頼性の高い実用的な取引戦略である.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ceyhun
strategy("Fractal Breakout Strategy", overlay=true)
FUp = high[4] < high[2] and high[3] < high[2] and high[1] < high[2] and high < high[2] or
high[5] < high[2] and high[4] < high[2] and high[3] <= high[2] and
high[1] < high[2] and high < high[2] or
high[6] < high[2] and high[5] < high[2] and high[4] <= high[2] and
high[3] <= high[2] and high[1] < high[2] and high < high[2] or
high[7] < high[2] and high[6] < high[2] and high[5] <= high[2] and
high[4] <= high[2] and high[3] <= high[2] and high[1] < high[2] and
high < high[2] or
high[8] < high[2] and high[7] < high[2] and high[6] <= high[2] and
high[5] <= high[2] and high[4] <= high[2] and high[3] <= high[2] and
high[1] < high[2] and high < high[2]
FractalUp = valuewhen(FUp, high[2], 1)
plot(FractalUp, color=#0000FF,title="FractalUp")
FDown = low[4] > low[2] and low[3] > low[2] and low[1] > low[2] and low > low[2] or
low[5] > low[2] and low[4] > low[2] and low[3] >= low[2] and low[1] > low[2] and
low > low[2] or
low[6] > low[2] and low[5] > low[2] and low[4] >= low[2] and low[3] >= low[2] and
low[1] > low[2] and low > low[2] or
low[7] > low[2] and low[6] > low[2] and low[5] >= low[2] and low[4] >= low[2] and
low[3] >= low[2] and low[1] > low[2] and low > low[2] or
low[8] > low[2] and low[7] > low[2] and low[6] >= low[2] and low[5] >= low[2] and
low[4] >= low[2] and low[3] >= low[2] and low[1] > low[2] and low > low[2]
FractalDown = valuewhen(FDown, low[2], 1)
plot(FractalDown, color=#FF0000,title="FractalDown")
if crossover(close, FractalUp)
strategy.entry("Long", strategy.long, comment="Long")
if crossunder(close, FractalDown)
strategy.entry("Short", strategy.short, comment="Short")