모멘텀 브레이크아웃 카마릴라 지원 전략

저자:차오장, 날짜: 2023-12-06 18:09:06
태그:

img

전반적인 설명

이 브레이크아웃 거래 전략은 동력 지표와 주요 지원 수준을 결합합니다. 이 브레이크아웃은 Camarilla 피보트, 이동 평균 및 가격 브레이크아웃을 사용하여 거래 신호를 생성합니다.

전략 논리

전략의 핵심 논리는: 가격이 Camarilla 핵심 지지 수준에 가까워지고 그 수준을 효과적으로 돌파하면 구매 신호가 생성됩니다. 가격이 Camarilla 핵심 저항 수준으로 상승하면 판매 신호가 생성됩니다.

특히, 전략은 구매 신호의 확인 수준으로 카마릴라 지지 수준 L3를 사용합니다. 가격이 L3 이하이고 L3 및 L2의 중간 지점 이하일 때 구매 조건이 트리거됩니다. 이것은 가격이 중요한 지지 수준에 가까워지고 복귀할 가능성이 있음을 나타냅니다. 잘못된 브레이크아웃을 필터링하기 위해 전략은 또한 폐쇄 가격이 개시 가격보다 커야한다는 입시 기준을 설정합니다.

전략의 스톱 로스 방법은 동적 스톱 로스 레벨을 설정하는 것입니다. 가격이 카마릴라 저항 레벨 H1 및 H2의 중간 지점을 초과하면 스톱 로스 판매가 시작됩니다. 이 동적 스톱 로스 레벨은 시장 변동성에 따라 스톱 로스를 추적 할 수 있습니다.

이점 분석

이 전략은 트렌드와 지원 수준을 결합한 신뢰할 수 있는 전략입니다. 이 전략의 장점은 다음과 같습니다.

  1. 중요한 가격 수준으로 입증된 주요 Camarilla 레벨을 사용하십시오.
  2. 트렌드 필터를 결합하여 트렌드에 걸려있는 것을 줄이십시오. EMA가 상승할 때만 길고 EMA가 하락할 때만 짧습니다.
  3. 동적 스톱 로스 전략은 시장 변동성에 따라 스톱 레벨을 조정하고, 고도의 오류 내성을 갖습니다.

위험 분석

이 전략은 또한 몇 가지 위험을 안고 있습니다.

  1. 카마릴라 레벨은 실패할 수 있습니다. 시장 구조가 변하면 이러한 핵심 레벨은 더 이상 적용되지 않을 수 있습니다.
  2. 스톱 손실은 너무 공격적이죠. 작은 스톱은 조기에 타격될 수 있습니다.
  3. 하락 추세에서 손실의 위험이있는 오해의 소지가있는 인출 신호가 나타날 수 있습니다.

대책은: 현재 시장 변동성 범위에 더 잘 맞도록 Camarilla 매개 변수를 조정; 조기 중단을 방지하기 위해 적절한 스톱 손실 범위를 넓히고; 긴 함정을 피하기 위해 하락 추세에있을 때 단지 짧습니다.

최적화 방향

이 전략에 대한 추가 최적화 방향은 다음과 같습니다.

  1. 부피 또는 탄력 지표와 같은 추가 필터 조건을 추가하여 잘못된 방향 입력을 피합니다.
  2. Camarilla 매개 변수를 최적화하여 현재 변동 범위에 더 잘 맞게 지원/ 저항 수준을 만듭니다.
  3. 가장 좋은 매개 변수 조합을 찾기 위해 다른 이동 평균 매개 변수를 시도해보세요.
  4. 다른 제품의 특성에 따라 멈추는 공격성을 조정합니다.

결론

이 전략은 트렌드, 지원 수준, 브레이크아웃과 같은 여러 차원을 포괄적으로 활용하여 엔트리 및 스톱 규칙을 구성합니다. 이것은 비교적 견고한 브레이크아웃 거래 전략입니다. 중요한 카마릴라 레벨의 검증 효과와 모멘텀 지표의 트렌드 판단을 결합합니다. 이것은 높은 확률 영역에서 트렌드 거래 기회를 포착하는 것을 목표로합니다. 한편으로, 위험 통제를 위해 동적 스톱이 설정됩니다. 이 전략은 효과적인 트렌드 브레이크아웃 전략으로 전략 라이브러리를 증가시킬 수 있습니다.


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

//@version=2
//Created by CristianD
strategy(title="CamarillaStrategyVhaouri", shorttitle="CD_Camarilla_StrategyV1", overlay=true) 
//sd = input(true, title="Show Daily Pivots?")
EMA = ema(close,8)
hh ="X"
//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, 'W', pivot[1]) 
dtime_h6 = request.security(syminfo.tickerid, 'W', h6[1]) 
dtime_h5 = request.security(syminfo.tickerid, 'W', h5[1]) 
dtime_h4 = request.security(syminfo.tickerid, 'W', h4[1]) 
dtime_h3 = request.security(syminfo.tickerid, 'W', h3[1]) 
dtime_h2 = request.security(syminfo.tickerid, 'W', h2[1]) 
dtime_h1 = request.security(syminfo.tickerid, 'W', h1[1]) 
dtime_l1 = request.security(syminfo.tickerid, 'W', l1[1]) 
dtime_l2 = request.security(syminfo.tickerid, 'W', l2[1]) 
dtime_l3 = request.security(syminfo.tickerid, 'W', l3[1]) 
dtime_l4 = request.security(syminfo.tickerid, 'W', l4[1]) 
dtime_l5 = request.security(syminfo.tickerid, 'W', l5[1]) 
dtime_l6 = request.security(syminfo.tickerid, 'W', l6[1]) 

men = (dtime_l1-dtime_l2)/7
//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_l3 and close  <= (dtime_l3-men)//close >dtime_h4 and open < dtime_h4 and EMA < close
if (longCondition)
    strategy.entry("Long12", strategy.long)
    strategy.exit ("Exit Long","Longl2") 
if (high >= (dtime_h1-men))
    strategy.entry("Short", strategy.short)
    strategy.exit ("Exit Short","Short")
  

    


더 많은