Chuyển đổi tiền tệ
Trong giao dịch thuật toán, việc cho phép cBot và chỉ báo tự động chuyển đổi tiền tệ bằng tỷ giá thị trường hiện tại là rất cần thiết. Trong hướng dẫn API này, chúng tôi sẽ đề cập đến cách tính năng này được triển khai trong cTrader.
Chuyển đổi tiền tệ trong một phút!
- Các phương thức
Convert (double value, Asset from, Asset tovàConvert(double value, string from, string to))trả về tỷ giá chuyển đổi chính xác giữa các tài sản được chỉ định hoặc các tài sản có tên được chỉ định. Truy cập chúng thông qua thuộc tínhAssetConvertermới của lớpAlgo. - Lớp
Assetbao gồm các phương thứcConvert(Asset to, double value)vàConvert(string to, double value)riêng có thể được gọi dễ dàng từ bất kỳ đối tượngAssetnào. - Khi backtest, cTrader sẽ tự động sử dụng tỷ giá chuyển đổi lịch sử. Điều này có nghĩa là bạn luôn có thể mong đợi kết quả chính xác về mặt lịch sử và đánh giá đầy đủ hiệu suất của cBot của bạn.
Cách chuyển đổi tiền tệ hoạt động
Giao diện IAssetConverter trong không gian tên cAlgo.API.Internals chứa phương thức Convert() có các phiên bản sau:
double Convert(double value, Asset from, Asset to)- chuyển đổi giá trị được chỉ định từ tài sảnfromsang tài sảnto.double Convert(double value, string from, string to)- chuyển đổi giá trị được chỉ định từ tài sản có tên khớp với chuỗifromsang tài sản có tên khớp với chuỗito.
Lớp Algo hiện bao gồm thuộc tính AssetConverter thuộc loại IAssetConverter. Bạn có thể truy cập hai phương thức trên bằng cách gõ như sau.
1 | |
Lớp Asset cũng có các phương thức Convert() riêng với các phiên bản sau:
double Convert(Asset to, double value)- chuyển đổi giá trị được chỉ định từ tài sản mà phương thức này được gọi sang tài sảnto.double Convert(string to, double value)- chuyển đổi giá trị được chỉ định từ tài sản mà phương thức này được gọi sang tài sản có tên khớp với chuỗito.
Hãy xem xét ví dụ dưới đây, trong đó cBot của chúng ta chuyển đổi GBP thành JPY và sau đó thực hiện một lệnh thị trường mới sử dụng giá trị đã tính toán làm khối lượng lệnh.
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 | |
Nếu chúng ta xem nhật ký, chúng ta có thể thấy rằng cBot của chúng ta hoạt động như mong đợi. Tại thời điểm phiên bản được khởi động, giá chào mua cho GBPJPY bằng 159.619.

Chuyển đổi tiền tệ trong backtesting
cTrader hỗ trợ đầy đủ tỷ giá chuyển đổi lịch sử trong backtesting.
Điều này có nghĩa là, khi bạn backtest một cBot sử dụng bất kỳ phương thức nào được mô tả ở trên, các tính toán chuyển đổi sẽ được thực hiện bằng cách sử dụng dữ liệu chính xác về mặt lịch sử thay vì tỷ giá hối đoái hiện tại giữa các tài sản được chỉ định. Tính năng này đảm bảo rằng kết quả của backtesting và tối ưu hóa là chính xác nhất có thể dựa trên điều kiện thị trường trong quá khứ.
Lưu ý rằng cTrader có thể xây dựng chuỗi chuyển đổi chính xác bằng cách sử dụng các công cụ giao dịch có khả năng không giới hạn. Kết quả là, ngay cả khi tiền tệ ký quỹ tài khoản của bạn khác với tài sản cơ sở hoặc báo giá của biểu tượng mà bạn muốn thực hiện backtest, cTrader sẽ xử lý tất cả các tính toán cần thiết để cung cấp cho bạn kết quả backtesting chính xác.
Tóm lại, tỷ giá chuyển đổi là một công cụ quý giá khác để đảm bảo rằng cBot và chỉ báo của bạn hoạt động chính xác như mong đợi. Vì cTrader hỗ trợ việc sử dụng dữ liệu lịch sử khi chuyển đổi tài sản trong backtesting, bạn có thể chắc chắn rằng tất cả các kết quả backtesting và tối ưu hóa đều chính xác về mặt lịch sử.