
부린띠 ATR 위험수익비율 거래 전략은 통계적 변동성과 가격비정상성을 결합한 정량 거래 시스템으로, 주로 부린띠 (Bollinger Bands) 를 이용하여 가격 과매매와 과매매 지역을 식별하고, 평균 실제 파도 (ATR) 와 결합하여 위험 관리 및 정확한 중지 손실을 설정한다. 이 전략의 핵심 아이디어는 가격이 부린띠를 돌파할 때 더 많이 하고, 돌파할 때 공백을 만들고, 동시에 미리 설정된 위험수익비율에 따라 자동으로 중지 손실과 수익을 얻는 목표 위치를 계산한다.
이 전략의 원리는 가격 회귀 평균의 통계적 특성과 위험 관리의 정밀한 통제에 기초한다:
브린 벨트 계산: 20주기 간단한 이동 평균 ((SMA) 을 중간 궤도로, 표준 차이는 2를 상하 궤도의 변동 범위로. 부린 밴드는 시장의 변동성에 동적으로 적응할 수 있으며 거래에 상대적인 과매매 판단 근거를 제공한다.
입력 신호 생성:
위험 관리 메커니즘:
위험과 수익의 비율전략: 위험과 수익률 (RR) 변수를 활용하여 자금 관리를 최적화하고, 각 거래의 잠재적인 수익은 잠재적인 위험의 기본 배수이며, 기본값은 2.0입니다. 이는 수익 목표가 스톱 로즈 거리의 두 배라는 것을 의미합니다.
자동 위험 제어: 거래가 시작되면 즉시 스톱로스 및 스톱비치 값을 설정합니다. 인적 개입이 필요없고 감정적 인 결정을 줄입니다.
변동성 적응성브린 밴드는 최근 시장의 변동성에 따라 폭을 자동으로 조정하여, 다양한 시장 환경에 대응할 수 있도록 하며, 매개 변수를 자주 조정할 필요가 없습니다.
객관적인 입장 논리진입 신호는 통계적 원칙에 근거한 것이지 주관적인 판단에 근거한 것이 아니라 감정적 거래를 줄여줍니다. 가격이 통계적 범위를 넘어서는 것은 종종 임시 극단 상태를 의미하며 평균값으로 돌아가는 확률이 높습니다.
동적 위험 관리: ATR을 사용하여 중지 거리를 계산하여 시장의 실제 변동 상황에 따라 자동으로 조정할 수 있으며, 고정 포인트 중지 값이 다른 변동 환경에서 부적응되는 것을 피합니다.
재정 관리에 대해 명확하게: 위험과 수익 비율을 미리 설정하여, 각 거래에는 명확한 자금 관리 규칙이 있으며, 장기적인 안정성을 보장합니다.
완전 자동화: 전략은 신호 발생에서 스톱 스톱 설정까지 완전히 자동으로 실행할 수 있으며, 수동 작업의 지연과 감정의 방해를 줄일 수 있다.
양방향 거래: 다방면 양방향 거래가 지원되며, 다양한 시장 추세에서 기회를 잡을 수 있으며, 자금 활용 효율성을 높입니다.
가짜 해킹의 위험수평조정 또는 높은 변동성 시장에서 가격이 자주 부린대 경계를 돌파하지만 곧바로 돌아와서 자주 스톱로스를 유발할 수 있습니다. 해결책은 확인 지표를 추가하거나 진입을 지연하는 것입니다. 가격이 부린대 경계를 돌파 한 후 재검토를 기다리는 것이거나 반발하여 다시 진입하는 것이 고려 될 수 있습니다.
동향시장의 역동적 위험: 강한 트렌드 시장에서 가격이 부린带 경계에서 계속 작동할 수 있으며, 이 때 역전 거래는 연속적인 손실을 초래한다. 트렌드 필터를 추가하여 강한 트렌드 시장에서 순차적으로 거래하거나 거래를 완전히 중지하는 것이 좋습니다.
매개변수 민감도부린띠 사이클과 표준 차등배수 설정이 잘못되면 신호가 너무 많거나 너무 적을 수 있다. 해결 방법은 역사 회색을 통해 최적의 변수 조합을 찾아내는 것이며, 다른 시장 사이클 동성에 따라 변수를 조정하는 것을 고려할 수 있다.
과도한 거래의 위험: 변동성이 증가하는 기간 동안 과도한 거래 신호가 발생하여 거래 비용이 증가하고 과도한 거래가 발생할 수 있습니다. 거래 간격 제한을 설정하거나 거래량 필터를 증가시키는 것이 좋습니다.
고정된 리스크/수익률의 한계: 다른 시장 환경에서는 최적의 리스크 수익률이 다를 수 있다. 추세 시장에서는 더 높은 리스크 수익률을 사용하는 것을 고려할 수 있으며, 흔들리는 시장에서는 더 낮은 비율을 사용하지만 승률을 높일 수 있다.
트렌드를 인식하지 못하는 것: 전략은 주로 통계적 회귀 사상에 기반하며, 시장의 추세에 대한 인식이 부족하다. 이동 평균 시스템이나 ADX 지표와 같은 추세 지표를 필터링 조건으로 추가하는 것을 고려할 수 있다.
트렌드 필터를 추가합니다.: 통합 이동 평균 교차 또는 ADX와 같은 트렌드 지표, 트렌드 방향이 일치하는 경우에만 거래, 전략 승률을 크게 향상시킬 수 있습니다. 예를 들어, 50 및 200 주기의 이동 평균을 추가하면 장기 트렌드를 판단 할 수 있습니다.
동적 리스크 수익률: 시장의 변동성이나 트렌드 강도에 따라 역동적으로 조정하는 리스크 수익률. 강한 트렌드 시장에서 더 높은 리스크 수익률을 사용한다 (예: 3:1 또는 4:1), 반면 흔들리는 시장에서 더 낮은 비율을 사용한다 (예: 1.5:1) 하지만 승률을 높인다.
다중 시간 프레임 분석: 더 높은 시간 프레임의 브린 대역을 필터링 조건으로 도입하여 여러 시간 프레임의 신호가 일치할 때만 입력을 할 수 있어 가짜 신호를 줄일 수 있다.
경기 시점을 최적화: 부린대를 뚫고 바로 진출하지 않고, 재검토를 기다리거나 특정 K선 형태를 형성한 후에 진출하는 것을 고려할 수 있다.
거래량 확인이 증가: 거래량을 신호 확인 조건으로 삼고, 브레이크를 요구할 때 거래량을 확대하여 가짜 브레이크를 줄일 수 있다.
동적 정지: 이동 스톱 메커니즘을 구현할 수 있으며, 이윤을 연장할 수 있습니다. 예를 들어, 가격이 유리 방향으로 일정 거리를 이동한 후, 스톱 로스는 이윤 손실 균형 지점 또는 더 나은 위치로 이동합니다.
계절 또는 시간 필터: 시장의 계절적 특징이나 최고의 거래 시간을 분석하고, 역사적으로 가장 좋은 기간 동안 중화 거래한다.
시장 환경 분류: 시장환경 분류 시스템을 개발하여, 변동률, 트렌드 강도 등의 지표에 따라 시장을 여러 가지 상태로 나누고, 다른 상태에 대해 다른 파라미터 설정을 사용합니다.
브린띠 ATR 위험수익비율 거래 전략은 통계학 원리와 위험관리에 기반한 완전한 거래 시스템으로, 브린띠를 통해 가격의 비정상성을 식별하고, ATR을 이용하여 합리적인 중지 위치를 계산하고, 미리 설정된 위험수익비율에 기초하여 수익 목표를 자동으로 설정한다. 이 전략의 핵심 장점은 기술 분석과 위험관리를 원활하게 결합하여 시장의 변동성에 적응하고, 각 거래에 대해 엄격한 자금 관리를 수행하는 데 있다.
전략에는 가짜 돌파구와 역전 거래의 위험이 있지만, 트렌드 필터링, 다중 시간 프레임 분석 및 동적 리스크 수익 비율과 같은 최적화 조치를 추가하면 그 성능을 크게 향상시킬 수 있습니다. 이 전략은 체계화된 거래 규칙을 따르고 위험 통제를 중요하게 생각하는 거래자에게 적합하며, 특히 변동성이 큰 시장에서 평균 회귀 특성이있는 시장에서 더 잘 수행됩니다.
궁극적으로, 이 전략을 성공적으로 적용하는 열쇠는 거래 규칙을 엄격하게 시행하고, 매개 변수를 지속적으로 최적화하고, 다양한 시장 환경에 따라 전략 설정을 유연하게 조정하는 것입니다. 지속적인 테스트와 개선으로, 이 전략은 안정적인 적응 거래 시스템으로 발전 할 수 있습니다.
/*backtest
start: 2024-03-03 00:00:00
end: 2024-06-13 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Bollinger Bands & ATR Strategy", overlay=true)
// Kullanıcıdan girdi almak
bollingerLength = input.int(20, title="Bollinger Bantları Periyodu")
bollingerDev = input.float(2.0, title="Bollinger Bantları Standart Sapma")
atrLength = input.int(14, title="ATR Periyodu")
riskRewardRatio = input.float(2.0, title="Risk/Ödül Oranı", minval=1.0)
// Bollinger Bantları hesapla
basis = ta.sma(close, bollingerLength)
dev = bollingerDev * ta.stdev(close, bollingerLength)
upperBand = basis + dev
lowerBand = basis - dev
atrValue = ta.atr(atrLength)
// Al/Sat koşulları
longCondition = close < lowerBand
shortCondition = close > upperBand
// Risk/Ödül hesaplaması
longStopLoss = close - 2 * atrValue
shortStopLoss = close + 2 * atrValue
longTakeProfit = close + (close - longStopLoss) * riskRewardRatio
shortTakeProfit = close - (shortStopLoss - close) * riskRewardRatio
// Pozisyonları açma ve kapama
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Long TP", "Long", limit=longTakeProfit, stop=longStopLoss)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Short TP", "Short", limit=shortTakeProfit, stop=shortStopLoss)
// Bollinger Bantları'nı grafikte çiz
plot(upperBand, color=color.green, title="Üst Bollinger Bandı")
plot(lowerBand, color=color.red, title="Alt Bollinger Bandı")
plot(basis, color=color.blue, title="Bollinger Bandı Temel")
// Sinyalleri göster
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Long Signal")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Short Signal")