Przejdź do treści

cTrader Algo FAQ

Sprzedaż algorytmów

Gdzie mogę sprzedać swój algorytm?

Opublikuj swój algorytm w cTrader Store, aby uzyskać bogate możliwości monetyzacji bez żadnych działań marketingowych. cTrader Store to bezpieczny rynek, który pozwala dotrzeć do milionów użytkowników cTrader na całym świecie.

Jeśli jestem autorem algorytmu, czy mogę pobierać opłaty od innych osób za jego używanie?

Możesz zostać sprzedającym w cTrader Store i przystąpić do publikacji swojego algorytmu, a następnie Twój algorytm stanie się dostępny do zakupu dla milionów potencjalnych nabywców. Twoja własność intelektualna pozostaje chroniona.

Czy mogę utworzyć wersję próbną mojego algorytmu dla cTrader Store?

Zduplikuj swój główny algorytm, dodaj ograniczenia i opublikuj wersję próbną w cTrader Store.

Jak mogę udostępnić wyniki backtestingu innym użytkownikom?

Backtesting można przeprowadzić tylko w cTrader Windows i Mac. Jednak podczas korzystania z cTrader Windows możesz wybrać przesłanie raportu z backtestingu, aby mógł być wyświetlany na stronie algorytmu. Użytkownicy zobaczą wtedy raport we wszystkich aplikacjach cTrader, w tym cTrader Mobile i Web.

Jak wyeksportować i udostępnić mój algorytm?

Wyeksportuj swój algorytm jako plik .algo w cTrader Windows lub Mac. Użytkownicy będą mogli zainstalować algorytm, otwierając plik .algo za pomocą cTrader Mobile, Windows lub Mac.

Bezpieczeństwo i ochrona

Czy każdy użytkownik może zobaczyć kod źródłowy mojego algorytmu?

Nie, nabywcy Twojego algorytmu w cTrader Store nie mogą zobaczyć jego kodu źródłowego, chyba że wyraźnie zdecydujesz się ujawnić kod.

Jak cTrader zabezpiecza mój algorytm i jego własność intelektualną?

cTrader stosuje kompleksowe mechanizmy bezpieczeństwa w pliku .algo, aby zapobiec ujawnieniu kodu źródłowego na każdym etapie, od lokalnego rozwoju po dystrybucję.

Czym są prawa dostępu i dlaczego są ważne?

Prawa dostępu chronią użytkowników, uruchamiając algorytmy w środowisku piaskownicy. Twój cBot lub wskaźnik musi zadeklarować wymagany poziom dostępu za pomocą właściwości AccessRights.

Czy mój algorytm może odczytywać i zapisywać pliki?

Możesz zakodować swój algorytm tak, aby pracował z plikami bez podwyższonych uprawnień, uzyskując dostęp do folderu danych algorytmu.

Mój algorytm napotyka problemy z powodu znaków niełacińskich w ścieżce pliku. Jak to naprawić?

Zastosuj odpowiednią poprawkę dla znaków niełacińskich dla swojego systemu operacyjnego, a następnie przebuduj swój algorytm.

Zależności i integracje

Czy mogę utworzyć nowy algorytm w cTrader Web lub Mobile?

cTrader Windows i Mac obsługują wszystkie przepływy tworzenia dla cBotów, wskaźników i wtyczek, podczas gdy cTrader Web obsługuje budowanie wtyczek internetowych.

Czy mogę pisać algorytmy w języku Python?

Tak, cTrader oferuje natywną obsługę języka Python do tworzenia cBotów, wskaźników i wtyczek.

Czy mogę użyć AI do wygenerowania cBota?

Tak, możesz utworzyć cBota za pomocą AI, takiego jak ChatGPT, Claude, Gemini lub dowolny inny model. Aby uzyskać najlepsze wyniki, podaj szczegółowy, konkretny prompt opisujący parametry strategii, warunki i operacje handlowe.

Czy mogę używać zewnętrznego IDE do tworzenia algorytmów?

Tak, cTrader obsługuje zewnętrzne IDE, w tym Visual Studio, Visual Studio Code, Rider i inne.

Jak odwołać się do bibliotek zewnętrznych w moim algorytmie C#?

Odwołaj się do bibliotek .NET zewnętrznych za pomocą Menedżera odwołań w interfejsie użytkownika cTrader lub instalując pakiety NuGet.

Czy mogę używać pakietów Python zewnętrznych w moim algorytmie?

Tak, zadeklaruj swoje zależności w pliku requirements.txt umieszczonym obok pliku wejściowego Python. Pakiety Python zewnętrzne, takie jak pandas i numpy, są rozwiązywane automatycznie podczas budowania projektu.

Jak mój algorytm może uzyskać dostęp do internetu?

Użyj interfejsu Http do żądań HTTP lub klasy WebSocketClient do przesyłania danych w czasie rzeczywistym. Dostęp do sieci działa z AccessRights.None i obsługuje metody GET, POST i inne metody HTTP, a także połączenia WebSocket.

Jak mój algorytm może wysyłać powiadomienia e-mail?

