ボルフはソナの戦略を繰り返す


作成日: 2024-02-20 17:05:47 最終変更日: 2024-02-20 17:05:47
コピー: 0 クリック数: 651
1
フォロー
1617
フォロワー

ボルフはソナの戦略を繰り返す

概要

ボルフ・リピート・ソナー戦略は,ボルフ・ベルトをベースにした量的な取引戦略である.この戦略は,ボルフ・ベルトの上下軌道間の価格区間を利用して,市場の波動範囲を判断し,潜在的な入場と退場タイミングを識別する.

戦略原則

この戦略は,以下の指標に基づいて判断されます.

  1. ボルフの中線: 市場の全体的な傾向を表すSMA.

  2. ボルフ上線:中線+N倍標準差。上線は市場の波動の上限を表している。

  3. ボルフ下線: 中線-N倍標準差。下線は市場の波動の下限を表している。

閉盘価格が下位線より高く,開盤価格が下位線より低ければ,潜在的底値として判断し,入場を検討することができる.閉盘価格が上位線より高く,開盤価格が上位線より低ければ,潜在的突破上位線の信号として判断し,入場することもできる.

閉盘価格が上線より低く,開盘価格が上線より高く,ボール帯の上部に入ったと判断すると,退場を考慮すべきである.閉盘価格が開盘価格より高く,上下線距離が中線の2倍以上であるとき,波動が増加した信号として判断すると,退場も考慮すべきである.

優位分析

  1. 双轨组合判断を利用して信号の正確性を向上させる.閉盘価格と開盘価格の組み合わせ判断により,部分的な偽信号を除することができる.

  2. 標準差計算による変動範囲に基づいて,市場変化に自動的に適応する.手動で固定価格区間を設定する必要はありません.

  3. 中線トレンドの判断と組み合わせて,トレンドのない市場での反復震動を避ける.

  4. 中軌道突破は,トレンドの逆転のタイミングを判断するために用いられる.

リスク分析

  1. 中短線操作戦略は,長線保有には適さない.市場状況を注意深く観察し,時宜に止損する.

  2. ボルフォール帯は,一定の時間枠内でのみ有効である.不適切なパラメータ設定を使用すると,偽信号が生じやすい.

  3. 整合市場では,中線振動が大きく,上下線交代がより頻繁に引き起こされる可能性がある.このとき,ポジションの規模を減らすか,一時的に操作を停止すべきである.

最適化の方向

  1. パラメータを調整してより長い時間周期に適応する.周期長さを増やし,指数移動平均などの方法を使用して中軌のアルゴリズムを最適化することができる.

  2. ATRなどの波動判断指標を追加し,偽突破をさらに避ける.ATRのプレビルド値をフィルター条件として設定し,波動が一定幅を超えるとのみ取引シグナルを生成することができる.

  3. 他の指標と組み合わせて,バリーフィルタ効果を実現する.例えば,取引量を増やす判断ルール,取引量が増大する時にのみ操作する.

要約する

ボルフォール反復ソナー戦略は,価格チャネルを定義し,市場内の範囲極限点を潜在的取引機会として自動的に識別する.それは,中短期価格逆転を捕捉するのに非常に適しており,トレンド追跡戦略の補足として使用できます.合理的な最適化により,リスクを効果的に制御し,利益の確率を向上させることができます.

ストラテジーソースコード
/*backtest
start: 2023-02-13 00:00:00
end: 2024-02-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("BB Strategy", shorttitle="BB", overlay=true)

length = input.int(55, minval=1)
maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(1., minval=0.001, maxval=50, title="StdDev")

ma(source, length, _type) =>
    switch _type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// Entry conditions
enterCondition = (close > lower and open < lower and close > open) or (close > upper and open < upper and close > open)

// Exit conditions
exitCondition = (close < upper and open > upper) or (close > open and (upper - lower) > 2 * basis) or (close < lower)

strategy.entry("Long", strategy.long, when=enterCondition)
strategy.close("Long", when=exitCondition)

// Plotting
offset = input.int(0, "Offset", minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))