이동 평균 비율 역전 전략은 가격과 이동 평균의 비율 차이를 계산하여 매매 시기를 판단한다. 가격과 이동 평균의 차이가 일정 비율에 도달했을 때 거래 신호를 낸다.
특히, 전략의 거래 논리는 다음과 같습니다.
만약 N이 14을 다면, 상한은 5%로, 하한은 -3%로 설정하면:
N, 상하의 한계 변수를 조정하여 전략의 민감도를 조절할 수 있다.
이동 평균 비율 전략은 가격과 이동 평균의 비율 차이를 계산하여 매매 지점을 판단하고, BREAK 전략을 적용하여 트렌드의 전환점을 포착합니다. 파라미터를 조정함으로써 다양한 시장 환경에 적응 할 수 있습니다. 그러나 약간의 지연과 잘못된 정보의 위험이 있으며, 최적화 필터가 필요합니다.
/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 30/07/2018
// Percent difference between price and MA
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Percent difference between price and MA Backtest")
Length = input(14, minval=1)
SellZone = input(0.54, minval=0.01, step = 0.01)
BuyZone = input(0.03, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
hline(BuyZone, color=green, linestyle=line)
hline(SellZone, color=red, linestyle=line)
xSMA = sma(close, Length)
nRes = abs(close - xSMA) * 100 / close
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=blue, title="PD MA")