Kayıtlar

Forex Dərsləri 10 : İlk İndiqatorumuz 2-ci Hissə

Resim
Keçən dərsdə yazdığımız kodlarda bəzi dəyişikilik edərək aşağıdakı şəkildə yenidən yazmağa çalışın. Kod İndisə yuxarıda yazılmış kodlara aydınlıq gətirək Hər bir MQL4 proqramı #property adlı xüsusi parametrləri müəyyən etməyə imkan verir. Bu parametrlər terminalın açıq şəkildə işləməsinə ehtiyac duymayan proqramlara kömək edir. Bu əsasən göstəricilərin ( indiqatorların ) xarici parametrləri ilə bağlıdır. #property indicator_separate_window -  indiqatorların platformanın əsas pəncərəsində deyil alt pəncərəsində göstərilməsi üçündür.. Əgər indiqator əsas pəncərədə göstəriləcəksə o zaman  #property indicator_main_window özəlliyindən istifadə edilir. #property indicator_buffers 1  -  bu özəllik yaddaş sahəsində ayrılacaq massivlərin sayını müəyən edir. Burada gördüyünüz kimi biz yaddaşdan 1 massiv ayrılmasını istəmişik. Bunun mənası odur ki biz cəmi bir xətt  çəkəcəyik. Misal üçün Alligator indiqatorundan istifadə edərkən qrafikdə  3 xətdin ...

Forex Dərsləri 9 : İlk İndiqatorumuz - 1-ci Hissə

Resim
Bu dərsimizdə biz ilk sadə indiqatorumuzu yazmağa başlayacağıq.  Əgər əvvəlki bloq yazılarını oxumamışsınzsa bu və növbəti dərslərə keçmək düşünürəm bir az Sizə çətin gələ bilər. Dərsdən sonra MQL4 proqramalaşdırma dilinin bəzi təməllərini öyrənəcəksiniz. İlk öncə MetaEditor İDE-i açıb New butonunu seçin.  Daha sonra Custom İndicatoru qeyd etdikdən sonra Next butonunu tıklayın.. Burada İndiqatorunuzun adını qeyd edib Next  deyin... OnCalculate ( Bu funksiya Expert Advisorda olan OnTick funksiyası kimidir )  qeyd edin və Next... Burada isə İndicator in separate window ( İndicatorun plaformanın alt pəncərəsində görünməsi əmri )  qeyd edin və Sonlandır butonuna basın. Nümunə kod Sizdə buradakı kodları Editorda yazmağa çalışın. Sonrakı dərsimizdə burada yazılmış və yazılacaq kodları bir-bir açığlayacağıq. Uğurlar...

Forex Dərsləri 8 : MQL4 Funksiyalar

Resim
Funksiyalar , dəfələrlə istifadə oluna bilən proqram bloklarıdır. Bu proqram bloklarına xüsusi adlar verilərək onları proqramın istənilən yerində və istənilən qədər çağırıb icra etmək mümkündür. Biz indiyə qədər yazdığımız kodlarda  MQL4  dilinin bəzi funksiyalarından istifadə etmişdik. Hər bir bir funksiya müəyyən əməliyyatlar ardıcılığından ibarət olub konkret bir tapşırığı yerinə yetirir. Buna misal olaraq ekranın sol üst tərəfinə yazı yazdıran Comment() və Ekrana xəbərdarlıq pəncərəsini gətirən Alert() funksiyalarından istifadə etmişdik. Əgər hazır funksiyalar bizə kifayət etmədikdə biz özümüz öz funksiyalarımızı yazıb istifadə edirik. Funsiyalardan istifadə etməklə böyük proqramları kiçik hissələrə bölüb işimizi daha da asanlaşdıra bilərik. Proqramda funksiyadan istifadə etmək üçün biz əvvəlcə funksiyanı elan etməliyik. Daha sonra isə, funksiyanın proqram kodunu tərtib etməliyik. Funksiyanın elanı MQL4 dilində funksiya aşağıdakı kimi elan olunur: Nəticənin_t...

Forex Dərsləri 7 : Dövr Operatorları

