Przewodnik po testowaniu i optymalizacji ekspertów doradczych AI | Deriv Blog

Dopracuj swojego eksperta doradczego AI dzięki odpowiednim technikom testowania. Nasz przewodnik omawia najczęstsze problemy, metody testowania oraz optymalizację ekspertów doradczych, aby zapewnić niezawodne boty handlowe.

Redakcja Deriv · 21 April 2025 · 6 min czytania

Share

Eksperci doradcy AI do handlu są już dostępni — ale nadal trzeba je testować i dopracowywać.

Jeśli korzystałeś już z narzędzi AI, takich jak Claude lub ChatGPT, aby stworzyć eksperta doradczego dla Deriv MT5 lub cBota dla Deriv cTrader, to świetny początek. Ale nawet jeśli kod wygląda poprawnie, może nadal zawierać błędy, które wpływają na działanie bota.

Zanim uruchomisz swojego eksperta doradczego (EA) na rzeczywistym rynku, ważne jest, aby go przetestować i upewnić się, że działa tak, jak oczekujesz.

W tym przewodniku przeprowadzimy Cię przez najczęstsze błędy kodowania w EA wygenerowanych przez AI, sposoby ich naprawy oraz praktyczne wskazówki, które pomogą poprawić wydajność bota.

Najczęstsze błędy kodowania MQL5 w AI

Oto niektóre z najczęstszych problemów występujących w EA wygenerowanych przez AI oraz sposoby ich naprawy:

  • Błąd niezadeklarowanego identyfikatora w MQL5

Ten błąd pojawia się, gdy bot używa zmiennej lub nazwy, która nie została poprawnie zdefiniowana, na przykład brakuje parametru albo użyto nieprawidłowej nazwy w wskaźnikach, takich jak iMA().

Naprawa:
Sprawdź parametry wskaźnika i upewnij się, że wszystkie nazwy zmiennych są zgodne z tym, czego oczekuje MetaEditor (narzędzie do kodowania MT5).

  • Brak funkcji wykonania transakcji kupna/sprzedaży

Niektóre boty wygenerowane przez AI pomijają niezbędną logikę otwierania transakcji.

Naprawa:
Ręcznie dodaj podstawowe funkcje wykonywania transakcji. Oto przykład podstawowej struktury do złożenia zlecenia kupna:

void OpenBuy() { 

   MqlTradeRequest request; MqlTradeResult result; 

   request.action = TRADE_ACTION_DEAL; 

   request.type = ORDER_TYPE_BUY; 

   request.price = SymbolInfoDouble(_Symbol, SYMBOL_ASK); 

   request.volume = 0.1; request.magic = 12345; 

   OrderSend(request, result); 

}

Upewnij się też, że dodasz logikę dla zleceń sprzedaży i określisz warunki, w których transakcje powinny być otwierane.

  • Nieprawidłowe warunki pętli w Deriv cTrader

W Deriv cTrader logika bota musi działać wewnątrz określonych funkcji, takich jak OnBar() lub OnTick(). Są one uruchamiane automatycznie, gdy rynek się porusza. Jeśli kod znajduje się poza tymi sekcjami, na przykład w niewłaściwej pętli lub w zakresie globalnym, nie będzie działał zgodnie z oczekiwaniami.

Naprawa:

Upewnij się, że świece i ticki są obsługiwane wewnątrz OnBar() lub OnTick(). Pozwoli to botowi prawidłowo reagować na nowe ticki lub świece podczas testów historycznych i handlu na żywo.

  • Błędne obliczanie wielkości lota na podstawie procentu salda

Gdy AI próbuje ustawić wielkość lota na podstawie salda konta (np. ryzykując 2% na transakcję), może pominąć ważny szczegół — wielkość kontraktu. Może to prowadzić do nieprawidłowych wielkości lota. Nie spowoduje to błędu w kodzie, ale podczas testów zobaczysz wielkości transakcji, które nie zgadzają się z ustawieniami ryzyka, co skutkuje nadmierną lub zbyt małą ekspozycją w transakcjach na żywo.

Naprawa:
Użyj wzoru na wielkość lota, który uwzględnia wielkość kontraktu, na przykład:

//-----------------------------------------------------------------

double accountBalance = AccountInfoDouble(ACCOUNT_BALANCE);

double riskMoney = accountBalance * (RiskPercent / 100.0);

double tickValue = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE);

double tickSize = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_SIZE);

double pointValue = tickValue / tickSize;

double contractSize = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_CONTRACT_SIZE);

if(contractSize > 0)

pointValue = pointValue / contractSize;

double lotSize = riskMoney / (StopLossPoints * pointValue);

double minLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN);

double maxLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MAX);

double lotStep = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP);

lotSize = MathMax(lotSize, minLot);

lotSize = MathMin(lotSize, maxLot);

lotSize = MathFloor(lotSize / lotStep) * lotStep;

  • Inne błędy

Jeśli napotkasz jeden z tych błędów — lub jakikolwiek inny — zawsze możesz poprosić model AI o pomoc w zidentyfikowaniu i naprawieniu problemu.

Po prostu skopiuj komunikat błędu i odpowiedni kod, a następnie udostępnij je modelowi AI. W większości przypadków powinien on być w stanie wskazać problem i zaproponować poprawkę lub możliwe rozwiązania.

Wskazówka: Zawsze uruchamiaj test historyczny przed przejściem na rzeczywiste transakcje. Takie problemy nie pojawiają się, dopóki nie przetestujesz strategii na prawdziwych danych rynkowych.

Ulepsz swojego eksperta doradczego wygenerowanego przez AI

Gdy bot zacznie działać, możesz wprowadzić drobne zmiany, aby poprawić jego wydajność i stabilność. Oto kilka popularnych sposobów:

  • Dodaj logikę obsługi błędów, aby radzić sobie z nieoczekiwanym zachowaniem podczas dużej zmienności lub problemów z połączeniem.
  • Użyj trailing stop-loss, aby zabezpieczyć potencjalne zyski, gdy rynek porusza się na Twoją korzyść.
  • Przetestuj swoją strategię wstecznie na danych historycznych, aby zobaczyć, jak mogłaby się sprawdzić.
  • Oczyść i uporządkuj kod, aby poprawić czytelność i wydajność. Dzięki temu późniejsza aktualizacja lub rozwiązywanie problemów będzie łatwiejsze.

Wskazówka: Użyj MetaEditor Debugger (w MT5), aby testować działanie bota krok po kroku.

Dlaczego testowanie transakcji wstecznie ma kluczowe znaczenie

Boty wygenerowane przez AI to świetny sposób na automatyzację handlu bez konieczności pisania kodu od zera. Ale nawet przy wsparciu AI Twoja strategia nadal wymaga ludzkiej weryfikacji i dostosowań, aby dobrze działać w rzeczywistych warunkach.

Zanim przejdziesz na handel na żywo, poświęć czas na dokładne testy i wprowadzenie drobnych ulepszeń. Nawet niewielkie poprawki mogą znacząco wpłynąć na to, jak konsekwentnie i skutecznie działa Twój EA.

Join 3M+ global traders

Open an account in minutes and start trading the world's markets — forex, stocks, indices, and more.

Przewodnik po testowaniu i optymalizacji ekspertów doradczych AI | Deriv Blog