이동 평균 차이 제로 크로스 전략

저자:차오장, 날짜: 2024-01-26 15:45:03
태그:

img

전반적인 설명

이 전략은 매수 신호를 결정하기 위해 이동 평균 차이 방법을 제로 축 크로스오버와 결합하여 사용합니다. 기본 아이디어는 가격이 위에서 이동 평균 라인에 접근하면 하향 신호로 간주되며 가격이 아래에서 이동 평균 라인에 접근하면 상승 신호로 간주된다는 것입니다.

전략 원칙

  1. 8주기 기하급수적인 이동 평균 EMA와 지난 8일 동안 가장 낮은 이동 평균을 계산합니다.
  2. 가격과 현재 이동평균의 차이점을 계산하십시오.
  3. 디프가 0보다 작을 때, 그것은 하향 신호입니다. 디프가 0을 넘으면, 그것은 하향 신호입니다.
  4. 거래 신호를 생성하기 위해 지난 주 동안 최대 하락을 비교하기 위해 디프의 수치 값을 결합하십시오.

이점 분석

  1. 이중 이동 평균 시스템을 사용하면 잘못된 돌파구를 효과적으로 필터링 할 수 있습니다.
  2. 최저 가격 이론을 적용하여 바닥 신호를 발견
  3. 과도한 판매와 과도한 구매 조건을 판단하기 위한 수치 비교, 최고치를 추격하고 최저치를 죽이는 것을 피합니다.

위험 분석

  1. 이중 이동 평균 전략은 윙사 효과에 취약합니다.
  2. 과도한 거래 빈도의 문제에 관심을 기울여야 합니다.
  3. 이동평균 매개 변수를 합리적으로 설정하는 것이 중요합니다.

최적화 방향

  1. 다른 주기에 적응하기 위해 이동 평균 기간 매개 변수를 조정
  2. 가짜 돌파 신호를 필터하기 위해 볼륨 표시기를 높여
  3. 과도한 판매와 과도한 구매 상황을 피하기 위해 스토카스틱 지표를 결합하십시오.

요약

이 전략은 이동 평균 차이 방법과 제로 축 크로스오버 시스템을 통합하여 구매 및 판매 포인트 검출의 정확성을 향상시킵니다. 그러나 매개 변수 설정을 더 이상 최적화하고 신호를 필터하기 위해 다른 지표와 결합하는 것이 여전히 필요합니다. 일반적으로이 간단한 지표 전략은 상당한 효과를 가지고 있으며 라이브 거래의 기본 전략으로 사용될 수 있습니다.


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

//@version=4
strategy(title = "Estratégia diferença menor preço de 8")

// Configuração da Média Móvel
emaPeriod = 8

ema= ema(close, emaPeriod)
ema1= ema(close[1], emaPeriod)
lowestEMA = lowest(ema, 8)

// Calcula a diferença entre o preço e a média móvel
diff = close - ema
diff1 = close[1] - ema1
diffLow = ema - lowestEMA

//Condições
diffZero = diff < 0
diffUnder = diff < diffLow
diffUm = diff > 0
Low0 = diffLow == 0




// Sinais de entrada
buy_signal = diffUnder and crossover(diff, diff1) 
sell_signal = diffUm and diffUnder and crossunder(diff, diff1)

// Executa as operações de compra/venda
if buy_signal
    strategy.entry("Buy", strategy.long)
if sell_signal
    strategy.exit("Buy")

// Plota as linhas
plot(0, title="Linha Zero", color=color.gray)
plot(diff, title="Diferença", color=color.blue, linewidth=2)

plot(diffLow, title="Diferença", color=color.red, linewidth=2)


더 많은