cleanup some unused params from cleasses ...
This commit is contained in:
@@ -45,21 +45,10 @@ public:
|
|||||||
XSCX121EA(
|
XSCX121EA(
|
||||||
//
|
//
|
||||||
// XTrade Class Requirements ...
|
// XTrade Class Requirements ...
|
||||||
int slippage, // Specify Slippage
|
int slippage, // Specify Slippage
|
||||||
ulong magicNumber, // Specify Magic Number
|
ulong magicNumber, // Specify Magic Number
|
||||||
int manageInterval, // Manager Check Intervals Seconds
|
|
||||||
double maxAllowedSpread, // Max Allowed Spred for Opening Trades
|
|
||||||
int maxAllowedPositions, // Max Allowed Positions
|
|
||||||
double maxAllowedDrawdownFactor, // Max Allowed Drawdown Factor
|
|
||||||
double staticVolume, // Static Volume for Positions
|
|
||||||
//
|
//
|
||||||
// Position Management ...
|
// XSCTrade Event Handlers ...
|
||||||
bool allowLong = true, // Allow Long Trades
|
|
||||||
bool allowShort = true, // Allow Short Trades
|
|
||||||
double minProfitPerTrade = 0, // Min Profit Per Trade based On Volume Factor (Hedge)
|
|
||||||
double minProfitPerVolumeFactor = 0, // Min Volume Factor for Calculating Profit (Hedge)
|
|
||||||
//
|
|
||||||
// Event Handlers ...
|
|
||||||
TOnStopLoss onStopLossTriggered = NULL, // On StopLoass Triggered Event Handler
|
TOnStopLoss onStopLossTriggered = NULL, // On StopLoass Triggered Event Handler
|
||||||
TOnTakeProfit onTakeProfitTriggered = NULL, // On TakeProfit Triggered Event Handler
|
TOnTakeProfit onTakeProfitTriggered = NULL, // On TakeProfit Triggered Event Handler
|
||||||
TOnDealsChanged onDealsChangedHandler = NULL, // On Deals Changed Event Handler
|
TOnDealsChanged onDealsChangedHandler = NULL, // On Deals Changed Event Handler
|
||||||
@@ -67,36 +56,16 @@ public:
|
|||||||
TOnPositionsChanged onPositionsChangedHandler = NULL, // On Positions Changed Event Handler
|
TOnPositionsChanged onPositionsChangedHandler = NULL, // On Positions Changed Event Handler
|
||||||
TOnTradeStateChanged onTradeStateChangedHandler = NULL, // On Trade State Changed Event Handler
|
TOnTradeStateChanged onTradeStateChangedHandler = NULL, // On Trade State Changed Event Handler
|
||||||
//
|
//
|
||||||
TOnSignal onSignalHandler = NULL, // On Signal Event Handler
|
// Custom Event Handler ...
|
||||||
//
|
TOnSignal onSignalHandler = NULL // On Signal Event Handler
|
||||||
// Log Handler ...
|
|
||||||
bool enableAlerts = true, // Enable Alerts
|
|
||||||
bool logAlerts = true, // Log Alerts
|
|
||||||
bool terminalAlerts = false, // Terminal Alerts
|
|
||||||
bool mailAlerts = false, // Mail Alerts
|
|
||||||
bool pushAlerts = false // Push Alerts
|
|
||||||
) : XSCBaseEA(slippage,
|
) : XSCBaseEA(slippage,
|
||||||
magicNumber,
|
magicNumber,
|
||||||
manageInterval,
|
|
||||||
maxAllowedSpread,
|
|
||||||
maxAllowedPositions,
|
|
||||||
maxAllowedDrawdownFactor,
|
|
||||||
staticVolume,
|
|
||||||
allowLong,
|
|
||||||
allowShort,
|
|
||||||
minProfitPerTrade,
|
|
||||||
minProfitPerVolumeFactor,
|
|
||||||
onStopLossTriggered,
|
onStopLossTriggered,
|
||||||
onTakeProfitTriggered,
|
onTakeProfitTriggered,
|
||||||
onDealsChangedHandler,
|
onDealsChangedHandler,
|
||||||
onOrdersChangedHandler,
|
onOrdersChangedHandler,
|
||||||
onPositionsChangedHandler,
|
onPositionsChangedHandler,
|
||||||
onTradeStateChangedHandler,
|
onTradeStateChangedHandler //
|
||||||
enableAlerts,
|
|
||||||
logAlerts,
|
|
||||||
terminalAlerts,
|
|
||||||
mailAlerts,
|
|
||||||
pushAlerts //
|
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2145,59 +2145,28 @@ public:
|
|||||||
XSCBaseEA(
|
XSCBaseEA(
|
||||||
//
|
//
|
||||||
// XTrade Class Requirements ...
|
// XTrade Class Requirements ...
|
||||||
int slippage, // Specify Slippage
|
int slippage, // Specify Slippage
|
||||||
ulong magicNumber, // Specify Magic Number
|
ulong magicNumber, // Specify Magic Number
|
||||||
int manageInterval, // Manager Check Intervals Seconds
|
|
||||||
double maxAllowedSpread, // Max Allowed Spred for Opening Trades
|
|
||||||
int maxAllowedPositions, // Max Allowed Positions
|
|
||||||
double maxAllowedDrawdownFactor, // Max Allowed Drawdown Factor
|
|
||||||
double staticVolume, // Static Volume for Positions
|
|
||||||
//
|
|
||||||
// Position Management ...
|
|
||||||
bool allowLong = true, // Allow Long Trades
|
|
||||||
bool allowShort = true, // Allow Short Trades
|
|
||||||
double minProfitPerTrade = 0, // Min Profit Per Trade based On Volume Factor (Hedge)
|
|
||||||
double minProfitPerVolumeFactor = 0, // Min Volume Factor for Calculating Profit (Hedge)
|
|
||||||
//
|
//
|
||||||
// Event Handlers ...
|
// Event Handlers ...
|
||||||
TOnStopLoss onStopLossTriggered = NULL, // On StopLoass Triggered Event Handler
|
TOnStopLoss onStopLossTriggered = NULL, // On StopLoass Triggered Event Handler
|
||||||
TOnTakeProfit onTakeProfitTriggered = NULL, // On TakeProfit Triggered Event Handler
|
TOnTakeProfit onTakeProfitTriggered = NULL, // On TakeProfit Triggered Event Handler
|
||||||
TOnDealsChanged onDealsChangedHandler = NULL, // On Deals Changed Event Handler
|
TOnDealsChanged onDealsChangedHandler = NULL, // On Deals Changed Event Handler
|
||||||
TOnOrdersChanged onOrdersChangedHandler = NULL, // On Orders Changed Event Handler
|
TOnOrdersChanged onOrdersChangedHandler = NULL, // On Orders Changed Event Handler
|
||||||
TOnPositionsChanged onPositionsChangedHandler = NULL, // On Positions Changed Event Handler
|
TOnPositionsChanged onPositionsChangedHandler = NULL, // On Positions Changed Event Handler
|
||||||
TOnTradeStateChanged onTradeStateChangedHandler = NULL, // On Trade State Changed Event Handler
|
TOnTradeStateChanged onTradeStateChangedHandler = NULL // On Trade State Changed Event Handler
|
||||||
//
|
|
||||||
// Log Handler ...
|
|
||||||
bool enableAlerts = true, // Enable Alerts
|
|
||||||
bool logAlerts = true, // Log Alerts
|
|
||||||
bool terminalAlerts = false, // Terminal Alerts
|
|
||||||
bool mailAlerts = false, // Mail Alerts
|
|
||||||
bool pushAlerts = false // Push Alerts
|
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
// Instance XSCTrade Class ...
|
// Instance XSCTrade Class ...
|
||||||
mTrader = new XSCTrade(
|
mTrader = new XSCTrade(
|
||||||
slippage,
|
slippage,
|
||||||
magicNumber,
|
magicNumber //
|
||||||
manageInterval,
|
|
||||||
maxAllowedSpread,
|
|
||||||
maxAllowedPositions,
|
|
||||||
maxAllowedDrawdownFactor
|
|
||||||
//
|
|
||||||
);
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
mIsInTestMode = IsRunningOnTestMode();
|
mIsInTestMode = IsRunningOnTestMode();
|
||||||
|
|
||||||
//
|
|
||||||
// Position Management ...
|
|
||||||
mAllowLong = allowLong;
|
|
||||||
mAllowShort = allowShort;
|
|
||||||
mMinProfitPerTrade = minProfitPerTrade;
|
|
||||||
mMinProfitPerVolumeFactor = minProfitPerVolumeFactor;
|
|
||||||
mStaticVolume = staticVolume;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Set Event Handlers ...
|
// Set Event Handlers ...
|
||||||
mOnStopLossTriggered = onStopLossTriggered;
|
mOnStopLossTriggered = onStopLossTriggered;
|
||||||
@@ -2283,135 +2252,6 @@ public:
|
|||||||
return mTrader.GetMagicNumber();
|
return mTrader.GetMagicNumber();
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
|
||||||
// Retrieve Max Allowed Spread for Trading ...
|
|
||||||
double GetMaxAllowedSpread()
|
|
||||||
{
|
|
||||||
return mTrader.GetMaxAllowedSpread();
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Retrieve Max Allowed Same Time Positions Count ...
|
|
||||||
int GetMaxAllowedPositions()
|
|
||||||
{
|
|
||||||
return mTrader.GetMaxAllowedPositions();
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Retrieve Max Allowed Drawdown for Opening new Trades ...
|
|
||||||
double GetMaxAllowedDrawdownFactor()
|
|
||||||
{
|
|
||||||
return mTrader.GetMaxAllowedDrawdownFactor();
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
double GetStaticVolume()
|
|
||||||
{
|
|
||||||
return mStaticVolume;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
void SetStaticVolume(double value)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
if (value <= 0)
|
|
||||||
{
|
|
||||||
value = 0.01;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
mStaticVolume = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
bool GetAllowLong()
|
|
||||||
{
|
|
||||||
return mAllowLong;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
void SetAllowLong(bool value)
|
|
||||||
{
|
|
||||||
mAllowLong = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
bool GetAllowShort()
|
|
||||||
{
|
|
||||||
return mAllowShort;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
void SetAllowShort(bool value)
|
|
||||||
{
|
|
||||||
mAllowShort = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
double GetMinProfitPerTrade()
|
|
||||||
{
|
|
||||||
return mMinProfitPerTrade;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
void SetMinProfitPerTrade(double value)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
if (value <= 0)
|
|
||||||
{
|
|
||||||
value = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
if (value == mMinProfitPerTrade)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
mMinProfitPerTrade = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
double GetMinProfitPerVolumeFactor()
|
|
||||||
{
|
|
||||||
return mMinProfitPerVolumeFactor;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
void SetMinProfitPerVolumeFactor(double value)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
if (value <= 0)
|
|
||||||
{
|
|
||||||
value = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
if (value == mMinProfitPerVolumeFactor)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
mMinProfitPerVolumeFactor = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
bool IsHedgeEnable()
|
|
||||||
{
|
|
||||||
//
|
|
||||||
bool result =
|
|
||||||
//
|
|
||||||
mMinProfitPerTrade > 0 &&
|
|
||||||
mMinProfitPerVolumeFactor > 0
|
|
||||||
//
|
|
||||||
;
|
|
||||||
|
|
||||||
//
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Overrides ...
|
// Overrides ...
|
||||||
|
|
||||||
@@ -2678,41 +2518,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Filter Signals Based on their Types ...
|
int managedSignalsCount = HandleSignalManagement(signals);
|
||||||
XSignal filteredSignals[];
|
|
||||||
|
|
||||||
//
|
|
||||||
// Try to Filter Signals ...
|
|
||||||
for (int i = 0; i < signalsCount; i++)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
XSignal iSignal = signals[i];
|
|
||||||
|
|
||||||
//
|
|
||||||
bool isLong = IsLong(iSignal.type);
|
|
||||||
|
|
||||||
//
|
|
||||||
if ((isLong && !GetAllowLong()) || (!isLong && !GetAllowShort()))
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
AddRef(
|
|
||||||
iSignal,
|
|
||||||
filteredSignals //
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
int filteredSignalsCount = ArraySize(filteredSignals);
|
|
||||||
if (filteredSignalsCount <= 0)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
int managedSignalsCount = HandleSignalManagement(filteredSignals);
|
|
||||||
if (managedSignalsCount <= 0)
|
if (managedSignalsCount <= 0)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@@ -2723,7 +2529,7 @@ public:
|
|||||||
XSignal notExecuteds[];
|
XSignal notExecuteds[];
|
||||||
ENUM_X_SIGNAL_EXECUTION_RESULT reasons[];
|
ENUM_X_SIGNAL_EXECUTION_RESULT reasons[];
|
||||||
int executedSignalsCount = mTrader.ExecuteSpecifiedSignals(
|
int executedSignalsCount = mTrader.ExecuteSpecifiedSignals(
|
||||||
filteredSignals,
|
signals,
|
||||||
notExecuteds, // Not Executed Signals
|
notExecuteds, // Not Executed Signals
|
||||||
reasons
|
reasons
|
||||||
//
|
//
|
||||||
@@ -2734,7 +2540,7 @@ public:
|
|||||||
if (executedSignalsCount == 0)
|
if (executedSignalsCount == 0)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
message = "(" + ToString(filteredSignalsCount) + ") Signals Execution Failed ...";
|
message = "(" + ToString(managedSignalsCount) + ") Signals Execution Failed ...";
|
||||||
|
|
||||||
//
|
//
|
||||||
for (int j = 0; j < ArraySize(reasons); j++)
|
for (int j = 0; j < ArraySize(reasons); j++)
|
||||||
@@ -2746,15 +2552,15 @@ public:
|
|||||||
message += "\n" + ToString(j) + ": " + iReason;
|
message += "\n" + ToString(j) + ": " + iReason;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (executedSignalsCount < filteredSignalsCount)
|
else if (executedSignalsCount < managedSignalsCount)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
int diff = filteredSignalsCount - executedSignalsCount;
|
int diff = managedSignalsCount - executedSignalsCount;
|
||||||
|
|
||||||
//
|
//
|
||||||
message = "Failed to Execute (" + ToString(diff) + ") Signals ...";
|
message = "Failed to Execute (" + ToString(diff) + ") Signals ...";
|
||||||
}
|
}
|
||||||
else if (executedSignalsCount == filteredSignalsCount)
|
else if (executedSignalsCount == managedSignalsCount)
|
||||||
{
|
{
|
||||||
message = "(" + ToString(executedSignalsCount) + ") Signals Executed Successfully ...";
|
message = "(" + ToString(executedSignalsCount) + ") Signals Executed Successfully ...";
|
||||||
}
|
}
|
||||||
@@ -2830,39 +2636,6 @@ protected:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
|
||||||
// Position Management ...
|
|
||||||
|
|
||||||
//
|
|
||||||
// Calculate Required Profit for Hedging ...
|
|
||||||
double CalculateRequiredProfitForHedge(
|
|
||||||
XPosition &positions[] // Source
|
|
||||||
)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
double result = SpecifiedCalculateRequiredProfitForHedge(
|
|
||||||
positions,
|
|
||||||
mMinProfitPerTrade,
|
|
||||||
mMinProfitPerVolumeFactor //
|
|
||||||
);
|
|
||||||
|
|
||||||
//
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Calculate Positions Profit Summary ...
|
|
||||||
double CalculatePositionsProfit(
|
|
||||||
XPosition &positions[] // Source
|
|
||||||
)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
double result = SpecifiedCalculatePositionsProfit(positions);
|
|
||||||
|
|
||||||
//
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Profit Tracker ...
|
// Profit Tracker ...
|
||||||
|
|
||||||
@@ -3411,11 +3184,12 @@ protected:
|
|||||||
//
|
//
|
||||||
// Close All Specified Provider's Positions in Profit Summary ...
|
// Close All Specified Provider's Positions in Profit Summary ...
|
||||||
void HandleGuardHedgeAction(
|
void HandleGuardHedgeAction(
|
||||||
string provider, // Positions Provided by Specific Provider
|
string provider, // Positions Provided by Specific Provider
|
||||||
string symbol, // Trading Symbol
|
string symbol, // Trading Symbol
|
||||||
ENUM_POSITION_TYPE type, // Trading Type
|
ENUM_POSITION_TYPE type, // Trading Type
|
||||||
ENUM_TIMEFRAMES period, // Specified Time Frame
|
ENUM_TIMEFRAMES period, // Specified Time Frame
|
||||||
double minProfitForHedging = 1 // Specified Profit for Hedge
|
double minProfitForHedging = 1, // Specified Profit for Hedge
|
||||||
|
double minProfitForHedgingVolumeFactor = 0.01 // Specified Volume Factor for Hedge
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
@@ -3435,8 +3209,12 @@ protected:
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
double profit = CalculatePositionsProfit(positions);
|
double profit = SpecifiedCalculatePositionsProfit(positions);
|
||||||
double requiredProfit = CalculateRequiredProfitForHedge(positions);
|
double requiredProfit = SpecifiedCalculateRequiredProfitForHedge(
|
||||||
|
positions,
|
||||||
|
minProfitForHedging,
|
||||||
|
minProfitForHedgingVolumeFactor //
|
||||||
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
bool isReadyForHedge = profit >= requiredProfit;
|
bool isReadyForHedge = profit >= requiredProfit;
|
||||||
@@ -3885,14 +3663,6 @@ private:
|
|||||||
// Signal Event Listeners ...
|
// Signal Event Listeners ...
|
||||||
TOnSignal mOnSignalEventHandlers[];
|
TOnSignal mOnSignalEventHandlers[];
|
||||||
|
|
||||||
//
|
|
||||||
// Position Management ...
|
|
||||||
bool mAllowLong; // Allow Long Trades
|
|
||||||
bool mAllowShort; // Allow Short Trades
|
|
||||||
double mMinProfitPerTrade; // Min Profit Per Trade based On Volume Factor (Hedge)
|
|
||||||
double mMinProfitPerVolumeFactor; // Min Volume Factor for Calculating Profit (Hedge)
|
|
||||||
double mStaticVolume; // Static Volume for Positions
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Event Handlers ...
|
// Event Handlers ...
|
||||||
TOnStopLoss mOnStopLossTriggered;
|
TOnStopLoss mOnStopLossTriggered;
|
||||||
|
|||||||
@@ -527,12 +527,11 @@ public:
|
|||||||
//
|
//
|
||||||
// Constructors ...
|
// Constructors ...
|
||||||
void XSCTrade(
|
void XSCTrade(
|
||||||
int slippage, // Specify Slippage
|
int slippage, // Specify Slippage
|
||||||
ulong magicNumber, // Specify Magic Number
|
ulong magicNumber, // Specify Magic Number
|
||||||
int manageInterval, // Manager Check Intervals Seconds
|
double maxAllowedSpread = 0, // Max Allowed Spred for Opening Trades
|
||||||
double maxAllowedSpread, // Max Allowed Spred for Opening Trades
|
int maxAllowedPositions = 0, // Max Allowed Positions
|
||||||
int maxAllowedPositions, // Max Allowed Positions
|
double maxAllowedDrawdownFactor = 0 // Max Allowed Drawdown Factor
|
||||||
double maxAllowedDrawdownFactor // Max Allowed Drawdown Factor
|
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
@@ -540,9 +539,6 @@ public:
|
|||||||
mSlippage = slippage;
|
mSlippage = slippage;
|
||||||
mMagicNumber = magicNumber;
|
mMagicNumber = magicNumber;
|
||||||
|
|
||||||
//
|
|
||||||
mManageInterval = manageInterval;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
mMaxAllowedSpread = maxAllowedSpread;
|
mMaxAllowedSpread = maxAllowedSpread;
|
||||||
mMaxAllowedPositions = maxAllowedPositions;
|
mMaxAllowedPositions = maxAllowedPositions;
|
||||||
|
|||||||
@@ -197,17 +197,8 @@ bool InitialEA()
|
|||||||
//
|
//
|
||||||
// Instantiate X121EA Class ...
|
// Instantiate X121EA Class ...
|
||||||
mX121EA = new XSCX121EA(
|
mX121EA = new XSCX121EA(
|
||||||
x121EASlippage, // Slippgae
|
x121EASlippage, // Slippgae
|
||||||
x121EAMagicNumber, // Magic Number
|
x121EAMagicNumber // Magic Number
|
||||||
x121EAManageInterval, // Manager Check Intervals Seconds
|
|
||||||
x121EAMaxAllowedSpread, // Max Allowed Spred for Opening Trades
|
|
||||||
x121EAMaxAllowedPositions, // Max Allowed Positions
|
|
||||||
x121EAMaxAllowedDrawdownFactor, // Max Allowed Drawdown Factor
|
|
||||||
x121EAVolume, // Static Volume for Positions
|
|
||||||
x121EAAllowLong, // Allow Long Trades
|
|
||||||
x121EAAllowShort, // Allow Short Trades
|
|
||||||
x121EAMinProfitPerTrade, // Min Profit Per Trade based On Volume Factor (Hedge)
|
|
||||||
x121EAMinProfitPerVolumeFactor // Min Volume Factor for Calculating Profit (Hedge)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|||||||
Reference in New Issue
Block a user