last ...
This commit is contained in:
@@ -275,6 +275,68 @@ struct XCATBEAStrategyConditions
|
||||
//
|
||||
};
|
||||
|
||||
/**
|
||||
* Converts Strategy Conditions to Signal ...
|
||||
*/
|
||||
bool ToSignal(
|
||||
XSignal &signal,
|
||||
XCATBEAStrategyConditions &conditions //
|
||||
)
|
||||
{
|
||||
//
|
||||
bool result = false;
|
||||
|
||||
//
|
||||
// Normalize Args ...
|
||||
signal.Clean();
|
||||
|
||||
//
|
||||
// Validate Args ...
|
||||
result =
|
||||
conditions.IsValid() &&
|
||||
conditions.IsSetuped() &&
|
||||
conditions.CanTrigger();
|
||||
if (!result)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
// Do Converting ...
|
||||
signal.volume = 0.01;
|
||||
signal.tp = conditions.tp;
|
||||
signal.sl = conditions.sl;
|
||||
signal.entry = conditions.entry;
|
||||
signal.symbol = conditions.symbol;
|
||||
signal.period = conditions.period;
|
||||
signal.mode = X_ORDER_MODE_MARKET;
|
||||
signal.time = conditions.triggerTime;
|
||||
signal.provider = conditions.provider;
|
||||
signal.type = conditions.type ==
|
||||
X_POSITION_TYPE_LONG
|
||||
? POSITION_TYPE_BUY
|
||||
: POSITION_TYPE_SELL;
|
||||
signal.conditions = conditions
|
||||
.conditions
|
||||
.GenerateSummary(
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
false // Ignore False Conditions ...
|
||||
);
|
||||
Copy(
|
||||
conditions.targets,
|
||||
signal.targets //
|
||||
);
|
||||
|
||||
//
|
||||
// Validate Result ...
|
||||
result = signal.IsValid();
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Detect Signal Zone based on Market Conditions ...
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user