Kayıtlar

Ekim, 2018 tarihine ait yayınlar gösteriliyor

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 ( Göy, Yaşıl və Qırmızı ) çək

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_tipi funks

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əsində Alert pəncərəsində "Hello " sözü beş dəfə yazılacaqdır. Çünki i -nin ilkin d

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  {      ifadə 3 } Bunu misal üzərindən daha yaxşı başa düşə bilərik. Sizdə şəkildə gördüyünüz q

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ş oluruq. Kiçik bir rəqəm, bir hərf və çox böyük bir ədəd yaddaşda eyni yeri tutmayacağından komputer dəyişənimiz üçün yaddaşda nə qədər yer ayırması lazım olduğunu

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.                                                             5, 8, 0,251, -142  və s. 2

Forex Dərsləri 3 : MQL-də Şərhlər

Resim
Keçən dərsimizdə  önəmli üç funksiya haqqında danışmışdıq.  Bu gün isə  hər kod yazdığımzda bizə lazımlı olan biləcək önəmli mövzularından biri olan Şərhləri ( Comments )  öyrənəcəyik. Şərhlər - proqram kodunu açıqlamaq üçün istifadə olunur. Yaxşı bir proqram həmişə özündə şərhləri barındırır.  İki cür şərh növü vardır :  Təksətirli ( //   ilə  başlayır)  və Çoxsətirli ( /* ilə başlayır */ ilə bitir ) .Aşağıdakı şəkildə  tək sətirli commentlərlə bağlı bir neçə nümunə göstərilmişdir. Burada isə Çox sətirli şərh nümunəsi göstərilmişdir. Son olaraq qeyd edim ki, şərhlər proqrama heç bir  təsir göstərmir. Sadəcə olaraq şərhlər proqramı yazan adam və ya digərləri kodlara baxdığı zaman harada nə edildiyini başa düşməsini asanlaşdıracaq yazılardır .

Forex Dərsləri 2 : Funksiyonal Bloklar

Resim
Keçən dərsdən xatırlayırsınızsa aşağıdakı kimi bir Expert Advisor proqram şablonu yaratmışdıq. Proqramın 6-dan 9- a kimi olan sətirlərindəki # property hissəsini hələlik görməzdən gəlin. Bunun kimi özəllikləri ayrıca bir dərs olaraq hazırlayıb  izah etməyə çalışacam.  Bizi burada marağlandıran əsas məsələ Onİnit(), OnDeinit() və OnTick() funksiyalarıdır. Proqramlaşdırmada istifadə olunun funksiya anlayışını gələcək dərslərimzdə öyrənəcəyik ( Bunları bu dərsdə izah edib beyninizdə bir qarışıqlıq yaratmaq istəmirəm ).  1.   OnInit() funksiyası Buradakı Init sözü initialization ( başlatmaq ) sözündəndir. Yəni yazdığınız proqramı çalışdırdığınızda  ilk öncə bu funksiya daxilində  yazdığınız kodlar çalışacaqdır.   Nümünə :  Sizdə  OnInit() funksiyası daxilində ( yəni iki fiqurlu mötərizə arasında ) aşağıdakı şəkildə olduğu kimi Comment("Salam Dünya");    yazıb  Compile ( Compile - proqramda yazılan kodları maşın dilinə çevirir  )  butonunu sıxın.  Burada Comment ( şə

Forex Dərsləri 1 : MetaEditor ilə iş

Resim
Əgər bu işdə yenisinizsə ilk öncə  MetaTrader   ticarət platformasını yükləmək lazımdır.  Proqramı yükləyib və quraşdırdıqdan sonra ticarət etməyə bir demo hesab ilə başalıya bilərsiniz. İndisə MetaEditor adı verilən İDE (  integrated development environments )   ilə tanış olaq. MetaEditor bizim kodlarımızı yazıb çalışdırdığımız yerdir. Proqramlarımızı burada yazacağıq. MetaEditoru açmaq üçün aşağıdakı şəkildə ox ilə göstərilən ikonu kilikləyin.  Qarşınıza aşağıdakına bənzər MetaEditor pəncərəsi çıxacaqdır. Bundan sonra yeni bir skript , indikator və ya expert yaratmaq üçün Editorda New butonunu seçmək lazımdır. New Butonunu seçdikdən sonra qarşınıza MQL pəncərəsi çıxacaqdır. Burada bir çox özəlliklər vardır. Bizə hələlik Expert Advisor lazımdır. Narahat olmayın  daha sonrakı dərslərimizdə  diğərlərinində nə olduğunu öyrənəcəyik. Expert Advisori seçdikdən sonra Далее ( Növbəti ) butonunu klikləyin . Burada isə Name bölməsinə proqramınizin adı yazılmal

Alqoritmik Ticarət Nədir

Resim
Robotlar insanları məhv edəcək :)) Alqoritmik Ticarətin nə olduğunu izah etməmişdən əvvəl onunla bağlı bir-iki anlayışın başa düşülməsi vacibdir. Alqoritm Nədir ?  Alqoritm -  müəyyən bir problemin həll edilməsi üçün ardıcıl olaraq yerinə yetirilən təlimatlardır. Hər hansı bir Komputer proqramını alqoritmlər bütünü olaraq  düşünə bilərsiniz. Bu bir misal ilə daha yaxşı başa düşüləcəkdir. Nümunə:  dörd ədədin ortalamasını tapmaq üçün yazılmış bir proqramın alqoritmasını mətin üzərindən yazmağa çalışaq. A1 : Birinci ədədi daxil et A2 : İkinci ədədi daxil et A3 : Üçüncü ədədi daxil et A4 : Dördüncü ədədi daxil et A5: Daxil edilmiş ədədlərin cəmini tap A6: Tapılmış cəmi 4-ə böl A7: Nəticəni ekrana yaz A8: Proqramı sonlandır Ticarət Robotu Nədir ? Ticarət Robotu - öz-özünə bazarı analiz edən və eyni zamanda bazarda avtomatik qaydada əməliyyat aparan proqramlama kodlardan ibarət bir robotdur.  Ticarət Robotları insan müdaxiləsi olmadan bazarlarda ticarət aparmağınıza

