역동 동적 피브 포인트 기하급수적 이동 평균 전략

저자:차오장, 날짜: 2023-12-08 11:37:36
태그:

img

전반적인 설명

역전 동적 피보트 포인트 기하급수적 이동 평균 전략은 역전 거래와 동적 지원 저항 수준을 결합합니다. 스토카스틱 오시레이터를 사용하여 시장 역전 지점을 식별하고 전날의 높은, 낮은 및 폐쇄 가격에 따라 매일 지원 / 저항을 계산합니다. 역전 및 피보트 포인트 전략이 구매 또는 판매 신호를 생성 할 때 길거나 짧습니다. 전략은 중장기 거래에 적합합니다.

전략 논리

역전 전략

역전 전략은 시장이 과잉 구매 또는 과잉 판매 될 때 가격이 가치 범위에 되돌아가는 경향이 있다는 논리에 기반합니다. 구체적으로 이 역전 전략은 울프 젠슨의 규칙을 따르고 있습니다.

클로지는 2 일 연속으로 이전 클로즈보다 높고 9 일간의 슬로우 K 라인이 50 이하인 경우; 클로지는 2 일 연속으로 이전 클로즈보다 낮고 9 일간의 패스트 K 라인이 50 이상인 경우 단위로 이동합니다.

동적 회전점 전략

동적 피워트 포인트 전략은 전날의 높은 가격, 낮은 가격 및 닫힌 가격에 기초하여 현재 날의 지원 및 저항 수준을 계산합니다. 공식은 다음과 같습니다.

회전점 = (높은 + 낮은 + 닫는) / 3

지원 1 = 회전점 - (최고 - 회전점)

저항 1 = 회전점 + (회전점 - 낮은)

클로즈가 저항 1보다 높을 때 길고 클로즈가 지원 1보다 낮을 때 짧습니다.

이중 신호

이 전략은 역전 및 동적 회전 포인트 전략을 결합합니다. 양 전략의 신호가 정렬 될 때만 위치에 진입합니다. 이것은 일부 잘못된 신호를 필터링하고 안정성을 향상시킵니다.

장점

이 전략의 가장 큰 장점은 역전 및 동적 S / R 전략의 장점을 결합한다는 것입니다. 주요 트렌드 역전에서 이익을 얻을 수 있으며 주요 지원 및 저항 수준을 식별 할 수 있습니다. 개별 전략에 비해 일부 잘못된 신호를 필터링하는 데 더 나은 안정성을 가지고 있습니다.

또한 전략은 몇 가지 매개 변수를 가지고 있으며 구현 및 최적화하기가 쉽습니다.

위험성

이 전략은 또한 다음과 같은 위험을 가지고 있습니다.

  • 역전 실패 - 가격이 역전 신호에도 불구하고 과도하게 확장되고 추세를 계속할 수 있습니다.

  • 지지/저항 레벨의 위반 - 가격이 계산된 S/R 레벨을 돌파하여 잘못된 신호를 초래할 수 있습니다.

  • 이중 신호가 너무 보수적이어서, 두 개의 신호 메커니즘이 너무 많은 거래를 필터링할 수 있습니다.

대책:

  • 세세하게 조정하고 다른 요소들을 조합해서 반전을 확인합니다.

  • 손실을 통제하기 위해 손해를 멈추는 방법을 사용하세요.

  • 더 많은 거래 기회를 허용하기 위해 규칙을 조정합니다.

더 나은 기회

이 전략은 다음 영역에서 강화될 수 있습니다.

  1. 역행을 식별하는 민감성을 향상시키기 위해 다른 스토카스틱 매개 변수 조합을 테스트합니다.

  2. 다른 이동 평균 또는 장기 지표를 테스트하여 전체 추세를 더 잘 측정합니다.

  3. 시장 구조를 결정하기 위해 다른 요소를 추가하십시오. 예를 들어 부피 지표.

  4. 더 많은 트레이드를 포착하기 위해 이중 신호 규칙을 최적화하십시오.

  5. 스톱 로스를 포함해서 리스크를 관리해야 합니다.

결론

역동 동적 피보트 포인트 기하급수적 이동 평균 전략은 역전 거래와 동적 지원 저항 분석의 장점을 결합합니다. 주요 트렌드 전환점으로부터 이익을 얻을 수 있으며 주요 수준에 대한 내일 방향성을 측정 할 수 있습니다. 이중 신호 메커니즘을 활용함으로써 잘못된 거래를 필터링하는 데 좋은 안정성을 가지고 있습니다. 성능을 향상시키기 위해 매개 변수를 조정하고 추가 필터를 테스트하여 전략을 더 이상 최적화 할 수 있습니다.


/*backtest
start: 2023-11-07 00:00:00
end: 2023-12-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/03/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// 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.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

DPP() =>
    pos = 0
    xHigh  = security(syminfo.tickerid,"D", high[1])
    xLow   = security(syminfo.tickerid,"D", low[1])
    xClose = 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))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Dynamic Pivot Point", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDPP = DPP()
pos = iff(posReversal123 == 1 and posDPP == 1 , 1,
	   iff(posReversal123 == -1 and posDPP == -1, -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 )

더 많은