Konwerter walut
W handlu algorytmicznym nadanie cBotom i wskaźnikom możliwości autonomicznego przeliczania walut przy użyciu bieżących kursów rynkowych jest niezbędne. W tym przewodniku API omawiamy, jak ta funkcja jest zaimplementowana w cTrader.
Konwersja walut w jedną minutę!
- Metody
Convert (double value, Asset from, Asset toiConvert(double value, string from, string to))zwracają dokładny kurs wymiany między określonymi aktywami lub aktywami o określonych nazwach. Uzyskaj do nich dostęp za pomocą nowej właściwościAssetConverterklasyAlgo. - Klasa
Assetzawiera własne metodyConvert(Asset to, double value)iConvert(string to, double value), które można łatwo wywołać z dowolnego obiektuAsset. - Podczas backtestingu cTrader automatycznie użyje historycznych kursów wymiany. Oznacza to, że zawsze możesz oczekiwać historycznie dokładnych wyników i w pełni ocenić wydajność swoich cBotów.
Jak działa konwersja walut
Interfejs IAssetConverter w przestrzeni nazw cAlgo.API.Internals zawiera metodę Convert(), która ma następujące przeciążenia:
double Convert(double value, Asset from, Asset to)- konwertuje określoną wartość z aktywafromna aktywoto.double Convert(double value, string from, string to)- konwertuje określoną wartość z aktywa, którego nazwa odpowiada ciągowifrom, na aktywo, którego nazwa odpowiada ciągowito.
Klasa Algo zawiera teraz właściwość AssetConverter typu IAssetConverter. Możesz uzyskać dostęp do dwóch powyższych metod, wpisując poniższe.
1 | |
Klasa Asset ma również własne metody Convert() z następującymi przeciążeniami:
double Convert(Asset to, double value)- konwertuje określoną wartość z aktywa, z którego wywołano tę metodę, na aktywoto.double Convert(string to, double value)- konwertuje określoną wartość z aktywa, z którego wywołano tę metodę, na aktywo, którego nazwa odpowiada ciągowito.
Rozważ poniższy przykład, w którym nasz cBot konwertuje GBP na JPY, a następnie wykonuje nowe zlecenie rynkowe, używając obliczonej wartości jako wolumenu zlecenia.
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 | |
Jeśli spojrzymy na dziennik, zobaczymy, że nasz cBot zachowuje się zgodnie z oczekiwaniami. W momencie uruchomienia instancji cena bid dla GBPJPY wynosiła 159,619.

Konwersja walut w backtestingu
cTrader w pełni obsługuje historyczne kursy wymiany w backtestingu.
Oznacza to, że gdy przeprowadzasz backtesting cBota, który używa którejkolwiek z metod opisanych powyżej, obliczenia konwersji będą wykonywane przy użyciu historycznie dokładnych danych, a nie bieżących kursów wymiany między określonymi aktywami. Ta funkcja zapewnia, że wyniki backtestingu i optymalizacji są tak precyzyjne, jak to możliwe, biorąc pod uwagę przeszłe warunki rynkowe.
Należy pamiętać, że cTrader może budować dokładne łańcuchy konwersji, używając potencjalnie nieograniczonej liczby instrumentów handlowych. W rezultacie, nawet jeśli waluta depozytu na Twoim koncie różni się od aktywów bazowych lub kwotowanych symbolu, na którym chcesz przeprowadzić backtesting, cTrader obsłuży wszystkie niezbędne obliczenia, aby zapewnić Ci precyzyjne wyniki backtestingu.
Podsumowując, kursy wymiany stanowią kolejne cenne narzędzie zapewniające, że Twoje cBoty i wskaźniki działają dokładnie zgodnie z oczekiwaniami. Ponieważ cTrader obsługuje wykorzystanie danych historycznych podczas konwersji aktywów w backtestingu, możesz być pewien, że wszystkie wyniki backtestingu i optymalizacji są historycznie dokładne.