이 전략은
이 전략은 두 가지 지수 이동 평균 (EMA) 을 사용하여 가장 높고 가장 낮은 가격의 차이를 부드럽게하고 질량 지표 지표를 얻습니다. 질량 지표가 한 임계점을 넘어서면 짧고 임계점을 넘어서면 길게됩니다.
특히, 먼저 가장 높은 가격과 가장 낮은 가격 xPrice 사이의 차이를 계산합니다. 그 다음 xPrice의 9 기간 및 25 기간 EMA를 계산합니다. 각각 xEMA 및 xSmoothXAvg로 불립니다. 그 후, 질량 지표를 얻기 위해 이 두 EMA의 비율을 합합니다. 질량 지표가 한 임계보다 크면 짧습니다. 임계보다 작으면 길습니다.
이 전략은 매스 인덱스의 교차에 의해 트렌드 역전 지점을 식별하고 따라서 단기 거래를 수행합니다. 시장 변동성이 심해짐에 따라 매스 인덱스는 상승합니다. 시장 변동성이 감소함에 따라 매스 인덱스는 떨어집니다. 특정 수준의 돌파구를 모니터링하면 단기 거래 기회를 효과적으로 포착 할 수 있습니다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
이 전략에는 몇 가지 위험도 있습니다.
이 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.
이 전략은 매스 인덱스 지표에 기반한 간단한 단기 거래 전략을 설계하여 정확한 장기 및 단기 거래를 위해 시장의 전환점을 효과적으로 식별 할 수 있습니다. 거래 전략 및 매개 변수 설정은 간단하고 직관적이며 구현하기 쉽고 다른 시장 환경에 맞게 조정 가능하여 매우 실용적입니다. 그러나 지표의 과잉 적합 및 실패의 위험도 주목해야합니다. 트렌드 분석과 스톱 로스는 시장 불확실성에 대처하기 위해 결합되어야합니다.
/*backtest start: 2023-02-20 00:00:00 end: 2024-02-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 12/09/2017 // The Mass Index was designed to identify trend reversals by measuring // the narrowing and widening of the range between the high and low prices. // As this range widens, the Mass Index increases; as the range narrows // the Mass Index decreases. // The Mass Index was developed by Donald Dorsey. // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="MASS Index", shorttitle="MASS Index") Length1 = input(9, minval=1) Length2 = input(25, minval=1) Trigger = input(26.5, step = 0.01) reverse = input(false, title="Trade reverse") hline(27, color=blue, linestyle=line, title = "Setup") hline(Trigger, color=red, linestyle=line, title = "Trigger") xPrice = high - low xEMA = ema(xPrice, Length1) xSmoothXAvg = ema(xEMA, Length1) nRes = sum(iff(xSmoothXAvg != 0, xEMA / xSmoothXAvg, 0), Length2) pos = iff(nRes > Trigger, -1, iff(nRes < Trigger, 1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(nRes, color=red, title="MASS Index")