resolve all Critical Guard Attacks on Errante ...
This commit is contained in:
@@ -0,0 +1,62 @@
|
|||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| CandleTimeStationary|
|
||||||
|
//| |
|
||||||
|
//| |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
|
||||||
|
#property indicator_chart_window
|
||||||
|
#property strict
|
||||||
|
|
||||||
|
//---- input parameters
|
||||||
|
input color Clock_Color = clrDimGray;
|
||||||
|
input ENUM_BASE_CORNER Corner = CORNER_RIGHT_UPPER;
|
||||||
|
|
||||||
|
string objname="Spread&Bar";
|
||||||
|
double s1[];
|
||||||
|
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| expert initialization function |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
int OnInit()
|
||||||
|
{
|
||||||
|
ObjectCreate(0, objname, OBJ_LABEL,0, 0, 0);
|
||||||
|
ObjectSetInteger(0, objname, OBJPROP_CORNER, Corner);
|
||||||
|
ObjectSetInteger(0, objname, OBJPROP_XDISTANCE, 10);
|
||||||
|
ObjectSetInteger(0, objname, OBJPROP_YDISTANCE, 2);
|
||||||
|
ENUM_ANCHOR_POINT Anchor = ANCHOR_LEFT_UPPER;
|
||||||
|
switch (Corner)
|
||||||
|
{
|
||||||
|
case CORNER_LEFT_UPPER: Anchor=ANCHOR_LEFT_UPPER; break;
|
||||||
|
case CORNER_RIGHT_UPPER: Anchor=ANCHOR_RIGHT_UPPER; break;
|
||||||
|
case CORNER_LEFT_LOWER: Anchor=ANCHOR_LEFT_LOWER; break;
|
||||||
|
case CORNER_RIGHT_LOWER: Anchor=ANCHOR_RIGHT_LOWER; break;
|
||||||
|
}
|
||||||
|
ObjectSetInteger(0, objname, OBJPROP_ANCHOR, Anchor);
|
||||||
|
|
||||||
|
return(INIT_SUCCEEDED);
|
||||||
|
}
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
void OnDeinit(const int reason) { ObjectDelete(0, objname); }
|
||||||
|
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
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& spreads[])
|
||||||
|
{
|
||||||
|
ArraySetAsSeries(time, true);
|
||||||
|
int m=int(time[0]+PeriodSeconds()-TimeCurrent());
|
||||||
|
int s=m%60;
|
||||||
|
m=(m-s)/60;
|
||||||
|
long spread=SymbolInfoInteger(Symbol(), SYMBOL_SPREAD);
|
||||||
|
|
||||||
|
string _sp="",_m="",_s="";
|
||||||
|
if (spread<10) _sp="..";
|
||||||
|
else if (spread<100) _sp=".";
|
||||||
|
if (m<10) _m="0";
|
||||||
|
if (s<10) _s="0";
|
||||||
|
|
||||||
|
ObjectSetString(0, objname, OBJPROP_TEXT, "Spread: " +IntegerToString(spread)+_sp+" Next Bar in "+_m+IntegerToString(m)+":"+_s+IntegerToString(s));
|
||||||
|
ObjectSetInteger(0, objname, OBJPROP_FONTSIZE, 10);
|
||||||
|
ObjectSetInteger(0, objname, OBJPROP_COLOR, Clock_Color);
|
||||||
|
ObjectSetString(0, objname, OBJPROP_FONT, "Courier");
|
||||||
|
|
||||||
|
return(rates_total);
|
||||||
|
}
|
||||||
@@ -1678,6 +1678,14 @@ bool XAU5XTDHasLongSignal()
|
|||||||
mConditions.isXCHMALCPeak &&
|
mConditions.isXCHMALCPeak &&
|
||||||
mConditions.isXAMANeutural)
|
mConditions.isXAMANeutural)
|
||||||
//
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
(mConditions.isXCHMAMCVale &&
|
||||||
|
mConditions.isXCHMALCPeak &&
|
||||||
|
mConditions.isXTSCurrentMax &&
|
||||||
|
mConditions.isXTSCurrentOverFarest &&
|
||||||
|
mConditions.isXTDSignalCrossedOverBear)
|
||||||
|
//
|
||||||
)
|
)
|
||||||
//
|
//
|
||||||
)
|
)
|
||||||
@@ -2125,6 +2133,14 @@ bool XAU5XTDHasLongSignal()
|
|||||||
//
|
//
|
||||||
||
|
||
|
||||||
//
|
//
|
||||||
|
(mConditions.isXTMStartBullish &&
|
||||||
|
mConditions.isXAMAStartBullish &&
|
||||||
|
mConditions.isXTDSignalCrossedOverBear &&
|
||||||
|
mConditions.isXLHPriceCrossedOverSignal &&
|
||||||
|
mConditions.isXTSCurrentCrossedOverNearest)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
((mConditions.isXTSCurrentUnderNearest ||
|
((mConditions.isXTSCurrentUnderNearest ||
|
||||||
mConditions.isXTSCurrentCrossedUnderNearest) &&
|
mConditions.isXTSCurrentCrossedUnderNearest) &&
|
||||||
(mConditions.isXTSCurrentUnderMediest ||
|
(mConditions.isXTSCurrentUnderMediest ||
|
||||||
@@ -2186,6 +2202,14 @@ bool XAU5XTDHasLongSignal()
|
|||||||
//
|
//
|
||||||
||
|
||
|
||||||
//
|
//
|
||||||
|
(mConditions.isXCHMAMCPeak &&
|
||||||
|
mConditions.isXTSCurrentMax &&
|
||||||
|
mConditions.isXLHLLDecreased &&
|
||||||
|
mConditions.isXCHMASCCrossedOverMax &&
|
||||||
|
mConditions.isXTDSignalCrossedOverBear)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
(mConditions.isXCHMAMCPeak &&
|
(mConditions.isXCHMAMCPeak &&
|
||||||
mConditions.isXTMNeutural &&
|
mConditions.isXTMNeutural &&
|
||||||
mConditions.isXAMANeutural &&
|
mConditions.isXAMANeutural &&
|
||||||
@@ -2212,6 +2236,13 @@ bool XAU5XTDHasLongSignal()
|
|||||||
//
|
//
|
||||||
||
|
||
|
||||||
//
|
//
|
||||||
|
(mConditions.isXTMNeutural &&
|
||||||
|
mConditions.isXTSCurrentMax &&
|
||||||
|
mConditions.isXTDSignalCrossedOverBear &&
|
||||||
|
mConditions.isXTSCurrentCrossedOverNearest)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
((mConditions.isXTMNeutural &&
|
((mConditions.isXTMNeutural &&
|
||||||
mConditions.isXAMANeutural) &&
|
mConditions.isXAMANeutural) &&
|
||||||
(
|
(
|
||||||
@@ -2549,6 +2580,16 @@ bool XAU5XTDHasLongSignal()
|
|||||||
//
|
//
|
||||||
||
|
||
|
||||||
//
|
//
|
||||||
|
(mConditions.isXTMBullish &&
|
||||||
|
mConditions.isXAMABullish &&
|
||||||
|
mConditions.isXTSCurrentMax &&
|
||||||
|
mConditions.isXCHMALCTrendsDown &&
|
||||||
|
mConditions.isXTSCurrentOverFarest &&
|
||||||
|
mConditions.isXTSCurrentOverMediest &&
|
||||||
|
mConditions.isXTDSignalCrossedOverBear)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
(mConditions.isXCHMAMCPeak &&
|
(mConditions.isXCHMAMCPeak &&
|
||||||
mConditions.isXCHLHSCMCHHSame &&
|
mConditions.isXCHLHSCMCHHSame &&
|
||||||
mConditions.isXCHMASCCrossedOverMax &&
|
mConditions.isXCHMASCCrossedOverMax &&
|
||||||
|
|||||||
@@ -0,0 +1,62 @@
|
|||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| CandleTimeStationary|
|
||||||
|
//| |
|
||||||
|
//| |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
|
||||||
|
#property indicator_chart_window
|
||||||
|
#property strict
|
||||||
|
|
||||||
|
//---- input parameters
|
||||||
|
input color Clock_Color = clrDimGray;
|
||||||
|
input ENUM_BASE_CORNER Corner = CORNER_RIGHT_UPPER;
|
||||||
|
|
||||||
|
string objname="Spread&Bar";
|
||||||
|
double s1[];
|
||||||
|
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| expert initialization function |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
int OnInit()
|
||||||
|
{
|
||||||
|
ObjectCreate(0, objname, OBJ_LABEL,0, 0, 0);
|
||||||
|
ObjectSetInteger(0, objname, OBJPROP_CORNER, Corner);
|
||||||
|
ObjectSetInteger(0, objname, OBJPROP_XDISTANCE, 10);
|
||||||
|
ObjectSetInteger(0, objname, OBJPROP_YDISTANCE, 2);
|
||||||
|
ENUM_ANCHOR_POINT Anchor = ANCHOR_LEFT_UPPER;
|
||||||
|
switch (Corner)
|
||||||
|
{
|
||||||
|
case CORNER_LEFT_UPPER: Anchor=ANCHOR_LEFT_UPPER; break;
|
||||||
|
case CORNER_RIGHT_UPPER: Anchor=ANCHOR_RIGHT_UPPER; break;
|
||||||
|
case CORNER_LEFT_LOWER: Anchor=ANCHOR_LEFT_LOWER; break;
|
||||||
|
case CORNER_RIGHT_LOWER: Anchor=ANCHOR_RIGHT_LOWER; break;
|
||||||
|
}
|
||||||
|
ObjectSetInteger(0, objname, OBJPROP_ANCHOR, Anchor);
|
||||||
|
|
||||||
|
return(INIT_SUCCEEDED);
|
||||||
|
}
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
void OnDeinit(const int reason) { ObjectDelete(0, objname); }
|
||||||
|
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
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& spreads[])
|
||||||
|
{
|
||||||
|
ArraySetAsSeries(time, true);
|
||||||
|
int m=int(time[0]+PeriodSeconds()-TimeCurrent());
|
||||||
|
int s=m%60;
|
||||||
|
m=(m-s)/60;
|
||||||
|
long spread=SymbolInfoInteger(Symbol(), SYMBOL_SPREAD);
|
||||||
|
|
||||||
|
string _sp="",_m="",_s="";
|
||||||
|
if (spread<10) _sp="..";
|
||||||
|
else if (spread<100) _sp=".";
|
||||||
|
if (m<10) _m="0";
|
||||||
|
if (s<10) _s="0";
|
||||||
|
|
||||||
|
ObjectSetString(0, objname, OBJPROP_TEXT, "Spread: " +IntegerToString(spread)+_sp+" Next Bar in "+_m+IntegerToString(m)+":"+_s+IntegerToString(s));
|
||||||
|
ObjectSetInteger(0, objname, OBJPROP_FONTSIZE, 10);
|
||||||
|
ObjectSetInteger(0, objname, OBJPROP_COLOR, Clock_Color);
|
||||||
|
ObjectSetString(0, objname, OBJPROP_FONT, "Courier");
|
||||||
|
|
||||||
|
return(rates_total);
|
||||||
|
}
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| CandleTimeStationary|
|
||||||
|
//| |
|
||||||
|
//| |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
|
||||||
|
#property indicator_chart_window
|
||||||
|
#property strict
|
||||||
|
|
||||||
|
//---- input parameters
|
||||||
|
input color Clock_Color = clrDimGray;
|
||||||
|
input ENUM_BASE_CORNER Corner = CORNER_RIGHT_UPPER;
|
||||||
|
|
||||||
|
string objname="Spread&Bar";
|
||||||
|
double s1[];
|
||||||
|
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| expert initialization function |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
int OnInit()
|
||||||
|
{
|
||||||
|
ObjectCreate(0, objname, OBJ_LABEL,0, 0, 0);
|
||||||
|
ObjectSetInteger(0, objname, OBJPROP_CORNER, Corner);
|
||||||
|
ObjectSetInteger(0, objname, OBJPROP_XDISTANCE, 10);
|
||||||
|
ObjectSetInteger(0, objname, OBJPROP_YDISTANCE, 2);
|
||||||
|
ENUM_ANCHOR_POINT Anchor = ANCHOR_LEFT_UPPER;
|
||||||
|
switch (Corner)
|
||||||
|
{
|
||||||
|
case CORNER_LEFT_UPPER: Anchor=ANCHOR_LEFT_UPPER; break;
|
||||||
|
case CORNER_RIGHT_UPPER: Anchor=ANCHOR_RIGHT_UPPER; break;
|
||||||
|
case CORNER_LEFT_LOWER: Anchor=ANCHOR_LEFT_LOWER; break;
|
||||||
|
case CORNER_RIGHT_LOWER: Anchor=ANCHOR_RIGHT_LOWER; break;
|
||||||
|
}
|
||||||
|
ObjectSetInteger(0, objname, OBJPROP_ANCHOR, Anchor);
|
||||||
|
|
||||||
|
return(INIT_SUCCEEDED);
|
||||||
|
}
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
void OnDeinit(const int reason) { ObjectDelete(0, objname); }
|
||||||
|
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
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& spreads[])
|
||||||
|
{
|
||||||
|
ArraySetAsSeries(time, true);
|
||||||
|
int m=int(time[0]+PeriodSeconds()-TimeCurrent());
|
||||||
|
int s=m%60;
|
||||||
|
m=(m-s)/60;
|
||||||
|
long spread=SymbolInfoInteger(Symbol(), SYMBOL_SPREAD);
|
||||||
|
|
||||||
|
string _sp="",_m="",_s="";
|
||||||
|
if (spread<10) _sp="..";
|
||||||
|
else if (spread<100) _sp=".";
|
||||||
|
if (m<10) _m="0";
|
||||||
|
if (s<10) _s="0";
|
||||||
|
|
||||||
|
ObjectSetString(0, objname, OBJPROP_TEXT, "Spread: " +IntegerToString(spread)+_sp+" Next Bar in "+_m+IntegerToString(m)+":"+_s+IntegerToString(s));
|
||||||
|
ObjectSetInteger(0, objname, OBJPROP_FONTSIZE, 10);
|
||||||
|
ObjectSetInteger(0, objname, OBJPROP_COLOR, Clock_Color);
|
||||||
|
ObjectSetString(0, objname, OBJPROP_FONT, "Courier");
|
||||||
|
|
||||||
|
return(rates_total);
|
||||||
|
}
|
||||||
@@ -1678,6 +1678,14 @@ bool XAU5XTDHasLongSignal()
|
|||||||
mConditions.isXCHMALCPeak &&
|
mConditions.isXCHMALCPeak &&
|
||||||
mConditions.isXAMANeutural)
|
mConditions.isXAMANeutural)
|
||||||
//
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
(mConditions.isXCHMAMCVale &&
|
||||||
|
mConditions.isXCHMALCPeak &&
|
||||||
|
mConditions.isXTSCurrentMax &&
|
||||||
|
mConditions.isXTSCurrentOverFarest &&
|
||||||
|
mConditions.isXTDSignalCrossedOverBear)
|
||||||
|
//
|
||||||
)
|
)
|
||||||
//
|
//
|
||||||
)
|
)
|
||||||
@@ -2125,6 +2133,14 @@ bool XAU5XTDHasLongSignal()
|
|||||||
//
|
//
|
||||||
||
|
||
|
||||||
//
|
//
|
||||||
|
(mConditions.isXTMStartBullish &&
|
||||||
|
mConditions.isXAMAStartBullish &&
|
||||||
|
mConditions.isXTDSignalCrossedOverBear &&
|
||||||
|
mConditions.isXLHPriceCrossedOverSignal &&
|
||||||
|
mConditions.isXTSCurrentCrossedOverNearest)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
((mConditions.isXTSCurrentUnderNearest ||
|
((mConditions.isXTSCurrentUnderNearest ||
|
||||||
mConditions.isXTSCurrentCrossedUnderNearest) &&
|
mConditions.isXTSCurrentCrossedUnderNearest) &&
|
||||||
(mConditions.isXTSCurrentUnderMediest ||
|
(mConditions.isXTSCurrentUnderMediest ||
|
||||||
@@ -2186,6 +2202,14 @@ bool XAU5XTDHasLongSignal()
|
|||||||
//
|
//
|
||||||
||
|
||
|
||||||
//
|
//
|
||||||
|
(mConditions.isXCHMAMCPeak &&
|
||||||
|
mConditions.isXTSCurrentMax &&
|
||||||
|
mConditions.isXLHLLDecreased &&
|
||||||
|
mConditions.isXCHMASCCrossedOverMax &&
|
||||||
|
mConditions.isXTDSignalCrossedOverBear)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
(mConditions.isXCHMAMCPeak &&
|
(mConditions.isXCHMAMCPeak &&
|
||||||
mConditions.isXTMNeutural &&
|
mConditions.isXTMNeutural &&
|
||||||
mConditions.isXAMANeutural &&
|
mConditions.isXAMANeutural &&
|
||||||
@@ -2212,6 +2236,13 @@ bool XAU5XTDHasLongSignal()
|
|||||||
//
|
//
|
||||||
||
|
||
|
||||||
//
|
//
|
||||||
|
(mConditions.isXTMNeutural &&
|
||||||
|
mConditions.isXTSCurrentMax &&
|
||||||
|
mConditions.isXTDSignalCrossedOverBear &&
|
||||||
|
mConditions.isXTSCurrentCrossedOverNearest)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
((mConditions.isXTMNeutural &&
|
((mConditions.isXTMNeutural &&
|
||||||
mConditions.isXAMANeutural) &&
|
mConditions.isXAMANeutural) &&
|
||||||
(
|
(
|
||||||
@@ -2549,6 +2580,16 @@ bool XAU5XTDHasLongSignal()
|
|||||||
//
|
//
|
||||||
||
|
||
|
||||||
//
|
//
|
||||||
|
(mConditions.isXTMBullish &&
|
||||||
|
mConditions.isXAMABullish &&
|
||||||
|
mConditions.isXTSCurrentMax &&
|
||||||
|
mConditions.isXCHMALCTrendsDown &&
|
||||||
|
mConditions.isXTSCurrentOverFarest &&
|
||||||
|
mConditions.isXTSCurrentOverMediest &&
|
||||||
|
mConditions.isXTDSignalCrossedOverBear)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
(mConditions.isXCHMAMCPeak &&
|
(mConditions.isXCHMAMCPeak &&
|
||||||
mConditions.isXCHLHSCMCHHSame &&
|
mConditions.isXCHLHSCMCHHSame &&
|
||||||
mConditions.isXCHMASCCrossedOverMax &&
|
mConditions.isXCHMASCCrossedOverMax &&
|
||||||
|
|||||||
@@ -1678,6 +1678,14 @@ bool XAU5XTDHasLongSignal()
|
|||||||
mConditions.isXCHMALCPeak &&
|
mConditions.isXCHMALCPeak &&
|
||||||
mConditions.isXAMANeutural)
|
mConditions.isXAMANeutural)
|
||||||
//
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
(mConditions.isXCHMAMCVale &&
|
||||||
|
mConditions.isXCHMALCPeak &&
|
||||||
|
mConditions.isXTSCurrentMax &&
|
||||||
|
mConditions.isXTSCurrentOverFarest &&
|
||||||
|
mConditions.isXTDSignalCrossedOverBear)
|
||||||
|
//
|
||||||
)
|
)
|
||||||
//
|
//
|
||||||
)
|
)
|
||||||
@@ -2125,6 +2133,14 @@ bool XAU5XTDHasLongSignal()
|
|||||||
//
|
//
|
||||||
||
|
||
|
||||||
//
|
//
|
||||||
|
(mConditions.isXTMStartBullish &&
|
||||||
|
mConditions.isXAMAStartBullish &&
|
||||||
|
mConditions.isXTDSignalCrossedOverBear &&
|
||||||
|
mConditions.isXLHPriceCrossedOverSignal &&
|
||||||
|
mConditions.isXTSCurrentCrossedOverNearest)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
((mConditions.isXTSCurrentUnderNearest ||
|
((mConditions.isXTSCurrentUnderNearest ||
|
||||||
mConditions.isXTSCurrentCrossedUnderNearest) &&
|
mConditions.isXTSCurrentCrossedUnderNearest) &&
|
||||||
(mConditions.isXTSCurrentUnderMediest ||
|
(mConditions.isXTSCurrentUnderMediest ||
|
||||||
@@ -2186,6 +2202,14 @@ bool XAU5XTDHasLongSignal()
|
|||||||
//
|
//
|
||||||
||
|
||
|
||||||
//
|
//
|
||||||
|
(mConditions.isXCHMAMCPeak &&
|
||||||
|
mConditions.isXTSCurrentMax &&
|
||||||
|
mConditions.isXLHLLDecreased &&
|
||||||
|
mConditions.isXCHMASCCrossedOverMax &&
|
||||||
|
mConditions.isXTDSignalCrossedOverBear)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
(mConditions.isXCHMAMCPeak &&
|
(mConditions.isXCHMAMCPeak &&
|
||||||
mConditions.isXTMNeutural &&
|
mConditions.isXTMNeutural &&
|
||||||
mConditions.isXAMANeutural &&
|
mConditions.isXAMANeutural &&
|
||||||
@@ -2212,6 +2236,13 @@ bool XAU5XTDHasLongSignal()
|
|||||||
//
|
//
|
||||||
||
|
||
|
||||||
//
|
//
|
||||||
|
(mConditions.isXTMNeutural &&
|
||||||
|
mConditions.isXTSCurrentMax &&
|
||||||
|
mConditions.isXTDSignalCrossedOverBear &&
|
||||||
|
mConditions.isXTSCurrentCrossedOverNearest)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
((mConditions.isXTMNeutural &&
|
((mConditions.isXTMNeutural &&
|
||||||
mConditions.isXAMANeutural) &&
|
mConditions.isXAMANeutural) &&
|
||||||
(
|
(
|
||||||
@@ -2549,6 +2580,16 @@ bool XAU5XTDHasLongSignal()
|
|||||||
//
|
//
|
||||||
||
|
||
|
||||||
//
|
//
|
||||||
|
(mConditions.isXTMBullish &&
|
||||||
|
mConditions.isXAMABullish &&
|
||||||
|
mConditions.isXTSCurrentMax &&
|
||||||
|
mConditions.isXCHMALCTrendsDown &&
|
||||||
|
mConditions.isXTSCurrentOverFarest &&
|
||||||
|
mConditions.isXTSCurrentOverMediest &&
|
||||||
|
mConditions.isXTDSignalCrossedOverBear)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
(mConditions.isXCHMAMCPeak &&
|
(mConditions.isXCHMAMCPeak &&
|
||||||
mConditions.isXCHLHSCMCHHSame &&
|
mConditions.isXCHLHSCMCHHSame &&
|
||||||
mConditions.isXCHMASCCrossedOverMax &&
|
mConditions.isXCHMASCCrossedOverMax &&
|
||||||
|
|||||||
Reference in New Issue
Block a user