This commit is contained in:
2024-10-28 23:31:03 +03:30
parent f0d3ededea
commit b0e4f94f96
4 changed files with 1769 additions and 34 deletions
+149 -16
View File
@@ -35,20 +35,23 @@ enum ENUM_XCHARTOBJECTS
{
//
// Global ...
X_ZONE = 7861,
X_FROM_TO = 7862,
X_ZONE = 7860,
X_FROM_TO = 7861,
X_BAR_ARROW = 7862,
//
// Structured ...
X_TRADE_DAY = 7863,
X_MARKET_SESSION = 7864,
X_SUPPORT_ZONE = 7865,
X_RESISTANCE_ZONE = 7866,
X_SUPPLY_ZONE = 7867,
X_DEMAND_ZONE = 7868,
X_BULLISH_ORDERBLOCK = 7869,
X_BEARISH_ORDERBLOCK = 78610,
X_BULLISH_FVG = 78611,
X_BEARISH_FVG = 78612,
X_SIGNAL = 8860
//
// Structured ...
X_TRADE_DAY = 9860,
X_MARKET_SESSION = 9861,
X_SUPPORT_ZONE = 9862,
X_RESISTANCE_ZONE = 9863,
X_SUPPLY_ZONE = 9864,
X_DEMAND_ZONE = 9865,
X_BULLISH_ORDERBLOCK = 9866,
X_BEARISH_ORDERBLOCK = 9867,
X_BULLISH_FVG = 9868,
X_BEARISH_FVG = 9869,
};
enum ENUM_X_CHART_IDS
@@ -168,6 +171,123 @@ class XCBaseObject : public CChartObject
//
};
//
// Draw Bar ...
class XCBarArrow : public XCBaseObject
{
//
public:
//
//
// Constructors ...
void XCBarArrow()
{
}
//
// Deconstructors ...
void ~XCBarArrow()
{
}
/**
* Create XCBarArrow ...
*
* @param chart_id: Long ...
* @param name: String ...
* @param window: Integer ...
*
* @return ( bool )
*/
bool Create(
long chart_id,
const string name,
const int window,
XOHCL &bar,
ENUM_X_PRICE priceType,
int arrow //
)
{
//
bool result = false;
//
result = bar.IsValid() &&
IsValid(name);
if (!result)
{
return result;
}
//
double time = bar.time;
double price = bar.GetPrice(priceType);
//
result = mArrow.Create(
chart_id,
name,
window,
time,
price,
(char)arrow //
);
if (!result)
{
return result;
}
//
// Set Object Name ...
ObjName(name);
//
return result;
}
/**
* Retrieve Object Type ...
*
* @return ( ENUM_XCHARTOBJECTS )
*/
virtual ENUM_XCHARTOBJECTS Type()
{
return X_BAR_ARROW;
}
/**
* Set Arrow Anchor ...
*
* @param value: ENUM_ARROW_ANCHOR member ...
*/
void ArrowAnchor(ENUM_ARROW_ANCHOR value)
{
mArrow.Anchor(value);
}
/**
* Set Arrow Color ...
*
* @param value: Color ...
*/
void ArrowColor(color value)
{
mArrow.Color(value);
}
//
protected:
//
//
private:
//
CChartObjectArrow mArrow;
//
};
//
// From To Chart Object ...
class XCFromToObject : public XCBaseObject
@@ -666,7 +786,7 @@ class XCSignalObject : public XCBaseObject
//
// SL ...
string slName = ToString(X_TP) + "_" + name;
string slName = ToString(X_SL) + "_" + name;
result = mSLTrend.Create(
chart_id,
slName,
@@ -830,6 +950,16 @@ class XCSignalObject : public XCBaseObject
mEntryTrend.Style(value);
}
/**
* Retrieve Object Type ...
*
* @return ( ENUM_XCHARTOBJECTS )
*/
virtual ENUM_XCHARTOBJECTS Type()
{
return X_SIGNAL;
}
//
private:
//
@@ -987,8 +1117,11 @@ class XCMarketSessionObject : public XCFromToObject
};
//
// Support Zone ...
class XCSupportZoneObject : public XCZoneObject
class XCSwingHighObject : public
//
// Support Zone ...
class XCSupportZoneObject : public XCZoneObject
{
//
public: