Jak używać wskaźników w cBotach
W tym artykule i odpowiadającym mu filmie pokażemy, jak możesz odwoływać się do wskaźników niestandardowych i używać ich w swoich cBotach. Aby to zrobić, opracujemy algorytm handlowy, który wykorzystuje wynik przykładowego wskaźnika niestandardowego do wykonywania operacji handlowych.
Utwórz nowego cBota
Aby zobaczyć wszystkie wskaźniki niestandardowe aktualnie zainstalowane na Twoim komputerze, przełącz się do aplikacji Algo i przejdź do karty Indicators.
Jeśli widzisz tutaj jeden lub więcej wskaźników niestandardowych, oznacza to, że możesz swobodnie używać ich w dowolnych innych algorytmach. W tym samouczku będziemy używać wskaźnika Sample SMA i opracujemy cBota, który handluje w oparciu o kierunek prostej średniej ruchomej.
Najpierw utworzymy nowego cBota i zmienimy jego nazwę na coś informacyjnego, takiego jak „SMA Robot". Nasz cBot otworzy transakcję kupna, gdy SMA stanie się zwyżkowa, i otworzy transakcję sprzedaży, gdy SMA stanie się spadkowa. Nasz cBot nie będzie zabezpieczał swoich pozycji, co oznacza, że przeciwne pozycje zostaną zamknięte przy każdym nowym sygnale.
Zainicjuj wskaźnik
Jeśli chodzi o wskaźniki niestandardowe, naszym pierwszym krokiem jest dodanie odwołania do wskaźnika niestandardowego. Aby odwołać się do wskaźnika niestandardowego, musimy wykonać następujące kroki:
- Kliknij przycisk Manage references.
- Znajdź wskaźnik, do którego chcemy się odwołać, w nowo otwartym oknie.
- Zaznacz pole wyboru obok wskaźnika, do którego chcemy się odwołać.
- Kliknij Apply.
Po odwołaniu się do wskaźnika możemy utworzyć zmienną instancji jego typu.
1 | |
Uwaga
Typ wskaźnika powinien być taki sam jak nazwa klasy wskaźnika. Może się to różnić od nazwy pliku wskaźnika.
Następnym krokiem jest zainicjowanie wskaźnika w naszej metodzie OnStart(). Jednak zanim to zrobimy, dodamy do cBota parametr, który pozwoli nam skonfigurować okresy używane przez niestandardowy wskaźnik SMA.
1 2 | |
Możemy użyć metody Indicators.GetIndicator<>(), aby zainicjować dowolne wskaźniki niestandardowe, do których się odwołujemy. Musimy zdefiniować typ wskaźnika i przekazać parametry wskaźnika oddzielone przecinkami.
Uwaga
Parametry muszą być przekazywane w kolejności zadeklarowanej w klasie wskaźnika.
W naszym przypadku typem jest SampleSMA i przekażemy wartości źródłowe tego wskaźnika, którymi w tym przypadku są ceny zamknięcia słupków i parametr Period.
1 | |
Zaimplementuj logikę handlową
Po zainicjowaniu naszego wskaźnika możemy zaimplementować naszą logikę handlową. Nasz niestandardowy wskaźnik SMA zapisuje wartości średniej ruchomej w kolekcji Results. Kolekcja Results zawiera dwie przydatne metody: IsRising() i IsFalling(). Te metody pozwalają nam dowiedzieć się, czy wyniki wskaźnika rosną, czy spadają.
Użyjemy tych metod do zaimplementowania naszych warunków handlowych.
1 2 3 4 5 6 7 8 9 10 11 | |
Teraz wypełnimy nasze instrukcje if. Gdy średnia ruchoma rośnie, zamkniemy wszystkie pozycje sprzedaży i otworzymy pozycję kupna. Natomiast gdy średnia ruchoma spada, zamkniemy wszystkie pozycje kupna i otworzymy pozycję sprzedaży.
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
W naszym kodzie użyliśmy dwóch nowych metod, których interfejs API nie udostępnia domyślnie. Metoda Open() otwiera nowe pozycje w oparciu o zdefiniowany kierunek i ilość. Metoda Close() zamyka wszystkie pozycje o zdefiniowanym kierunku.
Oto jak zdefiniowana jest metoda Open().
1 2 3 4 5 | |
Aby wykonać zlecenie wewnątrz metody Open(), musimy również dodać parametr Volume.
1 2 | |
Pozostaje nam tylko zdefiniować metodę Close().
1 2 3 4 5 | |
Przeprowadź backtesting
Jak zawsze, zanim pozwolimy cBotowi handlować w naszym imieniu, dokładnie go przetestujemy. Aby zrobić to samo, dodaj instancję, a następnie przełącz się na kartę Backtesting.
Aby jeszcze dokładniej przetestować naszego cBota, dodajemy do wykresu, do którego dołączona jest instancja, wskaźnik niestandardowy, do którego się odwołaliśmy, i sprawdzamy, czy punkty wejścia w pozycję odpowiadają wynikom wskaźnika.
Aby dowiedzieć się więcej o używaniu i tworzeniu cBotów, zapraszamy do przeglądania innych sekcji dokumentacji i subskrybowania naszego kanału YouTube, aby otrzymywać powiadomienia o publikacji nowych filmów.
W tym artykule i towarzyszącym mu filmie pokażemy, jak możesz odwoływać się do wskaźników niestandardowych i używać ich w swoich cBotach. W tym celu opracujemy algorytm handlowy, który wykorzystuje wynik gotowego wskaźnika niestandardowego do wykonywania operacji handlowych.
Tworzenie nowego cBota
Aby zobaczyć wszystkie wskaźniki niestandardowe aktualnie zainstalowane na Twoim komputerze, przejdź do aplikacji Algo i przejdź do sekcji „Indicators"