iDeMarkerSignAlert: Indikator Canggih untuk MetaTrader 5

Mike 2016.07.20 23:43 14 0 0
Lampiran

Indikator sinyal panah semaphore ini didasarkan pada osilator DeMarker klasik yang membantu kita mengidentifikasi area overbought dan oversold. Fitur utama dari indikator ini adalah kemampuan untuk memberikan notifikasi, mengirim email, serta push-notifikasi ke perangkat mobile.

Pada versi terbaru indikator ini, terdapat beberapa perubahan pada kode untuk mengimplementasikan notifikasi, pesan email, dan push-notifikasi:

  1. Menambahkan parameter input baru:
    input uint JumlahBar=1;// Nomor bar untuk sinyal
    input bool SuaraON=true; // Aktifkan notifikasi
    input uint JumlahNotifikasi=2;// Jumlah notifikasi
    input bool EmailON=false; // Aktifkan pengiriman sinyal melalui email
    input bool PushON=false; // Aktifkan pengiriman sinyal ke perangkat mobile
    
  2. Menambahkan tiga fungsi baru di akhir kode indikator: BuySignal(), SellSignal(), dan GetStringTimeframe():
    // Fungsi sinyal beli
    void BuySignal(string NamaSinyal, double &BuyArrow[], const int JumlahTotal, const int Prev_calculated, const double &Close[], const int &Spread[]) {
        static uint counter=0;
        if(JumlahTotal!=Prev_calculated) counter=0;
    
        bool BuySignal=false;
        bool SeriesTest=ArrayGetAsSeries(BuyArrow);
        int index;
        if(SeriesTest) index=int(JumlahBar);
        else index=JumlahTotal-int(JumlahBar)-1;
        if(NormalizeDouble(BuyArrow[index],_Digits) && BuyArrow[index]!=EMPTY_VALUE) BuySignal=true;
        if(BuySignal && counter<=JumlahNotifikasi) {
            counter++;
            MqlDateTime tm;
            TimeToStruct(TimeCurrent(),tm);
            string text=TimeToString(TimeCurrent(),TIME_DATE)+" "+string(tm.hour)+":"+string(tm.min);
    
            double Ask=Close[index];
            double Bid=Close[index];
    
            if(SuaraON) Alert("SINYAL BELI 
     Ask=",Ask,"
     Bid=",Bid,"
     waktu saat ini=",text);
        }
    }
    
  3. Menambahkan beberapa panggilan untuk fungsi BuySignal() dan SellSignal() setelah siklus perhitungan indikator di blok OnCalculate():
    BuySignal("iWPRSign", BuyBuffer, rates_total, prev_calculated, close, spread);
    SellSignal("iWPRSign", SellBuffer, rates_total, prev_calculated, close, spread);
    

Dimana BuyBuffer dan SellBuffer adalah nama buffer indikator untuk menyimpan sinyal beli dan jual. Nilai kosong dalam buffer indikator baik nol atau EMPTY_VALUE harus ditentukan.

Disarankan untuk hanya menggunakan satu panggilan fungsi BuySignal() dan SellSignal() dalam blok OnCalculate() dari kode indikator.

Gambar 1. Indikator iDeMarkerSignAlert pada grafik

Gambar 1. Indikator iDeMarkerSignAlert pada grafik

Gambar 2. Indikator iDeMarkerSignAlert menghasilkan notifikasi

Gambar 2. Indikator iDeMarkerSignAlert. Menghasilkan notifikasi.

Daftar
Komentar 0