Skonfiguruj powiadomienia e-mail, włączając ustawienia SMTP w cTrader, a następnie wywołaj Notifications.SendEmail() w swoim kodzie, aby wysyłać alerty na podstawie dowolnego zdarzenia, takiego jak otwarcie pozycji lub przekroczenie progów wskaźnika.

Jak używać wskaźników w moim cBocie?

Używaj wskaźników wbudowanych w swoim cBocie, deklarując pole wskaźnika, inicjalizując je w OnStart() i odczytując jego wartości, aby podejmować decyzje handlowe.

Jak używać WebSockets w moim algorytmie?

Pracuj z WebSockets za pomocą klasy WebSocketClient, aby wysyłać i odbierać dane w czasie rzeczywistym. WebSockets są bardziej wydajne niż HTTP w przypadku kanałów danych na żywo i obsługują zarówno dane tekstowe, jak i surowe dane bajtowe.

Czy cBot może zarządzać innymi cBotami lub wskaźnikami?

Tak, użyj funkcjonalności algorytmu zarządzającego innym algorytmem, aby programowo dodawać cBoty i wskaźniki do wykresu. Umożliwia to dynamiczne dostosowania, wykonywanie wielu strategii i zautomatyzowane kontrole ryzyka.

Jak dodać niestandardowe przyciski do paska narzędzi wykresu?

Dodaj nowe przyciski do paska narzędzi wykresu za pomocą wtyczki. Możesz zdefiniować polecenie i przypisać akcję, która zostanie wykonana po kliknięciu przycisku.

Jak mogę rysować niestandardowe elementy wizualne na wykresie?

Użyj płótna, aby tworzyć niestandardowe elementy wizualne, w tym teksty, kształty, obrazy, strzałki i adnotacje bezpośrednio na wykresach handlowych. Klasa Canvas jest dostępna dla wszystkich typów algorytmów.

Jakiego kompilatora powinienem używać?

Kompilator .NET SDK jest zalecany w przypadku dużych projektów lub algorytmów, które używają bibliotek zewnętrznych. Kompilator osadzony jest wbudowany, ale ma ograniczone funkcje. Przełączaj między kompilatorami w ustawieniach.

Parametry i wydajność

Jak dodać konfigurowalne parametry do mojego algorytmu?

Deklaruj parametry za pomocą atrybutu [Parameter] w swoim cBocie, wskaźniku lub wtyczce. Używaj parametrów, aby umożliwić użytkownikom dostosowywanie zachowania, takiego jak poziomy stop loss, okresy wskaźników lub źródła danych, bez modyfikowania kodu źródłowego.

Czy mój algorytm może kontynuować działanie, gdy napotka błąd?

Tak, tolerancja błędów zapewnia, że algorytmy kontynuują działanie w przypadku napotkania wyjątków. Możesz dostosować sposób, w jaki Twój algorytm reaguje na błędy, nadpisując metodę OnException(). Instancje cBota, które ulegną awarii, są automatycznie ponownie uruchamiane.

Czy istnieją limity szybkości dla operacji handlowych?

Konta demo podlegają limitom szybkości dla operacji takich jak składanie, anulowanie, modyfikowanie i zamykanie zleceń. Przekroczenie tych limitów tymczasowo blokuje wszystkie operacje handlowe, w tym handel manualny.

Czy mogę zbudować strategię, która używa wielu okresów?

Tak, możesz kodować strategie wielookresowe, definiując parametry dla różnych okresów i uzyskując dostęp do danych z wielu obiektów słupków w ramach tego samego cBota.

Jak zoptymalizować parametry mojego cBota?

Użyj wbudowanej funkcji optymalizacji, aby znaleźć najlepsze wartości parametrów dla swojego cBota. Możesz również napisać niestandardowe funkcje dopasowania, nadpisując metodę GetFitness(), aby zastosować własne kryteria wydajności.

Czy mogę wykonywać wiele zleceń jednocześnie?

Tak, cTrader obsługuje zarówno synchroniczne, jak i równoległe wykonywanie zleceń. Użyj metod asynchronicznych, aby przesyłać wiele zleceń jednocześnie, bez czekania na zakończenie każdego z nich przed wysłaniem kolejnego.

Czy Algo API jest bezpieczne wątkowo?

Tylko kilka metod w API jest bezpiecznych wątkowo. W przypadku wszystkich innych użyj BeginInvokeOnMainThread(), aby wykonać kod w głównym wątku. Każdy aktywny algorytm działa w osobnym procesie odizolowanym od głównego procesu cTrader.

Potrzebujesz wsparcia cTrader?

Skontaktuj się z nami za pośrednictwem naszych oficjalnych kanałów, aby rozwiązać wszelkie problemy:

  • Zadawaj pytania i łącz się z traderami, programistami i innymi użytkownikami w społeczności Discord cTrader.
  • Skontaktuj się z zespołem wsparcia cTrader pod adresem support@ctrader.com, aby uzyskać pomoc techniczną.
  • Przeglądaj zarchiwizowane dyskusje na forum społeczności cTrader. Chociaż forum nie jest już otwarte na nowe posty, jest pełne pomocnych odpowiedzi na typowe problemy.