Przejdź do treści

Jak przeprowadzić backtesting cBota w cTrader

W tym artykule i odpowiadającym mu wideo chcielibyśmy omówić, jak możesz przeprowadzić backtesting cBota. Dowiesz się, gdzie możesz uzyskać dostęp do backtestingu, jak możesz skonfigurować ustawienia backtestingu i jak możesz interpretować wyniki backtestingu.

Backtesting w cTrader

cBoty to w pełni konfigurowalne roboty handlowe, które możesz skonfigurować do wykonywania różnych działań handlowych podczas napotykania określonych ruchów rynkowych i zdarzeń, takich jak przecięcia Moving Average Convergence Divergence (MACD).

Jednak podczas kodowania cBota może być trudno zrobić wszystko dobrze za pierwszym razem. W większości przypadków będziesz chciał udoskonalić cBota przed pozwoleniem mu handlować w Twoim imieniu.

Tu właśnie pojawia się backtesting. Pomyśl o backtestingu jak o placu zabaw, na którym możesz pozwolić cBotom handlować na historycznych danych rynkowych bez ryzykowania czegokolwiek namacalnego. W związku z tym backtesting jest nieoceniony przy ocenie, czy cBoty mogą osiągnąć zamierzone wyniki bez ryzykowania jakichkolwiek rzeczywistych środków na Twoim koncie handlowym.

Zdecydowanie zalecamy przeprowadzenie dokładnego backtestingu dla wszystkich cBotów, które stworzyłeś samodzielnie lub nabyłeś z innych źródeł.

Dostęp do backtestingu

Aby uzyskać dostęp do backtestingu, najpierw wybierz istniejącą instancję cBota, którą chcesz ocenić. Tuż pod górnym paskiem w interfejsie użytkownika (tym zawierającym przycisk Wstecz) powinieneś zobaczyć kilka zakładek, z pierwszą zakładką zawierającą wykres handlowy, na którym działa aktualnie wybrana instancja.

Zakładka Backtesting powinna znajdować się bezpośrednio po prawej stronie. Kliknij ją, aby przełączyć się do obszaru backtestingu.

Image title

Po otwarciu tej zakładki powinieneś zobaczyć następujący interfejs.

Image title

Ustaw okres

Jak wspomniano wcześniej, backtesting pozwala uruchomić instancję cBota na historycznych danych rynkowych. Masz kilka opcji definiowania dokładnego okresu, który powinien obejmować proces backtestingu.

Użyj suwaka

Suwak kalendarza znajduje się bliżej górnej części zakładki Backtesting.

Image title

Przeciągnij oba szare punkty wzdłuż suwaka, aby określić zakres danych dla kolejnego backtestingu. Na powyższym zrzucie ekranu przeciągnęliśmy jeden z punktów, aby objąć okres, który jest w przybliżeniu równy dwóm latom.

Użyj menu

Możesz również użyć rozwijanych menu kalendarza po lewej i prawej stronie suwaka, aby wybrać precyzyjny zakres dat.

Image title

Aby upewnić się, że nasz okres backtestingu ma dokładnie 2 lata długości, możemy otworzyć menu po lewej stronie, aby wybrać 30 listopada 2020 jako nową datę rozpoczęcia.

Skonfiguruj ustawienia

Przed wykonaniem backtestingu kliknij ikonę koła zębatego tuż po lewej stronie lewego menu kalendarza. Powinieneś zobaczyć następujące ustawienia.

Image title

Po otwarciu tej sekcji wykonaj następujące czynności.

  • W polu Kapitał początkowy określ początkowe środki, od których rozpocznie Twój cBot.
  • Otwórz menu Prowizja i wybierz (lub wpisz) prowizję, którą Twój cBot zapłaci po handlu milionem jednostek wolumenu.
  • W menu Dane skonfiguruj źródło danych historycznych do backtestingu. Ogólnie rzecz biorąc, otrzymywanie danych m1 z serwera jest dobrym kompromisem między dokładnością a zasobochłonnością backtestingu. Zauważ, że możesz również przesłać niestandardowe dane z lokalnie przechowywanego pliku .CSV.
  • Wybierz między stałymi lub losowymi spreadami w podsekcji Spready. Kliknij Na żywo, aby dopasować stały spread (jeśli jest wybrany) do bieżącego spreadu symbolu.

