MACD 암호화 거래 전략

저자:차오장, 날짜: 2024-01-26 14:20:04
태그:

img

전반적인 설명

이것은 암호화폐 시장에 특별히 설계된 간단하면서도 효율적인 MACD 암호화폐 거래 전략이며 1시간, 4시간, 1일 등과 같은 더 높은 타임프레임 차트에 적합합니다. 이 전략은 시장 트렌드 방향을 결정하기 위해 MACD 지표를 사용하고 간단한 이동 평균으로 거래 신호가 생성됩니다. 이 전략의 가장 큰 장점은 간단하고 효율적이며 이해하기 쉽고 구현하기 쉽기 때문에 특히 매우 변동적인 암호화폐 시장에 적합합니다. 그러나 추가 최적화와 개선이 필요한 몇 가지 위험도 있습니다.

전략 논리

이 전략은 시장 트렌드를 결정하고 무역 신호를 생성하기 위해 MACD 지표를 이용한다. MACD는 빠른 라인, 느린 라인 및 MACD 히스토그램으로 구성된다. 빠른 라인은 단기 이동 평균이며 느린 라인은 장기 이동 평균이다. 빠른 라인이 느린 라인의 위를 넘을 때, 그것은 구매 신호이다. 빠른 라인이 느린 라인의 아래를 넘을 때, 그것은 판매 신호이다. MACD 히스토그램은 빠른 라인과 느린 라인의 차이이다. 긍정적 히스토그램은 상승 트렌딩의 황소 시장을 의미하며 부정적인 히스토그램은 하향 시장을 의미한다. 이 전략은 신호를 더 검증하고 잘못된 신호를 피하기 위해 간단한 이동 평균을 사용합니다. 구체적으로, MACD 히스토그램과 간단한 이동 평균이 양쪽 모두 긍정적일 때만, 전략은 긴 신호를 생성하여 긴 거리를 이동할 것입니다. 히스토그램과 단순한 이동 평균이 모두 부정적인 경우, 전략은 짧은 거리를 이동하는 신호를 생성할 것입니다. MACD 히스토그램을 사용하여 시장 방향에 대한 트렌드를 결정할 수 있습니다.

이점 분석

이 단순하면서도 효율적인 전략의 가장 큰 장점은 다음과 같습니다.

  1. 시장 방향을 결정하기 위해 MACD를 사용하며 성숙하고 신뢰할 수 있는 기술 지표로 트렌드를 정확하게 판단합니다.

  2. 신호 필터링을 위한 간단한 이동 평균을 결합하여 잘못된 신호를 피하고 정확도를 향상시킵니다.

  3. 특히 MACD가 가장 잘 작동하는 매우 변동적인 암호화 시장에 설계되었습니다.

  4. 논리는 간단하고 명확하고, 이해하기 쉽고 실행하기 쉽고, 채택에 대한 장애가 낮습니다.

  5. 거래 빈도를 낮추고 거래 비용을 줄이기 위해 더 높은 시간 프레임에서 실행 할 수 있습니다.

위험 분석

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

  1. 필터링을 위해 간단한 이동 평균을 사용하면 어떤 시장 조건에서 가장 좋은 입시 가격을 놓칠 수 있습니다.

  2. 이윤을 취득하거나 손실을 멈추지 않는 것은 엄청난 단일 거래 손실을 초래할 수 있습니다.

  3. 가능한 지연 신호와 잘못된 신호는 불필요한 손실을 일으킬 수 있습니다.

  4. 전체 수익성에 대한 거래 시간 및 빈도의 영향을 고려하지 않았습니다.

이러한 위험은 더 많은 최적화를 통해 해결되어야 합니다.

최적화 방향

앞서 언급한 위험을 바탕으로 전략은 다음과 같은 방향으로 개선될 수 있습니다.

  1. 최적의 설정을 찾기 위해 다양한 매개 변수와 지표 조합을 테스트합니다.

  2. 최대 단일 거래 손실을 제한하기 위해 Stop Loss 및 Profit Taking 로직을 추가합니다.

  3. 높은 품질의 신호를 보장하기 위해 더 엄격한 신호 확인을 통해 입력 논리를 최적화합니다.

  4. 다른 거래 시간 및 빈도의 전체 수익성에 미치는 영향을 고려하십시오.

이러한 방향의 최적화를 통해 이 전략의 안정성과 수익성 및 생존성을 크게 향상시킬 수 있습니다.

요약

요약하자면, 이것은 엄청난 실용적인 가치를 가진 MACD 거래 전략입니다. 그것은 간단하고 효율적이며 구현하기가 쉽습니다. 알고 거래를 빠르게 시작하고 싶은 사람들에게 적합합니다. 동시에 장기적인 라이브 거래에 적합한 안정적인 수익 알고리즘으로 전환하기 위해 추가 최적화에 충분한 공간이 있습니다.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
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/
// © SoftKill21

//@version=4
strategy("MACD crypto strategy", overlay=true)

// Getting inputs
//fast_length = input(title="Fast Length", type=input.integer, defval=12)
//slow_length = input(title="Slow Length", type=input.integer, defval=26)
//src = input(title="Source", type=input.source, defval=close)
//signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
//sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true)
//sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)

fast_length = 12
slow_length = 26
src = input(title="Source", type=input.source, defval=close)
signal_length = 9
sma_source = true
sma_signal = false

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal



longcondition = hist > 0 
shortcondition = hist < 0 

//sl = input(0.5, title="SL")
//tp = input(0.1, title="tp")

strategy.entry("long",1,when=longcondition)
strategy.entry("short",0,when=shortcondition)

//strategy.exit("x_long", "long" ,loss = close * sl / syminfo.mintick, profit = close * tp / syminfo.mintick , alert_message = "closelong")
//strategy.entry("short",0, when= loss = close * sl / syminfo.mintick)

//strategy.exit("x_short", "short" , loss = close * sl / syminfo.mintick, profit  = close * tp / syminfo.mintick,alert_message = "closeshort")

// risk = input(2, type=input.float,title="Risk percentage of BALANCE")
// strategy.risk.max_intraday_loss(risk, strategy.percent_of_equity)

더 많은