Alım-satım robotlarını ücretsiz olarak nasıl indirebileceğinizi izleyin
Bizi Facebook üzerinde bulun!
Fan sayfamıza katılın
Komut dosyasını ilginç mi buldunuz?
Öyleyse bir link gönderin -
başkalarının da faydalanmasını sağlayın
Komut dosyasını beğendiniz mi? MetaTrader 5 terminalinde deneyin
Görüntülemeler:
59
Derecelendirme:
(6)
Yayınlandı:
MQL5 Freelance Bu koda dayalı bir robota veya göstergeye mi ihtiyacınız var? Freelance üzerinden sipariş edin Freelance'e git
JavaScript'teki Promise'e benzer şekilde algoritmaların asenkron yürütülmesini uygulamak için bir arayüz.
timer.mqh - timer, sadece asenkron yürütmeyi göstermek için

Ayrıca npm paket yöneticisini kullanarak da indirebilirsiniz
npm i mql5-promise

Söz Örneği :

 #include "timer.mqh"
#include "index.mqh"

void OnInit () {
     new Promise(printAndTimoutResolve, "111" )
        .then(printAndReject, "222" ) // then - önceki söz çözümlenmişse çalıştır
        .ccatch(printAndResolve, "333" ) // ccatch - önceki söz reddedilirse çalıştır
        .ccatch(printAndResolve, "444" )
        .ccatch(printAndResolve, "555" )
        .then(printAndResolve, "666" )
        .finally(printAndResolve, "end" ) // finally - herhangi bir şeyi çalıştır
        .destroy(); // tüm vaatleri yerine getirdikten sonra bu vaatlerin hafızasını temizleyin

     Print ( "start" );

     // printAndTimoutResolve 111 // Yazdırma sonrası zaman aşımı
     // başlangıç
     // printAndReject 222
     // printAndTimoutResolve 333
     // printAndTimoutResolve 666
     // printAndTimoutResolve end
};

void promiseAllResolve( ulong promiseId, string &prevResult[], string parametr) {
     Print ( "promiseAllResolve " + parametr);
};

void printAndTimoutResolve( ulong promiseId, string prevResult, string parametr) {
     Print ( "printAndTimoutResolve " + parametr);
    Timer::setTimout(resolveByIdStr, 2000 , string (promiseId));
};
void resolveByIdStr( string id) { Promise::resolveById( ulong (id)); }

void printAndResolve( ulong promiseId, string prevResult, string parametr) {
     Print ( "printAndResolve " + parametr);
    Promise::resolveById(promiseId);
};

void printAndReject( ulong promiseId, string prevResult, string parametr) {
     Print ( "printAndReject " + parametr);
    Promise::rejectById(promiseId);
};


Örneğin, Promise:all:

 void OnInit () {
    Promise* list1[] = {
         new Promise(printAndTimoutResolve, "Promise 1" )
            .then(printAndTimoutResolve, "Promise 1.1" )
        ,
         new Promise(printAndReject, "Promise 2" ),
         new Promise(printAndTimoutResolve, "Promise 3" ),
    };

    Promise::all(list1, promiseAllResolve) // tüm vaatler çözülürse çözülür
        .then(printAndResolve, "Promise::all resolved" )
        .ccatch(printAndResolve, "Promise::all rejected" )
        .destroy(); // tüm vaatleri sil

     // printAndTimoutResolve Promise 1
     // printAndReject Promise 2
     // printAndTimoutResolve Promise 3
     // printAndResolve Promise::all reddedildi
};


Söz örneği: yarış:

 void OnInit () {
    Promise* list2[] = {
         new Promise(printAndTimoutResolve, "Promise 1" )
            .then(printAndTimoutResolve, "Promise 1.1" )
        ,
         new Promise(printAndReject, "Promise 2" ),
         new Promise(printAndTimoutResolve, "Promise 3" ),
    };

    Promise::race(list2, printAndResolve, "Promise::race" ) // ilk sözden sonra çözümle/reddet
        .then(printAndResolve, "Promise::race resolved" )
        .ccatch(printAndResolve, "Promise::race rejected" )
        .destroy();

     // printAndTimoutResolve Promise 1
     // printAndReject Promise 2
     // printAndTimoutResolve Promise 3
     // Promise::race reddedildi
};



Örneğin, Promise:any:

 void OnInit () {
    Promise* list3[] = {
         new Promise(printAndTimoutResolve, "Promise 1" )
            .then(printAndTimoutResolve, "Promise 1.1" )
        ,
         new Promise(printAndReject, "Promise 2" ),
         new Promise(printAndTimoutResolve, "Promise 3" ),
    };

    Promise::any(list3, printAndResolve, "Promise::any" )
        .then(printAndResolve, "Promise::any resolved" )
        .ccatch(printAndResolve, "Promise::any rejected" )
        .destroy();

     // printAndTimoutResolve Promise 1
     // printAndReject Promise 2
     // printAndTimoutResolve Promise 3
     // printAndResolve Promise::any
     // printAndResolve Promise::any resolved
};



MetaQuotes Ltd tarafından Rusçadan çevrilmiştir.
Orijinal kod: https://www.mql5.com/ru/code/54412

Heiken Ashi Düzleştirilmiş Heiken Ashi Düzleştirilmiş

Standart Heiken Ashi, ancak fiyat zaman serilerinin ortalama değerleri üzerinden hesaplanır.

JFatlSpeed JFatlSpeed

Minimum gecikmeli trend değişim oranı göstergesi.

JFatlAcceleration JFatlAcceleration

JFatlAcceleration göstergesi mevcut trendin ivmesini ölçmek için kullanılır.

Trend_CF Trend_CF

Mevcut trendin gücü ve yönü hakkında basit ve net bir gösterge.