Martingale cBot¶
전략 개요 ¶
Martingale cBot은 금융 시장에 적용된 고전적인 베팅 시스템인 Martingale 전략을 구현한 트레이딩 로봇입니다. 18세기 프랑스 수학자들에 의해 발견된 마팅게일 전략은 카지노의 도박꾼들 사이에서 빠르게 인기를 얻었습니다.
예시
마팅게일 전략의 메커니즘을 이해하기 위해 1달러 베팅으로 시작하는 동전 던지기 게임 시나리오를 고려해 보겠습니다.
동전은 앞면 또는 뒷면이 나올 확률이 50/50입니다. 각 동전 던지기는 독립적입니다 - 한 번의 결과가 다음 결과에 영향을 미치지 않습니다.
각 손실 후 베팅을 두 배로 늘리면 결국 승리했을 때 모든 손실을 회복하고 1달러의 이익도 얻게 됩니다.
cBot 생성 ¶
C# 또는 Python을 사용하여 cBot 생성하는 방법을 단계별 가이드에서 알아보세요.
Martingale 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 | |
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 | |
지표 통합 ¶
Martingale cBot은 시장 방향을 예측하기 위해 예측 모델이나 기술적 지표를 사용하지 않습니다. 대신 매수 및 매도 결정에 대해 무작위 확률에 의존하여 각 거래에 대해 예측할 수 없는 결과(이익 또는 손실)를 초래합니다.
로직 ¶
무작위 거래 방향 ¶
-
cBot은
GetRandomTradeType()메서드를 통해 매수 또는 매도 주문을 무작위로 선택합니다. -
ExecuteOrder()메서드는 매개변수에 정의된 수량, 손절매 및 이익실현으로 시장 주문을 합니다.
마팅게일 메커니즘 ¶
- cBot은
OnPositionsClosed()이벤트 핸들러를 통해 포지션이 종료되었을 때를 감지합니다. - 종료된 포지션이 이익을 얻으면 cBot은 자체적으로 리셋하고 초기 랏 크기와 무작위 거래 방향으로 새로운 거래를 시작합니다.
- 종료된 포지션이 손실을 초래하면 cBot은 다음 거래의 수량을 두 배로 늘리지만 이전 거래와 동일한 거래 방향(매수 또는 매도)을 유지합니다.
위험 관리 ¶
- cBot은 모든 손실 거래 후 포지션 크기를 두 배로 늘리는 마팅게일 전략에 의존하여 손실을 회복하고 성공적인 거래가 발생하면 이익을 얻습니다.
- 기본 손절매 및 이익실현 값은 각 거래의 위험과 보상의 균형을 맞추는 것을 목표로 합니다.
실행 및 종료 ¶
cBot이 자금 부족(NoMoney)으로 인한 오류가 발생하면 거래 시도를 중단합니다.
매개변수 ¶
| 매개변수 | 단위 | 정의 | 팁 |
|---|---|---|---|
| 수량 | 랏 | 각 마팅게일 주기의 (첫 번째) 거래 볼륨. | 높은 값을 설정하면 첫 번째 거래의 포지션 크기가 증가합니다. 결과적으로 성공적인 거래 주기가 끝날 때 이익이 크게 됩니다. 그러나 손실 거래의 경우 다음 거래 크기가 두 배가 되어 위험이 기하급수적으로 증가합니다. 낮은 값을 설정하면 첫 번째 거래의 포지션 크기가 감소합니다. 결과적으로 성공적인 거래 주기가 끝날 때 이익이 작지만 장기적인 손실 스트릭에서 노출이 최소화됩니다. |
| 손절매 | 핍 | 손실 거래가 자동으로 종료될 진입 가격으로부터의 거리. | 큰 손절매는 거래를 종료하기 전에 시장이 더 멀리 움직일 수 있게 합니다. 이는 일시적인 변동 동안 거래가 조기에 종료되는 것을 방지할 수 있지만, 시장이 잘못된 방향으로 계속 움직일 경우 계정이 더 큰 손실에 노출될 수 있습니다. 작은 손절매는 손실 거래를 더 빨리 종료하여 거래당 잠재적 손실을 줄입니다. 그러나 단기 변동성으로 인해 너무 일찍 정지될 위험도 증가하여 마팅게일 두 배 주기를 더 자주 발동시킵니다. |
| 이익실현 | 핍 | 특정 이익 수준에 도달했을 때 거래가 종료될 진입 가격으로부터의 거리. | 높은 이익실현 값을 설정하면 시장이 크게 유리한 방향으로 움직일 때 큰 이익을 얻을 수 있습니다. 그러나 이는 거래가 종료되는 데 더 오래 걸리거나 이익 목표에 도달하기 전에 반전될 수 있어 기회를 놓칠 수 있습니다. 더 작은 이익실현 수준은 더 빠른 거래 종료로 이어져 더 작지만 더 빈번한 이익을 확보합니다. 이 접근 방식은 수익성 있는 기회를 놓칠 가능성을 줄일 수 있지만 각 거래의 상승 잠재력을 제한합니다. |
응용 ¶
범위 제한 또는 횡보 시장 ¶
Martingale cBot은 지배적인 상승 추세나 하락 추세가 없는 횡보 시장에서 탁월한 성과를 보입니다. 범위 제한 시장에서 가격은 지지선과 저항선 사이에서 변동하므로 cBot이 손실 거래 후 빠르게 손실을 회복할 가능성이 높습니다.
사용 사례
EURUSD가 며칠 동안 1.1000에서 1.1050 사이의 좁은 범위에서 거래되는 시나리오를 고려해 보세요. Martingale cBot은 가격이 이러한 수준 사이에서 반등할 때 이를 활용하여 시장이 작은 조정 후 반전할 때 이익을 포착할 수 있습니다.
모범 사례
시장이 예측 가능하게 진동하는 명확하고 잘 정의된 가격 움직임이 있는 심볼에 cBot을 사용하세요. 조용한 거래 시간 동안의 주요 외환 쌍이 좋은 예입니다.
저변동성 시장 ¶
이 cBot은 가격 변동이 연속적인 손절매를 유발할 가능성이 낮아 급격한 포지션 증가를 방지하는 저변동성 조건에서 사용할 수 있습니다. 이러한 조건에서는 Martingale 전략이 점진적인 가격 반전을 통해 잘 수행될 수 있습니다.
사용 사례
뉴스가 적은 기간 동안 금(XAUUSD)과 같은 상품을 거래하는 경우, 가격이 좁은 범위 내에 머물 수 있습니다. 이 cBot은 가격이 단기 가격 변동 내에서 반전될 가능성이 더 높아 큰 손실의 위험이 낮은 상태에서 수익성 있는 거래를 할 수 있으므로 이러한 환경에서 이점을 얻을 수 있습니다.
모범 사례
중요한 경제 이벤트나 뉴스 발표가 예상되는 기간 동안에는 높은 변동성을 유발하므로 cBot 실행을 피하세요.
평균 회귀 자산 ¶
자주 평균 가격 수준으로 되돌아가는 심벌은 장기 추세를 형성하기 전에 종종 반전을 경험하므로 Martingale cBot에 적합합니다. 이러한 조건에서 cBot은 손실 후 포지션 규모를 늘려 더 빠르게 회복하고 이익을 얻을 수 있습니다.
사용 사례
EURGBP와 같은 평균 회귀 통화를 거래하는 것을 고려해보세요. 이러한 유형의 심벌은 일시적인 급등이나 급락 후 평균 가격으로 돌아오는 경우가 많아, cBot이 가격 반전 후 손실 포지션을 이익으로 청산할 수 있는 이상적인 조건과 기회를 제공합니다.
모범 사례
가격이 장기간 한 방향으로 계속 움직일 수 있는 강하고 지속적인 추세 시장에서는 cBot 사용을 피하세요. 이러한 시장에서는 회복 전 큰 손실의 위험이 더 높습니다.
Summary ¶
Martingale cBot은 인기 있는 Martingale 전략을 구현하는 자동화된 트레이딩 알고리즘입니다. 이 cBot은 예측 모델이나 기술적 지표를 사용하지 않고 완전히 무작위 확률에 기반하여 매수 및 매도 결정을 내리므로 각 거래의 결과가 불확실합니다.
시장이 결국 트레이더에게 유리해질 것이라는 가정 하에 Martingale cBot은 손실 후 거래 규모를 두 배로 늘려 단일 수익 거래로 손실을 만회합니다. 이 cBot은 특정 시장에서 효과적일 수 있으며, 특히 사용자가 위험을 잘 이해하고 장기적인 손실을 견딜 수 있는 충분한 자원을 가지고 있을 때 더욱 그렇습니다.