Indikator Teknikal

Cara Menggunakan Indikator Pemberitahuan Harga di MetaTrader 5
MetaTrader5
Cara Menggunakan Indikator Pemberitahuan Harga di MetaTrader 5

Pernah tak anda terfikir untuk mendapatkan pemberitahuan bila harga pasaran mencapai tahap tertentu? Dengan menggunakan indikator ini, anda boleh mencipta pemberitahuan pada harga yang belum dicapai oleh pasaran. Ia sangat berguna untuk mendapatkan notifikasi apabila harga melintasi nilai tertentu. Anda boleh menggunakannya untuk mengesahkan teori dalam sistem trading anda atau untuk mendapatkan alert apabila harga penting pasaran telah dicapai. 1. Selepas anda memuatkan indikator pada carta, anda boleh mengatur sama ada untuk memberi amaran bearish atau bullish bergantung kepada keperluan anda. Anda juga boleh menukar zon waktu untuk amaran tersebut. Perisian ini menggunakan GMT+3 secara lalai. Anda boleh menukarnya kepada GMT, GMT+1, atau GMT+2. 2. Anda mempunyai pilihan untuk membuat amaran asas dengan tetingkap amaran, amaran push notification yang akan memberi notifikasi pada aplikasi MT5 mobile, atau amaran melalui email. 3. Untuk mencipta amaran, hanya klik kiri pada carta. Di tempat anda klik, amaran akan dicipta. Amaran akan terkunci selepas ia dicipta. 4. Jika anda ingin mengubah kedudukan amaran, tekan butang anak panah atas pada papan kekunci, dan amaran tersebut tidak lagi terkunci. Anda kini boleh mengklik tempat lain pada carta untuk mengubah kedudukan amaran. 5. Untuk menetapkan semula amaran, anda boleh membuka tetingkap indikator dan mengatur sama ada anda memerlukan amaran bearish atau bullish. Tekan butang anak panah atas pada papan kekunci untuk membukanya, dan klik pada carta untuk mengunci semula amaran tersebut. Amaran adalah berdasarkan harga yang melintasi harga yang diharapkan pada masa depan. Tujuan amaran ini adalah untuk mengesahkan andaian tentang arah pasaran. Amaran jenis "melintasi nilai harga" ini boleh dibuat di platform TradingView tetapi tidak di MetaTrader. EDIT: Versi terkini (versi 1.01) tidak memerlukan anda untuk mengatur sama ada ia amaran bearish atau bullish, ia menggunakan logik untuk memberi tumpuan hanya pada persilangan pada ambang harga. Jika anda menyukainya, pertimbangkan untuk menderma sedikit! https://www.paypal.com/paypalme/fxcalculator

2024.05.11
CCI dengan Saluran Dinamik - Indikator untuk MetaTrader 4
MetaTrader4
CCI dengan Saluran Dinamik - Indikator untuk MetaTrader 4

Hai rakan-rakan trader! Hari ini kita akan membincangkan tentang indikator CCI (Commodity Channel Index) yang digabungkan dengan saluran dinamik. Indikator ini boleh jadi alat yang sangat berguna dalam strategi trading anda di MetaTrader 4. Apa Itu CCI? CCI adalah indikator yang digunakan untuk mengukur kekuatan dan arah trend. Ia membantu trader mengenal pasti bila pasaran dalam keadaan overbought atau oversold. Dengan menggunakan CCI, anda dapat melihat potensi pembalikan harga yang mungkin berlaku. Saluran Dinamik Saluran dinamik pula berfungsi untuk menunjukkan tahap sokongan dan rintangan. Apabila anda menggabungkan CCI dengan saluran dinamik, ia memberikan gambaran yang lebih jelas tentang keadaan pasaran. Anda boleh membuat keputusan yang lebih bijak ketika berdagang. Bagaimana Menggunakan CCI dengan Saluran Dinamik? Analisis CCI: Perhatikan bacaan CCI. Jika ia melebihi +100, pasaran mungkin berada dalam keadaan overbought. Sebaliknya, jika ia jatuh di bawah -100, ia menunjukkan keadaan oversold. Perhatikan Saluran: Lihat bagaimana harga berinteraksi dengan saluran dinamik. Jika harga menyentuh saluran bawah, ia boleh menjadi isyarat untuk membeli. Jika menyentuh saluran atas, ia mungkin isyarat untuk menjual. Gunakan Bersama Strategi Lain: Jangan bergantung sepenuhnya kepada CCI dan saluran dinamik. Selalu padukan dengan analisis lain seperti analisis candlestick dan berita ekonomi untuk memastikan keputusan anda adalah tepat. Dengan memanfaatkan CCI bersama saluran dinamik, anda boleh meningkatkan peluang kejayaan dalam trading. Jangan lupa untuk sentiasa menguji strategi anda di akaun demo sebelum menerapkannya di akaun sebenar. Selamat berdagang!

