동력 기반의 EMA 돌파 전략

저자:차오장, 날짜: 2024-02-05 14:51:12
태그:

基于动量突破EMA策略

개요

이 전략은 트렌드 추적 전략으로, 가격 동력의 변화를 감지하여 평균선을 돌파할 때 진입하는 것을 목표로 하는 경향 시장을 포착하는 것이다.

전략적 원칙

이 전략의 핵심 논리는 다음과 같습니다.

오늘 마감값이 어제 최고값보다 높고, 어제 최고값이 5일 EMA 평균선을 만지지 않은 경우, 구매를 개시합니다. 이것은 파업 신호이며, 주가가 상승하는 파업을 나타냅니다.

진입 후 100점으로 하락하는 전 K선 최저 가격으로 스톱 손실을 설정한다. 스톱 손실은 진입 가격으로 설정된 스톱 손실 비율을 곱하는 스톱 손실 비율 (부호 2) 로 설정된다. 가격이 계속 상승하면 스톱 손실 추적을 사용하여 더 많은 스톱 손실을 잠금 할 수 있다.

이 전략의 기본적인 거래 논리는 다음과 같습니다.

장점 분석

이 전략은 다음과 같은 몇 가지 장점을 가지고 있습니다:

  1. 주가 트렌드 시장을 포착하고, 수익 잠재력이 높습니다. 특히 주가가 가속화 상승 또는 하락 단계로 진입 할 때 지속적인 추격 / 추격에 적합합니다.

  2. EMA 필터파를 통해, 흔들림 속에서 빈번하게 포즈를 취하는 것을 피합니다.

  3. 파업 신호는 명확하고, 가짜 파업은 쉽게 발생하지 않습니다.

  4. 위험 통제가 이루어집니다. 손해를 막는 것은 손해를 통제하고 자금을 안전하게 보장합니다.

  5. 전략 논리는 간단하고 명확하며 이해하기 쉽고 최적화 할 수 있습니다.

위험 분석

이 전략에는 몇 가지 위험이 있습니다.

  1. 추락을 막는 전략, 시장 전환점을 놓칠 위험이 있습니다. 더 큰 수준의 트렌드 지표에 집중하고 전체 보유를 통제해야합니다.

  2. 돌파구를 이용해서 진입할 경우, 가짜 돌파구가 발생할 수 있는 위험이 있다. 이는 돌파구를 확인하기 위해 교통 분석과 결합되어야 한다.

  3. 손익분기 지점 설정이 잘못되면 손익분기 지점이 너무 넓거나 너무 딱딱해질 수 있다. 이는 시장의 변동성과 개인의 위험 선호도에 따라 조정되어야 한다.

  4. 너무 큰 스톱?? 을 설정하면 가격 하락으로 인해 모두 얻을 수 없습니다. 이것은 수익을 잠금하기 위해 적절한 이동 스톱?? 을 사용해야합니다.

최적화 방향

이 전략은 다음과 같은 몇 가지 측면에서 더욱 최적화 될 수 있습니다:

  1. 오프티마이징 파라미터, 예를 들어 MA 사이클, 스톱 손실 크기 등의 설정은 다른 주식과 시장 환경에 더 적합하도록 합니다. 단계적 최적화와 유전 알고리즘을 사용하여 파라미터 조합을 테스트 할 수 있습니다.

  2. 거래량 증가를 검증한다. 거래량이 파업 신호의 유효성을 검증한다. 거래량 파업 신호를 필터로 설정할 수 있다.

  3. 큰 차원의 추세에 대한 판단을 증가시킨다. 큰 추세가 일치할 때만 역행하는 것을 보장한다. 예를 들어 하락 시장에서 허공 전략만을 한다.

  4. 동적 추적 스톱 손실을 설정하십시오. 가격이 목표에 도달 한 후, 이동 스톱 손실 라인은 고정 스톱 손실점을 설정하지 않고 수익을 잠금합니다. 이것은 트렌드 수익을 최대로 잠금 할 수 있습니다.

  5. 기계 학습 알고리즘을 추가하여 신경 네트워크 또는 무작위 숲을 사용하여 구매 또는 판매 신호를 판단하는 것이 전략의 안정성과 승률을 크게 향상시킬 수 있습니다.

요약

이 전략은 가격 동력 변화의 검출을 통해, EMA 필터링과 스톱 손실 방법과 결합하여, 주식 가격 트렌드 시장을 포착하는 것을 실현한다. 이러한 간단한 돌파구 체계에는 특정 장점과 개선의 여지가 있다. 우리는 매개 변수 최적화, 보조 지표, 스톱 손실 방법 조정 등의 방법을 통해 전략을 강화할 수 있다. 이것은 복잡한 다변화 주식 시장에 대응하는 데 더 견고하고 효율적인 전략을 만들 것이다.


/*backtest
start: 2023-01-29 00:00:00
end: 2024-02-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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

len = input.int(9, minval=1, title="Length")
src = input(close, title="Source")
offset = input.int(0, title="Offset", minval=-500, maxval=500)

ema5 = ta.ema(src, len)

// Condition for Buy Entry
buy_condition = close > high[1] and high[1] < ema5

// Set Target and Stop Loss
risk_reward_ratio = input(2.0, title="Risk-Reward Ratio")
target_price = close + (high[1] - low[1]) * risk_reward_ratio
stop_loss_price = low[1] - 100

// Execute Buy Order
if (buy_condition)
    strategy.entry("Buy", strategy.long)

// Exit conditions
if (strategy.position_size > 0)
    strategy.exit("Take Profit/Stop Loss", from_entry="Buy", profit=target_price, loss=stop_loss_price)

// Plotting
plot(ema5, title="EMA", color=color.blue, offset=offset)
plotshape(series=buy_condition, title="Buy Entry Signal", color=color.green, style=shape.triangleup, size=size.small, location=location.belowbar)


더 많은 내용