last works on supporting ...

This commit is contained in:
2024-06-20 00:05:45 +03:30
parent 7bae4c6723
commit 0ef22df67b
11 changed files with 2440 additions and 494 deletions
+20 -14
View File
@@ -23,6 +23,7 @@
// Imports ...
#include <Trade/Trade.mqh>
#include "../Libraries/x-saherelm.draw.lib.mq5"
#include "../Classes/x-saherelm.xsccf.class.mq5"
#include "../Libraries/x-saherelm.common.lib.mq5"
#include "../Classes/x-saherelm.xsczone.class.mq5"
#include "../Classes/x-saherelm.xsctrend.class.mq5"
@@ -62,6 +63,10 @@ string XSLTrailToken = "SLT";
//
string XActionToken = "A";
//
string XDirectionalToken = "D";
string XINDirectionalToken = "IND";
//
// Available Order Modes ...
enum ENUM_X_ORDER_MODES
@@ -148,7 +153,7 @@ enum ENUM_X_GUARD_ACTIONS
};
//
enum ENUM_X_POSITION_TYPE
enum ENUM_X_POSITION_TYPES
{
X_POSITION_TYPE_NONE = 0,
X_POSITION_TYPE_ALL = 1,
@@ -157,7 +162,7 @@ enum ENUM_X_POSITION_TYPE
};
//
string ToString(ENUM_X_POSITION_TYPE value)
string ToString(ENUM_X_POSITION_TYPES value)
{
//
string result = NULL;
@@ -191,7 +196,7 @@ string ToString(ENUM_X_POSITION_TYPE value)
}
//
bool IsLong(ENUM_X_POSITION_TYPE value)
bool IsLong(ENUM_X_POSITION_TYPES value)
{
return value == X_POSITION_TYPE_LONG;
}
@@ -199,7 +204,7 @@ bool IsLong(ENUM_X_POSITION_TYPE value)
//
bool ToPositinType(
ENUM_POSITION_TYPE &dest,
ENUM_X_POSITION_TYPE source //
ENUM_X_POSITION_TYPES source //
)
{
//
@@ -224,7 +229,7 @@ bool ToPositinType(
}
//
ENUM_X_POSITION_TYPE ToPositionType(ENUM_POSITION_TYPE value)
ENUM_X_POSITION_TYPES ToPositionType(ENUM_POSITION_TYPE value)
{
return IsLong(value)
? X_POSITION_TYPE_LONG
@@ -232,10 +237,10 @@ ENUM_X_POSITION_TYPE ToPositionType(ENUM_POSITION_TYPE value)
}
//
ENUM_X_POSITION_TYPE GetOppositPositionType(ENUM_POSITION_TYPE type)
ENUM_X_POSITION_TYPES GetOppositPositionType(ENUM_POSITION_TYPE type)
{
//
ENUM_X_POSITION_TYPE result = X_POSITION_TYPE_NONE;
ENUM_X_POSITION_TYPES result = X_POSITION_TYPE_NONE;
//
bool isLong = IsLong(type);
@@ -635,7 +640,7 @@ struct XPosition
string mSymbol = NULL, // Trading Symbol
string mProvider = NULL, // Signal Provider
ENUM_TIMEFRAMES mPeriod = NULL, // Trading Timeframe
ENUM_X_POSITION_TYPE mType = NULL, // Long (Buy), Short (Sell)
ENUM_X_POSITION_TYPES mType = NULL, // Long (Buy), Short (Sell)
ulong mMagic = NULL, // Magic Number
bool mFilterByMagic = true // Get Only Self Open Positions
)
@@ -730,9 +735,10 @@ struct XSignal
XSignal supports[]; // a Collecion of Support Signals ...
//
// Zones for Signal ...
// TODO: Temp ...
XSCZones *zones;
XSCTrend *trend;
XSCCF *cf;
//
// Constructor ...
@@ -1925,7 +1931,7 @@ struct XOrder
string mSymbol = NULL, // Trading Symbol
string mProvider = NULL, // Signal Provider
ENUM_TIMEFRAMES mPeriod = NULL, // Trading Timeframe
ENUM_X_POSITION_TYPE mType = NULL, // Long (Buy), Short (Sell)
ENUM_X_POSITION_TYPES mType = NULL, // Long (Buy), Short (Sell)
ENUM_ORDER_STATE mState = NULL, // Order State
ulong mMagic = NULL, // Magic Number
bool mFilterByMagic = true // Get Only Self Open Positions
@@ -2476,7 +2482,7 @@ struct XGuard
string symbol; // Trading Symbol ...
string provider; // Signal Provider ...
ENUM_TIMEFRAMES period; // Trading Timeframe ...
ENUM_X_POSITION_TYPE type; // Position Type ...
ENUM_X_POSITION_TYPES type; // Position Type ...
ENUM_X_GUARD_ACTIONS action; // Which Action to Do ...
//
@@ -2499,7 +2505,7 @@ struct XGuard
string mSymbol, // Trading Symbol ...
ENUM_TIMEFRAMES mPeriod, // Trading Timeframe ...
ENUM_X_GUARD_ACTIONS mAction, // Which Action to Do ...
ENUM_X_POSITION_TYPE mType = NULL, // Position Type ...
ENUM_X_POSITION_TYPES mType = NULL, // Position Type ...
string mProvider = NULL, // Signal Provider ...
double mDblPayLoad = NULL,
string mStrPayload = NULL //
@@ -3469,7 +3475,7 @@ bool IsTypeFilterPassed(
}
template <typename T>
bool IsTypeFilterPassed(
ENUM_X_POSITION_TYPE type,
ENUM_X_POSITION_TYPES type,
T &item
//
)
@@ -3978,7 +3984,7 @@ ENUM_ORDER_TYPE ToOrderType(ENUM_POSITION_TYPE value)
//
return result;
}
ENUM_ORDER_TYPE ToOrderType(ENUM_X_POSITION_TYPE value)
ENUM_ORDER_TYPE ToOrderType(ENUM_X_POSITION_TYPES value)
{
//
ENUM_POSITION_TYPE mType =