add xchma for filter signals and clear and backup last filters for starting new Filtering ...
This commit is contained in:
@@ -2098,159 +2098,6 @@ struct X121SignalGenerator
|
|||||||
// Set Default Result to True ...
|
// Set Default Result to True ...
|
||||||
result = true;
|
result = true;
|
||||||
|
|
||||||
//
|
|
||||||
// Global Conditions ...
|
|
||||||
result =
|
|
||||||
//
|
|
||||||
result &&
|
|
||||||
//
|
|
||||||
!(
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
// XICH ...
|
|
||||||
conditions.ichConditions.isClosedUnderKijunSen &&
|
|
||||||
conditions.ichConditions.isTenkanSenOverKijunSen
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
||
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
// XICH ...
|
|
||||||
conditions.ichConditions.isTenkanSenUnderKijunSen
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
||
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
// XICH ...
|
|
||||||
conditions.ichConditions.isSenkouSpanAOverB &&
|
|
||||||
!conditions.ichConditions.isSenkouSpanAOverLast
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
||
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
// XICH ...
|
|
||||||
conditions.ichConditions.isSenkouSpanAUnderB &&
|
|
||||||
conditions.ichConditions.isSenkouSpanAUnderLast
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
||
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
// XICH ...
|
|
||||||
conditions.ichConditions.isSenkouSpanAOverB &&
|
|
||||||
!conditions.ichConditions.isSenkouSpanAOverLast &&
|
|
||||||
conditions.ichConditions.isTenkanSenCrossedOverKijunSen &&
|
|
||||||
//
|
|
||||||
// XVLM ...
|
|
||||||
conditions.vlmConditions.isVolumeUnderLast
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
||
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
// XICH ...
|
|
||||||
conditions.ichConditions.isClosedOverKijunSen &&
|
|
||||||
conditions.ichConditions.isTenkanSenOverKijunSen &&
|
|
||||||
conditions.ichConditions.isSenkouSpanAUnderB
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
||
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
// XPV ...
|
|
||||||
!conditions.pvConditions.isSCBullish &&
|
|
||||||
!conditions.pvConditions.isSCHHBullish &&
|
|
||||||
!conditions.pvConditions.isSCLLBullish &&
|
|
||||||
!conditions.pvConditions.isMCBullish &&
|
|
||||||
!conditions.pvConditions.isMCHHBullish &&
|
|
||||||
!conditions.pvConditions.isMCLLBullish &&
|
|
||||||
!conditions.pvConditions.isLCBullish &&
|
|
||||||
!conditions.pvConditions.isLCHHBullish &&
|
|
||||||
!conditions.pvConditions.isLCLLBullish &&
|
|
||||||
!conditions.pvConditions.isHCBullish &&
|
|
||||||
!conditions.pvConditions.isHCHHBullish &&
|
|
||||||
!conditions.pvConditions.isHCLLBullish &&
|
|
||||||
//
|
|
||||||
// XICH ...
|
|
||||||
conditions.ichConditions.isClosedOverKijunSen &&
|
|
||||||
(conditions.ichConditions.isTenkanSenOverKijunSen ||
|
|
||||||
conditions.ichConditions.isTenkanSenCrossedOverKijunSen)
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
||
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
// XPV ...
|
|
||||||
conditions.pvConditions.isNewPeak &&
|
|
||||||
conditions.pvConditions.isNewPeakOverLast &&
|
|
||||||
conditions.pvConditions.isFiboIncreased &&
|
|
||||||
conditions.pvConditions.isCloseOverFib1 &&
|
|
||||||
conditions.pvConditions.isCloseOverFib2 &&
|
|
||||||
conditions.pvConditions.isCloseOverFib3 &&
|
|
||||||
conditions.pvConditions.isCloseOverFib4 &&
|
|
||||||
conditions.pvConditions.isCloseOverFib5
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
&&
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
// XSCORES ...
|
|
||||||
bearishScore < 5 &&
|
|
||||||
bullishScore > bearishScore * 10
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
&&
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
// XPV ...
|
|
||||||
conditions.pvConditions.isSCBullish &&
|
|
||||||
conditions.pvConditions.isSCHHBullish &&
|
|
||||||
conditions.pvConditions.isSCLLBullish &&
|
|
||||||
conditions.pvConditions.isMCBullish &&
|
|
||||||
conditions.pvConditions.isMCHHBullish &&
|
|
||||||
conditions.pvConditions.isMCLLBullish &&
|
|
||||||
conditions.pvConditions.isLCBullish &&
|
|
||||||
conditions.pvConditions.isLCHHBullish &&
|
|
||||||
conditions.pvConditions.isLCLLBullish &&
|
|
||||||
conditions.pvConditions.isHCBullish &&
|
|
||||||
conditions.pvConditions.isHCHHBullish &&
|
|
||||||
conditions.pvConditions.isHCLLBullish
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Apply Filter ...
|
// Apply Filter ...
|
||||||
// Based On Symbol and Period ...
|
// Based On Symbol and Period ...
|
||||||
@@ -3520,179 +3367,6 @@ struct X121SignalGenerator
|
|||||||
// Set Default Result to True ...
|
// Set Default Result to True ...
|
||||||
result = true;
|
result = true;
|
||||||
|
|
||||||
//
|
|
||||||
// Global Conditions ...
|
|
||||||
result =
|
|
||||||
//
|
|
||||||
result &&
|
|
||||||
//
|
|
||||||
!(
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
// XICH ...
|
|
||||||
conditions.ichConditions.isClosedOverKijunSen &&
|
|
||||||
conditions.ichConditions.isTenkanSenUnderKijunSen
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
||
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
// XICH ...
|
|
||||||
conditions.ichConditions.isTenkanSenOverKijunSen
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
||
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
// XICH ...
|
|
||||||
conditions.ichConditions.isSenkouSpanAUnderB &&
|
|
||||||
!conditions.ichConditions.isSenkouSpanAUnderLast
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
||
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
// XPV ...
|
|
||||||
conditions.pvConditions.isNewVale &&
|
|
||||||
conditions.pvConditions.isNewValeUnderLast &&
|
|
||||||
conditions.pvConditions.isFiboDecreased &&
|
|
||||||
conditions.pvConditions.isSCBearish &&
|
|
||||||
!conditions.pvConditions.isMCBearish &&
|
|
||||||
//
|
|
||||||
// XICH ...
|
|
||||||
conditions.ichConditions.isClosedOverKijunSen &&
|
|
||||||
//
|
|
||||||
// XHK ...
|
|
||||||
conditions.hkConditions.isHKSwitchedToBearish &&
|
|
||||||
conditions.hkConditions.isSMHKSwitchedToBearish
|
|
||||||
|
|
||||||
)
|
|
||||||
//
|
|
||||||
||
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
// XPV ...
|
|
||||||
conditions.pvConditions.isNewVale &&
|
|
||||||
conditions.pvConditions.isNewValeUnderLast &&
|
|
||||||
conditions.pvConditions.isFiboDecreased &&
|
|
||||||
!conditions.pvConditions.isSCBearish &&
|
|
||||||
!conditions.pvConditions.isSCHHBearish &&
|
|
||||||
//
|
|
||||||
// XVLM ...
|
|
||||||
conditions.vlmConditions.isVolumeBearish &&
|
|
||||||
!conditions.vlmConditions.isVolumeOverLast
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
||
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
// XPV ...
|
|
||||||
conditions.pvConditions.isNewVale &&
|
|
||||||
conditions.pvConditions.isNewValeUnderLast &&
|
|
||||||
conditions.pvConditions.isFiboDecreased &&
|
|
||||||
conditions.pvConditions.isCloseUnderFib1 &&
|
|
||||||
conditions.pvConditions.isCloseUnderFib2 &&
|
|
||||||
conditions.pvConditions.isCloseUnderFib3 &&
|
|
||||||
conditions.pvConditions.isCloseUnderFib4 &&
|
|
||||||
conditions.pvConditions.isCloseUnderFib5
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
&&
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
// XVLM ...
|
|
||||||
conditions.vlmConditions.isVolumeBearish &&
|
|
||||||
conditions.vlmConditions.isVolumeOverLast
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
&&
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
conditions.pvConditions.isSCBearish &&
|
|
||||||
conditions.pvConditions.isSCHHBearish &&
|
|
||||||
conditions.pvConditions.isSCLLBearish &&
|
|
||||||
conditions.pvConditions.isMCBearish &&
|
|
||||||
conditions.pvConditions.isMCHHBearish &&
|
|
||||||
conditions.pvConditions.isMCLLBearish &&
|
|
||||||
conditions.pvConditions.isLCBearish &&
|
|
||||||
conditions.pvConditions.isLCHHBearish &&
|
|
||||||
conditions.pvConditions.isLCLLBearish &&
|
|
||||||
conditions.pvConditions.isHCBearish &&
|
|
||||||
conditions.pvConditions.isHCHHBearish &&
|
|
||||||
conditions.pvConditions.isHCLLBearish &&
|
|
||||||
//
|
|
||||||
// XICH ...
|
|
||||||
conditions.ichConditions.isClosedUnderKijunSen &&
|
|
||||||
conditions.ichConditions.isTenkanSenUnderKijunSen &&
|
|
||||||
conditions.ichConditions.isSenkouSpanAUnderB &&
|
|
||||||
conditions.ichConditions.isSenkouSpanAUnderLast &&
|
|
||||||
conditions.ichConditions.isFutureSenkouSpanAUnderB &&
|
|
||||||
conditions.ichConditions.isFutureSenkouSpanAUnderLast &&
|
|
||||||
conditions.ichConditions.isSenkouSpanACrossedUnderLast
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
||
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
// XICH ...
|
|
||||||
conditions.ichConditions.isSenkouSpanACrossedUnderB
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
||
|
|
||||||
//
|
|
||||||
(
|
|
||||||
//
|
|
||||||
// XRL ...
|
|
||||||
conditions.rlConditions.isFastBearish &&
|
|
||||||
conditions.rlConditions.isSlowBearish &&
|
|
||||||
conditions.rlConditions.isFastOverSlow &&
|
|
||||||
conditions.rlConditions.isVerifierBearish
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
&&
|
|
||||||
//
|
|
||||||
// XSCORES ...
|
|
||||||
bullishScore < 5 &&
|
|
||||||
bearishScore > bullishScore * 10
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
)
|
|
||||||
//
|
|
||||||
;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Apply Filter ...
|
// Apply Filter ...
|
||||||
// Based On Symbol and Period ...
|
// Based On Symbol and Period ...
|
||||||
@@ -4232,6 +3906,19 @@ public:
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// XCHMA ...
|
||||||
|
chmaHelper = new XSCXCHMAHelper();
|
||||||
|
result = chmaHelper.Init(
|
||||||
|
inputs.symbol,
|
||||||
|
inputs.period,
|
||||||
|
inputs.chmaInputs //
|
||||||
|
);
|
||||||
|
if (!result)
|
||||||
|
{
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// XATSL ...
|
// XATSL ...
|
||||||
atslHelper = new XSCXATSLHelper();
|
atslHelper = new XSCXATSLHelper();
|
||||||
|
|||||||
@@ -0,0 +1,202 @@
|
|||||||
|
//
|
||||||
|
// Filter Long Conditions ...
|
||||||
|
bool FilterLongConditions(
|
||||||
|
X121SetupConditions &conditions, // Conditions
|
||||||
|
int pusher, // Pushers
|
||||||
|
string provider // Provider
|
||||||
|
)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
bool result = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Generating Conditions Score ...
|
||||||
|
double bullishScore = 0;
|
||||||
|
double bearishScore = 0;
|
||||||
|
conditions.GenerateScore(
|
||||||
|
bullishScore,
|
||||||
|
bearishScore //
|
||||||
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isGBPUSD = symbolParser.IsGBPUSD(conditions.symbol);
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isM5Period = conditions.period == PERIOD_M5;
|
||||||
|
bool isM15Period = conditions.period == PERIOD_M15;
|
||||||
|
bool isH1Period = conditions.period == PERIOD_H1;
|
||||||
|
bool isH4Period = conditions.period == PERIOD_H4;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Set Default Result to True ...
|
||||||
|
result = true;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Global Conditions ...
|
||||||
|
result =
|
||||||
|
//
|
||||||
|
result &&
|
||||||
|
//
|
||||||
|
!(
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
// XICH ...
|
||||||
|
conditions.ichConditions.isClosedUnderKijunSen &&
|
||||||
|
conditions.ichConditions.isTenkanSenOverKijunSen
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
// XICH ...
|
||||||
|
conditions.ichConditions.isTenkanSenUnderKijunSen
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
// XICH ...
|
||||||
|
conditions.ichConditions.isSenkouSpanAOverB &&
|
||||||
|
!conditions.ichConditions.isSenkouSpanAOverLast
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
// XICH ...
|
||||||
|
conditions.ichConditions.isSenkouSpanAUnderB &&
|
||||||
|
conditions.ichConditions.isSenkouSpanAUnderLast
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
// XICH ...
|
||||||
|
conditions.ichConditions.isSenkouSpanAOverB &&
|
||||||
|
!conditions.ichConditions.isSenkouSpanAOverLast &&
|
||||||
|
conditions.ichConditions.isTenkanSenCrossedOverKijunSen &&
|
||||||
|
//
|
||||||
|
// XVLM ...
|
||||||
|
conditions.vlmConditions.isVolumeUnderLast
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
// XICH ...
|
||||||
|
conditions.ichConditions.isClosedOverKijunSen &&
|
||||||
|
conditions.ichConditions.isTenkanSenOverKijunSen &&
|
||||||
|
conditions.ichConditions.isSenkouSpanAUnderB
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
// XPV ...
|
||||||
|
!conditions.pvConditions.isSCBullish &&
|
||||||
|
!conditions.pvConditions.isSCHHBullish &&
|
||||||
|
!conditions.pvConditions.isSCLLBullish &&
|
||||||
|
!conditions.pvConditions.isMCBullish &&
|
||||||
|
!conditions.pvConditions.isMCHHBullish &&
|
||||||
|
!conditions.pvConditions.isMCLLBullish &&
|
||||||
|
!conditions.pvConditions.isLCBullish &&
|
||||||
|
!conditions.pvConditions.isLCHHBullish &&
|
||||||
|
!conditions.pvConditions.isLCLLBullish &&
|
||||||
|
!conditions.pvConditions.isHCBullish &&
|
||||||
|
!conditions.pvConditions.isHCHHBullish &&
|
||||||
|
!conditions.pvConditions.isHCLLBullish &&
|
||||||
|
//
|
||||||
|
// XICH ...
|
||||||
|
conditions.ichConditions.isClosedOverKijunSen &&
|
||||||
|
(conditions.ichConditions.isTenkanSenOverKijunSen ||
|
||||||
|
conditions.ichConditions.isTenkanSenCrossedOverKijunSen)
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
// XPV ...
|
||||||
|
conditions.pvConditions.isNewPeak &&
|
||||||
|
conditions.pvConditions.isNewPeakOverLast &&
|
||||||
|
conditions.pvConditions.isFiboIncreased &&
|
||||||
|
conditions.pvConditions.isCloseOverFib1 &&
|
||||||
|
conditions.pvConditions.isCloseOverFib2 &&
|
||||||
|
conditions.pvConditions.isCloseOverFib3 &&
|
||||||
|
conditions.pvConditions.isCloseOverFib4 &&
|
||||||
|
conditions.pvConditions.isCloseOverFib5
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
&&
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
// XSCORES ...
|
||||||
|
bearishScore < 5 &&
|
||||||
|
bullishScore > bearishScore * 10
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
&&
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
// XPV ...
|
||||||
|
conditions.pvConditions.isSCBullish &&
|
||||||
|
conditions.pvConditions.isSCHHBullish &&
|
||||||
|
conditions.pvConditions.isSCLLBullish &&
|
||||||
|
conditions.pvConditions.isMCBullish &&
|
||||||
|
conditions.pvConditions.isMCHHBullish &&
|
||||||
|
conditions.pvConditions.isMCLLBullish &&
|
||||||
|
conditions.pvConditions.isLCBullish &&
|
||||||
|
conditions.pvConditions.isLCHHBullish &&
|
||||||
|
conditions.pvConditions.isLCLLBullish &&
|
||||||
|
conditions.pvConditions.isHCBullish &&
|
||||||
|
conditions.pvConditions.isHCHHBullish &&
|
||||||
|
conditions.pvConditions.isHCLLBullish
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Apply Filter ...
|
||||||
|
// Based On Symbol and Period ...
|
||||||
|
// if necessary ...
|
||||||
|
if (isGBPUSD)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
// MEDIUM ...
|
||||||
|
if (isH1Period)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
return result;
|
||||||
|
}
|
||||||
@@ -0,0 +1,222 @@
|
|||||||
|
//
|
||||||
|
// Filter Short Conditions ...
|
||||||
|
bool FilterShortConditions(
|
||||||
|
X121SetupConditions &conditions, // Conditions
|
||||||
|
int pusher, // Pushers
|
||||||
|
string provider // Provider
|
||||||
|
)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
bool result = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Generating Conditions Score ...
|
||||||
|
double bullishScore = 0;
|
||||||
|
double bearishScore = 0;
|
||||||
|
conditions.GenerateScore(
|
||||||
|
bullishScore,
|
||||||
|
bearishScore //
|
||||||
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isGBPUSD = symbolParser.IsGBPUSD(conditions.symbol);
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isM5Period = conditions.period == PERIOD_M5;
|
||||||
|
bool isM15Period = conditions.period == PERIOD_M15;
|
||||||
|
bool isH1Period = conditions.period == PERIOD_H1;
|
||||||
|
bool isH4Period = conditions.period == PERIOD_H4;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Set Default Result to True ...
|
||||||
|
result = true;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Global Conditions ...
|
||||||
|
result =
|
||||||
|
//
|
||||||
|
result &&
|
||||||
|
//
|
||||||
|
!(
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
// XICH ...
|
||||||
|
conditions.ichConditions.isClosedOverKijunSen &&
|
||||||
|
conditions.ichConditions.isTenkanSenUnderKijunSen
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
// XICH ...
|
||||||
|
conditions.ichConditions.isTenkanSenOverKijunSen
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
// XICH ...
|
||||||
|
conditions.ichConditions.isSenkouSpanAUnderB &&
|
||||||
|
!conditions.ichConditions.isSenkouSpanAUnderLast
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
// XPV ...
|
||||||
|
conditions.pvConditions.isNewVale &&
|
||||||
|
conditions.pvConditions.isNewValeUnderLast &&
|
||||||
|
conditions.pvConditions.isFiboDecreased &&
|
||||||
|
conditions.pvConditions.isSCBearish &&
|
||||||
|
!conditions.pvConditions.isMCBearish &&
|
||||||
|
//
|
||||||
|
// XICH ...
|
||||||
|
conditions.ichConditions.isClosedOverKijunSen &&
|
||||||
|
//
|
||||||
|
// XHK ...
|
||||||
|
conditions.hkConditions.isHKSwitchedToBearish &&
|
||||||
|
conditions.hkConditions.isSMHKSwitchedToBearish
|
||||||
|
|
||||||
|
)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
// XPV ...
|
||||||
|
conditions.pvConditions.isNewVale &&
|
||||||
|
conditions.pvConditions.isNewValeUnderLast &&
|
||||||
|
conditions.pvConditions.isFiboDecreased &&
|
||||||
|
!conditions.pvConditions.isSCBearish &&
|
||||||
|
!conditions.pvConditions.isSCHHBearish &&
|
||||||
|
//
|
||||||
|
// XVLM ...
|
||||||
|
conditions.vlmConditions.isVolumeBearish &&
|
||||||
|
!conditions.vlmConditions.isVolumeOverLast
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
// XPV ...
|
||||||
|
conditions.pvConditions.isNewVale &&
|
||||||
|
conditions.pvConditions.isNewValeUnderLast &&
|
||||||
|
conditions.pvConditions.isFiboDecreased &&
|
||||||
|
conditions.pvConditions.isCloseUnderFib1 &&
|
||||||
|
conditions.pvConditions.isCloseUnderFib2 &&
|
||||||
|
conditions.pvConditions.isCloseUnderFib3 &&
|
||||||
|
conditions.pvConditions.isCloseUnderFib4 &&
|
||||||
|
conditions.pvConditions.isCloseUnderFib5
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
&&
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
// XVLM ...
|
||||||
|
conditions.vlmConditions.isVolumeBearish &&
|
||||||
|
conditions.vlmConditions.isVolumeOverLast
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
&&
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
conditions.pvConditions.isSCBearish &&
|
||||||
|
conditions.pvConditions.isSCHHBearish &&
|
||||||
|
conditions.pvConditions.isSCLLBearish &&
|
||||||
|
conditions.pvConditions.isMCBearish &&
|
||||||
|
conditions.pvConditions.isMCHHBearish &&
|
||||||
|
conditions.pvConditions.isMCLLBearish &&
|
||||||
|
conditions.pvConditions.isLCBearish &&
|
||||||
|
conditions.pvConditions.isLCHHBearish &&
|
||||||
|
conditions.pvConditions.isLCLLBearish &&
|
||||||
|
conditions.pvConditions.isHCBearish &&
|
||||||
|
conditions.pvConditions.isHCHHBearish &&
|
||||||
|
conditions.pvConditions.isHCLLBearish &&
|
||||||
|
//
|
||||||
|
// XICH ...
|
||||||
|
conditions.ichConditions.isClosedUnderKijunSen &&
|
||||||
|
conditions.ichConditions.isTenkanSenUnderKijunSen &&
|
||||||
|
conditions.ichConditions.isSenkouSpanAUnderB &&
|
||||||
|
conditions.ichConditions.isSenkouSpanAUnderLast &&
|
||||||
|
conditions.ichConditions.isFutureSenkouSpanAUnderB &&
|
||||||
|
conditions.ichConditions.isFutureSenkouSpanAUnderLast &&
|
||||||
|
conditions.ichConditions.isSenkouSpanACrossedUnderLast
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
// XICH ...
|
||||||
|
conditions.ichConditions.isSenkouSpanACrossedUnderB
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
// XRL ...
|
||||||
|
conditions.rlConditions.isFastBearish &&
|
||||||
|
conditions.rlConditions.isSlowBearish &&
|
||||||
|
conditions.rlConditions.isFastOverSlow &&
|
||||||
|
conditions.rlConditions.isVerifierBearish
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
&&
|
||||||
|
//
|
||||||
|
// XSCORES ...
|
||||||
|
bullishScore < 5 &&
|
||||||
|
bearishScore > bullishScore * 10
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
)
|
||||||
|
//
|
||||||
|
;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Apply Filter ...
|
||||||
|
// Based On Symbol and Period ...
|
||||||
|
// if necessary ...
|
||||||
|
if (isGBPUSD)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
// MEDIUM ...
|
||||||
|
if (isH1Period)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
return result;
|
||||||
|
}
|
||||||
@@ -131,6 +131,7 @@ input bool x121EATerminalAlerts = false; // Terminal Alerts
|
|||||||
// Local Variables ...
|
// Local Variables ...
|
||||||
|
|
||||||
//
|
//
|
||||||
|
bool isInTestMode = false;
|
||||||
XTimeTracker x121EATimeTracker;
|
XTimeTracker x121EATimeTracker;
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -205,19 +206,31 @@ void OnTick()
|
|||||||
//
|
//
|
||||||
if (x121EATimeTracker.IsNewHour())
|
if (x121EATimeTracker.IsNewHour())
|
||||||
{
|
{
|
||||||
x121EA.Alert("New Hour ...");
|
//
|
||||||
|
if (!isInTestMode)
|
||||||
|
{
|
||||||
|
x121EA.Alert("New Hour ...");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
if (x121EATimeTracker.IsNewDay())
|
if (x121EATimeTracker.IsNewDay())
|
||||||
{
|
{
|
||||||
x121EA.Alert("New Day ...");
|
//
|
||||||
|
if (!isInTestMode)
|
||||||
|
{
|
||||||
|
x121EA.Alert("New Day ...");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
if (x121EATimeTracker.IsNewMonth())
|
if (x121EATimeTracker.IsNewMonth())
|
||||||
{
|
{
|
||||||
x121EA.Alert("New Mount ...");
|
//
|
||||||
|
if (!isInTestMode)
|
||||||
|
{
|
||||||
|
x121EA.Alert("New Mount ...");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|||||||
Reference in New Issue
Block a user