
이 전략은 부린 통로 지표에 기반한 돌파 거래 전략이다. 부린 통로의 상승과 하락을 계산하고 동적으로 조정된 구매와 판매 하락을 결합하여 BTCUSDT의 자동 거래를 구현한다.
이 전략의 핵심 지표는 부린 통로이다. 부린 통로는 N일 이동 평균과 그 상하의 두 개의 표준 격차 통로로 구성된다. 이 전략의 부린 통로의 길이는 20일이며, 표준 격차의 배수는 2이다. 가격이 부린 통로 아래 궤도에 접근하거나 접촉했을 때, 과도한 과매매로 간주되며, 이 전략은 더 많은 위치를 열고, 가격이 부린 통로 위 궤도에 접근하거나 접촉했을 때, 과도한 부양으로 간주되며, 이 전략은 더 많은 위치를 평정합니다.
부린 통로 지표 이외에, 이 전략은 두 가지 조정 가능한 파라미터를 도입합니다: 부린 경로 아래 58 점을 기본으로 부린 경로 아래 58 점을 기본으로 부린 경로 위 470 점을 기본으로 부린 경로 위 470 점을 기본으로 매각 조건입니다. 이 두 가지 경계는 실제 상황과 재검토 결과에 따라 동적으로 조정할 수 있으며, 전략을 더 유연하게 만듭니다.
구매 조건이 충족되면, 전략은 계정 적당금의 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")