ADXVMA Binary Indicator For MT5

ADXVMA Binary Indicator For MT5

Table Of Contents:

  1. ADXVMA Binary Indicator For MT5
  2. การติดตั้ง ADXVMA Binary Indicator For MT5
  3. พารามิเตอร์ของ ADXVMA Binary Indicator For MT5
  4. บัฟเฟอร์ของ ADXVMA Binary Indicator For MT5
  5. ส่วนหลักของรหัส

ADXVMA Binary Indicator For MT5 เป็นเครื่องมือพิเศษที่กำหนด ADXVMA Binary Indicator For MT5 ด้วยค่า +1 และ ADXVMA Binary Indicator For MT5 ด้วยค่า -1 อย่างไรก็ตามตัวบ่งชี้ไม่ได้ให้ข้อมูลที่แม่นยำเพื่อดำเนินการซื้อขาย เครื่องมือนี้ทำงานได้ดีที่สุดเมื่อคุณใช้การสูญเสียหยุดต่อท้ายเพื่อเพิ่มผลกำไรสูงสุด เนื่องจากข้อมูลตัวบ่งชี้มีความอ่อนไหวต่อการเคลื่อนไหวของราคาเล็กน้อยคุณต้องเรียนรู้การใช้เครื่องมือนี้ในกรอบเวลารายวันและรายสัปดาห์ ไม่ว่าการตั้งค่าการค้านั้นน่าเชื่อถือเพียงใดคุณควรจำกัดความเสี่ยงไว้ที่ 2% ในการซื้อขายแต่ละครั้ง หากจำเป็นให้เปิดบัญชีทดลองเพื่อเรียนรู้การใช้โดยไม่สูญเสียเงินจริง

FREE ADXVMA Binary Indicator

Download the FREE ADXVMA Binary Indicator for MT5.

To receive my email 100% sure: 
Put my email on your whitelist!

 

Partially Automated Trading Besides Your Day Job

Alerts In Real-Time When Divergences Occur

 

การติดตั้ง ADXVMA Binary Indicator For MT5

หลังจากคุณดาวน์โหลดตัวบ่งชี้ผ่านแบบฟอร์มด้านบนคุณจะต้องทำการแตกไฟล์ zip จากนั้นคุณต้องคัดลอกไฟล์ ADXVMA binary.mq5 ลงในโฟลเดอร์ MQL5Indicators ของการติดตั้ง MT5 ของคุณ หลังจากนั้นโปรดรีสตาร์ท MT5 จากนั้นคุณจะเห็นตัวบ่งชี้ในรายการตัวบ่งชี้

พารามิเตอร์ของ ADXVMA Binary Indicator For MT5

กระบวนการ ADXVMA Binary Indicator For MT5 มีพารามิเตอร์ 2 เพื่อกำหนดค่า

input double             inpPeriod = 14;           // Period input ENUM_APPLIED_PRICE inpPrice  = PRICE_MEDIAN; // Price 

บัฟเฟอร์ของ ADXVMA Binary Indicator For MT5

ADXVMA Binary Indicator For MT5 ให้บัฟเฟอร์ 2

SetIndexBuffer(0,val,INDICATOR_DATA); SetIndexBuffer(1,adxvma,INDICATOR_CALCULATIONS); 

ส่วนหลักของรหัส

