This document summarizes a study that examines how agents in an artificial currency market evolve their forecasting rules over time using a genetic algorithm. It finds that when agents are allowed to adopt misspecified forecasting rules, it can lead to persistent exchange rate dynamics. Specifically:
1) The model considers an artificial currency market with two currencies where agents use a genetic algorithm to evolve their forecasting rules for the exchange rate over time.
2) When agents are restricted to using correctly specified linear forecasting rules, learning tends to converge. But when agents can adopt misspecified nonlinear rules, it can result in unstable exchange rate dynamics over long periods.
3) This occurs because misspecified rules may appear reasonable
Lecture of Sergey Troshin, Ph.D., Director at EXANTE, covers the main aspects of practical aspects of algorithmic trading. Main points include presentation of Exante, an investment services company that offers global multi-asset brokerage services on a wide range of financial markets.
The recording is available at the following link: https://www.youtube.com/watch?v=8JToXHeqElA. Enjoy and share the video!
This document discusses algorithmic trading and trading platforms. It provides an overview of EXANTE, a brokerage platform, including its history and unique selling points. It then covers different types of trading including manual, algorithmic, and high-frequency trading. Various algorithmic trading strategies such as trend following, mean reversion, and arbitrage are described. The technical aspects of building algorithms and backtesting strategies are also summarized.
Сергей Рубанов, разработчик EXANTE и, как он сам себя называет, JavaScript-самурай, выступил на митапе TechTalks с докладом «Real-time данные на фронтенде». Он рассказал, какие проблемы приходится решать при отображении финансовых данных.
The document outlines an agenda for a one-day course on the FIX Protocol, covering an introduction to FIX including its history, components, and sample message flow, how FIX is used for electronic equity trading through order types and trading scenarios, and technical implementation considerations for FIX integration. FIX Protocol is an open, electronic messaging standard used widely in the financial industry for exchanging trading-related information.
Презентация Сергея Трошина и Антона Антонова из EXANTE об алгоритмической торговле, инфраструктуре брокера и автоматизации торговли через FIX-протокол.
The slides cover the topics of algorithmic trading, broker IT infrastructure and trading via FIX protocol. Prepared by Sergey Troshin and Anton Antonov, EXANTE Ltd.
This document summarizes a study that examines how agents in an artificial currency market evolve their forecasting rules over time using a genetic algorithm. It finds that when agents are allowed to adopt misspecified forecasting rules, it can lead to persistent exchange rate dynamics. Specifically:
1) The model considers an artificial currency market with two currencies where agents use a genetic algorithm to evolve their forecasting rules for the exchange rate over time.
2) When agents are restricted to using correctly specified linear forecasting rules, learning tends to converge. But when agents can adopt misspecified nonlinear rules, it can result in unstable exchange rate dynamics over long periods.
3) This occurs because misspecified rules may appear reasonable
Lecture of Sergey Troshin, Ph.D., Director at EXANTE, covers the main aspects of practical aspects of algorithmic trading. Main points include presentation of Exante, an investment services company that offers global multi-asset brokerage services on a wide range of financial markets.
The recording is available at the following link: https://www.youtube.com/watch?v=8JToXHeqElA. Enjoy and share the video!
This document discusses algorithmic trading and trading platforms. It provides an overview of EXANTE, a brokerage platform, including its history and unique selling points. It then covers different types of trading including manual, algorithmic, and high-frequency trading. Various algorithmic trading strategies such as trend following, mean reversion, and arbitrage are described. The technical aspects of building algorithms and backtesting strategies are also summarized.
Сергей Рубанов, разработчик EXANTE и, как он сам себя называет, JavaScript-самурай, выступил на митапе TechTalks с докладом «Real-time данные на фронтенде». Он рассказал, какие проблемы приходится решать при отображении финансовых данных.
The document outlines an agenda for a one-day course on the FIX Protocol, covering an introduction to FIX including its history, components, and sample message flow, how FIX is used for electronic equity trading through order types and trading scenarios, and technical implementation considerations for FIX integration. FIX Protocol is an open, electronic messaging standard used widely in the financial industry for exchanging trading-related information.
Презентация Сергея Трошина и Антона Антонова из EXANTE об алгоритмической торговле, инфраструктуре брокера и автоматизации торговли через FIX-протокол.
The slides cover the topics of algorithmic trading, broker IT infrastructure and trading via FIX protocol. Prepared by Sergey Troshin and Anton Antonov, EXANTE Ltd.
SALESmanago Marketing Automation Profil Produktu - Case Study, Efekty wdrożen...SALESmanago AI driven CDXP
Poznaj zasadę działania systemów Marketing Automation. Zobacz jakie posiadają funkcjonalności i jakie przykładowe procesy możesz dzięki nim zautomatyzować.
POLECAM
Poznaj unikalne systemy transakcyjne, dzięki którym będziesz mógł odnosić jeszcze większe sukcesy
na rynku Forex.
Przedstawione w tej części systemy transakcyjne pomogą Ci spróbować swych sił na Forexie jeśli zastosujesz krok po kroku metody połączone tutaj w systemy handlowe.
System oparty na dosyć skomplikowanym japońskim wskaźniku Ichimoku jest rzeczą unikalną. Wiele osób ma problemy z opanowaniem samego wskaźnika, który tutaj został opisany w sposób przystępny i zrozumiały. Warto nadmienić, iż Japończycy czerpią zyski z rynków kapitałowych znacznie dłużej niż my, Europejczycy. Ich metody nieraz już udowodniły kunszt i precyzję w handlu budując niejedną fortunę.
Dowiedz się, jak zautomatyzować handel na giełdzie walutowej Forex.
Niejeden uczestnik rynku myśli poważnie o zautomatyzowaniu handlu. Pomysł zaprzęgnięcia do handlu mocy obliczeniowej komputera jest co najmniej tak stary, jak sama komputeryzacja.
Chcesz dowiedzieć się, skąd wziąć darmowe dane do testowania systemów? Jakich programów używać, by nie zbankrutować zanim jeszcze zaczniesz handlować? A może chcesz dowiedzieć się, jak wykorzystać wiedzę z zakresu arkusza kalkulacyjnego Excel w celu stworzenia swojego własnego robota transakcyjnego i to przy wręcz znikomych kosztach? Takie informacje również znajdują się w niniejszej publikacji.
SAP Business One Integration Framework to jedyny ERP dla MŚP z szyną danych. Integration Framework to rozwiązanie do integracji SAP Business One z zewnętrznymi źródłami danych i innych platform, takich jak: systemy ERP, bazy danych, pliki, EDI, strony internetowe itd. To innowacyjna platforma, która zapewnia współpracę partnerów biznesowych, pracowników oraz systemów w całym środowisku biznesowym. Jednocześnie ujednolica, upraszcza i automatyzuje procesy w całym ekosystemie informatycznym. Więcej o rozwiązaniu: http://supremis.pl/produkty/sap-business-one/integration-framework.html
Zapraszamy do kontaktu. Zadzwoń +48 22 29 27 500 lub wyślij maila info@supremis.pl.
Prezentacja traktuje o firmie Transition Technologies PSC. Specjalizujemy się w tworzeniu rozwiązań IT dla przemysłu - szczególnie Connected Product Lifecycle Management i zastosowaniu w przemyśle najnowszych technologii Internetu Przedmiotów (IoT) oraz Rozszerzonej Rzeczywistości (AR), dzięki którym nasi Klienci mogą realizować koncepcję Przemysłu 4.0. Jesteśmy otwarci na współpracę biznesową. Zapraszamy do kontaktu.
This document provides guidelines for formatting Java code through conventions for file names, file organization, indentation, comments, declarations, statements, whitespace, naming, programming practices, and examples. It recommends using suffixes like .java and .class for files, and placing package and import statements before class declarations in source files. The document provides formatting recommendations for elements like comments, declarations, statements and more to improve code readability and maintenance.
1) Banks cannot directly lend out reserves held at the central bank. The level of reserves is determined by central bank asset purchases, public demand for cash, and government deposits at the central bank.
2) Banks create loans by extending credit, which simultaneously creates new deposits. However, aggregate bank lending does not reduce reserves, as reserves only leave one bank to be held by another.
3) While QE aims to spur bank lending, it does so indirectly by lowering interest rates and improving economic conditions, not by allowing banks to directly "lend out" reserves. Excess reserves created by QE could be extinguished by the central bank if needed to control inflation.
More Related Content
Similar to Programowanie automatycznych strategii transakcyjnych czesc podstawowa
SALESmanago Marketing Automation Profil Produktu - Case Study, Efekty wdrożen...SALESmanago AI driven CDXP
Poznaj zasadę działania systemów Marketing Automation. Zobacz jakie posiadają funkcjonalności i jakie przykładowe procesy możesz dzięki nim zautomatyzować.
POLECAM
Poznaj unikalne systemy transakcyjne, dzięki którym będziesz mógł odnosić jeszcze większe sukcesy
na rynku Forex.
Przedstawione w tej części systemy transakcyjne pomogą Ci spróbować swych sił na Forexie jeśli zastosujesz krok po kroku metody połączone tutaj w systemy handlowe.
System oparty na dosyć skomplikowanym japońskim wskaźniku Ichimoku jest rzeczą unikalną. Wiele osób ma problemy z opanowaniem samego wskaźnika, który tutaj został opisany w sposób przystępny i zrozumiały. Warto nadmienić, iż Japończycy czerpią zyski z rynków kapitałowych znacznie dłużej niż my, Europejczycy. Ich metody nieraz już udowodniły kunszt i precyzję w handlu budując niejedną fortunę.
Dowiedz się, jak zautomatyzować handel na giełdzie walutowej Forex.
Niejeden uczestnik rynku myśli poważnie o zautomatyzowaniu handlu. Pomysł zaprzęgnięcia do handlu mocy obliczeniowej komputera jest co najmniej tak stary, jak sama komputeryzacja.
Chcesz dowiedzieć się, skąd wziąć darmowe dane do testowania systemów? Jakich programów używać, by nie zbankrutować zanim jeszcze zaczniesz handlować? A może chcesz dowiedzieć się, jak wykorzystać wiedzę z zakresu arkusza kalkulacyjnego Excel w celu stworzenia swojego własnego robota transakcyjnego i to przy wręcz znikomych kosztach? Takie informacje również znajdują się w niniejszej publikacji.
SAP Business One Integration Framework to jedyny ERP dla MŚP z szyną danych. Integration Framework to rozwiązanie do integracji SAP Business One z zewnętrznymi źródłami danych i innych platform, takich jak: systemy ERP, bazy danych, pliki, EDI, strony internetowe itd. To innowacyjna platforma, która zapewnia współpracę partnerów biznesowych, pracowników oraz systemów w całym środowisku biznesowym. Jednocześnie ujednolica, upraszcza i automatyzuje procesy w całym ekosystemie informatycznym. Więcej o rozwiązaniu: http://supremis.pl/produkty/sap-business-one/integration-framework.html
Zapraszamy do kontaktu. Zadzwoń +48 22 29 27 500 lub wyślij maila info@supremis.pl.
Prezentacja traktuje o firmie Transition Technologies PSC. Specjalizujemy się w tworzeniu rozwiązań IT dla przemysłu - szczególnie Connected Product Lifecycle Management i zastosowaniu w przemyśle najnowszych technologii Internetu Przedmiotów (IoT) oraz Rozszerzonej Rzeczywistości (AR), dzięki którym nasi Klienci mogą realizować koncepcję Przemysłu 4.0. Jesteśmy otwarci na współpracę biznesową. Zapraszamy do kontaktu.
Similar to Programowanie automatycznych strategii transakcyjnych czesc podstawowa (20)
This document provides guidelines for formatting Java code through conventions for file names, file organization, indentation, comments, declarations, statements, whitespace, naming, programming practices, and examples. It recommends using suffixes like .java and .class for files, and placing package and import statements before class declarations in source files. The document provides formatting recommendations for elements like comments, declarations, statements and more to improve code readability and maintenance.
1) Banks cannot directly lend out reserves held at the central bank. The level of reserves is determined by central bank asset purchases, public demand for cash, and government deposits at the central bank.
2) Banks create loans by extending credit, which simultaneously creates new deposits. However, aggregate bank lending does not reduce reserves, as reserves only leave one bank to be held by another.
3) While QE aims to spur bank lending, it does so indirectly by lowering interest rates and improving economic conditions, not by allowing banks to directly "lend out" reserves. Excess reserves created by QE could be extinguished by the central bank if needed to control inflation.
This document discusses financial market microstructure theory and trading algorithms. It provides background on market microstructure, which deals with trading dynamics and how prices adjust to information. It also covers optimal execution algorithms, which obtain the best price for orders, and speculative algorithms, including pairs trading strategies. The paper tests various trading algorithms on high-frequency equity data from the London Stock Exchange to evaluate their performance and excess returns.
The document provides an introduction to quantitative finance concepts including option pricing models. It begins with an outline and terminology. It then covers the Black-Scholes option pricing model, which uses stochastic calculus to derive a partial differential equation for pricing European options. The document also discusses replicating strategies in discrete and continuous time models, as well as extensions like American options and the Greeks.
With heavyweights like PIMCO entering the managed futures mutual fund space, interest appears to be rising from both investors and asset managers in this investment vehicle. PIMCO recently filed documents with the SEC for a new mutual fund that will pursue a quantitative trading strategy to capture trends in global markets and commodities. While PIMCO declined to comment, analysts from Morningstar indicate the interest from a large firm like PIMCO shows ongoing demand for managed futures despite poor performance in recent years.
Algorithmic trading uses computer programs to generate and execute large orders in electronic markets. The main objectives are to control execution costs and market risk. Algorithms split large orders into many small orders and determine how to execute them over time. Popular execution strategies include time-weighted average price (TWAP), volume-weighted average price (VWAP), and percentage of volume (POV) which aim to minimize market impact. The Almgren-Chriss model optimizes execution based on both market impact and price risk over time. Various quantitative strategies employ algorithms, such as statistical arbitrage, market making, and index/ETF arbitrage.
This document summarizes a paper about a projection-free first-order optimization method for convex problems. The method generalizes Frank-Wolfe optimization to arbitrary convex domains by solving a linearized problem at each iteration instead of a projection step. The method guarantees an epsilon duality gap within O(1/epsilon) iterations. It provides sparse or low-rank solutions to 1-norm and nuclear norm regularized problems, with sparsity or rank bounds of O(1/epsilon). Applications include support vector machines, compressed sensing, and matrix completion.
The document describes efficient algorithms for projecting a vector onto the l1-ball (sum of absolute values) constraint. It presents two methods: 1) An exact projection algorithm that runs in O(n) expected time, where n is the dimension. 2) A method for vectors with k perturbed elements outside the l1-ball, which projects in O(k log n) time. It demonstrates these algorithms outperform interior point methods on various learning tasks, providing models with high sparsity.
This document describes methods for determining whether a time series reflects linear or nonlinear processes. It compares the forecasting performance of linear versus nonlinear models. The two-step procedure involves using simplex projection to identify the best embedding dimension, and then using that dimension in the S-map procedure to assess nonlinearity. Both methods evaluate out-of-sample forecast skill by dividing the time series in half, using one half to build the model and the other to evaluate forecasts.
The document compares five evolutionary optimization algorithms: genetic algorithms, memetic algorithms, particle swarm optimization, ant colony systems, and shuffled frog leaping. It provides a brief description of each algorithm, including how they are inspired by natural processes and behaviors. It also includes pseudocode to facilitate implementing each algorithm. The document then presents benchmark comparisons of the five algorithms on continuous and discrete optimization problems in terms of processing time, convergence speed, and solution quality. It discusses the performance of evolutionary algorithms and provides guidelines for determining the best parameters for each.
This document summarizes a course on programming in C++ for quantitative finance applications. The course teaches C++ programming from basic examples to object-oriented applications, using examples from quantitative finance. It assumes no prior programming knowledge. Students will learn to model quantitative finance problems algorithmically and solve them through C++ code. By the end of the course, students will have a practical knowledge of C++ and skills in computational methods for pricing derivatives. The course is suitable for anyone working in financial markets or hoping to, and aims to provide skills needed for jobs requiring C++.
This document summarizes a study on trend following algorithms for technical trading in the stock market. It presents two trend following algorithms: 1) Static P&Q, which uses static values for parameters P and Q to determine when to enter and exit trades, and 2) Adaptive P&Q, which uses dynamically adjusted P and Q values. The algorithms were tested in a stock market simulation, and the Static P&Q algorithm achieved average monthly returns of 75.63%. However, performance degraded as market trend fluctuations increased, implying the need to pause trading during periods of high volatility.
This document describes a new genetic algorithm (GA)-based system for predicting the future performance of individual stocks. The system uses GAs for inductive machine learning rather than optimization. It is compared to a neural network system using data from over 1,600 stocks. The study finds that the GA system can predict stock returns 12 weeks in the future and that combining GA and neural network forecasts provides synergistic benefits.
The document describes efficient algorithms for projecting a vector onto the l1-ball (sum of absolute values being less than a threshold). It presents two methods: 1) An exact projection algorithm that runs in expected O(n) time, where n is the dimension. 2) A method for vectors with k perturbed elements outside the l1-ball, which projects in O(k log n) time. It demonstrates these algorithms outperform interior point methods on various learning tasks, providing models with high sparsity.
In tech an-innovative_systematic_approach_to_financial_portfolio_management_v...Tomasz Waszczyk
This document describes a new approach to financial portfolio management using PID (proportional-integral-derivative) control. PID controllers are commonly used in engineering to control processes. The approach models financial assets in a portfolio as a "process plant" controlled by a PID controller. It aims to stabilize portfolio returns and reduce volatility over time compared to a benchmark portfolio. The PID controller recalibrates the asset weights in the experimental portfolio each month based on the error between the actual and target returns. The approach is evaluated over 12 years using 20 diversified assets, with the experimental portfolio outperforming the unmanaged benchmark portfolio in risk-adjusted returns.
2. O autorze
2 Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego 2015-10-15
Tomasz Waszczyk
Autor książki „Trading Automatyczny”
Programista
Trader instytucjonalny
3. Disclaimer
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego3
„Niniejsza prezentacja jest efektem wspólnych prac Domu Maklerskiego TMS Brokers S.A. oraz Pana Tomasza Waszczyka
Materiały zawarte w niniejszej prezentacji mają charakter edukacyjny i nie stanowią działalności maklerskiej polegającej na doradztwie
inwestycyjnym lub wydawaniu rekomendacji o charakterze ogólnym. Zaprezentowane podczas warsztatów (w tym w niniejszej prezentacji)
algorytmy mają charakter jedynie poglądowy w celu zobrazowania i nauki języka programowania modułu Expert Advisor dla systemu
transakcyjnego MetaTrader. Korzystając z algorytmów klient powinien mieć na względzie, że:
1. Klient wykorzystuje mechanizmy algorytmiczne na własne ryzyko i odpowiedzialność.
2. Klient ponosi pełną odpowiedzialność za straty lub utracone korzyści związane z realizacją zleceń za pomocą mechanizmów
algorytmicznych. Dotyczy to także prowizji, jakie Klient będzie zobowiązany pokryć w związku z transakcjami, które będą zawierane w
oparciu o algorytm, nawet przy ich znacznej ilości.
3. Klient odpowiada za opóźnione wygenerowanie lub niewygenerowanie lub błędne wygenerowanie zleceń za pomocą mechanizmów
algorytmicznych. W szczególności Klient ponosi odpowiedzialność za ww. zdarzenia powstałe w wyniku błędów w oprogramowaniu
mechanizmów algorytmicznych.
4. Nie można zagwarantować osiągnięcia określonego wyniku finansowego na transakcjach zawartych z wykorzystaniem
mechanizmów algorytmicznych.
5. Transakcje realizowane za pomocą mechanizmów algorytmicznych traktowane są jako transakcje zawierane przez Klienta.
6. Składanie, usuwanie lub modyfikowanie zleceń z wykorzystaniem mechanizmów algorytmicznych traktowane jest jako zlecenia
złożone przez Klienta.
7. W wersji webowej oraz mobilnej systemu transakcyjnego może nie istnieć możliwość uruchomienia strategii automatycznych.
8. Wszelkie przykładowe strategie algorytmiczne zaprezentowane w czasie niniejszego szkolenia mają jedynie charakter edukacyjny i
nie powinny być stosowne na rachunkach rzeczywistych.
Dom Maklerski TMS Brokers S.A. podlega nadzorowi Komisji Nadzoru Finansowego i prowadzi działalność maklerską na podstawie
zezwolenia z dnia 26 kwietnia 2004 r. (KPWiG-4021-54-1/2004). Kontakt: Skylight Ul. Złota 59; 00-120 Warszawa, Polska; Tel.: +48 22 27
66 200”
4. Agenda
Co to jest automat transakcyjny ?
Platforma MetaTrader od strony programisty
Wady i zalety automatów transakcyjnych
Wprowadzenie do MetaEditor oraz języka MQL
Struktura świeczki w języku MQL
Omówienie najprostszego automatu transakcyjnego
Wysyłanie zleceń transakcyjnych oraz obliczanie
poziomów stop loss w praktyce
W jaki sposób testować nasz automat – Tester Strategii
wady i zalety
4 Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego 2015-10-15
5. Założenia prezentacji
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego5
Dla każdego kto jest zainteresowany handlem
automatycznym, adresatami prezentacji są osoby
początkujące
Pracownikom oraz osobom związanym z IT będzie
łatwiej (na początku)
Sesja pytań i odpowiedzi na koniec prezentacji
Przedstawione treści są subiektywnym zdaniem autora
Prezentacja przeprowadzona na platformie
TMS Trader (build 890)
6. Cel prezentacji
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego6
Każdy uczestnik po skończeniu prezentacji będzie
wiedzieć jak uczyć się dalej języka MQL4 i rozwijać
swoje umiejętności w tej dziedzinie.
Zachęcić do eksperymentowania, programowania
oraz rozwoju.
7. Kontekst prezentacji
7 Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego 2015-10-15
https://www.youtube.com/watch?v=Xmudle0HjWk
Struktura działu handlu w instytucji.
8. Co to jest algorytm?
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego8
Algorytm – jednoznaczny przepis obliczenia w
skończonym czasie pewnych
danych wejściowych do pewnych
danych wynikowych.
https://pl.wikipedia.org/wiki/Algorytm
„Algorytmika to serce inżynierii oprogramowania.”
9. Handel algorytmiczny
Cena
rynkowa
9 Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego 2015-10-15
Automat
transakcyjny
Decyzja
transakcyjna
Handel Algorytmiczny – analiza oraz składanie zleceń transakcyjnych za pomocą
programu komputerowego dzięki wcześniej zdefiniowanym i zaimplementowanym
instrukcjom.
Handel manualny
Handel
automatyczny
(wspomagany
oprogramowaniem)
Przejście z handlu manualnego na automatyczny:
10. Automatyzacja handlu
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego10
Rozwijanie funkcjonalności platformy MetaTrader:
- Zamykanie zleceń o konkretnej godzinie
- Szybsze składanie zleceń, piramidowanie
- Automatyzacja analizy wykresów
- Ukrywanie poziomów SL oraz TP
- Wyliczanie ryzyka mając wiele rachunków
Cel: Maksymalne uproszczenie pracy tradera aby
mógł skupić się jedynie na tym co dla niego
najważniejsze.
11. Wady i zalety handlu automatycznego
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego11
Automat pozwala generować sygnały transakcyjne
według określonych przez programistę reguł oraz
składać zlecenia.
Zalety:
-Nigdy się nie męczy, może
pracować 24h/dobę
-Szybkość reakcji
-Konsekwencja w działaniu
Wady:
-Umiejętność programowania
-Trudności technologiczne
-Wydarzenia losowe (przerwa w
dostawie energii elektrycznej)
-Czas potrzebny na testowanie
-Redukcja emocji (?)
12. Czym jest MQL4?
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego12
MQL4 – MetaQuotes Language 4 – jest częścią
platformy MetaTrader 4
Środowisko uruchomieniowe programów napisanych
w MQL ogranicza się do platformy Meta Trader 4,
język ten jest bardzo podobny do popularnych
języków takich jak C/C++
13. Historia rozwoju języka MQL
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego13
Rewolucja w języku podczas wydania oznaczonego
„Build 600”
W MQL4 mamy dostęp do programowania
obiektowego
Dostęp do MQL5 Storage
http://docs.mql4.com/mql4changes#compiler_differe
nce
14. Kod źródłowy a plik wykonywalny
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego14
Kompilator
Kod źródłowy – plik tekstowy z rozszerzeniem *.mq4
Plik wykonywalny – plik z rozszerzeniem *.ex4 który jest wykonywany w
środowisku MetaTrader 4
15. Typy programów jakie możemy tworzyć w
MQL4
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego15
Automatyczne systemy transakcyjne (Expert
Advisors)
Wskaźniki własne (Custom Indicators)
Skrypty (Scripts)
Biblioteki
Pliki wsadowe *.mqh
16. Expert Advisors w MetaTrader 4
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego16
Programy mające możliwość generowania sygnałów
transakcyjnych, ściśle zintegrowane z wykresem
konkretnego waloru na którym chcemy handlować.
Podczas implementacji należy określić ściśle
warunki wejścia w pozycję, wyjścia z niej oraz
poziomów SL oraz TP. Strategia automatyczna
wykonuje się przy każdorazowym odświeżeniu ceny.
Przykład użycia: automatyzacja strategii bazującej
na podążaniu za trendem
17. Wskaźniki własne (Custom Indicators)
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego17
Programy zintegrowane z konkretnym wykresem,
wykonujące obliczenia przy każdorazowym
odświeżeniu ceny analizowanego waloru.
Przykład użycia: pokazanie graficzne ATR,
pokazanie czasu do końca świeczki
Przy korzystaniu ze wskaźników należy zwrócić
uwagę na tzw. “repaiting”.
18. Skrypty (Scripts)
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego18
Skrypty przeznaczone są do wykonania jednego lub
większej ilości zadań na „polecenie” użytkownika
poczym wyłączenie się.
Przykład użycia: zamknięcie wszystkich transakcji.
19. Zaczynamy programować czyli „Hello World”
w użyteczny sposób…
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego19
Skrypt – usunięcie wszystkich elementów z wykresu
21. Konfiguracja Meta Trader c.d.
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego21
Handel zezwolono, strategia
automatyczna włączona:
Handel nie zezwolono, strategie
automatyczne wyłączone:
22. Meta Editor – miejsce programisty MQL
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego22
Edytor kodu źródłowego, wbudowany w Meta Trader
Wspomaga tworzenie i edycję kodu źródłowego
MQL4 (podpowiadanie kodu)
Pozwala na kompilację kodu źródłowego w kod
wykonywalny
Zintegrowany z MQL4 Community
Możliwości uruchomienia:
- nacisnąć klawisz F4 z poziomu Meta Trader 4
- klikając w ikonę
- „Narzędzia” -> „Edytor języka MQL”
23. Podstawowe elementy języka MQL
2015-10-15Tomasz Waszczyk - Wprowadzenie do
Handlu Automatycznego
23
Typy danych, stałe, zmienne
Deklaracje zmiennych
Tablice
Operacje na danych
Zmienne predefiniowane
Deklaracja i definicja funkcji
Pętle
Komentarze
24. Proste typy danych
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego24
Liczby całkowiete(char, short, int, long, uchar, ushort,
uint, ulong);
Logiczny (bool);
0-255 (ushort);
Napisy (string);
Liczby zmiennorzpecinkowe (double, float);
Kolor (color);
Data i czas (datetime);
Wyliczenia (enum).
25. Złożone typy danych (abstrakcyjne)
2015-10-15Tomasz Waszczyk - Wprowadzenie do
Handlu Automatycznego
25
Struktury
Klasy
26. Tablice
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego26
To zbiór uporządkowanych zmiennych określonego
typu danych.
int mojaTablica[5];
Indeksy rozpoczynają się od zera ! !
27. Wykres z punktu widzenia MQL4
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego27
Zmienne tablicowe:
•Open
•High
•Low
•Close
Rysowana cena w Meta Trader to
zawsze cena Bid !
28. Świeca z punktu widzenia kodu MQL
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego28
Za pomocą zmiennych tablicowych możemy pobrać cenę
historyczną świecy: Open, High, Low, Close
29. Operacje na danych
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego29
Operacje arytmetyczne: +, -, *, /, ++, --
Operacje relacji: ==, !=, <, >, <=, >=
Operacje logiczne: &&, ||, !
30. Zmienne predefiniowane
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego30
Do zmiennych predefiniowanych mamy dostęp
automatycznie, nie musimy się martwić o to dana
zmienna została zainicjalizowana.
Dzięki zmiennym predefiniowanym mamy dostęp do
informacji na temat wykresu.
Open, High, Low, Close to zmienne tablicowe.
31. Deklaracja i definicja funkcji
2015-10-15Tomasz Waszczyk - Wprowadzenie do
Handlu Automatycznego
31
int dodawanie(int a, int b){
return a + b;
}
32. Pętle
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego32
If-else
for
Podczas następnego szkolenia przedstawię kolejne
rodzaje pętli.
34. Ogólna struktura programu typu Expert
Advisor
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego34
OnInit();
OnDeinit();
OnTick();
35. Implementujemy naszą pierwszą strategię
automatyczną, założenia
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego35
Warunek kupna:
36. Implementujemy naszą pierwszą strategię
automatyczną, założenia
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego36
Warunek sprzedaży:
37. Wykorzystane mechanizmy oraz funkcje w
strategii
2015-10-15
Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego
37
Dyrektywy preprocesora
void MaAktualneWartosci()
iMA()
OnTick()
Print()
OrderSend() + Magic Number
Obsługa poślizgu cenowego
38. Często pojawiające się pytania
Od czego należy rozpocząć naukę programowania
dla osoby zielonej w programowaniu ?
Czy kompletny laik może nauczyć się pisać w MQL?
Jakie jest najlepsze źródło informacji na temat
języka MQL ?
38 Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego 2015-10-15
39. Dziękuję za poświęcony czas oraz uwagę
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego39
Zapraszam do dyskusji
Tomasz Waszczyk
tomasz@waszczyk.com
40. Disclaimer
2015-10-15Tomasz Waszczyk - Wprowadzenie do Handlu Automatycznego40
„Niniejsza prezentacja jest efektem wspólnych prac Domu Maklerskiego TMS Brokers S.A. oraz Pana Tomasza Waszczyka
Materiały zawarte w niniejszej prezentacji mają charakter edukacyjny i nie stanowią działalności maklerskiej polegającej na doradztwie
inwestycyjnym lub wydawaniu rekomendacji o charakterze ogólnym. Zaprezentowane podczas warsztatów (w tym w niniejszej prezentacji)
algorytmy mają charakter jedynie poglądowy w celu zobrazowania i nauki języka programowania modułu Expert Advisor dla systemu
transakcyjnego MetaTrader. Korzystając z algorytmów klient powinien mieć na względzie, że:
1. Klient wykorzystuje mechanizmy algorytmiczne na własne ryzyko i odpowiedzialność.
2. Klient ponosi pełną odpowiedzialność za straty lub utracone korzyści związane z realizacją zleceń za pomocą mechanizmów
algorytmicznych. Dotyczy to także prowizji, jakie Klient będzie zobowiązany pokryć w związku z transakcjami, które będą zawierane w
oparciu o algorytm, nawet przy ich znacznej ilości.
3. Klient odpowiada za opóźnione wygenerowanie lub niewygenerowanie lub błędne wygenerowanie zleceń za pomocą mechanizmów
algorytmicznych. W szczególności Klient ponosi odpowiedzialność za ww. zdarzenia powstałe w wyniku błędów w oprogramowaniu
mechanizmów algorytmicznych.
4. Nie można zagwarantować osiągnięcia określonego wyniku finansowego na transakcjach zawartych z wykorzystaniem
mechanizmów algorytmicznych.
5. Transakcje realizowane za pomocą mechanizmów algorytmicznych traktowane są jako transakcje zawierane przez Klienta.
6. Składanie, usuwanie lub modyfikowanie zleceń z wykorzystaniem mechanizmów algorytmicznych traktowane jest jako zlecenia
złożone przez Klienta.
7. W wersji webowej oraz mobilnej systemu transakcyjnego może nie istnieć możliwość uruchomienia strategii automatycznych.
8. Wszelkie przykładowe strategie algorytmiczne zaprezentowane w czasie niniejszego szkolenia mają jedynie charakter edukacyjny i
nie powinny być stosowne na rachunkach rzeczywistych.
Dom Maklerski TMS Brokers S.A. podlega nadzorowi Komisji Nadzoru Finansowego i prowadzi działalność maklerską na podstawie
zezwolenia z dnia 26 kwietnia 2004 r. (KPWiG-4021-54-1/2004). Kontakt: Skylight Ul. Złota 59; 00-120 Warszawa, Polska; Tel.: +48 22 27
66 200”