K라인 마감방향을 기반으로 한 고빈도 트레이딩 돌파전략

HFT SL TP ROE MDD TPR
생성 날짜: 2024-12-12 14:35:24 마지막으로 수정됨: 2024-12-12 14:35:24
복사: 1 클릭수: 417
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

K라인 마감방향을 기반으로 한 고빈도 트레이딩 돌파전략

개요

이것은 1분 K 선의 종결 방향에 기초한 고주파 거래의 전략이다. 전략은 K 선의 종결 가격과 개시 가격의 관계를 판단하여 시장의 움직임을 결정하고, 보잉 K 선이 형성된 후에 더하고, 하향 K 선이 형성된 후에 공백한다. 전략은 고정된 포지션 시간을 채택하고, 다음 K 선의 종결시 포지션을 평정하고, 하루 최대 거래 수에 제한을 두고, 위험을 제어한다.

전략 원칙

전략의 핵심 논리는 K선으로 종결 방향을 판단하는 것입니다.

  1. 상장 가격이 상장 가격보다 높을 때, 양선이 형성되며, 이는 현재 주기의 구매자 세력이 우위를 점하고, 전략 선택이 더 많은 것을 나타냅니다.
  2. 상장 가격이 상장 가격보다 낮을 때, 음선이 형성되며, 이는 현재 주기에 대한 판매자의 힘이 우위를 점하고, 전략이 공백을 선택한다는 것을 나타냅니다.
  3. 이 전략은 K 라인이 문을 닫을 때 문을 닫습니다. 빠른 수익 또는 손실을 달성합니다.
  4. 매일 200건의 거래가 제한되어 과도한 거래가 발생하지 않도록 합니다.
  5. 매 거래마다 계좌의 1%의 자금을 사용해서 위험을 통제한다.

전략적 이점

  1. 거래 논리는 간단하고 명확하며 이해하기 쉽고 실행이 가능합니다.
  2. 시장 변동에 대한 위험을 줄이는 짧은 포지션
  3. 주관적 판단의 편차를 피하기 위해 고정된 지분 기간을 사용합니다.
  4. 매일 최대 거래 수 제한을 설정하여 위험을 효과적으로 제어합니다.
  5. 백분율 리스크 관리를 사용하여 계좌 자금을 안전하게 보호하십시오.
  6. 거래 신호를 시각적으로 표시하여 전략 모니터링 및 최적화를 지원합니다.

전략적 위험

  1. 높은 주파수 거래는 높은 거래 비용을 초래할 수 있습니다. 해결책: 더 작은 차이는 거래 유형을 선택하고 거래 기간을 최적화하십시오.
  2. 급격하게 변동하는 시장에서 연속적인 손실이 발생할 수 있습니다. 해결책: 시장의 변동성을 필터링하는 조건을 늘려라
  3. 전략은 가짜 돌파구에 의해 영향을 받을 수 있습니다. 해결책: 교류량 증가와 같은 보조적인 지표를 확인
  4. 고정 지분 기간은 더 큰 수익 기회를 놓칠 수 있습니다. 해결책: 시장 상황에 따라 지분 시간을 동적으로 조정합니다.
  5. 더 많은 시장 정보와 기술 지표가 고려되지 않았습니다. 솔루션: 다른 기술 지표와 결합하여 입학 조건을 최적화

전략 최적화 방향

  1. 거래량 지표 도입: 거래량을 통해 K 라인의 유효성을 확인하고 거래 신호의 신뢰성을 향상시킵니다.
  2. 트렌드 필터를 추가: 평균선과 같은 트렌드 지표와 결합하여 주 트렌드 방향으로 거래
  3. 역동적인 포지션 보유 시간: 시장의 변동에 따라 포지션 보유 시간을 역동적으로 조정하여 전략의 적응성을 향상시킵니다.
  4. 자본 관리를 최적화: 역대 이익과 손실에 따라 역동적으로 위치 크기를 조정
  5. 시장 변동성 필터를 추가합니다: 과도한 변동성 또는 과도한 변동성 시장 환경에서 거래를 중지합니다.
  6. 시간 필터를 추가하여, 시장의 높은 변동성을 피하십시오.

요약하다

이 전략은 간단한 가격 행동 분석을 통해 단기 시장 기회를 잡기 위해 K선 종결 방향에 기반한 고주파 거래 시스템입니다. 전략의 장점은 논리적으로 간단하고, 지주 기간이 짧고, 위험이 통제 가능하지만, 동시에 거래 비용과 가짜 돌파구와 같은 과제에 직면합니다. 전략의 안정성과 수익성은 더 많은 기술적 지표와 최적화 프로그램을 도입함으로써 더욱 향상 될 것으로 예상됩니다.

전략 소스 코드
/*backtest
start: 2024-01-01 00:00:00
end: 2024-12-10 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Candle Close Strategy", overlay=true)

// Define conditions for bullish and bearish candlesticks
isBullish = close > open
isBearish = close < open

// Track the number of bars since the trade was opened and the number of trades per day
var int barsSinceTrade = na
var int tradesToday = 0

// Define a fixed position size for testing
fixedPositionSize = 1

// Entry condition: buy after the close of a bullish candlestick
if (isBullish and tradesToday < 200)  // Limit to 200 trades per day
    strategy.entry("Buy", strategy.long, qty=fixedPositionSize)
    barsSinceTrade := 0
    tradesToday := tradesToday + 1

// Entry condition: sell after the close of a bearish candlestick
if (isBearish and tradesToday < 200)  // Limit to 200 trades per day
    strategy.entry("Sell", strategy.short, qty=fixedPositionSize)
    barsSinceTrade := 0
    tradesToday := tradesToday + 1

// Update barsSinceTrade if a trade is open
if (strategy.opentrades > 0)
    barsSinceTrade := nz(barsSinceTrade) + 1

// Reset tradesToday at the start of a new day
if (dayofmonth != dayofmonth[1])
    tradesToday := 0

// Exit condition: close the trade after the next candlestick closes
if (barsSinceTrade == 2)
    strategy.close("Buy")
    strategy.close("Sell")

// Plot bullish and bearish conditions
plotshape(series=isBullish, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=isBearish, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Plot the candlesticks
plotcandle(open, high, low, close, title="Candlesticks")