Easy Trend Visualizer

M

mjackson

Guest
You know, this world is far from perfect... I'd like to live in a world where every indicator I make has no bugs and works perfectly.



I don't know where did you get the version with missing colors, but the one on the screenshot isn't the latest from the site, because it reads "EasyTrendVisualizer 1.00", while the version listed on site is 1.01 and the same can be read in my screenshot. Did you recompile it after downloading?

I downloaded version that you provided...Prior to that it wasn't "Inputs" tab but colors were there...Now there is "Inputs" tab but there is no "Colors" tab.

If I didn't compile I wouldn't be able to open it...You know it and just make troubles...Yes I have version 1.00..version that you provided after fixing "Inputs" tab...You are doing this to drive me crazy...Fix it or get lost.
 

Enivid

Administrator
Staff member
Nov 30, 2008
19,240
1,507
144
Odesa
www.earnforex.com
I downloaded version that you provided...Prior to that it wasn't "Inputs" tab but colors were there...Now there is "Inputs" tab but there is no "Colors" tab.

I don't know where did you get the version without Colors...

If I didn't compile I wouldn't be able to open it...You know it and just make troubles...

If you didn't compile the new version you could still be opening the old version.

Yes I have version 1.00..version that you provided after fixing "Inputs" tab...You are doing this to drive me crazy...

What does the 8th line here says?
http://www.earnforex.com/mt5-forex-indicators/EasyTrendVisualizer.mq5

Isn't it 1.01? I don't know why you can't download a new version...
 
M

mjackson

Guest
I don't know where did you get the version without Colors...



If you didn't compile the new version you could still be opening the old version.



What does the 8th line here says?
http://www.earnforex.com/mt5-forex-indicators/EasyTrendVisualizer.mq5

Isn't it 1.01? I don't know why you can't download a new version...


Although latest fixed version has "Inputs" tab it is not possible to change default periods (10, 14, 20)...so nothing is done about it as well. So it is really shame what you are doing with this indicator...Who knows what is going with other indicators as well?

So here is code that I downloaded from your website...(I have nothing else on my computer then this):

//+------------------------------------------------------------------+
//| Easy Trend Visualizer |
//| Copyright © 2009, EarnForex |
//| http://www.earnforex.com/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, EarnForex"
#property link "http://www.earnforex.com"
#property version "1.01"
#property description "Easy Trend Visualizer - displays trend strength, direction and"
#property description "support and resistance levels."

#define Alvl 35.0
#define Alvl2 30.0

#property indicator_chart_window
#property indicator_buffers 9
#property indicator_plots 4
#property indicator_color1 Red, SteelBlue
#property indicator_width1 2
#property indicator_color2 Lime
#property indicator_color3 Lime
#property indicator_color4 Indigo
#property indicator_width2 2
#property indicator_width3 2
#property indicator_width4 1
#property indicator_type1 DRAW_COLOR_HISTOGRAM2
#property indicator_style1 STYLE_SOLID
#property indicator_type2 DRAW_ARROW
#property indicator_style2 STYLE_SOLID
#property indicator_type3 DRAW_ARROW
#property indicator_style3 STYLE_SOLID
#property indicator_type4 DRAW_LINE
#property indicator_style4 STYLE_SOLID

//---- indicator parameters
input int ADXperiod1 = 10;
input int ADXperiod2 = 14;
input int ADXperiod3 = 20;

//--
int MxP, MnP, MdP;

//---- buffers
double To[];
double Tc[];
double Color[];
double Up[];
double Dn[];
double Ex[];

