
이 전략은 주로 카마릴라 통로와 이동평균선을 기반으로 시장의 돌파구를 판단하여 추세를 추적한다. 전략은 비교적 간단하지만 강력한 실용성을 가지고 있다.
카마릴라 통로의 지지선과 저항선을 계산한다. H4, L4 등이 포함된다.
가격이 이 통로선을 뚫었는지 판단한다. 예를 들어, 닫기 가격에 H4 라인을 통과하고 H4 라인보다 낮은 오픈 가격을 통과하는 것은 파격 신호가 있다고 본다.
이동 평균 판단에 합류하여, 더 이상의 브레이크 신호를 확인한다. 예를 들어 EMA가 종결 가격보다 낮다면 다단계 브레이크이다.
다중 상점 포지션에 들어가서, 고정된 스톱 포인트와 스톱 트래킹 방식과 같은 스톱 및 스톱 조건을 설정합니다.
공허함에도 같은 판단이 적용됩니다.
전략의 주요 판단 논리는 비교적 간단하고 직관적이며 이해하기 쉽고 구현할 수 있다. 동적으로 스톱로스를 추적함으로써 트렌드 반전이 될 때까지 지속적으로 수익을 얻을 수 있다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
카마릴라 통로를 기반으로 잠재적인 지원과 저항을 정확하게 파악할 수 있다.
일률적인 필터링과 결합하여, 돌파 신호의 진리와 거짓을 효과적으로 구분할 수 있다.
상환 상쇄를 방지하기 위해 상쇄를 추적하는 방법을 사용하면 지속적인 이익을 얻을 수 있습니다.
전략적 신호는 간단하고 명확하며, 동작을 판단하기 쉽다.
매개 변수를 자주 조정할 필요 없이 매개 변수에 맞는 자동 거래.
이 전략에는 다음과 같은 위험도 있습니다.
카마릴라 통로 (Camaleira Channel) 는 트렌드 전환점을 효과적으로 판단하지 못하여 손실을 확대할 수 있습니다.
불합리한 스톱포인트 설정은 조기 중단 또는 손실 확장을 초래할 수 있습니다.
파격 신호는 가짜 파격이 있을 수 있다.
이 시장의 큰 흔들림에는 여러 개의 가짜 돌파구가 있었습니다.
이 전략은 다음과 같은 측면에서 최적화될 수 있습니다.
복합 필터링 지표를 증가시키고, 돌파율의 정확도를 높인다. KDJ, MACD 등이 고려될 수 있다.
다이내믹 스톱을 도입하고 ATR 지표와 결합하는 등 스톱 스톱 전략을 최적화한다.
다양한 품종의 매개 변수를 최적화하여 안정성을 높인다.
대주기 트렌드에 대한 판단을 높이고 역대 거래를 피하십시오.
그 날 수량 분석과 함께, 초점이 높은 수량으로 돌파할 수 있다.
자동 변수 최적화 프로그램을 개발하여 실시간으로 변수를 최적화한다.
이 전략은 가격 차이를 이용하는 다중 경매 전략으로 확장되었다.
이 전략의 전체적인 아이디어는 명확하고 간단하며, 실용성이 강하며, 전형적인 돌파 추적 전략이다. 카마릴라 통로를 통해 잠재적인 지원 저항을 판단하고, 그 다음 일률적인 필터링과 결합하여 돌파 방향을 결정한다.
/*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)