Codificarea profilului - dezvoltarea programului - ajutor metaeditor

Profilarea este colecția de caracteristici ale programului, cum ar fi timpul de execuție al fragmentelor individuale (funcții, linii). MetaEditor are o funcție integrată de profilare, datorită căreia programatorul poate optimiza codul sursă.







Profilarea poate fi efectuată în mod regulat în platforma de tranzacționare, precum și pe date istorice folosind testerul de strategie. În primul caz, programul va fi lansat pe un grafic actualizat în timp real. Puteți verifica modul în care se comportă programul în condițiile reale de utilizare. În cel de-al doilea caz, programul va fi lansat în testerul de strategie în modul vizual. Avantajul acestei metode este că nu trebuie să așteptați ca datele reale să ajungă de la serverul de tranzacționare.

Multe programe, în special indicatorii, efectuează orice calcule numai cu sosirea unei bifați noi (OnTick, OnCalculate). Astfel, pentru a evalua performanța, trebuie să așteptăm ca noi căpușe să sosească în timp real. Folosind profiluri pe date istorice, puteți da imediat încărcătura potrivită și puteți verifica activitatea programelor chiar și în weekend când piețele sunt închise.

Începeți profilarea

Deschideți fișierul sursă al programului (mq4 sau mq5). În meniul "Debug" sau pe bara de instrumente "Standard", faceți clic pe "Porniți profilarea pe date reale" sau pe "Porniți profilarea pe date istorice".

După aceasta, o versiune specială a programului de profilare va fi compilată automat. În funcție de tipul de profil ales, programul va fi lansat cu regularitate în terminalul de tranzacționare sau în testerul de strategie (în modul vizual).

Implicit, aplicația este lansată pe graficul EURUSD H1. Pentru a rula pe un alt simbol și perioadă, specificați-le în fila Debug în preferințele MetaEditor.

După lansarea aplicației, este nevoie de ceva timp pentru a lucra cu aceasta, valorificând toate funcțiile sale. Acest lucru este necesar pentru ca profilatorul să măsoare timpul de execuție al funcțiilor și liniilor programului.







În continuare, ar trebui să opriți profilarea utilizând comanda "End Profiling" din meniul "Debug" sau pe bara de instrumente "Standard".

Pentru a obține rezultate de profilare mai exacte, se recomandă să ștergeți manual programul din grafic, în loc să utilizați comanda "Sfârșitul profilării".

Modul "Funcții prin apel"

Codificarea profilului - dezvoltarea programului - ajutor metaeditor

În acest mod, rezultatele profilării sunt prezentate prin funcții:

  • Funcții - numele funcției sau al metodei clasei.
  • Un șir este șirul în care este apelată funcția. Dacă funcția este apelată în mai multe locuri în program, pictograma acesteia va fi marcată cu o pictogramă. Dacă faceți clic pe acesta, se vor deschide informații pentru fiecare apel.
  • Număr - numărul de apeluri funcționale în timpul funcționării programului.
  • Timpul este momentul în care funcția este executată în microsecunde și, de asemenea, în procente în raport cu timpul de execuție al tuturor funcțiilor. Timpul de execuție al funcției este suma timpului de execuție a tuturor funcțiilor care sunt numite în interiorul acesteia.
  • Grafic - un grafic al funcțiilor de timp.

Pictogramele indică tipul de funcții:

  • - funcția definită de utilizator;
  • - funcția sistemului;
  • - Funcția de procesare a evenimentelor (On *);
  • Clasă.

În plus față de aceste tipuri de funcții, profilatorul afișează:

  • @global_initializations - informații despre inițializarea tuturor variabilelor globale;
  • @global_deinitializations - informații despre deinitializarea tuturor variabilelor globale;

Profilul nu afișează toate funcțiile, ci doar cele care au fost chemați în timpul programului.

Modul "Funcții după rânduri"

Codificarea profilului - dezvoltarea programului - ajutor metaeditor

În acest mod, informațiile despre timpul programului sunt reprezentate de rânduri. Rândurile sunt grupate în funcție de funcțiile programului.

Meniul de context

Următoarele comenzi sunt disponibile în meniul contextual:







Articole similare

Trimiteți-le prietenilor: