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

파라볼리 SAR 트렌드 추적 전략 6.0

저자:차오장, 날짜: 2024-03-08 16:54:49
태그:

img

전반적인 설명

파라볼릭 SAR 트렌드 추적 전략 6.0은 트렌드 반전을 기반으로 트렌드 신호를 생성하기 위해 파라볼릭 SAR 지표를 활용하는 포괄적인 거래 전략이다. 이 전략은 암호화폐, 주식, 외환 및 상품을 포함한 다양한 금융 시장에 적합합니다. 이 전략은 거래 입출에 체계적인 접근 방식을 사용하여 장기 및 단방향 모두에서 시장 움직임을 활용하는 것을 목표로합니다.

전략 원칙

이 전략은 다음과 같은 원칙에 기초합니다.

  1. 사용자들이 정의한 시작값, 증가값, 최대값을 사용하여 Parabolic SAR 지표를 계산합니다.
  2. 종료 가격과 SAR 값의 크로스오버와 크로스온더를 기반으로 거래 신호를 생성합니다. 가격이 SAR 값을 넘을 때 긴 신호가 생성되며 가격이 SAR 값을 넘을 때 짧은 신호가 생성됩니다.
  3. 1시간 SAR값을 2차 필터로 사용하여 즉각적인 SAR와 1시간 SAR 지표가 시장 방향에 동의할 때만 거래가 입력되는 것을 보장합니다.
  4. 진입 조건 설정: 긴 포지션은 롱 신호가 확인되고 그 전의 가격 상승이 임계치를 충족할 때만 열립니다. 마찬가지로 짧은 포지션은 롱 신호가 확인되고 그 전의 가격 하락이 임계치를 초과할 때만 열립니다.
  5. 두 가지 기준에 기초한 출구 조건을 설정합니다: 수익을 취하고 손실을 중지하십시오. 수익을 취하는 조건은 목표 수익 비율이 달성되면 수익을 확보 할 때 포지션을 닫습니다. 손실을 멈추는 조건은 가격이 허용 된 비율을 초과하여 거래에 반대하여 움직일 때 포지션을 닫습니다.

장점

패러볼릭 SAR 트렌드 추적 전략 6.0의 주요 장점은 다음과 같습니다.

  1. 여러 금융시장과 다양한 거래 방식에 적응할 수 있습니다.
  2. 즉각적인 SAR와 1시간 SAR를 모두 고려하여 신호 신뢰성을 향상시킵니다.
  3. 리스크를 통제하는 데 도움이 되는 수익을 취하고 손실을 멈추는 메커니즘이 있습니다.
  4. 사용자들의 필요에 따라 최적화할 수 있는 조정 가능한 매개 변수
  5. 명확한 논리와 이해하기 쉽고 실행하기 쉽습니다.

위험 분석

앞서 언급한 이점에도 불구하고, 이 전략은 몇 가지 잠재적 위험을 가지고 있습니다.

  1. 높은 시장 변동성 기간 동안, 빈번한 트렌드 역전으로 인해 과도한 손실이 발생할 수 있습니다.
  2. 부적절한 매개 변수 설정으로 인해 전략 성능이 떨어질 수 있습니다.
  3. 이 전략은 중요한 기본 요인을 고려하지 않고 기술 지표에만 의존합니다.
  4. 포지션 크기와 자금 관리 고려의 부재 이러한 위험을 해결하기 위해 변동성 필터를 도입하고 매개 변수를 최적화하고 근본 분석을 통합하고 포지션 사이즈 및 자금 관리 모듈을 추가함으로써 개선이 가능합니다.

