Przejdź do treści

Jak korzystać z materiałów referencyjnych i przewodników cTrader Algo

cTrader jest wyposażony w pełny zestaw materiałów uzupełniających, w tym obszerną dokumentację (której część właśnie czytasz) i filmy edukacyjne. W tym artykule wyjaśniamy, jak możesz efektywnie korzystać z tego skarbca informacji. Algo API ma wiele elementów, a umiejętność szybkiego uzyskania informacji o tym, czego potrzebujesz, jest niezbędna.

Aktualizacje dokumentacji

Dokumentacja jest regularnie aktualizowana, aby odpowiadała nowym wydaniom cTrader. W niektórych przypadkach możesz zobaczyć dokumentację omawiającą ulepszenia API, do których nie masz jeszcze dostępu w cTrader. Możesz traktować takie przypadki jako zapowiedzi tego, co nadejdzie w przyszłych wersjach cTrader.

Dostęp do dokumentacji i przewodników

Możesz łatwo znaleźć materiały edukacyjne bezpośrednio w cTrader Windows. Aby to zrobić, otwórz aplikację Algo i wybierz dowolny algorytm. W kolumnie po prawej stronie okna edytora kodu powinieneś zobaczyć dokumentację API w pełni zintegrowaną wewnątrz platformy.

Image title

W rzeczywistości istnieje duża szansa, że możesz czytać ten artykuł właśnie w cTrader.

Alternatywnie możesz odwiedzić Centrum Pomocy cTrader i otworzyć sekcję dotyczącą handlu algorytmicznego. W niej powinieneś zobaczyć ten sam interfejs i strukturę, jak w zwykłym cTrader Windows. Wreszcie, ale nie mniej ważne, możesz odwiedzić nasz kanał YouTube, gdzie możesz obejrzeć przewodniki wideo dotyczące algorytmów cTrader. Należy pamiętać, że wszystkie te przewodniki są również dostępne jako osadzone filmy w Centrum Pomocy i w zintegrowanej dokumentacji API.

Nawigacja po dokumentacji

Dokumentacja zawiera kilka istotnych sekcji.

Podstawy C# i .NET. To krótkie wprowadzenie do podstawowych zasad C# i .NET jest idealne dla każdego, kto chce zacząć tworzyć własne algorytmy.

cBoty i Wskaźniki. Te przewodniki obejmują proces tworzenia cBotów i wskaźników od podstaw i zawierają kilka fragmentów kodu, które możesz swobodnie wykorzystać podczas tworzenia własnych algorytmów.

Funkcje API. Dokumentacja w tej sekcji szczegółowo opisuje, jak możesz pracować z kilkoma głównymi funkcjami Algo API, w szczególności dostępem do sieci i pamięcią lokalną. Przewodniki Zaawansowane operacje cBotów i Zaawansowane operacje wskaźników zawierają fragmenty kodu dla złożonych typów algorytmów cTrader, takich jak zagnieżdżone wskaźniki.

Materiały referencyjne. Materiały referencyjne API zawierają opisy każdego pojedynczego elementu API, co oznacza, że możesz przeczytać informacje o tym, co możesz uzyskać lub ustawić za pomocą określonych właściwości, możliwych wartościach różnych enum'ów i tym, co zwracają określone metody. Te same informacje są podawane w oknie edytora kodu, gdy najeżdżasz kursorem na określony element API.

Korzystanie z fragmentów kodu

Obszerne fragmenty kodu są jedną z kluczowych cech tej dokumentacji. Niezależnie od typu algorytmów, które chcesz stworzyć, istnieje duża szansa, że dokumentacja zawiera kod, który możesz swobodnie wykorzystać. Aby to zademonstrować, możemy stworzyć prostego cBota, który działa niemal w całości na kodzie zaczerpniętym z dokumentacji z niewielkimi modyfikacjami.

Aby to zrobić, najpierw stworzymy nowego cBota. Odbywa się to poprzez kliknięcie przycisku Nowy cBot lub, jeśli go nie widzisz, otwarcie menu rozwijanego u góry listy algorytmów i wybranie tej samej opcji.

Image title

Stworzymy prostego cBota, który handluje wieloma symbolami. Chcemy handlować wiadomościami, więc sensowne jest posiadanie algorytmu, który handluje wszystkimi symbolami związanymi z tymi wiadomościami.

Aby to zrobić, otworzymy zintegrowaną dokumentację Algo API i wpiszemy „multiple symbols" w jej pasku wyszukiwania. Jak pokazują wyniki wyszukiwania, istnieje podsekcja omawiająca handel innymi symbolami w przewodniku Zaawansowane operacje z cBotami. Jeśli klikniemy na ten konkretny wynik, zostaniemy natychmiast przeniesieni do odpowiedniego fragmentu kodu wraz z pewnymi informacjami uzupełniającymi. Możemy natychmiast skopiować i wkleić fragment do naszego cBota.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
  [Robot()]
  public class Sample_cBot : Robot
  {
    protected override void OnStart()
    {
        var symbol = Symbols.GetSymbol("GBPUSD");

        if (symbol is not null)
        {
            _ = ExecuteMarketOrder(TradeType.Sell, symbol.Name, symbol.VolumeInUnitsMin);
        }
    }
  }

Informacje powyżej fragmentu kodu mówią nam, że możemy użyć kolekcji Symbols, aby znaleźć symbole, których chcemy. Załóżmy, że Departament Skarbu USA wygłasza kolejne przemówienie na temat cyklu stóp procentowych i chcemy otworzyć pozycje sprzedaży na starcie dla kilku indeksów opartych na USA (ale nie dla symbolu, do którego dołączony jest nasz cBot).

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
[Robot()]
  public class Sample_cBot : Robot
  {
    protected override void OnStart()
    {
        var symbolOne = Symbols.GetSymbol("US 500");

        var symbolTwo = Symbols.GetSymbol("US 30");

        var symbolThree = Symbols.GetSymbol("US TECH 100");

        if (symbolOne is not null && symbolTwo is not null && symbolThree is not null)
        {
            ExecuteMarketOrder(TradeType.Sell, symbolOne.Name, symbolOne.VolumeInUnitsMin);
            ExecuteMarketOrder(TradeType.Sell, symbolTwo.Name, symbolTwo.VolumeInUnitsMin);
            ExecuteMarketOrder(TradeType.Sell, symbolThree.Name, symbolThree.VolumeInUnitsMin);
        }
    }
  }

Na starcie nasz cBot wykona wymagane operacje. Odwołanie się do dokumentacji API pozwoliło nam zaoszczędzić dużo czasu poprzez ponowne wykorzystanie istniejącego kodu i tylko nieznaczne zmodyfikowanie go, aby odpowiadał naszym potrzebom.

Podsumowanie

cTrader pozwala uzyskać dostęp do dokumentacji API w kilku różnych miejscach, w szczególności w samej platformie. Jest to niezwykle wygodny sposób na wzmocnienie swoich algorytmów, ponieważ możesz po prostu ponownie wykorzystać fragmenty kodu z dokumentacji po wprowadzeniu wymaganych modyfikacji. Gorąco również zalecamy subskrypcję naszego kanału YouTube, abyś był aktualizowany za każdym razem, gdy publikujemy nowy film edukacyjny.