2024.05.04
Menggunakan Geometric Moving Average dalam Trading MetaTrader 5
MetaTrader5
Menggunakan Geometric Moving Average dalam Trading MetaTrader 5

Hai rakan-rakan trader! Hari ini kita akan membincangkan tentang Geometric Moving Average (GMA) yang boleh digunakan dalam platform MetaTrader 5. Sebelum kita melangkah lebih jauh, mari kita fahami apa itu GMA dan bagaimana ia boleh membantu kita dalam membuat keputusan trading yang lebih baik.Menurut sumber yang boleh dipercayai, geometric mean adalah purata yang menunjukkan kecenderungan pusat bagi set nombor sebenar dengan menggunakan hasil nilai-nilai tersebut. Berbeza dengan purata aritmetik, yang menggunakan jumlah, GMA lebih sesuai digunakan untuk set nombor yang nilai-nilainya perlu dikalikan bersama atau bersifat eksponen.Contohnya, GMA sering digunakan untuk menganalisis data pertumbuhan seperti kadar faedah pelaburan atau pertumbuhan populasi dari masa ke masa. Ia juga berguna dalam penanda aras, di mana ia membantu kita mengira purata nisbah kelajuan. Misalnya, jika kita mempunyai dua kelajuan, 0.5x dan 2x, purata GMA akan menunjukkan 1, yang bermakna tiada kelajuan yang lebih baik secara keseluruhan.Dalam dunia perniagaan, GMA merupakan cara yang lebih sesuai untuk menggambarkan pertumbuhan berkadar, sama ada pertumbuhan eksponen atau pertumbuhan yang berbeza-beza. GMA kadar pertumbuhan dikenali sebagai Compound Annual Growth Rate (CAGR). Ia memberikan kita kadar pertumbuhan tetap yang sepadan dengan jumlah akhir yang sama.Dengan pemahaman ini, kita boleh mengaplikasikan GMA dalam analisis teknikal kita. Jadi, mari kita teruskan belajar dan gunakan GMA untuk meningkatkan strategi trading kita!

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

Saya telah membangunkan indikator ini sebagai alternatif kepada kaedah purata bergerak yang standard dalam indikator Bollinger Bands MetaTrader 5, yang hanya menawarkan kaedah 'simple'. Dengan indikator saya ini, pengguna mempunyai pilihan untuk memilih daripada kaedah tambahan termasuk Exponential, Smoothed, dan Linear Weighted. Untuk menggunakan indikator ini, anda perlu meletakkannya dalam direktori (pada Windows) yang menyerupai laluan berikut: C:\Users\[NamaPengguna]\AppData\Roaming\MetaQuotes\Terminal\Indicators\Examples Ciri tambahan: Indikator ini ditetapkan kepada sifar secara lalai: Contoh pelaksanaan memilih purata Linear Weighted:    KOD: //+------------------------------------------------------------------+ //|                                              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 parametrs enum MovingAverageMethod {     Simple,    // 0     Exponential,  // 1     Smoothed,     // 2     LinearWeighted  // 3 }; input MovingAverageMethod InpMaMethod = Simple; // Método da Média Móvel input int     InpBandsPeriod=20;       // Period input int     InpBandsShift=0;         // Shift input double  InpBandsDeviations=2.0  // Deviation //--- global variables int           ExtBandsPeriod,ExtBandsShift; double        ExtBandsDeviations; int           ExtPlotBegin=0; //--- indicator buffer double        ExtMLBuffer[]; double        ExtTLBuffer[]; double        ExtBLBuffer[]; double        ExtStdDevBuffer[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function                         | //+------------------------------------------------------------------+ void OnInit()   { //--- check for input values    if(InpBandsPeriod<2)      {       ExtBandsPeriod=20;       PrintFormat("Incorrect value for input variable InpBandsPeriod=%d. Indicator will use value=%d for calculations.",InpBandsPeriod,ExtBandsPeriod);      }    else       ExtBandsPeriod=InpBandsPeriod;    if(InpBandsShift<0)      {       ExtBandsShift=0;       PrintFormat("Incorrect value for input variable InpBandsShift=%d. Indicator will use value=%d for calculations.",InpBandsShift,ExtBandsShift);      }    else       ExtBandsShift=InpBandsShift;    if(InpBandsDeviations==0.0)      {       ExtBandsDeviations=2.0;       PrintFormat("Incorrect value for input variable InpBandsDeviations=%f. Indicator will use value=%f for calculations.",InpBandsDeviations,ExtBandsDeviations);      }    else       ExtBandsDeviations=InpBandsDeviations; //--- define buffers    SetIndexBuffer(0,ExtMLBuffer);    SetIndexBuffer(1,ExtTLBuffer);    SetIndexBuffer(2,ExtBLBuffer);    SetIndexBuffer(3,ExtStdDevBuffer,INDICATOR_CALCULATIONS); //--- set index labels    PlotIndexSetString(0,PLOT_LABEL,"Bands("+string(ExtBandsPeriod)+") Middle");    PlotIndexSetString(1,PLOT_LABEL,"Bands("+string(ExtBandsPeriod)+") Upper");    PlotIndexSetString(2,PLOT_LABEL,"Bands("+string(ExtBandsPeriod)+") Lower"); //--- indicator name    IndicatorSetString(INDICATOR_SHORTNAME,"Bollinger Bands"); //--- indexes draw begin settings    ExtPlotBegin=ExtBandsPeriod-1;    PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,ExtBandsPeriod);    PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,ExtBandsPeriod);    PlotIndexSetInteger(2,PLOT_DRAW_BEGIN,ExtBandsPeriod); //--- indexes shift settings    PlotIndexSetInteger(0,PLOT_SHIFT,ExtBandsShift);    PlotIndexSetInteger(1,PLOT_SHIFT,ExtBandsShift);    PlotIndexSetInteger(2,PLOT_SHIFT,ExtBandsShift); //--- number of digits of indicator value    IndicatorSetInteger(INDICATOR_DIGITS,_Digits+1);   } //+------------------------------------------------------------------+ //| Calculate Moving Average                                         | //+------------------------------------------------------------------+ double CalculateMovingAverage(int position, int period, const double &price[]) {     switch(InpMaMethod) {         case Simple:             return SimpleMA(position, period, price);         case Exponential:             // Corrigindo a chamada da função iMA com os parâmetros corretos             return iMA(NULL, 0, period, 0, MODE_EMA, PRICE_CLOSE);         case Smoothed:             // Implemente sua função SMMA aqui             break;         case LinearWeighted:             return LinearWeightedMA(position, period, price);     }     return 0; // Retorno padrão em caso de método indefinido } //+------------------------------------------------------------------+ //| Bollinger Bands                                                  | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total,                 const int prev_calculated,                 const int begin,                 const double &price[])   {    if(rates_total<ExtPlotBegin)       return(0); //--- indexes draw begin settings, when we've recieved previous begin    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);      } //--- starting calculation    int pos;    if(prev_calculated>1)       pos=prev_calculated-1;    else       pos=0; //--- main cycle    for(int i=pos; i<rates_total && !IsStopped(); i++)      {       //--- middle line       ExtMLBuffer[i]=CalculateMovingAverage(i, ExtBandsPeriod, price);       //--- calculate and write down StdDev       ExtStdDevBuffer[i]=StdDev_Func(i,price,ExtMLBuffer,ExtBandsPeriod);       //--- upper line       ExtTLBuffer[i]=ExtMLBuffer[i]+ExtBandsDeviations*ExtStdDevBuffer[i];       //--- lower line       ExtBLBuffer[i]=ExtMLBuffer[i]-ExtBandsDeviations*ExtStdDevBuffer[i];      } //--- OnCalculate done. Return new prev_calculated.    return(rates_total);   } //+------------------------------------------------------------------+ //| Calculate Standard Deviation                                     | //+------------------------------------------------------------------+ double StdDev_Func(const int position,const double &price[],const double &ma_price[],const int period)   {    double std_dev=0.0; //--- calcualte 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);      } //--- return calculated value    return(std_dev);   } //+------------------------------------------------------------------+

2024.04.28
Pertama Sebelumnya 11 12 13 14 15 16 17 18 19 20 21 Seterusnya Terakhir