이중 기하급수적 이동 평균 및 ALMA 전략

저자:차오장, 날짜: 2023-12-22 12:44:55
태그:

img

전반적인 설명

이 전략은 트렌드 다음과 진입을 달성하기 위해 이중 지수 이동 평균과 ALMA 지표를 결합합니다. ALMA 라인은 주요 트렌드 필터로 작용하며, 가격이 ALMA 라인 위에있을 때 길고 가격이 ALMA 라인 아래에있을 때 짧습니다. 이중 EMA는 적절한 진입을 위해 초기 트렌드 신호를 제공하기 위해 사용됩니다.

전략 논리

  1. 이중 지수 이동 평균의 빠른 EMA1와 느린 EMA2를 계산합니다.
  2. ALMA 선을 계산해
  3. EMA1과 EMA2가 황금색 교차선을 형성하면 가격이 ALMA 라인을 넘으면 장거리; EMA1와 EMA2가 죽은색 교차선을 형성하면 가격이 ALMA 라인을 넘으면 단축한다.
  4. 그래서 ALMA 라인은 시장의 변화와 함께 주 필터 역할을 합니다. 그리고 이중 EMA는 적시에 진입을 위한 초기 트렌드 신호를 제공합니다.

이점 분석

  1. 이중 EMA는 가격 트렌드를 미리 반영할 수 있고, 범위 영역에 진입하는 것을 피할 수 있습니다.
  2. ALMA 라인은 동적으로 트렌드를 캡처 할 수 있습니다. 적응적인 부드러움으로, 이것은 훌륭한 트렌드 필터링 지표입니다.
  3. 이 조합은 트렌드의 시기적절성과 진입의 신뢰성을 모두 고려합니다.

위험 분석

  1. 이중 EMA는 치열한 가격 변동 시 잘못된 신호를 줄 수 있습니다.
  2. ALMA 라인은 가격이 뒤떨어지는 문제로 인해 일부 추세가 필터링됩니다.
  3. 부적절한 매개 변수 설정도 전략 성능이 떨어질 수 있습니다.

해결책:

  1. 잘못된 신호를 줄이기 위해 이중 EMA 기간을 적절히 조정합니다.
  2. ALMA 라인의 매개 변수를 조정해
  3. 가장 좋은 매개 변수 조합을 찾기 위해 매개 변수 최적화를 수행합니다.

최적화 방향

  1. 최적의 매개 변수를 찾기 위해 다른 기간 조합으로 이중 EMA를 테스트합니다.
  2. 파라미터 최적화를 위해 다른 창 크기, 오프셋 및 시그마 값으로 ALMA 라인을 테스트하십시오.
  3. 더 많은 신호 필터링을 위해 변동성 지수와 같은 다른 지표를 포함합니다.
  4. 단일 거래 손실을 통제하기 위해 스톱 로스 전략을 최적화하십시오.

결론

이 전략은 적절한 트렌드 추적 및 신뢰할 수있는 엔트리 필터링을 달성하기 위해 이중 EMA 및 ALMA 지표를 결합합니다. 매개 변수 최적화 및 스톱 로스 전략을 개선함으로써 잘못된 신호를 추가로 줄이고 위험을 제어하고 전략 성능을 향상시킬 수 있습니다. 특히 트렌딩 시장 및 중장기 거래에 적합합니다.


/*backtest
start: 2022-12-15 00:00:00
end: 2023-12-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//Author: HighProfit

//Lead-In
strategy("Double Exponential Moving Avarage & Arnoud Legoux Moving Avarage Strategy", shorttitle="ST-DEMA+ALMA", overlay=true)

//Arnoud Legoux Moving Avarage Inputs
source = close
windowsize = input(title="Window Size", defval=50)
offset = input(title="Offset", type=float, defval=0.85)
sigma = input(title="Sigma", type=float, defval=6)

//Exponential Moving Avarage Inputs
L1= input(5,"EMA-1")
L2= input(10,"EMA-2")

//Exponential Moving Avarage Calculations
e1= ema(close, L1)
e2= ema(close, L2)

//Conditions
longCondition = e1 and e2 > alma(source, windowsize, offset, sigma)
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = e1 and e2 < alma(source, windowsize, offset, sigma)
if (shortCondition)
    strategy.entry("Short", strategy.short)

//Plots   
plot(alma(source, windowsize, offset, sigma), color=lime, linewidth=1, title="ALMA")
plot(e1, color=orange, linewidth=1, title="EMA-1")
plot(e2, color=blue, linewidth=1, title="EMA-2")

더 많은