int OnCalculate(const int rates_total,const int prev_calculated,const datetime &time[],                 const double &open[],                 const double &high[],                 const double &low[],                 const double &close[],                 const long &tick_volume[],                 const long &volume[],                 const int &spread[])   {    if(Bars(_Symbol,_Period) lt rates_total) return(prev_calculated);    for(int i=(int)MathMax(prev_calculated-1,0); i lt rates_total && !IsStopped(); i++)      {       adxvma[i]=iAdxvma(getPrice(inpPrice,open,close,high,low,i,rates_total),inpPeriod,i,rates_total);       val[i] = (i gt 0) ?(adxvma[i] gt adxvma[i-1]) ? 1 :(adxvma[i] lt adxvma[i-1]) ? -1 : val[i-1]: 0;      }    return(rates_total);   } //+------------------------------------------------------------------+ //| Custom functions                                                 | //+------------------------------------------------------------------+ #define _adxVmaInstances 1 #define _adxVmaInstancesSize 7 double  adxvmaWork[][_adxVmaInstances*_adxVmaInstancesSize]; #define _adxvmaWprc 0 #define _adxvmaWpdm 1 #define _adxvmaWmdm 2 #define _adxvmaWpdi 3 #define _adxvmaWmdi 4 #define _adxvmaWout 5 #define _adxvmaWval 6 //+------------------------------------------------------------------+ //|                                                                  | //+------------------------------------------------------------------+ double iAdxvma(double price,double period,int r,int bars,int instanceNo=0)   {    if(ArrayRange(adxvmaWork,0)!=bars) ArrayResize(adxvmaWork,bars); instanceNo*=_adxVmaInstancesSize; // //--- //    adxvmaWork[r][instanceNo+_adxvmaWprc]=price;    if(r lt 1)      {       adxvmaWork[r][instanceNo+_adxvmaWval]=adxvmaWork[r][instanceNo+_adxvmaWprc];       return(adxvmaWork[r][_adxvmaWval]);      } // //--- //    double tpdm = 0;    double tmdm = 0;    double diff = adxvmaWork[r][instanceNo+_adxvmaWprc]-adxvmaWork[r-1][instanceNo+_adxvmaWprc];    if(diff gt 0)       tpdm =  diff;    else  tmdm = -diff;    adxvmaWork[r][instanceNo+_adxvmaWpdm] = ((period-1.0)*adxvmaWork[r-1][instanceNo+_adxvmaWpdm]+tpdm)/period;    adxvmaWork[r][instanceNo+_adxvmaWmdm] = ((period-1.0)*adxvmaWork[r-1][instanceNo+_adxvmaWmdm]+tmdm)/period; // //--- //    double trueRange = adxvmaWork[r][instanceNo+_adxvmaWpdm]+adxvmaWork[r][instanceNo+_adxvmaWmdm];    double tpdi      = 0;    double tmdi      = 0;    if(trueRange gt 0)      {       tpdi = adxvmaWork[r][instanceNo+_adxvmaWpdm]/trueRange;       tmdi = adxvmaWork[r][instanceNo+_adxvmaWmdm]/trueRange;      }    adxvmaWork[r][instanceNo+_adxvmaWpdi] = ((period-1.0)*adxvmaWork[r-1][instanceNo+_adxvmaWpdi]+tpdi)/period;    adxvmaWork[r][instanceNo+_adxvmaWmdi] = ((period-1.0)*adxvmaWork[r-1][instanceNo+_adxvmaWmdi]+tmdi)/period; // //--- //    double tout=0;    if((adxvmaWork[r][instanceNo+_adxvmaWpdi]+adxvmaWork[r][instanceNo+_adxvmaWmdi]) gt 0)       tout=MathAbs(adxvmaWork[r][instanceNo+_adxvmaWpdi]-adxvmaWork[r][instanceNo+_adxvmaWmdi])/(adxvmaWork[r][instanceNo+_adxvmaWpdi]+adxvmaWork[r][instanceNo+_adxvmaWmdi]);    adxvmaWork[r][instanceNo+_adxvmaWout]=((period-1.0)*adxvmaWork[r-1][instanceNo+_adxvmaWout]+tout)/period; // //--- //    double thi = MathMax(adxvmaWork[r][instanceNo+_adxvmaWout],adxvmaWork[r-1][instanceNo+_adxvmaWout]);    double tlo = MathMin(adxvmaWork[r][instanceNo+_adxvmaWout],adxvmaWork[r-1][instanceNo+_adxvmaWout]);    for(int j=2; j lt (int)period && r-j gt =0; j++)      {       thi = MathMax(adxvmaWork[r-j][instanceNo+_adxvmaWout],thi);       tlo = MathMin(adxvmaWork[r-j][instanceNo+_adxvmaWout],tlo);      }    double vi=0; if((thi-tlo) gt 0) vi=(adxvmaWork[r][instanceNo+_adxvmaWout]-tlo)/(thi-tlo); // //--- //    adxvmaWork[r][instanceNo+_adxvmaWval]=((period-vi)*adxvmaWork[r-1][instanceNo+_adxvmaWval]+vi*adxvmaWork[r][instanceNo+_adxvmaWprc])/period;    return(adxvmaWork[r][instanceNo+_adxvmaWval]);   } // //--- // double getPrice(ENUM_APPLIED_PRICE tprice,const double &open[],const double &close[],const double &high[],const double &low[],int i,int _bars)   {    if(i gt =0)       switch(tprice)         {          case PRICE_CLOSE:     return(close[i]);          case PRICE_OPEN:      return(open[i]);          case PRICE_HIGH:      return(high[i]);          case PRICE_LOW:       return(low[i]);          case PRICE_MEDIAN:    return((high[i]+low[i])/2.0);          case PRICE_TYPICAL:   return((high[i]+low[i]+close[i])/3.0);          case PRICE_WEIGHTED:  return((high[i]+low[i]+close[i]+close[i])/4.0);         }    return(0);   } //+------------------------------------------------------------------+ 

 

About Me

I'm Mike Semlitsch the owner of PerfectTrendSystem.com. My trading career started in 2007. Since 2013 I have helped thousands of traders to take their trading to the next level. Many of them are now constantly profitable traders. 

The following performance was achieved by me while trading live in front of hundreds of my clients:

Connect With Me:  

Results From 5 Months!
This service starts soon! Be the first who get's notified when it begins!

This FREE Indicator Can Transform
Your Trading!

FREE Indicator + Telegram Group


Request the Ultimate Double Top/Bottom Indicator which is used by 10,000+ traders.