카마릴라 채널을 기반으로 한 탈출 전략

저자:차오장, 날짜: 2023-10-24 16:18:30
태그:

img

전반적인 설명

이 전략은 주로 Camarilla 채널과 이동 평균을 사용하여 시장의 브레이크포인트를 식별하고 트렌드 추적을 구현합니다. 전략은 비교적 간단하지만 매우 실용적입니다.

전략 논리

  1. H4, L4 등을 포함한 Camarilla 채널을 사용하여 지원 및 저항 수준을 계산합니다.

  2. 가격이 이 채널 라인을 통과하는지 확인합니다. 예를 들어, H4 위에 닫고 H4 아래에 열면 파업 신호를 나타냅니다.

  3. 추가 확인을 위해 이동 평균 필터를 추가합니다. 예를 들어, EMA가 닫기보다 낮다면 상승폭이 있습니다.

  4. 스톱 로스로 긴 포지션을 입력하고 수익을 취하십시오. 고정 스톱 로스 포인트와 후속 스톱 로스 같은 경우.

  5. 같은 논리는 쇼트 포지션에도 적용됩니다.

논리는 직설적이고 이해하기 쉽습니다. 트레일링 스톱 로스로 전략은 트렌드를 효과적으로 견딜 수 있습니다.

장점

이 전략의 장점:

  1. 카마릴라 채널은 잠재적인 지원과 저항을 정확하게 찾습니다.

  2. 이동평균 필터는 진정한 브레이크오웃 신호를 검증하는 데 도움이 됩니다.

  3. 트레이일링 스톱 로스는 반전 스톱을 피하면서 수익을 취합니다.

  4. 신호는 명확하고 행동하기 쉽습니다.

  5. 자동화 거래에 자주 조정할 필요가 없습니다.

위험 과 해결책

주의해야 할 몇 가지 위험 요소가 있습니다.

  1. 카마릴라 채널은 전환점을 효과적으로 식별할 수 없습니다.

    • 솔루션: 트렌드 반전을 감지하기 위해 오시레이터를 추가합니다.
  2. 잘못 설정된 스톱 로스 포인트는 조기 종료 또는 손실 증가로 이어질 수 있습니다.

    • 솔루션: 다양한 스톱 로스 레벨을 최적화하고 테스트합니다.
  3. 파기 신호가 거짓 신호로 판명될 수도 있습니다.

    • 해결책: 확인을 위해 더 많은 필터를 추가하거나 갱신 기준을 완화합니다.
  4. 다양한 시장에서 많은 가짜 브레이크가 발생할 수 있습니다.

    • 해결책: 일정 기간 동안 거래를 피하거나 기준을 완화하십시오.

개선 할 수 있는 제안

이 전략은 다음과 같은 측면에서 더 개선될 수 있습니다.

  1. 더 많은 지표를 필터로 추가하여 KDJ, MACD 등과 같은 브레이크오웃 정확도를 높입니다.

  2. 동적 후속 스톱 손실, ATR 통합 등과 같은 출구를 최적화합니다.

  3. 내구성을 높이기 위해 다양한 제품의 매개 변수를 최적화합니다.

  4. 더 높은 시간 프레임 트렌드 필터를 추가하여 역 트렌드 거래를 피합니다.

  5. 확인을 위해 높은 부피의 뷰어에 집중하세요

  6. 동적 튜닝을 위한 자동 매개 변수 최적화를 개발합니다.

  7. 여러 제품 중재 전략으로 확장합니다.

결론

이 전략은 명확하고 간단한 논리를 가지고 있으며 강력한 실용성을 가지고 있습니다. Camarilla를 사용하여 잠재적 인 지원과 저항을 식별하고 이동 평균으로 브레이크아웃 방향을 확인합니다. 출구 방법 또한 합리적입니다. 더 많은 지표, 멀티 제품 확장 등과 같은 향상 가능성도 있습니다. 전반적으로 이것은 좋은 잠재력을 가진 유망한 전략입니다.


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

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

//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 and open < dtime_h4 and EMA < close
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit ("Exit Long","Long",  trail_points = 140,trail_offset = 1, loss =170) 
    //trail_points = 40, trail_offset = 3, loss =70 and


shortCondition = close <dtime_l4 and open >dtime_l4 and EMA > close
if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit ("Exit Short","Short", trail_points = 110,trail_offset = 1, loss =120)
    


더 많은