모멘텀 이동 평균 교차 매수 및 매도 전략


생성 날짜: 2024-02-19 14:53:50 마지막으로 수정됨: 2024-02-19 14:53:50
복사: 0 클릭수: 564
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

모멘텀 이동 평균 교차 매수 및 매도 전략

개요

이 전략은 MACD 지표에 기초하여 거래 신호를 판단한다. MACD 지표는 MACD 라인, SIGNAL 라인 및 기둥 모양의 HISTO 라인 세 개의 라인을 포함한다. MACD 라인이 아래에서 위로 SIGNAL 라인을 뚫고 긍정되면 구매 신호가 된다. MACD 라인이 위에서 아래로 내려가 SIGNAL 라인을 뚫고 부정되면 판매 신호가 된다.

전략 원칙

  1. MACD 라인, SIGNAL 라인, HISTO 라인을 계산한다.
  2. MACD 라인과 SIGNAL 라인의 교차 상황을 판단하여 구매 및 판매 신호를 결정한다.
  3. 34주기 EMA를 추가로 저항을 지원하는 것으로 이용하고, EMA 위에만 더 많이 하고, EMA 아래는 공백하게 한다.
  4. 스톱로스 스톱을 설정하여 배당을 보장합니다.

구체적으로 말해서, 종결 가격 위에 34EMA를 뚫고, 그리고 MACD 선 위에 SIGNAL 선을 뚫고 양이 되는데, 이는 주가 상승 동력이 강하다는 것을 나타낸다. 이때 구매한다. 종결 가격 아래 34EMA를 뚫고, 그리고 MACD 선 아래에 SIGNAL 선을 뚫고 마이너스가 되는데, 이는 주가 하락 동력이 강하다는 것을 나타낸다. 이때 판매한다.

전략적 이점

  1. MACD 지표는 주가 변화를 정확하게 판단하고, 신호는 명확하다.
  2. EMA 필터링과 결합하여 잘못된 구매/판매 신호를 방지합니다.
  3. 스톱로스 스톱포인트를 설정하여 각 손실을 제어합니다.

위험과 해결

  1. MACD 지표는 신호를 생성하는 지연성이 있으며, 최적의 구매 판매 지점을 놓칠 수 있다. 적절한 최적화 파라미터를 사용하여 평균 주기를 줄일 수 있다.
  2. 단일 지표는 잘못된 신호를 발생시킬 수 있다. KDJ 지표와 같은 다른 지표와 함께 필터링 할 수 있다.
  3. 포지션 개설 횟수에 제한이 없으며, 과도한 거래가 발생할 수 있습니다. 매일 또는 매주 포지션 개설 횟수에 제한을 설정할 수 있습니다.

최적화 방향

  1. MACD 변수를 최적화하여 최적의 변수 조합을 찾습니다.
  2. 다른 지표 판단을 추가하여 잘못된 신호를 피한다. 일반적인 조합 지표는 MACD+KDJ, MACD+BOLL 등이 있다.
  3. 포지션 개시 제한을 추가하여 과도한 거래를 방지하십시오.
  4. 이 전략은 수익률을 높이기 위한 전략입니다.

요약하다

이 전략은 MACD 지표를 사용하여 매매 시기를 판단하고, WITH 34 EMA 필터링 오류 신호를 통해 주가가 새로운 라운드를 시작할 때 기회를 잡을 수 있습니다. 동시에 스톱 Loss 스톱 포인트 제어 위험을 설정하는 것은 안정적이고 신뢰할 수있는 거래 전략입니다. 이후 파라미터 최적화, 다른 지표 판단을 추가하는 등의 방법으로이 전략을 더욱 개선하여 수익률을 높일 수 있습니다.

전략 소스 코드
/*backtest
start: 2024-01-19 00:00:00
end: 2024-02-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © melihtuna

//@version=2
strategy("Jim's MACD", overlay=true)

Tendies = input(true, title="Check here for tendies")

// === MACD Setup ===
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)

//EMA
ma = ema(close, 5)
plot(ema(close,5))


//Entry
if (close > ma and cross(macdLine,signalLine) and histLine> 0.4 and signalLine > 0 or histLine > 0 and signalLine > 0 )
    strategy.entry("BUY", strategy.long)
if(close < ma and cross(macdLine,signalLine) and histLine < -0.4 and signalLine < 0 or close < ma and histLine < 0 and signalLine < 0 )
    strategy.entry("SELL", strategy.short)
    
//Exit 
strategy.close("BUY", when = histLine < 0  )
strategy.close("SELL", when = histLine > 0  )