MQL - Noțiuni de bază

Utilizând limbajul de programare a celor de la MetaQuotes - MetaQutoes Programming Language 4 (MQL4), poți realiza o varietate de lucruri și acoperi o serie de necesități. În principiu, în MQL4 poți realiza următoarele tipuri de "programe", destinate rulării în cadrul platformei de tranzacționare pe care tot cei de la metaQuotes o dezvoltă, respectiv MetaTrader 4 (MT4): script-uri, indicatori (matematici) și EA-uri.

Scripturile ("scripts") sunt programe destinate a rula o singură dată după ce sunt executate. Ele sunt foarte utile pentru automatizarea diferitelor sarcini, de obicei monotone, sau repetitive, dar care cer o reacție foarte rapidă.

Spre exemplu, dacă tranzacționezi pe termen scurt și ai deschise trei ordine pe trei instrumente diferite, în loc să le închizi pe fiecare în parte, poți rula un script care închide aproape simultan (oricum, mult mai repede decât dacă ai închide tu manual) toate cele trei ordine.

Indicatorii matematici ("indicators") sunt programe care se atașează pe grafic (sau sub acesta) indicând (prin semnalele pe care le dau) momentele oportune inițierii unor tranzacții sau, din contră, momentele în care este mai bine să stai de o parte de piață.
EA-urile ("expert advisors") sunt algoritmi care fie tranzacționează în locul tău, fie te asistă în executarea analizei tehnici, fiind responsabili în acest ultim caz în a-ți indica tendințe, conformații, figuri, linii de suport sau rezistență etc.

Foarte importante pentru MQL4 sunt noțiunile de "tick" și control.

Un Un "tick" este o oscilație ce reprezintă schimbarea prețului unui anume instrument, la un moment dat.

Este important deoarece este "trigger"-ul (factorul care declanșează) executarea codului unui EA sau reevaluarea de către un indicator. Este, cu alte cuvinte, informația vitală (sau "input"-ul) necesară pentru ca EA-ul, respectiv indicatorul, să aibă ce (și-n consecință să poată) procesa, respectiv exercita funcția pentru care a fost programat, respectiv conceput. "Tick"-ul provine de la server, server-ul putând fi unul demo sau real (live), fiind reprezentat de adresa aferentă câmpului din dialog-ul pe care-l folosești pentru a te loga în contul de tranzacționare, alături de cel de log-in și parolă. De pe server, "tick"-ul este descărcat în platformă care îl dă mai departe EA-ului sau indicatorului (EA-ul la rândul lui înaintează informația,  dacă este cazul, indicatorilor pe care îi include) care procesează informația și întoarce un rezultat în platformă. Rezultatul poate fi de la nul (când nu se va întâmpla nimic, deoarece nu este cazul, iar acest lucru deoarece algoritmul nu a găsit ceva "demn de interes") la executarea unui ordin în piață. Această procesare, este denumită "control" și, cum spuneam mai sus, este a doua importantă componentă a limbajului MQL4 și implicit a "programelor" realizate cu acesta.

Controlul reprezintă fluxul de execuție al codului în cadrul "programului" (EA, indicator sau script), respectiv în cadrul MT4. Informația este transmisă, prin linii de cod, de la un obiect la altul. Practic obiectele sunt acele entități care stochează o informație (sau un șir de informații). Ele pot fi "string"-uri, "int"-uri, "double"-uri etc. Transmiterea informației, este realizată prin intermediul propozițiilor și buclelor de tipul "if", "while", "switch", 'for" etc. Stocarea informațiilor și transmiterea de la obiect la obiect, pe anumite "culoare logice", decise de către condițiile impuse de propoziții, reprezintă procesarea informațiilor care, finalmente, duce la luarea unei decizii sau afișarea unei anumite valori pentru un anume indicator.

Înlănțuirea dintre obiecte, propoziții și toate celelalte componente ale acestor programe, ia forma unor linii de cod stocate pe disc sub forma unor fișiere care poartă extensia .mq4 și care sunt încărcabile în IDE-ul celor de la Metaquotes, respectiv în MetaEditor, care poate fi accesat din meniul principal al a-MT4, la "Tools" (Unelte) - "MetaQuotes Programmng Language" sau prin apăsarea, din cadrul MT4, a tastei F4.

