Try the one on page 617 "Vertical Line for MT4 Charts". It has got everything you are asking for.thomdel wrote: Fri May 31, 2019 8:19 pm @ mrtools / other senior members.
Kindly / Please look at this REQUEST.
Thanks in Advance.
Thanks for all the Earlier Help : @mrtools
Hi,
This " vertical_line_at_current_bar " is a very helpful Indicator and these changes will make it even more useful.
This Indi has option to draw line at current bar only. *
Please Accept and Do this Changes in the Attached Indicator : " vertical_line_at_current_bar "
Attached are indicators & Image File :
Request 1 :
Below mentioned option is in Indicator : " vertical "
1) Please add : WhichCandle : ______ : This option gives option whether current candle or previous candle.
0 means current candle and 1 means previous candle.
Request 2 :
Below mentioned option is in Indicator : " vertical_time_lines "
1) Line Visible : True / False
2) Line Style : _______
Please have a Look.
Thanks.
Re: MT4 Indicator requests and ideas
6232RplusT wrote: Sat Jun 01, 2019 1:20 am
Try the one on page 617 "Vertical Line for MT4 Charts". It has got everything you are asking for.
@RplusT
Thanks a Lot.
Thanks for this Kind Help. It helps a lot to New / Beginners like us who do not know how to code and its also very hard to find Indis as we are not tech savvy.
Re: MT4 Indicator requests and ideas
6233Pacois,
I don't suppose you have the MQ4 file?
Thanks
TEAMTRADER
Re: MT4 Indicator requests and ideas
6234Recent Candles.mq4TEAMTRADER wrote: Sat Jun 01, 2019 2:54 am
Pacois,
I don't suppose you have the MQ4 file?
Thanks
TEAMTRADER
- These users thanked the author pacois for the post (total 9):
- Jimmy, moey_dw, sal, TEAMTRADER, rudiarius, ChuChu Rocket, Skyold, FXchaos, W35
Re: MT4 Indicator requests and ideas
6235so generous man
Official Forex-station GIF animator at your service
See a GIF with Forex-station.com on it? I probably made it
The best divergence indicator in the world.
Real news exists: Infowars.com
See a GIF with Forex-station.com on it? I probably made it
The best divergence indicator in the world.
Real news exists: Infowars.com
Re: MT4 Indicator requests and ideas
6236hi guys,
it's possible to add a filter to this arrow indicator so it only shows the arrows (and send the sound alerts) in the candles which closing price is below the body of the heiken ashi candles for a sell signal or above the body of the heiken ashi candle for a buy signal? this indicator send lots of signals, so i was trying to filter them as in the picture below, the ones with the "Check" are an example of what i'm trying to say.
best regards!
thanks in advance.
it's possible to add a filter to this arrow indicator so it only shows the arrows (and send the sound alerts) in the candles which closing price is below the body of the heiken ashi candles for a sell signal or above the body of the heiken ashi candle for a buy signal? this indicator send lots of signals, so i was trying to filter them as in the picture below, the ones with the "Check" are an example of what i'm trying to say.
best regards!
thanks in advance.
Attachments
Re: MT4 Indicator requests and ideas
6237Here you go..sal wrote: Fri May 31, 2019 5:11 pm I am looking for fractal breakout source file . any one can share. I beileve mr.tools have this.. kindly share
viewtopic.php?p=1295367591#p1295367591
Re: MT4 Indicator requests and ideas
6238@ mrtools
@ Senior Coders / Members
Thanks to all for this excellent forum and always helpful nature.
Please / Kindly Help.
Can you Please Post / Code a New Indicator : which shows Daily Open Line ( Today's Open Line ) / Yesterday High Low & Yesterday Open Close
Downloaded / Tried various Indis from different forums also, but they miss below mentioned options / features. ***
This will help All Users.
Please-Please Add / modify / create a New Indicator to reflect below mentioned changes :
1) Show All Lines only for Current Day only * Please
Lines should not plot on any of the previous days
2) All lines extended upto the chart * Please
3) All lines start from period seperator line only * Please
4) Draw Lines as Background : True / False * Please
All Lines remain / plot behind chart bars * ( They don't Overlap on chart bars * )
This option is available in - Vertical Line Indicator / attached this indi for your reference *
5) Show Open Line : True / False
a) Colour : ( if option None used then it should work properly - in some of the indies : if None is selected then it creates issue on chart )
b) Style
c) Width
5) Show Y High / Y Low Line : True / False
a) Colour : ( if option None used then it should work properly - in some of the indies : if None is selected then it creates issue on chart )
b) Style
c) Width
6) Show Y Open / Y Close Line : True / False
a) Colour : ( if option None used then it should work properly - in some of the indies : if None is selected then it creates issue on chart )
b) Style
c) Width
7) Show Labels : True / Untrue
a) Label Position : 8 ( distance of labels ) : Kindly see this option works properly - in some indis if label position is changes it creates issue *
b) Label Size ( Font Size ) : 10
c) Label Colour ( Font Size ) : White
The List is Long / but useful.
A single Indi which serves the purpose for all.
Thanks
@ Senior Coders / Members
Thanks to all for this excellent forum and always helpful nature.
Please / Kindly Help.
Can you Please Post / Code a New Indicator : which shows Daily Open Line ( Today's Open Line ) / Yesterday High Low & Yesterday Open Close
Downloaded / Tried various Indis from different forums also, but they miss below mentioned options / features. ***
This will help All Users.
Please-Please Add / modify / create a New Indicator to reflect below mentioned changes :
1) Show All Lines only for Current Day only * Please
Lines should not plot on any of the previous days
2) All lines extended upto the chart * Please
3) All lines start from period seperator line only * Please
4) Draw Lines as Background : True / False * Please
All Lines remain / plot behind chart bars * ( They don't Overlap on chart bars * )
This option is available in - Vertical Line Indicator / attached this indi for your reference *
5) Show Open Line : True / False
a) Colour : ( if option None used then it should work properly - in some of the indies : if None is selected then it creates issue on chart )
b) Style
c) Width
5) Show Y High / Y Low Line : True / False
a) Colour : ( if option None used then it should work properly - in some of the indies : if None is selected then it creates issue on chart )
b) Style
c) Width
6) Show Y Open / Y Close Line : True / False
a) Colour : ( if option None used then it should work properly - in some of the indies : if None is selected then it creates issue on chart )
b) Style
c) Width
7) Show Labels : True / Untrue
a) Label Position : 8 ( distance of labels ) : Kindly see this option works properly - in some indis if label position is changes it creates issue *
b) Label Size ( Font Size ) : 10
c) Label Colour ( Font Size ) : White
The List is Long / but useful.
A single Indi which serves the purpose for all.
Thanks
Attachments
Re: MT4 Indicator requests and ideas
6239dear Mr.tools
Is it possible to convert this indicator to mql4 file.
//------------------------------------------------------------------
#property copyright "© mladen, 2018"
#property link "mladenfx@gmail.com"
//------------------------------------------------------------------
#property indicator_chart_window
#property indicator_buffers 6
#property indicator_plots 3
#property indicator_label1 "Smooth high"
#property indicator_type1 DRAW_COLOR_LINE
#property indicator_color1 clrDarkGray,clrDeepPink,clrLimeGreen
#property indicator_width1 2
#property indicator_label2 "Smooth close"
#property indicator_type2 DRAW_COLOR_LINE
#property indicator_color2 clrDarkGray,clrDeepPink,clrLimeGreen
#property indicator_width2 2
#property indicator_label3 "Smooth low"
#property indicator_type3 DRAW_COLOR_LINE
#property indicator_color3 clrDarkGray,clrDeepPink,clrLimeGreen
#property indicator_width3 2
//--- input parameters
input double inpSmoothPeriod=27; // Smooth period
input double inpSmoothPhase=0; // Smooth phase
//--- indicator buffers
double valu[],valuc[],valc[],valcc[],vald[],valdc[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- indicator buffers mapping
SetIndexBuffer(0,valu,INDICATOR_DATA);
SetIndexBuffer(1,valuc,INDICATOR_COLOR_INDEX);
SetIndexBuffer(2,valc,INDICATOR_DATA);
SetIndexBuffer(3,valcc,INDICATOR_COLOR_INDEX);
SetIndexBuffer(4,vald,INDICATOR_DATA);
SetIndexBuffer(5,valdc,INDICATOR_COLOR_INDEX);
//--- indicator short name assignment
IndicatorSetString(INDICATOR_SHORTNAME,"Triple Jurik smooth ("+(string)inpSmoothPeriod+")");
//---
return (INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator de-initialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
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)<rates_total) return(prev_calculated);
for(int i=(int)MathMax(prev_calculated-1,0); i<rates_total && !IsStopped(); i++)
{
valu = iSmooth[0].CalculateValue(high ,inpSmoothPeriod,inpSmoothPhase,i,rates_total);
valc = iSmooth[1].CalculateValue(close,inpSmoothPeriod,inpSmoothPhase,i,rates_total);
vald = iSmooth[2].CalculateValue(low ,inpSmoothPeriod,inpSmoothPhase,i,rates_total);
valuc = (i>0) ? (valu>valu[i-1]) ? 2 : (valu<valu[i-1]) ? 1 : valuc[i-1] : 0;
valcc = (i>0) ? (valc[i]>valc[i-1]) ? 2 : (valc[i]<valc[i-1]) ? 1 : valcc[i-1] : 0;
valdc[i] = (i>0) ? (vald[i]>vald[i-1]) ? 2 : (vald[i]<vald[i-1]) ? 1 : valdc[i-1] : 0;
}
return(rates_total);
}
//+------------------------------------------------------------------+
//| Custom functions |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Custom classes |
//+------------------------------------------------------------------+
class CJurikSmooth
{
private:
int m_size;
double m_wrk[][10];
//
//---
//
public :
CJurikSmooth(void) : m_size(0) { return; }
~CJurikSmooth(void) { return; }
double CalculateValue(double price,double length,double phase,int r,int bars)
{
#define bsmax 5
#define bsmin 6
#define volty 7
#define vsum 8
#define avolty 9
if (m_size!=bars) ArrayResize(m_wrk,bars); if (ArrayRange(m_wrk,0)!=bars) return(price); m_size=bars;
if(r==0 || length<=1) { int k=0; for(; k<7; k++) m_wrk[r][k]=price; for(; k<10; k++) m_wrk[r][k]=0; return(price); }
//
//---
//
double len1 = MathMax(MathLog(MathSqrt(0.5*(length-1)))/MathLog(2.0)+2.0,0);
double pow1 = MathMax(len1-2.0,0.5);
double del1 = price - m_wrk[r-1][bsmax];
double del2 = price - m_wrk[r-1][bsmin];
int forBar = MathMin(r,10);
m_wrk[r][volty]=0;
if(MathAbs(del1) > MathAbs(del2)) m_wrk[r][volty] = MathAbs(del1);
if(MathAbs(del1) < MathAbs(del2)) m_wrk[r][volty] = MathAbs(del2);
m_wrk[r][vsum]=m_wrk[r-1][vsum]+(m_wrk[r][volty]-m_wrk[r-forBar][volty])*0.1;
//
//---
//
m_wrk[r][avolty]=m_wrk[r-1][avolty]+(2.0/(MathMax(4.0*length,30)+1.0))*(m_wrk[r][vsum]-m_wrk[r-1][avolty]);
double dVolty=(m_wrk[r][avolty]>0) ? m_wrk[r][volty]/m_wrk[r][avolty]: 0;
if(dVolty > MathPow(len1,1.0/pow1)) dVolty = MathPow(len1,1.0/pow1);
if(dVolty < 1) dVolty = 1.0;
//
//---
//
double pow2 = MathPow(dVolty, pow1);
double len2 = MathSqrt(0.5*(length-1))*len1;
double Kv = MathPow(len2/(len2+1), MathSqrt(pow2));
if(del1 > 0) m_wrk[r][bsmax] = price; else m_wrk[r][bsmax] = price - Kv*del1;
if(del2 < 0) m_wrk[r][bsmin] = price; else m_wrk[r][bsmin] = price - Kv*del2;
//
//---
//
double corr = MathMax(MathMin(phase,100),-100)/100.0 + 1.5;
double beta = 0.45*(length-1)/(0.45*(length-1)+2);
double alpha = MathPow(beta,pow2);
m_wrk[r][0] = price + alpha*(m_wrk[r-1][0]-price);
m_wrk[r][1] = (price - m_wrk[r][0])*(1-beta) + beta*m_wrk[r-1][1];
m_wrk[r][2] = (m_wrk[r][0] + corr*m_wrk[r][1]);
m_wrk[r][3] = (m_wrk[r][2] - m_wrk[r-1][4])*MathPow((1-alpha),2) + MathPow(alpha,2)*m_wrk[r-1][3];
m_wrk[r][4] = (m_wrk[r-1][4] + m_wrk[r][3]);
//
//---
//
return(m_wrk[r][4]);
#undef bsmax
#undef bsmin
#undef volty
#undef vsum
#undef avolty
}
};
CJurikSmooth iSmooth[3];
//+------------------------------------------------------------------+
Is it possible to convert this indicator to mql4 file.
//------------------------------------------------------------------
#property copyright "© mladen, 2018"
#property link "mladenfx@gmail.com"
//------------------------------------------------------------------
#property indicator_chart_window
#property indicator_buffers 6
#property indicator_plots 3
#property indicator_label1 "Smooth high"
#property indicator_type1 DRAW_COLOR_LINE
#property indicator_color1 clrDarkGray,clrDeepPink,clrLimeGreen
#property indicator_width1 2
#property indicator_label2 "Smooth close"
#property indicator_type2 DRAW_COLOR_LINE
#property indicator_color2 clrDarkGray,clrDeepPink,clrLimeGreen
#property indicator_width2 2
#property indicator_label3 "Smooth low"
#property indicator_type3 DRAW_COLOR_LINE
#property indicator_color3 clrDarkGray,clrDeepPink,clrLimeGreen
#property indicator_width3 2
//--- input parameters
input double inpSmoothPeriod=27; // Smooth period
input double inpSmoothPhase=0; // Smooth phase
//--- indicator buffers
double valu[],valuc[],valc[],valcc[],vald[],valdc[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- indicator buffers mapping
SetIndexBuffer(0,valu,INDICATOR_DATA);
SetIndexBuffer(1,valuc,INDICATOR_COLOR_INDEX);
SetIndexBuffer(2,valc,INDICATOR_DATA);
SetIndexBuffer(3,valcc,INDICATOR_COLOR_INDEX);
SetIndexBuffer(4,vald,INDICATOR_DATA);
SetIndexBuffer(5,valdc,INDICATOR_COLOR_INDEX);
//--- indicator short name assignment
IndicatorSetString(INDICATOR_SHORTNAME,"Triple Jurik smooth ("+(string)inpSmoothPeriod+")");
//---
return (INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator de-initialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
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)<rates_total) return(prev_calculated);
for(int i=(int)MathMax(prev_calculated-1,0); i<rates_total && !IsStopped(); i++)
{
valu = iSmooth[0].CalculateValue(high ,inpSmoothPeriod,inpSmoothPhase,i,rates_total);
valc = iSmooth[1].CalculateValue(close,inpSmoothPeriod,inpSmoothPhase,i,rates_total);
vald = iSmooth[2].CalculateValue(low ,inpSmoothPeriod,inpSmoothPhase,i,rates_total);
valuc = (i>0) ? (valu>valu[i-1]) ? 2 : (valu<valu[i-1]) ? 1 : valuc[i-1] : 0;
valcc = (i>0) ? (valc[i]>valc[i-1]) ? 2 : (valc[i]<valc[i-1]) ? 1 : valcc[i-1] : 0;
valdc[i] = (i>0) ? (vald[i]>vald[i-1]) ? 2 : (vald[i]<vald[i-1]) ? 1 : valdc[i-1] : 0;
}
return(rates_total);
}
//+------------------------------------------------------------------+
//| Custom functions |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Custom classes |
//+------------------------------------------------------------------+
class CJurikSmooth
{
private:
int m_size;
double m_wrk[][10];
//
//---
//
public :
CJurikSmooth(void) : m_size(0) { return; }
~CJurikSmooth(void) { return; }
double CalculateValue(double price,double length,double phase,int r,int bars)
{
#define bsmax 5
#define bsmin 6
#define volty 7
#define vsum 8
#define avolty 9
if (m_size!=bars) ArrayResize(m_wrk,bars); if (ArrayRange(m_wrk,0)!=bars) return(price); m_size=bars;
if(r==0 || length<=1) { int k=0; for(; k<7; k++) m_wrk[r][k]=price; for(; k<10; k++) m_wrk[r][k]=0; return(price); }
//
//---
//
double len1 = MathMax(MathLog(MathSqrt(0.5*(length-1)))/MathLog(2.0)+2.0,0);
double pow1 = MathMax(len1-2.0,0.5);
double del1 = price - m_wrk[r-1][bsmax];
double del2 = price - m_wrk[r-1][bsmin];
int forBar = MathMin(r,10);
m_wrk[r][volty]=0;
if(MathAbs(del1) > MathAbs(del2)) m_wrk[r][volty] = MathAbs(del1);
if(MathAbs(del1) < MathAbs(del2)) m_wrk[r][volty] = MathAbs(del2);
m_wrk[r][vsum]=m_wrk[r-1][vsum]+(m_wrk[r][volty]-m_wrk[r-forBar][volty])*0.1;
//
//---
//
m_wrk[r][avolty]=m_wrk[r-1][avolty]+(2.0/(MathMax(4.0*length,30)+1.0))*(m_wrk[r][vsum]-m_wrk[r-1][avolty]);
double dVolty=(m_wrk[r][avolty]>0) ? m_wrk[r][volty]/m_wrk[r][avolty]: 0;
if(dVolty > MathPow(len1,1.0/pow1)) dVolty = MathPow(len1,1.0/pow1);
if(dVolty < 1) dVolty = 1.0;
//
//---
//
double pow2 = MathPow(dVolty, pow1);
double len2 = MathSqrt(0.5*(length-1))*len1;
double Kv = MathPow(len2/(len2+1), MathSqrt(pow2));
if(del1 > 0) m_wrk[r][bsmax] = price; else m_wrk[r][bsmax] = price - Kv*del1;
if(del2 < 0) m_wrk[r][bsmin] = price; else m_wrk[r][bsmin] = price - Kv*del2;
//
//---
//
double corr = MathMax(MathMin(phase,100),-100)/100.0 + 1.5;
double beta = 0.45*(length-1)/(0.45*(length-1)+2);
double alpha = MathPow(beta,pow2);
m_wrk[r][0] = price + alpha*(m_wrk[r-1][0]-price);
m_wrk[r][1] = (price - m_wrk[r][0])*(1-beta) + beta*m_wrk[r-1][1];
m_wrk[r][2] = (m_wrk[r][0] + corr*m_wrk[r][1]);
m_wrk[r][3] = (m_wrk[r][2] - m_wrk[r-1][4])*MathPow((1-alpha),2) + MathPow(alpha,2)*m_wrk[r-1][3];
m_wrk[r][4] = (m_wrk[r-1][4] + m_wrk[r][3]);
//
//---
//
return(m_wrk[r][4]);
#undef bsmax
#undef bsmin
#undef volty
#undef vsum
#undef avolty
}
};
CJurikSmooth iSmooth[3];
//+------------------------------------------------------------------+
"There is NO GOD higher than TRUTH" - Mahatma Gandhi
Re: MT4 Indicator requests and ideas
6240Dear Mrtools,
Could you add/make a histo version of this indicator (keeping the colouring options, so neutral colour can be used between levels) as it can be seen on the attached screenshot with Ravi FX Fisher. I think it would give a better visual representation but Ravi FX Fisher lacks many options which your ravi 1.01 already has.
Thanks in advance!
Attachments