카마릴라 피보트 브레이크아웃 전략

저자:차오장, 날짜: 2024-01-04 16:17:06
태그:

img

전반적인 설명

카마릴라 피보트 브레이크아웃 전략 (Camarilla Pivot Breakout Strategy) 은 진입 및 출입을 위해 카마릴라 피보트 레벨을 활용하는 양적 거래 전략이다. 이 전략은 전통적인 기술 분석 지지 및 저항 이론을 기반으로 하며, 다양한 시간 프레임에서 피보트 포인트를 계산하기 위해 카마릴라 수학적 공식을 결합하고, 과도한 수익을 달성하기 위해 거래 개장 및 폐쇄의 조건으로 이러한 주요 레벨의 브레이크아웃을 설정합니다.

전략 논리

이 전략의 핵심 논리는: H4와 L4를 계산하고, 두 가지 주요 지지 및 저항 수준을 계산하고, 매일 시간 프레임에서 Camarilla 공식에서, 가격이 이 두 수준을 넘을 때 거래 신호를 생성합니다.

구체적으로, 전략은 먼저 회전점으로 현재 바의 최고, 최저 및 폐쇄 가격의 중간점을 계산합니다. 그 다음 가격 범위를 계산합니다. 범위에 따라 H4, H3, H2, H1 및 L1, L2, L3, L4를 포함한 다양한 카마릴라 레벨을 그래프화 할 수 있습니다. 그 중 H4는 첫 번째 저항이며 L4는 첫 번째 지원입니다.

거래 신호의 경우, 종료 가격이 H4 수준을 넘으면 긴 신호를 유발하고, 종료 가격이 L4 이하로 떨어지면 짧은 신호를 유발합니다. 주요 S / R 레벨의 브레이크를 캡처함으로써 전략은 트렌드의 방향과 동력을 판단하여 거래 신호를 생성합니다.

그래서 주요 논리는: 시장 구조를 결정하고 거래 신호를 얻기 위해 Camarilla 레벨 브레이크오프를 사용하는 것입니다.

이점 분석

이 카마릴라 탈출 전략은 몇 가지 핵심 강점을 가지고 있습니다.

  1. 검증된 전통적인 기술 이론을 바탕으로 안정적인 백테스트

카마릴라 분석은 고전적 인 지원 / 저항 개념을 사용합니다. 그러한 이론은 시간의 시험을 견디고 제품과 시간 프레임에 걸쳐 전략의 견고성을 보장합니다.

  1. 간단한 매개 변수, 쉬운 실행

머신러닝 모델과 비교하면, 카마릴라 규칙은 몇 가지 조정 가능한 메트릭과 함께 간단하며, 특히 초보자에게는 라이브 트레이딩에서 이해하기 쉽고 실행하기 쉽습니다.

  1. 명확한 탈출 신호, 간단한 코딩

H4/L4 브레이크오웃을 모니터링하는 것은 트레이드 엔트리에 직접 번역됩니다. 전략 신호는 선명하고 코드는 간단합니다. 이것은 아이디어에서 라이브 트레이딩까지 빠른 프로토타입을 허용합니다.

  1. 높은 주파수 및 낮은 주파수 거래에 적용됩니다.

카마릴라 전략은 높은 주파수 (초, 분자 바) 와 낮은 주파수 (일간, 주간) 거래에서 작동합니다. 이 다재다능성은 큰 장점입니다.

위험 분석

그러나 이러한 간단한 탈출 전략은 몇 가지 본질적인 약점을 가지고 있습니다.

  1. 거짓 파기 위험

가격은 파업 후 트렌드를 실패하고 오히려 역전될 수 있습니다. 적시에 손실을 줄이지 않으면 큰 인하로 이어질 수 있습니다. 우리는 잘못된 신호에 대한 보호 장치가 필요합니다.

  1. 탈출 기회를 놓쳤어

폐쇄 가격만을 모니터링하면 이전 바 기간 동안 잠재적인 브레이크오웃을 놓칠 수 있습니다. 신호 정확성을 향상시키기 위해 최적화가 필요합니다.

  1. 수익 잠재력은 제한 될 수 있습니다.

더 정교한 모델과 비교하면 카마릴라에 의존하는 것만으로도 수익률과 폭을 제한할 수 있습니다. 우리는 포지션 사이즈와 레버리지 관리를 통해 감축할 수 있습니다.

따라서 이러한 간단한 브레이크아웃 방법의 안정성을 보장하기 위해 스톱 로스를 통한 리스크 관리, 엔트리 로직 최적화 및 포지션 크기를 조정하는 것이 필요합니다.

최적화 방향

이 카마릴라 탈출 전략을 더욱 최적화하기 위해 우리는 다음에 초점을 맞출 수 있습니다:

  1. 실제 브레이크오웃을 감지하기 위해 추가 메트릭을 포함

부피, 이동 평균 등을 결합하여 브레이크오웃 진정성을 측정하고 잘못된 신호를 피합니다.

  1. 브레이크아웃 로직을 최적화

예를 들어, 벡스트 테스트를 통해 벡스트의 크기를 느려지게 하고

  1. 스톱 로스 전략을 최적화

조기 중단을 피하는 동안 손해를 막는 범위를 좁히거나

  1. 지점 크기와 레버리지를 동적으로 조정합니다.

