다중 이동 평균에 기초한 트렌드 거래 전략

저자:차오장, 날짜: 2023-12-07 10:50:37
태그:

img

전반적인 설명

이 전략은 다양한 기간의 여러 이동 평균을 계산하고 금색 십자 패턴을 결합하여 거래 후 트렌드 방향을 결정합니다. 주요 기능은 가격 트렌드 반전 지점을 식별하고 구매 및 판매 신호를 생성하는 것입니다.

전략 원칙

이 전략의 핵심은 구매 및 판매 신호의 주요 지표로 작용하는 35 기간 EMA입니다. 가격이 35EMA를 넘을 때 구매 신호가 생성됩니다. 가격이 35EMA를 넘을 때 판매 신호가 생성됩니다. 또한 전략은 트렌드 방향을 결정하는 데 도움이되는 다른 기간의 8 EMA로 구성된 EMA 리본을 그래프합니다. 짧은 기간 EMA는 변화를 더 빠르게 감지하기 위해 가격에 더 가깝습니다. 더 긴 기간 EMA는 약간의 소음을 필터하기 위해 가격이 느리게 변합니다. EMA 리본은 가격의 주요 트렌드 방향을 명확하게 묘사합니다.

이 전략은 주로 주요 트렌드를 결정하기 위해 35EMA에 의존합니다. 가격이 35EMA 이상 또는 아래에 넘을 때 거래 신호가 생성됩니다. EMA 리본은 트렌드를 확인하고 입시 시기를 최적화하는 보조 역할을합니다.

이점 분석

이 전략은 트렌드 추종과 빈번한 거래 사이의 균형을 이룬다. 35EMA는 기본적으로 너무 많은 지연 없이 주요 트렌드 방향의 변화를 판단할 수 있으며, 중요한 전환점을 중심으로 거래 신호를 생성한다. EMA 리본은 더 나은 타이밍으로 긴 또는 짧은 포지션에 들어갈 기회를 확인하는 트렌드 채널을 형성한다.

단일 EMA 지표 사용에 비해 이 다중 EMA 접근법은 더 포괄적이고 명확한 트렌드 결정을 제공합니다. 다른 기간 EMA의 조합은 높은 빈도와 낮은 빈도 EMA를 통합함으로써 단기 시장 소음을 완화하면서 장기 트렌드 방향을 판단 할 수 있습니다.

사용자는 주요 35EMA 기간 또는 리본의 EMA를 변경하여 자신의 거래 스타일에 최적화하기 위해 매개 변수를 스스로 조정할 수 있습니다. 전반적으로이 전략은 트렌드 거래에 대해 비교적 정확하고 다재다능한 솔루션을 제공합니다.

위험 분석

주요 위험은 사용자의 매개 변수 선택에 있습니다. 너무 짧은 EMA 기간을 사용하면 거래 빈도와 위험이 증가합니다. 너무 긴 기간은 주요 전환점과 지연 항목을 놓칠 수 있습니다.

또 다른 주요 위험은 범위 제한 시장에서 EMA 지표가 여러 가지 잘못된 신호를 생성 할 수 있다는 것입니다. 사용자는 맹목적인 입력을 피하기 위해 추가 트렌드 분석을 적용해야합니다.

마지막으로, 시장이 강한 경향을 보이는 동안, 지표 지연은 구매 및 판매 신호를 지연시킬 수 있습니다. 사용자는 신호에만 의존하는 대신 전환점을 예상해야합니다.

최적화 방향

이 전략을 최적화하는 주요 방법은 다른 시장과 거래 스타일에 맞게 EMA 매개 변수를 조정하는 데 초점을 맞추고 있습니다.

  1. 거래 신호의 더 나은 타이밍을 위해 35EMA 기간을 정렬하십시오.
  2. 더 나은 트렌드 판단을 위해 EMA 리본 기간을 조정하십시오.
  3. 확인을 위해 BOLL 대역과 KDJ와 같은 다른 지원 지표를 포함합니다.
  4. 부피 증가 없이 변동적인 시장에서 행동하는 것을 피하기 위해 부피 조치를 추가합니다.