double ADX1[];
double ADX2[];
double ADX3[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
void OnInit()
{
MxP = MathMax(MathMax(ADXperiod1, ADXperiod2), ADXperiod3);
MnP = MathMin(MathMin(ADXperiod1, ADXperiod2), ADXperiod3);
if (MxP == ADXperiod1) MdP = MathMax(ADXperiod2, ADXperiod3);
else if (MxP == ADXperiod2) MdP = MathMax(ADXperiod1, ADXperiod3);
else MdP = MathMax(ADXperiod2, ADXperiod1);

IndicatorSetString(INDICATOR_SHORTNAME, "ETV(" + MnP+"/"+MdP+"/"+MxP + ")");

SetIndexBuffer(0, To, INDICATOR_DATA);
SetIndexBuffer(1, Tc, INDICATOR_DATA);
SetIndexBuffer(2, Color, INDICATOR_COLOR_INDEX);
SetIndexBuffer(3, Up, INDICATOR_DATA);
SetIndexBuffer(4, Dn, INDICATOR_DATA);
SetIndexBuffer(5, Ex, INDICATOR_DATA);
SetIndexBuffer(6, ADX1, INDICATOR_CALCULATIONS);
SetIndexBuffer(7, ADX2, INDICATOR_CALCULATIONS);
SetIndexBuffer(8, ADX3, INDICATOR_CALCULATIONS);

ArraySetAsSeries(To, true);
ArraySetAsSeries(Tc, true);
ArraySetAsSeries(Color, true);
ArraySetAsSeries(Up, true);
ArraySetAsSeries(Dn, true);
ArraySetAsSeries(Ex, true);
ArraySetAsSeries(ADX1, true);
ArraySetAsSeries(ADX2, true);
ArraySetAsSeries(ADX3, true);

PlotIndexSetInteger(1, PLOT_ARROW, 225);
PlotIndexSetInteger(2, PLOT_ARROW, 226);

PlotIndexSetString(1, PLOT_LABEL, "Up");
PlotIndexSetString(2, PLOT_LABEL, "Down");
PlotIndexSetString(3, PLOT_LABEL, "End");
}

//+------------------------------------------------------------------+
//| Custom Easy Trend Visualizer |
//+------------------------------------------------------------------+
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[])
{
ArraySetAsSeries(Open, true);
ArraySetAsSeries(Close, true);

int limit = rates_total;

double ADXBuffer1[], ADXBuffer2[], ADXBuffer3[], ADXBuffer1_1[], ADXBuffer1_2[];
int myADX = iADX(NULL, 0, MnP);
CopyBuffer(myADX, MAIN_LINE, 0, rates_total, ADXBuffer1);
CopyBuffer(myADX, PLUSDI_LINE, 0, rates_total, ADXBuffer1_1);
CopyBuffer(myADX, MINUSDI_LINE, 0, rates_total, ADXBuffer1_2);
myADX = iADX(NULL, 0, MdP);
CopyBuffer(myADX, MAIN_LINE, 0, rates_total, ADXBuffer2);
myADX = iADX(NULL, 0, MxP);
CopyBuffer(myADX, MAIN_LINE, 0, rates_total, ADXBuffer3);

for (int i = limit - 1; i >= 0; i--)
{
ADX1 = ADXBuffer1[rates_total - i - 1];
ADX2 = ADXBuffer2[rates_total - i - 1];
ADX3 = ADXBuffer3[rates_total - i - 1];
}

for (int i = limit - 1; i >= 0; i--)
{
bool f1 = false, f2 = false, f3 = false;

To = 0; Tc = 0;
Up = 0; Dn = 0; Ex = EMPTY_VALUE;

int j = i + 1;
if (j > (limit - 1)) j = limit - 1;

if (ADX1[j] < ADX1) f1 = true;
if (ADX2[j] < ADX2) f2 = true;
if (ADX3[j] < ADX3) f3 = true;

if ((f1) && (f2) && (f3)&& (ADX1 > Alvl) && (ADX2 > Alvl2))
{
double di = ADXBuffer1_1[rates_total - i - 1] - ADXBuffer1_2[rates_total - i - 1];
double hi = MathMax(Open, Close);
double lo = MathMin(Open, Close);
double op = Open;
if (di > 0)
{
To = lo; Tc = hi;
if (To[j] == 0) Up = op;
Color = 1;

}
else
{
To = hi; Tc = lo;
if (To[j] == 0) Dn = op;
Color = 0;
}
}
else
{
if (To[j] != 0) Ex = Close[i + 1];
else Ex = Ex[j];
}
}

return(rates_total);
}
//+------------------------------------------------------------------+
 

Enivid

Administrator
Staff member
Nov 30, 2008
19,240
1,507
144
Odesa
www.earnforex.com
Copy & paste the code above into a new .mq5 file, compile and attach it to the chart. If you still won't be able to change the inputs or the colors with the resulting indicator, then there's something wrong with your MT5 installation or MQL5 compiler.

Who knows what is going with other indicators as well?

Yeah, my other indicators just format dick C :).
 
M

mjackson

Guest
Copy & paste the code above into a new .mq5 file, compile and attach it to the chart. If you still won't be able to change the inputs or the colors with the resulting indicator, then there's something wrong with your MT5 installation or MQL5 compiler.


Yeah, my other indicators just format dick C :).

Well for whatever reason same code works...I have no clue why...

Now I need alert on this indicator, specifically when horizontal line start to build ..basically it would be first horizontal line created between two bars...after that , regardless of total length of that horizontal line no need alert ....just for first small horizontal line created between two bars....

Thank you
 

Enivid

Administrator
Staff member
Nov 30, 2008
19,240
1,507
144
Odesa
www.earnforex.com
Well for whatever reason same code works...I have no clue why...

Now I need alert on this indicator, specifically when horizontal line start to build ..basically it would be first horizontal line created between two bars...after that , regardless of total length of that horizontal line no need alert ....just for first small horizontal line created between two bars....

Thank you
You can now download version 1.02. It has such Alert option (set input parameter UseAlert to true). Please report any bugs.
 

sklenda

