EN
Artykuły / 5.3 Zaliczanie challenge
Zaliczanie challengeszkic

Kilka botów na jednym koncie: wspólny dzienny limit straty

14.11.20263 min czytania

W skrócie: gdy każdy z kilku botów na jednym koncie ma własną blokadę dzienną, ale liczy ją od equity całego konta, to wszystkie przekraczają próg w tym samym momencie. Strata jednego bota zamyka pozycje pozostałych, choć one same są daleko od limitu. Naprawa polega na tym, żeby każdy bot liczył limit tylko z własnych transakcji, jakby miał osobne konto.

Zamysł i objaw

Na jednym koncie demo ze stałą wielkością 100 000 działało siedem botów na złocie. Chciałem, żeby każdy zachowywał się tak, jakby miał osobne konto 10 000, z limitem dziennym około 300 USD liczonym tylko z jego wyniku. Ryzyko na transakcję było 100 USD, a limit w ustawieniach 0,3% (liczone od 100 000 daje 300). Pozornie wszystko się zgadzało.

W praktyce 3 listopada rano trzy boty wspólnie straciły około 304 USD (194, 55 i 55), czyli tyle, ile wynosił limit 300 USD. Dwa z nich zostały zamknięte, mimo że każdy z osobna był daleko od limitu. Boty nie zachowywały się jak osobne konta, bo to nie były osobne konta.

Przyczyna

Blokada dzienna w mojej bibliotece liczyła trzy rzeczy od całego konta, nie od bota:

  1. Baza dnia to saldo całego konta na początek dnia. Ustawienie “saldo początkowe bota” nie brało udziału w liczeniu.
  2. Próg to procent od tej bazy. Kwota 300 USD zgadzała się z “3% od 10 000” przypadkiem: baza konta była dokładnie dziesięć razy większa.
  3. Strata dnia to equity całego konta, więc sumują się zamknięte transakcje i pływający wynik wszystkich siedmiu botów, także ręczne pozycje.

Po przekroczeniu progu każdy bot zamykał własne pozycje i blokował wejścia do następnego dnia. Skoro wszystkie widziały to samo equity, wszystkie reagowały naraz.

W Testerze problemu nie widać: tam bot jest sam na koncie, więc equity konta to jego wynik. Test pokazuje zamysł, live pokazuje limit wspólny. To jeden z przypadków z artykułu o różnicach Tester kontra live.

Rozwiązanie

Każdy bot liczy własne konto wirtualne: saldo początkowe z ustawień plus wynik własnych zamkniętych transakcji (po magic numerze), a equity to saldo wirtualne plus wynik własnych otwartych pozycji. Wpłaty i wypłaty na koncie nie przesuwają bazy, bo nie należą do bota. Procent limitu ustawia się wtedy jak dla konta 10 000, czyli 3%, nie 0,3%. Jeśli zostawisz 0,3%, limit spadnie do 30 USD.

To rozwiązanie wprowadziłem do biblioteki, a na koncie z kilkoma botami zmieniłem odpowiednio procent. Przy okazji ten sam sposób liczenia obejmuje też limit dziennego zysku i cel, które były liczone podobnie.

A co przy prop ON i jednym bocie

Tryb challenge z jednym botem na koncie prop liczy poprawnie od konta: tak liczy firma i taki limit trzeba pilnować (jak firmy liczą dzień). Wspólny limit konta jest wtedy prawdziwym limitem firmy. Problem dotyczy tylko sytuacji, gdy chcesz mieć limit na bota, a nie na konto. Jeśli kilka botów dzieli konto prop, firma i tak patrzy na całość, więc trzeba też policzyć ryzyko łączne (ryzyko łączne kilku botów).

[DO UZUPEŁNIENIA: jak masz ustawiony limit dzienny na koncie prop z kilkoma botami]

Checklista

  • wiem, czy limit dzienny bota liczy się od konta, czy od bota,
  • procent limitu dopasowany do saldo początkowego bota, nie konta,
  • po zmianie liczenia przestawiony procent w ustawieniach i na wykresach,
  • test w Testerze nie dowodzi zachowania przy kilku botach (sprawdzone w logu live),
  • na koncie prop policzone także ryzyko łączne wszystkich botów.

Powiązane

Ostrzeżenie: handel CFD i forex wiąże się z wysokim ryzykiem utraty kapitału. Artykuł ma charakter edukacyjny i nie jest rekomendacją inwestycyjną.