last ...
This commit is contained in:
@@ -36,7 +36,7 @@ const string X121SMCStrategyToken = "X121SMC";
|
|||||||
|
|
||||||
//
|
//
|
||||||
const string X121SMCXTestToken = "X121XTest";
|
const string X121SMCXTestToken = "X121XTest";
|
||||||
const string X121SMCXTWPVToken = "X121XTWPV";
|
const string X121SMCXOBGPVToken = "X121XOBGPV";
|
||||||
|
|
||||||
//
|
//
|
||||||
// X121 SMC Providers ...
|
// X121 SMC Providers ...
|
||||||
@@ -45,7 +45,7 @@ enum ENUM_X_121_SMC_PROVIDERS
|
|||||||
//
|
//
|
||||||
X_121_SMC_PROVIDER_NONE,
|
X_121_SMC_PROVIDER_NONE,
|
||||||
X_121_SMC_PROVIDER_XTEST,
|
X_121_SMC_PROVIDER_XTEST,
|
||||||
X_121_SMC_PROVIDER_XTWPV,
|
X_121_SMC_PROVIDER_XOBGPV,
|
||||||
};
|
};
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -674,8 +674,8 @@ string ToString(ENUM_X_121_SMC_PROVIDERS value)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
//
|
//
|
||||||
case X_121_SMC_PROVIDER_XTWPV:
|
case X_121_SMC_PROVIDER_XOBGPV:
|
||||||
result = X121SMCXTWPVToken;
|
result = X121SMCXOBGPVToken;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -706,9 +706,9 @@ ENUM_X_121_SMC_PROVIDERS ParseProvider(string value)
|
|||||||
{
|
{
|
||||||
result = X_121_SMC_PROVIDER_XTEST;
|
result = X_121_SMC_PROVIDER_XTEST;
|
||||||
}
|
}
|
||||||
else if (Contains(X121SMCXTWPVToken, value))
|
else if (Contains(X121SMCXOBGPVToken, value))
|
||||||
{
|
{
|
||||||
result = X_121_SMC_PROVIDER_XTWPV;
|
result = X_121_SMC_PROVIDER_XOBGPV;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
//
|
//
|
||||||
#include "../Signals/x-121.smc.test.signal.lib.mq5"
|
#include "../Signals/x-121.smc.test.signal.lib.mq5"
|
||||||
#include "../Signals/x-121.smc.xtwpv.signal.lib.mq5"
|
#include "../Signals/x-121.smc.xobgpv.signal.lib.mq5"
|
||||||
|
|
||||||
//
|
//
|
||||||
// Definitions ...
|
// Definitions ...
|
||||||
@@ -184,11 +184,11 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
|
|
||||||
//
|
//
|
||||||
bool useTestSignal = false;
|
bool useTestSignal = false;
|
||||||
bool useXTWPVSignal = true;
|
bool useXOBGPVSignal = true;
|
||||||
|
|
||||||
//
|
//
|
||||||
bool hasTestSignal = false;
|
bool hasTestSignal = false;
|
||||||
bool hasXTWPVSignal = false;
|
bool hasXOBGPVSignal = false;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Test Signal ...
|
// Test Signal ...
|
||||||
@@ -200,12 +200,12 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// XTWPV Signal ...
|
// XOBGPV Signal ...
|
||||||
if (useXTWPVSignal && !hasSignal)
|
if (useXOBGPVSignal && !hasSignal)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
hasXTWPVSignal = DetectXTWPVSignal(conditions);
|
hasXOBGPVSignal = DetectXOBGPVSignal(conditions);
|
||||||
hasSignal = hasXTWPVSignal;
|
hasSignal = hasXOBGPVSignal;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -476,10 +476,10 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// XTWPV Signal ...
|
// XOBGPV Signal ...
|
||||||
X121SMCStrategyXTWPVSignalConditions mXTWPVConditions;
|
X121SMCStrategyXOBGPVSignalConditions mXOBGPVConditions;
|
||||||
X121SMCStrategyXTWPVSignalConditions mXTWPVConditionsCollection[];
|
X121SMCStrategyXOBGPVSignalConditions mXOBGPVConditionsCollection[];
|
||||||
bool DetectXTWPVSignal(
|
bool DetectXOBGPVSignal(
|
||||||
X121SMCStrategyConditions &conditions //
|
X121SMCStrategyConditions &conditions //
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
@@ -544,22 +544,22 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
datetime cTime = TimeCurrent();
|
datetime cTime = TimeCurrent();
|
||||||
|
|
||||||
//
|
//
|
||||||
ENUM_X_121_SMC_PROVIDERS provider = X_121_SMC_PROVIDER_XTWPV;
|
ENUM_X_121_SMC_PROVIDERS provider = X_121_SMC_PROVIDER_XOBGPV;
|
||||||
string providerStr = ToString(provider);
|
string providerStr = ToString(provider);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Detect Setup Conditions ...
|
// Detect Setup Conditions ...
|
||||||
datetime setupTime = mXTWPVConditions.setupTime;
|
datetime setupTime = mXOBGPVConditions.setupTime;
|
||||||
bool isSetuped = mXTWPVConditions.IsSetuped();
|
bool isSetuped = mXOBGPVConditions.IsSetuped();
|
||||||
ENUM_X_DIRECTION setupDir = mXTWPVConditions.dir;
|
ENUM_X_DIRECTION setupDir = mXOBGPVConditions.dir;
|
||||||
if (!isSetuped)
|
if (!isSetuped)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
// Detect Signal Setup ...
|
// Detect Signal Setup ...
|
||||||
isSetuped = DetectX121SMCXTWPVSiganlSetup(
|
isSetuped = DetectX121SMCXOBGPVSiganlSetup(
|
||||||
symbol,
|
symbol,
|
||||||
period,
|
period,
|
||||||
mXTWPVConditions,
|
mXOBGPVConditions,
|
||||||
mTriggerCycleHelper,
|
mTriggerCycleHelper,
|
||||||
mDecisionCycleHelper,
|
mDecisionCycleHelper,
|
||||||
mAnalyseCycleHelper,
|
mAnalyseCycleHelper,
|
||||||
@@ -569,25 +569,25 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
);
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
setupDir = mXTWPVConditions.dir;
|
setupDir = mXOBGPVConditions.dir;
|
||||||
setupTime = mXTWPVConditions.setupTime;
|
setupTime = mXOBGPVConditions.setupTime;
|
||||||
|
|
||||||
//
|
//
|
||||||
if (isSetuped)
|
if (isSetuped)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
int items = AddX121SMCXTWPVConditionsIfNotExists(
|
int items = AddX121SMCXOBGPVConditionsIfNotExists(
|
||||||
mXTWPVConditions,
|
mXOBGPVConditions,
|
||||||
mXTWPVConditionsCollection //
|
mXOBGPVConditionsCollection //
|
||||||
);
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
mXTWPVConditions.Clean();
|
mXOBGPVConditions.Clean();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
int conditionsCount = ArraySize(mXTWPVConditionsCollection);
|
int conditionsCount = ArraySize(mXOBGPVConditionsCollection);
|
||||||
result = IsValidSize(conditionsCount);
|
result = IsValidSize(conditionsCount);
|
||||||
if (!result)
|
if (!result)
|
||||||
{
|
{
|
||||||
@@ -597,12 +597,12 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
//
|
//
|
||||||
// Looking For Conditions ...
|
// Looking For Conditions ...
|
||||||
int selectedIndex = 0;
|
int selectedIndex = 0;
|
||||||
X121SMCStrategyXTWPVSignalConditions mTmpConditions[];
|
X121SMCStrategyXOBGPVSignalConditions mTmpConditions[];
|
||||||
Copy(
|
Copy(
|
||||||
mXTWPVConditionsCollection,
|
mXOBGPVConditionsCollection,
|
||||||
mTmpConditions //
|
mTmpConditions //
|
||||||
);
|
);
|
||||||
X121SMCStrategyXTWPVSignalConditions mConditions;
|
X121SMCStrategyXOBGPVSignalConditions mConditions;
|
||||||
for (int i = 0; i < conditionsCount; i++)
|
for (int i = 0; i < conditionsCount; i++)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
@@ -648,7 +648,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
{
|
{
|
||||||
//
|
//
|
||||||
ArrayRemove(
|
ArrayRemove(
|
||||||
mXTWPVConditionsCollection,
|
mXOBGPVConditionsCollection,
|
||||||
i,
|
i,
|
||||||
1 //
|
1 //
|
||||||
);
|
);
|
||||||
@@ -665,7 +665,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
{
|
{
|
||||||
//
|
//
|
||||||
// Detect Signal Trigger ...
|
// Detect Signal Trigger ...
|
||||||
canTrigger = DetectX121SMCXTWPVSiganlTrigger(
|
canTrigger = DetectX121SMCXOBGPVSiganlTrigger(
|
||||||
mTmpConditions[i],
|
mTmpConditions[i],
|
||||||
symbol,
|
symbol,
|
||||||
period,
|
period,
|
||||||
@@ -709,7 +709,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
//
|
//
|
||||||
// Remove Selected Index from Main Collection ...
|
// Remove Selected Index from Main Collection ...
|
||||||
ArrayRemove(
|
ArrayRemove(
|
||||||
mXTWPVConditionsCollection,
|
mXOBGPVConditionsCollection,
|
||||||
selectedIndex,
|
selectedIndex,
|
||||||
1 //
|
1 //
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user