볼린저 밴드 기반의 카마릴라 피보트 포인트 전략

저자:차오장, 날짜: 2024-02-05 14:23:59
태그:

img

전반적인 설명

이 전략은 먼저 이전 거래 날의 최고 가격, 최저 가격 및 폐쇄 가격에 기초하여 Camarilla 피보트 포인트를 계산합니다. 그 다음 가격이 피보트 포인트를 통과 할 때 거래 신호를 생성하기 위해 볼링거 밴드 지표로 가격을 필터합니다.

전략 논리

  1. 이전 거래일의 가장 높은 가격, 가장 낮은 가격 및 종료 가격을 계산합니다.
  2. Camarilla 회전 선을 계산 하 고 레일 H4, H3, H2, H1 및 하 고 레일 L1, L2, L3, L4 공식에 따라
  3. 20일 볼링거 밴드 상단역과 하단역 계산
  4. 가격이 하위 범위를 넘어서면 길게, 가격이 상위 범위를 넘어서면 짧게
  5. Bollinger Bands 상단 또는 하단 지대 근처에 Stop Loss를 설정합니다.

이점 분석

  1. 카마릴라 피보트 라인은 거래 신호의 신뢰성을 높이기 위해 여러 가지 주요 지원 및 저항 수준을 포함합니다.
  2. 볼링거 밴드와 결합하면 가짜 브레이크를 효과적으로 필터링합니다.
  3. 여러 매개 변수 조합으로 거래가 유연합니다.

위험 분석

  1. 부적절한 볼링거 밴드 매개 변수 설정으로 인해 잘못된 거래 신호가 발생할 수 있습니다.
  2. 카마릴라 피보트 포인트는 이전 거래 날의 가격에 의존하고 있으며, 오버나이트 격차에 영향을 받을 수 있습니다.
  3. 긴 포지션과 짧은 포지션 모두 손실 위험이 있습니다.

최적화 방향

  1. 가장 좋은 조합을 찾기 위해 볼링거 밴드 매개 변수를 최적화
  2. 거짓 브레이크오웃 신호를 필터링하기 위해 다른 지표를 추가
  3. 단일 손실을 줄이기 위해 스톱 로스 전략을 늘려라

요약

이 전략은 카마릴라 피보트 라인과 볼링거 밴드를 결합하여 가격이 주요 지원 및 저항 수준을 넘으면 거래 신호를 생성합니다. 매개 변수 최적화 및 신호 필터링을 통해 전략의 수익성과 안정성이 향상 될 수 있습니다. 전반적으로이 전략은 명확한 거래 논리와 높은 작동성을 가지고 있으며 실시간 거래 검증을 가치가 있습니다.


/*backtest
start: 2024-01-28 00:00:00
end: 2024-02-04 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 12/05/2020
// Camarilla pivot point formula is the refined form of existing classic pivot point formula. 
// The Camarilla method was developed by Nick Stott who was a very successful bond trader. 
// What makes it better is the use of Fibonacci numbers in calculation of levels.
//
// Camarilla equations are used to calculate intraday support and resistance levels using 
// the previous days volatility spread. Camarilla equations take previous day’s high, low and 
// close as input and generates 8 levels of intraday support and resistance based on pivot points. 
// There are 4 levels above pivot point and 4 levels below pivot points. The most important levels 
// are L3 L4 and H3 H4. H3 and L3 are the levels to go against the trend with stop loss around H4 or L4 . 
// While L4 and H4 are considered as breakout levels when these levels are breached its time to 
// trade with the trend.
//
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Camarilla Pivot Points V2 Backtest", shorttitle="CPP V2", overlay = true)
res = input(title="Resolution", type=input.resolution, defval="D")
width = input(1, minval=1)
SellFrom = input(title="Sell from ", defval="R1", options=["R1", "R2", "R3", "R4"])
BuyFrom = input(title="Buu from ", defval="S1", options=["S1", "S2", "S3", "S4"])
reverse = input(false, title="Trade reverse")
xHigh  = security(syminfo.tickerid,res, high)
xLow   = security(syminfo.tickerid,res, low)
xClose = security(syminfo.tickerid,res, close)
H4 = (0.55*(xHigh-xLow)) + xClose
H3 = (0.275*(xHigh-xLow)) + xClose
H2 = (0.183*(xHigh-xLow)) + xClose
H1 = (0.0916*(xHigh-xLow)) + xClose
L1 = xClose - (0.0916*(xHigh-xLow))
L2 = xClose - (0.183*(xHigh-xLow))
L3 = xClose - (0.275*(xHigh-xLow))
L4 = xClose - (0.55*(xHigh-xLow))
pos = 0
S = iff(BuyFrom == "S1", H1, 
      iff(BuyFrom == "S2", H2,
       iff(BuyFrom == "S3", H3,
         iff(BuyFrom == "S4", H4,0))))
B = iff(SellFrom == "R1", L1, 
      iff(SellFrom == "R2", L2,
       iff(SellFrom == "R3", L3,
         iff(SellFrom == "R4", L4,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 )

더 많은