Candle Range Theory (CRT) Strategy
16 3월 2025에 생성됨
·
05 9월 2025에 업데이트됨
Candle Range Theory (CRT) 전략은 NinjaTrader 8 플랫폼을 위한 프리미엄 기계식 전략입니다. 이 전략은 프롭펌 평가 챌린지를 통과하는 데 사용할 수 있습니다.
사전 요구 사항
이 전략을 제대로 사용하려면 다음의 사전 요구 사항이 필요합니다.
- NinjaTrader 8(모든 라이선스 유형 포함). 다운로드하려면 여기를 클릭하세요
- automated-trading.ch 계정 및 활성 Premium 구독
중요 면책사항
알고리즘 거래 시스템을 열심히 번 실제 자금에서 절대 실행하지 않기를 강력히 권장합니다. 항상 위험을 최소화하고 거래자 펀딩 프로그램에서 전략을 실행하여 최대 손실액이 해당 프로그램에 지불하는 월간 구독료가 되도록 해야 합니다.
진입 설정 예시
이 전략은 Candle Range Theory (CRT) 방법론을 기반으로 한 단일 진입 설정을 가지고 있습니다.
간단히 말해서, CRT 진입 모델은 정의된 위험/보상 비율을 가진 높은 확률의 진입 모델입니다. 더 높은 타임프레임에서 캔들 패턴을 분석하고 더 낮은 타임프레임에서 진입 확인을 찾는 것에 기반합니다.
더 높은 타임프레임에서는 CRT 캔들스틱 패턴을 식별하려고 합니다 — 누적, 조정, 배분 구조를 존중하는 순서로, 세 개의 캔들에 걸쳐 형성됩니다:
- 첫 번째 캔들은 긴 누적 캔들입니다.
- 두 번째 캔들은 조정 캔들이며, 가격이 이전 캔들의 고점 위에 심지를 만들지만 다시 내려와 이전 캔들의 본체 내부에서 마감합니다.
- 세 번째 캔들은 배분 캔들이며, 가격이 두 번째 캔들의 낮은 심지를 부수고 첫 번째 캔들의 낮은 지점으로(그리고 그 이상으로) 움직입니다.
이 모델의 진입 트리거는 두 번째 캔들의 낮은 심지의 이탈입니다(역순은 롱 진입 모델에 적용됩니다). 이 트리거는 더 빠른 낮은 타임프레임에서 분석됩니다 — 예를 들어, CRT 캔들 패턴이 1시간 타임프레임에서 관찰되면, 진입 확인은 1분 또는 5분 타임프레임에서 찾을 수 있습니다.
더 낮은 타임프레임은 진입 확인을 위해 사용되므로 거래가 적시에 입장할 수 있습니다 — Fair Value Gap을 통해 또는 더 낮은 타임프레임이 두 번째 캔들의 낮은 심지 아래에서 닫을 때까지 기다려서입니다.
이 모델의 한 가지 장점은 거래에 진입하기 전에 수익/손실 비율이 알려진다는 것입니다: 일반적으로, 손실은 조정 캔들(2번째 캔들) 너머로 몇 틱이 배치되고, 수익 목표는 첫 번째 캔들의 낮은 지점입니다(또는 롱 진입의 경우 높은 지점).
차트 예시
이 예시들은 전략이 이익을 생성함을 보여주기 위한 것이 아닙니다 — 혼동을 피하고 진입 설정이 잘 작동하는 최고 시나리오를 설명하기 위해 의도적으로 손으로 선택된 승리 거래입니다. 전략을 직접 실행하면, 많은 유사한 진입 설정이 손실 거래로 이어진다는 것을 알게 될 것입니다 — 이것이 거래의 현실입니다. 목표는 장기적으로 기대 수익성이며, 일부 개별 거래는 손실입니다.
MES, 1분 차트 / 1시간 더 높은 타임프레임
MES의 1분 타임프레임에서, 1시간 타임프레임을 더 높은 타임프레임으로 (차트에 오버레이로 그려진 것으로, 매우 유용함). 이 예는 두 개의 별도 진입을 보여줍니다 — 첫 번째는 롱 진입, 두 번째는 숏 진입입니다. 1과 2로 표시된 캔들은 각 진입을 생성한 캔들이며, TP/SL 마커는 수익/손실 수준이 설정된 곳을 보여줍니다.
MES, 1분 차트 — 2x CRT 캔들 수익 목표
전략은 여러 수익 및 손실 전략을 지원합니다. 기본 CRT 수익은 첫 번째(누적) 캔들의 높은/낮은 심지로 설정되지만, 이 범위의 배수로 확장될 수 있습니다 — 이 예는 2배 요소를 설명합니다. 1X 마커는 첫 번째 수익 수준을 보여주고, 2X는 대신 2배 수익 수준이 설정된 위치를 보여줍니다 — 장기적으로 더 높은 기대 이익을 생성합니다.
기능
CRT 전략은 고유한 기능 집합을 가지고 있습니다:
- Candle Range Theory 진입 설정 알고리즘의 강력한 자체 구현
- 보류 중인 주문이 배치되지 않음 — 시장 주문만 사용되어 거부된 주문이나 부분 체결이 발생하지 않음
- 여러 인스턴스로 확장할 수 있는 완전 자동 전략
- NinjaTrader의 공식 모범 사례를 따르는 정확한 백테스팅 기능으로 틱 수준에서 정확한 진입/종료 백테스팅 달성
- 연결 손실에 저항력이 있는 강력한 자체 주문 관리 라이브러리로, Rithmic 계좌 또는 NinjaTrader 중개 계좌에서 seamlessly 작동합니다
- 필요할 때 포지션을 수동으로 관리하는 차트 내 명령 버튼
- 낮은 전력 VPS에서도 여러 인스턴스로 실행할 수 있는 매우 경량의 전략
동적 수량 및 위험 관리
우리의 모든 전략과 마찬가지로, 이 전략은 미결 포지션의 수량을 설정하기 위한 두 가지 방법을 구현합니다:
- 고정 수량: 모든 포지션에 같은 수량을 사용합니다. 손실이 포지션 간에 변하면, 승리/손실 금액도 변합니다.
- 동적 위험 조정 수량: 각 포지션의 수량을 손실, 포지션당 허용되는 최대 위험($), 그리고 허용되는 최대 수량에서 계산하여 손실 너비에 관계없이 모든 포지션에서 동일한 승리/손실 금액을 생성합니다.
포지션 관리
우리의 모든 전략과 마찬가지로, 이 전략은 여러 포지션 관리 방법을 구현합니다:
- ATM 전략: 드롭다운에서 선택한 자신의 ATM 전략에 포지션 관리를 완전히 위임합니다.
- SuperTrend: SuperTrend 인디케이터를 사용하여 손실을 추적하고 종료를 동적으로 관리합니다.
- 클래식 추적 손실: 트리거 및 추적 금액을 기반으로 손실을 추적합니다.
전략은 또한 여러 전략을 기반으로 손실을 설정하고 비율을 기반으로 이익을 설정할 수 있습니다 — 파라미터 섹션의 세부 정보를 참고하세요.
계정 관리
전략은 순 승리 포지션 수, 순 손실 포지션 수, 또는 목표 실현 순 이익 또는 순 손실을 기반으로 일일 거래 중지 트리거를 구현합니다.
파라미터
우리는 파라미터를 최소한으로 유지하려고 노력합니다 — 가장 중요한 것들만 노출됩니다.
| General | |
| Execute Historical Trades | 전략이 Historical, Backtest, 또는 Optimization 모드에서 실행될 때 거래 실행을 활성화합니다 — Live로 실행할 때는 선택을 해제해야 합니다. |
| Daily TakeProfit Target | 포지션이 닫힌 후 이 일일 수익 금액에 도달하면 전략이 하루를 중지합니다. 0으로 설정하면 무시됩니다. |
| Daily StopLoss Limit | 일일 손실 한계에 도달하면 전략이 하루를 중지합니다(양수 — 예: 300은 실현 손실이 -$300 이하가 되면 거래 중지). 0으로 설정하면 무시됩니다. |
| Stop @ Winning Count | 순 승리 거래 수가 이 값에 도달하면 하루 거래를 중지합니다. 0으로 설정하면 무시됩니다. |
| Stop @ Losing Count | 순 손실 거래 수가 이 값에 도달하면 하루 거래를 중지합니다. 0으로 설정하면 무시됩니다. |
| Render Opacity (1-100) | 차트에서 객체를 렌더링하는 데 사용되는 불투명도입니다. |
| Execute on Different Instrument | 활성 차트와 다른 종목에서 거래를 실행합니다 — 예: 미니에서 로직을 실행하지만 마이크로에서 위험을 더 잘 관리하기 위해 실행합니다. 모든 위험 계산은 실행 종목에서 발생하며, 다른 종목의 거래는 차트에 그려지지 않습니다. |
| Execution Instrument | 거래가 실행되는 종목로 NinjaTrader 연결에서 사용 가능한 Micros 목록에서 선택합니다. 이 경우 과거 및 live 거래는 차트에 그려지지 않습니다. |
| Market Structure | |
| Higher TimeFrame | 진입 설정 분석이 실행되는 더 높은 타임프레임을 선택합니다. 활성 차트보다 높고 같은 유형의 타임프레임을 선택했는지 확인하세요 — 예: 차트의 타임프레임이 분 기반인 동안 틱 기반의 더 높은 타임프레임을 선택할 수 없습니다. |
| Higher TimeFrame Period | 더 높은 타임프레임의 기간을 설정합니다. |
| Entry Setup | |
| Time Zone |
아래 Trade Time 파라미터에 사용되는 시간대입니다. 선물 시장은 미국 동부 시간(EST)으로 운영되므로 자신의 기계의 시간대를 기준으로 거래 간격을 지정할 수 있습니다.
|
| Trade Time |
전략이 거래를 배치할 수 있는 시간 간격입니다. 몇 가지 예시:
|
| Quantity Strategy |
|
| Max Qty | Risk Adjusted가 선택되었을 때 허용되는 최대 수량 — 일부 프롭펌이 시행하는 주문 수량 한계가 계정을 무효화할 수 있으므로 유용합니다. |
| Long/Short Entry Mode |
이미 방향 일일 편향이 있고 거래를 한 방향으로 제한하려는 경우 유용합니다.
|
| Trade Entry Mode |
유효한 CRT 순서가 감지된 후 진입 모드입니다.
|
| Min CRT Ticks | CRT 캔들의 이익 영역의 최소 크기(틱 단위)입니다. 거래할 가치가 없을 정도로 너무 작은 범위의 CRT 캔들 — 즉, 진입 신호에서 수익 심지까지의 거리가 매우 작습니다 — 건너뜁니다. |
| Min CRT Ratio | CRT 비율은 거래의 승리: 손실 비율입니다 — 진입 신호에서 수익 심지까지의 거리(롱의 경우 첫 CRT 캔들의 높은 심지, 숏의 경우 낮은 심지), 진입 가격에서 손실 심지까지의 거리(롱의 경우 첫 CRT 캔들의 낮은 심지, 숏의 경우 높은 심지)로 나뉕니다. 이 파라미터는 허용되는 최소 비율을 설정하여, 아래 진입을 건너뜁니다. |
| SuperTrend Entry Filter | 진입 필터로 SuperTrend 인디케이터 사용을 활성화/비활성화합니다 — 활성화되면, 롱 거래는 SuperTrend가 강세일 때만 허용되고, 숏 거래는 약세일 때만 허용됩니다. |
| Order Qty | Quantity Strategy가 Fixed일 때만 사용합니다 — 거래당 고정 수량(그리고 주문 관리 메커니즘이 scale in할 때 수량 증가당)입니다. 일반적으로 1 또는 2입니다. |
| SuperTrend | |
| 이 섹션은 SuperTrend Entry Filter가 활성화되었을 때만 표시됩니다. | |
| SuperTrend Mode |
|
| Period / Multiplier / Moving Avg. Type / Smooth | 표준 SuperTrend 계산 파라미터 — 기간, 대역 승수(값이 높을수록 더 넓은 대역), 이동 평균 유형, 및 평활 기간. |
| Run SuperTrend on Higher TF | 차트의 자신의 타임프레임 대신 더 높은 타임프레임의 가격 계열에서 SuperTrend 인디케이터를 계산합니다. |
| Order Management | |
| Order Management Strategy |
|
| ATM Strategy Template Name | ATM Strategy 주문 관리 방법에만 사용됩니다 — 맞춤 ATM 전략의 정확한 템플릿 이름(위의 이미지와 일치하면 template1). 기존 템플릿과 일치해야 하거나 포지션이 열리지 않습니다. |
| On Opposite Signal |
포지션이 열려 있을 때마다 반대 신호가 발생할 때의 전략 동작입니다.
|
| Enable Price Breakeven | 가격 기반 breakeven 메커니즘을 활성화/비활성화합니다. |
| Breakeven Price Strategy |
|
| Breakeven Price Trigger | 가격 기반 breakeven이 활성화되어 있는 경우 사용 가능 — 손실을 breakeven으로 이동시키는 데 필요한 트리거 값입니다. |
| Enable Time Breakeven | 시간 기반(분 단위) breakeven 메커니즘을 활성화/비활성화합니다. |
| Breakeven Time Trigger | 시간 기반 breakeven이 활성화되어 있는 경우 사용 가능 — 손실을 breakeven으로 이동시키는 데 필요한 트리거 값(분 단위)입니다. |
| StopLoss Strategy |
|
| TakeProfit Strategy |
|
| Target Risk Per Trade ($) | 포지션당 최대 위험(달러) — 거래를 열기 전에 계산된 손실이 이 한계를 존중하는지 확인하는 데 사용됩니다; 그렇지 않으면 거래는 건너뜁니다. |
| Max Allowed Risk Per ($) | Risk Adjusted 수량에만 사용됩니다 — 실제 계산된 위험이 목표 위험에서 벗어나는 것이 허용되는 거리를 제어합니다(정확한 일치는 드물므로). |
| Stop Loss Points | StopLoss Strategy가 Points로 설정되었을 때 사용 가능합니다. |
| Take Profit Currency | 수익 금액(달러)입니다(Fixed Currency Value 수익 전략이 선택되었을 때 사용됨). 사용하지 않으면 비율 기반 전략과 간섭하지 않도록 높은 값으로 설정하세요. |
| Scale out % Qty at % Target | 가격이 수익 목표의 백분율에 도달하면 포지션 수량의 백분율을 닫습니다(소수 부분이 반올림 내림됩니다 — 예: 5로트 포지션의 50%는 2개 계약을 닫습니다). |
| Scale out at % Target | scale-out 메커니즘을 트리거하는 수익 목표의 백분율입니다. |
| Scale out % Qty | scale-out 메커니즘에 의해 닫힌 수량의 백분율입니다. |
| Take Profit Points | TakeProfit Strategy가 Points로 설정되었을 때 사용 가능합니다. |
| Trailing Stop Parameters | |
| Trailing Stop Strategy |
Classic Trail Stop 주문 관리 방법과 함께 사용 가능합니다.
|
| Trailing Stop Trigger | Classic Trail Stop 방법의 트리거(포인트 또는 비율)입니다. |
| Trail Amount | 트리거가 hit되면 추적되는 금액(포인트 또는 비율)입니다. |
| Command Buttons | |
전략은 Chart Trader 패널에 수동 명령 버튼을 노출합니다 — 활성 차트에 표시되는지 확인하세요.![]() | |
| Arm/Disarm Buttons | 롱 또는 숏 거래 진입을 수동으로 활성화/비활성화합니다 — 방향 편향이 있는 경우 유용합니다. |
| Close Position Button | 전략을 다시 시작하지 않고 활성 종목의 포지션을 즉시 평탄화합니다. 이는 새로운 거래를 계속 찾습니다. |
| Increase / Decrease Qty Button | 현재 활성 포지션의 수량을 ±1 계약만큼 조정합니다. |
| Set Breakeven Button | 열린 포지션의 손실을 breakeven으로 이동합니다(이렇게 하면 개선됨). |
성과 보고서
과거 성과는 향후 결과를 보장하지 않습니다. 모든 백테스팅 결과는 참고용입니다.
- 수수료는 현실적인 결과를 위해 NinjaTrader의 Lifetime 라이선스 수수료 스키마를 사용하여 포함됩니다.
- 우리는 추가 틱 수준 데이터 계열을 사용하여 정확한 intrabar 세분성 백테스팅을 위한 NinjaTrader의 공식 가이드를 따르며, 실시간 및 백테스트 모드 모두에서 market 주문만 사용합니다 — pending 주문은 절대 아닙니다.
이 전략에 대해 업로드된 성과 보고서가 없습니다.
다운로드 및 설치 안내
라이선스 요구 사항
automated-trading.ch에서는 프리미엄 제품을 사용하기 위해 월간 구독을 구매하거나, 구독 없이 무료 제품을 사용할 수 있습니다.
두 경우 모두, 프리미엄 및 무료 제품 모두에 사용할 수 있는 라이선스를 얻기 위해 계정을 만들어야 합니다.
라이선스를 얻으려면 간단히 가입하세요를 한 후 청구 페이지에서 라이선스를 받으세요.
다운로드
automated-trading.ch의 이 전략과 다른 모든 전략 또는 인디케이터를 통합 다운로드 페이지에서 언제든지 다운로드할 수 있습니다.
설치 단계
자주 묻는 질문
일반
청구
회의론자
릴리스 노트
- Bug Fix: fix error when running without supertrend
- Bug fix: SuperTrend MA Type was always taking HMA, now takes selected parameter type; Fix SL & TP manual drag & drop issues; Fixed price breakeven logic when take profit strategy is Fixed Value; Removed "Dollar Cost Averaging" order management method; Supertrend added as Order Management method; Added New stoploss strategy: SuperTrend; Supertrend can run on Lower or Higher timeframe
- Bug Fix: Error when using ATM Strategy
- First Release of the strategy
