볼린저 밴드 다이나믹 스톱 로스 및 테이크 프로핏 전략

SMA
생성 날짜: 2024-05-17 15:11:50 마지막으로 수정됨: 2024-05-17 15:11:50
복사: 1 클릭수: 699
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

볼린저 밴드 다이나믹 스톱 로스 및 테이크 프로핏 전략

개요

이 전략은 브린을 기반으로 한 거래 전략이다. 그것은 브린을 사용하여 구매 및 판매 신호를 생성하고, 동적으로 중지 및 중지 수준을 설정한다. 가격이 하향 경로를 통과 할 때 구매 신호를 생성하고, 경로를 통과 할 때 판매 신호를 생성한다.

전략 원칙

  1. 브린을 계산하여 상반, 중반, 하반을 다.
  2. 가격이 하향 궤도를 통과하면 구매 신호가 발생하고, 가격이 상향 궤도를 통과하면 판매 신호가 발생한다.
  3. 구매할 때, 중지 위치는 지난 기간의 최저 가격으로 설정되어 있으며, 중지 위치는 일시적으로 설정되지 않습니다.
  4. 판매할 때, 중지 손실 위치는 지난 기간 동안의 최고 가격으로 설정되어 있으며, 중지 위치는 일시적으로 설정되지 않습니다.
  5. 새로운 구매 또는 판매 신호가 발생했을 때, 정지 위치가 다시 비어진다.

전략적 이점

  1. 브린 띠는 시장의 변동성을 효과적으로 파악하는 데에 사용되고 있는 기술적인 지표입니다.
  2. 동적 중지 및 중지 설정은 다양한 시장 조건에 적응하여 전략의 적응력을 향상시킵니다.
  3. 스톱로스 포지션의 설정은 위험을 효과적으로 제어하고 단일 거래의 손실을 방지합니다.
  4. 전략의 논리는 명확하고, 이해하기 쉽고, 실행하기 쉽다.

전략적 위험

  1. 불안한 시장에서, 자주 나오는 매매 신호는 과도한 거래로 이어져 거래 비용이 증가할 수 있다.
  2. 스톱 로즈의 설정은 역사적인 데이터에 기반하여 미래의 시장 변화에 적응하지 못할 수 있습니다.
  3. 트렌드 방향에 대한 판단이 부족한 전략은 강력한 트렌드 시장에서 기회를 놓칠 수 있습니다.

전략 최적화 방향

  1. 이동 평균과 같은 추세 판단 지표를 도입하여 추세 방향으로 거래하여 전략의 추세 적응력을 향상시킵니다.
  2. 스톱로스 및 스톱 의 설정 방법을 최적화하여 ATR과 같은 변동성 지표를 사용하여 시장 변화에 더 역동적이고 적응할 수 있습니다.
  3. 거래량, 변동률 등과 같은 추가 필터 조건을 추가하여 신호의 신뢰성을 높인다.
  4. 부린 대역의 길이와 표준차의 배수와 같은 파라미터를 최적화하여 최적의 파라미터 조합을 찾습니다.

요약하다

이 전략은 브린 띠를 통과하여 매매 신호를 생성하고 동적으로 중지 및 중지 수준을 설정하는 브린 띠 기반의 거래 전략입니다. 전략 논리는 명확하고 구현하기 쉽고 다양한 시장 조건에 적응 할 수 있습니다. 그러나 불안한 시장에서 과도한 거래가 발생할 수 있으며 추세 방향에 대한 판단이 부족합니다.

전략 소스 코드
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands Strategy", overlay=true)

// Bollinger Bands settings
length = 20
src = close
mult = 2.0

// Calculate Bollinger Bands
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// Plot Bollinger Bands
plot(basis, color=color.blue, title="Middle Band")
plot(upper, color=color.red, title="Upper Band")
plot(lower, color=color.green, title="Lower Band")

// Trade logic
// Buy when the price crosses below the lower Bollinger Band
buySignal = ta.crossover(lower, src)
// Sell when the price crosses above the upper Bollinger Band
sellSignal = ta.crossover(src, upper)

// Define stop loss and take profit levels
var float stopLoss = na
var float takeProfit = na

// Calculate stop loss and take profit levels
if (buySignal)
    stopLoss := ta.lowest(low, length)
    takeProfit := na
if (sellSignal)
    stopLoss := ta.highest(high, length)
    takeProfit := na

// Update take profit on new signals
if (buySignal)
    takeProfit := na
if (sellSignal)
    takeProfit := na

// Execute trades
if (buySignal)
    strategy.entry("Buy", strategy.long, stop=stopLoss, limit=takeProfit)

if (sellSignal)
    strategy.entry("Sell", strategy.short, stop=stopLoss, limit=takeProfit)

// Plot signals on chart
plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy", title="Buy Signal")
plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell", title="Sell Signal")

// Alert conditions
alertcondition(buySignal, title="Buy Alert", message="Buy Signal detected")
alertcondition(sellSignal, title="Sell Alert", message="Sell Signal detected")