중간 및 고주파 동적 범위 중간 지점 돌파 제한 거래 전략

SEO RANGE LIMIT NYSE SMA
생성 날짜: 2025-03-31 16:43:45 마지막으로 수정됨: 2025-03-31 16:43:45
복사: 2 클릭수: 370
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

중간 및 고주파 동적 범위 중간 지점 돌파 제한 거래 전략 중간 및 고주파 동적 범위 중간 지점 돌파 제한 거래 전략

개요

이 전략은 시장의 역동적 영역의 중간 지점에 기반한 고 정밀 거래 방법이며, 특정 시간 범위 내의 가격 변동 특성을 포착하여 정확한 입시 및 출구 시기를 달성합니다. 전략의 핵심은 구성 가능한 회귀 주기를 사용하여 가격 영역의 높고 낮은 점과 중간 지점을 동적으로 계산하고 뉴욕 증권 거래소 거래 시간 내에 제한 가격 거래를 수행하는 것입니다.

전략 원칙

이 전략은 다음과 같은 핵심 메커니즘을 기반으로 합니다.

  1. 동적 간계 계산: 조정 가능한 회귀 주기를 설정하여 가격의 최고점, 최저점 및 중간점을 실시간으로 계산합니다.
  2. 시간 제한 거래: 뉴욕 증권 거래소 거래 시간 (오전 9시 30분부터 오후 3시까지) 에 엄격히 제한되어 거래한다.
  3. 중점 돌파 신호: 종결 가격의 중간 지점을 돌파 할 때, 더 많은 또는 더 적은 신호를 생성한다.
  4. 제한 주문 전략: 범위에 주문을 하고, 중지 및 중지 가격을 범위에 높은 점과 낮은 점으로 설정한다.

전략적 이점

  1. 높은 정확도 입시: 동적으로 계산된 중간 지점을 통해 보다 정확한 입시 시점을 제공한다.
  2. 위험 통제: 엄격한 스톱 및 스톱 손실 메커니즘, 단일 거래의 위험을 효과적으로 제어한다.
  3. 시간 선택: 거래소가 활발한 시간에만 거래하고, 유동성이 낮은 기간을 피한다.
  4. 매개 변수 유연성: 회귀 주기가 조정되어 다른 시장 환경에 적응할 수 있다.
  5. 거래가 끝나기 전에 자동으로 청산하는 방법

전략적 위험

  1. 간격 계산의 한계: 급격히 변동하는 시장에서 고정 회귀 주기는 실시간 시장 상태를 정확하게 반영하지 않을 수 있다.
  2. 거래 빈도 위험: 거래 빈도는 거래 비용과 점유율 위험을 증가시킬 수 있습니다.
  3. 매개 변수 민감성: 회귀 주기와 거래 시간 설정이 전략 성능에 미치는 영향은 뚜렷하다.
  4. 시장 적응성: 전략은 모든 품종과 시장 환경에 적합하지 않을 수 있다.

전략 최적화 방향

  1. 동적 회귀주기: 적응 알고리즘을 도입하여 시장의 변동성에 따라 역동적으로 회귀주기를 조정한다.
  2. 다중 시간 프레임 검증: 다양한 시간 프레임의 신호를 결합하여 신호의 정확도를 높인다.
  3. 변동성 필터: 변동성 지표를 증가시키고, 낮은 품질의 거래 신호를 필터링한다.
  4. 머신러닝 최적화: 머신러닝 알고리즘을 사용하여 진출 및 출구 파라미터를 동적으로 조정한다.
  5. 위험 관리 강화: 더 복잡한 포지션 관리 및 동적 중지 메커니즘 도입.

요약하다

이 전략은 정확한 간격의 중점 돌파와 제한 가격 거래 메커니즘을 통해 거래자에게 체계적이고 규칙이 명확한 거래 방법을 제공합니다. 그것의 핵심 장점은 높은 정밀 입문, 위험 제어 및 시간 선택입니다. 미래의 최적화 방향은 전략의 적응성과 안정성을 향상시키는 데 초점을 맞춘 것입니다.

핵심 기술 지표

  • 과거로 돌아가는 기간
  • 범주 최고점
  • 범주 저점
  • 범위 중간 지점
  • 거래시간 (NYSE Trading Hours)

거래 논리 요약

동적으로 가격 범위를 계산하고 중간 지점 근처에서 제한 가격 거래를 통해 엄격한 시간 및 위험 관리 프레임 워크에서 단기 가격 추세와 역전 기회를 잡습니다.

위험 경고

이 정책은 참고용으로만 사용되며 실제 거래에서는 개인의 위험 부담 능력과 시장 환경에 따라 조정할 필요가 있습니다.

권장 응용 시나리오

안정적이고 체계적인 거래 전략을 추구하는 중단계 투자자에게 적합하며, 특히 선물과 유동성 높은 품종 거래에 집중하는 거래자에게 적합합니다.

결론

양적 거래의 핵심은 지속적인 최적화와 적응이며, 이 전략은 거래자에게 깊이 연구하고 개선할 가치가 있는 거래 프레임워크를 제공합니다.

전략 소스 코드
/*backtest
start: 2024-03-31 00:00:00
end: 2025-03-29 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Midpoint Crossing Strategy", overlay=true)

// Input for lookback period
lookback = input.int(30, title="Lookback Period", minval=1)

// Input for NYSE trading hours
startHour = 9
startMinute = 30
endHour = 15
endMinute = 0

// Variables to store high, low, and midpoint of the lookback period
var float rangeHigh = na
var float rangeLow = na
var float rangeMid = na

// Calculate high, low, and midpoint based on lookback period
if (bar_index >= lookback)
    rangeHigh := ta.highest(high, lookback)
    rangeLow := ta.lowest(low, lookback)
    rangeMid := (rangeHigh + rangeLow) / 2

// Plot high, low, and midpoint for reference
plot(rangeHigh, color=color.red, title="Range High")
plot(rangeLow, color=color.green, title="Range Low")
plot(rangeMid, color=color.blue, title="Range Mid")

// Time condition for NYSE hours
currentTime = timestamp("GMT-5", year, month, dayofmonth, hour, minute)
startTime = timestamp("GMT-5", year, month, dayofmonth, startHour, startMinute)
endTime = timestamp("GMT-5", year, month, dayofmonth, endHour, endMinute)

// Check if the current time is within NYSE hours
isNYSEHours = currentTime >= startTime and currentTime <= endTime

// Entry conditions (only during NYSE hours)
longCondition = ta.crossover(close, rangeMid) and isNYSEHours
shortCondition = ta.crossunder(close, rangeMid) and isNYSEHours

// Define stop loss and take profit levels based on the range
longStopLoss = rangeLow
longTakeProfit = rangeHigh
shortStopLoss = rangeHigh
shortTakeProfit = rangeLow

// Place limit order at mid-price
if (longCondition and not strategy.opentrades)
    strategy.order("Long Limit", strategy.long, limit=rangeMid)
    strategy.exit("Take Profit", "Long Limit", limit=longTakeProfit, stop=longStopLoss)

if (shortCondition and not strategy.opentrades)
    strategy.order("Short Limit", strategy.short, limit=rangeMid)
    strategy.exit("Take Profit", "Short Limit", limit=shortTakeProfit, stop=shortStopLoss)

// Close open positions at 4:00 PM to avoid overnight risk
if (currentTime >= endTime)
    strategy.close_all(comment="Close All at 4:00 PM")

// Add a check for open positions
if (strategy.opentrades > 0)
    // Ensure no recalculation while a position is open
    rangeHigh := na
    rangeLow := na
    rangeMid := na