Porównanie MT4 vs MT5

mt5logo
Metatrader 4 Metatrader 5
Architektura
  • Jeden Trade Server - serwer handlowo rozliczeniowy
  • Wiele Access Servers - dowolna liczba serwerów dostępowych - dla połączeń klientów
  • Watch Dog Server - serwer zapasowy, mający umożliwiać przepięcie obsługi w razie awarii Trade Server - w działanie tego rozwiązania zbytnio nie wierzę - to nie jest active active a powinno być.
  • Jeden Main Trade Server 
  • Możliwa instalacja wielu Wspomagających Trade Servers - w ten sposób różne grupy klientów mogą być rozliczane na oddzielnych maszynach co może rozwiązać problemy wydajnościowe. 
  • Jeden History Server - przechowuje historię kwotowań, dodatkowo obsługuje zlecenia wykonywane przez gatewaye. Mankamentem jest że wszystkie zlecenia gatewayowe przechodzą przez ten server co pozornie kłóci się z dzieleniem trade serwerów. Jednakże najwięcej obciążenia generuje wyliczanie margin level i sprawdzanie zabezpieczenia klientów (margin). 
  • Dowolna liczba Backup Server’s - mają w założeniu przejąć działanie Trade server’a w razie awarii
Dostęp SQL 
  • Metaquotes udostępnia service który eksportuje dane do bazy danych ale jedynym targetem może być MYSQL.
  • Dodatkowo brakuje niektórych danych - “ustawienia symboli”. Daily statements. Można napisasać własną aplikację do eksportu tych danych.
  • Backup server ma opcję eksporotwania danych do bazy.
  • Dostęnych jest kilka: MySQl, Postgress, Microsoft MSsql, Oracle, Firebird
Daily statements.

Są zapisane jedynie w plikach wysyłanych do klientów. Aby je uzyskać trzeba albo robić codzienne snapshoty stanu albo parsować te pliki.
Server przechowuje dane daily statements. Oraz rozszerzone dane monthly statements. Dodatkowo ekpsortuje je do bazydanych.
Aplikacje dla klientów

  • Terminal win32 windowsowy
  • Metaquotes wspomaga uruchamianie terminala na macach oraz linuksach ale nie są to aplikacje natywne 
  • Brak dedykowanego webtradera - można pisać własny
  • Terminal win64 windowsowy
  • Metaquotes wspomaga uruchamianie terminala na macach oraz linuksach ale nie są to aplikacje natywne 
  • Są aplikacje mobile dla androida oraz iPhone 
  • Jest dedykowany webtrader
Api dostępowe tylko c/cpp

  • Datafeed api - dostarcznie kwotowań 
    •  można albo kożystaćz api 
    •  albo podpinać się pod gotowy protokół unifeeder 
  • Server api - bardzo szerokie możliwości 
    • odpytywnie modyfikacje danych na serwerze, np. ustawienia kont 
    • przechwytywanie i modyfikowanie zdarzeń, np zmiana wyliczania profit, zmiana obsługi take profit 
    • dodanie zleceń w imieniu klienta - konieczne do własnego webtradera - funkcja RequestAdd
    • przechwytywanie akcpetowania zleceń wstrzymywanie i przekazywanie na zewnątrz - gateway
    • brakuje zdarzeń margin call - zdarzenia stop out można wychwycić z wykonania stopoutów
    • Awaria w serwer api wykłada serwer 
  • Manager api - 
    • umożliwia zrobienie własnego manageara - to trochę mija się z celem jako że obecnie zlecenia i tak wykonuje się automatycznie. 
    • Można użyć do eksportu danych tak aby ograniczyć użycie server api - rozdzielenie prac na różne maszyny i dodatkowo awaria w manager api nie wykłada serwera 
    • Api zawiera event margin call - można go użyć do wysyłania emaili - w serwer api trzeba by liczyć marginy samemu
  • Report api - rozszerzanie raportów w aplikacji managera - szczerze lepiej raporty robić z bazy danych - chyba żeby dla jakichś white labes ale też lepiej zrobić jakąś stronę www z raportami - nie będzie obciążać serwera a tak jak ktoś zapyta o dane z ostatnich 5 lat to na serwerze może zabraknąć pamięci
  • Gateway Api - umożliwia 
    • dostarczanie kwotowań do serwera 
    • przekazywanie zleceń na zewtnąrz
      • ładnie rozbudowany routing zleceń
    • Gateway api działa na zewnątrz serwera - czyli błąd nie zatrzyma całego servera 
    • Dostępne w cpp oraz c# 
  • Server Api podobnie jak w mt4 
    • oddzielne pluginy działają na serverach handlowych i historycznych
      • modyfikacje historycznych świeczek możliwe tylko w pluginach na history server 
    •  tylko cpp
  • Manager Api 
    • odpowiednik manager api z mt4 
    • Dostępne w cpp oraz c# 
  • Report Api - bezsens trochę jak mt4
Obsługa zleceń byty - encje

  • Request - żądnie klienta otwarcia bądź zamknięcia zlecenia - bardzo ulotne i po wykonaniu nie ma aczkolwiek konieczne przy implementacji webtradera bądź gatewaya 
  • Order - pełni funkję zarówno zlecenia, transakcji jak i otwartej pozycji 
    • Pending order - zlecenie oczukujące 
    • market order - natychmiastowe po cenie rynkowej 
    • open order - powstały z market albo pending order - bieżąca pozycja u klienta - możę być ich kilka wtedy składają się na sumaryczną pozycję
    • close order - zamknięte zlecenie z rozliczonym już zyskiem/stratą
  • Request - żądanie klienta nowego zlecenia lub modyfikacji
  • Order - zlecenie które czeka w książce na wykonanie 
    • może wymagać zabezpieczenia z balance konta 
  • Deal - transakcja wykonana w imieniu klienta na bazie jego Order i zmieniająca pozycję klienta 
    • otwiera, zwiększa, zmniejsza 
  • Position - bieżąca aktywna pozycja 
    • wymaga zabezpieczenia z balance konta 
    • generuje zysk lub stratę zależnie o bieżących kwotowań
Rodzaje zleceń

  • Market Order 
  • Pending BUY_LIMIT SELL_LIMIT
  • Pending BUY_STOP SELL_STOP
  • Take profit / stopp loss - ustawiane na open order
  • Market Order 
  • Pending BUY_LIMIT SELL_LIMIT 
  • Pending BUY_STOP SELL_STOP 
  • Take profit / stopp loss - ustawiane na open order BUY_STOP_LIMIT SELL_STOP_LIMIT

Comments