위/하향 K-라인 패턴 고주파 중재 전략

저자:차오장, 날짜: 2024-01-08 15:47:41
태그:

img

전반적인 설명

이 전략은 K-라인 패턴 기반 판단 방법을 사용하여 고주파 시장 제작 중재를 구현합니다. 주요 아이디어는 다른 K-라인 시간 프레임에 걸쳐 상승 / 하락 패턴을 판단하여 고주파 시장 제작에 대한 거래를 열고 닫는 것입니다. 구체적으로, 전략은 여러 K-라인 시간 프레임을 동시에 모니터링하고 연속적으로 상승 또는 하락하는 K-라인을 관찰 할 때 대응하는 긴 또는 짧은 포지션을 취합니다.

전략 논리

이 전략의 핵심 논리는 다른 K 라인 시간 프레임에 걸쳐 상승/하락 패턴을 판단하는 데 있다. 구체적으로, 1 분, 5 분 및 15 분 K 라인을 동시에 추적한다. 전략은 N 이전 K 라인과 비교하여 가격이 상승 또는 감소했는지 확인함으로써 현재 정서를 결정한다. 가격이 연속적으로 상승하면 상승 정서를 나타냅니다. 가격이 연속적으로 떨어지면 하락 시선을 나타냅니다. 상승 신호에 따라 전략은 길게 갈 수 있습니다. 하락 신호에 따라 전략은 짧게 갈 수 있습니다. 이러한 방법으로 전략은 높은 빈도 대관리를 위해 다른 시간 프레임에 걸쳐 트렌드와 평균 역전 기회를 포착 할 수 있습니다.

핵심 논리는 두 가지 지표를 추적함으로써 구현됩니다.ups그리고dns, 연속 상승 및 하락 K-라인의 수를 기록합니다.consecutiveBarsUp그리고consecutiveBarsDown트렌드를 결정하기 위한 문턱의 사용자 정의를 허용합니다.ups이보다 크거나 같거나consecutiveBarsUp, 상승 추세를 나타냅니다.dns초과consecutiveBarsDown또한, 전략은 역 테스트 시간 범위와 명령 실행 메시지 등을 지정합니다.

장점

이 전략의 장점은 다음과 같습니다.

  1. 시장 제작을 위한 고주파 중재 기회를 포착
  2. K-선 패턴에 기반한 단순하고 효과적인 논리
  3. 여러 시간 프레임의 동시 모니터링은 포획율을 향상시킵니다.
  4. 직관적인 매개 변수 조정
  5. 최적화를 위한 설정 가능한 역 테스트 시간 범위

위험성

또한 다음과 같은 여러 가지 위험을 알아야 합니다.

  1. 데이터 문제, 주문 실패 등과 같은 고주파 거래의 일반적인 위험
  2. 부적절한 매개 변수 조정으로 인해 과도한 거래 또는 좋은 기회를 놓칠 수 있습니다.
  3. 더 복잡한 시장 상황을 처리할 수 없습니다.

위험을 줄이는 가능한 방법은 다음과 같습니다.

  1. 신중한 입출입을 결정하기 위해 더 많은 논리를 포함
  2. 거래 빈도와 수익성을 균형을 맞추기 위해 매개 변수를 최적화
  3. 트렌드를 판단하기 위해 볼륨, 변동성 같은 더 많은 요소를 고려
  4. 거래당 손실을 제한하기 위해 다른 스톱 로스 메커니즘을 테스트합니다.

더 나은 기회

이 전략은 다음과 같은 차원에서 강화될 수 있습니다.

  1. 단순히 상승/하락 수를 넘어서 파장을, 에너지를 등등 다른 요소들을 추가하여 패턴을 판단합니다.
  2. MACD, KD 등과 같은 다른 진입/출출 지표를 평가합니다.
  3. MA, 채널을 필터 신호와 같은 기술적 요소를 포함
  4. 가장 좋은 조합을 찾기 위해 시간 프레임에 걸쳐 매개 변수를 최적화
  5. 안정성 향상을 위한 스톱 로스 및 수익 취득 메커니즘 개발
  6. 최대 포지션, 거래 빈도 등과 같은 양적 위험 통제를 도입하십시오.
  7. 가장 적합한 제품을 찾기 위해 다양한 제품을 테스트합니다.

결론

이 전략은 K-라인 패턴 판단에 기반한 간단하면서도 효과적인 고주파 중재 전략을 실현합니다. 이 전략의 핵심은 중재에 대한 시간 프레임에 걸쳐 내일 상승/하락 추세를 포착하는 데 있습니다. 일부 내재된 위험에도 불구하고,이 이해하기 쉬운 전략은 알고리즘 거래에 좋은 출발점입니다. 최적화 및 위험 관리에 대한 추가 개선은 더 안정적이고 수익성있는 결과를 창출 할 수 있습니다.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-21 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

// Strategy
strategy("Up/Down Strategy", initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash)

consecutiveBarsUp = input(1)
consecutiveBarsDown = input(1)

price = close

ups = 0.0
ups := price > price[1] ? nz(ups[1]) + 1 : 0

dns = 0.0
dns := price < price[1] ? nz(dns[1]) + 1 : 0

// Strategy Backesting
startDate  = input(timestamp("2021-01-01T00:00:00"), type = input.time)
finishDate = input(timestamp("2021-12-31T00:00:00"), type = input.time)

time_cond  = true

// Messages for buy and sell
message_buy  = input("{{strategy.order.alert_message}}", title="Buy message")
message_sell = input("{{strategy.order.alert_message}}", title="Sell message")

// Strategy Execution

if (ups >= consecutiveBarsUp) and time_cond
    strategy.entry("Long", strategy.long, stop = high + syminfo.mintick, alert_message = message_buy)
    
if (dns >= consecutiveBarsDown) and time_cond
    strategy.entry("Short", strategy.short, stop = low + syminfo.mintick, alert_message = message_sell)

//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

더 많은