Grid cBot¶
전략 개요 ¶
Grid cBot은 심벌에 대한 여러 매수 또는 매도 주문을 일정한 가격 간격 또는 "단계"로 배치하여 포지션의 "그리드"를 형성하는 그리드 거래 전략을 구현합니다. 심벌 가격이 변경됨에 따라 변동을 활용하기 위해 새로운 포지션이 지속적으로 개설됩니다.
Grid cBot은 간단한 산술과 논리적 검사를 조합하여 포지션을 개설하고, 수익을 계산하며, 거래 작업을 관리합니다. 이는 범위 내 또는 횡보 시장에서 가장 효과적입니다. 또한 변동성이 낮은 조건과 저항 및 지지 수준이 알려진 시장에서도 잘 작동합니다.
cBot 생성 ¶
C# 또는 Python을 사용하여 cBot 생성하는 방법을 단계별 가이드에서 알아보세요.
Grid cBot 코드는 공개된 C# 및 Python 저장소에서 확인할 수 있습니다. 동일한 코드는 cTrader Windows 또는 Mac의 알고리즘 생성 마법사에서 템플릿으로 제공되며, 아래 스니펫을 복사하여 사용할 수도 있습니다:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | |
지표 통합 ¶
Grid cBot은 그리드 전략을 정의하기 위해 어떤 지표에도 의존하지 않습니다. 심벌 가격이 상승할지 하락할지 예측하려 하지 않습니다. 대신, 어떤 방향으로든 가격 움직임에서 수익성 있는 거래를 목표로 합니다.
cBot은 이 간단한 규칙에 따라 거래를 실행합니다: 심벌 가격이 지정된 핍 수(StepPips 매개변수로 정의됨)를 초과하여 움직이면 cBot은 새로운 포지션을 개설합니다.
계산 및 로직 ¶
초기 거래 실행 ¶
cBot이 시작되면 그리드에 열린 포지션이 있는지 확인합니다. 열린 포지션이 없으면 cBot은 OpenPosition() 메서드를 통해 즉시 첫 번째 포지션을 개설합니다. 이 첫 번째 단계는 지정된 거래 방향(TradeType)에 따라 그리드가 초기 거래로 시작되도록 합니다.
이익 모니터링 ¶
각 틱(예: 각 가격 업데이트)마다 cBot은 모든 열린 그리드 포지션의 누적 순이익이 지정된 목표 이익(TargetProfit)에 도달하거나 초과하는지 확인합니다. 목표 이익에 도달하면 모든 열린 포지션이 청산되고 cBot이 실행을 중지합니다.
목표 이익은 그리드의 각 포지션에서 발생한 순이익의 합계입니다.
\(n\) – 그리드에서 열린 포지션의 수
\(\text{NetProfit}(p_i)\) – 포지션 \(i\)의 순이익
포지션 열기 ¶
목표 이익에 도달하지 않았고 열린 포지션이 있는 경우, cBot은 마지막으로 열린 그리드 포지션과 현재 시장 가격 사이의 거리(핍 단위)를 계산합니다.
매수 포지션의 경우:
매도 포지션의 경우:
\(D_b\) – 진입 가격과 현재 매수 가격 사이의 거리(핍 단위).
\(D_s\) – 현재 매도 가격과 진입 가격 사이의 거리(핍 단위).
\(P_e\) – 해당 심벌에 대해 마지막으로 열린 매수 포지션의 가격.
\(P_a\) – 해당 심벌의 현재 매수 가격.
\(P_b\) – 해당 심벌의 현재 매도 가격.
\(S\) – 해당 심벌의 1핍 가치.
계산된 거리가 정의된 스텝 크기(StepPips)보다 크거나 같으면 OpenPosition() 메서드를 사용하여 새 포지션이 열립니다.
새 포지션을 열기 전에 cBot은 매번 해당 작업에 충분한 자금이 있는지 확인합니다. 자금이 부족한 경우 cBot은 새 포지션 열기를 중단하고 "추가 포지션을 열기에 충분한 자금이 없습니다" 메시지를 기록합니다.
포지션 청산 ¶
TargetProfit에 도달하면 cBot은 "목표 이익에 도달했습니다. 모든 그리드 포지션을 청산합니다" 메시지를 기록합니다. "모든 그리드 포지션 청산" 메시지.
그런 다음 CloseGridPositions() 메서드가 그리드의 모든 열린 포지션을 순회하며 청산하고, cBot은 "모든 그리드 포지션이 청산되었습니다. cBot을 중지합니다" 메시지를 기록합니다. "cBot 중지 중" 메시지 그 후 cBot이 중지됩니다.
매개변수 ¶
| 매개변수 | 단위 | 정의 | 팁 |
|---|---|---|---|
| 수량 | 랏 | 각 거래의 거래량. | 보수적인 트레이더는 특히 변동성이 큰 시장에서 노출을 줄이고 위험을 신중하게 관리하기 위해 작은 거래량을 지정할 수 있습니다. 이렇게 하면 시장이 그리드와 반대 방향으로 움직일 경우 잠재적 손실을 최소화할 수 있습니다. 공격적인 트레이더는 시장에 대한 확신이 있을 때 이익을 극대화하기 위해 큰 거래량을 지정할 수 있습니다. 이 접근 방식은 더 위험하지만, 그리드가 큰 가격 변동을 효과적으로 포착할 때 더 큰 수익을 제공합니다. |
| 거래 방향 | — | 거래의 방향(매수 또는 매도). | 상승하는 시장에서 트레이더는 매수를 선택할 수 있습니다. 심벌 가격이 일시적으로 하락할 때 cBot은 낮은 수준에서 매수합니다. 시장이 다시 상승하면 각 매수 포지션이 수익을 내게 됩니다. 하락하는 시장에서 트레이더는 매도를 선택할 수 있습니다. 심벌 가격이 일시적으로 상승할 때 cBot은 높은 수준에서 매도합니다. 시장이 다시 하락하면 각 매도 포지션이 수익을 내게 됩니다. |
| 스텝 | 핍 | 연속된 두 그리드 포지션 사이의 거리. 스텝이 작을수록 새로운 거래가 더 자주 열리고, 스텝이 클수록 거래 횟수가 줄어듭니다. | 횡보 또는 변동성이 낮은 시장에서 트레이더는 작은 값을 설정할 수 있습니다. 이 설정은 cBot이 더 자주 포지션을 열고 작은 가격 변동을 포착하도록 보장하며, 특히 가격이 좁은 범위 내에서 움직일 때 유용합니다. 추세가 있거나 변동성이 더 큰 시장에서 트레이더는 큰 값을 설정할 수 있습니다. 이 설정은 열리는 거래 횟수를 줄이고, cBot이 더 큰 움직임을 포착할 수 있게 하며, 강한 추세 동안 과도한 거래를 피하는 데 도움이 됩니다. |
| 목표 이익 | — | cBot이 모든 열린 포지션을 청산하고 거래를 중단하기 전에 도달해야 하는 계좌 통화 단위의 누적 이익. | 빠르고 작은 이익을 원하는 트레이더는 낮은 값을 설정할 수 있습니다. 이 설정은 작은 이익이 발생하자마자 그리드가 청산되도록 보장하여 변동성이 큰 시장에서 포지션을 너무 오래 유지하는 위험을 최소화합니다. 큰 이익을 기다리는 것을 선호하는 트레이더는 높은 값을 설정할 수 있습니다. 이 설정은 그리드가 더 오래 열려 있도록 하여 모든 포지션이 청산되기 전에 cBot이 일련의 더 큰 시장 움직임을 통해 이익을 축적할 수 있게 합니다. |
응용 ¶
범위 제한 또는 횡보 시장 ¶
그리드 cBot은 가격이 지지선과 저항선 사이에서 진동하는 범위 내 시장에서 가장 효과적입니다. 이러한 시장에서는 가격이 정의된 범위 내에서 자주 상하로 움직이므로 cBot이 정기적으로 포지션을 열고 변동을 활용합니다.
사용 사례
EURUSD가 1.1000에서 1.1100 사이의 범위에 머무는 시나리오를 고려해보세요. cBot은 가격이 1.1000에 가까워질 때 매수 포지션을 열고 1.1100 근처에서 매도 포지션을 엽니다. 가격이 이 수준 사이에서 진동함에 따라 cBot은 각 스윙에서 이익을 포착합니다.
모범 사례
- 빈번한 가격 스윙을 포착하기 위해 작은 스텝 크기를 설정하세요.
- 그리드가 자주 청산되어 작지만 일관된 이익을 확보할 수 있도록 적당한 목표 이익을 설정하세요.
- 범위를 벗어나는 돌파로 이어질 수 있고 큰 손실을 초래할 수 있는 시장 뉴스나 다가오는 이벤트를 모니터링하세요.
저변동성 시장 ¶
변동성이 낮은 시장에서는 가격 움직임이 느리고 덜 두드러지는 경향이 있습니다. 가격이 점진적으로 움직이면 Grid cBot은 큰 시장 변동의 위험 없이 여러 포지션을 열 수 있는 충분한 시간을 확보할 수 있습니다.
사용 사례
USDJPY가 아시아 거래 세션 동안 종종 그렇듯이 낮은 변동성을 보이는 시나리오를 고려해보세요. 그리드 cBot은 작은 스텝 크기로 포지션을 열고 이러한 조용한 시간 동안 발생하는 작고 점진적인 가격 움직임을 포착할 수 있습니다.
모범 사례
- 변동성이 낮은 시장에서 전형적인 작은 가격 움직임을 활용하기 위해 좁은 스텝 크기를 사용하세요.
- 변동성이 예기치 않게 증가할 경우에 대비하여 낮은 거래량을 설정하여 위험을 줄이세요.
- 시장 상황, 예상치 못한 뉴스나 이벤트를 주시하고 cBot을 신속하게 중지할 준비를 하세요.
시장의 알려진 수준 ¶
Grid cBot은 강력하고 잘 정의된 지지선과 저항선이 있는 시장에서 좋은 성과를 낼 수 있습니다. 이러한 수준은 가격 장벽 역할을 하며 시장이 자주 반등하게 만들어 cBot이 활용할 수 있는 범위를 만듭니다.
사용 사례
금(XAUUSD) 가격이 2,000 달러의 강력한 지지선과 2,050 달러의 저항선 사이에서 진동하는 시나리오를 고려해보세요. Grid cBot은 2,000 달러 근처에서 매수 주문을, 2,050 달러 근처에서 매도 주문을 내어 이 수준 사이에서 가격이 반등할 때 이익을 얻습니다.
모범 사례
- 시장 변동성에 따라 스텝 크기를 설정하세요. 변동성이 높은 시장에서는 더 큰 스텝 크기가 필요할 수 있고, 변동성이 낮은 시장에서는 더 작은 스텝을 사용할 수 있습니다.
- 돌파에 갇히는 것을 피하기 위해 잘 확립된 지지선과 저항선이 있는 시장 주변에서 Grid cBot을 사용하세요.
- 큰 손실을 피하기 위해 돌파를 일으킬 수 있는 이벤트나 뉴스에 주의하세요. cBot은 지지선이나 저항선을 돌파하는 시장을 처리할 준비가 되어 있지 않습니다.
무방향성 시장 ¶
특정 통화쌍은 가격 변동이 빈번하지만 장기적인 강한 추세를 보이지 않는 무방향성 움직임을 보입니다. Grid cBot은 장기 추세에 갇힐 위험 없이 빈번한 변동을 포착할 수 있기 때문에 이러한 시장에서 잘 작동합니다.
사용 사례
유로존과 스위스 경제의 안정성을 고려할 때 흔히 발생하는 EURCHF가 무방향성으로 움직이는 시나리오를 고려해보세요. Grid cBot은 작은 스텝 크기로 포지션을 열어 큰 방향성 추세에 대해 걱정하지 않고 빈번한 변동에서 이익을 얻을 수 있습니다.
모범 사례
- 빈번한 가격 움직임을 포착하기 위해 작은 스텝 크기를 사용하세요.
- 시장이 추세로 돌파할 경우에 대비해 낮은 거래량 설정을 고려하세요.
요약 ¶
Grid cBot은 상승장과 하락장 모두에서 반등이나 조정이 있을 것이라는 가정하에 작동합니다. 상승장에서는 낮게 사고 높게 팔며, 하락장에서는 높게 팔고 낮게 사며, cBot은 반등 후 시장이 주요 추세를 재개할 때 이익을 얻습니다.
cBot은 지표를 사용하지 않기 때문에 시장이 추세인지 범위인지 평가할 수 없습니다. 단순히 시장 심리나 추세 강도를 무시하고 가격 움직임만을 기반으로 포지션을 엽니다.
지표가 없어 거래 과정이 순수하게 기계적이 되며, cBot은 정기적인 간격으로 포지션을 여는 사전 정의된 규칙에만 의존합니다. 이 접근 방식은 범위 내 시장에서 수익성이 있을 수 있지만, 추세, 높은 변동성 또는 빠르게 변화하는 시장에서는 어려움을 겪는 경향이 있습니다.
트레이더들은 개인 전략을 적용하도록 cBot을 구성하는 것 외에도, 시장 상황에 따라 거래를 필터링하기 위해 지표를 도입하는 것을 고려할 수 있습니다:
- Moving Averages (MA)는 시장 추세를 식별하는 데 도움을 주어 cBot이 추세 방향으로만 거래할 수 있도록 합니다.
- Relative Strength Index (RSI)는 과매수 또는 과매도 상태를 신호로 보내어 시장이 한 방향으로 과도하게 움직일 때 새로운 포지션을 열지 않도록 도와줍니다.
- Bollinger Bands는 가격 변동성을 파악하는 데 도움을 주어 cBot이 그리드 간격을 조정하거나 높은 변동성 기간 동안 거래를 보류할 수 있도록 합니다.