add support back indicators usage ...
This commit is contained in:
@@ -23,8 +23,6 @@
|
|||||||
// Imports ...
|
// Imports ...
|
||||||
#include "../Classes/x-saherelm.x-alert.class.mq5"
|
#include "../Classes/x-saherelm.x-alert.class.mq5"
|
||||||
#include "../Classes/x-saherelm.x-trade.class.mq5"
|
#include "../Classes/x-saherelm.x-trade.class.mq5"
|
||||||
#include "../Helpers/x-saherelm.xcc.helper.mq5"
|
|
||||||
#include "../Helpers/x-saherelm.xct.helper.mq5"
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Definitions ...
|
// Definitions ...
|
||||||
@@ -607,36 +605,6 @@ class XCBaseExpert : public XCBaseAlert
|
|||||||
//
|
//
|
||||||
// Initialize Indicator Helpers ...
|
// Initialize Indicator Helpers ...
|
||||||
|
|
||||||
//
|
|
||||||
// Bar Timer ...
|
|
||||||
XCTInputs ctInputs;
|
|
||||||
ctInputs.Default(); // Default Configurations ...
|
|
||||||
mCTHelper = new XCXCTHelper();
|
|
||||||
result = mCTHelper.Init(
|
|
||||||
_Symbol,
|
|
||||||
_Period,
|
|
||||||
ctInputs //
|
|
||||||
);
|
|
||||||
if (!result)
|
|
||||||
{
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Bar Styles ...
|
|
||||||
XCCInputs ccInputs;
|
|
||||||
ccInputs.Default(); // Default Configurations ...
|
|
||||||
mCCHelper = new XCXCCHelper();
|
|
||||||
result = mCCHelper.Init(
|
|
||||||
_Symbol,
|
|
||||||
_Period,
|
|
||||||
ccInputs //
|
|
||||||
);
|
|
||||||
if (!result)
|
|
||||||
{
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Create Trader Instance and Configure it ...
|
// Create Trader Instance and Configure it ...
|
||||||
mTrader = new XCTrade(
|
mTrader = new XCTrade(
|
||||||
@@ -655,13 +623,9 @@ class XCBaseExpert : public XCBaseAlert
|
|||||||
{
|
{
|
||||||
//
|
//
|
||||||
delete mTrader;
|
delete mTrader;
|
||||||
delete mCTHelper;
|
|
||||||
delete mCCHelper;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
ZeroMemory(mTrader);
|
ZeroMemory(mTrader);
|
||||||
ZeroMemory(mCTHelper);
|
|
||||||
ZeroMemory(mCCHelper);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -866,8 +830,6 @@ class XCBaseExpert : public XCBaseAlert
|
|||||||
|
|
||||||
//
|
//
|
||||||
XTimeTracker mTimeTracker; // Time Tracker for Providing Reports ...
|
XTimeTracker mTimeTracker; // Time Tracker for Providing Reports ...
|
||||||
XCXCTHelper *mCTHelper; // Bar Timer Indicator Helper class ...
|
|
||||||
XCXCCHelper *mCCHelper; // Chart Styler Indicator Helper Class ...
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Actions ...
|
// Actions ...
|
||||||
|
|||||||
+1424
-1375
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@
|
|||||||
//
|
//
|
||||||
// SaherElm IT Center MQL5 Helper Class Library
|
// SaherElm IT Center MQL5 Helper Class Library
|
||||||
// ----------------------------------------------
|
// ----------------------------------------------
|
||||||
// Name: XSCXCCHelper
|
// Name: XSCX121XCCHelper
|
||||||
// Description: provides all Indicator
|
// Description: provides all Indicator
|
||||||
// Helper requirements ...
|
// Helper requirements ...
|
||||||
//
|
//
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Input Models ...
|
// Input Models ...
|
||||||
struct XCCInputs
|
struct X121XCCInputs
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
// Props ...
|
// Props ...
|
||||||
@@ -50,7 +50,7 @@ struct XCCInputs
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Constructor(s) ...
|
// Constructor(s) ...
|
||||||
XCCInputs()
|
X121XCCInputs()
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
Clean();
|
Clean();
|
||||||
@@ -134,7 +134,7 @@ struct XCCInputs
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Class ...
|
// Class ...
|
||||||
class XCXCCHelper : public XCBaseHelper
|
class XCX121XCCHelper : public XCBaseHelper
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
// Public ...
|
// Public ...
|
||||||
@@ -144,14 +144,14 @@ class XCXCCHelper : public XCBaseHelper
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Constructors ...
|
// Constructors ...
|
||||||
XCXCCHelper()
|
XCX121XCCHelper()
|
||||||
: XCBaseHelper(_Symbol, _Period)
|
: XCBaseHelper(_Symbol, _Period)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Deconstructor ...
|
// Deconstructor ...
|
||||||
~XCXCCHelper()
|
~XCX121XCCHelper()
|
||||||
{
|
{
|
||||||
mInputs.Clean();
|
mInputs.Clean();
|
||||||
}
|
}
|
||||||
@@ -161,7 +161,7 @@ class XCXCCHelper : public XCBaseHelper
|
|||||||
bool Init(
|
bool Init(
|
||||||
string symbol, // Trading Symbol
|
string symbol, // Trading Symbol
|
||||||
ENUM_TIMEFRAMES period, // Trading Period
|
ENUM_TIMEFRAMES period, // Trading Period
|
||||||
XCCInputs &inputs // Inputs
|
X121XCCInputs &inputs // Inputs
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
@@ -185,7 +185,7 @@ class XCXCCHelper : public XCBaseHelper
|
|||||||
mHandler = iCustom(
|
mHandler = iCustom(
|
||||||
mSymbol,
|
mSymbol,
|
||||||
mPeriod,
|
mPeriod,
|
||||||
"x-saherelm.xcc",
|
"x-saherelm.x121.xcc",
|
||||||
//
|
//
|
||||||
// Inputs ...
|
// Inputs ...
|
||||||
//
|
//
|
||||||
@@ -218,14 +218,14 @@ class XCXCCHelper : public XCBaseHelper
|
|||||||
// Inputs ...
|
// Inputs ...
|
||||||
|
|
||||||
//
|
//
|
||||||
XCCInputs GetInputs()
|
X121XCCInputs GetInputs()
|
||||||
{
|
{
|
||||||
return mInputs;
|
return mInputs;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
bool SetInputs(
|
bool SetInputs(
|
||||||
XCCInputs &inputs // Configs
|
X121XCCInputs &inputs // Configs
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
@@ -245,7 +245,7 @@ class XCXCCHelper : public XCBaseHelper
|
|||||||
private:
|
private:
|
||||||
//
|
//
|
||||||
// Props ...
|
// Props ...
|
||||||
XCCInputs mInputs; // Inputs ...
|
X121XCCInputs mInputs; // Inputs ...
|
||||||
};
|
};
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
//
|
//
|
||||||
// SaherElm IT Center MQL5 Helper Class Library
|
// SaherElm IT Center MQL5 Helper Class Library
|
||||||
// ----------------------------------------------
|
// ----------------------------------------------
|
||||||
// Name: XSCXCTHelper
|
// Name: XSCX121XCTHelper
|
||||||
// Description: provides all Indicator
|
// Description: provides all Indicator
|
||||||
// Helper requirements ...
|
// Helper requirements ...
|
||||||
//
|
//
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Input Models ...
|
// Input Models ...
|
||||||
struct XCTInputs
|
struct X121XCTInputs
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
// Props ...
|
// Props ...
|
||||||
@@ -46,7 +46,7 @@ struct XCTInputs
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Constructor(s) ...
|
// Constructor(s) ...
|
||||||
XCTInputs()
|
X121XCTInputs()
|
||||||
{
|
{
|
||||||
Clean();
|
Clean();
|
||||||
}
|
}
|
||||||
@@ -122,7 +122,7 @@ struct XCTInputs
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Class ...
|
// Class ...
|
||||||
class XCXCTHelper : public XCBaseHelper
|
class XCX121XCTHelper : public XCBaseHelper
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
// Public ...
|
// Public ...
|
||||||
@@ -132,14 +132,14 @@ class XCXCTHelper : public XCBaseHelper
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Constructors ...
|
// Constructors ...
|
||||||
XCXCTHelper()
|
XCX121XCTHelper()
|
||||||
: XCBaseHelper(_Symbol, _Period)
|
: XCBaseHelper(_Symbol, _Period)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Deconstructor ...
|
// Deconstructor ...
|
||||||
~XCXCTHelper()
|
~XCX121XCTHelper()
|
||||||
{
|
{
|
||||||
mInputs.Clean();
|
mInputs.Clean();
|
||||||
}
|
}
|
||||||
@@ -149,7 +149,7 @@ class XCXCTHelper : public XCBaseHelper
|
|||||||
bool Init(
|
bool Init(
|
||||||
string symbol, // Trading Symbol
|
string symbol, // Trading Symbol
|
||||||
ENUM_TIMEFRAMES period, // Trading Period
|
ENUM_TIMEFRAMES period, // Trading Period
|
||||||
XCTInputs &inputs // Inputs
|
X121XCTInputs &inputs // Inputs
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
@@ -173,7 +173,7 @@ class XCXCTHelper : public XCBaseHelper
|
|||||||
mHandler = iCustom(
|
mHandler = iCustom(
|
||||||
mSymbol,
|
mSymbol,
|
||||||
mPeriod,
|
mPeriod,
|
||||||
"x-saherelm.xct",
|
"x-saherelm.x121.xct",
|
||||||
//
|
//
|
||||||
// Inputs ...
|
// Inputs ...
|
||||||
mInputs.fontSize, // Font Size ...
|
mInputs.fontSize, // Font Size ...
|
||||||
@@ -200,14 +200,14 @@ class XCXCTHelper : public XCBaseHelper
|
|||||||
// Inputs ...
|
// Inputs ...
|
||||||
|
|
||||||
//
|
//
|
||||||
XCTInputs GetInputs()
|
X121XCTInputs GetInputs()
|
||||||
{
|
{
|
||||||
return mInputs;
|
return mInputs;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
bool SetInputs(
|
bool SetInputs(
|
||||||
XCTInputs &inputs // Configs
|
X121XCTInputs &inputs // Configs
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
@@ -227,7 +227,7 @@ class XCXCTHelper : public XCBaseHelper
|
|||||||
private:
|
private:
|
||||||
//
|
//
|
||||||
// Props ...
|
// Props ...
|
||||||
XCTInputs mInputs; // Inputs ...
|
X121XCTInputs mInputs; // Inputs ...
|
||||||
};
|
};
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
//
|
//
|
||||||
// SaherElm IT Center MQL5 Candle Styles
|
// SaherElm IT Center MQL5 Candle Styles
|
||||||
// ---------------------------------------------------
|
// ---------------------------------------------------
|
||||||
// Name: XCC
|
// Name: X121 XCC
|
||||||
// Description: Candle Styles ...
|
// Description: Candle Styles ...
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
#property copyright "Copyright 2023, SaherElm IT Center"
|
#property copyright "Copyright 2023, SaherElm IT Center"
|
||||||
#property link "https://saherelm.ir"
|
#property link "https://saherelm.ir"
|
||||||
#property version "1.00"
|
#property version "1.00"
|
||||||
#property description "SaherElm XCC Indicator"
|
#property description "SaherElm X121 XCC Indicator"
|
||||||
#property strict
|
#property strict
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Indicator Short Name ...
|
// Indicator Short Name ...
|
||||||
#define ShortName "XCC"
|
#define ShortName "X121 XCC"
|
||||||
|
|
||||||
//
|
//
|
||||||
// Holds an SnapShot of Charts Configuration ...
|
// Holds an SnapShot of Charts Configuration ...
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
//
|
//
|
||||||
// SaherElm IT Center MQL5 Indicator
|
// SaherElm IT Center MQL5 Indicator
|
||||||
// ---------------------------------------------
|
// ---------------------------------------------
|
||||||
// Name: XCT
|
// Name: X121 XCT
|
||||||
// Description: Trend Magic Indicator ...
|
// Description: Trend Magic Indicator ...
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
#property copyright "Copyright 2023, SaherElm IT Center"
|
#property copyright "Copyright 2023, SaherElm IT Center"
|
||||||
#property link "https://saherelm.ir"
|
#property link "https://saherelm.ir"
|
||||||
#property version "1.00"
|
#property version "1.00"
|
||||||
#property description "SaherElm XCT Indicator"
|
#property description "SaherElm X121 XCT Indicator"
|
||||||
#property strict
|
#property strict
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
//
|
//
|
||||||
#define ShortName "XCT"
|
#define ShortName "X121 XCT"
|
||||||
#include "../Libraries/x-saherelm.common.lib.mq5"
|
#include "../Libraries/x-saherelm.common.lib.mq5"
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -2083,6 +2083,7 @@ class XCTwoBarZone : public XCZone
|
|||||||
* @param forDir: ENUM_X_DIRECTION member, Specified Action Direction ...
|
* @param forDir: ENUM_X_DIRECTION member, Specified Action Direction ...
|
||||||
* @param breakerBar: XOHCL instance Reference ...
|
* @param breakerBar: XOHCL instance Reference ...
|
||||||
* @param breakerDir: ENUM_X_DIRECTION member ...
|
* @param breakerDir: ENUM_X_DIRECTION member ...
|
||||||
|
* @param ignoreActivation: ignore Zone Activation and Used Start ...
|
||||||
* @param forPeriod: ENUM_TIMEFRAMES member, Specified Rejection Period ...
|
* @param forPeriod: ENUM_TIMEFRAMES member, Specified Rejection Period ...
|
||||||
*
|
*
|
||||||
* @return ( bool )
|
* @return ( bool )
|
||||||
@@ -2091,6 +2092,7 @@ class XCTwoBarZone : public XCZone
|
|||||||
ENUM_X_DIRECTION forDir,
|
ENUM_X_DIRECTION forDir,
|
||||||
XOHCL &breakerBar,
|
XOHCL &breakerBar,
|
||||||
ENUM_X_DIRECTION &breakerDir,
|
ENUM_X_DIRECTION &breakerDir,
|
||||||
|
bool ignoreActivation = false,
|
||||||
ENUM_TIMEFRAMES forPeriod = NULL //
|
ENUM_TIMEFRAMES forPeriod = NULL //
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
@@ -2117,22 +2119,60 @@ class XCTwoBarZone : public XCZone
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
XOHCL activatedBar;
|
bool isBullish = IsBullish(forDir);
|
||||||
ENUM_X_DIRECTION activatedDir;
|
bool isBearish = IsBearish(forDir);
|
||||||
bool isActivated = IsActivated(
|
int activatedIndex = -1;
|
||||||
forDir,
|
|
||||||
activatedBar,
|
//
|
||||||
activatedDir,
|
if (!ignoreActivation)
|
||||||
forPeriod //
|
{
|
||||||
);
|
//
|
||||||
result = isActivated;
|
XOHCL activatedBar;
|
||||||
|
ENUM_X_DIRECTION activatedDir;
|
||||||
|
bool isActivated = IsActivated(
|
||||||
|
forDir,
|
||||||
|
activatedBar,
|
||||||
|
activatedDir,
|
||||||
|
forPeriod //
|
||||||
|
);
|
||||||
|
result = isActivated;
|
||||||
|
if (!result)
|
||||||
|
{
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
activatedIndex = activatedBar.Index();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//
|
||||||
|
XOHCL startedBar;
|
||||||
|
ENUM_X_DIRECTION startedDir;
|
||||||
|
bool isStarted = IsActivated(
|
||||||
|
forDir,
|
||||||
|
startedBar,
|
||||||
|
startedDir,
|
||||||
|
forPeriod //
|
||||||
|
);
|
||||||
|
result = isStarted;
|
||||||
|
if (!result)
|
||||||
|
{
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
activatedIndex = startedBar.Index();
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
result = IsValidIndex(activatedIndex);
|
||||||
if (!result)
|
if (!result)
|
||||||
{
|
{
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
int activatedIndex = activatedBar.Index();
|
|
||||||
activatedIndex--;
|
activatedIndex--;
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -2164,16 +2204,30 @@ class XCTwoBarZone : public XCZone
|
|||||||
//
|
//
|
||||||
bool isBreakedFromUpper =
|
bool isBreakedFromUpper =
|
||||||
//
|
//
|
||||||
(iPBar.high <= Upper() &&
|
isBullish &&
|
||||||
iBar.low > Upper())
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
iBar.low > Upper() ||
|
||||||
|
(iBar.low <= Upper() &&
|
||||||
|
iBar.high > Upper())
|
||||||
|
//
|
||||||
|
)
|
||||||
//
|
//
|
||||||
;
|
;
|
||||||
|
|
||||||
//
|
//
|
||||||
bool isBreakedFromLower =
|
bool isBreakedFromLower =
|
||||||
//
|
//
|
||||||
(iPBar.low >= Lower() &&
|
isBearish &&
|
||||||
iBar.low < Lower())
|
//
|
||||||
|
(
|
||||||
|
//
|
||||||
|
iBar.low < Lower() ||
|
||||||
|
(iBar.high >= Lower() &&
|
||||||
|
iBar.low < Lower())
|
||||||
|
//
|
||||||
|
)
|
||||||
//
|
//
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|||||||
@@ -142,6 +142,10 @@ class XC121SMCCycleHelper : public XCBase
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
mSymbol = symbol;
|
||||||
|
mPeriod = period;
|
||||||
|
|
||||||
//
|
//
|
||||||
// X121 ...
|
// X121 ...
|
||||||
mX121Helper = new XCX121Helper();
|
mX121Helper = new XCX121Helper();
|
||||||
@@ -199,14 +203,7 @@ class XC121SMCCycleHelper : public XCBase
|
|||||||
*/
|
*/
|
||||||
string GetSymbol()
|
string GetSymbol()
|
||||||
{
|
{
|
||||||
//
|
return mSymbol;
|
||||||
string result = NULL;
|
|
||||||
|
|
||||||
//
|
|
||||||
result = mX121Helper.GetSymbol();
|
|
||||||
|
|
||||||
//
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -216,14 +213,7 @@ class XC121SMCCycleHelper : public XCBase
|
|||||||
*/
|
*/
|
||||||
ENUM_TIMEFRAMES GetPeriod()
|
ENUM_TIMEFRAMES GetPeriod()
|
||||||
{
|
{
|
||||||
//
|
return mPeriod;
|
||||||
ENUM_TIMEFRAMES result = NULL;
|
|
||||||
|
|
||||||
//
|
|
||||||
result = mX121Helper.GetPeriod();
|
|
||||||
|
|
||||||
//
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -433,8 +423,8 @@ class XC121SMCCycleHelper : public XCBase
|
|||||||
mPOIDetector.GetState(conditions.state);
|
mPOIDetector.GetState(conditions.state);
|
||||||
|
|
||||||
//
|
//
|
||||||
conditions.symbol = conditions.x121Conditions.symbol;
|
conditions.symbol = GetSymbol();
|
||||||
conditions.period = conditions.x121Conditions.period;
|
conditions.period = GetPeriod();
|
||||||
conditions.time = TimeCurrent();
|
conditions.time = TimeCurrent();
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -465,6 +455,8 @@ class XC121SMCCycleHelper : public XCBase
|
|||||||
private:
|
private:
|
||||||
//
|
//
|
||||||
// Props ...
|
// Props ...
|
||||||
|
string mSymbol;
|
||||||
|
ENUM_TIMEFRAMES mPeriod;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Actions ...
|
// Actions ...
|
||||||
|
|||||||
@@ -22,6 +22,8 @@
|
|||||||
//
|
//
|
||||||
// Imports ...
|
// Imports ...
|
||||||
#include "../../Classes/x-saherelm.x-expert.class.mq5"
|
#include "../../Classes/x-saherelm.x-expert.class.mq5"
|
||||||
|
#include "../../Helpers/x-saherelm.x121.xatr.helper.mq5"
|
||||||
|
#include "../../Helpers/x-saherelm.x121.xcc.helper.mq5"
|
||||||
#include "../Classes/x-121.smc.x-tradehandler.class.mq5"
|
#include "../Classes/x-121.smc.x-tradehandler.class.mq5"
|
||||||
#include "../Libraries/x-121.smc.lib.mq5"
|
#include "../Libraries/x-121.smc.lib.mq5"
|
||||||
#include "../Strategy/x-121.smc.strategy.class.mq5"
|
#include "../Strategy/x-121.smc.strategy.class.mq5"
|
||||||
@@ -38,6 +40,8 @@ class XC121SMCExpert : public XCBaseExpert
|
|||||||
//
|
//
|
||||||
public:
|
public:
|
||||||
//
|
//
|
||||||
|
XCX121XCCHelper *xccHelper;
|
||||||
|
XCX121XCTHelper *xctHelper;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Signal Event Listener ...
|
// Signal Event Listener ...
|
||||||
@@ -1157,20 +1161,19 @@ class XC121SMCExpert : public XCBaseExpert
|
|||||||
bool InitEA() override
|
bool InitEA() override
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
bool result = false;
|
bool result = true;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Initialize Indicator Helpers ...
|
// Initialize Indicator Helpers ...
|
||||||
|
|
||||||
//
|
//
|
||||||
// Bar Timer ...
|
X121XCCInputs xccInputs;
|
||||||
XCTInputs ctInputs;
|
xccInputs.Default();
|
||||||
ctInputs.Default(); // Default Configurations ...
|
xccHelper = new XCX121XCCHelper();
|
||||||
mCTHelper = new XCXCTHelper();
|
result = xccHelper.Init(
|
||||||
result = mCTHelper.Init(
|
_Symbol,
|
||||||
GetSymbol(),
|
_Period,
|
||||||
GetPeriod(),
|
xccInputs //
|
||||||
ctInputs //
|
|
||||||
);
|
);
|
||||||
if (!result)
|
if (!result)
|
||||||
{
|
{
|
||||||
@@ -1178,14 +1181,13 @@ class XC121SMCExpert : public XCBaseExpert
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Bar Styles ...
|
X121XCTInputs xctInputs;
|
||||||
XCCInputs ccInputs;
|
xctInputs.Default();
|
||||||
ccInputs.Default(); // Default Configurations ...
|
xctHelper = new XCX121XCTHelper();
|
||||||
mCCHelper = new XCXCCHelper();
|
result = xctHelper.Init(
|
||||||
result = mCCHelper.Init(
|
_Symbol,
|
||||||
GetSymbol(),
|
_Period,
|
||||||
GetPeriod(),
|
xctInputs //
|
||||||
ccInputs //
|
|
||||||
);
|
);
|
||||||
if (!result)
|
if (!result)
|
||||||
{
|
{
|
||||||
@@ -1334,13 +1336,13 @@ class XC121SMCExpert : public XCBaseExpert
|
|||||||
void DestroyEA() override
|
void DestroyEA() override
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
ZeroMemory(mCTHelper);
|
ZeroMemory(xccHelper);
|
||||||
ZeroMemory(mCCHelper);
|
ZeroMemory(xctHelper);
|
||||||
ZeroMemory(mTradeHandler);
|
ZeroMemory(mTradeHandler);
|
||||||
|
|
||||||
//
|
//
|
||||||
delete mCTHelper;
|
delet xccHelper;
|
||||||
delete mCCHelper;
|
delet xctHelper;
|
||||||
delete mTradeHandler;
|
delete mTradeHandler;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ bool DetectX121SMCGuards(
|
|||||||
// XC121SMCCycleHelper *triggerCycleHelper,
|
// XC121SMCCycleHelper *triggerCycleHelper,
|
||||||
XC121SMCCycleHelper *decisionCycleHelper,
|
XC121SMCCycleHelper *decisionCycleHelper,
|
||||||
XC121SMCCycleHelper *analyseCycleHelper,
|
XC121SMCCycleHelper *analyseCycleHelper,
|
||||||
XC121SMCCycleHelper *verificationCycleHelper,
|
// XC121SMCCycleHelper *verificationCycleHelper,
|
||||||
XC121SMCCycleHelper *consolidationCycleHelper,
|
XC121SMCCycleHelper *consolidationCycleHelper,
|
||||||
XC121SMCCycleHelper *visionCycleHelper,
|
XC121SMCCycleHelper *visionCycleHelper,
|
||||||
//
|
//
|
||||||
@@ -273,20 +273,20 @@ bool DetectX121SMCGuards(
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Verification ...
|
// Verification ...
|
||||||
ENUM_XPOI_EVENTS verificationPoiEvents[];
|
// ENUM_XPOI_EVENTS verificationPoiEvents[];
|
||||||
ENUM_X_CYCLE_EVENTS verificationCycleEvents[];
|
// ENUM_X_CYCLE_EVENTS verificationCycleEvents[];
|
||||||
X121SMCCycleConditions verificationConditions;
|
// X121SMCCycleConditions verificationConditions;
|
||||||
result = verificationCycleHelper.GetConditions(
|
// result = verificationCycleHelper.GetConditions(
|
||||||
verificationCycleEvents,
|
// verificationCycleEvents,
|
||||||
verificationPoiEvents,
|
// verificationPoiEvents,
|
||||||
verificationConditions,
|
// verificationConditions,
|
||||||
zIndex,
|
// zIndex,
|
||||||
loopback //
|
// loopback //
|
||||||
);
|
// );
|
||||||
if (!result)
|
// if (!result)
|
||||||
{
|
// {
|
||||||
return result;
|
// return result;
|
||||||
}
|
// }
|
||||||
|
|
||||||
//
|
//
|
||||||
// Consolidation ...
|
// Consolidation ...
|
||||||
@@ -327,18 +327,18 @@ bool DetectX121SMCGuards(
|
|||||||
// XPOIState triggerState = triggerConditions.state;
|
// XPOIState triggerState = triggerConditions.state;
|
||||||
XPOIState decisionState = decisionConditions.state;
|
XPOIState decisionState = decisionConditions.state;
|
||||||
XPOIState analyseState = analyseConditions.state;
|
XPOIState analyseState = analyseConditions.state;
|
||||||
XPOIState verificationState = verificationConditions.state;
|
// XPOIState verificationState = verificationConditions.state;
|
||||||
XPOIState consolidationState = consolidationConditions.state;
|
XPOIState consolidationState = consolidationConditions.state;
|
||||||
XPOIState visionState = visionConditions.state;
|
XPOIState visionState = visionConditions.state;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Cycle X121Conditions ...
|
// Cycle X121Conditions ...
|
||||||
// X121Conditions triggerXConditions = triggerConditions.x121Conditions;
|
// X121Conditions triggerXConditions = triggerConditions.x121Conditions;
|
||||||
X121Conditions decisionXConditions = decisionConditions.x121Conditions;
|
// X121Conditions decisionXConditions = decisionConditions.x121Conditions;
|
||||||
X121Conditions analyseXConditions = analyseConditions.x121Conditions;
|
// X121Conditions analyseXConditions = analyseConditions.x121Conditions;
|
||||||
X121Conditions verificationXConditions = verificationConditions.x121Conditions;
|
// X121Conditions verificationXConditions = verificationConditions.x121Conditions;
|
||||||
X121Conditions consolidationXConditions = consolidationConditions.x121Conditions;
|
// X121Conditions consolidationXConditions = consolidationConditions.x121Conditions;
|
||||||
X121Conditions visionXConditions = visionConditions.x121Conditions;
|
// X121Conditions visionXConditions = visionConditions.x121Conditions;
|
||||||
|
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
@@ -861,7 +861,7 @@ bool DetectX121SMCGuards(
|
|||||||
//
|
//
|
||||||
if (hasTrendGuard)
|
if (hasTrendGuard)
|
||||||
{
|
{
|
||||||
guardStop = decisionXConditions.strBuffer[1] - decisionXConditions.atrBuffer[1];
|
// guardStop = decisionXConditions.strBuffer[1] - decisionXConditions.atrBuffer[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -986,7 +986,7 @@ bool DetectX121SMCGuards(
|
|||||||
//
|
//
|
||||||
if (hasTrendGuard)
|
if (hasTrendGuard)
|
||||||
{
|
{
|
||||||
guardStop = decisionXConditions.strBuffer[1] + decisionXConditions.atrBuffer[1];
|
// guardStop = decisionXConditions.strBuffer[1] + decisionXConditions.atrBuffer[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -1228,8 +1228,8 @@ bool DetectX121SMCGuards(
|
|||||||
Clean(decisionCycleEvents);
|
Clean(decisionCycleEvents);
|
||||||
Clean(analysePoiEvents);
|
Clean(analysePoiEvents);
|
||||||
Clean(analyseCycleEvents);
|
Clean(analyseCycleEvents);
|
||||||
Clean(verificationPoiEvents);
|
// Clean(verificationPoiEvents);
|
||||||
Clean(verificationCycleEvents);
|
// Clean(verificationCycleEvents);
|
||||||
Clean(consolidationPoiEvents);
|
Clean(consolidationPoiEvents);
|
||||||
Clean(consolidationCycleEvents);
|
Clean(consolidationCycleEvents);
|
||||||
Clean(visionPoiEvents);
|
Clean(visionPoiEvents);
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ struct X121SMCCycleConditions
|
|||||||
|
|
||||||
//
|
//
|
||||||
state.Clean();
|
state.Clean();
|
||||||
x121Conditions.Clean();
|
// x121Conditions.Clean();
|
||||||
|
|
||||||
//
|
//
|
||||||
ZeroMemory(this);
|
ZeroMemory(this);
|
||||||
@@ -273,7 +273,7 @@ struct X121SMCStrategyConditions
|
|||||||
ENUM_X_DIRECTION signalDir;
|
ENUM_X_DIRECTION signalDir;
|
||||||
|
|
||||||
//
|
//
|
||||||
X121Conditions conditions;
|
// X121Conditions conditions;
|
||||||
// XPriceZones priceZones;
|
// XPriceZones priceZones;
|
||||||
// XPriceZones decisionZones;
|
// XPriceZones decisionZones;
|
||||||
// XMarketStructure marketStructure;
|
// XMarketStructure marketStructure;
|
||||||
@@ -304,7 +304,7 @@ struct X121SMCStrategyConditions
|
|||||||
signalDir = X_DIRECTION_NONE;
|
signalDir = X_DIRECTION_NONE;
|
||||||
|
|
||||||
//
|
//
|
||||||
conditions.Clean();
|
// conditions.Clean();
|
||||||
// priceZones.Clean();
|
// priceZones.Clean();
|
||||||
// decisionZones.Clean();
|
// decisionZones.Clean();
|
||||||
// marketStructure.Clean();
|
// marketStructure.Clean();
|
||||||
|
|||||||
@@ -195,6 +195,10 @@ struct XOBFVG
|
|||||||
isBullish
|
isBullish
|
||||||
? isAbove
|
? isAbove
|
||||||
: isBelow;
|
: isBelow;
|
||||||
|
if (!result)
|
||||||
|
{
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Check FVG Must Be Started ...
|
// Check FVG Must Be Started ...
|
||||||
@@ -1678,10 +1682,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
//
|
//
|
||||||
X121SMCStrategyXSupDemOBSSignalConditions &conditions,
|
X121SMCStrategyXSupDemOBSSignalConditions &conditions,
|
||||||
//
|
//
|
||||||
// XC121SMCCycleHelper *triggerCycleHelper,
|
|
||||||
XC121SMCCycleHelper *decisionCycleHelper,
|
XC121SMCCycleHelper *decisionCycleHelper,
|
||||||
XC121SMCCycleHelper *analyseCycleHelper,
|
XC121SMCCycleHelper *analyseCycleHelper,
|
||||||
XC121SMCCycleHelper *verificationCycleHelper,
|
|
||||||
XC121SMCCycleHelper *consolidationCycleHelper,
|
XC121SMCCycleHelper *consolidationCycleHelper,
|
||||||
XC121SMCCycleHelper *visionCycleHelper
|
XC121SMCCycleHelper *visionCycleHelper
|
||||||
//
|
//
|
||||||
@@ -1690,6 +1692,21 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
//
|
//
|
||||||
bool result = false;
|
bool result = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Validate Cycle Helpers ...
|
||||||
|
result =
|
||||||
|
//
|
||||||
|
visionCycleHelper != NULL &&
|
||||||
|
analyseCycleHelper != NULL &&
|
||||||
|
decisionCycleHelper != NULL &&
|
||||||
|
consolidationCycleHelper != NULL
|
||||||
|
//
|
||||||
|
;
|
||||||
|
if (!result)
|
||||||
|
{
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
bool isBullish = false;
|
bool isBullish = false;
|
||||||
bool isBearish = false;
|
bool isBearish = false;
|
||||||
@@ -1720,23 +1737,6 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
//
|
//
|
||||||
// Cycles Conditions ...
|
// Cycles Conditions ...
|
||||||
|
|
||||||
//
|
|
||||||
// Trigger ...
|
|
||||||
// ENUM_XPOI_EVENTS triggerPoiEvents[];
|
|
||||||
// ENUM_X_CYCLE_EVENTS triggerCycleEvents[];
|
|
||||||
// X121SMCCycleConditions triggerConditions;
|
|
||||||
// result = triggerCycleHelper.GetConditions(
|
|
||||||
// triggerCycleEvents,
|
|
||||||
// triggerPoiEvents,
|
|
||||||
// triggerConditions,
|
|
||||||
// zIndex,
|
|
||||||
// loopback //
|
|
||||||
// );
|
|
||||||
// if (!result)
|
|
||||||
// {
|
|
||||||
// return result;
|
|
||||||
// }
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Decision ...
|
// Decision ...
|
||||||
ENUM_XPOI_EVENTS decisionPoiEvents[];
|
ENUM_XPOI_EVENTS decisionPoiEvents[];
|
||||||
@@ -1771,23 +1771,6 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
|
||||||
// Verification ...
|
|
||||||
ENUM_XPOI_EVENTS verificationPoiEvents[];
|
|
||||||
ENUM_X_CYCLE_EVENTS verificationCycleEvents[];
|
|
||||||
X121SMCCycleConditions verificationConditions;
|
|
||||||
result = verificationCycleHelper.GetConditions(
|
|
||||||
verificationCycleEvents,
|
|
||||||
verificationPoiEvents,
|
|
||||||
verificationConditions,
|
|
||||||
zIndex,
|
|
||||||
loopback //
|
|
||||||
);
|
|
||||||
if (!result)
|
|
||||||
{
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Consolidation ...
|
// Consolidation ...
|
||||||
ENUM_XPOI_EVENTS consolidationPoiEvents[];
|
ENUM_XPOI_EVENTS consolidationPoiEvents[];
|
||||||
@@ -1824,21 +1807,17 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Cycles POI States ...
|
// Cycles POI States ...
|
||||||
// XPOIState triggerState = triggerConditions.state;
|
|
||||||
XPOIState decisionState = decisionConditions.state;
|
XPOIState decisionState = decisionConditions.state;
|
||||||
XPOIState analyseState = analyseConditions.state;
|
XPOIState analyseState = analyseConditions.state;
|
||||||
XPOIState verificationState = verificationConditions.state;
|
|
||||||
XPOIState consolidationState = consolidationConditions.state;
|
XPOIState consolidationState = consolidationConditions.state;
|
||||||
XPOIState visionState = visionConditions.state;
|
XPOIState visionState = visionConditions.state;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Cycle X121Conditions ...
|
// Cycle X121Conditions ...
|
||||||
// X121Conditions triggerXConditions = triggerConditions.x121Conditions;
|
// X121Conditions decisionXConditions = decisionConditions.x121Conditions;
|
||||||
X121Conditions decisionXConditions = decisionConditions.x121Conditions;
|
// X121Conditions analyseXConditions = analyseConditions.x121Conditions;
|
||||||
X121Conditions analyseXConditions = analyseConditions.x121Conditions;
|
// X121Conditions consolidationXConditions = consolidationConditions.x121Conditions;
|
||||||
X121Conditions verificationXConditions = verificationConditions.x121Conditions;
|
// X121Conditions visionXConditions = visionConditions.x121Conditions;
|
||||||
X121Conditions consolidationXConditions = consolidationConditions.x121Conditions;
|
|
||||||
X121Conditions visionXConditions = visionConditions.x121Conditions;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Setup Conditions ...
|
// Setup Conditions ...
|
||||||
@@ -1865,8 +1844,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
Clean(decisionCycleEvents);
|
Clean(decisionCycleEvents);
|
||||||
Clean(analysePoiEvents);
|
Clean(analysePoiEvents);
|
||||||
Clean(analyseCycleEvents);
|
Clean(analyseCycleEvents);
|
||||||
Clean(verificationPoiEvents);
|
// Clean(verificationPoiEvents);
|
||||||
Clean(verificationCycleEvents);
|
// Clean(verificationCycleEvents);
|
||||||
Clean(consolidationPoiEvents);
|
Clean(consolidationPoiEvents);
|
||||||
Clean(consolidationCycleEvents);
|
Clean(consolidationCycleEvents);
|
||||||
Clean(visionPoiEvents);
|
Clean(visionPoiEvents);
|
||||||
@@ -1881,19 +1860,19 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
decisionPBar.Clean();
|
decisionPBar.Clean();
|
||||||
decisionState.Clean();
|
decisionState.Clean();
|
||||||
visionConditions.Clean();
|
visionConditions.Clean();
|
||||||
visionXConditions.Clean();
|
// visionXConditions.Clean();
|
||||||
verificationState.Clean();
|
// verificationState.Clean();
|
||||||
// triggerConditions.Clean();
|
// triggerConditions.Clean();
|
||||||
analyseConditions.Clean();
|
analyseConditions.Clean();
|
||||||
consolidationState.Clean();
|
consolidationState.Clean();
|
||||||
// triggerXConditions.Clean();
|
// triggerXConditions.Clean();
|
||||||
analyseXConditions.Clean();
|
// analyseXConditions.Clean();
|
||||||
decisionConditions.Clean();
|
decisionConditions.Clean();
|
||||||
decisionXConditions.Clean();
|
// decisionXConditions.Clean();
|
||||||
verificationConditions.Clean();
|
// verificationConditions.Clean();
|
||||||
verificationXConditions.Clean();
|
// verificationXConditions.Clean();
|
||||||
consolidationConditions.Clean();
|
consolidationConditions.Clean();
|
||||||
consolidationXConditions.Clean();
|
// consolidationXConditions.Clean();
|
||||||
|
|
||||||
//
|
//
|
||||||
return result;
|
return result;
|
||||||
@@ -1911,8 +1890,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
Clean(decisionCycleEvents);
|
Clean(decisionCycleEvents);
|
||||||
Clean(analysePoiEvents);
|
Clean(analysePoiEvents);
|
||||||
Clean(analyseCycleEvents);
|
Clean(analyseCycleEvents);
|
||||||
Clean(verificationPoiEvents);
|
// Clean(verificationPoiEvents);
|
||||||
Clean(verificationCycleEvents);
|
// Clean(verificationCycleEvents);
|
||||||
Clean(consolidationPoiEvents);
|
Clean(consolidationPoiEvents);
|
||||||
Clean(consolidationCycleEvents);
|
Clean(consolidationCycleEvents);
|
||||||
Clean(visionPoiEvents);
|
Clean(visionPoiEvents);
|
||||||
@@ -1927,19 +1906,19 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
decisionPBar.Clean();
|
decisionPBar.Clean();
|
||||||
decisionState.Clean();
|
decisionState.Clean();
|
||||||
visionConditions.Clean();
|
visionConditions.Clean();
|
||||||
visionXConditions.Clean();
|
// visionXConditions.Clean();
|
||||||
verificationState.Clean();
|
// verificationState.Clean();
|
||||||
// triggerConditions.Clean();
|
// triggerConditions.Clean();
|
||||||
analyseConditions.Clean();
|
analyseConditions.Clean();
|
||||||
consolidationState.Clean();
|
consolidationState.Clean();
|
||||||
// triggerXConditions.Clean();
|
// triggerXConditions.Clean();
|
||||||
analyseXConditions.Clean();
|
// analyseXConditions.Clean();
|
||||||
decisionConditions.Clean();
|
decisionConditions.Clean();
|
||||||
decisionXConditions.Clean();
|
// decisionXConditions.Clean();
|
||||||
verificationConditions.Clean();
|
// verificationConditions.Clean();
|
||||||
verificationXConditions.Clean();
|
// verificationXConditions.Clean();
|
||||||
consolidationConditions.Clean();
|
consolidationConditions.Clean();
|
||||||
consolidationXConditions.Clean();
|
// consolidationXConditions.Clean();
|
||||||
|
|
||||||
//
|
//
|
||||||
return result;
|
return result;
|
||||||
@@ -1957,8 +1936,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
Clean(decisionCycleEvents);
|
Clean(decisionCycleEvents);
|
||||||
Clean(analysePoiEvents);
|
Clean(analysePoiEvents);
|
||||||
Clean(analyseCycleEvents);
|
Clean(analyseCycleEvents);
|
||||||
Clean(verificationPoiEvents);
|
// Clean(verificationPoiEvents);
|
||||||
Clean(verificationCycleEvents);
|
// Clean(verificationCycleEvents);
|
||||||
Clean(consolidationPoiEvents);
|
Clean(consolidationPoiEvents);
|
||||||
Clean(consolidationCycleEvents);
|
Clean(consolidationCycleEvents);
|
||||||
Clean(visionPoiEvents);
|
Clean(visionPoiEvents);
|
||||||
@@ -1973,19 +1952,19 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
decisionPBar.Clean();
|
decisionPBar.Clean();
|
||||||
decisionState.Clean();
|
decisionState.Clean();
|
||||||
visionConditions.Clean();
|
visionConditions.Clean();
|
||||||
visionXConditions.Clean();
|
// visionXConditions.Clean();
|
||||||
verificationState.Clean();
|
// verificationState.Clean();
|
||||||
// triggerConditions.Clean();
|
// triggerConditions.Clean();
|
||||||
analyseConditions.Clean();
|
analyseConditions.Clean();
|
||||||
consolidationState.Clean();
|
consolidationState.Clean();
|
||||||
// triggerXConditions.Clean();
|
// triggerXConditions.Clean();
|
||||||
analyseXConditions.Clean();
|
// analyseXConditions.Clean();
|
||||||
decisionConditions.Clean();
|
decisionConditions.Clean();
|
||||||
decisionXConditions.Clean();
|
// decisionXConditions.Clean();
|
||||||
verificationConditions.Clean();
|
// verificationConditions.Clean();
|
||||||
verificationXConditions.Clean();
|
// verificationXConditions.Clean();
|
||||||
consolidationConditions.Clean();
|
consolidationConditions.Clean();
|
||||||
consolidationXConditions.Clean();
|
// consolidationXConditions.Clean();
|
||||||
|
|
||||||
//
|
//
|
||||||
return result;
|
return result;
|
||||||
@@ -2202,8 +2181,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
Clean(decisionCycleEvents);
|
Clean(decisionCycleEvents);
|
||||||
Clean(analysePoiEvents);
|
Clean(analysePoiEvents);
|
||||||
Clean(analyseCycleEvents);
|
Clean(analyseCycleEvents);
|
||||||
Clean(verificationPoiEvents);
|
// Clean(verificationPoiEvents);
|
||||||
Clean(verificationCycleEvents);
|
// Clean(verificationCycleEvents);
|
||||||
Clean(consolidationPoiEvents);
|
Clean(consolidationPoiEvents);
|
||||||
Clean(consolidationCycleEvents);
|
Clean(consolidationCycleEvents);
|
||||||
Clean(visionPoiEvents);
|
Clean(visionPoiEvents);
|
||||||
@@ -2218,19 +2197,19 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
decisionPBar.Clean();
|
decisionPBar.Clean();
|
||||||
decisionState.Clean();
|
decisionState.Clean();
|
||||||
visionConditions.Clean();
|
visionConditions.Clean();
|
||||||
visionXConditions.Clean();
|
// visionXConditions.Clean();
|
||||||
verificationState.Clean();
|
// verificationState.Clean();
|
||||||
// triggerConditions.Clean();
|
// triggerConditions.Clean();
|
||||||
analyseConditions.Clean();
|
analyseConditions.Clean();
|
||||||
consolidationState.Clean();
|
consolidationState.Clean();
|
||||||
// triggerXConditions.Clean();
|
// triggerXConditions.Clean();
|
||||||
analyseXConditions.Clean();
|
// analyseXConditions.Clean();
|
||||||
decisionConditions.Clean();
|
decisionConditions.Clean();
|
||||||
decisionXConditions.Clean();
|
// decisionXConditions.Clean();
|
||||||
verificationConditions.Clean();
|
// verificationConditions.Clean();
|
||||||
verificationXConditions.Clean();
|
// verificationXConditions.Clean();
|
||||||
consolidationConditions.Clean();
|
consolidationConditions.Clean();
|
||||||
consolidationXConditions.Clean();
|
// consolidationXConditions.Clean();
|
||||||
|
|
||||||
//
|
//
|
||||||
result = false;
|
result = false;
|
||||||
@@ -2260,8 +2239,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
Clean(decisionCycleEvents);
|
Clean(decisionCycleEvents);
|
||||||
Clean(analysePoiEvents);
|
Clean(analysePoiEvents);
|
||||||
Clean(analyseCycleEvents);
|
Clean(analyseCycleEvents);
|
||||||
Clean(verificationPoiEvents);
|
// Clean(verificationPoiEvents);
|
||||||
Clean(verificationCycleEvents);
|
// Clean(verificationCycleEvents);
|
||||||
Clean(consolidationPoiEvents);
|
Clean(consolidationPoiEvents);
|
||||||
Clean(consolidationCycleEvents);
|
Clean(consolidationCycleEvents);
|
||||||
Clean(visionPoiEvents);
|
Clean(visionPoiEvents);
|
||||||
@@ -2276,19 +2255,19 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
decisionPBar.Clean();
|
decisionPBar.Clean();
|
||||||
decisionState.Clean();
|
decisionState.Clean();
|
||||||
visionConditions.Clean();
|
visionConditions.Clean();
|
||||||
visionXConditions.Clean();
|
// visionXConditions.Clean();
|
||||||
verificationState.Clean();
|
// verificationState.Clean();
|
||||||
// triggerConditions.Clean();
|
// triggerConditions.Clean();
|
||||||
analyseConditions.Clean();
|
analyseConditions.Clean();
|
||||||
consolidationState.Clean();
|
consolidationState.Clean();
|
||||||
// triggerXConditions.Clean();
|
// triggerXConditions.Clean();
|
||||||
analyseXConditions.Clean();
|
// analyseXConditions.Clean();
|
||||||
decisionConditions.Clean();
|
decisionConditions.Clean();
|
||||||
decisionXConditions.Clean();
|
// decisionXConditions.Clean();
|
||||||
verificationConditions.Clean();
|
// verificationConditions.Clean();
|
||||||
verificationXConditions.Clean();
|
// verificationXConditions.Clean();
|
||||||
consolidationConditions.Clean();
|
consolidationConditions.Clean();
|
||||||
consolidationXConditions.Clean();
|
// consolidationXConditions.Clean();
|
||||||
|
|
||||||
//
|
//
|
||||||
RemoveX121SMCXSupDemOBSDraws();
|
RemoveX121SMCXSupDemOBSDraws();
|
||||||
@@ -2446,8 +2425,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
Clean(decisionCycleEvents);
|
Clean(decisionCycleEvents);
|
||||||
Clean(analysePoiEvents);
|
Clean(analysePoiEvents);
|
||||||
Clean(analyseCycleEvents);
|
Clean(analyseCycleEvents);
|
||||||
Clean(verificationPoiEvents);
|
// Clean(verificationPoiEvents);
|
||||||
Clean(verificationCycleEvents);
|
// Clean(verificationCycleEvents);
|
||||||
Clean(consolidationPoiEvents);
|
Clean(consolidationPoiEvents);
|
||||||
Clean(consolidationCycleEvents);
|
Clean(consolidationCycleEvents);
|
||||||
Clean(visionPoiEvents);
|
Clean(visionPoiEvents);
|
||||||
@@ -2462,19 +2441,19 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
decisionPBar.Clean();
|
decisionPBar.Clean();
|
||||||
decisionState.Clean();
|
decisionState.Clean();
|
||||||
visionConditions.Clean();
|
visionConditions.Clean();
|
||||||
visionXConditions.Clean();
|
// visionXConditions.Clean();
|
||||||
verificationState.Clean();
|
// verificationState.Clean();
|
||||||
// triggerConditions.Clean();
|
// triggerConditions.Clean();
|
||||||
analyseConditions.Clean();
|
analyseConditions.Clean();
|
||||||
consolidationState.Clean();
|
consolidationState.Clean();
|
||||||
// triggerXConditions.Clean();
|
// triggerXConditions.Clean();
|
||||||
analyseXConditions.Clean();
|
// analyseXConditions.Clean();
|
||||||
decisionConditions.Clean();
|
decisionConditions.Clean();
|
||||||
decisionXConditions.Clean();
|
// decisionXConditions.Clean();
|
||||||
verificationConditions.Clean();
|
// verificationConditions.Clean();
|
||||||
verificationXConditions.Clean();
|
// verificationXConditions.Clean();
|
||||||
consolidationConditions.Clean();
|
consolidationConditions.Clean();
|
||||||
consolidationXConditions.Clean();
|
// consolidationXConditions.Clean();
|
||||||
|
|
||||||
//
|
//
|
||||||
RemoveX121SMCXSupDemOBSDraws();
|
RemoveX121SMCXSupDemOBSDraws();
|
||||||
@@ -2518,6 +2497,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
//
|
//
|
||||||
bool hasOBFVGs = conditions.HasOBFVGs();
|
bool hasOBFVGs = conditions.HasOBFVGs();
|
||||||
int obFVGsCount = conditions.CountOBFVGs();
|
int obFVGsCount = conditions.CountOBFVGs();
|
||||||
|
|
||||||
|
//
|
||||||
if (hasOBs &&
|
if (hasOBs &&
|
||||||
hasFVGs &&
|
hasFVGs &&
|
||||||
!hasOBFVGs)
|
!hasOBFVGs)
|
||||||
@@ -2531,8 +2512,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
//
|
//
|
||||||
// Check Ob Index inside OB FVGS ...
|
// Check Ob Index inside OB FVGS ...
|
||||||
bool isOBFVGExists = false;
|
bool isOBFVGExists = false;
|
||||||
bool hasOBFVGs = conditions.HasOBFVGs();
|
hasOBFVGs = conditions.HasOBFVGs();
|
||||||
int obFVGsCount = conditions.CountOBFVGs();
|
obFVGsCount = conditions.CountOBFVGs();
|
||||||
if (hasOBFVGs)
|
if (hasOBFVGs)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
@@ -2564,6 +2545,13 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
//
|
//
|
||||||
XCFVG *jFVG = fvgs[j];
|
XCFVG *jFVG = fvgs[j];
|
||||||
|
|
||||||
|
//
|
||||||
|
ENUM_TIMEFRAMES jPeriod = jFVG.GetPeriod();
|
||||||
|
if (jPeriod != PERIOD_M15)
|
||||||
|
{
|
||||||
|
Print(ToString(jPeriod));
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
XOBFVG iOBFVG;
|
XOBFVG iOBFVG;
|
||||||
|
|
||||||
@@ -2619,8 +2607,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
Clean(decisionCycleEvents);
|
Clean(decisionCycleEvents);
|
||||||
Clean(analysePoiEvents);
|
Clean(analysePoiEvents);
|
||||||
Clean(analyseCycleEvents);
|
Clean(analyseCycleEvents);
|
||||||
Clean(verificationPoiEvents);
|
// Clean(verificationPoiEvents);
|
||||||
Clean(verificationCycleEvents);
|
// Clean(verificationCycleEvents);
|
||||||
Clean(consolidationPoiEvents);
|
Clean(consolidationPoiEvents);
|
||||||
Clean(consolidationCycleEvents);
|
Clean(consolidationCycleEvents);
|
||||||
Clean(visionPoiEvents);
|
Clean(visionPoiEvents);
|
||||||
@@ -2635,19 +2623,19 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
decisionPBar.Clean();
|
decisionPBar.Clean();
|
||||||
decisionState.Clean();
|
decisionState.Clean();
|
||||||
visionConditions.Clean();
|
visionConditions.Clean();
|
||||||
visionXConditions.Clean();
|
// visionXConditions.Clean();
|
||||||
verificationState.Clean();
|
// verificationState.Clean();
|
||||||
// triggerConditions.Clean();
|
// triggerConditions.Clean();
|
||||||
analyseConditions.Clean();
|
analyseConditions.Clean();
|
||||||
consolidationState.Clean();
|
consolidationState.Clean();
|
||||||
// triggerXConditions.Clean();
|
// triggerXConditions.Clean();
|
||||||
analyseXConditions.Clean();
|
// analyseXConditions.Clean();
|
||||||
decisionConditions.Clean();
|
decisionConditions.Clean();
|
||||||
decisionXConditions.Clean();
|
// decisionXConditions.Clean();
|
||||||
verificationConditions.Clean();
|
// verificationConditions.Clean();
|
||||||
verificationXConditions.Clean();
|
// verificationXConditions.Clean();
|
||||||
consolidationConditions.Clean();
|
consolidationConditions.Clean();
|
||||||
consolidationXConditions.Clean();
|
// consolidationXConditions.Clean();
|
||||||
|
|
||||||
//
|
//
|
||||||
RemoveX121SMCXSupDemOBSDraws();
|
RemoveX121SMCXSupDemOBSDraws();
|
||||||
@@ -2734,8 +2722,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
Clean(decisionCycleEvents);
|
Clean(decisionCycleEvents);
|
||||||
Clean(analysePoiEvents);
|
Clean(analysePoiEvents);
|
||||||
Clean(analyseCycleEvents);
|
Clean(analyseCycleEvents);
|
||||||
Clean(verificationPoiEvents);
|
// Clean(verificationPoiEvents);
|
||||||
Clean(verificationCycleEvents);
|
// Clean(verificationCycleEvents);
|
||||||
Clean(consolidationPoiEvents);
|
Clean(consolidationPoiEvents);
|
||||||
Clean(consolidationCycleEvents);
|
Clean(consolidationCycleEvents);
|
||||||
Clean(visionPoiEvents);
|
Clean(visionPoiEvents);
|
||||||
@@ -2750,19 +2738,19 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
decisionPBar.Clean();
|
decisionPBar.Clean();
|
||||||
decisionState.Clean();
|
decisionState.Clean();
|
||||||
visionConditions.Clean();
|
visionConditions.Clean();
|
||||||
visionXConditions.Clean();
|
// visionXConditions.Clean();
|
||||||
verificationState.Clean();
|
// verificationState.Clean();
|
||||||
// triggerConditions.Clean();
|
// triggerConditions.Clean();
|
||||||
analyseConditions.Clean();
|
analyseConditions.Clean();
|
||||||
consolidationState.Clean();
|
consolidationState.Clean();
|
||||||
// triggerXConditions.Clean();
|
// triggerXConditions.Clean();
|
||||||
analyseXConditions.Clean();
|
// analyseXConditions.Clean();
|
||||||
decisionConditions.Clean();
|
decisionConditions.Clean();
|
||||||
decisionXConditions.Clean();
|
// decisionXConditions.Clean();
|
||||||
verificationConditions.Clean();
|
// verificationConditions.Clean();
|
||||||
verificationXConditions.Clean();
|
// verificationXConditions.Clean();
|
||||||
consolidationConditions.Clean();
|
consolidationConditions.Clean();
|
||||||
consolidationXConditions.Clean();
|
// consolidationXConditions.Clean();
|
||||||
|
|
||||||
//
|
//
|
||||||
RemoveX121SMCXSupDemOBSDraws();
|
RemoveX121SMCXSupDemOBSDraws();
|
||||||
@@ -2782,8 +2770,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
Clean(decisionCycleEvents);
|
Clean(decisionCycleEvents);
|
||||||
Clean(analysePoiEvents);
|
Clean(analysePoiEvents);
|
||||||
Clean(analyseCycleEvents);
|
Clean(analyseCycleEvents);
|
||||||
Clean(verificationPoiEvents);
|
// Clean(verificationPoiEvents);
|
||||||
Clean(verificationCycleEvents);
|
// Clean(verificationCycleEvents);
|
||||||
Clean(consolidationPoiEvents);
|
Clean(consolidationPoiEvents);
|
||||||
Clean(consolidationCycleEvents);
|
Clean(consolidationCycleEvents);
|
||||||
Clean(visionPoiEvents);
|
Clean(visionPoiEvents);
|
||||||
@@ -2795,19 +2783,19 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
analyseState.Clean();
|
analyseState.Clean();
|
||||||
decisionState.Clean();
|
decisionState.Clean();
|
||||||
visionConditions.Clean();
|
visionConditions.Clean();
|
||||||
visionXConditions.Clean();
|
// visionXConditions.Clean();
|
||||||
verificationState.Clean();
|
// verificationState.Clean();
|
||||||
// triggerConditions.Clean();
|
// triggerConditions.Clean();
|
||||||
analyseConditions.Clean();
|
analyseConditions.Clean();
|
||||||
consolidationState.Clean();
|
consolidationState.Clean();
|
||||||
// triggerXConditions.Clean();
|
// triggerXConditions.Clean();
|
||||||
analyseXConditions.Clean();
|
// analyseXConditions.Clean();
|
||||||
decisionConditions.Clean();
|
decisionConditions.Clean();
|
||||||
decisionXConditions.Clean();
|
// decisionXConditions.Clean();
|
||||||
verificationConditions.Clean();
|
// verificationConditions.Clean();
|
||||||
verificationXConditions.Clean();
|
// verificationXConditions.Clean();
|
||||||
consolidationConditions.Clean();
|
consolidationConditions.Clean();
|
||||||
consolidationXConditions.Clean();
|
// consolidationXConditions.Clean();
|
||||||
|
|
||||||
//
|
//
|
||||||
// Now We Have to Wait for Price Inside Box ...
|
// Now We Have to Wait for Price Inside Box ...
|
||||||
@@ -3019,8 +3007,8 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
Clean(decisionCycleEvents);
|
Clean(decisionCycleEvents);
|
||||||
Clean(analysePoiEvents);
|
Clean(analysePoiEvents);
|
||||||
Clean(analyseCycleEvents);
|
Clean(analyseCycleEvents);
|
||||||
Clean(verificationPoiEvents);
|
// Clean(verificationPoiEvents);
|
||||||
Clean(verificationCycleEvents);
|
// Clean(verificationCycleEvents);
|
||||||
Clean(consolidationPoiEvents);
|
Clean(consolidationPoiEvents);
|
||||||
Clean(consolidationCycleEvents);
|
Clean(consolidationCycleEvents);
|
||||||
Clean(visionPoiEvents);
|
Clean(visionPoiEvents);
|
||||||
@@ -3035,19 +3023,19 @@ bool DetectX121SMCXSupDemOBSSignalSetup(
|
|||||||
decisionPBar.Clean();
|
decisionPBar.Clean();
|
||||||
decisionState.Clean();
|
decisionState.Clean();
|
||||||
visionConditions.Clean();
|
visionConditions.Clean();
|
||||||
visionXConditions.Clean();
|
// visionXConditions.Clean();
|
||||||
verificationState.Clean();
|
// verificationState.Clean();
|
||||||
// triggerConditions.Clean();
|
// triggerConditions.Clean();
|
||||||
analyseConditions.Clean();
|
analyseConditions.Clean();
|
||||||
consolidationState.Clean();
|
consolidationState.Clean();
|
||||||
// triggerXConditions.Clean();
|
// triggerXConditions.Clean();
|
||||||
analyseXConditions.Clean();
|
// analyseXConditions.Clean();
|
||||||
decisionConditions.Clean();
|
decisionConditions.Clean();
|
||||||
decisionXConditions.Clean();
|
// decisionXConditions.Clean();
|
||||||
verificationConditions.Clean();
|
// verificationConditions.Clean();
|
||||||
verificationXConditions.Clean();
|
// verificationXConditions.Clean();
|
||||||
consolidationConditions.Clean();
|
consolidationConditions.Clean();
|
||||||
consolidationXConditions.Clean();
|
// consolidationXConditions.Clean();
|
||||||
|
|
||||||
//
|
//
|
||||||
// Summarize Conditions ...
|
// Summarize Conditions ...
|
||||||
@@ -3164,7 +3152,7 @@ bool DetectX121SMCXSupDemOBSSignalTrigger(
|
|||||||
// XC121SMCCycleHelper *triggerCycleHelper,
|
// XC121SMCCycleHelper *triggerCycleHelper,
|
||||||
XC121SMCCycleHelper *decisionCycleHelper,
|
XC121SMCCycleHelper *decisionCycleHelper,
|
||||||
XC121SMCCycleHelper *analyseCycleHelper,
|
XC121SMCCycleHelper *analyseCycleHelper,
|
||||||
XC121SMCCycleHelper *verificationCycleHelper,
|
// XC121SMCCycleHelper *verificationCycleHelper,
|
||||||
XC121SMCCycleHelper *consolidationCycleHelper,
|
XC121SMCCycleHelper *consolidationCycleHelper,
|
||||||
XC121SMCCycleHelper *visionCycleHelper,
|
XC121SMCCycleHelper *visionCycleHelper,
|
||||||
//
|
//
|
||||||
@@ -3462,7 +3450,7 @@ bool DetectX121SMCXSupDemOBSGuards(
|
|||||||
// XC121SMCCycleHelper *triggerCycleHelper,
|
// XC121SMCCycleHelper *triggerCycleHelper,
|
||||||
XC121SMCCycleHelper *decisionCycleHelper,
|
XC121SMCCycleHelper *decisionCycleHelper,
|
||||||
XC121SMCCycleHelper *analyseCycleHelper,
|
XC121SMCCycleHelper *analyseCycleHelper,
|
||||||
XC121SMCCycleHelper *verificationCycleHelper,
|
// XC121SMCCycleHelper *verificationCycleHelper,
|
||||||
XC121SMCCycleHelper *consolidationCycleHelper,
|
XC121SMCCycleHelper *consolidationCycleHelper,
|
||||||
XC121SMCCycleHelper *visionCycleHelper //
|
XC121SMCCycleHelper *visionCycleHelper //
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
// ZeroMemory(mTriggerCycleHelper);
|
// ZeroMemory(mTriggerCycleHelper);
|
||||||
ZeroMemory(mDecisionCycleHelper);
|
ZeroMemory(mDecisionCycleHelper);
|
||||||
ZeroMemory(mAnalyseCycleHelper);
|
ZeroMemory(mAnalyseCycleHelper);
|
||||||
ZeroMemory(mVerificationCycleHelper);
|
// ZeroMemory(mVerificationCycleHelper);
|
||||||
ZeroMemory(mConsolidationCycleHelper);
|
ZeroMemory(mConsolidationCycleHelper);
|
||||||
ZeroMemory(mVisionCycleHelper);
|
ZeroMemory(mVisionCycleHelper);
|
||||||
|
|
||||||
@@ -116,7 +116,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
// delete mTriggerCycleHelper;
|
// delete mTriggerCycleHelper;
|
||||||
delete mDecisionCycleHelper;
|
delete mDecisionCycleHelper;
|
||||||
delete mAnalyseCycleHelper;
|
delete mAnalyseCycleHelper;
|
||||||
delete mVerificationCycleHelper;
|
// delete mVerificationCycleHelper;
|
||||||
delete mConsolidationCycleHelper;
|
delete mConsolidationCycleHelper;
|
||||||
delete mVisionCycleHelper;
|
delete mVisionCycleHelper;
|
||||||
|
|
||||||
@@ -357,7 +357,6 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
signal.partialCloseOnTPLevel = 0;
|
signal.partialCloseOnTPLevel = 0;
|
||||||
signal.partialCloseMultiplier = 0;
|
signal.partialCloseMultiplier = 0;
|
||||||
signal.trailSLStartOnReachTPLevel = 3;
|
signal.trailSLStartOnReachTPLevel = 3;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -403,7 +402,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
// mTriggerCycleHelper,
|
// mTriggerCycleHelper,
|
||||||
mDecisionCycleHelper,
|
mDecisionCycleHelper,
|
||||||
mAnalyseCycleHelper,
|
mAnalyseCycleHelper,
|
||||||
mVerificationCycleHelper,
|
// mVerificationCycleHelper,
|
||||||
mConsolidationCycleHelper,
|
mConsolidationCycleHelper,
|
||||||
mVisionCycleHelper //
|
mVisionCycleHelper //
|
||||||
);
|
);
|
||||||
@@ -447,7 +446,6 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
//
|
//
|
||||||
// Signalling Functions ...
|
// Signalling Functions ...
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// XSupDemOBS Signal ...
|
// XSupDemOBS Signal ...
|
||||||
bool DetectXSupDemOBSSignal(
|
bool DetectXSupDemOBSSignal(
|
||||||
@@ -457,6 +455,21 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
//
|
//
|
||||||
bool result = false;
|
bool result = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Validate Cycle Helpers ...
|
||||||
|
result =
|
||||||
|
//
|
||||||
|
mVisionCycleHelper != NULL &&
|
||||||
|
mAnalyseCycleHelper != NULL &&
|
||||||
|
mDecisionCycleHelper != NULL &&
|
||||||
|
mConsolidationCycleHelper != NULL
|
||||||
|
//
|
||||||
|
;
|
||||||
|
if (!result)
|
||||||
|
{
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
bool isBullish = false;
|
bool isBullish = false;
|
||||||
bool isBearish = false;
|
bool isBearish = false;
|
||||||
@@ -531,10 +544,8 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
symbol,
|
symbol,
|
||||||
period,
|
period,
|
||||||
mX121SMCXSupDemOBSConditions,
|
mX121SMCXSupDemOBSConditions,
|
||||||
// mTriggerCycleHelper,
|
|
||||||
mDecisionCycleHelper,
|
mDecisionCycleHelper,
|
||||||
mAnalyseCycleHelper,
|
mAnalyseCycleHelper,
|
||||||
mVerificationCycleHelper,
|
|
||||||
mConsolidationCycleHelper,
|
mConsolidationCycleHelper,
|
||||||
mVisionCycleHelper //
|
mVisionCycleHelper //
|
||||||
);
|
);
|
||||||
@@ -591,7 +602,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
// mTriggerCycleHelper,
|
// mTriggerCycleHelper,
|
||||||
mDecisionCycleHelper,
|
mDecisionCycleHelper,
|
||||||
mAnalyseCycleHelper,
|
mAnalyseCycleHelper,
|
||||||
mVerificationCycleHelper,
|
// mVerificationCycleHelper,
|
||||||
mConsolidationCycleHelper,
|
mConsolidationCycleHelper,
|
||||||
mVisionCycleHelper //
|
mVisionCycleHelper //
|
||||||
);
|
);
|
||||||
@@ -726,9 +737,6 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
//
|
//
|
||||||
x121Inputs.showRSI = false;
|
x121Inputs.showRSI = false;
|
||||||
|
|
||||||
//
|
|
||||||
bool isInited = false;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// XPV ...
|
// XPV ...
|
||||||
|
|
||||||
@@ -749,6 +757,15 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
x121Inputs.xatrInputs.atrMultiplier = 1.5;
|
x121Inputs.xatrInputs.atrMultiplier = 1.5;
|
||||||
x121Inputs.xatrInputs.atrSmoothingMode = X_MA_MODE_EMA;
|
x121Inputs.xatrInputs.atrSmoothingMode = X_MA_MODE_EMA;
|
||||||
|
|
||||||
|
//
|
||||||
|
// XCC ...
|
||||||
|
x121Inputs.xccInputs.showCandles = false; // false;
|
||||||
|
|
||||||
|
//
|
||||||
|
// XCT ...
|
||||||
|
x121Inputs.xctInputs.clr = clrBlueViolet;
|
||||||
|
x121Inputs.xctInputs.showCandleTime = false; // false;
|
||||||
|
|
||||||
//
|
//
|
||||||
// XPV ...
|
// XPV ...
|
||||||
x121Inputs.xpvInputs.showSar = showAll || false;
|
x121Inputs.xpvInputs.showSar = showAll || false;
|
||||||
@@ -796,6 +813,9 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
//
|
//
|
||||||
// Initialize Cycle Helpers ...
|
// Initialize Cycle Helpers ...
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isInited = false;
|
||||||
|
|
||||||
//
|
//
|
||||||
int requiredPOIS = MaxAllowedRequiredPOIs();
|
int requiredPOIS = MaxAllowedRequiredPOIs();
|
||||||
|
|
||||||
@@ -970,62 +990,62 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
mAnalyseCycleHelper.mPOIDrawer.BearishFVGColor(bearishColor);
|
mAnalyseCycleHelper.mPOIDrawer.BearishFVGColor(bearishColor);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
// //
|
||||||
// Verification Cycle ...
|
// // Verification Cycle ...
|
||||||
mVerificationCycleHelper = new XC121SMCCycleHelper();
|
// mVerificationCycleHelper = new XC121SMCCycleHelper();
|
||||||
isInited = mVerificationCycleHelper.Init(
|
// isInited = mVerificationCycleHelper.Init(
|
||||||
symbol,
|
// symbol,
|
||||||
PERIOD_M30,
|
// PERIOD_M30,
|
||||||
x121Inputs,
|
// // x121Inputs,
|
||||||
requiredPOIS //
|
// requiredPOIS //
|
||||||
);
|
// );
|
||||||
if (isInited)
|
// if (isInited)
|
||||||
{
|
// {
|
||||||
//
|
// //
|
||||||
// Configure POI Drawer ...
|
// // Configure POI Drawer ...
|
||||||
color bullishColor = clrOliveDrab;
|
// color bullishColor = clrOliveDrab;
|
||||||
color bearishColor = clrSteelBlue;
|
// color bearishColor = clrSteelBlue;
|
||||||
|
|
||||||
//
|
// //
|
||||||
// Bars ...
|
// // Bars ...
|
||||||
mVerificationCycleHelper.mPOIDrawer.BarBullishColor(bullishColor);
|
// mVerificationCycleHelper.mPOIDrawer.BarBullishColor(bullishColor);
|
||||||
mVerificationCycleHelper.mPOIDrawer.BarBearishColor(bearishColor);
|
// mVerificationCycleHelper.mPOIDrawer.BarBearishColor(bearishColor);
|
||||||
|
|
||||||
//
|
// //
|
||||||
// Swings ...
|
// // Swings ...
|
||||||
mVerificationCycleHelper.mPOIDrawer.SwingLowColor(bullishColor);
|
// mVerificationCycleHelper.mPOIDrawer.SwingLowColor(bullishColor);
|
||||||
mVerificationCycleHelper.mPOIDrawer.SwingHighColor(bearishColor);
|
// mVerificationCycleHelper.mPOIDrawer.SwingHighColor(bearishColor);
|
||||||
|
|
||||||
//
|
// //
|
||||||
// Momentum ...
|
// // Momentum ...
|
||||||
mVerificationCycleHelper.mPOIDrawer.BullishMomentumBarColor(bullishColor);
|
// mVerificationCycleHelper.mPOIDrawer.BullishMomentumBarColor(bullishColor);
|
||||||
mVerificationCycleHelper.mPOIDrawer.BearishMomentumBarColor(bearishColor);
|
// mVerificationCycleHelper.mPOIDrawer.BearishMomentumBarColor(bearishColor);
|
||||||
|
|
||||||
//
|
// //
|
||||||
// Rejection ...
|
// // Rejection ...
|
||||||
mVerificationCycleHelper.mPOIDrawer.BullishRejectionBarColor(bullishColor);
|
// mVerificationCycleHelper.mPOIDrawer.BullishRejectionBarColor(bullishColor);
|
||||||
mVerificationCycleHelper.mPOIDrawer.BearishRejectionBarColor(bearishColor);
|
// mVerificationCycleHelper.mPOIDrawer.BearishRejectionBarColor(bearishColor);
|
||||||
|
|
||||||
//
|
// //
|
||||||
// Support and Resistance ...
|
// // Support and Resistance ...
|
||||||
mVerificationCycleHelper.mPOIDrawer.SupportZoneColor(bullishColor);
|
// mVerificationCycleHelper.mPOIDrawer.SupportZoneColor(bullishColor);
|
||||||
mVerificationCycleHelper.mPOIDrawer.ResistanceZoneColor(bearishColor);
|
// mVerificationCycleHelper.mPOIDrawer.ResistanceZoneColor(bearishColor);
|
||||||
|
|
||||||
//
|
// //
|
||||||
// Demand and Supply ...
|
// // Demand and Supply ...
|
||||||
mVerificationCycleHelper.mPOIDrawer.DemandZoneColor(bullishColor);
|
// mVerificationCycleHelper.mPOIDrawer.DemandZoneColor(bullishColor);
|
||||||
mVerificationCycleHelper.mPOIDrawer.SupplyZoneColor(bearishColor);
|
// mVerificationCycleHelper.mPOIDrawer.SupplyZoneColor(bearishColor);
|
||||||
|
|
||||||
//
|
// //
|
||||||
// Order Blocks ...
|
// // Order Blocks ...
|
||||||
mVerificationCycleHelper.mPOIDrawer.BullishOrderBlockColor(bullishColor);
|
// mVerificationCycleHelper.mPOIDrawer.BullishOrderBlockColor(bullishColor);
|
||||||
mVerificationCycleHelper.mPOIDrawer.BearishOrderBlockColor(bearishColor);
|
// mVerificationCycleHelper.mPOIDrawer.BearishOrderBlockColor(bearishColor);
|
||||||
|
|
||||||
//
|
// //
|
||||||
// Fair Value Gaps ...
|
// // Fair Value Gaps ...
|
||||||
mVerificationCycleHelper.mPOIDrawer.BullishFVGColor(bullishColor);
|
// mVerificationCycleHelper.mPOIDrawer.BullishFVGColor(bullishColor);
|
||||||
mVerificationCycleHelper.mPOIDrawer.BearishFVGColor(bearishColor);
|
// mVerificationCycleHelper.mPOIDrawer.BearishFVGColor(bearishColor);
|
||||||
}
|
// }
|
||||||
|
|
||||||
//
|
//
|
||||||
// Consolidation Cycle ...
|
// Consolidation Cycle ...
|
||||||
|
|||||||
Reference in New Issue
Block a user