ADX, MA, EMA를 기반으로 한 롱온리 트렌드 팔로잉 전략


생성 날짜: 2024-01-29 11:30:15 마지막으로 수정됨: 2024-01-29 11:30:15
복사: 1 클릭수: 682
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

ADX, MA, EMA를 기반으로 한 롱온리 트렌드 팔로잉 전략

개요

이 전략은 주로 ADX 지표를 사용하여 트렌드를 판단하고 MA와 EMA의 두 가지 다른 파라미터 설정과 결합한 이동 평균을 구축하는 경향 추적 전략입니다. ADX가 상승할 때 여러 방향으로 지시하고, 가격이 상위 MA와 EMA를 돌파 할 때 더 많은 위치를 차지합니다. ADX가 떨어지거나 가격이 MA 또는 EMA 중 하나를 넘어서면 평소합니다.

전략 원칙

이 전략은 주로 ADX를 사용하여 시장의 추세와 강도를 판단한다. ADX는 가격 변화의 정도와 방향의 정도를 계산하여 트렌드의 존재와 강도를 판단한다. ADX가 상승하면 현재 상승 추세에 있음을 나타냅니다. ADX가 하락하면 추세가 약화되고 있음을 나타냅니다.

이 전략은 동시에 두 가지 다른 변수 설정의 이동 평균 MA와 EMA를 사용하여 보조 판단을 수행합니다. 그들은 가격의 무작위성을 효과적으로 제거하여 가격의 주요 트렌드 방향을 보여줍니다. 가격이 상승하면 MA와 EMA를 뚫을 때, 다중 신호로; 가격이 하락하면 평소 신호로.

ADX와 이동 평균의 특징을 결합하여, 이 전략은 트렌드 방향을 판단하는 거래 신호를 구성한다: ADX가 상승하고 가격이 상위 MA와 EMA를 돌파할 때 더 많은 포지션을 열고, ADX가 떨어지거나 가격이 MA/EMA 평점을 돌파할 때 더 많은 트렌드 추적 전략을 구현한다.

전략적 강점 분석

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

  1. ADX를 사용하여 트렌드 강도를 판단하여 무효 거래의 발생을 줄이고 트렌드를 추적합니다.
  2. 두 개의 다른 변수 설정을 결합한 이동 평균을 필터링하여 트렌드를 효과적으로 식별합니다.
  3. 29797 반복적인 역 동작으로 인한 점유지 손실을 방지하기 위해 더 많은 작업을 수행하십시오.
  4. 입국 조건이 엄격하고, 위험도 잘 통제됩니다.
  5. 이 기획은 트렌드 추적을 위한 전략으로, 더 많은 작업을 수행합니다.

전략적 위험 분석

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

  1. ADX 지표가 지연되어 가장 좋은 시점을 놓칠 수 있습니다.
  2. “이런 일이 벌어질 때, 우리는 더 많은 일을 해야만 하고, 더 낮은 가격으로 이익을 얻을 수 없습니다.
  3. 동향이 바뀌면 손실의 위험이 있습니다.
  4. 잘못된 변수 설정은 정책의 성능에도 영향을 미칩니다.

대응방법:

  1. ADX의 매개 변수를 적절하게 조정하여 지연을 줄여줍니다.
  2. 단편적 손실을 통제하기 위해 손해 차단 전략을 설정할 수 있습니다.
  3. 매개 변수를 테스트 최적화하여 최적의 매개 변수를 선택한다.

전략 최적화 방향

이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.

  1. 더 많은 손실을 막고 더 나은 위험을 통제하는 전략;
  2. 포지션 관리를 강화하고 시장 상황에 따라 포지션을 동적으로 조정합니다.
  3. 최적화 매개 변수를 테스트하여 최적의 매개 변수 조합을 찾습니다.
  4. 기계 학습 알고리즘과 동적 최적화 파라미터를 추가합니다.
  5. 마틴걸을 다중 전략으로 구성하여 수익률의 영향을 줄입니다.

요약하다

이 전략은 전체적으로 ADX를 사용하여 트렌드 강도를 판단하고, 두 개의 이동 평균으로 필터링 신호를 구축하는 보조적인 단행 다중 트렌드 추적 전략이다. 그것은 비효율 거래의 발생을 효과적으로 제어하고, 추세 추적의 효과를 실현하며, 비교적 안정적인 단행 다중 전략이다. 약간의 최적화 조정으로 전략의 안정성과 수익률을 더욱 향상시킬 수 있다.

전략 소스 코드
/*backtest
start: 2023-01-22 00:00:00
end: 2024-01-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("ADX, MA, and EMA Long Strategy - ADX Trending Up", shorttitle="ADX_MA_EMA_Long_UpTrend", overlay=true)
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
maPeriod = input(50, title="MA Period")
emaPeriod = input(50, title="EMA Period")
dirmov(len) =>
    up = change(high)
    down = -change(low)
    plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
    minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
    truerange = rma(tr, len)
    plus = fixnan(100 * rma(plusDM, len) / truerange)
    minus = fixnan(100 * rma(minusDM, len) / truerange)
    [plus, minus]
adx(dilen, adxlen) =>
    [plus, minus] = dirmov(dilen)
    sum = plus + minus
    100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)
maValue = sma(close, maPeriod)
emaValue = ema(close, emaPeriod)
longCondition = sig > sig[1] and close > maValue and close > emaValue
if (longCondition)
    strategy.entry("Long", strategy.long)
exitCondition = sig < sig[1] or  close < maValue or close < emaValue
if (exitCondition)
    strategy.close("Long")
plot(maValue, color=color.blue, title="MA")
plot(emaValue, color=color.orange, title="EMA")
plot(sig, color=color.red, title="ADX")