Kayıtlar

2018 tarihine ait yayınlar gösteriliyor

MQL4 Dərsləri 17 : OrderClose() Funksiyası

Resim
OrderClose () funksiyası açılmış əmrləri bağlayır. bool   OrderClose  (     int          ticket ,        // ticket     double       lots ,           // volume     double       price ,          // close price     int          slippage ,       // slippage     color        arrow_color    // color    ); Parameters ticket    Əmrin unikal nömrəsi lots  Lot Həcmi price   Bağlanış Qiyməti slippage   Makimum Slippage Dəyəri arrow_color  Bağlanış əmri üçün Qarafikdə göstəriləcək rəng   Nümunə :    if  (  iRSI (  NULL ,0,14, PRICE_CLOSE ,0) > 75)     {           OrderClose (order_id,1, Ask ,3,Red);           return (0);     }

MQL4 Dərsləri 16 : OrderModify() Funksiyası

Resim
OrderModify () funksiyası əvvəlki açılmış və ya gözlənilən əmirlərin xüsusiyyətlərini dəyişdirir. bool   OrderModify  (     int          ticket ,                // ticket     double       price ,              // price     double       stoploss ,         // stop loss     double       takeprofit ,      // take profit     datetime     expiration ,     // expiration     color        arrow_color    // color    ); Parametrlər ticket     Əmrin unikal nömrəsi price      Gözlənilən əmrin yeni açılış qiyməti stoploss       Yeni StopLoss səviyyəsi takeprofit        Yeni TakeProfit səviyyəsi expiration        Gözlənilən əmrin bitmə vaxtı arrow_color        TakeProfit/StopLoss səviyyəsi üçün qrafikdə göstəriləcək rəng. Nümunə : void   OnStart ()   {       int  TrailingStop=50;   //--- modifies Stop Loss price for buy order №12345     if (TrailingStop>0)        {        OrderSelect (12345, SELECT_BY_TICKET

MQL4 Dərsləri 15 : OrderSelect() Funksiyası

Resim
Əvvəlki dərsimizin kodlarında Sizlər üçün aydın olmayan önəmli iki  funksiya var idi. Bunlardan biri OrderSelect () və digəri isə OrderModify () funksiyasıdır. Bu gün ki dərsimizdə OrderSelect () funksiyası ilə tanış olacağıq. OrderSelect () funksiyası daha çox proses üçün bir əmir seçir. Sadə dildə desək açmış olduğunuz hər hansı bir əməliyyatın ( buy , sell... ) xüsusiyyətlərini ( əməliyyatın açıldığı vaxtı,qiyməti.,lot həcmini , StopLoss səviyyəsini və s ) seçib bizə əks etdirir. Bizdə seçilmiş bu xüsusiyyətlərdən məqsədimizə uyğun şəkildə istifadə edə bilərik.  OrderSelect () funksiyası  3 parametrə alır.  bool   OrderSelect  (     int       index ,                                 // index or order ticket     int       select ,                                // flag     int       pool=MODE_TRADES    // mode    ); OrderSelect (index, select, pool); int index    -  ikinci parametrdən asılı olaraq əməliyyatı seçmək üçün əmrin indeksi və ya nömrəsi 

İchimoku İndiqatoru və EA - Trailing Stop

Resim
Dərslər irəlilədikcə halhazırda yazmış olduğumuz İchimoku Ticarət Robotumuza yeni xüsusiyyətlər əlavə edərək təkmilləşdirəcəyik. Bu günki dərsimizdə Expert Məsləhətçimizə Trailing Stopu əlavə edəcəyik. Trailing Stop Nədir? Trailing Stop  - Təqib edən Zərər durdurucu əmrdir. Misal , 1 lot EUR/USD cütlüyündə 1.24943 qiymətindən alış əməliyyatı etdik. Bu əməliyyat üçün təqib edən zərər durdurucu əmir girdiyimizdə, əməliyyatımız minimum misal üçün 15 pip qazanc olduğunda zərər durdurucu əmir ekranda passiv olarak SL kolonunda görüləcəktir ve əməliyyatdakı qazancımız artdıqca SL kolonunda gördüyümüz Trailing Stop əmrinin qiymətidə avtomatik olarak artacakdır . Misal üçün : EUR/USD 1,24943 olduğu təqdirdə zərər durdururcu əmir misal üçün 15 pip olarak seçsək: Cütlük 1,24958 olduğunda, əmirimiz ekranda görüləcək (1,24943). Cütlük 2 pip yuxarı doğru hərəkət etdiyində 1,24960 olduğunda bizim zərər durdurucu əmrimiz də 2 pip artmış (1,24945) olacaktır. Əgər cütlük 15 pip aşağı

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

Resim
Keçən dərsimizdən İchimoku indiqatoru haqqında ümumi də olsa məlumatlı oldunuz. Bu dərsimizdə İchimoku xətlərinin əmələ gətirdiyi al-sat siqnallarından yanlız birini əsas götürərək ona əsaslanan sadə bir ticarət robotu yazacağıq. Bu al-sat siqnalı Tenkansen ilə Kijunsen xətlərinin bir-biri ilə kəsişməsinə əsaslanır. Əgər qiymət buludun üzərində olarsa və TenkanSen xətti KijunSen xəttini aşağıdan yuxarıya doğru kəsərsə Buy əməliyyatı açacağıq. Yox əgər qiymət buludun altında olarsa və TenkanSen xətti KijunSen xəttini yuxarıdan aşağıya doğru kəsərsə Sell əməliyyatı açacağıq. İlk öncə terminalda açılmış olan Buy və Sell əməliyyatlarının sayını bilmək üçün bir funksiya yazırıq.  Əgər heç bir əməliyyat olmaz isə o zaman bazara daxil olacağıq. //+------------------------------------------------------------------+ BUY //+------------------------------------------------------------------+ int BuyCount() {   int count = 0;     for ( int i = OrdersTotal () - 1; i >= 0; i

İchimoku İndiqatoru və EA - Giriş

Resim
İchimoku indiqatoru haqqında çox güman eşitmisiniz. Bəlkədə hal-hazırda aktiv bir şəkildə istifadə edirsiniz... Bu və növbəti bir neçə dərslərimizdə ichimoku indiqatorunun göstəricilərinə  əsaslanarağ bir Ticarət Robotu yazmağı Sizinlə birlikdə öyrənməyə çalışacağıq. 2015- ci ildə Ahmed Alagouz adlı bir treyderin İchimoku indiqatoru  haqqında yazmış olduğu bir kitabını Azərbaycan dilinə tərcümə etmişdim. Bu dərsimizdə İchimoku indiqatorunu bilməyənlər üçün qısa olsada onu tanımağa başlayacağıq və dərsinin sonunda vermiş olduğum linkdən bu kitabı yükləyərək tam şəkildə onu başa düşəcəyinizə əminəm.Beləliklə indiqatoru tanıdığdan sonra Expert Məsləhətçimizi yazmağa başlayacağıq. Daha sonra özünüz Experti istəyinizə uyğun dəyişdirə və ya yeni əlavə funksiyalar yaza bilərsiniz. O qalıb Sizin Xəyal Gücünüzə )). İchimoku İndiqatoru İchimoku Kinko Hyo adətən ichimoku adlandırılır. O gələcək qiymət hərəkətinin dəqiqliyini təkminləşdirmək üçün Şam qrafikində yaradılmış bir texniki a

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

Resim
Keçən dərslərimizdə yazdığımız bütün kodlar aşağıda göstərilmişdir. Bu gün isə yazdığmız proqramı Compile edib test edəcəyik. Bu EA proqramı MQL4 proqramlaşdırma dilinə aid vacib metodları öyrənmək məqsədi ilə yazılmışdır. Yazılmış olan bu proqram real hesabda tədbiq edilməsi düzgün deyildir. Strategy Tester Strategiya Testini açmaq Platformada aşağıdakı şəkildə göstərilmiş butonu seçin (  və ya qısa yol üçün CRL + R  ). Butonu seçdikdən sonra qarşınıza aşağıdakı kimi bir pəncərə çıxacağdır. Strategy Testinin istifadəsi üçün bəzi qeydlər  : 1. Expert Advisor sözünün qarşısından yazmış olduğunuz proqramın adını tapın. 2. Symbol bölməsində test edəcəyiniz valyuta cütlüyünü seçə bilərsiniz.  3. Modelin Every Tick olaraq seçilmiş olduğuna diqqət yetirin. 4. Use date bölməsində test edəcəyiniz zaman aralığını qeyd edin. 5. Əgər Sizdə Visual mode görükmürsə  qrafiki yuxarı doğru sürüşdürün.  6. Period bölməsində zaman intervalını seçin 7. S

MQL4 Dərsləri 13 : İlk Ticarət Robotumuz 3 -ci Hissə

Resim
Bu gün ki dərsimiz əvvəl yazdığımız expertin davamını şəkilindədir. Burada MQL4 proqramlaşdırma dilinə aid yeni funksiyalarla tanış olacağıq. OnTick () funksiyası daxilinində Sizdə aşağıdakı şəkildə gördüyünüz kimi kodları yazmağa çalışın. Yazdığımız kodların izahı : 1)  iMA - Moving Average indiqatorunu hesablayır və onun dəyirini bizə verir. double   iMA (     string         symbol ,                // symbol     int            timeframe ,             // timeframe     int            ma_period ,            // MA averaging period    int            ma_shift ,               // MA shift    int            ma_method ,          // averaging method    int            applied_price ,       // applied price    int            shift                       // shift    ); Parametrlər : symbol  Hesablanacaq valyuta cütlüyünün simvol adı Misal üçün "EURUSD" . NULL dəyərinin yazılması proqramın hal-hazırda çalışmış olduğu ( qarafikdə hal-hazırda baxdığınız valyu

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

Resim
Ə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üma

MQL4 Dərsləri 11 : İlk Ticarət Robotumuz 1 - ci Hissə

Resim
Əvvəlki dərsdə biz ilk sadə indiqatorumuzu yaratdıq. Bu indiqator bir treyder olaraq bizim işimizə o qədərdə   faydalı olmadı ancaq buna baxmayaraq proqramlaşdırma məntiqini öyrənmək adına bizim üçün çox faydalı oldu. Bazarın texniki analiz vasitəsi ilə gələcək qiymətlərini proqnozlaşdırmağa kömək üçün indiqatorlar çox vacibdir. Ancaq indiqatorlarla qrafiki müşahidə edərək Siz əmirlərinizi ( satış,alış , açılan əmirlərdə dəyişiklik etmək və s.) özünüz əlinizlə daxil etməlisiniz.   Bunun üçün terminalın qarşısına keçməli və gözlərinizi geniş bir şəkildə açıb monitora baxmalısınız... Əgər yoruldunuzsa bir fincan çay içmək və ya hətta qısa bir tətilə çıxmaq istəyə bilərsiniz. Siz bu problemin həlli üçün aşağıdakı fikirlər haqqında düşünməlisiniz: Siz Terminalı müşahidə etmək üçün bir nəfər işçi tuta bilər   və telefonunuzla hər beş dəqiqədən bir ona zəng edib nələr olduğu ilə marağlana bilərsiniz.   Əgər o işçi mütəxəssisdirsə qazandığınız pipləri itirəcəkdir. Yox əgər

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...