This commit is contained in:
2025-06-06 12:30:20 +03:30
parent 5394948aaa
commit c5ad6e50c2
3 changed files with 106 additions and 22 deletions
+18
View File
@@ -1,5 +1,14 @@
{ {
"todo": [ "todo": [
{
"assignedTo": {
"name": "Hadi Khazaee Asl"
},
"creation_time": "2025-06-06T08:25:14.036Z",
"id": "22",
"references": [],
"title": "add Support for Panel Integrations on EA"
},
{ {
"assignedTo": { "assignedTo": {
"name": "Hadi Khazaee Asl" "name": "Hadi Khazaee Asl"
@@ -17,6 +26,15 @@
"id": "21", "id": "21",
"references": [], "references": [],
"title": "test trigger block based inputs and second input signals using Trigger Bar ..." "title": "test trigger block based inputs and second input signals using Trigger Bar ..."
},
{
"assignedTo": {
"name": "Hadi Khazaee Asl"
},
"creation_time": "2025-06-06T08:51:47.616Z",
"id": "23",
"references": [],
"title": "add support for Filtering Signals using Conditions ..."
} }
], ],
"in-progress": [ "in-progress": [
+18 -18
View File
@@ -92,19 +92,19 @@ input bool eaFilterBasedOnHKSignalBar = false; // Filter Based On HK Signal Ba
// //
// Signal ... // Signal ...
input group "Signal"; input group "Signal";
input int eaSignalR2R = 2; // Risk Reward Ratio input int eaSignalR2R = 2; // Risk Reward Ratio
input double eaSLATRMultiplier = 0; // ATR Multiplier for SL input double eaSLATRMultiplier = 0; // ATR Multiplier for SL
input bool eaAllowSignallingBasedOnConditions; // Signalling Based on Market Conditions input bool eaAllowSignallingBasedOnConditions = false; // Signalling Based on Market Conditions
input bool eaAllowSignallingBasedOnTriggerBlocks; // Signalling Based on Trigger Blocks input bool eaAllowSignallingBasedOnTriggerBlocks = false; // Signalling Based on Trigger Blocks
input bool eaAllowSignallingBasedOnTriggerBlocksInsideOther; // Signalling Based on Trigger Blocks Seccond inputs input bool eaAllowSignallingBasedOnTriggerBlocksInsideOther = false; // Signalling Based on Trigger Blocks Seccond inputs
input bool eaSecondsTriggersSLUsingFirstTriggerBlock; // Use First Trigger Block for SL of Seconds Trigger Block Signalss input bool eaSecondsTriggersSLUsingFirstTriggerBlock = true; // Use First Trigger Block for SL of Seconds Trigger Block Signalss
input bool eaApplyValidateAndFilterOnSelectInsideOthers; // Select Trigger Blocks by Applying Validations and Filterss input bool eaApplyValidateAndFilterOnSelectInsideOthers = false; // Select Trigger Blocks by Applying Validations and Filterss
input bool eaAllowSignallingConditions1; // Allow Market Conditions Signaller to Using Sar Signals input bool eaAllowSignallingConditions1 = true; // Allow Market Conditions Signaller to Using Sar Signals
input bool eaAllowSignallingConditions2; // Allow Market Conditions Signaller to Using Trend Signals input bool eaAllowSignallingConditions2 = true; // Allow Market Conditions Signaller to Using Trend Signals
input bool eaAllowSignallingConditions3; // Allow Market Conditions Signaller to Using Delta Signals input bool eaAllowSignallingConditions3 = true; // Allow Market Conditions Signaller to Using Delta Signals
input bool eaAllowSignallingConditions4; // Allow Market Conditions Signaller to Using Volume Signals input bool eaAllowSignallingConditions4 = true; // Allow Market Conditions Signaller to Using Volume Signals
input bool eaAllowSignallingConditions5; // Allow Market Conditions Signaller to Using Signal Bar Signals input bool eaAllowSignallingConditions5 = true; // Allow Market Conditions Signaller to Using Signal Bar Signals
input bool eaAllowSignallingConditions6; // Allow Market Conditions Signaller to Using HK Signal Bar Signals input bool eaAllowSignallingConditions6 = true; // Allow Market Conditions Signaller to Using HK Signal Bar Signals
// //
// Volume ... // Volume ...
@@ -165,11 +165,11 @@ input bool eaReportAfterTradesBalance = true; // Report Balance after a Trade Fi
// //
// Collector ... // Collector ...
input group "Collector"; input group "Collector";
input bool eaSaveTrades = false; // Save Trades input bool eaSaveTrades = true; // Save Trades
input bool eaSaveSignals = false; // Save Signals input bool eaSaveSignals = true; // Save Signals
input bool eaSaveWins = false; // Save Winning Conditions input bool eaSaveWins = true; // Save Winning Conditions
input bool eaSaveLosts = false; // Save Lost Conditions input bool eaSaveLosts = true; // Save Lost Conditions
input bool eaSaveRestrictions = false; // Save Restriction Reports input bool eaSaveRestrictions = true; // Save Restriction Reports
// //
// Variables ... // Variables ...
+70 -4
View File
@@ -422,6 +422,8 @@ bool DetectSignalZone(
datetime iTo = NULL; datetime iTo = NULL;
string iSymbol = NULL; string iSymbol = NULL;
datetime iFrom = NULL; datetime iFrom = NULL;
int longPushers = 0;
int shortPushers = 0;
ENUM_TIMEFRAMES iPeriod = NULL; ENUM_TIMEFRAMES iPeriod = NULL;
ENUM_X_DIRECTION iDir = X_DIRECTION_NONE; ENUM_X_DIRECTION iDir = X_DIRECTION_NONE;
@@ -965,6 +967,16 @@ bool DetectSignalZone(
iUpper = signalZone.upper; iUpper = signalZone.upper;
iLower = signalZone.lower; iLower = signalZone.lower;
} }
//
if (isCond1Bullish)
{
longPushers++;
}
else
{
shortPushers++;
}
} }
// ---------------------------------- // ----------------------------------
@@ -1026,6 +1038,16 @@ bool DetectSignalZone(
iUpper = signalZone.upper; iUpper = signalZone.upper;
iLower = signalZone.lower; iLower = signalZone.lower;
} }
//
if (isCond2Bullish)
{
longPushers++;
}
else
{
shortPushers++;
}
} }
// ------------------------------------ // ------------------------------------
@@ -1087,6 +1109,16 @@ bool DetectSignalZone(
iUpper = signalZone.upper; iUpper = signalZone.upper;
iLower = signalZone.lower; iLower = signalZone.lower;
} }
//
if (isCond3Bullish)
{
longPushers++;
}
else
{
shortPushers++;
}
} }
// ------------------------------------ // ------------------------------------
@@ -1148,6 +1180,16 @@ bool DetectSignalZone(
iUpper = signalZone.upper; iUpper = signalZone.upper;
iLower = signalZone.lower; iLower = signalZone.lower;
} }
//
if (isCond4Bullish)
{
longPushers++;
}
else
{
shortPushers++;
}
} }
// ------------------------------------ // ------------------------------------
@@ -1209,6 +1251,16 @@ bool DetectSignalZone(
iUpper = signalZone.upper; iUpper = signalZone.upper;
iLower = signalZone.lower; iLower = signalZone.lower;
} }
//
if (isCond5Bullish)
{
longPushers++;
}
else
{
shortPushers++;
}
} }
// ------------------------------------ // ------------------------------------
@@ -1270,6 +1322,16 @@ bool DetectSignalZone(
iUpper = signalZone.upper; iUpper = signalZone.upper;
iLower = signalZone.lower; iLower = signalZone.lower;
} }
//
if (isCond6Bullish)
{
longPushers++;
}
else
{
shortPushers++;
}
} }
// ------------------------------------ // ------------------------------------
@@ -1304,8 +1366,10 @@ bool DetectSignalZone(
// //
// Summarize Result ... // Summarize Result ...
result = result =
isBullish || (isBullish &&
isBearish; longPushers >= 3) ||
(isBearish &&
shortPushers >= 3);
// //
// Preparing Signal Zone ... // Preparing Signal Zone ...
@@ -1379,12 +1443,14 @@ bool DetectSignalZone(
// //
Print("Conditions ..."); Print("Conditions ...");
// signalZone.Clean(); signalZone.Clean();
} }
// //
// Validate Result ... // Validate Result ...
result = signalZone.IsValid(); result =
result &&
signalZone.IsValid();
// //
// Cleanup Resources ... // Cleanup Resources ...