该策略是基于布林通道指标的突破交易策略。它通过计算布林通道的上下轨,并结合动态调整的买入卖出阈值,实现对币安BTCUSDT的自动化交易。
该策略的核心指标是布林通道。布林通道由一个N日移动平均线及其上下两个标准差通道构成。本策略中的布林通道长度为20日,标准差倍数为2。当价格接近或触及布林通道下轨时,视为过度超售,这时策略会开仓做多;当价格接近或触及布林通道上轨时,视为过度看涨,这时策略会平仓了结多单。
除布林通道指标外,本策略还引入两个可调参数:买入阈值和卖出阈值。买入阈值默认为布林下轨之下58个点,是打开多单的条件。卖出阈值默认为布林下轨之上470个点,是平仓的条件。这两个阈值可以根据实际情况和回测结果进行动态调整,使策略更具灵活性。
在满足买入条件时,策略会使用账户权益的10%开仓做多。做多后,若价格上涨幅度达到止损条件(-125%),会止损平仓。在价格上涨后触发卖出阈值时,策略会选择全部平仓,回收利润。
该策略具有以下几个主要优势:
该策略也存在一定的风险:
对策:
该策略还可从以下几个方向进行优化:
本策略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")