Aceste fișiere, care conțin deci codul sursă, vor fi compilate în cadrul IDE-ului, căpătând extensia .ex4, putând astfel fi rulate în cadrul MT4.

Bineînțeles că, dacă ești cunoscător, te vei întreba care este "run-time"-ul (sau mașina virtuală) în care rulează programul (EA-ul, "script"-ul sau indicatorul. Ei bine, acesta este reprezentat de însăși platforma MT4. De fapt, MT4 este și mediul de rulare, dar și librăria cu "controale". În ceea ce privește ultimul aspect, este de menționat că algoritmii lucrează atât cu resursele proprii (obiecte, propoziții etc.) dar și cu resursele MT4. Spre exemplu, dacă rulăm un algoritm care să stabilească automat nivele (să spunem că este specializat în pivoți), acesta va procesa informația pe care o preia de la MT4 (respectiv, să zicem, prețurile de închidere), filtrând doar acele nivele importante (făcând apel la propoziții de tipul "if"). Acum, algoritmul "știe" care sunt nivelele importante, dar trebuie să facă în așa fel încât să "îți parvină", cumva. Ce mai bună metodă este, prin urmare, să le așeze pe grafic, iar în acest scop se va folosi de liniile orizontale, la fel cum și tu, și eu, și oricine altcineva ar putea adăuga o astfel de linie din meniul principal al MT4, la "Insert" (Introdu) - "Lines" (Linii) - "Horizontal Line" (Linie Orizontală). Foarte bine, însă această linie este o resursă a platformei, este adevărat, oglindită și în MQL4 pentru a putea fi accesată din cod, ea rămânând însă o parte integrantă a MT4.

Dacă ai programat vreodată, măcar în cadrul unor cursuri sau din curiozitate pe cont propriu, și astfel dacă posezi niște cunoștințe minime de programare, vei constata că MQL4 se aseamănă foarte mult cu limbajele de programare ce derivă din C, respectiv C++, Java sau C#. Mai mult, dacă programezi în mod curent într-unul sau mai multe din aceste limbaje, îți va fi foarte ușor să începi programarea în MQL4, perspectivele fiind deosebit de generoase.

Voting postare: 0

0 Commentarii:

Spune-ţi opinia


Articole asemănătoare

Cum sa îmbunătățești rezultatele unui robot de tranzacționare?

Cum sa îmbunătățești rezultatele unui robot de tranzacționare?

Tranzacționarea pe piața valutară internațională (Forex), dar şi în cadrul altor piețe, este realizată nu numai de traderi, ci şi de roboții de tranzacționare, numiți și expert adv..
  •   0
  •   0
  •   152
  •   0
Cum se instalează Metatrader 4 pe o unitate flash USB

Cum se instalează Metatrader 4 pe o unitate flash USB

Instalarea unei aplicații poate fi făcută pe discul computer-ului (indiferent că este vorba despre desktop, laptop etc.), de obicei în "Program Files" (Fișiere Program) sau pe un s..
  •   0
  •   0
  •   108
  •   0
MyfxBook, un instrument util pentru analiza rezultatelor

MyfxBook, un instrument util pentru analiza rezultatelor

Este departe de a fi cea mai bună abordare să tranzacționezi fără a-ți cunoaște potențialul, crezând că deții performanțe remarcabile sau subestimându-te. Este foarte ușor, mai ale..
  •   0
  •   0
  •   152
  •   0
3 greșeli de tranzacționare care îți distrug contul

3 greșeli de tranzacționare care îți distrug contul

Este uman să greșești, dar este o foarte mare greșeală să îți pierzi contul, deși la rândul ei o asemenea întâmplare poate să dea lecția sa, tristă dar prețioasă. Dar de învățat tr..
  •   0
  •   0
  •   99
  •   0
x

Abonare la Newsletter!


Vrei să fii un om bine informat?
Doar așa îți poți gestiona economiile corect.

Abonează-te la Educație!

Vă mulțumim!