Indikator Teknis

Cara Membuat Pemberitahuan Harga di MetaTrader 5 dengan Mudah
MetaTrader5
Cara Membuat Pemberitahuan Harga di MetaTrader 5 dengan Mudah

Indikator ini dirancang untuk memahami klik mouse dan tekan tombol pada keyboard, dengan tujuan membuat pemberitahuan pada harga yang belum tercapai oleh pasar. Ini sangat berguna untuk memberi tahu Anda ketika harga melewati nilai tertentu. Indikator ini dapat digunakan untuk memvalidasi teori dalam sistem trading atau memberi tahu ketika harga kunci pasar telah tercapai. 1. Setelah memuat indikator di grafik, Anda perlu mengatur apakah ingin membuat pemberitahuan bearish atau bullish sesuai kebutuhan. Anda juga bisa mengubah zona waktu untuk pemberitahuan tersebut. Secara default, perangkat lunak ini menggunakan GMT+3. Anda dapat mengubahnya menjadi GMT, GMT+1, atau GMT+2. 2. Anda punya pilihan untuk membuat pemberitahuan dasar dengan jendela pemberitahuan, pemberitahuan push yang akan muncul di aplikasi MT5 mobile, atau pemberitahuan melalui email. 3. Untuk membuat pemberitahuan, cukup klik kiri pada grafik. Di tempat Anda mengklik, pemberitahuan akan dibuat. Setelah dibuat, pemberitahuan akan terkunci. 4. Jika Anda ingin mengubah posisi pemberitahuan, tekan tombol panah atas pada keyboard, dan pemberitahuan akan terbuka kembali. Anda sekarang bisa mengklik di tempat lain di grafik untuk mengubah posisi pemberitahuan. 5. Untuk mengatur ulang pemberitahuan, buka jendela indikator dan atur apakah Anda ingin pemberitahuan bearish atau bullish, tekan kembali tombol panah atas untuk membukanya, dan klik pada grafik untuk menguncinya di tempat baru. Pemberitahuan didasarkan pada harga yang melewati harga yang diharapkan di masa depan Tujuan dari jenis pemberitahuan ini adalah untuk memvalidasi asumsi Anda mengenai arah pasar Jenis pemberitahuan "harga melewati nilai" ini sudah dapat dibuat di platform TradingView tetapi belum di MetaTrader EDIT: Versi terbaru (versi 1.01) tidak memerlukan Anda untuk mengatur apakah itu pemberitahuan bearish atau bullish, melainkan menerapkan logika untuk fokus pada crossover di ambang harga. Jika Anda menyukainya, pertimbangkan untuk memberi sumbangan! https://www.paypal.com/paypalme/fxcalculator

2024.05.11
Menggali Geometric Moving Average: Indikator Cerdas untuk MetaTrader 5
MetaTrader5
Menggali Geometric Moving Average: Indikator Cerdas untuk MetaTrader 5

Halo, para trader! Hari ini kita akan membahas tentang Geometric Moving Average yang bisa kalian gunakan di MetaTrader 5. Indikator ini bisa jadi senjata ampuh buat analisis trading kalian. Pengertian Geometric Mean Menurut beberapa referensi, dalam matematika, geometric mean adalah rata-rata yang menunjukkan kecenderungan sentral dari sekumpulan angka real dengan menggunakan produk nilai-nilai tersebut. Berbeda dengan rata-rata aritmetika yang menggunakan jumlahnya. Geometric mean sering digunakan untuk kumpulan angka yang nilainya harus dikalikan, seperti angka pertumbuhan populasi manusia atau suku bunga investasi finansial seiring waktu. Ini juga sangat berguna dalam benchmarking, terutama untuk menghitung rata-rata rasio percepatan. Misalnya, jika kita punya kecepatan 0.5x (setengah cepat) dan 2x (dua kali lebih cepat), rata-ratanya akan menjadi 1 (artinya tidak ada percepatan secara keseluruhan). Geometric mean lebih tepat dibandingkan dengan rata-rata aritmetika dalam mendeskripsikan pertumbuhan proporsional, baik itu pertumbuhan eksponensial (pertumbuhan proporsional konstan) maupun pertumbuhan yang bervariasi. Dalam dunia bisnis, geometric mean dari tingkat pertumbuhan dikenal sebagai Compound Annual Growth Rate (CAGR). Ini memberikan kita tingkat pertumbuhan konstan yang akan menghasilkan jumlah akhir yang sama. Jadi, untuk kalian yang ingin memaksimalkan strategi trading dengan menggunakan Geometric Moving Average, jangan ragu untuk mencoba! Semoga informasi ini bermanfaat dan bisa membantu kalian dalam meraih profit di pasar.