최적화 방향

  1. 신호 정확성을 향상시키기 위해 이동 평균과 RSI와 같은 추가 기술 지표를 도입합니다.
  2. 다양한 시장 조건에 적응하기 위해 진입 및 출입 문턱을 최적화하십시오.
  3. 포지션 크기와 자금 관리 모듈을 통합하여 개별 거래 위험 노출과 전체 계좌 위험을 제어합니다.
  4. 시장 변동성을 고려하고 변동성이 증가할 때 포지션 크기를 줄이거나 거래를 중단하십시오.
  5. 경제 데이터 및 중요한 사건과 같은 근본 분석을 포함하여 트렌드 지속 가능성을 평가하는 데 도움이 됩니다.

결론

패러볼릭 SAR 트렌드 추적 전략 6.0은 트렌드 트레이딩에 대한 체계적인 접근 방식을 제공합니다. 패러볼릭 SAR 지표를 추적함으로써 전략은 트렌드 반전에서 기회를 포착 할 수 있습니다. 전략은 엄격한 입출장 조건을 사용하고 위험을 관리하기 위해 수익을 취하고 손실을 중지하는 규칙을 설정합니다. 전략에는 특정 장점이 있지만 한계와 잠재적 위험도 있습니다. 추가 기술 지표, 최적화 매개 변수, 리스크 관리 강화 및 근본 분석을 통합하여 향후 개선이 가능합니다. 이러한 개선은 전략의 견고성과 수익성을 향상시킬 수 있습니다. 전반적으로, 패러볼릭 SAR 트렌드 추적 전략 6.0은 트렌드 트레이더들이 고려해야 할 거래 프레임워크를 제공하지만 실제로 적용할 때 개별 상황에 따라 적절한 조정 및 최적화를 요구합니다.


/*backtest
start: 2024-02-29 00:00:00
end: 2024-03-07 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("SAR Trend 6.0", default_qty_type = strategy.percent_of_equity, default_qty_value =20, initial_capital=500, commission_type=strategy.commission.percent, commission_value=0.08, pyramiding=5 )

// Parabolic SAR Parameters
start = input(0.02, title="Start Value")
increment = input(0.02, title="Increment Value")
maximum = input(0.2, title="Maximum Value")
long_win=input(0.1,title = "Preceding Increase for Long (%)")/100
short_win=input(2,title = "Preceding Decrease for Short (%)")/100
lose_pct=input (0.5, title="Stop Loss Percentage")
win_pct_long=input(0.2,title = "Take Profit for Long Positions")
win_pct_short=input(0.1,title = "Take Profit for Short Positions")
start1 = input(0.02, title="Start Value (1H)")
increment1 = input(0.02, title="Increment Value (1H)")
maximum1 = input(0.2, title="Maximum Value (1H)")

// Calculating Parabolic SAR
sarValue = ta.sar(start, increment, maximum)

// Generating Trading Signals
longSignal = ta.crossover(close, sarValue)
shortSignal = ta.crossunder(close, sarValue)

// Get Parabolic SAR value for 1-hour time frame
sarValue_1h = request.security(syminfo.tickerid, "5", ta.sar(start1, increment1, maximum1)[1])

// Generating Trading Signals
longSignal1 = close > sarValue_1h
shortSignal1 = close < sarValue_1h

if longSignal and (close - open)/open > long_win and longSignal1 
    strategy.entry("Long", strategy.long)
if shortSignal and (open - close)/open > short_win and shortSignal1 
    strategy.entry("Short", strategy.short)

if strategy.position_size > 0 and shortSignal and (close - strategy.position_avg_price)/strategy.position_avg_price > win_pct_long
    strategy.close_all("Take Profit")

if strategy.position_size < 0 and longSignal and (strategy.position_avg_price - close)/strategy.position_avg_price > win_pct_short
    strategy.close_all("Take Profit")

if strategy.position_size > 0 and (strategy.position_avg_price - close)/strategy.position_avg_price > lose_pct
    strategy.close_all("Stop Loss")

if strategy.position_size < 0 and (close - strategy.position_avg_price)/strategy.position_avg_price > lose_pct
    strategy.close_all("Stop Loss")


더 많은