逆転ボリンガーバンド戦略

作者: リン・ハーンチャオチャン開催日:2023年12月6日11時30分
タグ:

img

概要

リバースボリンガーバンド戦略は,ボリンガーバンドをベースとしたForex取引戦略である.JPYペアで最もうまく機能する.価格がボリンガーバンド上限または下限を突破すると,目標価格が過去10のキャンドルストークの最高または最低点に設定され,逆操作を行う.

戦略原則

ストラテジーは20日間の単純な移動平均値と標準偏差の2倍をベースに上下線を構成する.現在のキャンドルストックの閉じる価格が下線を突破すると,ロング;上線を突破するとショート.ストップ・ロスは過去10個のキャンドルストックの最低価格に設定され,利益を取ることは過去10個のキャンドルストックの最高価格に設定される.

具体的には,前のキャンドルスティックの開口価格が下列レールより低く,現在のキャンドルスティックの閉じる価格も下列レールより低く,ロングに行く場合.ストップ・ロスは過去10カンドルスティックの最低価格に設定され,テイク・プロフィートは過去10カンドルスティックの最高価格に設定されます.

逆に,前回のキャンドルストイックのオープニング価格が上方レールより高く,現在のキャンドルストイックの終了価格も上部レールより高くなった場合,ショートに行く.ストップ・ロスは過去10個のキャンドルストイックの最高価格に設定され,テイク・プロフィートは過去10個のキャンドルストイックの最低価格に設定されます.

利点分析

この戦略は逆転取引の特徴を有する.価格がボリンジャー帯を突破すると,トレンド逆転が起こっていることを示すため,逆転操作が行われる.ストップ・ロストとテイク・プロフィートの設定も,良いリスク・リターン比を得るには合理的である.

さらに,この戦略にはパラメータが少なく,実装も簡単で理解も容易です.そしてJPYペアは大きく変動します.これはこの戦略に適しています.

リスク分析

この戦略の最大のリスクは,トレンドの転換点を効果的に決定することができないことである.価格がボリンジャー帯の上下を突破した後,元のトレンドは継続する可能性がある.この時点で逆向市場作りを行う場合,損失を引き起こす可能性があります.

さらに,最近の高値と低値のストップ・ロストとテイク・プロフィート設定にもリスクがあります. V型逆転が市場で発生した場合,ストップ・ロスは直接破綻する可能性があります.テイク・プロフィート設定は正確に予測できず,市場の逆転からの利益を完全に享受できなくなります.

リスクをコントロールするために,取引ごとに損失を減らすために合理的なストップロスを設定できます.また,移動ストップロスを採用して利益を固定し,利益の取扱いを適切に調整することができます.

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

戦略は以下の側面で最適化できます.

  1. 誤った信号を避けるためにフィルター条件を高めます.トレードボリュームフィルターは,トレンド逆転を確認するためにブレイクが発生した場合,トレードボリュームが拡大することを保証するために設定できます.

  2. パラメータ設定を最適化する.最適なパラメータ組み合わせを見つけるために結果に異なるパラメータ設定の影響をテストする.

  3. 購入・販売シグナルを,RSIなどの他の指標と他の振動器で確認し,信号の信頼性を確認する.

  4. 機械学習やその他の方法を使用して,ストップ・ロスを動的に最適化し,戦略をより適応できるように利益の位置を設定します.

結論

リバースボリンガーバンド戦略は,全体的にシンプルで実用的な短期取引戦略である.逆転可能な操作と制御可能なリスクがあり,日中取引に適しています.しかし,パラメータとフィルター条件は,誤った信号を削減し効率を改善するためにさらなる最適化が必要です.他の技術指標と動的なストップ損失と利益と組み合わせると,この戦略のパフォーマンスはまだ改善の余地があります.


/*backtest
start: 2023-11-01 00:00:00
end: 2023-11-03 18:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

// Initial settings
strategy("Bulle de bollinger", overlay = true)

// Parameter Settings
mdl = sma(close, 20)
dev = stdev(close, 20)

upr = mdl + 2*dev
lwr = mdl - 2*dev

// Plot
plot(mdl, color = color.green) // Plot moving average
p1 = plot(upr, color = color.red) // Plot Upper_band
p2 = plot(lwr, color = color.green) // Plot lower band
fill(p1, p2, color = color.blue) // Fill transparant color between the 2 plots

// Strategy entry & close

if open[1] < lwr[1] and close[1] < lwr[1] // Previous price lower than lower band and current close is higher than lower band
    stop_level = lowest(10)
    profit_level = highest(10)
    strategy.entry(id = 'bb_buy', long = true)
    strategy.exit("TP/SL", "bb_buy", stop=stop_level, limit=profit_level)
    
if open[1] > upr[1] and close[1] > upr // Previous price is higher than higher band & current close is lower the higher band
    stop_level = highest(10)
    profit_level = lowest(10)
    strategy.entry(id = 'bb_sell', long = false)
    strategy.exit("TP/SL", "bb_sell", stop=stop_level, limit=profit_level)

もっと