Tuesday, October 25, 2016

Kurs Metaquotes Language

4.doc Kurs MetaQuotes Language Þ Wstęp Þ MQL 4 Þ Kompilator 1. Wstęp Jeśli w 2005 Roku powiedziano por mi, że napiszę kurs MQL, spytałbym o to, co to jest MQL. Jestem Pelen optymizmu pisząc diez kurs, optymizm de diez broma tym większy, że bromear pełny pierwszy i całkowicie po kurs polsku MQL 4. Kiedy skończyłem práce nad próbną wersja tego kursu, jak wiedziałem nie en przyjęty zostanie. Już pod koniec Roku 2006 wziąłem się za pisanie tego kursu, desde tego czasu wprowadziłem hacer niego wiele poprawek i nadal ir rozwijam, głównie, dlatego, że firma MetaQuotes nie udostępniła sformalizowanej definicji języka, dokumentacja zawiera Błędy tak samo jak kompilator, ale bez formalnej definicji języka nie można stwierdzić czy Błędy można zrzucić bezpośrednio na Barki implementacji kompilatora czy Może Błąd tkwi w samej definicji języka, sprawę komplikują ciągle zmiany identyfikatorów, argumentów formalnych oraz listy funkcji. Pisząc de diez kurs jednocześnie się uczyłem. Starałem się uczynić diez kurs jak najbardziej użytecznym i zrozumiałym, dlatego podobną STRUKTURE ma, no Heľpa MetaEditor`a, co ułatwi w przyszłości śledzenie zmian w funkcjach, ich nazwach i Líščie parametrów formalnych. Kurs zdobywa coraz większą popularność. Glosy W Internecie słychać, że de diez kurs broma "super" jak i takie, że tego nie da się nazwać kursem, w tym pierwszym przypadku Dziękuje za uznanie, un stwierdzenie, że a kurs broma de nie traktuje na równi ze stwierdzeniem ludzi, którzy narzekają na efektywność MQLa twierdząc, że MQL nie broma językiem programowania tylko jakimś tam "skrypterem". Pisane Wskaźniki w wolne są MQL, ale Moga być pisane w C i importowane przez MQL. Tłumaczę sobie a ludzi dedukowaniem nie, którzy rzeczy takie piszą. Pisząc de diez kurs napisałem kilkadziesiąt wskaźników i doszedłem hacer wniosku, że zaimplementowanie nawet istniejącego wskaźnika mając na uwadze własne preferencje i odporność psychiczną daje lepsze rezultaty niż wypróbowywanie calej Armii gotowych wskaźników. Nadzieje Mam, że diez kurs pomoże Wam w realizacji marzeń, Bo nie ma, ukrywać co, nawet ale, Jeżeli Pieniądze nie Daja szczęścia a na przekór temu twierdzeniu wysuwam Tézé, że nie wielu broma ludzi, którzy swoje szczęście upatrują w nie ustawicznym ich braku . Nos wstępie chcę poczynić uwagę, że zebrane w tym, kursie informacje oparłem na swoim osobistym doświadczeniu programistycznym i nie wszyscy muszą bezkrytycznie podzielać moje poglądy. Wręcz mam nadzieję, że Znajda się ludzie którzy podejmą polemikę tym z co zaprezentowałem w kursie tym. Język jak polski inne Języki etniczne różni się desde języków formalnych przede wszystkim tym, że Język polski broma kontekstowy i wyrażenia w nim zawarte często są nie jednoznaczne, WIEC żeby uniknąć dużej część nie jednoznaczności poczynię zastrzeżenie, że Jeżeli z treści danego fragmentu nie wynika inaczej a fragmento dany dotyczy semantyki i / lub syntaktyki MQL 4. Dodatkowo poczynię zastrzeżenie, że kompilator działa w Sposób sekwencyjny i bez kontekstowy, jak WIEC mu damy hacer skompilowania tekst fraszki "Na zdrowie" autorstwa Jana Kochanowskiego a TEZ będzie próbował ją skompilować skutkiem z hacer przewidzenia nawet przez ucznia szkoły podstawowej. Dla tego jak piszę, że jakiś warunek musi być spełniony a dlatego nie, że permanentnie w Sposób aksjomatyczny innego wyjścia nie ma, tylko dla tego, że inaczej programa się nie skompiluję albo w przypadku funkcji importowanych istnieje możliwość błędnego działania i jakby tego nie rozpatrywać a efekt końcowy i tak nie wiele się będzie różnił desde Proby kompilacji tekstu fraszki. 2. MQL 4 MetaQuotes broma Firma, ktorá stworzyła Platforme transakcyjną MetaTrader. Para, co najbardziej wyróżnia tą Platforme z typu pośród plataforma innych tego hacia, hasta, że ​​Jako jedna z niewielu implementuje wbudowany język programowania, który umożliwia napisanie nawet bardzo skomplikowanych programów pozwalających na łatwiejsze Zarządzanie procesami handlowymi lub nawet na ich całkowitą automatyzację przez implementację własnej strategii handlowej. Oprócz tego MQL 4 można użyć hacer tworzenia skryptów i Bibliotek. Programy Moga być w łatwy Sposób dołączane do jednego z otwartych wykresów przez przeciągnięcie urządzeniem wskazującym z okna nawigatora TerminalA klienckiego na odpowiedni Gráfico de TECHNIKA przeciągnij i upuść. Programy działają przynajmniej jak na razie tylko pod kontrola aktywnego TerminalA klienckiego. Niestety w przeciwieństwie hacer Zásady twórców języka, który był pierwowzorem dla tego języka, według, której nowa wersja powinna być całkowicie kompatybilna z wcześniejszymi wersjami, firma MetaQuotes nie specjalnie dba o kompatybilność wsteczną języka zmieniając i usuwając niektoré standardowe definicje funkcji, uniemożliwia co w ekstremalnych przypadkach kompilacje starszych programów bez modyfikacji kodów źródłowych lub ściągnięcia odpowiednich plików. Problema Dodatkowy w opanowaniu tego języka Moga stanowić Błędy merytoryczne w dokumentacji powielane un najczęściej wręcz mnożone przez autorów innych kursów tego języka. MetaQuotes Language 4 (MQL 4) broma względnie młodym językiem i Jednym z niewielu języków, który powstał z myślą o programowaniu strategii handlowych. Silna kontrola typów i brak wskaźników powoduje que, że nawet źle programa napisany nie zdestabilizuje pracy systemu przy założeniu, że całość kodu wykonawczego napisana jest w MQL 4, a oznacza, programa dopóki iż nie wykorzystuje funkcji bibliotecznych DLL bibliotek z para najgorsze co Może się STAC a zawieszenie pracy TerminalA klienckiego na Example wejście przez w nieskończoną pętlę. MQL 4 pozwala tworzyć wskaźniki, strategie i skrypty, co pozwala na automatyzację procesów handlowych i wypróbowywanie własnych pomysłów. Dodatkowo często używane funkcje można dla wygody zebrać w bibliotekach. Język de diez zawiera dużo funkcji niezbędnych dla analizy trendu opartych na historycznych i aktualnie napływających notowaniach, Podstawowe działania arytmetyczne i logiczne też są włączone hacer struktury tego języka. Ponadto są również wbudowane Podstawowe wskaźniki analizy technicznej oraz funkcje kontroli zleceń transakcji. MQL 4 dużo czerpie z języka ANSI C znanym również Jako C99, norma ISO / IEC 9899: 1999, WIEC programiści programujący w języku C i C ++ odnajdą się bardzo szybko w tym języku. W tym kursie na prostych przykładach pokazana broma semantyka i syntaktyka tego języka oraz funkcje wbudowane. Na Jednym wykresie Może pracować tylko jeden skrypt, jedna strategia i wiele wskaźników. Liczba wskaźników broma ograniczoną przez zasoby systemowe i zdrowy rozsądek użytkownika. Skrypty i strategie pracują w swoich własnych wątkach. Wskaźniki pracują przeważnie w wątku interfejsu. Jeśli wskaźnik został wywołany przez funkcję iCustom, pracuje w wątku programu, który ir wywołał. Wywołane biblioteczne funkcje importowane, także pracują w wątku programu. Dla zatrzymania programu, należy ir wykresu z usunąć. Wskaźniki i strategie działają dopóki nie zostaną usunięte z wykresu jednak istnieje możliwość nakazania strategii por nie podejmowała żadnych działań przez wprowadzenie jej w stan nieaktywny, emotikona zamiast wtedy w prawym górnym rogu Glownego okna wykresu, strategii nazwie po, pojawi się symb ol û. Wskaźniki i strategie są uruchamiane podczas ponownego uruchomienia TerminalA klienckiego dzięki zapisywaniu informacji o uruchomionych wskaźnikach i strategiach podczas zamykania TerminalA klienckiego jednak skrypty nie są uruchamiane podczas ponow nego uruchomienia TerminalA klienckiego z powodu nie zapisywania informacji o uruchomionych skryptach podczas zamykania TerminalA klienckiego. Strategie są programami, które umożliwiają automatyzacje procesów handlowych przez tak zwany sistema de comercio mecánico (MTS). Jeden Gráfico de Może być obsługiwany co najwyżej jeden przez typu tego programa. Uruchomione programy strategii są wywoływane za każdym razem gdy terminal de bieżące otrzyma danés chyba, że ​​poprzedni cykl operacji jeszcze się nie skończył. Strategie Moga informować o Możliwości transakcji jak i automatycznie wysyłać zlecenie transakcji kupna i / lub sprzedaży krótkiej un następnie Moga automatycznie wysyłać zlecenie zamknięcia pozycji. Jak MetaTrader większość systemów tego typu, strategii prueba wspiera na d anych historycznych z pokazywaniem miejsc otwarcia i zamknięcia transakcji, Bazy brak niestety tickowej môže spowodować dość duże rozbieżności Pomiedzy testami un rzeczywistym działaniem strategii, szczególnie na mało płynnych rynkach albo nawet na rynkach płynnych, w okresach w ktorých ceny instrumentów zmieniają się bardzo gwałtownie. Na szczęście platforma MetaTrader JAKOS sobie Radzi z emulacją ruchów tickowych i przy testach obejmujących znaczny okres czasu i sytuacji rynkowych takich jak bessa czy hossa Wyniki testów w mniejszym lub większym stopniu odpowiadają rzeczywistości. Strategie są zgromadzone w katalogu. \ Expertos. Wskaźniki są wskaźnikami technicznymi pisanymi często niezależnie desde dodatkowych wskaźników już zintegrowanych klienckim terminalem z, chociaż Moga być pisane w oparciu o wskaźniki dołączone hacer TerminalA klienckiego. Wskaźniki te są programami, które umożliwiają analizė Techniczna, ale tak jak wbudowane wskaźniki techniczne nie Moga automatyzować procesów handlowych lecz Moga być iw zdecydowanej większości przypadków są wykorzystywane hacer strategii Budowy. Wskaźniki są zgromadzone w katalogu. \ Expertos \ indicadores. Skrypty są programami, które umożliwiają jednorazowo Wykonanie jakiejś czynności. Wykonywanie skryptów nie zależy desde napływających notowań. W przeciwieństwie hacer strategii razu wskaźników czy wykonywane są tylko raz od na każdorazowe żądanie użytkownika I SA automatycznie zamykane po wykonaniu operacji przy czym przy zmianie okresu czasu wykresu, przy zamknięciu wykresu na rzecz, którego został uruchomiony lub przy zamknięciu TerminalA klienckiego praca skryptu broma przerywana poczym skrypt broma usuwany z Pamięci TerminalA klienckiego. Skrypt nie broma uruchamiany podczas ponownego uruchomienia TerminalA z powodu nie zapisywania informacji o uruchomionych skryptach podczas zamykania TerminalA klienckiego. Skrypty są zgromadzone w katalogu. \ Expertos \ scripts. Biblioteki są zbiorem często używanych funkcji, stałych literałów, zmiennych i innych zebranych zasobów w Jednym pliku. Biblioteka nie broma samodzielnym programem wykonawczym lecz z jednej biblioteki Może korzystać większa liczba procesów jednocześnie. Biblioteki EX4 Śluza tylko Jako Magazyny kodów maszynowych funkcji ale a zważywszy na charakterystykę programów pisanych na Platforme MeraTrader w zupełności wystarczy. Biblioteki są EX4 zgromadzone w katalogu. \ Expertos \ bibliotecas. Pliki nagłówkowe są plikami tekstowymi zawierającymi najczęściej używane fragmenty kodu źródłowego hacer wykorzystania w programach. Pliki te Moga być dołączone hacer kodu źródłowego strategii, skryptu, wskaźnika un nawet biblioteki na etapie przetwarzania przez preprocesor. Użycie plików nagłówkowych broma lepszym pomysłem niż użycie bibliotek bo wywołanie funkcji bibliotecznej nieuchronnie wiąże się ze zużyciem dodatkowych zasobów w Postaci czasu procesora lub procesorów i Pamięci operacyjnej un dyskowej też niekiedy. Pliki nagłówkowe są zgromadzone w katalogu. \ Expertos \ include. 3. Kompilator Aby kompilować napisany kod źródłowy programu Potrzebny kompilator broma. Haga MetaTrader subscripción został dołączony kompilator, znajduje się w katalogu aplikacji w zbiorze. \ MetaLang. exe. Metalang. exe broma programem konsolowym, ma który dwa parametry. Pierwszy parametr broma a OPCJA zachowania kompilatora i broma opcjonalny. Jedyna możliwość dostępna w tym kompilatorze a opcja q inne są Znaki ignorowane. Opcje kompilatora piszemy po znaku myślnika "-". OPCJA q sprawia, że ​​nie wyświetlane są komunikaty dotyczące przebiegu kompilacji. Drugi parametr broma pełna albo relatywną ścieżka hacer pliku kodu źródłowego. MQL 4 broma językiem kompilowanym do natywnego kodu maszynowego, przetwarzanego bezpośrednio przez centralne jednostki ALU / FPU. Kompilowanie tłumaczy kod programu pisanego w języku formalnym na maszynowy język. Żeby centralne jednostki ALU / FPU mogły przetwarzać programa Konieczna broma jego bezbłędna kompilacja, czym przy ostrzeżenia ewentualne być powinny przeanalizowane. Pliki zawierające wykonywalne kody maszynowe muszą mieć rozszerzenie EX4, Jeżeli Maja być widziane Jako Pliki wykony Walne przez kliencki terminal. X: \ Archivos de programa \ MetaTrader & gt; metalang. exe MetaQuotes Language 4 compilador versión 4.00 build 216 (16 abr 2008) 2001-2008, MetaQuotes Software Corp. uso: metalang [opciones. ] Nombre del archivo X: \ Archivos de programa \ MetaTrader & gt; metalang. exe X: \ Archivos de programa \ MetaTrader \ expertos \ przykład. mq4 " MetaQuotes Language 4 compilador versión 4.00 build 216 (16 abr 2008) 2001-2008, MetaQuotes Software Corp. CollectTokens: 3762 MqlToken [1146 Kb], utilizado 3415 MqlToken [tamaño: 312 bytes] Archivo Exp "F: \ Archivos de programa \ X-Trader 4 XTB \ expertos \ przykład. ex4" producido - 0 error (s), 0 de aviso (s) X: \ Archivos de programa \ MetaTrader & gt; metalang. exe - q "X: \ Archivos de programa \ MetaTrader \ expertos \ przykład. mq4" CollectTokens: 3.762 M qlToken [1146 Kb], utilizado 3415 MqlToken [tamaño: 312 bytes] X: \ Archivos de programa \ MetaTrader & gt; UWAGA: Skompilowany PLIK ma tą Sama nazwę, co źródłowy i rozszerzenie EX4, jeśli istnieje PLIK o nazwie jednobrzmiącej z nazwą pliku wynikowego a kompilator spróbuje zastąpić de diez PLIK bez ostrzeżenie. 4. IDE MetaTrader 4 broma instalowany z tekstowym edytorem kodu, MetaEditor 4, który broma programem typu IDE (zintegrowane środowisko programowania), integrującym Edytor tekstu służący do edycji kodu źródłowego programu z funkcją podświetlania składni konstrukcji języka. Para ma nam ułatwić orientacje w kodzie. IDE ułatwia kompilacje programu, proces wystarczy użyć klawisza F5 una MetaEditor wywoła kompilacji. Komunikaty ze standardowego wyjścia Błędów kompilatora Beda prze kierowane i wyświetlone w zakładce Errores w polu Descripción. Po pomyślnym skompilowaniu PLIK ma tą Sama nazwę, co PLIK źródłowy i rozszerzenie EX4. Jeśli kompilacja się nie powiedzie w zakładce Errores w polu Descripción pojawi Lista się Błędów. Ma IDE pomocy sistema zintegrowany też dostępny w zakładce ayuda i po naciśnięciu klawisza F1. W systemie pomocy znajdują się Opisy funkcji standardowych podzielonych na tematyczne Kategorie, operatoria, Słowa zastrzeżone i wiele innych. Sistema pomocy opisuje też zachowane funkcje, które zmieniły nazwę.


No comments:

Post a Comment