카마릴라 지원 및 저항 레이어 돌파 전략


생성 날짜: 2024-01-04 16:17:06 마지막으로 수정됨: 2024-01-04 16:17:06
복사: 2 클릭수: 1026
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

카마릴라 지원 및 저항 레이어 돌파 전략

개요

Camarilla Pivot Breakout Strategy (카마릴라 피봇 브레이크아웃 전략) 은 카마릴라 지지 저항층을 이용하여 엔트리와 엑시트를 수행하는 양적 거래 전략이다. 이 전략은 전통적인 기술 분석의 지지 저항 이론을 참고하여, 카마릴라 수학적 공식과 결합하여 다양한 시간 레벨의 지지 저항의 핵심 지점을 계산하고, 이러한 핵심 지점을 돌파하는 것을 포장 및 포장의 조건으로 설정하여 초과 수익을 얻는 것을 목표로 한다.

전략 원칙

이 전략의 핵심 논리는 다음과 같습니다: Camarilla 공식에서 얻어진 해상선 레벨의 H4 및 L4 두 개의 핵심 지지 저항 포인트를 계산하고, 가격이 이 두 점을 돌파 할 때 거래 신호를 냅니다.

구체적으로, 전략은 먼저 현재 K 선의 하루 최고 가격, 최저 가격, 그리고 종료 가격의 중간값을 그날의 지지 저항의 중심점으로 계산한다. 그리고 세 가격의 범위를 계산한다. Range에 따라 Camarilla 공식의 각 핵심 지지 저항 레벨을 계산할 수 있다.

거래 신호 발생에 있어서, 당일 종결 가격이 상단의 H4 지점을 뚫면, 다중 신호를 발생시킨다; 종결 가격이 아래의 L4 지점을 뚫면, 공백 신호를 발생시킨다. 이렇게, 핵심 지지 저항 지점의 돌파구를 포착함으로써, 시장의 돌파 방향과 강도를 판단하여 거래 신호를 발생시킨다.

그래서 이 전략의 주요 논리는 시장 구조를 판단하고 거래 신호를 얻기 위해 카마릴라의 중요한 지점을 이용하는 것입니다.

우위 분석

카마릴라를 이용해서 저항점을 돌파하는 이 전략에는 몇 가지 주요 장점이 있습니다.

  1. 전통적인 기술을 사용하여 이론적 지표를 분석하고 안정성을 측정합니다.

카마릴라 분석은 전통적인 기술 분석에서 뒷받침되는 저항 이론에 기초한다. 이 이론은 시간의 시험을 테스트하여 전략이 다른 품종과 다른 기간 동안 안정성을 보장 할 수 있다.

  1. 매개 변수 설정이 간단하고, 리드 디스크 조작이 쉽다

기계학습과 같은 맞춤형 전략에 비해, 카마릴라 전략 규칙은 간단하고, 파라미터가 적고, 이해하기 쉽고 실내에서 동작하기 쉽다. 이것은 초보자에게는 매우 중요하다.

  1. 브레이크 신호는 명확하고 실행이 간단합니다.

H4와 L4의 돌파구를 모니터링하면 포지션을 설정할 수 있고, 전략 신호는 간결하고 명확하며, 코드 구현도 매우 간단합니다. 이것은 우리가 전략 아이디어를 빠르게 테스트하고 실장에 올릴 수 있습니다.

  1. 고주파 거래와 저주파 거래에 적합합니다.

카마릴라 전략은 고주파 (초계, K계) 와 저주파 (일계, 주계) 의 거래에 모두 적합하며, 이는 큰 장점이다.

위험 분석

물론, 이 간단한 돌파구 전략에는 다음과 같은 위험도 있습니다.

  1. 가짜 침입의 위험

시장이 카마릴라 지점을 돌파한 후 같은 방향으로 계속 운행할 수 없을 수도 있고, 반전 즉 가짜 돌파가 발생할 위험이 있다. 이 때 조기에 중단하지 않으면 큰 손실에 직면할 수 있다.

  1. 일부 돌파구가 잡히지 않는 위험

종전 가격의 돌파구를만 감시하면 일부 돌파구 기회를 놓칠 수 있으며 이로 인해 수익에 영향을 미칠 수 있습니다. 이것은 입시 조건을 최적화하여 해결해야합니다.

  1. 수익을 제한할 수 있는 위험

더 복잡한 전략에 비해, 카마릴라 포인트 돌파구에만 의존하는 수익의 공간과 폭은 상대적으로 제한적일 수 있다. 이것은 적당히 지주 규모를 조정하는 방법과 같은 방법으로 완화될 수 있다.

따라서 이러한 간단한 돌파구 전략은 추가적으로 손실을 막는 전략, 최적화된 입시 조건 및 적절하게 조정된 포지션 위치와 같은 방법을 통해 위험을 통제하고 안정적으로 작동하도록 해야 합니다.

최적화 방향

카마릴라 뚫는 전략의 추가적인 최적화와 개선은 다음과 같은 것에서 시작됩니다.

  1. 더 많은 지표와 함께

예를 들어, 결합 에너지 지표, 이동 평균 등으로 돌파의 신뢰성을 판단하고, 가짜 돌파의 위험을 피한다.

  1. 브레이크 판정 논리를 최적화

예를 들어, 돌파폭을 완화하고, 재검토를 통해 더 좋은 파라미터를 결정한다. 또는 계절성을 결합하는 것과 같은 더 많은 규칙이다.

  1. 손해 방지 전략의 최적화

적절히 줄여서 피하는 것. 또는 실수로 손실을 막는 것, 이동 손실을 막는 것 같은 전략을 설정하는 것.

  1. 동적으로 위치와 레버리지를 조정

시장의 변화에 따라 포지션 크기와 레버리지 파라미터를 조정하여 전략이 다른 시장 상황에 더 잘 적응하도록하십시오.

  1. 더 복잡한 기계학습 알고리즘과 함께

LSTM, RNN 등과 같은 딥러닝 모델을 사용하여 핵심점 돌파율을 예측하여 전략을 더 지능화하십시오.

요약하다

카마릴라 (Camarilla) 지지층 저항층을 뚫는 전략은 간단하고 직접적이고 쉽게 구현할 수 있는 정량화 거래 전략이다. 그것은 숙련된 기술 분석 도구를 사용하여 중요한 지지층 저항점의 뚫음을 포착하여 거래 신호를 생성한다. 이 전략의 장점은 안정적이고 신뢰할 수 있으며 실내 운영도 간단하다. 물론, 더 높은 거래 효율을 얻기 위해서는 손실 최적화, 매개 변수 조정, 위험 제어 등에 대한 추가 최적화가 필요합니다.

전략 소스 코드
/*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)