이동 평균을 기반으로 한 브레이크아웃 트레이딩 전략


생성 날짜: 2024-03-08 15:33:24 마지막으로 수정됨: 2024-03-08 15:33:24
복사: 0 클릭수: 651
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

이동 평균을 기반으로 한 브레이크아웃 트레이딩 전략

개요

이 전략은 이동 평균을 기반으로 한 브레이크 트레이딩 전략이다. 전략의 주요 아이디어는 현재의 종결 가격과 특정 주기 이동 평균을 비교하여 시장의 추세를 판단하고 이동 평균을 깨면 거래하는 것이다. 이 전략의 위험 보상 비율은 1:3로, 즉, 중지 위치는 1%이며, 중지 위치는 3%이다.

전략 원칙

이 전략의 핵심은 이동 평균이다. 이동 평균은 일정 기간 동안의 종결 가격 평균값을 연결하는 곡선이며, 가격의 단기 변동을 부드럽게 하여 주식 가격의 중장기 추세를 반영한다. 주가가 이동 평균을 돌파하면 시장 추세가 바뀔 수 있다는 것을 의미한다.

이 전략의 구체적인 내용은 다음과 같습니다.

  1. 일정 주기 (기본 20) 의 이동 평균을 계산한다.
  2. 현재 종전 가격이 이동 평균을 상회하거나 상회하는지 판단한다.
    • 이동 평균을 상회하면 더 많은 포지션을 열고, 중지 포지션은 포지션 개시 가격의 1%이며, 중지 포지션은 포지션 개시 가격의 3%이다.
    • 만약 아래의 이동 평균을 넘으면, 포지션을 공백으로 개시하고, 스톱로스는 개시 가격의 1%이고, 스톱 포지션은 개시 가격의 3%이다.
  3. 포지션이 열렸다면, 스톱로스 또는 스톱 가격에 도달했는지 판단하기 위해:
    • 만약 다수점 포지션이 스톱로스 또는 스톱 가격에 도달하면, 평점 포지션이다.
    • 공백점 포지션이 스톱로스 또는 스톱 가격에 도달하면 평점이다.
  4. 주식 가격과 평균선의 관계를 관찰하기 위해 이동 평균을 도표에 그리십시오.

우위 분석

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

  1. 간단하고 사용하기 쉽다: 이 전략은 이동 평균만을 사용하며, 논리적으로 명확하고 이해하기 쉽고 구현하기 쉽다.
  2. 트렌드 추적: 이동 평균은 주식 가격의 중장기적 추세를 반영할 수 있으며, 이동 평균을 뚫고 포지션을 개설하면 시장의 주요 추세를 추적할 수 있다.
  3. 고정된 위험 보상: 이 전략의 중지 및 중지 위치가 고정되어 있으며, 위험 보상 비율은 1:3로, 거래 당 위험을 엄격하게 제어할 수 있다.
  4. 적용 범위: 이 전략은 주식, 선물, 외환 등과 같은 다양한 시장과 품종에 적용될 수 있다.

위험 분석

이 전략은 장점이 있지만 위험도 있습니다.

  1. 매개 변수 최적화: 이 전략의 핵심 매개 변수는 이동 평균의 주기이며, 다른 주기에는 다른 결과가 발생할 수 있다. 매개 변수가 적절하지 않으면 전략이 실패할 수 있다.
  2. 시장 위험: 이 전략은 추세 시장에서 더 잘 작동하지만, 불안정한 시장에서는 더 많은 가짜 신호가 발생할 수 있으며, 이는 자주 거래되고 자금 손실을 초래합니다.
  3. 슬라이포인트 및 거래 비용: 이 전략은 거래 신호를 더 많이 생성할 수 있으며, 자주 거래하면 슬라이포인트와 거래 비용이 증가하여 전략의 전반적인 성과에 영향을 미칩니다.

이러한 위험을 줄이기 위해 다음과 같은 개선 방안을 고려할 수 있습니다.

  1. 매개 변수를 최적화하여 현재 시장에 가장 적합한 매개 변수 조합을 찾습니다.
  2. 거래량, 변동률 등과 같은 다른 필터 조건이 추가되어 가짜 신호를 줄일 수 있습니다.
  3. 거래 빈도를 조절하여 신호 필터링을 추가하여 너무 빈번한 거래를 피하십시오.

