
이 전략은 동력 지표에 기반한 역전 거래 전략이다. 그것은 시장의 움직임을 판단하기 위해 유동성 지표 ((EOM) 를 사용하며, 지표가 설정된 하락치를 초과할 때 더 많은 공백을 한다. 동시에 역전 거래 기능을 제공하며, 실제 필요에 따라 직전 거래 또는 역전 거래를 선택할 수 있다.
유동성 지표 (EOM) 는 가격과 거래량 변화의 정도를 측정하는 지표이다. 이 지표는 동시에 양과 음의 값을 반환한다. 양값은 가격 상승을 나타내고, 음값은 가격 하락을 나타낸다. 수치가 클수록 가격 변화가 더 크고/또는 거래량이 더 작다는 것을 의미한다.
이 전략은 다음과 같습니다.
이 전략의 주요 장점은 다음과 같습니다.
이 전략의 주요 위험은 다음과 같습니다.
해결책:
이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.
위와 같은 몇 가지 최적화를 통해 전략이 더 안정적이고, 위험을 줄이고, 실전 효과를 높일 수 있다.
전체적으로 이 전략은 시장의 실제 움직임을 판단하기 위해 유동적 인 지표를 사용하여 과잉과 적자를 통해 초과 수익을 얻습니다. 그것은 간단하고 사용하기 쉽고 가격 변화와 거래량 변화의 두 가지 요소를 고려합니다. 실장에 사용할 경우 다른 기술 지표와 결합하여 적절한 최적화 매개 변수를 사용하는 것이 좋습니다.
/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 19/06/2018
// This indicator gauges the magnitude of price and volume movement.
// The indicator returns both positive and negative values where a
// positive value means the market has moved up from yesterday's value
// and a negative value means the market has moved down. A large positive
// or large negative value indicates a large move in price and/or lighter
// volume. A small positive or small negative value indicates a small move
// in price and/or heavier volume.
// A positive or negative numeric value. A positive value means the market
// has moved up from yesterday's value, whereas, a negative value means the
// market has moved down.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Ease of Movement (EOM) Backtest", shorttitle="EOM")
BuyZone = input(4000, minval=1)
SellZone = input(-4000, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=blue, linestyle=line)
hline(BuyZone, color=green, linestyle=line)
hline(SellZone, color=red, linestyle=line)
xHigh = high
xLow = low
xVolume = volume
xHalfRange = (xHigh - xLow) * 0.5
xMidpointMove = mom(xHalfRange, 1)
xBoxRatio = iff((xHigh - xLow) != 0, xVolume / (xHigh - xLow), 0)
nRes = iff(xBoxRatio != 0, 1000000 * ((xMidpointMove - xMidpointMove[1]) / xBoxRatio), 0)
pos = iff(nRes > BuyZone, 1,
iff(nRes < SellZone, -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="EOM", style=histogram, linewidth=2)