멀티 타임프레임 이동 평균 전략

저자:차오장, 날짜: 2023-12-13 15:34:09
태그:

img

전반적인 설명

이 전략은 이동 평균과 기하급수적인 이동 평균을 다른 시간 프레임의 거래 신호로 사용하여 상승을 추격하고 하락을 제거합니다. 단기 이동 평균의 위치와 트렌드에 따라 시장 추세와 전환점을 판단하고 장기 이동 평균에 따라 주요 추세를 결정합니다. 전략은 간단한 이동 평균 (SMA) 과 기하급수적 이동 평균 (EMA) 을 기술 지표로 결합하여 시장 소음을 효과적으로 필터하고 가격 추세를 결정합니다.

전략 논리

이 전략은 5일, 13일, 21일 SMA와 75일, 90일, 200일 EMA를 거래 신호로 사용합니다. 구체적인 논리는 다음과 같습니다.

단기 SMA (5일, 13일, 21일) 가 순서대로 배치되면 (위쪽에는 5일, 다음에는 13일, 아래쪽에는 21일) 모든 단기 SMA가 장기 EMA (75일, 90일, 200일) 보다 높을 때, 장거리로 이동합니다.

단기 SMA (5일, 13일, 21일) 가 순서대로 배치되면 (하단에서 5일, 다음 13일, 상단에서 21일) 모든 단기 SMA가 장기 EMA (75일, 90일, 200일) 보다 낮을 때, 단기를 가집니다.

서로 다른 주기의 SMA와 EMA를 결합함으로써, 트렌드를 따르는 전략을 구현하기 위해 단기 및 장기 가격 동향을 효과적으로 판단할 수 있습니다.

이점 분석

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

  1. 이중 이동 평균 지표를 사용하면 시장 소음을 효과적으로 필터링하고 가격 동향을 정확하게 결정할 수 있습니다.

  2. 단기 트렌드를 결정하기 위한 짧은 주기와 주요 트렌드를 결정하기 위한 긴 주기를 가진 다중 시간 프레임 설정, 느린 속도로 달성.

  3. SMA는 가격 변화에 민감하지만 EMA는 가격 변화를 부드럽게합니다. 두 가지를 결합하면 더 잘 작동합니다.

  4. 상승을 쫓고 떨어지는 것을 죽이는 논리는 간단하고 직접적이며 작동하기가 쉽습니다.

위험 분석

이 전략은 또한 몇 가지 위험을 안고 있습니다.

  1. 멀티 타임프레임 설정은 매개 변수 조정 및 최적화에 어려움을 겪으며 상당히 복잡합니다.

  2. 단기 지표와 장기 지표 사이에 오차가 발생할 수 있어 잘못된 신호가 나올 수 있습니다.

  3. 이동평균 지표에만 기반을 두고 극단적인 시장 조건에서 실적이 떨어질 수 있습니다.

  4. 시간이 지연해서, 전환점을 적시에 파악할 수 없습니다.

최적화

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

  1. 전략 정확성을 높이기 위해 KDJ, MACD 등 신호 필터링을 위한 다른 기술적 지표를 추가합니다.

  2. 최적의 매개 변수 조합을 찾기 위해 단기 및 장기 이동 평균의 기간과 수를 테스트하고 최적화합니다.

  3. 위험과 DD를 제어하기 위해 스톱 로스 메커니즘을 추가합니다.

  4. 부피 지표를 결합하여 급격한 가격 상승으로 인해 잘못된 파장을 피합니다.

결론

이 전략은 이중 이동 평균 및 멀티 타임프레임 분석을 사용하여 간단하고 효과적인 트렌드 추적을 실현합니다. 전략 아이디어는 명확하고 실용적인 가치와 함께 이해하기 쉽습니다. 그러나 여전히 매개 변수 최적화, 위험 통제 등 개선의 여지가 있습니다. 전반적으로 전략은 정량 거래에 귀중한 아이디어를 제공하며 심도 있는 연구와 논의가 필요합니다.


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

//@version=4
strategy(title="my_strategy_name", shorttitle="MS1", overlay=true )


source = close


// MAの長さ
len1 = 5
len2 = 13
len3 = 21

// MAの計算
ma1 = sma(source, len1)
ma2 = sma(source, len2)
ma3 = sma(source, len3)

// 計算したMAをプロットする
plot(ma1,color=color.red)
plot(ma2,color=color.orange)
plot(ma3,color=color.blue)

// EMAの長さ
len4 = 75
len5 = 90
len6 = 200

// MAの計算
ema1 = ema(source, len4)
ema2 = ema(source, len5)
ema3 = ema(source, len6)

// 計算したMAをプロットする
plot(ema1,color=color.red)
plot(ema2,color=color.orange)
plot(ema3,color=color.blue)

longCondition = (ma1>ma2 and ma2>ma3 and ma3>ema1 and ema1>ema2 and ema2>ema3)//ロングにエントリーする条件
if (longCondition)
    strategy.entry("My Long Entry", strategy.long, comment="Long")

shortCondition = (ma1<ma2 and ma2<ma3 and ma3<ema1 and ema1<ema2 and ema2<ema3)//ショートにエントリーする条件
if (shortCondition)
    strategy.entry("My Short Entry", strategy.short, comment="Short")
    
    //エグジット条件
strategy.exit("My Long Exit", "My Long Entry", profit=200, loss=100)
strategy.exit("My Short Exit", "My Short Entry", profit=200, loss=100)
    

    
    

더 많은