This commit is contained in:
2024-08-23 13:02:45 +03:30
parent f8820f3efb
commit 015fccaa99
2 changed files with 60 additions and 30 deletions
+30 -30
View File
@@ -44,7 +44,7 @@ input string eaLogSuffix = ""; // Log Suffix
// //
// Symbols ... // Symbols ...
input group "Symbols"; input group "Symbols";
input bool eaMultiSymbol = true; // Use Multi Symbol input bool eaMultiSymbol = false; // Use Multi Symbol
input bool eaUseMaxAllowedTradesPerSymbol = true; // Use Max Allowed Trades Per Symbol input bool eaUseMaxAllowedTradesPerSymbol = true; // Use Max Allowed Trades Per Symbol
input string eaSymbols = "EURUSDb,GBPUSDb,EURGBPb,USDJPYb,EURJPYb,USDCHFb,EURCHFb,AUDUSDb,NZDUSDb,USDCADb,EURCADb,XAUUSDb,DowJones30"; // Trading Symbols input string eaSymbols = "EURUSDb,GBPUSDb,EURGBPb,USDJPYb,EURJPYb,USDCHFb,EURCHFb,AUDUSDb,NZDUSDb,USDCADb,EURCADb,XAUUSDb,DowJones30"; // Trading Symbols
@@ -60,7 +60,7 @@ input bool eaUseFixedTPSLPoints = true; // Use Fixed TP SL in Points
input bool eaIgnoreTP = false; // Ignore TP input bool eaIgnoreTP = false; // Ignore TP
input bool eaIgnoreSL = false; // Ignore SL input bool eaIgnoreSL = false; // Ignore SL
input double eaTPPoint = 200; // Static TP Point input double eaTPPoint = 200; // Static TP Point
input double eaSLPoint = 500; // Static SL Point input double eaSLPoint = 100; // Static SL Point
// //
// Risk Management > Volume Calculation ... // Risk Management > Volume Calculation ...
@@ -68,7 +68,7 @@ input group "Volume";
input bool eaUseDynamicVolume = false; // Use Dynamic Volume input bool eaUseDynamicVolume = false; // Use Dynamic Volume
input double eaDynamicVolumeStep = 0.01; // Increase Volume Step input double eaDynamicVolumeStep = 0.01; // Increase Volume Step
input double eaDynamicVolumeBalanceFactor = 200; // Balance Factor for Generate Dynamic Volume input double eaDynamicVolumeBalanceFactor = 200; // Balance Factor for Generate Dynamic Volume
input double eaVolume = 0.3; // Static Volume input double eaVolume = 0.2; // Static Volume
// //
// Risk Management > Trade Management ... // Risk Management > Trade Management ...
@@ -91,8 +91,8 @@ input double eaMinimumProfitPerVolumeForHedging = 1; // Minimum Required Profit
// Risk Management > Trailling Stop ... // Risk Management > Trailling Stop ...
input group "Trailling Stop"; input group "Trailling Stop";
input bool eaAllowTrailStop = false; // Allow Trail Stop input bool eaAllowTrailStop = false; // Allow Trail Stop
input double eaStartTrailInPoint = 100; // Trail Start After Profit (Point) input double eaStartTrailInPoint = 50; // Trail Start After Profit (Point)
input double eaTrailStepInPoint = 30; // Trail Size in each Step (Point) input double eaTrailStepInPoint = 25; // Trail Size in each Step (Point)
input bool eaIgnoreTPAfterTrail = true; // Ignore TP after Trail input bool eaIgnoreTPAfterTrail = true; // Ignore TP after Trail
// //
@@ -861,32 +861,32 @@ void OnSignalRecieved(
return; return;
} }
// // //
// Here we Can Increase Signal Volume if // // Here we Can Increase Signal Volume if
// it is not force Filtered ... // // it is not force Filtered ...
bool isForceFiltered = parser.IsFiltered( // bool isForceFiltered = parser.IsFiltered(
signal, // signal,
conditions, // conditions,
true // // true //
); // );
if (!isForceFiltered) // if (!isForceFiltered)
{ // {
// // //
// TODO: // // TODO:
// Implement Strong Signals Conditions // // Implement Strong Signals Conditions
// Senarios ... // // Senarios ...
forceSignalsCount++; // forceSignalsCount++;
// // //
// Alert Froce Strong Signals // // Alert Froce Strong Signals
// if Provided ... // // if Provided ...
if (eaAlertStrongSignals) // if (eaAlertStrongSignals)
{ // {
// // //
string msg = "Foce Strong " + (IsLong(signal.type) ? "Long" : "Short") + " Signal Recieved: (" + signal.provider + "," + signal.symbol + "," + ToString(signal.period) + ") ..."; // string msg = "Foce Strong " + (IsLong(signal.type) ? "Long" : "Short") + " Signal Recieved: (" + signal.provider + "," + signal.symbol + "," + ToString(signal.period) + ") ...";
eaAlert.Alert(msg); // eaAlert.Alert(msg);
} // }
} // }
// //
// Attach Conditions Summary to Signal ... // Attach Conditions Summary to Signal ...
@@ -197,6 +197,21 @@ struct XCHStartegyAMarketsConditionsParser
bool isEURCAD = _symbolParser.IsEURCAD(signal.symbol); bool isEURCAD = _symbolParser.IsEURCAD(signal.symbol);
bool isDowJones = _symbolParser.IsDowJones(signal.symbol); bool isDowJones = _symbolParser.IsDowJones(signal.symbol);
//
bool isEURUSDFiltered = false;
bool isGBPUSDFiltered = false;
bool isEURGBPFiltered = false;
bool isXAUUSDFiltered = false;
bool isUSDJPYFiltered = false;
bool isEURJPYFiltered = false;
bool isUSDCHFFiltered = false;
bool isEURCHFFiltered = false;
bool isAUDUSDFiltered = false;
bool isNZDUSDFiltered = false;
bool isUSDCADFiltered = false;
bool isEURCADFiltered = false;
bool isDowJonesFiltered = false;
// //
if (!force) if (!force)
{ {
@@ -446,6 +461,21 @@ struct XCHStartegyAMarketsConditionsParser
bool isEURCAD = _symbolParser.IsEURCAD(signal.symbol); bool isEURCAD = _symbolParser.IsEURCAD(signal.symbol);
bool isDowJones = _symbolParser.IsDowJones(signal.symbol); bool isDowJones = _symbolParser.IsDowJones(signal.symbol);
//
bool isEURUSDFiltered = false;
bool isGBPUSDFiltered = false;
bool isEURGBPFiltered = false;
bool isXAUUSDFiltered = false;
bool isUSDJPYFiltered = false;
bool isEURJPYFiltered = false;
bool isUSDCHFFiltered = false;
bool isEURCHFFiltered = false;
bool isAUDUSDFiltered = false;
bool isNZDUSDFiltered = false;
bool isUSDCADFiltered = false;
bool isEURCADFiltered = false;
bool isDowJonesFiltered = false;
// //
if (!force) if (!force)
{ {