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);
}
//+------------------------------------------------------------------+