Trader
May 25, 2011
1
0
12
Hi I have trouble with this indicator. I use MT4 and for some reason it works well for GBPU/USD but in EUR/USD it dont redraw any bars. I tried to reset all my settings and install it tree times with no success. Any advice?
 
M

mjackson

Guest
Hello Enivid,

I need one or two more alert(s) ( false/true) for arrows ( up and down). Alert mesage something like ETV-AU or ETV-AD and if you can change message for Horizontal line to ETV-HL. Thank you.

P.S. still waiting for better volume...
 
Last edited by a moderator:
M

mjackson

Guest
I don't quite understand what changes to alerts do you need? And what's 'ETV-AU'?

Just to add new alerts for arrows ( up and down)...Alert message for arrow up would be ETV-AU (which is abraviation of Easy trend visualizer-arrow up)...and for arrow down would be ETV-AD...there is existing alert when is created for first time horisontal line...Message is "Horisontal Line!" and when this message pop up in Alert window it cause window to be very wide...so for that reason I suggest to change message to ETV-HL... point is to have short message...maybe developers reserved certain number of caracters for message so no matter how short is message it will be always wide alert window...
 
Last edited by a moderator:
M

mjackson

Guest
What version? Is it in the chart's indicator list? Are there any errors in the Experts or Journal logs?


Thank you. Just one more: could you please separate alert for arows from alert for horizontal line (false, true)? Then same thing for MT4...That would be all. Again thank you. :)
 
Last edited by a moderator:
M

mjackson

Guest
Yes there is need for correction. Firstly I probably confused you with "short message" in alert window and as a consequence important information in alert window is missing such as date and time, pair, time frame.
Secondly about alerts on signals: Alert for arrows is good. Alert for horizontal line is not for several reasons: too many, too many times.
Sequence of signals is as follow as per my observation: First comes arrow then horizontal line between two bars and another horizontal line....then arrow again...
I noticed that sometimes arrow appear but there is no horizontal line then arrow comes again ...That happened sometimes, not often....Then there is times when there is alert but not Horizontal line...Alert for horizontal line has to be only when first horizontal line is created ( in some cases that is in same time last horizontal line). Regardless how many horizontal lines come after that first one it shouldn’t be alert? There is alert whenever I change timeframe...and it shouldn’t be if there is more than one horizontal line already created...Every time I apply template there is alert although there is more than one horizontal line. Please see picture ETV-1 and -2
Alert message “ETV-AD, ETV-AU and HL” are too short and doesn’t have effect on size of alert window in MT5 so I change to be as you could see on pictures. This is for both MT4 and MT5. Please let me know if I could describe problems clearly and sorry for giving you hard time.
 

Attachments

  • ETV-1.jpg
    ETV-1.jpg
    114.7 KB · Views: 23
  • ETV-2.jpg
    ETV-2.jpg
    67.1 KB · Views: 19

Enivid

Administrator
Staff member
Nov 30, 2008
19,240
1,507
144
Odesa
www.earnforex.com
First, regarding the message. As far as I see on your screenshots, the currency pair and time is already provided by MT5 itself, so there's little point in including the data in the Alert itself.

Second, regarding the line signals. There's an alert whenever the horizontal line is first encountered on the current height. If it started several bars ago, but the indicator just got initialized it will trigger the alert, it's done for the cases when several bars of data is loaded after a disconnect and the line start was inside those bars.
Switching timeframes/templates will reload the indicator and the alerts will trigger again. There's no way (at least an satisfactorily easy one) to prevent alerts from triggering again when indicator gets initialized again.
 
M

mjackson

Guest
First, regarding the message. As far as I see on your screenshots, the currency pair and time is already provided by MT5 itself, so there's little point in including the data in the Alert itself....QUOTE]

Yes, That info in alert message was intended for MT4...should be the same as in MT5...I was thinking just to have alert when HL is created for first time after arrow...I understand what you say ...maybe test would help so to test if there is already created HLthen no alert ..but that might be too complicated...I understand that alert is triggered when indicator is repeated such as switching TF or applying template...

Thank you very much for your time and effort. I like this indicator.
 

Enivid

Administrator
Staff member
Nov 30, 2008
19,240
1,507
144
Odesa
www.earnforex.com
Updated EasyTrendVisualizer:
1. MT4 version now displays date/time + currency pair in alerts.
2. Both versions now try to avoid alerting about horizontal line in case it's a continuation and not a start of the line.
 
M

mjackson

Guest
Updated EasyTrendVisualizer:
1. MT4 version now displays date/time + currency pair in alerts.
2. Both versions now try to avoid alerting about horizontal line in case it's a continuation and not a start of the line.


Thank you so much ...I appreciate your any effort..I did not try them yet but in attached picture is what I was trying to say...
 

Attachments

  • ETV-ALERT.gif
    ETV-ALERT.gif
    25.4 KB · Views: 56