이 전략은 이전 거래일의 최고, 최저 및 폐쇄 가격에서 계산된 지원 및 저항 수준을 기반으로 긴 또는 짧은 포지션을 만듭니다. 가격이 상위 저항 레벨 R1을 넘어서면 길고 가격이 하위 지원 레벨 S1을 넘어서면 짧습니다. 이 전략은 동적 피보트 포인트 전략에 속합니다.
현재 날의 지원 레벨 S1, 저항 레벨 R1 및 피보트 포인트 vPP를 계산합니다. 전날 거래의 가장 높은 가격 xHigh, 가장 낮은 가격 xLow 및 종료 가격 xClose을 기반으로 합니다.
vPP = (xHigh+xLow+xClose) / 3
vR1 = vPP+(vPP-xLow)
vS1 = vPP-(xHigh - vPP)
가격이 vR1 또는 vS1를 통과하는지 결정합니다. 가격이 vR1을 통과하면 긴 거리로 이동하고 가격이 vS1 아래로 넘어갈 경우 짧은 거리로 이동합니다. POS는 긴 또는 짧은 방향을 기록합니다.
pos = iff(close > vR1, 1, if(close < vS1, -1, nz(pos[1], 0)))
포시그는 실제 거래 방향을 기록합니다. 리버스 트레이딩이 reverse=true로 활성화되면 거래 신호가 역전됩니다.
vR1가 끊어지면 길게, vS1가 끊어지면 짧게
위험 관리:
이 전략은 가격 경류 동적 지원 및 저항 수준을 기반으로 긴 또는 짧은 거래를합니다. 논리는 트렌드 반전을 효과적으로 식별 할 수있는 동안 이해하고 구현하는 것이 간단합니다. 그러나 위험이 존재하며 더 신뢰할 수있는 거래 신호를 생성하기 위해 추가 지표로 추가 최적화가 필요합니다. 전반적으로 전략은 보조 지표 또는 양적 거래 시스템에서 기본 빌딩 블록으로 잘 사용됩니다.
//@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 14/06/2018 // This Pivot points is calculated on the current day. // Pivot points simply took the high, low, and closing price from the previous period and // divided by 3 to find the pivot. From this pivot, traders would then base their // calculations for three support, and three resistance levels. The calculation for the most // basic flavor of pivot points, known as ‘floor-trader pivots’, along with their support and // resistance levels. // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="Dynamic Pivot Point Backtest", shorttitle="Dynamic Pivot Point", overlay = true) reverse = input(false, title="Trade reverse") xHigh = request.security(syminfo.tickerid,"D", high[1]) xLow = request.security(syminfo.tickerid,"D", low[1]) xClose = request.security(syminfo.tickerid,"D", close[1]) vPP = (xHigh+xLow+xClose) / 3 vR1 = vPP+(vPP-xLow) vS1 = vPP-(xHigh - vPP) pos = iff(close > vR1, 1, iff(close < vS1, -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(vS1, color=#ff0000, title="S1", style = circles, linewidth = 1) plot(vR1, color=#009600, title="R1", style = circles, linewidth = 1)