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

슈퍼 이동 평균 및 상단 크로스 오버 전략

저자:차오장, 날짜: 2024-05-17 13:50:50
태그:EMASMA

img

전반적인 설명

슈퍼 이동 평균 및 상단 크로스오버 전략 (Super Moving Average and Upperband Crossover Strategy) 은 기술 지표에 기반한 양적 거래 전략이다. 전략은 시장의 상승 추세를 파악하기 위해 기하급수 이동 평균 (EMA) 및 상단 지표를 활용한다. 종료 가격이 상단 지대를 넘어서 특정 조건을 충족하면 전략은 구매 신호를 생성한다. 종료 가격이 3일 EMA 이하로 떨어지면 전략은 판매 신호를 생성한다. 이 전략은 비트코인과 같은 높은 거래량과 명확한 추세를 가진 시장에 적합하다.

전략 원칙

이 전략의 핵심은 시장 추세와 구매 및 판매 시기를 결정하기 위해 EMA 및 상부 대역 기술 지표를 사용하는 것입니다. 먼저 전략은 가격 변동성을 고려한 상부 대역 지표를 계산합니다. 평균 가격에서 가격 오차가 크면 상부 대역의 가치가 그에 따라 증가합니다. 그 다음 전략은 폐쇄 가격이 상부 대역의 이동 평균을 뚫고 다른 구매 조건을 충족하는지 여부를 결정합니다. 그렇다면 구매 신호를 생성합니다. 포지션을 보유 한 후, 종료 가격이 3 일간의 EMA 이하로 떨어지면 전략은 판매 신호를 생성합니다.

전략적 장점

  1. 강력한 트렌드를 가진 시장에 적합합니다: 이 전략은 상승 추세에서 잘 수행되며 특히 비트코인과 같은 높은 변동성과 명확한 트렌드를 가진 도구에 적합합니다.

  2. 가격과 변동성을 결합합니다. 상부 대역 지표는 가격 수준과 가격 변동성을 포괄적으로 고려하고 시장 상황을 더 완벽하게 반영 할 수 있습니다.

  3. 간단하고 사용하기 쉬운 전략 논리는 명확하고 사용 된 지표는 간단하고 이해하기 쉽고 구현 할 수 있습니다.

  4. 단기 거래에 적합: 전략은 자주 구매 및 판매 신호를 생성하여 단기 거래에 적합합니다.

전략 위험

  1. 변동성 시장 위험: 매우 변동적이고 트렌드 없는 변동성 시장에서 전략은 종종 거래될 수 있으며, 이로 인해 큰 미끄러짐과 거래 비용이 발생할 수 있습니다.

  2. 지표 매개 변수 위험: 전략은 지표 매개 변수에 민감하며, 잘못된 매개 변수 설정은 전략 성능이 떨어질 수 있습니다.

  3. 과도한 적합성 위험: 전략은 특정 시장에서 잘 수행되지만 시장 조건의 변화에 적응하지 못할 수 있으므로 과도한 적합성 위험이 발생합니다.

전략 최적화 방향

  1. 트렌드 확인 지표를 도입: 오스실레이션 시장에서 잘못된 신호를 필터링하기 위해 MACD와 같은 트렌드 확인 지표를 도입 할 수 있습니다.

  2. 매개 변수 선택 최적화: 유전 알고리즘과 같은 최적화 방법을 통해 최적의 지표 매개 변수 조합을 찾을 수 있습니다.

  3. 리스크 제어 모듈을 추가합니다. 전략 리스크를 줄이기 위해 스톱 로스 및 동적 위치 관리와 같은 리스크 제어 조치를 도입할 수 있습니다.

  4. 다종류 적응: 기계 학습 및 다른 방법을 사용하여 전략을 다른 품종과 시장 환경에 적응 할 수 있습니다.

요약

슈퍼 이동 평균 및 상부 대역 크로스오버 전략 (Super Moving Average and Upperband Crossover Strategy) 은 강력한 트렌드를 가진 시장에 적합한 간단하고 실용적인 양적 거래 전략이다. 이 전략은 상승 추세를 파악하기 위해 EMA와 상부 대역 지표를 사용하고 있으며, 그 논리는 명확하고 구현하기 쉽습니다. 그러나 이 전략에는 오스실레이션 시장 위험, 매개 변수 위험, 과잉 위험과 같은 특정 위험도 있습니다. 미래에 전략의 견고성과 적응력을 향상시키기 위해 트렌드 확인, 매개 변수 최적화, 위험 통제 및 다품종 적응 측면에서 최적화 될 수 있습니다.


/*backtest
start: 2023-05-11 00:00:00
end: 2024-05-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estratégia de Cruzamento de Bandas", overlay=true)

// Entradas
factor = input(0.001, title="Factor")
length = input(20, title="Length")

// Cálculo da Upperband
Upperband = high * (1 + 2 * ((((high - low) / ((high + low) / 2)) * 1000) * factor))

// Condição de Compra
buy_condition = close > ta.ema(close, 3)

// Variável para controlar se a compra foi feita
var bought = false

// Sinal de compra
buy_signal = (close[1] <= ta.sma(Upperband, length)[1]) and (close > ta.sma(Upperband, length)) and buy_condition

// Sinal de venda
sell_signal = close < ta.ema(close, 3) and bought

// Atualizar o status de compra
if buy_signal
    bought := true
    strategy.entry("Compra", strategy.long)
else if sell_signal
    bought := false
    strategy.close("Compra")

// Plotagem dos sinais de compra e venda no gráfico
plotshape(series=buy_signal, title="Compra", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=sell_signal, title="Venda", color=color.red, style=shape.triangledown, location=location.abovebar)

관련

더 많은