볼링거 밴드 및 스토카스틱 KD 크로스오버 전략

저자:차오장, 날짜: 2024-03-08 16:49:06
태그:

img

전반적인 설명

이 전략은 두 가지 기술 지표인 볼링거 밴드 (Bollinger Bands) 와 스토카스틱 KD (Stochastic KD) 를 결합하여 엔트리 및 출구 지점을 결정합니다. 이 전략은 마감 리스크를 제어하면서 시장이 과판된 후 리바운드를 포착하는 것을 목표로합니다. 폐쇄 가격이 하부 볼링거 밴드 (Bollinger Band) 아래로 넘어갈 때 전략은 긴 포지션을 입력하고 스토카스틱 KD 라인이 상승세를 넘을 때 (K 라인이 D 라인의 위를 넘는다). 폐쇄 가격이 중부 볼링거 밴드 (Bollinger Band) 아래로 넘어갈 때 또는 상부 볼링거 밴드 (Bollinger Band) 위를 넘을 때 포지션을 닫습니다.

전략 원칙

  1. 볼링거 밴드 계산: 중간 밴드로서 가격의 간단한 이동 평균을 사용하며, 상부와 하부 밴드는 중간 밴드에서 가격 표준편차의 고정 배수를 더하고 빼면서 계산됩니다.

  2. 스토카스틱 KD를 계산합니다. K 값은 지난 N 기간 동안 가장 높고 가장 낮은 가격 범위 내의 현재 종료 가격의 상대적 위치를 나타냅니다. D 값은 K 값의 M 일간 간단한 이동 평균입니다.

  3. 엔트리 조건: 현재 클로징 가격이 아래 볼링거 밴드 아래로 넘어가고 스토카스틱 KD 라인이 올림으로 교차하면 (K 라인이 D 라인을 넘는다) 전략은 긴 포지션에 진입합니다.

  4. 출구 조건: 현재 종료 가격이 중간 볼링거 밴드 아래로 넘어갈 때 또는 상위 볼링거 밴드 위에 넘어갈 때 전략은 포지션을 닫습니다.

볼링거 밴드를 사용하여 가격이 상대적으로 낮은 수준에 있는지 확인하고 스토카스틱 KD 상승 크로스오버로 반전 신호를 확인함으로써 전략은 입구 지점을 포착하려고합니다. 가격이 중간 볼링거 밴드 근처로 돌아갔거나 과소득이 되고 상단 범위에 도달하면 전략은 위험을 제어하고 이익을 잠금하기 위해 즉시 종료됩니다.

장점

  1. 가격과 동력 지표를 결합함으로써 전략은 과판 상태의 회복을 효과적으로 포착할 수 있습니다.

  2. 볼링거 밴드는 상대적으로 높은 가격과 낮은 가격 수준을 동적으로 나타냅니다. 이는 고정된 임계치에 비해 더 객관적이고 효과적입니다.

  3. 스토카스틱 KD 지표는 가격의 과반 구매 및 과반 판매 상태를 반영하고, 볼링거 밴드를 보완하는 동력 변화를 나타냅니다.

  4. 각 거래의 위험 노출을 통제하기 위해 명확한 스톱 로스 및 영리 레벨이 설정됩니다.

  5. 매개 변수들은 조절이 가능하여 전략은 다양한 시장과 시간대에 적합합니다.

위험성

  1. 이 전략은 범위에 묶인 시장에서 또는 추세가 불분명할 때 부진한 성과를 낼 수 있으므로 추세를 탐지하는 추가 지표가 필요합니다.

  2. 스토카스틱 KD 지표는 때때로 잘못된 신호를 제공하여 다른 방법을 사용하여 추가 확인이 필요합니다.

  3. 볼링거 밴드 및 스토카스틱 KD의 매개 변수 선택은 백테스팅을 통해 최적화되어야 합니다. 부적절한 매개 변수는 조기 스톱 로스 또는 장기화 된 보유 기간으로 이어질 수 있습니다.

  4. 이 전략은 포지션 크기와 자금 관리에 대한 고려가 부족하여 마감을 통제하는 능력을 제한합니다.

