BOSSA programowanie MQL4

background image

Moja pierwsza strategia –

wprowadzenie do programowania

w MQL4

1

Szkolenie on-line
23 czerwiec 2012

background image

Czym jest MQL4?

MQL4

(MetaQuotes Language 4) – dostępny w platformie

BOSSAFX (MetaTrader4) język programowania umożliwiający
rozbudowę jej standardowej funkcjonalności.

MQL4

jest wbudowany w aplikację kliencką MT4, co oznacza

że utworzone w nim programy mogą być uruchamiane
wyłącznie w tym środowisku.

MQL4

pod względem składni przypomina popularne języki

programowania C i C++, ale tzw. kod wykonywalny jest
specyficzny dla platformy transakcyjnej MT4.

2

Kod źródłowy napisany w języku

MQL4 – zrozumiały i edytowalny

dla programisty (inwestora)

Kod wykonywalny programu

– zrozumiały dla aplikacji

klienckiej MT4

kompilator

MQL4

background image

• Deklaracje

Właściwości programu (dyrektywa

#property

)

Wykorzystywanych bibliotek i plików

nagłówkowych (dyrektywa

#include

)

Stałe globalne (dyrektywa

#define

)

Zmienne globalne

• Definicje funkcji własnych

wykorzystywanych w programie




• Definicje funkcji specjalnych

init()

– opcjonalnie

start()

– obowiązkowo

deinit()

- opcjonalnie

3

Ogólna struktura programu – kod źródłowy

background image

• Komentarze

Fragmenty kodu nie podlegające kompilacji, a zatem nie wpływające na

funkcjonowanie programu

Ułatwiają zachowanie porządku i rozumienie kodu wykonywalnego oraz późniejsze

wprowadzanie zmian

Komentarz pojedynczej linii – zaczynamy od:

//

Komentarz wielu linii – zaczynamy od:

