
この戦略はブリンチャネル指標に基づく突破取引戦略である.これはブリンチャネルの上下を計算し,ダイナミックに調整された買入販売の値と組み合わせて,BTCUSDTの自動取引を実現する.
この戦略の核心指標はブリン・チャネルである.ブリン・チャネルは,N日移動平均とそれ以上の2つの標準差チャネルで構成されている.この戦略のブリン・チャネルの長さは20日であり,標準差の倍数は2である.価格がブリン・チャネルの下軌道に近づいたり触れたりすると,過剰に売り切られ,戦略は多額のポジションを開く.価格がブリン・チャネルの上軌道に近づいたり触れたりすると,過剰に看板になると,戦略は平仓して多額のポジションを閉じる.
ブリン通路の指標に加えて,この戦略は,2つの調整可能なパラメータも導入している. 値を購入し,値を売る. 値を購入することは,ブリン下線の下の58ポイントをデフォルトとして,多項条件を開く. 値を売ることは,ブリン下線上の470ポイントをデフォルトとして,平仓の条件である. この2つの値は,実際の状況と再測定結果に応じて動的に調整することができ,戦略をより柔軟にすることができる.
買入条件を満たした時に,戦略は,口座の利権の10%を使用してポジションを多めにする.多めにすると,価格上昇幅が止損条件に達した場合,平仓を止めてしまう.価格上昇後に値下げを売り出すことを引き起こすとき,戦略は,全平仓を選択し,利益を回収する.
この戦略には以下の利点があります.
この戦略にはいくつかのリスクがあります.
対策として
この戦略は,以下の方向で最適化できます.
この戦略overallは,よりシンプルで実用的な突破戦略である。この戦略は,ブリン通道指標を使用して,市場逆転の機会を判断し,入場出場のための動的値を設定する。同時に,この戦略は,合理的なポジション管理,ストップ・損失条件なども使用して,リスクを制御する。いくつかの重要なパラメータを最適化した後,この戦略は,比較的安定したリターンを得る。この戦略は,定量取引にも適しており,オプションの取引や市場情緒の判断の補助ツールとしても使用できる。全体的に,この戦略は,より強力な実用性と拡張性を持っている。
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
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/
// © SuperDS_BTC
//@version=5
strategy("布林通道策略多5min", overlay=true)
// 布林通道计算
length = input(20, title="布林通道周期")
mult = input(2.0, title="标准差倍数")
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper = basis + dev
lower = basis - dev
// 计算买入数量:每次检查仓位的大小
// 每次买入使用总资金的10%
position_size = strategy.equity * 10 / close
// 定義可調整的閾值
buy_threshold = input(58, title="買入閾值")
exit_threshold = input(470, title="賣出閾值")
// 买入条件:当现价低于布林通道的下限减去 buy_threshold
buy_condition = close < lower - buy_threshold
// 卖出条件和结清仓位条件
exit_condition = close > lower + exit_threshold
// 买入逻辑
if buy_condition
strategy.entry("BuyLong", strategy.long, qty=position_size, comment="LongBTC")
// 卖出逻辑
if exit_condition
strategy.close("BuyLong")
// 止损逻辑
stop_loss_percent = -1.25 //止损百分比为-125%
if strategy.position_size > 0
position_profit_percent = (strategy.position_avg_price - close) / strategy.position_avg_price * 100
if position_profit_percent <= stop_loss_percent
strategy.close("BuyLong")