diff --git a/Classes/x-saherelm.x121.setup.class.mq5 b/Classes/x-saherelm.x121.setup.class.mq5 index deafe141..77b0c4ff 100644 --- a/Classes/x-saherelm.x121.setup.class.mq5 +++ b/Classes/x-saherelm.x121.setup.class.mq5 @@ -51,7 +51,7 @@ enum ENUM_X121_SIGNAL_PROVIDER { // PROVIDER_UNKNOWN = 0, - PROVIDER_XMATD = 1, + PROVIDER_XMC = 1, PROVIDER_XSARD = 2, PROVIDER_XADXTD = 3, PROVIDER_XSTR = 4, @@ -68,6 +68,7 @@ enum ENUM_X121_SIGNAL_PROVIDER PROVIDER_XHULL = 15, PROVIDER_XASCT = 16, PROVIDER_XVLM = 17, + PROVIDER_XPVF = 18, }; // @@ -124,9 +125,9 @@ ENUM_X121_SIGNAL_PROVIDER FromString(string value) } // - if (Contains(value, (EnumToString(PROVIDER_XMATD)))) + if (Contains(value, (EnumToString(PROVIDER_XMC)))) { - result = PROVIDER_XMATD; + result = PROVIDER_XMC; } else if (Contains(value, (EnumToString(PROVIDER_XSARD)))) { @@ -188,6 +189,14 @@ ENUM_X121_SIGNAL_PROVIDER FromString(string value) { result = PROVIDER_XASCT; } + else if (Contains(value, (EnumToString(PROVIDER_XVLM)))) + { + result = PROVIDER_XVLM; + } + else if (Contains(value, (EnumToString(PROVIDER_XPVF)))) + { + result = PROVIDER_XPVF; + } // return result; @@ -884,7 +893,7 @@ struct X121SignalGenerator ); // - // XMATD ... + // XMC ... bool long1 = // // Starting Conditions ... @@ -909,7 +918,7 @@ struct X121SignalGenerator { // pusher++; - provider = ToString(PROVIDER_XMATD); + provider = ToString(PROVIDER_XMC); } // @@ -950,6 +959,7 @@ struct X121SignalGenerator // // Verifications ... conditions.mcConditions.isBullish && + conditions.mcConditions.isSARBullish && conditions.strConditions.isTrendBullish && conditions.cheConditions.isStrongBullish && conditions.tdConditions.isBullish && @@ -977,6 +987,7 @@ struct X121SignalGenerator // // Verifications ... conditions.mcConditions.isBullish && + conditions.mcConditions.isSARBullish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBullish && conditions.cheConditions.isStrongBullish && @@ -1005,6 +1016,7 @@ struct X121SignalGenerator // // Verifications ... conditions.mcConditions.isBullish && + conditions.mcConditions.isSARBullish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBullish && conditions.strConditions.isTrendBullish && @@ -1033,6 +1045,7 @@ struct X121SignalGenerator // // Verifications ... conditions.mcConditions.isBullish && + conditions.mcConditions.isSARBullish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBullish && conditions.strConditions.isTrendBullish && @@ -1063,6 +1076,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBullish && conditions.mcConditions.isBullish && + conditions.mcConditions.isSARBullish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBullish && conditions.strConditions.isTrendBullish && @@ -1093,6 +1107,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBullish && conditions.mcConditions.isBullish && + conditions.mcConditions.isSARBullish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBullish && conditions.strConditions.isTrendBullish && @@ -1123,6 +1138,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBullish && conditions.mcConditions.isBullish && + conditions.mcConditions.isSARBullish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBullish && conditions.strConditions.isTrendBullish && @@ -1152,6 +1168,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBullish && conditions.mcConditions.isBullish && + conditions.mcConditions.isSARBullish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBullish && conditions.strConditions.isTrendBullish && @@ -1181,6 +1198,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBullish && conditions.mcConditions.isBullish && + conditions.mcConditions.isSARBullish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBullish && conditions.strConditions.isTrendBullish && @@ -1209,6 +1227,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBullish && conditions.mcConditions.isBullish && + conditions.mcConditions.isSARBullish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBullish && conditions.strConditions.isTrendBullish && @@ -1237,6 +1256,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBullish && conditions.mcConditions.isBullish && + conditions.mcConditions.isSARBullish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBullish && conditions.strConditions.isTrendBullish && @@ -1265,6 +1285,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBullish && conditions.mcConditions.isBullish && + conditions.mcConditions.isSARBullish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBullish && conditions.strConditions.isTrendBullish && @@ -1293,6 +1314,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBullish && conditions.mcConditions.isBullish && + conditions.mcConditions.isSARBullish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBullish && conditions.strConditions.isTrendBullish && @@ -1321,6 +1343,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBullish && conditions.mcConditions.isBullish && + conditions.mcConditions.isSARBullish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBullish && conditions.strConditions.isTrendBullish && @@ -1350,6 +1373,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBullish && conditions.mcConditions.isBullish && + conditions.mcConditions.isSARBullish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBullish && conditions.strConditions.isTrendBullish && @@ -1368,6 +1392,36 @@ struct X121SignalGenerator provider = ToString(PROVIDER_XVLM); } + // + // XPVF ... + bool long18 = + // + // Starting Conditions ... + conditions.pvConditions.isFiboIncreased && + // + // Verifications ... + conditions.tdConditions.isBullish && + conditions.mcConditions.isBullish && + conditions.mcConditions.isSARBullish && + conditions.adxtdConditions.isStrong && + conditions.adxtdConditions.isBullish && + conditions.strConditions.isTrendBullish && + conditions.cheConditions.isStrongBullish && + conditions.hkConditions.isHKBullish && + conditions.hkConditions.isSMHKBullish && + conditions.mrbConditions.isFastOverSlow && + conditions.hullConditions.isBullish && + conditions.sslcConditions.isBullish && + conditions.vlmConditions.isVolumeBullish + // + ; + if (long18) + { + // + pusher++; + provider = ToString(PROVIDER_XPVF); + } + // result = // @@ -1442,6 +1496,10 @@ struct X121SignalGenerator // long17 // + || + // + long18 + // ) // ; @@ -1481,7 +1539,7 @@ struct X121SignalGenerator ); // - // XMATD ... + // XMC ... bool short1 = // // Starting Conditions ... @@ -1506,7 +1564,7 @@ struct X121SignalGenerator { // pusher++; - provider = ToString(PROVIDER_XMATD); + provider = ToString(PROVIDER_XMC); } // @@ -1547,6 +1605,7 @@ struct X121SignalGenerator // // Verifications ... conditions.mcConditions.isBearish && + conditions.mcConditions.isSARBearish && conditions.strConditions.isTrendBearish && conditions.cheConditions.isStrongBearish && conditions.tdConditions.isBearish && @@ -1574,6 +1633,7 @@ struct X121SignalGenerator // // Verifications ... conditions.mcConditions.isBearish && + conditions.mcConditions.isSARBearish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBearish && conditions.cheConditions.isStrongBearish && @@ -1602,6 +1662,7 @@ struct X121SignalGenerator // // Verifications ... conditions.mcConditions.isBearish && + conditions.mcConditions.isSARBearish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBearish && conditions.strConditions.isTrendBearish && @@ -1630,6 +1691,7 @@ struct X121SignalGenerator // // Verifications ... conditions.mcConditions.isBearish && + conditions.mcConditions.isSARBearish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBearish && conditions.strConditions.isTrendBearish && @@ -1660,6 +1722,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBearish && conditions.mcConditions.isBearish && + conditions.mcConditions.isSARBearish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBearish && conditions.strConditions.isTrendBearish && @@ -1690,6 +1753,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBearish && conditions.mcConditions.isBearish && + conditions.mcConditions.isSARBearish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBearish && conditions.strConditions.isTrendBearish && @@ -1720,6 +1784,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBearish && conditions.mcConditions.isBearish && + conditions.mcConditions.isSARBearish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBearish && conditions.strConditions.isTrendBearish && @@ -1749,6 +1814,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBearish && conditions.mcConditions.isBearish && + conditions.mcConditions.isSARBearish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBearish && conditions.strConditions.isTrendBearish && @@ -1778,6 +1844,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBearish && conditions.mcConditions.isBearish && + conditions.mcConditions.isSARBearish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBearish && conditions.strConditions.isTrendBearish && @@ -1806,6 +1873,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBearish && conditions.mcConditions.isBearish && + conditions.mcConditions.isSARBearish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBearish && conditions.strConditions.isTrendBearish && @@ -1834,6 +1902,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBearish && conditions.mcConditions.isBearish && + conditions.mcConditions.isSARBearish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBearish && conditions.strConditions.isTrendBearish && @@ -1862,6 +1931,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBearish && conditions.mcConditions.isBearish && + conditions.mcConditions.isSARBearish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBearish && conditions.strConditions.isTrendBearish && @@ -1890,6 +1960,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBearish && conditions.mcConditions.isBearish && + conditions.mcConditions.isSARBearish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBearish && conditions.strConditions.isTrendBearish && @@ -1918,6 +1989,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBearish && conditions.mcConditions.isBearish && + conditions.mcConditions.isSARBearish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBearish && conditions.strConditions.isTrendBearish && @@ -1947,6 +2019,7 @@ struct X121SignalGenerator // Verifications ... conditions.tdConditions.isBearish && conditions.mcConditions.isBearish && + conditions.mcConditions.isSARBearish && conditions.adxtdConditions.isStrong && conditions.adxtdConditions.isBearish && conditions.strConditions.isTrendBearish && @@ -1965,6 +2038,36 @@ struct X121SignalGenerator provider = ToString(PROVIDER_XVLM); } + // + // XPVF ... + bool short18 = + // + // Starting Conditions ... + conditions.pvConditions.isFiboDecreased && + // + // Verifications ... + conditions.tdConditions.isBearish && + conditions.mcConditions.isBearish && + conditions.mcConditions.isSARBearish && + conditions.adxtdConditions.isStrong && + conditions.adxtdConditions.isBearish && + conditions.strConditions.isTrendBearish && + conditions.cheConditions.isStrongBearish && + conditions.hkConditions.isHKBearish && + conditions.hkConditions.isSMHKBearish && + conditions.mrbConditions.isFastUnderSlow && + conditions.hullConditions.isBearish && + conditions.sslcConditions.isBearish && + conditions.vlmConditions.isVolumeBearish + // + ; + if (short18) + { + // + pusher++; + provider = ToString(PROVIDER_XPVF); + } + // result = // @@ -2039,6 +2142,10 @@ struct X121SignalGenerator // short17 // + || + // + short18 + // ) // ; @@ -2248,7 +2355,7 @@ struct X121SignalGenerator } // - // XMATD ... + // XMC ... bool isMATDPassed = // ((conditions.mcConditions.isBullish || @@ -2504,7 +2611,7 @@ struct X121SignalGenerator } // - // XMATD ... + // XMC ... bool isMATDPassed = // ((conditions.mcConditions.isBearish || @@ -3512,7 +3619,7 @@ public: mcHelper = new XSCXMCHelper(); result = mcHelper.Init( inputs.symbol, - inputs.period, + inputs.period, inputs.mcInputs // ); if (!result) diff --git a/Experts/x-saherelm.x121.ea.mq5 b/Experts/x-saherelm.x121.ea.mq5 index 69e1c057..09f1939d 100644 --- a/Experts/x-saherelm.x121.ea.mq5 +++ b/Experts/x-saherelm.x121.ea.mq5 @@ -41,13 +41,13 @@ input int x121EASlippage = 10; // Slippgae input group "Signals"; //,USDCHFb,EURCHFb,USDJPYb,EURJPYb,GBPUSDb // EURUSDb,USDCHFb,EURCHFb,USDJPYb,EURJPYb,GBPUSDb,XAUUSDb,NZDUSDb,AUDUSDb,USDCADb,BTCUSD,ETHUSD -input string x121EASymbols = "EURUSDb"; // Symbols -input bool x121EAUseAllSymbols = false; // Use All Available Symbols -input bool x121EAUseAllWatchListSymbols = false; // Use All WatchList Symbols -input bool x121EAAllowLong = true; // Allow Long Trades -input bool x121EAAllowShort = true; // Allow Short Trades -input int x121EAReuiredSignalVerifications = 5; // Required Verifications for Signals -input bool x121EAGetVerificationFromOtherTimeFrames = true; // Get Verifications from Other Time Frames +input string x121EASymbols = "EURUSDb,USDCHFb,EURCHFb,USDJPYb,EURJPYb,GBPUSDb"; // Symbols +input bool x121EAUseAllSymbols = false; // Use All Available Symbols +input bool x121EAUseAllWatchListSymbols = false; // Use All WatchList Symbols +input bool x121EAAllowLong = true; // Allow Long Trades +input bool x121EAAllowShort = true; // Allow Short Trades +input int x121EAReuiredSignalVerifications = 5; // Required Verifications for Signals +input bool x121EAGetVerificationFromOtherTimeFrames = true; // Get Verifications from Other Time Frames // // Risk Management ... @@ -386,9 +386,9 @@ void PreConfigureStyles(X121SetupInputs &inputs) // // XMC ... inputs.mcInputs.showSar = true; - inputs.mcInputs.showFastMa = false; - inputs.mcInputs.showSlowMa = false; - inputs.mcInputs.showVerifierMa = false; + inputs.mcInputs.showFastMa = true; + inputs.mcInputs.showSlowMa = true; + inputs.mcInputs.showVerifierMa = true; // // XHK ... @@ -398,9 +398,9 @@ void PreConfigureStyles(X121SetupInputs &inputs) // // XCHE ... inputs.cheInputs.showLongExit1Line = false; - inputs.cheInputs.showShortExit1Line = false; + inputs.cheInputs.showShortExit1Line = true; inputs.cheInputs.showLongExit2Line = false; - inputs.cheInputs.showShortExit2Line = false; + inputs.cheInputs.showShortExit2Line = true; // // XICH ... @@ -415,7 +415,7 @@ void PreConfigureStyles(X121SetupInputs &inputs) // // XSTR ... - inputs.strInputs.showTrends = false; + inputs.strInputs.showTrends = true; inputs.strInputs.fillTrends = false; //