이 C 봇 (RSTI_Ausama)
이 C 봇(로봇)은 cAlgo.API 플랫폼을 사용하여 C#으로 작성되었으며 외환 시장에서 자동 거래를 위해 설계되었습니다. 이 봇은 매수 및 매도 결정을 내리기 위해 기술 지표(단순 이동 평균)의 신호에 의존합니다. 아래는 봇의 구성 요소와 작동 방식에 대한 자세한 설명입니다:
---
### 1. **매개변수**
봇은 거래 동작을 맞춤 설정할 수 있는 매개변수 집합을 포함합니다:
- **RSTI 설정**:
- `Source`: 계산에 사용되는 데이터 소스(예: 종가).
- `Length`: 단순 이동 평균(SMA)의 기간 길이.
- `Signal Length`: 신호 SMA의 기간 길이.
- **위험 관리**:
- `Trade Direction`: 거래 방향(매수 전용, 매도 전용 또는 양방향).
- `Lot Size`: 거래에 사용되는 로트 크기.
- `Target Percentage (%)`: 이익 실현 목표 백분율.
- `Target Partial (%)`: 부분 이익 실현 백분율.
- `Stop Loss Percentage (%)`: 손절 백분율.
---
### 2. **기술 지표**
봇은 다음 기술 지표를 사용합니다:
- **단순 이동 평균(SMA)**: 종가를 기반으로 한 단순 이동 평균.
- **SMA 차이**: 가격과 SMA 간 차이의 단순 이동 평균.
- **SMA 차이 절대값**: 절대 차이의 단순 이동 평균.
- **SMA 신호**: 상대 강도 신호의 단순 이동 평균.
---
### 3. **봇의 주요 기능**
#### a. **OnStart()**
- 이 함수는 봇이 시작될 때 실행됩니다.
- 지표를 초기화하고 이동 평균의 초기 값을 계산합니다.
- 이후 비교를 위해 마지막 신호 값(`_previousSignalValue`)을 저장합니다.
#### b. **OnBar()**
- 이 함수는 새 바가 닫힐 때 실행됩니다.
- 새 데이터를 기반으로 이동 평균을 업데이트합니다.
- 거래 신호의 변화를 확인합니다:
- 신호가 60 이상(매수) 또는 40 이하(매도)로 교차하면 거래가 실행됩니다.
- 이전 신호 값(`_previousSignalValue`)을 업데이트합니다.
#### c. **OnTick()**
- 이 함수는 가격이 변할 때마다(Tick) 실행됩니다.
- 부분 이익 실현 수준 도달 여부를 확인합니다(`HandleCloseOnTPReached`).
#### d. **ExecuteTrades()**
- 거래 신호에 따라 거래를 실행합니다:
- 신호가 60 이상이면 매수 거래가 열립니다.
- 신호가 40 이하이면 매도 거래가 열립니다.
- 지정된 백분율을 기반으로 이익 실현 및 손절 수준을 계산합니다.
- `ExecuteMarketOrder`를 사용하여 거래를 실행합니다.
#### e. **HandleCloseOnTPReached()**
- 부분 이익 실현 수준 도달 여부를 확인합니다:
- 거래가 지정된 이익 수준에 도달하면 포지션 크기를 50% 줄입니다.
#### f. **HandleCloseOnSignal()**
- 거래 신호가 변경되면 거래를 종료합니다:
- 거래가 매수이고 신호가 50 미만으로 떨어지면 거래를 종료합니다.
- 거래가 매도이고 신호가 50 이상으로 상승하면 거래를 종료합니다.
#### g. **DrawSignalOnChart()**
- 차트에 현재 신호 값을 표시합니다:
- 신호가 50 이상이면 파란색으로 표시됩니다.
- 신호가 50 미만이면 빨간색으로 표시됩니다.
---
### 4. **위험 관리**
- 로트 크기(`LotSize`)는 계좌 크기를 기준으로 결정됩니다.
- 목표(`TargetPercentage`) 및 손절(`StopLossPercentage`) 수준은 현재 가격의 백분율로 설정됩니다.
- 특정 수준에 도달하면 부분 이익 실현(`Target Partial`)이 실행됩니다.
---
### 5. **거래 방향**
- `TradeDirection` 매개변수를 사용하여 거래 방향을 설정할 수 있습니다:
- `Both`: 양방향(매수 및 매도) 거래.
- `Buy_Only`: 매수 방향으로만 거래.
- `Sell_Only`: 매도 방향으로만 거래.
---
### 6. **봇 사용 방법**
1. 봇을 cTrader 플랫폼에 추가합니다.
2. 전략에 따라 매개변수(예: 로트 크기, 목표 및 손절 수준)를 조정합니다.
3. 원하는 차트에서 봇을 실행합니다.
4. 봇은 거래 신호에 따라 자동으로 거래를 열고 닫습니다.
---
### 7. **강점**
- 이동 평균에서 명확한 신호에 의존합니다.
- 거래 방향 및 위험 관리 설정에 유연성을 제공합니다.
- 부분 이익 실현 및 신호 변경에 따른 거래 종료를 지원합니다.
---
### 8. **약점**
- 전적으로 이동 평균에 의존하므로 모든 시장 상황에서 효과적이지 않을 수 있습니다.
- 특정 통화 쌍 및 시간대에 맞게 매개변수 최적화가 필요합니다.
---
### 9. **개선 팁**
- 과거 데이터를 사용하여 봇을 백테스트하여 매개변수를 최적화하세요.
- 신호 정확도를 높이기 위해 추가 기술 지표를 추가하세요.
- 봇의 성능을 정기적으로 모니터링하고 필요한 조정을 하세요.
---
이 봇은 자동 거래를 위한 강력한 도구이지만, 그 메커니즘과 위험 관리를 철저히 이해하고 주의해서 사용해야 합니다.