/*

4

Podstawowe elementy składni MQL4

• Identyfikatory

Stanowią nazwy stałych,

zmiennych, funkcji i typów

danych – nazwa może mieć max.

31 znaków

Identyfikatory zastrzeżone –

nazwy posiadające z góry

określone znaczenie w

programie. Nie mogą być

wykorzystywane w innym celu

przez programistę

background image

• Całkowity –

int

, np. 1, -43, 866, 196367 itd.

• Zmiennoprzecinkowy –

double

, np. -1.45, 567.9876, 1.33582, -9

• Logiczny –

bool

, np. 0, 1 lub false, true

• Znakowy –

char

, np. ‘A’, ‘b’, ‘5’, ‘$’

• Ciąg znaków –

string

, np. ”To jest przykładowy ciąg 34 znaków”

• Kolor –

color

, np.






• Data i czas –

datetime

, np.

5

Stałe, zmienne – typy danych

background image

• Deklaracja stałej lub zmiennej powołuje ją do życia i zawsze musi

poprzedzać jej użycie w programie

• Deklaracja zmiennej

• Miejsce deklaracji decyduje o tym, czy zmienna jest:

• Lokalna – zdefiniowana w ciele funkcji;
• Globalna – zdefiniowana na początku programu;

• Zmienne zewnętrzne – widoczne jako parametr programu

• Definicja stałej symbolicznej – za pomocą dyrektywy

#define

6

Deklaracje stałych i zmiennych

background image

• Tablice zawierają uporządkowany zbiór zmiennych danego typu

danych:

int

,

double

,

bool

itp.

• Deklaracja tablicy odbywa się podobnie jak deklaracja zmiennej,

ale w identyfikatorze należy użyć nawiasów kwadratowych

[]

i

wpisać w nie wymiar tablicy

int Tablica1[9]; //deklaracja zmiennej tablicowej typu integer o nazwie Tablica1 i długości 9

• Uwaga – indeksacja elementów tablicy zaczyna się zawsze od 0!
• Przykładowa Tablica1 typu integer


• Typ danych

string

jest w rzeczywistości zmienną tablicową typu

char

7

Tablice

background image

• Podstawowa operacja przypisania

identyfikator = wartość / wyrażenie;
int NazwaZmiennejNr1 = 5;

• Operacje arytmetyczne:

+

,

-

,

*

,

/

,

++

,

--




• Operacje relacji



• Operacje logiczne:

&&

,

||

,

!

bool ZmLogiczna1 = true;
bool ZmLogiczna2 = false;
bool ZmLogiczna3 = ZmLogiczna1 && ZmLogiczna2;
bool ZmLogiczna4 = ZmLogiczna1 || ZmLogiczna2;

8

Operacje na danych

background image

• Operacje na tablicach przeprowadzamy analogicznie jak w

przypadku zmiennych, z tym że musimy posłużyć się

indeksem tablicy

• Przypisanie zmiennej tablicowej

int Tablica1[]

int Tablica1[0] = 5;
int Tablica1[1] = 10;
int Tablica1[2] = 15;
int Tablica1[3] = 20;
int Tablica1[4] = 25;
itd.

• Odczyt zmiennej tablicowej

int ZmiennaX = Tablica[0] + Tablica[1];
int ZmiennaY = Tablica[0] * Tablica[1];

9

Operacje na zmiennych tablicowych

background image

• Zmienne predefiniowane nie muszą być deklarowane a dostęp

do nich jest możliwy z każdej funkcji w programie (są to

zmienne globalne)

• Niektóre zmienne predefiniowane mają charakter tablicowy
• Zmienne predefiniowane związane są z wykresem cenowym

danego instrumentu oraz jego specyfikacją:

Ask – zmienna przechowująca aktualną cenę ask;

Bid – zmienna przechowująca aktualną cenę bid;

Open – zmienna tablicowa przechowująca historię cen otwarcia świec dla danego wykresu

High – zmienna tablicowa przechowująca historię cen maksymalnych dla świec z danego wykresu

Low – zmienna tablicowa przechowująca historię cen minimalnych dla świec z danego wykresu

Close – zmienna tablicowa przechowująca historię cen zamknięcia świec dla danego wykresu

Volume – zmienna tablicowa zawierająca liczbę zmian cen w danym interwale

Time – zmienna tablicowa zawierająca datę i godzinę rysowania danej świecy

Bars – zmienna przechowująca liczbę dostępnych świec na danym wykresie

Digits – zmienna przechowująca liczbę miejsc po przecinku dla danego instrumentu

Point – zmienna przechowująca wartość pojedynczego kroku notowań dla danego instrumentu

10

Zmienne predefiniowane

background image

• Zmienne tablicowe umożliwiają pobieranie

cen historycznych: Open, High, Low, Close

• Zmienne tablicowe numerują kolejne

świece wstecz, przy czym aktualnie

rysująca się świeca ma zawsze numer 0

• Narysowanie się kolejnej świecy powoduje

przenumerowanie wszystkich

historycznych świec

• Przykłady:

• Open[8] – zwraca cenę otwarcia

świecy nr 8

• High[4] – zwraca cenę max. świecy nr

4

• Pamiętajmy, że wykresy cenowe pokazują

zawsze ceny bid!

• Nie ma możliwości pobrania do programu

historycznej ceny ask, ale można ją

oszacować dodając wartość spreadu





11

Korzystanie ze zmiennych predefiniowanych

0

1

2

3

4

5

6

7

8

9

10

11

background image

• Operator – każde wyrażenie w kodzie programu zakończone

średnikiem „;”

• Operatory proste zawierające jedno wyrażenie, np. operator

przypisania:

identyfikator = wartość / wyrażenie;

• Operatory złożone, zawierające kilka wyrażeń

• Operator warunkowy

if-else


• Operator cykliczny

for

12

Operatory

background image

int przykladowa_funkcja (int zmienna1, int zmienna2)

13

Deklaracja i definicja funkcji

Typ wartości

zwracanej przez

funkcję

Nazwa funkcji

Typy zmiennych

pobieranych przez

funkcję

Nazwy zmiennych

lokalnych w funkcji

Przykład:

background image

14

Funkcje wykorzystywane w naszej strategii

background image

15

Funkcje wykorzystywane w naszej strategii – c.d.

background image

16

Funkcje wykorzystywane w naszej strategii – c.d.

background image

17

Funkcje wykorzystywane w naszej strategii – c.d.

background image

Białystok

blogi.bossa.pl

Dziękuję za
obecność
i uwagę

Sebastian Zadora

s.zadora@bossa.pl

18


Wyszukiwarka

Podobne podstrony:
BOSSA Programowanie MQL4
Nowy Prezentacja programu Microsoft PowerPoint 5
Charakterystyka programu
1 treści programoweid 8801 ppt
Programowanie rehabilitacji 2
Rola rynku i instytucji finansowych INowy Prezentacja programu Microsoft PowerPoint
Nowy Prezentacja programu Microsoft PowerPoint ppt
Szkoła i jej program
wykluczenie społ program przeciwdział
ProgrammingJavaLecture9
Nowa podstawa programowa WF (1)
Programowanie robotów przemysłowych FANUC

więcej podobnych podstron