최적화 방향

  1. 이동 평균과 같은 트렌드를 따르는 지표를 도입하고 트렌드가 명확한 경우에만 전략을 적용하십시오.

  2. 스토카스틱 KD 상승 크로스오버 신호에 대한 2차 확인을 수행합니다. 예를 들어 K 값이 낮은 범위 안에 있는지 확인합니다.

  3. 가장 좋은 조합을 찾기 위해 볼링거 밴드와 스토카스틱 KD의 매개 변수를 최적화합니다.

  4. 전략에 포지션 크기와 돈 관리 모듈을 포함합니다. 예를 들어 포지션 크기를 계산하고 전체 스톱 로스 수준을 설정하기 위해 켈리 기준을 사용합니다.

  5. 전략의 적응력을 향상시키기 위해 다른 시장과 시간 프레임에 대한 매개 변수 최적화 및 백테스팅을 개별적으로 수행하십시오.

결론

이 문서에서는 볼링거 밴드 및 스토카스틱 KD를 기반으로 한 거래 전략을 소개합니다. 이 전략은 볼링거 밴드 및 스토카스틱 KD의 크로스오버 신호에 대한 가격의 위치를 비교하여 가격의 위치를 입력 및 출구 지점을 결정하며, 드래운드 리스크를 제어하는 동시에 과잉 판매 조건 후 리바운드를 포착하는 것을 목표로합니다. 이 전략의 장점은 상대적으로 높은 가격과 낮은 가격을 동적으로 묘사하고 가격의 과잉 구매 및 과잉 판매 상태에 따라 결정을 내리는 능력에 달려 있으며 명확하고 보완적인 신호를 제공합니다. 그러나 전략은 또한 범위와 관련된 시장에서 저성능, 스토카스틱 KD에서 잘못된 신호의 가능성, 그리고 위치 사이즈의 부족과 같은 특정 한계점을 가지고 있습니다. 트렌드 식별, 확인, 최적화, 트렌드 리스크 관리 및 특정 특성에 따라 적응력 및 안정성 측면에서 전략을 개선 할 수 있습니다. 전반적으로, Bollinger Band 전략은 실제 시장의 특성에 따라 적용되고 최적화 될 필요성이 있지만, 향후 트렌드 및 리스크 관리의 필요성을 개선합니다.


/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands and KD Strategy with Take Profit", overlay=true)

// 輸入參數
length = input(14, title="Bollinger Bands Length")
mult = input(2, title="Bollinger Bands Multiplier")
kdLength = input(14, title="KD Length")
kdSmooth = input(3, title="KD Smooth")
kdD = input(3, title="KD D")

// 計算布林通道
basis = ta.sma(close, length)
upper_band = basis + mult * ta.stdev(close, length)
lower_band = basis - mult * ta.stdev(close, length)

// 計算KD指標
k = ta.stoch(close, high, low, kdLength)
d = ta.sma(k, kdSmooth)  // 使用sma計算KD D

// 判斷進出點的條件
price_below_lower_band = close < lower_band
cross_above_kd = ta.crossover(k, d)
price_above_upper_band = close > upper_band
cross_below_basis = ta.crossunder(close, basis)

// 策略進出點
if (price_below_lower_band and cross_above_kd)
    strategy.entry("Buy", strategy.long)
if (cross_below_basis or price_above_upper_band)
    strategy.close("Buy")

// 繪製布林通道
plot(upper_band, color=color.blue, title="Upper Band")
plot(lower_band, color=color.red, title="Lower Band")
plot(basis, color=color.green, title="Basis")

// 繪製KD指標
hline(80, "Overbought", color=color.red)
hline(20, "Oversold", color=color.green)
plot(k, color=color.blue, title="K")
plot(d, color=color.red, title="D")


더 많은