
이 전략은 축점 지표와 평균 실제 진동대 지표를 결합하여 여러 시간 프레임의 트렌드 추적 시스템을 구현한다. 그것은 중간 주기의 트렌드를 포착할 수 있으며, 축점을 사용하여 장기적인 지지 저항을 판단하여 더 나은 출전을 실현한다.
이 전략은 크게 두 가지 지표에 기반을 두고 있습니다.
축점 지표: 일정 주기 동안의 최고 가격, 최저 가격, 폐장 가격의 평균값을 계산하여 상축점과 하축점을 결정한다. 축점은 중요한 지지 저항 영역으로 사용될 수 있다.
평균 실제 파동 대역: 일정한 주기 동안의 평균 실제 파동의 폭을 계산하고, 중앙 축 상하로 통로를 이동한다. 통로 상하와 상하를 동적 손실선으로 사용할 수 있다.
이 전략의 구체적인 거래 논리는 다음과 같습니다.
가격이 평균 실제 변동带通道를 돌파할 때, 돌파 방향과 일치하는 더하거나 더 적은 방향을 취한다. 가격이 다시 통로 안으로 들어가면, 평소한다. 동시에, 가격이 상축 지점을 돌파할 때, 더 많은 자세를 취한다. 가격이 하축 지점을 돌파할 때, 더 적 자세를 취한다.
이 전략은 또한 중심점의 중선 개념을 도입했다. 막대기가 중선을 뚫을 때, 수익의 절반을 수확하고 위험을 통제하는 것을 선택할 수 있다.
이 전략에는 다음과 같은 장점이 있습니다.
다중 시간 프레임 디자인, 중장기 Determines 큰 트렌드, 단기 Determines 구체적인 입점.
중심점 중선은 위험 통제 옵션으로 수익의 절반을 수확하고 수익성을 보장합니다.
평균 실제 진동带通道는 명확한 중지 손실 위치를 제공한다.
전략 변수가 적어서 최적의 변수 조합을 찾기 위해 최적화하기 쉽다.
“이번 해킹 사건의 위험은 최대한 절감할 수 있습니다”.
이 전략에는 몇 가지 위험도 있습니다.
시장이 급격하게 변동할 때, 손실의 위험이 더 크다.
상황이 흔들릴 때, 중축은 압력이 형성되기 쉽고, 자주 중단될 수 있다.
매개 변수 선택이 잘못되면 거래 빈도 또는 거래 수가 너무 적을 수 있습니다.
최근 가격 돌파는 허위 돌파일 가능성이 높습니다.
이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.
더 많은 지표와 결합하여 진입 신호를 필터링하여 가짜 돌파를 방지한다. 예를 들어 결합 양력 지표, 브린 벨트 지표 등이 있다.
축점과 평균 실제 진동대의 주기 변수를 최적화하여 최적의 변수 조합을 찾는다.
중심축의 중심선 근처에 버퍼 지대를 설정하여 중심선이 자주 발화되는 것을 방지한다.
적절한 트렌드 필터를 추가하여 큰 트렌드가 같은 방향으로 작동하도록하십시오.
이 전략은 전반적으로 매우 실용적인 트렌드 추적 전략이다. 그것은 대부분의 트렌드 시스템에서 존재하는 중지 손실 문제를 해결하고, 위험을 제어 할 수있는 트렌드 거래를 구현하며, 매우 권장되는 전략이다. 후속 적절한 최적화 및 개선으로, 이 전략의 효과는 더욱 향상 될 수 있다.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © LonesomeTheBlue
//@version=4
strategy("Pivot Point SuperTrend [Backtest]", overlay = true)
prd = input(defval = 2, title="Pivot Point Period", minval = 1, maxval = 50)
Factor=input(defval = 3, title = "ATR Factor", minval = 1, step = 0.1)
Pd=input(defval = 10, title = "ATR Period", minval=1)
usecenter = input(defval = false, title="Use Center Line to Close Entry for 50%")
showpivot = input(defval = false, title="Show Pivot Points")
showcl = input(defval = false, title="Show PP Center Line")
float ph = na
float pl = na
ph := pivothigh(prd, prd)
pl := pivotlow(prd, prd)
plotshape(ph and showpivot, text="H", style=shape.labeldown, color=na, textcolor=color.red, location=location.abovebar, transp=0, offset = -prd)
plotshape(pl and showpivot, text="L", style=shape.labeldown, color=na, textcolor=color.lime, location=location.belowbar, transp=0, offset = -prd)
float center = na
center := center[1]
float lastpp = ph ? ph : pl ? pl : na
if lastpp
if na(center)
center := lastpp
else
center := (center * 2 + lastpp) / 3
Up = center - (Factor * atr(Pd))
Dn = center + (Factor * atr(Pd))
float TUp = na
float TDown = na
Trend = 0
TUp := close[1] > TUp[1] ? max(Up, TUp[1]) : Up
TDown := close[1] < TDown[1] ? min(Dn, TDown[1]) : Dn
Trend := close > TDown[1] ? 1: close < TUp[1]? -1: nz(Trend[1], 1)
Trailingsl = Trend == 1 ? TUp : TDown
linecolor = Trend == 1 and nz(Trend[1]) == 1 ? color.lime : Trend == -1 and nz(Trend[1]) == -1 ? color.red : na
plot(Trailingsl, color = linecolor , linewidth = 2, title = "PP SuperTrend")
plot(showcl ? center : na, color = showcl ? center < hl2 ? color.blue : color.red : na, transp = 0)
bsignal = Trend == 1 and Trend[1] == -1
ssignal = Trend == -1 and Trend[1] == 1
if bsignal
strategy.entry("Buy", true, 2, comment = "Buy")
if ssignal
strategy.entry("Sell", false, 2, comment = "Sell")
if strategy.position_size == 2 and center > hl2 and usecenter
strategy.close("Buy", qty_percent = 50, comment = "close buy entry for 50%")
if strategy.position_size == -2 and center < hl2 and usecenter
strategy.close("Sell", qty_percent = 50, comment = "close sell entry for 50%")
if change(Trend)
strategy.close_all()