리소스 로딩... 로딩...

리스크/어워드 비율과 기술 분석에 기반한 황소 깃발 파업 전략

저자:차오장, 날짜: 2024-05-28 10:47:51
태그:

img

전반적인 설명

이 전략은 황소 깃발 패턴을 기반으로 합니다. 가격이 깃발 범위의 최고치를 넘어서면 구매하고, 플래그 범위의 최저에 스톱 로스를 설정하고, 리스크-어워드 비율에 따라 수익 목표를 설정합니다. 이 전략은 플래그 범위를 식별하기 위해 가장 높고 가장 낮은 가격 함수를 사용하여 현재 폐쇄 가격을 이전 촛불의 가장 높은 가격과 비교하여 브레이크우트를 결정합니다.

전략 원칙

  1. 황소 플래그 패턴을 식별합니다. 가장 높고 가장 낮은 가격 함수를 사용하여 플래그 범위의 높고 낮을 계산하고 현재 가격이 플래그 최고 이상으로 돌진하는지 결정합니다.
  2. 엔트리: 현재 종료 가격이 이전 촛불의 가장 높은 가격 이상으로 돌파하고 이전 촛불의 가장 높은 가격이 플래그 높은 가격보다 낮으면 구매합니다.
  3. 스톱 로스: 스톱 로스 가격은 플래그 로프 마이너스 버퍼 값으로 설정됩니다.
  4. 수익을 취하라: 리스크/상금 비율을 기준으로 목표 가격을 계산한다. 목표 가격 = 입시 가격 + (입시 가격 - 스톱 손실 가격) * 리스크/상금 비율

전략적 장점

  1. 고전적인 황소 플래그 패턴을 기반으로 강력한 트렌드에서 인기를 끌 수 있습니다.
  2. 스톱 로스는 플래그 낮은 수준으로 설정되어 있어 위험은 제어할 수 있습니다.
  3. 리스크-리워드 비율을 활용하여 목표 가격을 설정하고 더 높은 수익을 추구하십시오.
  4. 코드 로직은 명확하고 TradingView의 내장 기능을 사용하여 이해하기 쉽고 수정 할 수 있습니다.

전략 위험

  1. 변동성 있는 시장이나 트렌드가 불분명할 때, 플래그에서 벗어난 후 가격이 빠르게 역전될 수 있으며, 상당한 마감으로 이어질 수 있습니다.
  2. 부적절한 버퍼 값 설정은 조기 스톱 손실로 이어질 수 있습니다.
  3. 실제 위험/이익 비율은 설정된 값에 도달하지 않을 수 있습니다.
  4. 이 전략은 일부 변형된 깃발 패턴에 실패할 수 있습니다.

전략 최적화 방향

  1. 신호 품질을 향상시키기 위해 거래량 변화, 이동 평균 방향 등과 같은 신호 필터에 더 많은 조건을 추가하는 것을 고려하십시오.
  2. 플래그 범위 길이, 리스크/어워드 비율, 스톱 로스 버퍼 값 등 다양한 시장 특성에 따라 매개 변수를 최적화합니다.
  3. 포지션을 대량으로 형성하고 동적 스톱 손실을 사용하여 위험 노출을 줄이는 것을 고려하십시오.
  4. 전체 리스크를 제어하기 위해 포지션 관리를 추가합니다.

요약

이 전략은 고전적인 황소 깃발 패턴을 기반으로 한 브레이크아웃 전략으로, 플래그 범위와 가격 브레이크아웃을 식별함으로써 트렌드 지속 기회를 포착합니다. 전략의 장점은 명확한 논리와 제어 가능한 위험이지만 변동성 있는 시장이나 트렌드 역전에서 특정 위험에 직면합니다. 전략의 견고성과 수익성을 높이기 위해 신호, 동적 매개 변수, 위치 관리 등을 최적화하는 측면에서 개선이 가능합니다.


/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bull Flag Breakout", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// Параметры стратегии
riskRewardRatio = 3.0
flagLength = input.int(5, title="Flag Length")
stopLossBuffer = input.float(0.01, title="Stop Loss Buffer", step=0.001)

// Функция для вычисления стоп-лосса и тейк-профита
calcRiskRewardPrice(entryPrice, stopLossPrice, riskRewardRatio) =>
    takeProfitPrice = entryPrice + (entryPrice - stopLossPrice) * riskRewardRatio
    [stopLossPrice, takeProfitPrice]

// Найти минимум и максимум флага
flagLow = ta.lowest(low, flagLength)
flagHigh = ta.highest(high, flagLength)

// Условия для формирования бычьего флага
isBullFlag = high[1] < flagHigh and close > high[1]

// Условия для входа в сделку
if (isBullFlag)
    entryPrice = close
    stopLossPrice = flagLow - stopLossBuffer
    [calculatedStopLoss, calculatedTakeProfit] = calcRiskRewardPrice(entryPrice, stopLossPrice, riskRewardRatio)
    
    // Открыть длинную позицию
    strategy.entry("Bull Flag Long", strategy.long)
    strategy.exit("Take Profit", "Bull Flag Long", limit=calculatedTakeProfit)
    strategy.exit("Stop Loss", "Bull Flag Long", stop=calculatedStopLoss)
    label.new(bar_index, high, "Buy", color=color.green, textcolor=color.white, style=label.style_label_down)


더 많은