2024.04.28
Bollinger Bands Kustom untuk MetaTrader 5: Panduan Lengkap
MetaTrader5
Bollinger Bands Kustom untuk MetaTrader 5: Panduan Lengkap

Halo, trader! Kali ini kita akan membahas tentang indikator Bollinger Bands kustom yang saya kembangkan untuk MetaTrader 5. Indikator ini memberikan alternatif dari metode rata-rata bergerak standar yang hanya tersedia dalam metode 'simple'. Dengan indikator ini, kamu bisa memilih dari beberapa metode tambahan seperti Exponential, Smoothed, dan Linear Weighted. Untuk menggunakan indikator ini, kamu perlu menempatkannya di direktori berikut (di Windows): C:\Users\namapengguna\AppData\Roaming\MetaQuotes\Terminal\Indicators\Examples Fitur tambahan: Indikator ini diatur ke nol secara default: Berikut adalah contoh penggunaan dengan metode Linear Weighted:    KODE: //+------------------------------------------------------------------+ //|                                              BBPersonalizada.mq5 | //|                                            Lucas Vidal | //|                                                       https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright   "Lucas Vidal" #property link        "https://www.mql5.com/en/users/lucasmoura00" #property description "Bollinger Bands Personalizada" #include <MovingAverages.mqh> //--- #property indicator_chart_window #property indicator_buffers 4 #property indicator_plots   3 #property indicator_type1   DRAW_LINE #property indicator_color1  LightSeaGreen #property indicator_type2   DRAW_LINE #property indicator_color2  LightSeaGreen #property indicator_type3   DRAW_LINE #property indicator_color3  LightSeaGreen #property indicator_label1  "Bands middle" #property indicator_label2  "Bands upper" #property indicator_label3  "Bands lower" //--- input parameters enum MovingAverageMethod {     Simple,    // 0     Exponential,  // 1     Smoothed,     // 2     LinearWeighted  // 3 }; input MovingAverageMethod InpMaMethod = Simple; // Metode Rata-rata Bergerak input int     InpBandsPeriod=20;       // Periode input int     InpBandsShift=0         // Pergeseran input double  InpBandsDeviations=2.0  // Deviasi //--- variabel global int           ExtBandsPeriod,ExtBandsShift; double        ExtBandsDeviations; int           ExtPlotBegin=0; //--- buffer indikator double        ExtMLBuffer[]; double        ExtTLBuffer[]; double        ExtBLBuffer[]; double        ExtStdDevBuffer[]; //+------------------------------------------------------------------+ //| Inisialisasi indikator kustom                         | //+------------------------------------------------------------------+ void OnInit()   { //--- memeriksa nilai input    if(InpBandsPeriod<2)      {       ExtBandsPeriod=20;       PrintFormat("Nilai input InpBandsPeriod tidak benar=%d. Indikator akan menggunakan nilai=%d untuk perhitungan.",InpBandsPeriod,ExtBandsPeriod);      }    else       ExtBandsPeriod=InpBandsPeriod;    if(InpBandsShift<0)      {       ExtBandsShift=0;       PrintFormat("Nilai input InpBandsShift tidak benar=%d. Indikator akan menggunakan nilai=%d untuk perhitungan.",InpBandsShift,ExtBandsShift);      }    else       ExtBandsShift=InpBandsShift;    if(InpBandsDeviations==0.0)      {       ExtBandsDeviations=2.0;       PrintFormat("Nilai input InpBandsDeviations tidak benar=%f. Indikator akan menggunakan nilai=%f untuk perhitungan.",InpBandsDeviations,ExtBandsDeviations);      }    else       ExtBandsDeviations=InpBandsDeviations; //--- mendefinisikan buffer    SetIndexBuffer(0,ExtMLBuffer);    SetIndexBuffer(1,ExtTLBuffer);    SetIndexBuffer(2,ExtBLBuffer);    SetIndexBuffer(3,ExtStdDevBuffer,INDICATOR_CALCULATIONS); //--- set label indeks    PlotIndexSetString(0,PLOT_LABEL,"Bands("+string(ExtBandsPeriod)+") Middle");    PlotIndexSetString(1,PLOT_LABEL,"Bands("+string(ExtBandsPeriod)+") Upper");    PlotIndexSetString(2,PLOT_LABEL,"Bands("+string(ExtBandsPeriod)+") Lower"); //--- nama indikator    IndicatorSetString(INDICATOR_SHORTNAME,"Bollinger Bands"); //--- pengaturan awal untuk menggambar indeks    ExtPlotBegin=ExtBandsPeriod-1;    PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,ExtBandsPeriod);    PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,ExtBandsPeriod);    PlotIndexSetInteger(2,PLOT_DRAW_BEGIN,ExtBandsPeriod); //--- pengaturan pergeseran indeks    PlotIndexSetInteger(0,PLOT_SHIFT,ExtBandsShift);    PlotIndexSetInteger(1,PLOT_SHIFT,ExtBandsShift);    PlotIndexSetInteger(2,PLOT_SHIFT,ExtBandsShift); //--- jumlah digit dari nilai indikator    IndicatorSetInteger(INDICATOR_DIGITS,_Digits+1);   } //+------------------------------------------------------------------+ //| Hitung Rata-rata Bergerak                                         | //+------------------------------------------------------------------+ double CalculateMovingAverage(int position, int period, const double &price[]) {     switch(InpMaMethod) {         case Simple:             return SimpleMA(position, period, price);         case Exponential:             // Memperbaiki pemanggilan fungsi iMA dengan parameter yang benar             return iMA(NULL, 0, period, 0, MODE_EMA, PRICE_CLOSE);         case Smoothed:             // Implementasikan fungsi SMMA di sini             break;         case LinearWeighted:             return LinearWeightedMA(position, period, price);     }     return 0; // Retur default jika metode tidak terdefinisi } //+------------------------------------------------------------------+ //| Bollinger Bands                                                  | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total,                 const int prev_calculated,                 const int begin,                 const double &price[])   {    if(rates_total<ExtPlotBegin)       return(0); //--- pengaturan awal untuk menggambar indeks, ketika kita menerima awal sebelumnya    if(ExtPlotBegin!=ExtBandsPeriod+begin)      {       ExtPlotBegin=ExtBandsPeriod+begin;       PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,ExtPlotBegin);       PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,ExtPlotBegin);       PlotIndexSetInteger(2,PLOT_DRAW_BEGIN,ExtPlotBegin);      } //--- mulai perhitungan    int pos;    if(prev_calculated>1)       pos=prev_calculated-1;    else       pos=0; //--- siklus utama    for(int i=pos; i<rates_total && !IsStopped(); i++)      {       //--- garis tengah       ExtMLBuffer[i]=CalculateMovingAverage(i, ExtBandsPeriod, price);       //--- hitung dan tulis StdDev       ExtStdDevBuffer[i]=StdDev_Func(i,price,ExtMLBuffer,ExtBandsPeriod);       //--- garis atas       ExtTLBuffer[i]=ExtMLBuffer[i]+ExtBandsDeviations*ExtStdDevBuffer[i];       //--- garis bawah       ExtBLBuffer[i]=ExtMLBuffer[i]-ExtBandsDeviations*ExtStdDevBuffer[i];      } //--- OnCalculate selesai. Kembalikan prev_calculated yang baru.    return(rates_total);   } //+------------------------------------------------------------------+ //| Hitung Deviasi Standar                                     | //+------------------------------------------------------------------+ double StdDev_Func(const int position,const double &price[],const double &ma_price[],const int period)   {    double std_dev=0.0; //--- hitung StdDev    if(position>=period)      {       for(int i=0; i<period; i++)          std_dev+=MathPow(price[position-i]-ma_price[position],2.0);       std_dev=MathSqrt(std_dev/period);      } //--- kembalikan nilai yang dihitung    return(std_dev);   } //+------------------------------------------------------------------+