Zapoznaj się z tym samouczkiem, aby dowiedzieć się więcej o ustawieniach backtestingu i o tym, jak mogą wpływać na wyniki backtestingu.

Wybierz między trybami

Możesz wybrać, czy chcesz widzieć wyniki backtestingu (pozycje otwarte przez Twojego cBota) w miarę ich występowania. Ta funkcjonalność jest szczególnie przydatna do wykrywania określonych zdarzeń i warunków, w których Twój cBot nie zachowuje się zgodnie z oczekiwaniami.

Aby uzyskać do niej dostęp, włącz flagę Tryb wizualny tuż poniżej i po lewej stronie suwaka kalendarza. W menu Prędkość wybierz prędkość, z jaką będzie odtwarzany wybrany wykres handlowy. Zauważ, że zawsze możesz zmienić prędkość odtwarzania podczas trwania backtestingu.

Image title

Alternatywnie pozostaw flagę Tryb wizualny wyłączoną. Zamiast oglądać backtesting w czasie rzeczywistym, otrzymasz jednorazowy raport zawierający wyniki backtestingu na końcu.

Na razie pozostawimy funkcjonalność trybu wizualnego wyłączoną.

Uruchom backtesting

Aby przeprowadzić backtesting z podanymi ustawieniami i w wybranym trybie, kliknij przycisk Odtwórz po prawej stronie prawego menu kalendarza.

cTrader rozpocznie ładowanie wymaganych danych historycznych. Ten proces może potrwać kilka minut w zależności od wybranego okresu i sprzętu, na którym uruchamiasz cTrader.

W naszym przypadku proces jest stosunkowo szybki, ponieważ zażądaliśmy informacji tylko za 2 lata. Podczas backtestingu zobaczysz, jak pasek po prawej stronie flagi Tryb wizualny stopniowo przesuwa się od lewej do prawej.

Gdy przesunie się całkowicie w prawo, proces backtestingu zostanie zakończony.

Wyświetl wyniki

Istnieje wiele sposobów, których możesz użyć do oceny wyników backtestingu. Po zakończeniu backtestingu liczba w górnej części wykresu handlowego podsumuje całkowity zysk netto wygenerowany przez Twojego cBota.

Image title

W naszym przypadku cBot osiągnął znaczny zysk netto w wysokości 503%.

Innym sposobem oceny wydajności Twojego cBota jest przełączenie się na kartę Kapitał w panelu transakcji tuż pod wykresem handlowym. Zobaczysz wykres z całkowitą liczbą transakcji wykonanych przez Twojego cBota na osi X oraz środkami na osi Y.

Żółta linia będzie śledzić saldo Twojego cBota, podczas gdy szara linia będzie śledzić jego kapitał.

Image title

Widzimy, że nasz cBot radził sobie dobrze podczas backtestingu, ale mogą wystąpić przypadki, w których chcemy wprowadzić poprawki przed udzieleniem mu dostępu do prawdziwych środków.

Wreszcie, karta Statystyki transakcji wyświetli skumulowane statystyki dotyczące wszystkich działań handlowych wykonanych przez Twojego cBota.

Image title

Widzimy, że nasze całkowite zyski były świetne. Robot wykonał łącznie 271 transakcji zyskownych, a ogromna część (33 009,55) całkowitych zysków została wygenerowana przez zaledwie jedną transakcję! cBot wyraźnie ma pewien potencjał do podejmowania ryzykownych zagrań.

Backtesting to świetny sposób na upewnienie się, że Twój cBot działa zgodnie z oczekiwaniami. Korzystając ze szczegółowych statystyk i wykresu kapitału, możesz wskazać momenty cenowe, w których testowany robot podejmował właściwe (lub niewłaściwe) ruchy. Backtesting jest również w pełni konfigurowalny, co pozwala trenować cBoty w zupełnie różnych warunkach.