Resim
Bu dərsdən sonra düşünürəm ki, artıq sadə olsa da proqramlarımızı yazmağa başlaya biləcəyik. Artıq nəzəriyədən praktikaya keçməyin vaxtı gəlib çatıb. Dövr operatorları müəyyən əməliyyatların bir neçə dəfə təkrar yerinə yetirilməsinə imkan verir. Bu operatorlardan proqramlaşdırmada çox geniş istifadə olunur.  Əsas iki dövr operatoru vardır.  1. for 2. while Başlayaq elə birincidən yəni for dövr operatorundan. for operatorunun sintakisisi aşağıdakı kimidir:  for (sayğacın ilkin qiyməti; dövrün başa çatma şərti; sayğacın dəyişmə qaydası)  {       əməliyyatlar; }  Bunu bir misal ilə göstərək: Burada sayğacın ilkin qiyməti  sıfırdır. Dövrün başa çatma şərti beşdir yəni i dəyişəni beşdən kiçik olana qədər  ( beş daxil deyil )  kod təkrar edəcək.  Sayğacın dəyişmə qaydası  isə  ( i ++ ) hər dəfə kod təkrar etdikdə i -nin dəyəri bir vahid artacaqdır.  Bu kodun nəticəsin...

Forex Dərsləri 6 : Şərt Operatoru

Resim
Expert Məsləhətçi yazılmasının öyrənilməsindəki əsas addımlardan biri də məhz şərt operatorları ilə bağlıdır. Proqramın icra olunma istiqaməti verilmiş şərtin yerinə yetirilib yetirilməməsindən asılı olaraq dəyişə bilir. Bunun üçün MQL dilində if - else şərt operatorundan istifadə olunur.  if - else şərt operatorunun standart yazılış forması aşağıdakı kimidir: if ( şərt ) {      ifadə  1 } else   {      ifadə 2 } Bildiyiniz kimi burada if ingiliscə əgər  else isə əks halda mənasına gəlir. Yuxarıdakı kodu bu cür oxuya bilərik: Əgər şərt ödənilərsə ifadə 1 , əks halda ifadə 2 icra olunsun. Yuxarıdakı kod blokunda əgər iki şərtimiz  olsa idi o zaman else if ifadəsindən də istifadə etməli olacaqdır. Yəni aşağıdakı kimi: if ( şərt 1) {      ifadə  1 } else if ( şərt 2 ) {      ifadə 2 } else  {     ...

Forex Dərsləri 5 : Dəyişənlər

Resim
                                                          Bu dərsi diqqətlə oxumağınızı tövsiyə edirəm. Çünki proqramlaşdırma dillərində dəyişənlərdən çox-çox tez istifadə edilir. Dəyişənlər ( variables )  içərisində məlumat saxlamaq üçün istifadə olunan yaddaş bloklarıdır. Yaddaşı hər biri fərqli ölçülərdə olan bir qrup qutu olaraq xəyal edin. Qutuların ölçüsü məlumatın saxlanılması üçün lazım olan ölçülərdir. - Hər bir qutuda məlumat saxlamaq üçün ilk öncə ona bir ad verməlisiniz. Buna declaration deyilir. - Komputerə istifadə edəcəyiniz məlumatın ölçüsü və növü haqqında məlumat vermək üçün  açar söz göstərilməlidir. - Qutuya başlanğıcda bir dəyər ( value ) verirsinizsə buna initialization deyilir. Bir dəyişən yaratdığımızda komputerə dəyişənimiz üçün yaddaşda  müəyyən byte uzunluğunda bir yer ayrılmasını demiş olu...

Forex Dərsləri 4 : Məlumat Tipləri

Yavaş - yavaş strategiyalarımızı robota çevirmə vaxtı gəlib çatacaqdır. Bunun üçün bəzi vacib mövzularıda öyrənmək məcburiyyətindəyik ki, istəyimiz tam olaraq  reallaşsın. Söhbəti çox uzatmadan keçək dərsimizin əsas mövzusuna. Hər bir proqram bildiyimiz kimi məlumat ilə işləyir. MQL dilində olduğu kimi digər proqramlaşdırma dillərindən istifadə edərkən doğru yerdə doğru məlumat tipinin seçilməsi son dərəcə vacibdir. Səbəbi isə odur ki, hər bir məlumat tipi yaddaşda ( RAM- da ) müəyyən yer tutur. Misal üçün əgər yaddaşda -2147483648 və 2147483647 arasında bir tam ədəd tutulacaqsa o zaman biz tam ədədlər tipindən  ( int və ya  integer  ) istifadə edəcəyik. MQL-də  əsas 6 məlumat tipindən istifadə edəcəyik. 1.    int -  Tam ədədlər üçün istifadə olunur. Yuxarıda göstərdiyimiz kimi -2147483648 və 2147483647 arasında bir dəyər alır.  Aşağıdakı nümunələrin hamısı tam ədəd ( int ) tipindədir.           ...