최적화 방향

  1. 다중 시간 주기 결합: 짧은, 중기 및 긴 평균선과 같은 다른 시간 주기 결합된 이동 평균을 고려하여 거래 신호를 생성합니다. 이것은 시장의 추세를 더 포괄적으로 판단하여 신호의 신뢰성을 향상시킵니다.
  2. 다이내믹 스톱 로드 스톱: 현재 전략의 스톱 로드 위치가 고정되어 있으며, 시장의 변동 상황에 따라 스톱 로드 위치를 동적으로 조정하는 것을 고려할 수 있습니다. 예를 들어 ATR ((Average True Range) 와 같은 지표를 사용하여 다이내믹 스톱 로드 스톱 로드 가격을 계산하십시오. 이렇게하면 시장 변화에 더 잘 적응하고 전략의 유연성을 향상시킬 수 있습니다.
  3. 다른 기술 지표를 추가: 이동 평균 외에도 MACD, RSI 등과 같은 다른 기술 지표를 추가하여 거래 신호를 확인하고 신호의 신뢰성을 높일 수 있습니다.
  4. 시장 환경 적응: 트렌드 시장, 변동 시장 등과 같은 다른 시장 환경에 따라 전략의 매개 변수 또는 규칙을 조정하여 다양한 시장 특성에 적응하여 전략의 적응성과 안정성을 향상시킬 수 있습니다.
  5. 포지션 관리: 현재 전략 매 거래의 포지션은 고정되어 있습니다. 시장의 변동성, 계정 자금 등의 요인에 따라 거래의 포지션 크기를 동적으로 조정하여 위험을 더 잘 제어하고 자금 사용 효율을 높일 수 있습니다.

이러한 최적화 조치는 전략의 신뢰성, 적응성 및 안정성을 향상시키고, 시장 변화에 더 잘 적응하고, 전략의 전반적인 성능을 향상시킬 수 있습니다.

요약하다

이 전략은 간단하고 사용하기 쉬운 트렌드 추적 전략으로, 종전 가격과 이동 평균의 관계를 비교하여 가격이 평균선을 돌파할 때 거래 신호를 발생시킨다. 이 전략의 장점은 논리적으로 명확하고, 적용이 넓으며, 시장의 주요 추세를 추적할 수 있다는 것이다. 그러나 동시에 파라미터 선택, 시장 위험, 거래 비용 등과 같은 위험이 있다. 전략을 개선하기 위해, 다중 시기를 결합, 동적 손실 중지, 다른 기술 지표, 시장 환경 적응, 위치 관리 등의 최적화 조치를 고려할 수 있다.

일반적으로 이 전략은 기초적인 거래 전략으로서 초보자 학습 및 사용에 적합하다. 그러나 실제 적용에서는 특정 시장 상황과 자신의 위험 선호에 따라 전략의 안정성과 수익성을 높이기 위해 전략에 적절한 최적화 및 개선이 필요합니다. 그러나 모든 전략에는 한계가 있으며 맹목적으로 의존할 수 없으며 기본 분석, 위험 관리 등과 같은 다른 방법과 도구와 결합하여 시장 기회를 더 포괄적으로 파악하고 거래 위험을 제어해야합니다.

전략 소스 코드
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Nifty Breakout Strategy", overlay=true)

// Define Inputs
breakoutPeriod = input(20, title="Breakout Period")
stopLossPercent = input(1, title="Stop Loss (%)") / 100
takeProfitPercent = input(3, title="Take Profit (%)") / 100

// Calculate Moving Average
smaValue = sma(close, breakoutPeriod)

// Define Breakout Conditions
longCondition = crossover(close, smaValue)
shortCondition = crossunder(close, smaValue)

// Set Stop Loss and Take Profit Levels
longStopLoss = close * (1 - stopLossPercent)
longTakeProfit = close * (3 + takeProfitPercent)
shortStopLoss = close * (1 + stopLossPercent)
shortTakeProfit = close * (3 - takeProfitPercent)

// Execute Long Trade
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("LongExit", "Long", stop=longStopLoss, limit=longTakeProfit)

// Execute Short Trade
if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("ShortExit", "Short", stop=shortStopLoss, limit=shortTakeProfit)

// Plot Moving Average for Visualization
plot(smaValue, color=color.blue)