우디 피보트 포인트 백테스트 전략

저자:차오장, 날짜: 2023-09-20 17:08:11
태그:

전반적인 설명

이 전략은 백테스트를 위해 피보트 및 거래 브레이크오웃을 계산하기 위해 우디 모델을 사용합니다.

전략 논리

  1. 현재 기간의 피보트 및 밴드를 계산하여 이전 기간의 높고 낮고 닫습니다.

  2. 만약 가격이 아래로부터 피보트를 넘어서면 롱으로 가자

  3. 만약 가격이 위로부터의 피보트 아래로 떨어지면 쇼트를 하

  4. 반전 신호를 거래할 수 있는 옵션

  5. 색상 코드는 다른 무역 신호입니다.

장점

  1. 우디 모델 계산은 간단하고 직관적입니다.

  2. 피보트 브레이크업은 일반적인 기술입니다.

  3. 시각화 된 피보트와 신호 표시.

  4. 간단하고 실용적인 기본 매개 변수

  5. 코드는 이해하기 쉽고 수정하기 쉽습니다.

위험성

  1. 첫 번째 탈출 후 가짜 탈출의 위험.

  2. 정지 및 출구를 설정하는 효과적인 방법이 없습니다.

  3. 잘못된 모델과 매개 변수는 성능에 부정적인 영향을 미칩니다.

  4. 추세와 범위를 구분하지 못합니다.

  5. 신호는 제때가 아닐 수도 있습니다.

강화

  1. 다양한 기간 매개 변수를 테스트하여 최적의 값을 얻습니다.

  2. 추가 검증을 위해 트렌드 필터를 추가합니다.

  3. 스톱 로스를 포함하고 리스크 통제를 위해 이윤을 취합니다.

  4. 피난 후 후퇴를 평가하여 신호를 계속하도록 합니다.

  5. 탈출의 강도를 측정하는 방법을 연구합니다.

  6. 확인을 위해 다른 요인과 결합하는 것을 고려하십시오.

결론

이 전략은 우디 피보트 브레이크오웃을 거래합니다. 매개 변수를 최적화하고 정지 및 출구를 추가하면 신뢰할 수있는 단기 시스템의 안정성을 향상시킬 수 있습니다.


/*backtest
start: 2022-09-13 00:00:00
end: 2023-02-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 22/08/2018
// Simply input the vales of the high, low and closing price of the previous 
// period to calculate the Woodie pivot point and the associated resistance 
// and support levels for the present period.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Woodie Pivot Points Backtest", overlay = true)
width = input(2, minval=1)
xHigh  = security(syminfo.tickerid,"D", high[1])
xLow   = security(syminfo.tickerid,"D", low[1])
xClose = security(syminfo.tickerid,"D", close[1])
reverse = input(false, title="Trade reverse")
xPP = (xHigh+xLow+(xClose*2)) / 4
pos = iff(close[1] < xPP[1] and close > xPP, 1,
       iff(close < xPP, -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(xPP, color=blue, title="WPP", style = circles, linewidth = width)

더 많은