이 전략은 역동적으로 역사적인 높은 가격, 낮은 가격 및 가까운 가격에 기초하여 지원 및 저항 수준을 계산하고 그에 따라 거래 신호를 생성합니다. 중장기 포지션에 적합하며 수익을 위해 시장에서 지원 및 저항 수준을 효과적으로 활용 할 수 있습니다.
이전 기간의 높은 가격, 낮은 가격 및 닫은 가격의 평균을 회전점 (PP) 으로 계산합니다.
3개의 지지선을 계산합니다: S1 = 2PP - 가장 높은 가격; S2 = PP - (R1-S1); S3 = 가장 낮은 가격 - 2(최고 가격 - PP)
3개의 저항선을 계산합니다: R1 = 2PP - 가장 낮은 가격, R2 = PP + (R1-S1); R3 = 가장 높은 가격 + 2(PP - 가장 낮은 가격)
가격이 저항선을 통과할 때 긴 포지션을 취하고, 가격이 지지선을 통과할 때 짧은 포지션을 취합니다.
역사적인 데이터에 기반한 동적 지지 및 저항 수준은 시장 구조의 변화를 적시에 파악할 수 있습니다.
다층 지원 및 저항 설정은 더 나은 위험 관리 최적화를 허용합니다.
간단하고 직관적인 거래 신호와 스톱 로스 메커니즘
역사적인 데이터에 의해 제공되는 기준 가격 수준은 높은 변동성 시나리오에서 유효하지 않을 수 있습니다.
긴 포지션과 짧은 포지션의 전환은 거래 비용을 고려해야 합니다.
계산 오류를 피하기 위해 데이터 품질을 보장해야 합니다.
100일 이동 평균 등과 같은 더 많은 역사적 데이터 참조를 포함하는 것을 고려하십시오.
포지션 크기를 최적화하십시오. 예를 들어 변동성에 따라 포지션 크기를 조정하십시오.
트레일링 스톱 로스나 리스크 기반 스톱 로스 같은 스톱 로스 전략을 추가합니다.
이 전략은 역사에 기반한 다층 지원 및 저항 참조 가격 수준을 제공합니다. 중장기 포지션에 적합한 간단하고 직설적인 논리를 가지고 있습니다. 한편, 높은 변동성 시장 및 거래 비용의 위험은 모니터링되어야합니다. 추가 최적화는 복잡한 환경에서 전략을 견고하게 할 수 있습니다.
/*backtest start: 2023-10-28 00:00:00 end: 2023-11-27 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 09/06/2020 // 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. // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="Pivot Point V2", shorttitle="Pivot Point V2", overlay = true) res = input(title="Resolution", type=input.resolution, defval="D") SellFrom = input(title="Sell from ", defval="R1", options=["R1", "R2", "R3"]) BuyFrom = input(title="Buy from ", defval="S1", options=["S1", "S2", "S3"]) width = input(1, minval=1) reverse = input(false, title="Trade reverse") xHigh = security(syminfo.tickerid,res, high) xLow = security(syminfo.tickerid,res, low) xClose = security(syminfo.tickerid,res, close) vPP = (xHigh+xLow+xClose) / 3 vS1 = 2*vPP - xHigh vR1 = 2*vPP-xLow vS2 = vPP - (vR1 - vS1) vR2 = vPP + (vR1 - vS1) vS3 = xLow - 2 * (xHigh - vPP) vR3 = xHigh + 2 * (vPP - xLow) pos = 0 S = iff(BuyFrom == "S1", vS1, iff(BuyFrom == "S2", vS2, iff(BuyFrom == "S3", vS3,0))) B = iff(SellFrom == "R1", vR1, iff(SellFrom == "R2", vR2, iff(SellFrom == "R3", vR3,0))) pos := iff(close > B, 1, iff(close < S, -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) if (possig == 0) strategy.close_all() barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )