Bollinger トレンドショックの取引戦略

作者: リン・ハーンチャオチャン, 日付: 2023-11-23 10:48:58
タグ:

img

概要

この戦略は,市場トレンドの方向性を決定するためにボリンジャーバンド指標を使用し,トレンドの逆転が発生すると反トレンド取引を行います. 上向きのトレンドで価格が下のバンドを下回るときは長引きます. 下向きのトレンドで価格が上向きのバンドを下回るときは短引きます.また,移動平均は戦略をより安定させるために長期トレンドの基準として使用されます.

戦略原則

この戦略は,市場トレンド方向を決定するために,ボリンジャーバンドの中帯,上帯,下帯を使用する.中帯はn期指数関数移動平均線であり,上帯と下帯はそれぞれ中帯+2.3標準偏差と中帯-2.3標準偏差である.価格が下帯を下回ると,現在の上昇傾向を示します.価格が上帯の上を突破すると,現在の下落傾向を示します.

さらに,この戦略は,長期トレンド判断の基準として200期間の単純な移動平均値 (sma) を設定しています.BBとsma指標が同じ方向に合意するときにのみ取引信号が起動します.これはいくつかの偽のブレイクを効果的にフィルタリングすることができます.

具体的な取引論理は次のとおりです

  1. BB上位帯 > sma,中位帯 > sma,下位帯 >= sma
  2. BB上帯 < sma,中帯 < sma,下帯 <= sma
  3. ロングコンディション: アップトレンド + 価格ブレイク BB 下帯
  4. 出口条件:価格がBB上位帯を突破する
  5. ショート条件:ダウントレンド + 価格ブレイク BB上帯
  6. 脱出条件: BB 中間帯を下回り,または 230 期間の MA を上回る

利点分析

  1. BBはトレンドの方向性を効果的に判断し,ブレイクトレード機会を把握します
  2. 長期MAフィルターを追加することで,偽ブレイクに関連するリスクが軽減されます.
  3. わかりやすく,簡単に理解し,従うことができる
  4. ショートアウトの厳格な基準は損失を制限するのに役立ちます

リスク分析

  1. BBとMAが取引シグナルを発行する際の大きな格差の可能性
  2. 過度に厳しいショート条件はショート側利益に限られる
  3. パラメータの調節が不適切である場合,取引頻度は高すぎ/低すぎます.
  4. 破綻戦略は大きな損失を伴う

改善:

  1. BBパラメータを最適化して取引頻度を減らす
  2. トレードごとに大きな損失を避けるためにストップロスを設定します.
  3. ブレイク有効性を確保するためにボリュームフィルターを追加する

概要

概して,これはシンプルで理解しやすい戦略であり,BBを使用してトレンドを決定し,ターニングポイントで反トレンド取引を行う.短期およびベンチマーク指標を追加することで,シグナルをフィルターするのに役立ちます.パラメータチューニング,ボリューム指標など,最適化のための大きな余地があるため,さらに改善することができます.


/*backtest
start: 2023-10-23 00:00:00
end: 2023-11-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Aayonga

//@version=5
strategy("布林趋势震荡单", overlay=true,initial_capital=10000,default_qty_type=strategy.fixed, default_qty_value=1 )
bollL=input.int(20,minval=1,title = "长度")
bollmult=input.float(2.3,minval=0,step=0.1,title = "标准差")
basis=ta.ema(close,bollL)
dev=bollmult*ta.stdev(close,bollL)
upper=basis+dev
lower=basis-dev
smaL=input.int(200,minval=1,step=1,title = "趋势分界线")
sma=ta.sma(close,smaL)
//多头趋势
longT=upper>sma and basis>sma and lower>=sma
//空头趋势
shortT=upper<sma and basis<sma and lower<=sma

//入场位
longE=ta.crossover(close,lower)
shortE=ta.crossover(close,upper)
//出场位

longEXIT=ta.crossover(high,upper) 
shortEXIT=ta.crossunder(close,basis) or ta.crossover(close,ta.sma(close,230)) 

if longT and longE
    strategy.entry("多",strategy.long)

if longEXIT
    strategy.close("多",comment = "多出场")

if shortE and shortT
    strategy.entry("空",strategy.short)

if shortEXIT
    strategy.close("空",comment = "空出场")

もっと