CCI 강력한 돌파 전략


생성 날짜: 2023-11-15 16:52:06 마지막으로 수정됨: 2023-11-15 16:52:06
복사: 0 클릭수: 710
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

CCI 강력한 돌파 전략

개요

이 전략은 고전 상품 통로 지수 ((CCI) 를 기반으로 하며, 단지 다중으로만 한다. CCI 지표가 극히 낮은 수준 ((CCI <-150 또는 사용자 정의 하락값) 에 있을 때, 그리고 다시 강도를 획득할 때 (CCI> 전근 K 선의 CCI), 동시에 가격 강도 자체에 필터링을 한다 (즉, 신호를 보내는 K 선의 종식 가격이 오픈 가격보다 일정 범위 이상으로 높아야 한다 - 고정된 0.25%), 시스템은 시장에 진입한다.

이 전략은 트렌드 전체의 길이를 추적하는 것이 아니라 높은 승률을 얻는 거래에 사용된다. 따라서 잠재적인 손실을 보는 것을 참지 못하는 거래자에게 적용된다.

전략 원칙

  1. ta.sma() 와 ta.dev() 함수를 사용하여 CCI 지표와 그 간격대를 구성한다.

  2. input를 사용하여 거래 시작 날짜를 선택하고, 피드백 창을 설정한다.

  3. 입시 조건: CCI 아래로 하위선을 통과하고 상향선을 시작하면서 신호 K 라인 종료 가격이 오픈 가격보다 0.25% 높게 요구한다.

  4. 출전 조건 1:CCI에 선을 입고, 피트 을 출장한다.

  5. 출전 조건 2: 스톱로스 라인을 넘어, 손실로 출장한다.

  6. 전략은 단지 CCI 지표의 강도에 따라 진출 시기를 선택하면서도 손해 통제 위험을 이용하는 것이다.

우위 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. CCI 지표를 사용하여 과매매 상황을 식별하여 역전 기회를 효과적으로 잡을 수 있습니다.

  2. 하지만, 다른 방향에서 하는 것만으로도, 잘못된 조작으로 인한 과도한 위험은 피할 수 있습니다.

  3. 가격의 힘을 가하여 입시 시 가격의 지지율이 형성되었는지 확인한다.

  4. 단독 손실을 통제하고 자금을 효율적으로 관리하는 손해 방지 장치

  5. 리포트 파라미터는 유연하며, 입시 필터 조건을 조정할 수 있다.

  6. 투자자, 투자자, 투자자, 투자자,

  7. 전략이 명확하고, 코드가 간단하고, 이해하기 쉽다.

위험 분석

이 전략에는 위험도 있습니다.

  1. 하지만, 이 모든 것은 단지 다방향으로만 움직일 수 있기 때문에, 하향 경향을 놓치는 것은 쉽다.

  2. CCI 파라미터를 잘못 설정하면 실패로 이어질 수 있다.

  3. 정지 손실 설정이 너무 느슨해서 손실을 효과적으로 제어할 수 없습니다.

  4. 이 경우, 상자 거래가 너무 강해서, 상자 거래가 중단되고, 상자 거래가 중단되어 큰 손실이 발생한다.

  5. 거래 빈도가 너무 높으면 거래 비용에 부담이 됩니다.

대응 위험 관리 조치:

  1. CCI 파라미터를 최적화하여 최적의 값을 찾습니다.

  2. 스톱 손실의 폭을 조정하여 위험과 스톱 손실이 깨질 확률 사이의 균형을 찾습니다.

  3. 거래비용을 고려하여 출입률을 조절하는 것.

  4. 트렌드 및 분기 판단을 결합하여 일방적인 거래를 피하십시오.

최적화 방향

이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.

  1. 동적 스톱을 사용하여 시장의 변동에 따라 스톱 거리를 조정합니다.

  2. MACD와 같은 지표와 결합하여 너무 느슨한 중지 손실을 피하십시오.

  3. 판매 기회를 늘리고, CIC가 뜨거워지면 공백을 고려하십시오.

  4. 거래 비용 요소를 고려하여 최소 정지 거리를 설정하십시오.

  5. 최적화 매개 변수와 전략 시간 프레임워크를 결합하여 최적의 조합을 찾습니다.

  6. 기계 학습 방법을 사용하여 매개 변수를 자동으로 최적화하십시오.

  7. 자금 관리 모듈을 추가하고, 동적으로 포지션을 조정한다.

요약하다

요약하자면, 이 전략은 CCI 지표의 초과 구매 초과 판매 특성을 활용하여, 가격이 지지율을 형성하는 상황에서 더 많이 하고, 손실을 제어하는 위험을 통해, 높은 승률 거래를 추구한다. 전략의 장점은 간단하고 쉬운 조작이며, 위험이 통제되어 있다. 존재하는 결점은 단지 너무 많이 하고, 고정된 것보다 너무 많은 손실을 중지하는 등이 있다.

전략 소스 코드
/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title='CCI High Performance long only', overlay=false )
src = input(close)
length = input.int(20, title='Period', minval=1)
lossp = input.float(8, title='Stop Loss percentage', minval=0.5, step=0.5)
scart = input.float(0.25, title='Close of the signal bar higher than Open %', minval = 0)
upperline = input.int(150, title='Upper Band', minval=0, step=10)
lowline = input.int(-150, title='Low Band', maxval=0, step=10)


// construction of CCI (not on close but in totalprice) and of bands
ma = ta.sma(src, length)
cci = (src - ma) / (0.015 * ta.dev(src, length))
plot(cci, 'CCI', color=color.new(#996A15, 0))
band1 = hline(upperline, 'Upper Band', color=#C0C0C0, linestyle=hline.style_dashed)
band0 = hline(lowline, 'Lower Band', color=#C0C0C0, linestyle=hline.style_dashed)
fill(band1, band0, color=color.new(#9C6E1B, 90), title='Background')
// === INPUT BACKTEST RANGE ===
fromMonth = input.int(defval = 1,    title = "From Month",  minval = 1, maxval = 12)
fromDay   = input.int(defval = 1,    title = "From Day",    minval = 1, maxval = 31)
fromYear  = input.int(defval = 2016, title = "From Year",   minval = 1970)
thruMonth = input.int(defval = 1,    title = "Thru Month",  minval = 1, maxval = 12)
thruDay   = input.int(defval = 1,    title = "Thru Day",    minval = 1, maxval = 31)
thruYear  = input.int(defval = 2112, title = "Thru Year",   minval = 1970)
// === FUNCTION EXAMPLE limit for backtest ===
start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)            // backtest start  window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)            // backtest finish window
window()  => time >= start and time <= finish ? true : false           // create function "within window of time"
//ENTRY CONDITIONS

// strategy: enter when CCI is under the low line and starts increasing. The filter is that the signal candle should mark a close higher than a x-percent
// (0.25%) of the open
// Exit when either when it reaches the target of a prices highest than high level of CCI or fixed stop loss (in percentage)
scart_level = open * (1+scart/100)
entryl = cci[1] < lowline[1] and cci > cci[1] and close > scart_level and window()
exit1 = cci> upperline
strategy.entry('Long', strategy.long, when=entryl)
strategy.close('Long', when=exit1, comment='target')

// money management (only stop loss)
losspel = strategy.position_avg_price * (1 - lossp / 100)
fixed_stop_long = close < losspel
strategy.close('Long', when=fixed_stop_long, comment='Stop Loss')