Başlamazdan əvvəl bir-iki ümümi sözlər...

Resim
Bu Bloqa daxil olduğunuza görə Sizin valyuta ticarəti ilə ( FOREX ) marağlandığınız  qənaətinə gəlmək olar. Həmçinin öz strategiyalarınızı yaratmaq istədiyinizi də asanlıqla başa düşmək olar. Yoxsa ki, Burada Olmazdınız ki :)) Bloqu açmağımdakı  əsas məqsədim MetaTrader vasitəsi ilə Sizə öz Ticarət Robotlarınızı yaratmağınıza əlimdən gələn qədər kömək etməkdir.  Əgər MetaTrader platformasında öz İndiqatorlarınızı və  Expert Məsləhətçilərinizi  yaratmaq istəyirsinizsə yazılarımızı davamlı olaraq oxumağınızı məsləhət görürəm.  Növbəti bloq yazısında Alqoritmik Ticarətin nə  olduğunu müzakirə edəcəyik və daha sonrakı yazılarda isə MetaQuotes Proqram Təminatı Şirkətinə aid olan MQL4  proqramlaşdırma dilini yavaş-yavaş öyrənməyə başlayacağıq. Qeyd: Əgər hər hansı bir Proqramlaşdırma dilini bilmirsinizsə qorxmağınıza gərək yoxdur. Çünki Hər şeyi  Sıfırdan izah eləməyə çalışacağam. MQL dilini öyrəndikdən sonra bu dilə bənzəyən  C,C++ və Java  kimi proqramlaşdırma dillərini də da