last ...
This commit is contained in:
@@ -165,28 +165,6 @@ class XC121SMCExpert : public XCBaseExpert
|
||||
ReConfigure();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Allow Open Trade On Signals State ...
|
||||
*
|
||||
* @return ( bool )
|
||||
*/
|
||||
bool AllowTrade()
|
||||
{
|
||||
return mAllowTrade;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Allow Open Trade On Signals State ...
|
||||
*
|
||||
* @param value: Boolean ...
|
||||
*/
|
||||
void AllowTrade(bool value)
|
||||
{
|
||||
//
|
||||
mAllowTrade = value;
|
||||
ReConfigure();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Use Max Allowed Signal Types Per Symbol State ...
|
||||
*
|
||||
@@ -329,6 +307,89 @@ class XC121SMCExpert : public XCBaseExpert
|
||||
ReConfigure();
|
||||
}
|
||||
|
||||
//
|
||||
// Trade ...
|
||||
|
||||
/**
|
||||
* Get Allow Open Trade On Signals State ...
|
||||
*
|
||||
* @return ( bool )
|
||||
*/
|
||||
bool AllowTrade()
|
||||
{
|
||||
return mAllowTrade;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Allow Open Trade On Signals State ...
|
||||
*
|
||||
* @param value: Boolean ...
|
||||
*/
|
||||
void AllowTrade(bool value)
|
||||
{
|
||||
mAllowTrade = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Enable Trade on Signals on Time ...
|
||||
*
|
||||
* @return ( string )
|
||||
*/
|
||||
string StartTradeAt()
|
||||
{
|
||||
return mStartTradeAt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Enable Trade on Signals on Time ...
|
||||
*
|
||||
* @param value: String ...
|
||||
*/
|
||||
void StartTradeAt(string value)
|
||||
{
|
||||
mStartTradeAt = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Enable Trade on Signals on Time ...
|
||||
*
|
||||
* @return ( string )
|
||||
*/
|
||||
string StopTradeAt()
|
||||
{
|
||||
return mStopTradeAt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Enable Trade on Signals on Time ...
|
||||
*
|
||||
* @param value: String ...
|
||||
*/
|
||||
void StopTradeAt(string value)
|
||||
{
|
||||
mStopTradeAt = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Enable Close All Trades on Signals on Time ...
|
||||
*
|
||||
* @return ( string )
|
||||
*/
|
||||
string CloseAllTradesAt()
|
||||
{
|
||||
return mCloseAllTradesAt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Enable Close All Trades on Signals on Time ...
|
||||
*
|
||||
* @param value: String ...
|
||||
*/
|
||||
void CloseAllTradesAt(string value)
|
||||
{
|
||||
mCloseAllTradesAt = value;
|
||||
}
|
||||
|
||||
//
|
||||
// Risk Management Props ...
|
||||
|
||||
@@ -782,7 +843,13 @@ class XC121SMCExpert : public XCBaseExpert
|
||||
if (mAlertRawSignals)
|
||||
{
|
||||
//
|
||||
string msg = "Raw " + (IsLong(signal.type) ? "Long" : "Short") + " Signal Recieved: (" + signal.provider + "," + signal.symbol + "," + ToString(signal.period) + ") ...";
|
||||
string msg = "Raw " + (IsLong(signal.type) ? "Long" : "Short") +
|
||||
" Signal Recieved: (" + signal.provider + "," +
|
||||
signal.symbol + "," +
|
||||
ToString(signal.period) +
|
||||
") ...";
|
||||
|
||||
//
|
||||
Alert(msg);
|
||||
}
|
||||
|
||||
@@ -833,14 +900,27 @@ class XC121SMCExpert : public XCBaseExpert
|
||||
if (allowTrade)
|
||||
{
|
||||
//
|
||||
// Execute Signal Using Trade Handler ...
|
||||
ENUM_X_SIGNAL_EXECUTION_RESULT state;
|
||||
bool isExecuted = mTradeHandler.ExecuteSignal(
|
||||
signal,
|
||||
conditions,
|
||||
state,
|
||||
false // ignore Policies ...
|
||||
string startTime = StartTradeAt();
|
||||
string endTime = StopTradeAt();
|
||||
bool isTimePassed = IsTimeInRange(
|
||||
TimeCurrent(),
|
||||
startTime,
|
||||
endTime //
|
||||
);
|
||||
|
||||
//
|
||||
if (isTimePassed)
|
||||
{
|
||||
//
|
||||
// Execute Signal Using Trade Handler ...
|
||||
ENUM_X_SIGNAL_EXECUTION_RESULT state;
|
||||
bool isExecuted = mTradeHandler.ExecuteSignal(
|
||||
signal,
|
||||
conditions,
|
||||
state,
|
||||
false // ignore Policies ...
|
||||
);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -869,14 +949,14 @@ class XC121SMCExpert : public XCBaseExpert
|
||||
signal,
|
||||
signalObject //
|
||||
);
|
||||
DrawX121SMCStrategyConditions(
|
||||
conditions,
|
||||
objects,
|
||||
eaDrawer,
|
||||
true, // draw Market Structure ...
|
||||
true, // Draw Price Zones ...
|
||||
true // Draw Decision Zones ...
|
||||
);
|
||||
// DrawX121SMCStrategyConditions(
|
||||
// conditions,
|
||||
// objects,
|
||||
// eaDrawer,
|
||||
// true, // draw Market Structure ...
|
||||
// true, // Draw Price Zones ...
|
||||
// true // Draw Decision Zones ...
|
||||
// );
|
||||
|
||||
//
|
||||
Add(
|
||||
@@ -1243,6 +1323,19 @@ class XC121SMCExpert : public XCBaseExpert
|
||||
*/
|
||||
void HandleStrategiesOnTick() override
|
||||
{
|
||||
//
|
||||
// Check Force Close ...
|
||||
string forceCloseTimeStr = CloseAllTradesAt();
|
||||
datetime forceCloseTime = ParseDateTimeFromTimeString(forceCloseTimeStr);
|
||||
bool canForceClose = IsTimeInRange(
|
||||
TimeCurrent(),
|
||||
forceCloseTime //
|
||||
);
|
||||
if (canForceClose)
|
||||
{
|
||||
mTradeHandler.ForceClose();
|
||||
}
|
||||
|
||||
//
|
||||
// Update Positions Data ...
|
||||
mTradeHandler.UpdateData();
|
||||
@@ -1645,7 +1738,6 @@ class XC121SMCExpert : public XCBaseExpert
|
||||
// Signalling Props ...
|
||||
bool mAllowLong; // Allow Long Signals ...
|
||||
bool mAllowShort; // Allow Short Signals ...
|
||||
bool mAllowTrade; // Allow Open Trade On Signals ...
|
||||
int mMaxAllowedLongs; // Max Allowed Long Signals ...
|
||||
int mMaxAllowedShorts; // Max Allowed Short Signals ...
|
||||
bool mUseMaxAllowedSignalsPerSymbol; // Use Max Allowed Signal Types Per Symbol ...
|
||||
@@ -1654,6 +1746,13 @@ class XC121SMCExpert : public XCBaseExpert
|
||||
double mMaxAllowedSpread; // Max Allowed Spread for Signalling ...
|
||||
int mMinRequiredVerificationForSpreadPass; // Minimum Spread Verification for Signalling ...
|
||||
|
||||
//
|
||||
// Trade ...
|
||||
bool mAllowTrade; // Allow Open Trade On Signals ...
|
||||
string mStartTradeAt; // Enable Trade on Signals on Time ...
|
||||
string mStopTradeAt; // Enable Trade on Signals on Time ...
|
||||
string mCloseAllTradesAt; // Enable Close All Trades on Signals on Time ...
|
||||
|
||||
//
|
||||
// Risk Management Props ...
|
||||
double mR2R; // Signallers Risk to Reward Ratio ...
|
||||
|
||||
Reference in New Issue
Block a user