MQL4 Dərsləri 12 : İlk Ticarət Robotumuz 2 -ci Hissə



Əvvəlki dərsimizdə yazılan kodları ümid edirəm tam başa düşmüsünüz. Bu dərsdə onlara əlavə kodlar olacaq və isNewCandle() adlı yeni bir funksiya yazacağıq.

Bu proqramı bir dərsdə yazmağ olardı. Amma onu kiçik-kiçik hissələrə böldüm ki, Sizin üçün başa düşülməsi daha asan olsun.

İndisə Sizdə aşağıdakı şəkildə göstərilmiş olan kodları öz proqramınıza əlavə edin.


Burada olan input açar sözü extern - ə bənzər şəkildədir. Ancaq ondan bir fərqi odur ki, proqram icra edildiyi müddətdə parametrlərin dəyişilməsi proqramda öz əksini tapmayacaqdır. Dəyişiklik proqram icra edilmədiyi müddətdə olmalıdır. Externdə isə proqram icra edildiyi müddətdə parametrlərə dəyişiklik edə bilərsiniz.

ENUM_APPLIED_PRICE və ENUM_MA_METHOD nömrələmə sistemini başa düşmək üçün proqramı Compile etdikdən sonra proqramı qrafikə atıb orada onun Bizə bir list şəkilində bəzi göstərici dəyərlərini verəcəkdir. Aşağıda göstrəildiyi kimi :




İndiqatorlardan istifadə etdiyiniz vaxt bu parametrləri çox güman ki görmüsünüz. Biz növbəti dərsimizdə bu parametrlərdən PRICE_CLOSE və MODE_EMA - dan istifadə edəcəyik. Təbii ki Siz onu istədiyiniz bir şəkildə dəyişə bilərsiniz. Misal üçün Exponential ( EMA ) əvəzinə  Simple Moving Average (  SMA ) seçə bilərsiniz.

Onİnit() funsiyası daxilində yazılmış olan

 if ( Digits==3 || Digits==5 )
{
      pips=pips*10;
 }
kod blokunun mənası odur ki, əgər ( if )  Digits ( valyuta cütlüyündə nöqtədən sonrakı rəqəmlər ) 3-ə və ya ( || işarəsi ) 5-ə bərabərdirsə ( == işarəsi )  pips dəyişənin dəyəri 10 vurulsun. Bundan gələcəkdə TakeProfiti və StopLossu tənzimləmək üçün istifadə edəcəyik. 

Yeni şam yarananda əməliyyat açmaq istəyiriksə o zaman bir funkisya yazmağ məcburiyyətindəyik. Bunun üçün bool tipində isNewCandle() adlı funkisya yazaq.




Burada Biz datetime tipində və static olan bir dəyişən elan edirik və onun ilkin dəyirinə sıfır mənimsədirik.

Əgər candletime dəyişinənin dəyəri indiki vaxta bərabərdirsə ( iki == işarəsi bərabərdir mənasına gəlir ) geriyə ( return ) false dəyərini göndərir. Yox əgər candletime dəyişəninin dəyəri terminaldakı vaxta bərabər deyilsə candletime dəyişəninin dəyərini dəyişdirib yerinə indiki vaxtı ( terminaldakı cari şamın vaxtını ) mənimsədirik. Və funkisiya geriyə true dəyərini return ( proqram return açar sözünü gördükdə ondan sonra gələn kodlara baxmır )  edir.

Bu funksiyadan gələn dərsimizdə istifadə edəcəyik və proqramı icra etdikdə nə işə yaradığını tam şəkildə başa düşəcəksiniz.


Yorumlar

  1. 1 ildir mql oyrenmek ucun qaynaq axtarirdim. Tesekkurler!

    YanıtlaSil
    Yanıtlar
    1. Şərhiniz üçün təşşəkür edirəm. Əgər hər hansı bir sualınız olarsa bildiyimiz qədər kömək etməyə hazırıq.

      Sil

Yorum Gönder

Bu blogdaki popüler yayınlar

İchimoku İndiqatoru və EA - Giriş

İchimoku İndiqatoru və EA - 1-ci Hissə

MQL4 Dərsləri 14 : İlk Ticarət Robotumuz 4 -cü Hissə