
この戦略はブリン帯の指数に基づいて,動量指数と組み合わせて,ブリン帯の回帰と動量突破を実現する組合せ取引戦略である. 価格がブリン帯の下から中線を突破するときに多額の取引を行い,価格がブリン帯上から中線を突破するときに空白を行い,ストップ・ロース・ストップを追跡し,目標の得損益比に達した後に平衡する.
この策略は,ブリン帯中線smaを均線指標として使用し,multというパラメータで帯域幅を指定します.*stdev 動態調整 価格が下から中線を突破すると,価格が上方動作量を取得することを示し,このとき多;価格が上方から中線を突破すると,価格が下方動作量を取得することを示し,このとき空白 追加空白の後,利益を追跡し,リスクを制御するために止損パラメータを設定する
具体的には,ブリン帯の計算は,lengthとmultの2つのパラメータで完了し,lengthは中線の周期を決定し,multは帯域幅の大きさを決定する.enterLongとenterShortは突破のタイミングを判断し,exitLongとexitShortは,入場価格と目標のストップダスト比率に基づいてストップダスト価格を計算する.
この戦略は均線回帰と動力の指標を組み合わせて,トレンドの開始段階の順番でより大きな動きを捉えることができる.単純に平均線を追跡するよりも,ブルリン帯域幅に基づく動力の判断が加えられ,部分的な偽突破をフィルターすることができる.ストップ・ロスの設定は,直接入場価格に基づいて計算され,人工の介入を必要としない.
ブリン中線周期,帯域パラメータ,およびストップスリープを調整することで最適化することができ,戦略を異なる市場状況により適応させることができる.
この戦略は,ブリン帯回帰と動量指標の優位性を統合し,トレンドが始まるときに順番に部分的なトレンドを捕捉することができ,パラメータ調整によって異なる段階の市場に適応することができる.これは,比較的一般的な突破システムである.停止損失設定は,価格から直接計算することで人工的干渉を減らすことができる.この戦略には,より多くの補助判断指標の追加など,いくつかの改善の余地があり,これらは,さらなる研究と最適化でさらに完善される.
/*backtest
start: 2023-11-13 00:00:00
end: 2023-11-20 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("BURATINO", overlay=true)
// Входные параметры
length = input(20, minval=1, title="Length")
mult = input(2.0, minval=0.1, maxval=5, title="Multiplier")
target_percent = input(0.5, minval=0.1, title="Target Percent")
stop_loss_percent = input(95, minval=0.1, title="Stop Loss Percent")
// Расчет полос Боллинджера
basis = sma(close, length)
dev = mult * stdev(close, length)
upper = basis + dev
lower = basis - dev
// Переворот снизу вверх через среднюю линию Боллинджера для открытия лонга
enterLong = cross(close, basis) and close[1] < basis[1]
// Переворот сверху вниз через среднюю линию Боллинджера для открытия шорта
enterShort = cross(basis, close) and close[1] > basis[1]
// Закрытие лонга после роста цены на указанный процент или падения на указанный процент
exitLong = close >= strategy.position_avg_price * (1 + (target_percent / 100)) or close <= strategy.position_avg_price * (1 - (stop_loss_percent / 100))
// Закрытие шорта после падения цены на указанный процент или роста на указанный процент
exitShort = close <= strategy.position_avg_price * (1 - (target_percent / 100)) or close >= strategy.position_avg_price * (1 + (stop_loss_percent / 100))
// Управление позициями и ограничениями на открытие противоположных позиций
strategy.entry("Long", strategy.long, when = enterLong and strategy.position_size == 0)
strategy.entry("Short", strategy.short, when = enterShort and strategy.position_size == 0)
strategy.close("Long", when = exitLong)
strategy.close("Short", when = exitShort)
// Визуализация полос Боллинджера
plot(basis, color=color.blue, title="Basis")
plot(upper, color=color.red, title="Upper")
plot(lower, color=color.green, title="Lower")