This commit is contained in:
2025-06-02 08:46:42 +03:30
parent b660b12322
commit d01e1036ce
5 changed files with 854 additions and 121 deletions
@@ -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 ...
*