MultiCharts łączy wykresy, handel ręczny i automatyczne strategie. Przy wyborze liczy się zgodność języka, danych i rachunku oraz sposób testowania wspólnego portfela. Sama liczba funkcji nie zapewnia wiarygodnego backtestu. Zacznij od jednego prostego modelu, którego transakcje potrafisz odtworzyć krok po kroku.
Która wersja pasuje do twojego kodu?
Podstawowa edycja korzysta z PowerLanguage, języka zgodnego w dużym zakresie z EasyLanguage. MultiCharts x .NET obsługuje C# i VB.NET. Dokumentacja wskazuje .NET Framework 4.8, więc dostępność zewnętrznej biblioteki nie gwarantuje zgodności jej najnowszej wersji. Strona oferty nadal wymienia Python w becie, lecz Help Center informuje, że MultiCharts x Python nie jest już aktywnie rozwijany ani wspierany. Przed wyborem tego środowiska uzyskaj od dostawcy potwierdzenie statusu i zgodności konkretnej wersji.
Istniejący wskaźnik z TradeStation może być dobrym punktem startu, ale kompilacja nie dowodzi identycznego zachowania. Sprawdź funkcje, sesje, indeksowanie świec, moment obliczeń i składania zlecenia. Wskaźnik opisujący zamkniętą świecę i strategia działająca podczas jej tworzenia mogą dawać różne rezultaty.
Przy przenoszeniu systemu przygotuj mały zestaw kontrolny: kilka świec, oczekiwane wartości wskaźnika i listę zleceń. Dopiero po zgodności tych wyników uruchamiaj dłuższą historię. Biblioteka strategii nie jest gotowym dowodem przewagi; obcy kod wymaga przeczytania i sprawdzenia zależności.
Do poznania samego interfejsu nie musisz od razu programować. Możesz przejrzeć dostępne wykresy i symulację ręcznych zleceń. Jeżeli celem jest wyłącznie obserwacja rynku, rozbudowane narzędzia optymalizacji nie muszą uzasadniać płatnego planu.
Plan licencji i źródło danych to osobne wybory
Aktualna oferta rozróżnia Free, Standard i Advanced. Free korzysta z przykładowych danych historycznych oraz symulatora; nie daje dowolnego strumienia rynkowego na żywo. Standard obejmuje połączenia z brokerami i dostawcami danych oraz handel ręczny i automatyczny. Advanced dodaje m.in. Portfolio Trader, optymalizację Matrix i walk-forward.
To odrębny podział od wyboru edycji językowej. Sprawdzaj oba pola w cenniku. Bezpłatny plan nie jest tym samym co 30-dniowy okres próbny pełnych funkcji. Producent oferuje różne okresy rozliczenia; aktualną kwotę, walutę i warunki odnowienia sprawdź dla wybranej konfiguracji.
Koszt platformy nie opisuje całego budżetu. Oddziel licencję, abonament danych, uprawnienia giełdowe, prowizje transakcyjne i ewentualny serwer. Nie dodawaj depozytu zabezpieczającego do miesięcznych opłat: to inne zobowiązanie. Brak opłaty za program również nie usuwa kosztów i ryzyka samego handlu.
Co naprawdę odtwarza tester?
Dane OHLC opisują otwarcie, maksimum, minimum i zamknięcie. Nie mówią, w jakiej kolejności wystąpiły wszystkie ceny. MultiCharts stosuje założenia ruchu wewnątrz świecy, jeśli nie ma dokładniejszej informacji. Nie można więc opisywać każdego wyniku jako odtworzenia rzeczywistych ticków, spreadu i kolejki zleceń.
Bar Magnifier służy do wykorzystania bardziej szczegółowych danych w testowaniu. Intra-Bar Order Generation dotyczy z kolei obliczeń i generowania zleceń wewnątrz świecy. To powiązane, ale różne ustawienia. Sprawdź ich dostępność i współdziałanie w konkretnym trybie testu; nie przenoś automatycznie możliwości wykresu na Portfolio Trader.
Przykład: po wejściu przy 100 ustawiono stop 95 i cel 108. Świeca ma maksimum 110 oraz minimum 90. Obydwa poziomy mieszczą się w jej zakresie. Wynik +8 albo −5 przed kosztami zależy od kolejności zdarzeń i reguł wykonania. Bez dokładniejszych danych samo OHLC nie rozstrzyga tego wyniku.
Nawet historia tickowa nie jest pełnym modelem rzeczywistego wykonania. Zapis notowań może nie zawierać twojego miejsca w kolejce, opóźnienia infrastruktury ani wpływu zlecenia na rynek. Oddziel precyzję danych od realizmu modelu wykonania i wyraźnie opisz przyjęte uproszczenia.
Portfel potrzebuje wspólnego kapitału
Portfolio Trader pozwala analizować wiele strategii i instrumentów w ramach portfela. Praktyczny sens takiego testu polega m.in. na sprawdzeniu, które sygnały można wykonać jednocześnie przy wspólnych ograniczeniach. Dodanie trzech niezależnych krzywych kapitału może pomijać konkurencję o środki.
Rozważ własny przykład dydaktyczny: kapitał 10 000 zł, limit planowanego ryzyka otwartych pozycji 2%, czyli 200 zł. Każdy z trzech sygnałów zakłada 100 zł straty przy wykonaniu stopa zgodnie z planem. Żadna pozycja jeszcze się nie zamknęła.
| Sygnał | Ryzyko nowej pozycji | Suma po przyjęciu | Ocena względem limitu |
|---|---|---|---|
| A | 100 zł | 100 zł | Mieści się |
| B | 100 zł | 200 zł | Wyczerpuje limit |
| C | 100 zł | 300 zł | Przekracza limit |
Trzeciego sygnału nie można przyjąć w tej wielkości bez zmiany reguł. System powinien rozstrzygać kolejność albo priorytet sygnałów z wyprzedzeniem, a nie wybierać po fakcie korzystniejszą transakcję. Sprawdź również wymagany margin i dostępne środki; limit ryzyka nie zastępuje kontroli depozytu.
Kwota 200 zł jest sumą założonych strat przy stopach, nie gwarantowanym maksimum. Luki, poślizg i koszty mogą zwiększyć stratę. Wspólny czynnik rynkowy może uruchomić kilka stopów naraz. Trzy różne symbole nie muszą oznaczać trzech niezależnych ekspozycji.
Optymalizacja nie zastępuje sprawdzianu
Zmiana parametrów pozwala zobaczyć wrażliwość strategii, ale wyszukanie najlepszego wyniku historycznego sprzyja dopasowaniu do szumu. Zapisz zakresy i liczbę prób. Porównaj sąsiednie ustawienia, koszt transakcji oraz okresy słabszego działania, zamiast wybierać wyłącznie najwyższy zysk.
W walk-forward parametry dobiera się na wcześniejszym fragmencie i ocenia na kolejnym. Jeżeli wielokrotnie zmieniasz cały pomysł po obejrzeniu tych wyników, również ta część historii wpływa na projekt. Pozostaw odrębny końcowy sprawdzian i ujawnij, kiedy został wykorzystany.
Wyniki porównuj dla tego samego kapitału, kosztów, walut, sesji i zasad wielkości pozycji. Podaj również liczbę transakcji oraz obsunięcie. Pięć korzystnych wykonań nie zapewnia takiej samej podstawy do oceny jak długa próba obejmująca różne warunki rynkowe.
SMA na początku wykresu może wymagać cen, których nie widać na ekranie
Widoczny wycinek i historia wczytana do obliczeń to różne zakresy. Sprawdźmy własną SMA(3), zanim uznamy puste początkowe wartości za błąd wskaźnika.
Przesuń diagram w bok, aby zobaczyć całość
Własny fikcyjny szereg Close: starsze 92 i 96, następnie widoczne 100, 104, 108, 112 i 116 w równych krokach. Autorski algorytm liczy średnią dopiero po dostępności trzech kolejnych obserwacji i nie zastępuje braków zerami. To nie zrzut MultiCharts ani określenie domyślnego MaxBarsBack jego konkretnego wskaźnika. Dokument MultiCharts — What is MaxBarsBack potwierdza: MaxBarsBack określa minimalny wcześniejszy zakres danych potrzebny do obliczeń wskaźnika lub sygnału.
Z historią poprzedzającą ekran pierwsza widoczna średnia wynosi (92 + 96 + 100) / 3 = 96. Po wczytaniu wyłącznie widocznych danych nie można policzyć SMA dla pierwszych dwóch punktów: brakuje składników. Dopiero przy 108 dostępne są 100, 104 i 108, więc wynik to 104. Dokumentacja MultiCharts opisuje MaxBarsBack jako wymagany zakres wcześniejszych danych dla obliczeń. Faktyczny start konkretnego skryptu zależy od jego logiki i ustawień; nie przenoś licznika z tego modelu na każdy wskaźnik. Przy porównaniu wykresów zapisz zarówno wyświetlany wycinek, jak i początek wczytanej historii.
Sprawdź historię i połączenie brokerskie
Lista obsługiwanych połączeń obejmuje brokerów i osobnych dostawców danych. To nie są zamienne role. Możesz analizować inne źródło niż to, które obsługuje wykonania, co wymaga zgodności symboli, jednostek i godzin sesji. Dostępność konektora nie potwierdza możliwości otwarcia rachunku przez każdego mieszkańca Polski.
Zanim pobierzesz dużą historię, ustal jej zakres, rozdzielczość i braki. Dla futures określ serię, sposób łączenia kontraktów oraz ewentualne korekty cen. Deklaracja „pięć lat danych” bez informacji o tickach, świecach i instrumentach nie wystarcza do oceny przydatności.
Łączenie serii może stworzyć sygnał bez ruchu w tej samej serii
Przed testem na kontrakcie ciągłym oddziel zmianę ceny od zmiany serii. W hipotetycznym modelu stara seria ma ostatnie dwie ceny 100 i 100, a nowa pierwsze dwie 110 i 110. Różnica 10 jest umownie stałą różnicą wyceny między seriami; żadna z serii nie zmieniła swojej ceny w pokazanych obserwacjach.
| Zapis do analizy | Zmiany między odczytami | Przekroczenie 105 |
|---|---|---|
| 100, 100, 110, 110 | 0, + 10, 0 | Tak, przy zmianie serii |
| Stare ceny + 10: 110, 110, 110, 110 | 0, 0, 0 | Nie: cena była już powyżej |
W drugim wierszu zastosowaliśmy własną korektę historyczną o różnicę serii. Nie twierdzimy, że jest ona domyślnym ustawieniem MultiCharts ani właściwą metodą dla każdej strategii. Pokazuje, dlaczego sam symbol ciągły nie wystarcza do odtworzenia sygnału.
Zachowaj surowe serie, moment przełączenia i regułę korekty. Poziom narysowany na skorygowanej starej historii nie jest ceną, po której faktycznie zawarto wcześniejszą transakcję. Test cenowy oraz rozliczenie rolowania potrzebują osobnych danych. Stała korekta nie rozwiązuje automatycznie problemu wszystkich procentowych wskaźników ani chronologii późniejszych zmian historii.
Jak porównać MultiCharts z MT5?
MT5 również obsługuje testy wielowalutowe i rzeczywiste ticki, jeżeli odpowiednie dane są dostępne. Nie zakładaj z góry przewagi szybkości MultiCharts. Uczciwy pomiar wymaga tego samego sprzętu, zbioru, reguł i ustawień; czas obliczeń jest tylko jednym z kryteriów.
Wybierz model mieszczący się w kilkunastu transakcjach kontrolnych. Zachowaj wersję kodu, parametry, źródło danych i eksport wykonań. Wyjaśnij każdą różnicę czasu, ceny i wielkości pozycji. Pomocne są omówienia funkcji MT5 oraz sposobów testowania strategii.
Sprawdź, czy rozumiesz
Jedno krótkie ćwiczenie
Około 2 min · możesz spróbować ponownie
Wczytano tylko Close 100, 104, 108, 112, 116. Własna SMA(3) wymaga trzech kolejnych wartości i nie uzupełnia braków. Co powinno pojawić się jako pierwsza policzona średnia?
- 100 przy pierwszym widocznym punkcie.
- 104 przy trzecim widocznym punkcie.
- 96 przy pierwszym widocznym punkcie.
Sprawdź odpowiedź i wyjaśnienie
104 przy trzecim widocznym punkcie.
Dopiero wtedy dostępne są trzy wartości: 100, 104 i 108. Ich suma 312 podzielona przez 3 daje 104.
Jeszcze jedno ćwiczenie
Kapitał wynosi 10 000 zł, limit planowanego ryzyka 2%, a dwie otwarte pozycje wykorzystują po 100 zł. Ile zostaje na trzecią?
Sprawdź odpowiedź
0 zł w ramach tego limitu: 10 000 × 2% = 200 zł, a 100 + 100 = 200 zł. Dodatkowa pozycja wymagałaby zmniejszenia istniejącego ryzyka albo naruszałaby regułę. Sam stop nie gwarantuje ograniczenia rzeczywistej straty.