2024.04.28
iForexSessions: Indikator Sesi Forex untuk MetaTrader 5
MetaTrader5
iForexSessions: Indikator Sesi Forex untuk MetaTrader 5

Indikator Sesi ForexMenyoroti Sesi Pasar ForexIndikator ini mengikuti jam perdagangan lokal "jam dinding" dari pukul 08:00 hingga 17:00 di masing-masing pasar Forex, kecuali di Sydney yang dimulai pukul 07:00 hingga 16:00 atau 09:00 hingga 18:00.Fitur Unggulan:Menggambar persegi panjang berwarna untuk sesi pasar forex (Sydney, Tokyo, London, New York).Waktu sesi yang akurat pada pasangan Forex dan grafik emas (perdagangan pasangan Forex dimulai pukul 17:00 NY. Emas dimulai satu jam kemudian).Indikator ini menghormati offset GMT + waktu musim panas untuk server broker, serta zona waktu yang berlaku.Perhitungan waktu indikator dilakukan menggunakan TimeZoneInfo library.Jam broker tambahan (di sudut kiri bawah) dengan informasi berguna:waktu serveroffset GMT brokerwaktu tersisa hingga akhir pekan (agar bisa menutup posisi terbuka atau menghindari membuka posisi baru sebelum akhir pekan).Status sinkronisasi waktu komputer lokal. Sebagai petunjuk untuk memeriksa https://time.is/ jika waktu PC tidak tersinkronisasi.Dengan memindahkan kursor mouse pada bar grafik sambil menekan tombol 'Ctrl': nomor bar dan waktu (serta waktu yang sesuai di pasar Forex utama) akan ditampilkan di jendela grafik untuk debugging. Parameter Input:Parameter: "Load XAUUSD simbol untuk estimasi TZ/DST server"Secara default, indikator ini akan mencari dan memuat simbol XAUUSD untuk memperkirakan offset zona waktu server. XAUUSD dapat memberikan hasil yang lebih dapat diandalkan (terutama untuk broker yang mengikuti jadwal EU DST) pada minggu-minggu ketika jadwal DST AS dan DST EU tidak sinkron (Maret dan akhir Oktober). Opsional, jika broker Anda mengikuti jadwal DST AS, atau tidak memiliki jadwal sama sekali, maka menggunakan simbol grafik juga bisa diterima. Set parameter ini ke 'false' untuk menggunakan simbol grafik saat ini, bukan XAUUSD.Untuk menentukan jadwal daylight (DST) broker Anda, Anda dapat menggunakan skrip inihttps://www.mql5.com/en/code/48650Catatan:Sebagai efek samping, XAUUSD dimulai satu jam setelah Forex, sehingga peralihan dst akan terjadi satu jam kemudian (hanya di penguji strategi, dan tidak dalam mode normal).Fitur Bonus: Memindahkan kursor mouse pada bar grafik sambil menekan tombol 'Ctrl'nomor bar # dan waktunya (serta waktu yang sesuai di pasar Forex utama) akan ditampilkan di jendela grafik untuk debugging.Untuk menghapus info debug dari grafik, cukup klik mouse di mana saja di grafik (tanpa menekan tombol 'Ctrl').Indikator sesi pasar lainnya:Market_Sessionsi-SessionsTrading Sessions Open - CloseIdentifikasi sesi pasar ForexSemua indikator di atas (dan hampir semua indikator lainnya di basis kode) menggunakan offset tetap yang sudah ditetapkan untuk zona waktu dan tidak mempertimbangkan DST di server broker atau zona waktu. Ini tidak akurat karena waktu sesi memang berubah sepanjang tahun, baik karena 1) broker mengubah zona waktunya ke DST atau 2) satu atau lebih pasar forex utama mengubah zona waktu DST-nya.PEMBERITAHUAN: Indikator ini telah dikonfirmasi berfungsi pada daftar broker berikut (yang memiliki jadwal perdagangan yang berbeda, offset GMT, dan jadwal DST musim panas yang berbeda):Admirals MarketsFxProRannForexEXNESSFXOpenIC MarketsOcta MarketsTickmillXM GlobalIndikator ini juga seharusnya berfungsi dengan benar pada broker lainnya.Catatan tentang Kompatibilitas dengan Penguji StrategiSelama pengujian di penguji strategi, TimeGMT() selalu sama dengan TimeTradeServer() waktu server yang disimulasikan.Library TimeZoneInfo memperkirakan waktu yang tepat dalam zona waktu berdasarkan "GMT" yang sebenarnya dengan menganalisis sejarah kutipan H1, dan bukan berdasarkan waktu yang dikembalikan dengan memanggil fungsi TimeGMT bawaan.Jika parameter input "Load XAUUSD simbol untuk estimasi TZ/DST server" diatur ke TRUE: maka peralihan dst dapat terjadi satu jam kemudian di penguji strategi.

2024.03.26
Awal Sebelumnya 6 7 8 9 10 11 12 13 14 15 16 Berikutnya Akhir