다중 지표에 기초한 거래 전략을 따르는 경향

저자:차오장, 날짜: 2024-01-12 11:25:04
태그:

img

전반적인 설명

트렌드를 따르는 거래 전략은 MACD, 스토카스틱 및 SMA 이동 평균을 결합한 양적 거래 전략이다. 이 전략은 시장의 트렌드 방향을 파악하고 새로운 트렌드가 시작되면 적시에 시장에 진입하는 것을 목표로합니다. 다음으로 시장에서 언제 빠져나갈지 결정하기 위해 여러 지표의 신호를 조합합니다.

전략 논리

이 전략은 시장 트렌드의 강도와 방향을 판단하기 위해 MACD, 스토카스틱 및 SMA라는 세 가지 기술 지표를 사용합니다. MACD 라인이 신호 라인의 위를 넘을 때, 스토카스틱의 %K 라인이 %D 이상의 위를 넘어서 과잉 매입 수준을 넘고 빠른 SMA가 느린 SMA 이상의 위를 넘을 때 구매 신호가 발생합니다. 반대 상황이 발생하면 판매 신호가 식별됩니다.

여러 지표를 결합 함으로써 가짜 신호를 필터링하여 트렌드의 실제 시작과 끝을 인식 할 수 있습니다. 동시에, 다른 지표는 검증을 형성하고 잘못된 거래의 가능성을 줄일 수 있습니다.

이점 분석

이 전략의 가장 큰 장점은 여러 지표의 조합으로 시장 소음을 효과적으로 필터링하고 트렌드의 실제 시작과 끝을 차단 할 수 있습니다. 단일 MACD, 스토카스틱 또는 SMA를 사용하는 것과 비교하면 인식 효과가 훨씬 좋습니다.

또한, 이 전략은 매개 변수 조정에서 유연하며, 다른 제품과 주기에 맞게 조정될 수 있어 매우 적응력이 있습니다.

위험 분석

이 전략의 주요 위험은 여러 지표의 조합으로 거래 빈도가 증가하고 과잉 거래의 위험이 발생한다는 것입니다. 또한, 잘못된 매개 변수 설정은 또한 잘못된 거래의 위험을 가져올 수 있습니다.

위험을 줄이기 위해 거래 빈도는 적절하게 제어되어야하며, 더 긴 주기를 선택하고 매개 변수를 최적화해야합니다. 필요한 경우 단일 거래 손실을 제어하기 위해 스톱 로스를 고려 할 수 있습니다.

최적화 방향

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

  1. 다른 제품 및 사이클 매개 변수의 효과를 테스트합니다.
  2. 잘못된 신호를 줄이기 위해 표시량 가중 및 필터링 조건을 높여
  3. 스톱 로스를 포함해서 리스크를 제어하는 것
  4. 이윤 인자를 향상시키기 위해 지표 매개 변수를 더 이상 최적화하십시오.

결론

트렌드를 따르는 전략은 여러 지표에 기반하여 지표의 복합 검증을 통해 신호의 정확성을 향상시키고 트렌드의 시작과 끝을 효과적으로 식별 할 수 있습니다. 매개 변수 최적화 및 위험 통제는이 전략의 성공의 열쇠입니다. 일반적으로이 전략은 작은 드로다운과 큰 수익 잠재력을 가지고 있으며 매우 실용적인 양적 거래 전략입니다.


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

//@version=3
strategy("Rule Number 1 Signals", overlay=true)

//Calculate MACD crossing or not
fastLength = input(8)
slowlength = input(17)
MACDLength = input(9)

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
macdDelta = MACD - aMACD

//Calculate Stochastic Crossing

stochasticLength = input(14, minval=1)
stochasticOverBought = input(80)
stochasticOverSold = input(20)
emaSignal = input(10)
smoothK = 5
smoothD = 5

k = sma(stoch(close, high, low, stochasticLength), smoothK)
d = sma(k, smoothD)

//Crossovers and Over /Under
macdCrossOver = crossover(macdDelta, 0)
macdCrossUnder = crossunder(macdDelta, 0)
macdOver = macdDelta > 0
macdUnder = macdDelta < 0

stochasticCrossOver = crossover(k, d)
stochasticCrossUnder = crossunder(k, d)
stochasticOver = k > d
stochasticUnder = k < d

ema = ema(close, emaSignal)
smaCrossOver = crossover(close, ema)
smaCrossUnder = crossunder(close, ema)
smaOver = close > ema
smaUnder = close < ema

if ((macdCrossOver and stochasticOver and smaOver) or (macdOver and stochasticCrossOver and smaOver) or (macdOver and stochasticOver and smaCrossOver))
    strategy.entry("Rule 1 Buy", strategy.long, comment="Rule 1 Buy")
if ((macdCrossUnder and stochasticUnder and smaUnder) or (macdUnder and stochasticCrossUnder and smaUnder) or (macdUnder and stochasticUnder and smaCrossUnder))
    strategy.entry("Rule 1 Sell", strategy.short, comment="Rule 1 Sell")


//Plot the Oversold Study
bgcol = k < stochasticOverSold ? green : k > stochasticOverBought ? red : na
bgcolor(bgcol)

더 많은