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

주요 가격 수준에 기초한 다기기 가격 레벨 브레이크 트렌드 거래 시스템

저자:차오장, 날짜: 2025-01-06 16:06:30
태그:HODLODPMHPMLPDHPDLMARSIATRADX

img

전반적인 설명

이 전략은 여러 가지 주요 가격 레벨을 기반으로 한 브레이크아웃 거래 시스템입니다. 주로 6 개의 중요한 가격 수준을 추적합니다: 하루의 높은 (HOD), 낮의 낮 (LOD), 시장 전 최고 (PMH), 시장 전 낮은 (PML), 전날의 높은 (PDH), 전날의 낮은 (PDL). 시스템은 이러한 수준의 가격 브레이크를 통해 거래 신호를 생성하고 가격 크로스오버를 기반으로 자동으로 거래를 실행합니다.

전략 원칙

핵심 논리는 몇 가지 핵심 요소를 포함합니다.

  1. 주요 가격 레벨 계산: 6개의 주요 가격 레벨을 계산하기 위해 다른 기간의 가격 데이터를 얻기 위해 request.security 함수를 사용합니다.
  2. 진입 조건: 가격이 PMH 또는 PDH 이상으로 넘어갈 때 긴 포지션을 개설하고, 가격이 PML 또는 PDL 이하로 넘어갈 때 짧은 포지션을 개설합니다.
  3. 출구 조건: 가격이 HOD에 도달하면 긴 포지션을 닫습니다. 가격이 LOD에 도달하면 짧은 포지션을 닫습니다.
  4. 시각적 표현: 각기 다른 색상의 수평선으로 가격 수준을 표시합니다. HOD는 흰색, LOD는 보라색, PDH는 오렌지색, PDL는 파란색, PMH는 녹색, PML는 빨간색입니다.

전략적 장점

  1. 다차원적 가격 참조: 포괄적인 시장 분석을 위해 여러 기간 동안 주요 가격 수준을 모니터링합니다.
  2. 명확한 브레이크아웃 로직: 명확한 거래 규칙과 함께 가격 브레이크아웃을 기반으로 거래 신호를 생성합니다.
  3. 높은 자동화: 자동으로 가격 수준을 계산하고 거래를 실행하여 수동 개입을 줄입니다.
  4. 강력한 시각화: 직관적인 분석을 위해 다른 색상의 수평선을 통해 가격 수준을 표시합니다.
  5. 높은 적응력: 다양한 거래 도구와 기간에 적용됩니다.

전략 위험

  1. 가짜 브레이크 위험: 시장은 잘못된 신호로 이어지는 잘못된 브레이크를 생성할 수 있습니다.
  2. 변동성 의존성: 전략은 낮은 변동성 환경에서 저성공할 수 있습니다.
  3. 불충분한 위험 통제: 동적 스톱 로스 및 수익 취득 메커니즘이 부족합니다.
  4. 시장 환경 의존성: 다양한 시장에서 빈번한 거래를 유발할 수 있습니다.
  5. 미끄러짐 영향: 유동성이 낮은 시장에서 상당한 미끄러짐을 겪을 수 있습니다.

전략 최적화 방향

  1. 기술 지표 필터를 추가합니다:
  • 과잉 매수/ 과잉 판매 필터링을 위한 RSI를 포함
  • 동적 스톱 로스 배치에 ATR를 사용
  • 트렌드 강도 확인을 위해 ADX를 통합
  1. 리스크 관리 개선
  • 동적 스톱 로스 메커니즘을 구현
  • 후속 중지 기능을 추가
  • 규모가 큰 수익제도
  1. 신호 확인 최적화:
  • 볼륨 확인을 추가합니다
  • 여러 시간 프레임 트렌드 확인을 포함합니다.
  • 신호 지연 확인 메커니즘 설정

요약

이 전략은 명확한 논리와 높은 자동화를 특징으로 한 여러 가지 핵심 가격 수준을 모니터링하고 활용하여 시장 기회를 포착합니다. 그러나 기술 지표 필터와 개선된 위험 관리 메커니즘을 통해 해결해야 할 특정 위험도 포함합니다. 전략의 핵심 장점은 시장 추세를 더 잘 포착 할 수있는 다차원 가격 참조 시스템입니다. 그러나 실제 적용은 다른 시장 조건에 따라 특정 매개 변수 조정을 필요로합니다.


/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-04 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tradingbauhaus

//@version=6
strategy("HOD/LOD/PMH/PML/PDH/PDL Strategy by tradingbauhaus ", shorttitle="HOD/LOD Strategy", overlay=true)

// Daily high and low
dailyhigh = request.security(syminfo.tickerid, 'D', high)
dailylow = request.security(syminfo.tickerid, 'D', low)

// Previous day high and low
var float previousdayhigh = na
var float previousdaylow = na
high1 = request.security(syminfo.tickerid, 'D', high[1])
low1 = request.security(syminfo.tickerid, 'D', low[1])
high0 = request.security(syminfo.tickerid, 'D', high[0])
low0 = request.security(syminfo.tickerid, 'D', low[0])

// Yesterday high and low
if (hour == 9 and minute > 30) or hour > 10
    previousdayhigh := high1
    previousdaylow := low1
else
    previousdayhigh := high0
    previousdaylow := low0

// Premarket high and low
t = time("1440", "0000-0930") // 1440 is the number of minutes in a whole day.
is_first = na(t[1]) and not na(t) or t[1] < t
ending_hour = 9
ending_minute = 30

var float pm_high = na
var float pm_low = na

if is_first and barstate.isnew and ((hour < ending_hour or hour >= 16) or (hour == ending_hour and minute < ending_minute))
    pm_high := high
    pm_low := low
else 
    pm_high := pm_high[1]
    pm_low := pm_low[1]

if high > pm_high and ((hour < ending_hour or hour >= 16) or (hour == ending_hour and minute < ending_minute))
    pm_high := high
    
if low < pm_low and ((hour < ending_hour or hour >= 16) or (hour == ending_hour and minute < ending_minute))
    pm_low := low

// Plotting levels
plot(dailyhigh, style=plot.style_line, title="Daily high", color=color.white, linewidth=1, trackprice=true)
plot(dailylow, style=plot.style_line, title="Daily low", color=color.purple, linewidth=1, trackprice=true)
plot(previousdayhigh, style=plot.style_line, title="Previous Day high", color=color.orange, linewidth=1, trackprice=true)
plot(previousdaylow, style=plot.style_line, title="Previous Day low", color=color.blue, linewidth=1, trackprice=true)
plot(pm_high, style=plot.style_line, title="Premarket high", color=color.green, linewidth=1, trackprice=true)
plot(pm_low, style=plot.style_line, title="Premarket low", color=color.red, linewidth=1, trackprice=true)

// Strategy logic
// Long entry: Price crosses above PMH or PDH
if (ta.crossover(close, pm_high) or ta.crossover(close, previousdayhigh)) and strategy.opentrades == 0
    strategy.entry("Long", strategy.long)

// Short entry: Price crosses below PML or PDL
if (ta.crossunder(close, pm_low) or ta.crossunder(close, previousdaylow)) and strategy.opentrades == 0
    strategy.entry("Short", strategy.short)

// Exit long: Price reaches HOD
if strategy.position_size > 0 and ta.crossover(close, dailyhigh)
    strategy.close("Long")

// Exit short: Price reaches LOD
if strategy.position_size < 0 and ta.crossunder(close, dailylow)
    strategy.close("Short")

관련

더 많은