/*
Generated by EX4-TO-MQ4 decompiler V4.0.224.1 []
Website: http://purebeam.biz
E-mail : purebeam@gmail.com
*/
#property indicator_separate_window
#property indicator_buffers 5
#property indicator_color1 Yellow
#property indicator_color2 Green
#property indicator_color3 Red
#property indicator_color4 Yellow
#property indicator_color5 Aqua
extern bool Crash = FALSE;
extern int TimeFrame = 0;
extern int Length = 5;
extern int Method = 3;
extern int Smoothing = 1;
extern int Filter = 5;
extern bool RealTime = TRUE;
extern bool Steady = FALSE;
extern bool Color = TRUE;
extern bool Alerts = TRUE;
extern bool EmailON = FALSE;
extern bool SignalPrice = TRUE;
extern color SignalPriceBUY = Yellow;
extern color SignalPriceSELL = Aqua;
extern int CountBars = 1485;
double g_ibuf_136[];
double g_ibuf_140[];
double g_ibuf_144[];
double g_ibuf_148[];
double g_ibuf_152[];
double g_ibuf_156[];
double g_ibuf_160[];
double g_ibuf_164[];
bool gi_168 = FALSE;
bool gi_172 = FALSE;
int g_datetime_176 = 0;
int g_datetime_180 = 0;
int gi_184 = 0;
int init() {
string ls_unused_4;
IndicatorBuffers(8);
SetIndexStyle(0, DRAW_HISTOGRAM, STYLE_SOLID);
SetIndexBuffer(0, g_ibuf_140);
SetIndexStyle(1, DRAW_HISTOGRAM, STYLE_SOLID);
SetIndexBuffer(1, g_ibuf_152);
SetIndexStyle(2, DRAW_HISTOGRAM, STYLE_SOLID);
SetIndexBuffer(2, g_ibuf_156);
SetIndexStyle(3, DRAW_ARROW);
SetIndexArrow(3, 233);
SetIndexBuffer(3, g_ibuf_160);
SetIndexStyle(4, DRAW_ARROW);
SetIndexArrow(4, 234);
SetIndexBuffer(4, g_ibuf_164);
SetIndexBuffer(5, g_ibuf_136);
SetIndexBuffer(6, g_ibuf_148);
SetIndexBuffer(7, g_ibuf_144);
if (Length < 2) Length = 2;
if (Method < MODE_SMA) Method = 0;
if (Method > MODE_LWMA) Method = 3;
if (Smoothing < 0) Smoothing = 0;
if (Filter < 0) Filter = 0;
if (TimeFrame < Period() && TimeFrame != 0) TimeFrame = Period();
switch (TimeFrame) {
case 1:
ls_unused_4 = "M1";
break;
case 5:
ls_unused_4 = "M5";
break;
case 15:
ls_unused_4 = "M15";
break;
case 30:
ls_unused_4 = "M30";
break;
case 60:
ls_unused_4 = "H1";
break;
case 240:
ls_unused_4 = "H4";
break;
case 1440:
ls_unused_4 = "D1";
break;
case 10080:
ls_unused_4 = "W1";
break;
case 43200:
ls_unused_4 = "MN1";
break;
default:
ls_unused_4 = "";
}
string ls_12 = "WHA92807";
IndicatorShortName(ls_12);
return (0);
}
int start() {
int lia_52[];
int li_56;
int l_index_60;
string ls_64;
if (Bars < 100) {
IndicatorShortName("Bars less than 100");
return (0);
}
if (g_datetime_176 < iTime(NULL, TimeFrame, 0)) {
gi_172 = FALSE;
gi_168 = FALSE;
g_datetime_176 = iTime(NULL, TimeFrame, 0);
}
if (!RealTime) {
if (g_datetime_180 == iTime(NULL, TimeFrame, 0)) return (0);
g_datetime_180 = iTime(NULL, TimeFrame, 0);
gi_184 = TimeFrame / Period() + 1;
if (gi_184 == 0) gi_184 = 1;
}
double ld_unused_0 = 0;
double l_ima_8 = 0;
double l_ima_16 = 0;
double l_ima_24 = 0;
double l_ima_32 = 0;
double l_ima_40 = 0;
if (CountBars > iBars(NULL, TimeFrame) || CountBars > Bars - Length - 1) CountBars = MathMin(Bars - Length - 1, iBars(NULL, TimeFrame) - Length - 1);
if (Crash && CountBars > 0) {
CountBars -= 10;
IndicatorShortName("Crash: " + CountBars + " ");
}
if (Crash && CountBars < 0) IndicatorShortName("Crash");
int li_48 = CountBars;
g_ibuf_140[li_48 + 1] = Close[li_48 + 1];
g_ibuf_144[li_48 + 1] = Close[li_48 + 1];
while (li_48 >= 0) {
l_ima_8 = iMA(NULL, TimeFrame, Length, 0, Method, PRICE_HIGH, li_48);
l_ima_16 = iMA(NULL, TimeFrame, Length, 0, Method, PRICE_LOW, li_48);
l_ima_24 = iMA(NULL, TimeFrame, Length, 0, Method, PRICE_OPEN, li_48);
l_ima_32 = iMA(NULL, TimeFrame, Length, 0, Method, PRICE_CLOSE, li_48);
l_ima_40 = iMA(NULL, TimeFrame, Length, 0, Method, PRICE_CLOSE, li_48 + Smoothing);
if (Steady == TRUE) {
l_ima_32 = iMA(NULL, TimeFrame, Length, 0, Method, PRICE_MEDIAN, li_48);
l_ima_40 = iMA(NULL, TimeFrame, Length, 0, Method, PRICE_MEDIAN, li_48 + Smoothing);
}
g_ibuf_136[li_48] = MathAbs(((l_ima_32 - l_ima_40) / MathMax(l_ima_8 - l_ima_16, MathMax(l_ima_8 - l_ima_40, l_ima_40 - l_ima_16)) + (l_ima_32 - l_ima_24) / (l_ima_8 - l_ima_16)) / 2.0) * ((l_ima_32 - l_ima_40 +
(l_ima_32 - l_ima_24)) / 2.0);
g_ibuf_140[li_48] = g_ibuf_140[li_48 + 1] + g_ibuf_136[li_48];
if (Filter > 0)
if (MathAbs(g_ibuf_140[li_48] - (g_ibuf_140[li_48 + 1])) < Filter * Point) g_ibuf_140[li_48] = g_ibuf_140[li_48 + 1];
if (TimeFrame > Period()) g_ibuf_144[li_48] = g_ibuf_140[li_48];
li_48--;
}
if (TimeFrame > Period()) {
ArrayCopySeries(lia_52, 5, Symbol(), TimeFrame);
li_56 = CountBars + TimeFrame / Period();
li_48 = 0;
l_index_60 = 0;
while (li_48 < li_56) {
if (Time[li_48] < lia_52[l_index_60]) l_index_60++;
g_ibuf_140[li_48] = g_ibuf_144[l_index_60];
li_48++;
}
}
for (li_48 = CountBars; li_48 >= 0; li_48--) {
g_ibuf_148[li_48] = g_ibuf_148[li_48 + 1];
if (g_ibuf_140[li_48] - (g_ibuf_140[li_48 + 1]) > 0.0) g_ibuf_148[li_48] = 1;
if (g_ibuf_140[li_48 + 1] - g_ibuf_140[li_48] > 0.0) g_ibuf_148[li_48] = -1;
if (Color == TRUE) {
if (g_ibuf_148[li_48] > 0.0) {
g_ibuf_152[li_48] = g_ibuf_140[li_48];
if (g_ibuf_148[li_48 + 1] < 0.0) g_ibuf_152[li_48 + 1] = g_ibuf_140[li_48 + 1];
g_ibuf_156[li_48] = EMPTY_VALUE;
} else {
if (g_ibuf_148[li_48] < 0.0) {
g_ibuf_156[li_48] = g_ibuf_140[li_48];
if (g_ibuf_148[li_48 + 1] > 0.0) g_ibuf_156[li_48 + 1] = g_ibuf_140[li_48 + 1];
g_ibuf_152[li_48] = EMPTY_VALUE;
}
}
}
if (Alerts == TRUE) {
g_ibuf_160[li_48] = EMPTY_VALUE;
g_ibuf_164[li_48] = EMPTY_VALUE;
if (g_ibuf_148[li_48] == 1.0 && g_ibuf_148[li_48 + 1] == -1.0) g_ibuf_160[li_48] = g_ibuf_140[li_48 + 1] - (Ask - Bid);
if (g_ibuf_148[li_48] == -1.0 && g_ibuf_148[li_48 + 1] == 1.0) g_ibuf_164[li_48] = g_ibuf_140[li_48 + 1] + (Ask - Bid);
}
}
if (Alerts == TRUE) {
if (g_ibuf_160[gi_184 + 0] != EMPTY_VALUE && gi_168 == FALSE) {
ls_64 = "VQ BUY: " + Symbol() + " - " + Period() + " at " + DoubleToStr(Close[0], Digits) + " - " + TimeToStr(TimeCurrent(), TIME_SECONDS);
Alert(ls_64);
if (EmailON) SendMail(ls_64, ls_64);
if (SignalPrice == TRUE) {
ObjectCreate("BUY SIGNAL: " + DoubleToStr(Time[0], 0), OBJ_ARROW, 0, Time[0], Close[0]);
ObjectSet("BUY SIGNAL: " + DoubleToStr(Time[0], 0), OBJPROP_ARROWCODE, SYMBOL_LEFTPRICE);
ObjectSet("BUY SIGNAL: " + DoubleToStr(Time[0], 0), OBJPROP_COLOR, SignalPriceBUY);
}
gi_172 = FALSE;
gi_168 = TRUE;
}
if (g_ibuf_164[gi_184 + 0] != EMPTY_VALUE && gi_172 == FALSE) {
ls_64 = "VQ SELL: " + Symbol() + " - " + Period() + " at " + DoubleToStr(Close[0], Digits) + " - " + TimeToStr(TimeCurrent(), TIME_SECONDS);
Alert(ls_64);
if (EmailON) SendMail(ls_64, ls_64);
if (SignalPrice == TRUE) {
ObjectCreate("SELL SIGNAL: " + DoubleToStr(Time[0], 0), OBJ_ARROW, 0, Time[0], Close[0]);
ObjectSet("SELL SIGNAL: " + DoubleToStr(Time[0], 0), OBJPROP_ARROWCODE, SYMBOL_LEFTPRICE);
ObjectSet("SELL SIGNAL: " + DoubleToStr(Time[0], 0), OBJPROP_COLOR, SignalPriceSELL);
}
gi_168 = FALSE;
gi_172 = TRUE;
}
}
return (0);
}
0 comments:
Post a Comment