이중 기하급수적 이동 평균 양상 거래 전략

저자:차오장, 날짜: 2024-02-02 11:41:34
태그:

img

전반적인 설명

이 전략은 5일 지수적 이동 평균 (EMA) 과 20일 단순한 이동 평균 (SMA) 사이의 크로스오버를 계산하여 거래 신호를 생성합니다. 5일 EMA가 20일 SMA를 넘어서면 길어지고 가격 변화가 5% 또는 -5%에 도달하면 포지션을 닫습니다. 또한 트레이딩 인덱스 인덱스 (TII) 를 보조 지표로 통합합니다.

전략 원칙

이중 지수 이동 평균은 널리 사용되는 기술적 지표입니다. 5 일간의 EMA는 최근의 가격 추세를 나타내고 20 일간의 SMA는 중장기 가격 움직임을 나타냅니다. 단기 MA가 장기 MA보다 높을 때, 상향 브레이크와 상승 가격 추세를 나타냅니다. 반대로, 하향 크로스오버는 잠재적 인 가격 반전을 의미하며 입장을 종료하는 것을 고려해야합니다.

이 전략은 5일 EMA와 20일 SMA를 거래 신호로 설정합니다. 5일 EMA가 20일 SMA를 넘어서면 길게 이동하고 가격 변화가 5% 또는 -5%에 도달하면 위치를 닫습니다. 또한 TII가 긍정적 인지 상승하는지 확인하여 신호 신뢰성을 확인합니다.

세부적인 단계는 다음과 같습니다.

  1. 5일 EMA, 20일 SMA 및 TII를 계산합니다
  2. TII가 긍정적이고 상승하는 동안 5일 EMA가 20일 SMA를 넘을 때 구매 신호를 생성합니다.
  3. 긴 위치 입력
  4. 가격 변동이 5% 또는 -5%에 달할 때 포지션을 닫습니다.

장점

이 전략은 두 MA 사이의 황금 크로스오버를 활용하고 다음과 같은 장점을 가지고 있습니다.

  1. 명확하고 간단한 거래 신호, 실행하기 쉽습니다.
  2. MAs는 주류 및 일반적인 기술 지표이며, 황금 십자 신호는 고전적이고 신뢰할 수 있습니다.
  3. TII를 포함하면 불확실한 신호를 필터링하고 승률을 향상시킬 수 있습니다.
  4. 미리 정의된 스톱 로스/프로프트 취득 표준은 거래 리스크별로 효과적으로 제어합니다.

일반적으로, 이 전략은 간단한 규칙을 가지고 있으며, MA 크로스오버와 같은 성숙한 기술적 지표를 활용하고 있으며, 비교적 포괄적인 위험 통제 측정을 가지고 있습니다.

위험성

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

  1. MA 교차 신호가 늦어질 수 있습니다.
  2. TII 지표는 범주형 시장에서 좋은 성과를 거두지 못합니다.
  3. 고정된 스톱 로스/프로프트 취득 기준은 임의적일 수 있습니다.

개선 방안은 다음과 같습니다.

  1. MA 매개 변수를 최적화해서 지연을 줄여
  2. 신호 신뢰성을 높이기 위해 다른 보조 지표를 추가합니다.
  3. 동적 스톱 로스/프로프트 취업 기준을 설정합니다.

따라서 더 많은 최적화를 할 수 있습니다.

최적화 방향

이 전략은 다음과 같은 측면에서 개선될 수 있습니다.

  1. 최적의 쌍을 찾기 위해 EMA와 SMA의 짧은/길린 조합을 테스트하여 MA 매개 변수를 최적화합니다.

  2. MACD, KDJ 같은 다른 지표를 추가하여 잘못된 신호를 필터합니다.

  3. 기계 학습 알고리즘을 사용하여 역사 데이터 모델링과 통계를 통해 더 나은 매개 변수를 찾습니다.

  4. 시장 변동성과 기기 특성에 기초한 동적 스톱 로스/프로프트 취득을 설정하여 리스크를 더 잘 제어합니다.

  5. 이 전략을 외환, 암호화폐와 같은 다른 제품으로 확장하세요.

위와 같은 개선으로 이 전략의 안정성과 수익성이 크게 향상될 수 있습니다.

결론

결론적으로, 이것은 이해하기 쉽고 이중 MA 크로스오버 전략입니다. MA 신호를 활용하고 오류를 필터하기 위해 TII를 사용합니다. 스톱 로스/프로피트를 취함으로써 위험을 제어합니다. 이 전략은 초보자도 배울 수 있으며 최적화 할 수있는 넓은 공간이 있습니다. 매개 변수 조정, 신호 필터링 및 동적 스톱 로스에서의 추가 개선은 실용적이고 강력한 거래 전략으로 전환 할 수 있습니다.


/*backtest
start: 2024-01-02 00:00:00
end: 2024-02-01 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA-SMA Crossover Strategy", shorttitle="EMA-SMA Cross", overlay=true)

// Define the moving averages
ema5 = ta.ema(close, 5)
sma20 = ta.sma(close, 20)
smaVolume10 = ta.sma(volume, 50)

majorLength = input(60, title="Major Length")
minorLength = input(30, title="Minor Length")
src = input(close, title="Source")

smaValue = ta.sma(src, majorLength)

positiveSum = 0.0
negativeSum = 0.0

for i = 0 to minorLength - 1
    price = na(src[i]) ? 0 : src[i]
    avg = na(smaValue[i]) ? 0 : smaValue[i]
    positiveSum := positiveSum + (price > avg ? price - avg : 0)
    negativeSum := negativeSum + (price > avg ? 0 : avg - price)

tii = 100 * positiveSum / (positiveSum + negativeSum)

// Buy condition: 5 EMA crosses above 20 SMA
buyCondition = ta.crossover(ema5, sma20) and tii > 0 and tii >= tii[1]

//and volume > smaVolume10 //

// Track entry price
var entryPrice = 0.0
if (buyCondition)
    entryPrice := close

// Calculate percentage change from entry price
priceChange = close / entryPrice - 1

// Plotting the moving averages on the chart
plot(ema5, color=color.blue, title="5 EMA")
plot(sma20, color=color.red, title="20 SMA")

// Highlighting buy signals and exit signals on the chart
// plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, size=size.small, style=shape.labelup, text="Buy")

// Strategy entry and exit
if (buyCondition)
    strategy.entry("Buy", strategy.long)

// Exit conditions
if (strategy.opentrades > 0)
    if (priceChange >= 0.05 or priceChange <= -0.05)
        strategy.close("Buy")


더 많은