
平均線が波動帯を横断する戦略は,ブリン帯の指標を使用して市場の波動性を判断し,平均線と合わせて市場の傾向を判断し,波動率が低い場合の傾向方向を判断し,波動率が低いときの傾向利潤の取得を目的とする.
この戦略は,平均線とその上下波動を計算して市場の波動率を判断する.具体的には,まずn日間の単純な移動平均線を計算し,次に平均線の下の各拡張k倍の標準差の範囲を計算し,上線と下線,すなわちブリン帯を形成する.価格が上下線に近づくと,市場の波動が増加することを示す.価格が上下線の間にあると,市場の波動が減少することを示す.
この戦略は,波動が減る時に,均線の方向を利用してトレンドの方向を判断し,均線上行時に多行し,均線下行時に空行する.具体的には,価格が下軌道から上方突破したとき,多行し,価格が上軌道から下方突破したとき,空行する.各ポジションのストップ・ロスは,リスクを制御するために軌道に対応する.
この戦略の利点は,波動率が低い時にトレンドに参加し,一部の市場のランダムな波動を回避することで,利益の確率を高めることです.
この戦略は,ブリン帯の収縮と市場の波動が弱まる時にのみトレンドに参加し,高波動期間の不確実性を回避し,その結果ランダム性を減らし,安定性を高めます.
この戦略は,ブリン帯の変動率を識別するだけでなく,均線判断の傾向方向を導入し,両者は相互検証し,判断の正確性を向上させることができる.
この戦略の各取引は,ブリン帯の上線または下線であるストップ・ローズを設定し,迅速にストップしてリスクを制御します.
ブリン帯の収縮の過程で均線方向が変化し,トレンド判断が誤り,その結果損失が生じることがある.
平均線パラメータを調整したり,他の指標を追加して検証することで,このリスクを減らすことができます.
ブリン帯のパラメータが大きく設定され,波動が大きすぎると,無効取引が多く発生する可能性があります.
ブリン帯の標準差倍数パラメータを調整して最適化することもでき,フィルタ条件としてブリン帯幅の値を設定することもできます.
価格が上線または下線を突破した後に失敗し,トレンドを形成できず,損失を招く可能性があります.
突破信号を検証する補助条件として,閉盤価格やK線が突破する時にのみ入場するか,量能を増やすなどを行うことで,突破失敗の確率を減らすことができる.
MACD,KDJなどの他の指標を導入して平均線判断を検証し,判断の正確性を向上させることができる.
平均線パラメータ,ブリン帯標準差倍数パラメータを回測して最適化することで最適なパラメータの組み合わせが得られる.
収束価格またはK線実体がブリン帯を突破したときにのみ入場するように調整するか,または突破を検証するために量エネルギー条件を増やすように調整できます.
トレーリングストップや移動ストップなどの方法で利益をロックし,利益への反転を回避できます.
均線穿越波動帯戦略は,典型的なトレンド追跡戦略である.ブルリン帯を巧みに利用して低波動の時間帯を判断し,均線判断トレンドの方向を配合し,波動率が低い時にトレンドに参加する.これは,市場のランダム性の一部を効果的に排除し,安定性を高める.この戦略には一定の優位性があるが,一定のリスクもあるため,注意が必要である.より多くの指標を導入し,パラメータを最適化し,場内タイム等を導入することで,この戦略の安定性と利益因子を継続的に向上させることができる.
/*backtest
start: 2022-10-24 00:00:00
end: 2023-10-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Trading Public School", overlay=true)
source = close
length = input(20, minval=1)
mult = input(2.0, minval=0.001, maxval=50)
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
buyEntry = crossover(source, lower)
sellEntry = crossunder(source, upper)
if (crossover(source, lower))
strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands", comment="BBandLE")
else
strategy.cancel(id="BBandLE")
if (crossunder(source, upper))
strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="BBandSE")
else
strategy.cancel(id="BBandSE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)