변화하는 시장 체제에 맞게 지점 및 레버리지 매개 변수를 조정합니다.

  1. 더 발전된 기계 학습을 통합합니다

LSTM, RNN 모델을 활용해서 탈출 가능성을 예측하고 지능을 향상시켜

요약

카마릴라 피보트 브레이크아웃 전략 (Camarilla Pivot Breakout Strategy) 은 간단하고 직접적인 양적 거래 전략으로 구현이 용이하다. 성숙한 기술 분석 도구를 활용하고 주요 지원 및 저항 수준의 브레이크를 캡처하여 거래 신호를 생성한다. 이 유형의 전략은 안정성과 신뢰성의 장점이 있다. 또한 실제 실행에 비교적 간단하다. 물론, 더 높은 효율성을 달성하기 위해 스톱 로스, 매개 변수 조정, 리스크 제어 등에 대한 추가 개선이 필요하다.


/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//Created by CristianD
strategy(title="CamarillaStrategy", shorttitle="CD_Camarilla_Strategy", overlay=true) 
//sd = input(true, title="Show Daily Pivots?")
EMA = ema(close,3)

//Camarilla
pivot = (high + low + close ) / 3.0 
range = high - low
h5 = (high/low) * close 
h4 = close + (high - low) * 1.1 / 2.0
h3 = close + (high - low) * 1.1 / 4.0
h2 = close + (high - low) * 1.1 / 6.0
h1 = close + (high - low) * 1.1 / 12.0
l1 = close - (high - low) * 1.1 / 12.0
l2 = close - (high - low) * 1.1 / 6.0
l3 = close - (high - low) * 1.1 / 4.0
l4 = close - (high - low) * 1.1 / 2.0
h6 = h5 + 1.168 * (h5 - h4) 
l5 = close - (h5 - close)
l6 = close - (h6 - close)

// Daily line breaks
//sopen = request.security(syminfo.tickerid, "D", open [1])
//shigh = request.security(syminfo.tickerid, "D", high [1])
//slow = request.security(syminfo.tickerid, "D", low [1])
//sclose = request.security(syminfo.tickerid, "D", close [1])
//
// Color
//dcolor=sopen != sopen[1] ? na : black
//dcolor1=sopen != sopen[1] ? na : red
//dcolor2=sopen != sopen[1] ? na : green

//Daily Pivots 
dtime_pivot = request.security(syminfo.tickerid, 'D', pivot[1]) 
dtime_h6 = request.security(syminfo.tickerid, 'D', h6[1]) 
dtime_h5 = request.security(syminfo.tickerid, 'D', h5[1]) 
dtime_h4 = request.security(syminfo.tickerid, 'D', h4[1]) 
dtime_h3 = request.security(syminfo.tickerid, 'D', h3[1]) 
dtime_h2 = request.security(syminfo.tickerid, 'D', h2[1]) 
dtime_h1 = request.security(syminfo.tickerid, 'D', h1[1]) 
dtime_l1 = request.security(syminfo.tickerid, 'D', l1[1]) 
dtime_l2 = request.security(syminfo.tickerid, 'D', l2[1]) 
dtime_l3 = request.security(syminfo.tickerid, 'D', l3[1]) 
dtime_l4 = request.security(syminfo.tickerid, 'D', l4[1]) 
dtime_l5 = request.security(syminfo.tickerid, 'D', l5[1]) 
dtime_l6 = request.security(syminfo.tickerid, 'D', l6[1]) 

//offs_daily = 0
//plot(sd and dtime_pivot ? dtime_pivot : na, title="Daily Pivot",color=dcolor, linewidth=2)
//plot(sd and dtime_h6 ? dtime_h6 : na, title="Daily H6", color=dcolor2, linewidth=2)
//plot(sd and dtime_h5 ? dtime_h5 : na, title="Daily H5",color=dcolor2, linewidth=2)
//plot(sd and dtime_h4 ? dtime_h4 : na, title="Daily H4",color=dcolor2, linewidth=2)
//plot(sd and dtime_h3 ? dtime_h3 : na, title="Daily H3",color=dcolor1, linewidth=3)
//plot(sd and dtime_h2 ? dtime_h2 : na, title="Daily H2",color=dcolor2, linewidth=2)
//plot(sd and dtime_h1 ? dtime_h1 : na, title="Daily H1",color=dcolor2, linewidth=2)
//plot(sd and dtime_l1 ? dtime_l1 : na, title="Daily L1",color=dcolor2, linewidth=2)
//plot(sd and dtime_l2 ? dtime_l2 : na, title="Daily L2",color=dcolor2, linewidth=2)
//plot(sd and dtime_l3 ? dtime_l3 : na, title="Daily L3",color=dcolor1, linewidth=3)
//plot(sd and dtime_l4 ? dtime_l4 : na, title="Daily L4",color=dcolor2, linewidth=2)
//plot(sd and dtime_l5 ? dtime_l5 : na, title="Daily L5",color=dcolor2, linewidth=2)
//plot(sd and dtime_l6 ? dtime_l6 : na, title="Daily L6",color=dcolor2, linewidth=2)

longCondition = close >dtime_h4
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)
    


shortCondition = close <dtime_l4
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)
    


더 많은