모멘텀 반전 및 축소 돌파 저가 매수 골든 크로스 전략


생성 날짜: 2023-12-07 16:57:11 마지막으로 수정됨: 2023-12-07 16:57:11
복사: 0 클릭수: 472
1
집중하다
1166
수행원

모멘텀 반전 및 축소 돌파 저가 매수 골든 크로스 전략

개요

이 전략은 카마릴라 지점의 브레이크 신호를 기반으로, RSI 반전 지표와 결합하여 낮은 흡수 기회로, 높은 동력 반전 트랜스포메이션 낮은 흡수 전략을 형성한다. 가격이 카마릴라 지점을 돌파 할 때 거래 신호를 생성하고, RSI 낮은 것은 추가로 흡수 기회를 확인하고, 높은 동력 반전 전략에 속한다.

전략 원칙

전략의 핵심 신호는 카마릴라 지점에서 나온다. 카마릴라 지점은 어제의 가격 범위를 기반으로 계산되어 S1에서 S5까지의 지점과 R1에서 R5까지의 지점으로 나다. 가격이 S1 지점에서 위로 돌파할 때 구매 신호를 생성하고, 가격이 R1 지점에서 아래로 돌파할 때 판매 신호를 생성한다. 또한 RSI 지표와 결합하여 과매 상태인지 여부를 판단하면 진입의 성공률을 높일 수 있다.

구체적으로, 전략은 먼저 어제의 최고 가격, 최저 가격, 그리고 종결 가격에 기초하여, 카마릴라 지점을 계산한다. 그리고 종결 가격이 지지점을 뚫었는지 판단하여 거래 신호를 생성한다. 또한 RSI 지표가 낮은 지점에 있는지 판단하고, 30보다 낮으면 과매매로 간주한다. 종결 가격이 지지점을 뚫고 RSI가 30보다 낮으면 진정한 신호 거래가 발생합니다.

예를 들어, 만약 어제 가격이 10-11 사이로 변동한다면, 오늘 종결 가격이 11.05을 돌파하고, RSI 지표가 20을 표시하면, 구매 신호가 발생한다. 오늘 종결 가격이 10.95을 돌파하고, RSI가 20을 표시하면, 판매 신호가 발생한다. 따라서, 이 전략은 돌파 신호와 초매 신호의 장점을 결합한다.

우위 분석

이 전략의 가장 큰 장점은 오버박스 및 반전 기회를 식별하는 데 있습니다. 카마릴라 지점은 가격의 중요한 지원 및 저항 지점을 스스로 파악합니다. 반전 시기를 판단하는 RSI 지표와 결합하여 바닥을 정확하게 파악하여 추락을 막는 것을 피할 수 있습니다. 이것은 비교적 고급의 돌파 전략입니다.

또한, 지점은 동적으로 계산되며, 가격 변화를 적시에 따라잡는다. 전통적인 기술 지표와 달리, 파라미터를 설정해야 한다. 전략은 지점 분석의 장점을 계승하고, 더 유연하다. 또한, 반전 기회는 비교적 명확하며, 빈번한 거짓 신호가 발생하지 않는다.

위험 분석

이 전략의 가장 큰 위험은 가격이 가짜 브레이크가 될 수 있다는 것입니다. RSI 지표와 결합하여 과매매 상태를 확인했음에도 불구하고, 가격이 지지점을 뚫은 후 반전이 발생할 수 있습니다.

또 다른 위험은, RSI 지표가 실패하는 것이다. 초하락이 일어나더라도, RSI가 30 이하로 떨어지지 않은 것이다. 이 때 거래 신호가 형성되지 않고, 반전 기회를 놓치게 될 것이다. 이 위험을 대비하여, RSI의 파라미터 설정을 적절히 최적화 할 수 있다.

최적화 방향

이 전략은 다음과 같은 몇 가지 측면에서 최적화될 수 있습니다.

  1. RSI의 최적화 파라미터를 니다. 다른 초상 판매 라인을 테스트 할 수 있습니다. 30이 더 좋거나 20이 더 적합합니다.

  2. KDJ 지표와 같은 다른 지표를 추가하여 조합한다. KDJ 지표는 역전 신호의 신뢰성을 더욱 확인한다.

  3. 다양한 카마릴라 지점을 테스트한다. S1과 R1만 사용할 수 있어, 가짜 돌파의 가능성을 줄인다.

  4. 최적화 중지 전략. ATR 지표에 따라 중지 지점을 설정할 수 있으며, 또는 브레이크의 지점을 중지 지점으로 추적할 수 있다.

  5. 다양한 종류의 계약을 테스트한다. 주식 지수, 외환, 상품 등과 같은 다양한 종류의 계약에 적용한다. 변수는 조정해야 한다.

요약하다

이 전략은 고급의 동력 반전 돌파 전략에 속한다. 카마릴라 지점을 통해 돌파 신호를 판단하고, RSI 지표는 초매 상태를 결정한다. 전략의 장점은 반전 기회를 식별하는 데 있으며, 가장 큰 위험은 가격 가짜 돌파이다. 매개 변수 최적화 및 위험 관리를 통해 전략의 안정성과 수익성을 더욱 높일 수 있다.

전략 소스 코드
/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 07/05/2020
// Pivot point studies highlight prices considered to be a likely turning point
// when looking at values from a previous period, whether it be daily, weekly, 
// quarterly or annual. Each pivot point study has its own characteristics on 
// how these points are calculated. 
//
// Red color = Sell
// Green color = Buy
//
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Camarilla Pivot Points Backtest", shorttitle="CPP", overlay = true)
res = input(title="Resolution", type=input.resolution, defval="D")
SellFrom = input(title="Sell from ", defval="R1", options=["R1", "R2", "R3", "R4", "R5"])
BuyFrom = input(title="Buu from ", defval="S1", options=["S1", "S2", "S3", "S4", "S5"])
reverse = input(false, title="Trade reverse")
xHigh  = security(syminfo.tickerid,res, high)
xLow   = security(syminfo.tickerid,res, low)
xClose = security(syminfo.tickerid,res, close)
xXLC3 = (xHigh+xLow+xClose) / 3
xRange = xHigh-xLow
S1 = xClose - xRange * (1.1 / 12)
S2 = xClose - xRange * (1.1 / 6)
S3 = xClose - xRange * (1.1 / 4)
S4 = xClose - xRange * (1.1 / 2)
R1 = xClose + xRange * (1.1 / 12)
R2 = xClose + xRange * (1.1 / 6)
R3 = xClose + xRange * (1.1 / 4)
R4 = xClose + xRange * (1.1 / 2)
R5 = (xHigh/xLow) * xClose
S5 = xClose - (R5 - xClose)
pos = 0
S = iff(BuyFrom == "S1", S1, 
      iff(BuyFrom == "S2", S2,
       iff(BuyFrom == "S3", S3,
         iff(BuyFrom == "S4", S4,
          iff(BuyFrom == "S5", S5, 0)))))
B = iff(SellFrom == "R1", R1, 
      iff(SellFrom == "R2", R2,
       iff(SellFrom == "R3", R3,
         iff(SellFrom == "R4", R4,
          iff(SellFrom == "R5", R5, 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 )