last ...
This commit is contained in:
@@ -96,7 +96,6 @@ class XCXCATBEAExpert : public XCBase
|
||||
bool eaFilterBasedOnDelta; // Filter Based On Delta
|
||||
bool eaFilterBasedOnVolume; // Filter Based On Volume
|
||||
bool eaFilterBasedOnSignalBar; // Filter Based on Signal Bar
|
||||
bool eaFilterBasedOnRoundPrice; // Filter Based On Round Prices
|
||||
bool eaFilterBasedOnHKSignalBar; // Filter Based On HK Signal Bar
|
||||
|
||||
//
|
||||
@@ -535,7 +534,6 @@ class XCXCATBEAExpert : public XCBase
|
||||
iSignallerInputs.filters.filterBasedOnDelta = eaFilterBasedOnDelta;
|
||||
iSignallerInputs.filters.filterBasedOnVolume = eaFilterBasedOnVolume;
|
||||
iSignallerInputs.filters.filterBasedOnSignalBar = eaFilterBasedOnSignalBar;
|
||||
iSignallerInputs.filters.filterBasedOnRoundPrice = eaFilterBasedOnRoundPrice;
|
||||
iSignallerInputs.filters.filterBasedOnHKSignalBar = eaFilterBasedOnHKSignalBar;
|
||||
|
||||
//
|
||||
@@ -680,6 +678,10 @@ class XCXCATBEAExpert : public XCBase
|
||||
XPosition iPositions[]; // Retrieve Signaller Positions ...
|
||||
XCATBEAStrategyConditions iConditions; // Recieve Triggered Conditions ...
|
||||
|
||||
//
|
||||
// Check Active Session ...
|
||||
bool isActiveSession = eaTradeManager.IsActiveSession(iSymbol);
|
||||
|
||||
//
|
||||
// Reading Signaller Positions ...
|
||||
eaTradeManager.GetPositions(
|
||||
@@ -694,7 +696,8 @@ class XCXCATBEAExpert : public XCBase
|
||||
iSignaller.ProcessTick(
|
||||
iPositions,
|
||||
iGuards,
|
||||
iConditions //
|
||||
iConditions,
|
||||
isActiveSession //
|
||||
);
|
||||
|
||||
//
|
||||
|
||||
@@ -182,7 +182,8 @@ class XCXCATBEASignaller : XCBase
|
||||
void ProcessTick(
|
||||
XPosition &positions[],
|
||||
XGuard &guards[],
|
||||
XCATBEAStrategyConditions &conditions //
|
||||
XCATBEAStrategyConditions &conditions,
|
||||
bool isActiveSession = true //
|
||||
)
|
||||
{
|
||||
//
|
||||
@@ -293,6 +294,16 @@ class XCXCATBEASignaller : XCBase
|
||||
return;
|
||||
}
|
||||
|
||||
//
|
||||
// Here we Check Active Session ...
|
||||
// and Prevent Moving forward if there is not
|
||||
// Session actives ...
|
||||
// for improvement Calculation Speeds ...
|
||||
if (!isActiveSession)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//
|
||||
// Initialize Bar ...
|
||||
bar.Init(
|
||||
@@ -504,9 +515,27 @@ class XCXCATBEASignaller : XCBase
|
||||
if (result &&
|
||||
conditions.triggerBlock.IsValid())
|
||||
{
|
||||
//
|
||||
// Checking Score ...
|
||||
double bullishScore = 0;
|
||||
double bearishScore = 0;
|
||||
conditions
|
||||
.conditions
|
||||
.GenerateScore(
|
||||
bullishScore,
|
||||
bearishScore //
|
||||
);
|
||||
bool isScorePassed =
|
||||
isBullish
|
||||
? bullishScore > bearishScore
|
||||
: bearishScore > bullishScore;
|
||||
|
||||
//
|
||||
// Complete Conditions Here ...
|
||||
conditions.triggerTime = TimeCurrent();
|
||||
if (isScorePassed)
|
||||
{
|
||||
conditions.triggerTime = TimeCurrent();
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
@@ -1296,6 +1296,42 @@ class XCXCATBEATradeManager : public XCBaseAlert
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check Specified Symbol is Active for
|
||||
* Analysing or Open Trades ...
|
||||
*/
|
||||
bool IsActiveSession(string symbol)
|
||||
{
|
||||
//
|
||||
bool result = false;
|
||||
|
||||
//
|
||||
// Validate Args ...
|
||||
result = IsValid(symbol);
|
||||
if (!result)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
// Check Symbol Session Exists or not ...
|
||||
int symbolSessionIDX = -1;
|
||||
bool isSymbolSessionExists = FindSymbolSession(
|
||||
symbolSessionIDX,
|
||||
symbol //
|
||||
);
|
||||
|
||||
//
|
||||
// Chack Trade Session Validating ...
|
||||
if (isSymbolSessionExists)
|
||||
{
|
||||
result = sessions[symbolSessionIDX].CanTrade();
|
||||
}
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check Signal Execution Conditions ...
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user