매개 변수 조정 및 여러 지표의 신호 결합을 통해 안정성 및 신호 정확성의 추가 개선이 달성 될 수 있습니다. 이것은 거래 위험을 줄이고 더 나은 수익을 달성합니다.

결론

이 전략은 여러 EMA를 계산하고 EMA 리본을 사용하여 비교적 정확하고 다재다능한 트렌드 다음 솔루션을 제공합니다. 거래 빈도와 시스템 안정성의 좋은 혼합을 위해 전환점을 신속히 캡처하고 멀티 타임프레임 트렌드를 전체적으로 판단하는 것을 균형 잡습니다. 최적화를 통해 시장 환경, 자산 유형 및 거래 스타일에 적응합니다. 사용자에게 정량 거래에 대한 정교하고 견고한 기반을 제공합니다.


/*backtest
start: 2022-11-30 00:00:00
end: 2023-12-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//
// @author d3nv3r 
// @inspiration [LazyBear]
// List of all my indicators: https://github.com/d3nv3r0ne/tradingview
//
// Inputs : Show Buy&Sell Signals
// Inputs : Show EMA in White for the Buy&Sell Signals
// Inputs : Choose the length of the EMA for the B&S signals
// 
// How to use it : 
// Any chart
// copy all and paste the content into the Pine Editor Tab at the bottom of the tradingview pannel
// [Save As...] and [Add to Chart] in top-right of the Pine Editor
//
//@version=4
strategy(shorttitle = "35EMA_X_B/S_RIBBON", title="35EMA Cross BuyAndSell Strategy + RIBBON [d3nv3r]", overlay=true)

//
// Variables inputs
//
useBSstrategy = input(true, title="Show Buy & Sell Strategy")
showMABS = input(true, title="Show EMA Cross - need to active B&S Strategy")
lengthBS = input(title="Length EMA Cross - need to active B&S Strategy", type=input.integer, defval=35, minval=1)
src = input(close, title="Source")

//
// Variables
// Ribbon EMA + EMA B/S 
//
lenRib1 = 20
lenRib2 = 25
lenRib3 = 30
lenRib4 = 35
lenRib5 = 40
lenRib6 = 45
lenRib7 = 50
lenRib8 = 55

//
// Variables
// Quadruple SMA + SMA B/S 
//
maBS = ema(src, lengthBS)
rib1 = ema(src, lenRib1)
rib2 = ema(src, lenRib2)
rib3 = ema(src, lenRib3)
rib4 = ema(src, lenRib4)
rib5 = ema(src, lenRib5)
rib6 = ema(src, lenRib6)
rib7 = ema(src, lenRib7)
rib8 = ema(src, lenRib8)

//
// Variables color
//
colorEMAX = #FFFFFF
colorRib1 = #FFFF00
colorRib2 = #FFD700
colorRib3 = #FFC800
colorRib4 = #FFC800
colorRib5 = #FFC800
colorRib6 = #FF4500
colorRib7 = #FF1500
colorRib8 = #FF0000

//
// Variables Buy/Sell
//
longCondition = crossover(close,maBS)
shortCondition = crossunder(close,maBS)

//
// Logic Buy/Sell
//
if (useBSstrategy)
    if (longCondition)
        strategy.entry("Long", strategy.long)
    if (shortCondition)
        strategy.entry("short", strategy.short)

//
// Plot Quadruple SMA + SMA B/S
//
plot(showMABS and maBS ? maBS : na, color=colorEMAX, transp=0, linewidth=2)
plot(rib1, color=colorRib1, transp=15, linewidth=1)
plot(rib2, color=colorRib2, transp=15, linewidth=1)
plot(rib3, color=colorRib3, transp=15, linewidth=1)
plot(rib4, color=colorRib4, transp=15, linewidth=1)
plot(rib5, color=colorRib5, transp=15, linewidth=1)
plot(rib6, color=colorRib6, transp=15, linewidth=1)
plot(rib7, color=colorRib7, transp=15, linewidth=1)
plot(rib8, color=colorRib8, transp=15, linewidth=1)

더 많은