개요: 이 전략은 볼링거 밴드 크로스오버 신호를 기반으로 긴 / 짧은 포지션을 열고 스톱 로스 및 리프트를 통해 트렌딩 시장에서 이익을 추구합니다. 이의 장점은 트렌드를 추적하고 합리적인 스톱 로스 및 리프트 구성, 제어 가능한 드라우다운, 중장기 거래에 적합합니다. 특히 주식 지수, 외화 및 암호화 시장에서 명백한 트렌딩 캐릭터를 가지고 있습니다.
원칙: 전략은 세 부분으로 구성됩니다: BB 크로스오버 신호, 고정 위치 사이징 및 동적 스톱 로스 및 수익을 취하십시오. BB 크로스오버 시스템은 이동 평균 및 표준 편차로 생성 된 밴드를 통해 브레이크아웃을 판단합니다. 긴 금 십자가와 짧은 데드 크로스. 트렌드를 따라 수익을 극대화하기 위해 길거나 짧은 100% 포지션을 고정하십시오. 수익을 잠금하고 트렌드 움직임을 따라 인하를 제어하기 위해 최신 엔트리 가격에 따라 스톱 로스 및 수익을 취하는 수준이 조정됩니다.
특히, BB 밴드는 이동 평균과 폐쇄 가격의 표준 편차로 계산된다. 상단 위의 황금 십자가는 구매 신호를 주고, 하단 지대 아래의 죽은 십자가는 판매 신호를 준다. 그들은 잠재적 인 반전 지점과 거래 기회를 식별하려고 시도한다. 100% 포지션은 트렌드를 완전히 따라 최대 이익을 추구하는 것을 목표로 한다. 역동적인 스톱 손실과 수익을 취하는 것은 최신 엔트리 가격에 따라 수정된다. 스톱 손실 거리는 인출을 통제하기 위해 합리적으로 설정된다. 시장 변동에 따라 더 많은 이익을 얻기 위해 수익을 취하는 거리는 설정된다.
장점:
트렌드를 따라 수익을 유지, BB 신호와 전체 위치를 통해 주요 방향에서 이익을 얻습니다.
다이내믹 스톱 로스를 통해 제어 할 수 있는 드라우다운 및 엔트리 가격에 기반한 수익을 취합니다. 값은 그에 따라 최적화 될 수 있습니다.
트렌드가있는 주요 시장에서 광범위한 응용, 특히 주식 지수, 외화 및 암호화 자산에 적합합니다.
간단한 논리와 BB와 고정된 비율로 기술적으로 구현하기 쉽습니다. 복잡한 패턴이나 모델 판단이 없습니다.
자본 분배를 극대화하기 위해 100%의 긴/단기 포지션으로 높은 자본 사용 효율성
위험과 해결책:
유효하지 않은 BB 신호 위험. BB 판단이 실패하면 잘못된 거래 신호를 일으킬 것입니다. 트렌드 판단에 대한 다른 지표를 결합하여 해결됩니다.
연립에서 채용 위험은 포지션 크기를 줄이고 스톱 로스 거리를 최적화함으로써 해결됩니다.
지속적인 스톱 로스 점프가 있는 변동적인 시장에서의 빈번한 거래 위험은 장기 및 단기 사이로 점프할 수 있습니다. 불필요한 트리거를 줄이기 위해 스톱 로스 거리를 적절히 넓힐 수 있습니다.
예상치 못한 큰 사건으로 인해 비합리적인 가격 상승으로 이어지는 시장 위험. 주요 정책과 사건에주의를 기울여야합니다.
최적화:
MACD, KDJ와 BB와 같은 다른 지표를 고려하여 잘못된 판단을 피하십시오.
시장의 변동성에 따라 스톱 로스 및 수익 거리를 조정합니다.
다른 시장 유형에 대한 합리적인 매개 변수를 선택하십시오. 예를 들어 더 큰 표준편차 및 변동성 시장의 이동 평균 기간.
더 나은 성능을 위해 기계 학습 알고리즘을 통해 매개 변수 값을 최적화합니다.
요약: 전략은 중재 시스템을 따르는 전형적인 경향입니다. 여러 시장의 명백한 추세에 따라 수익성을 유지합니다. 논리는 간단하고 깨끗하여 기술적으로 구현하기가 쉽습니다. 적절한 스톱 손실 및 수익 수준을 구성함으로써 최대 인하를 효과적으로 제어 할 수 있습니다. 일반적으로 이것은 안정적인 수익, 간단한 논리 및 쉬운 실행으로 효율적인 트렌드 거래 전략입니다. 양적 거래에 매우 권장됩니다.
/*backtest start: 2022-12-08 00:00:00 end: 2023-12-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Valeria 181 Bot Strategy Mejorado 2.21", overlay=true, margin_long=100, margin_short=100) var float lastLongOrderPrice = na var float lastShortOrderPrice = na longCondition = ta.crossover(ta.sma(close, 1), ta.sma(close, 4)) if (longCondition) strategy.entry("Long Entry", strategy.long) // Enter long shortCondition = ta.crossunder(ta.sma(close, 1), ta.sma(close, 4)) if (shortCondition) strategy.entry("Short Entry", strategy.short) // Enter short if (longCondition) lastLongOrderPrice := close if (shortCondition) lastShortOrderPrice := close // Calculate stop loss and take profit based on the last executed order's price stopLossLong = lastLongOrderPrice - 170 // 10 USDT lower than the last long order price takeProfitLong = lastLongOrderPrice + 150 // 100 USDT higher than the last long order price stopLossShort = lastShortOrderPrice + 170 // 10 USDT higher than the last short order price takeProfitShort = lastShortOrderPrice - 150 // 100 USDT lower than the last short order price // Apply stop loss and take profit to long positions strategy.exit("Long Exit", from_entry="Long Entry", stop=stopLossLong, limit=takeProfitLong) // Apply stop loss and take profit to short positions strategy.exit("Short Exit", from_entry="Short Entry", stop=stopLossShort, limit=takeProfitShort)