FiboPivot_V2 Indicator For MT5
Table Of Contents:
- FiboPivot_V2 Indicator For MT5
- Installing the FiboPivot_V2 Indicator For MT5
- Parameters of the FiboPivot_V2 Indicator For MT5
- Buffers of the FiboPivot_V2 Indicator For MT5
- Main Parts Of The Code
The FiboPivot_V2 Indicator For MT5 is an outstanding technical trading tool to use because what it does is that it automatically draws the pivot point levels using the Fibonaacci ratios thus given traders a sound and potentially highly profitable trading environment for which to analyse and operate in. Pivot points are very important when it comes to defining certain levels in the markets because these levels act as highly relevant support and resistance zones in the markets which the market adheres to most often therefore relieving traders from the laborious task of drawing their own resistance and support levels. Fibonacci ratios are are also imperative when it comes to formulating highly relevant support and resistance levels in the markets which trading assets adhere to most often - so it makes this indicator a robust and reliable resource to have when it comes to having key and strong support and resistance zones being drawn automatically for all traders. Essentially at any give point in time there are always a total of seven lines being displayed relative to the Pivot points indicator - the fundamental pivot line is colored in purple, then the support lines are found below the main pivot line which are colored red whereas the three green resistance pivot lines are found above the main purple pivot line.
Installing the FiboPivot_V2 Indicator For MT5
After you downloaded the indicator via the form above you need to unzip the zip-file. Then you need to copy the file fibopivot_v2.mq5 into the folder MQL5\Indicators of your MT5 installation. After that please restart MT5 and then you will be able to see the indicator in the list of indicators.
Parameters of the FiboPivot_V2 Indicator For MT5
The FiboPivot_V2 Indicator For MT5 has 22 parameters to configure.
input color Color_R3 = MediumSeaGreen; //Color of the R3 level input color Color_R2 = MediumSeaGreen; //Color of the R2 level input color Color_R1 = MediumSeaGreen; //Color of the R1 level input color Color_P = DarkOrchid; //Color of the P level input color Color_S1 = Red; //Color of the S1 level input color Color_S2 = Red; //Color of the S2 level input color Color_S3 = Red; //Color of the S3 level input STYLE Style_R3 = DASHDOTDOT_; //Line style of the R3 level input STYLE Style_R2 = SOLID_; //Line style of the R2 level input STYLE Style_R1 = SOLID_; //Line style of the R1 level input STYLE Style_P = DASH_; //Line style of the P level input STYLE Style_S1 = SOLID_; //Line style of the S1 level input STYLE Style_S2 = SOLID_; //Line style of the S2 level input STYLE Style_S3 = DASHDOTDOT_; //Line style of the S3 level input Width Width_R3 = Width_1; //The width of the R3 level input Width Width_R2 = Width_3; //The width of the R2 level input Width Width_R1 = Width_1; //The width of the R1 level input Width Width_P = Width_1; //The width of the P level input Width Width_S1 = Width_1; //The width of the S1 level input Width Width_S2 = Width_3; //The width of the S2 level input Width Width_S3 = Width_1; //The width of the S3 level input uint TextSize=8;
Buffers of the FiboPivot_V2 Indicator For MT5
The FiboPivot_V2 Indicator For MT5 provides 0 buffers.
Main Parts Of The Code
int OnCalculate( const int rates_total, // amount of history in bars at the current tick const int prev_calculated,// amount of history in bars at the previous tick const datetime &time[], const double &open[], const double& high[], // price array of maximums of price for the calculation of indicator const double& low[], // price array of price lows for the indicator calculation const double &close[], const long &tick_volume[], const long &volume[], const int &spread[] ) { //---- if(_Period gt =PERIOD_D1) return(0); //---- declarations of static variables static double yesterday_high,yesterday_low,yesterday_close; static double P,R,S1,R1,S2,R2,S3,R3; //---- indexing elements in arrays as in timeseries ArraySetAsSeries(time,true); if(prev_calculated!=rates_total) { //---- declaration of local variables int copy; double iClose[],iHigh[],iLow[]; datetime iTime[]; //---- indexing elements in arrays as in timeseries ArraySetAsSeries(iTime,true); ArraySetAsSeries(iClose,true); ArraySetAsSeries(iHigh,true); ArraySetAsSeries(iLow,true); copy=5; if(CopyTime(NULL,PERIOD_D1,0,copy,iTime) lt copy)return(0); if(CopyClose(NULL,PERIOD_D1,0,copy,iClose) lt copy)return(0); if(CopyHigh(NULL,PERIOD_D1,0,copy,iHigh) lt copy)return(0); if(CopyLow(NULL,PERIOD_D1,0,copy,iLow) lt copy)return(0); MqlDateTime tm; TimeToStruct(time[0],tm); if(tm.day_of_week==MONDAY) { TimeToStruct(iTime[1],tm); if(tm.day_of_week==FRIDAY) { yesterday_close=iClose[1]; yesterday_high=iHigh[1]; yesterday_low=iLow[1]; } else { for(int d=5; d gt =0; d--) { TimeToStruct(iTime[d],tm); if(tm.day_of_week==FRIDAY) { yesterday_close=iClose[d]; yesterday_high=iHigh[d]; yesterday_low=iLow[d]; } } } } else { yesterday_close=iClose[1]; yesterday_high=iHigh[1]; yesterday_low=iLow[1]; } Comment(" Yesterday quotations: H ",yesterday_high," L ",yesterday_low," C ",yesterday_close); R=yesterday_high-yesterday_low;//range P=(yesterday_high+yesterday_low+yesterday_close)/3;// Standard Pivot R3 = P + (R * 1.000); R2 = P + (R * 0.618); R1 = P + (R * 0.382); S1 = P - (R * 0.382); S2 = P - (R * 0.618); S3 = P - (R * 1.000); } SetHline(0,"R3_Line",0,R3,Color_R3,Style_R3,Width_R3,"Pivot "+DoubleToString(R3,_Digits)); SetHline(0,"R2_Line",0,R2,Color_R2,Style_R2,Width_R2,"Pivot "+DoubleToString(R2,_Digits)); SetHline(0,"R1_Line",0,R1,Color_R1,Style_R1,Width_R1,"Pivot "+DoubleToString(R1,_Digits)); SetHline(0,"Pivot_Line",0,P,Color_P,Style_P,Width_P,"Pivot "+DoubleToString(P,_Digits)); SetHline(0,"S1_Line",0,S1,Color_S1,Style_S1,Width_S1,"Pivot "+DoubleToString(S1,_Digits)); SetHline(0,"S2_Line",0,S2,Color_S2,Style_S2,Width_S2,"Pivot "+DoubleToString(S2,_Digits)); SetHline(0,"S3_Line",0,S3,Color_S3,Style_S3,Width_S3,"Pivot "+DoubleToString(S3,_Digits)); datetime TextTime=time[0]+PeriodSeconds(); SetText(0,"R3_Lable",0,TextTime,R3,"Resistance 3",Color_R3,"Times New Roman",TextSize,ANCHOR_LEFT_LOWER); SetText(0,"R2_Lable",0,TextTime,R2,"Resistance 2",Color_R2,"Times New Roman",TextSize,ANCHOR_LEFT_LOWER); SetText(0,"R1_Lable",0,TextTime,R1,"Resistance 1",Color_R1,"Times New Roman",TextSize,ANCHOR_LEFT_LOWER); SetText(0,"Pivot_Lable",0,TextTime,P,"Piviot level",Color_P,"Times New Roman",TextSize,ANCHOR_LEFT_LOWER); SetText(0,"S1_Lable",0,TextTime,S1,"Support 1",Color_S1,"Times New Roman",TextSize,ANCHOR_LEFT_LOWER); SetText(0,"S2_Lable",0,TextTime,S2,"Support 2",Color_S2,"Times New Roman",TextSize,ANCHOR_LEFT_LOWER); SetText(0,"S3_Lable",0,TextTime,S3,"Support 3",Color_S3,"Times New Roman",TextSize,ANCHOR_LEFT_LOWER); //---- ChartRedraw(0); //---- return(rates_total); } //+------------------------------------------------------------------+