From 1c6785d043e1c46893b274a05b3e4f2014aee24e Mon Sep 17 00:00:00 2001 From: Hadi Khazaee Asl Date: Sun, 6 Apr 2025 20:46:15 +0330 Subject: [PATCH] last ... --- Helpers/x-saherelm.x121.x3ma.helper.mq5 | 12 +- Helpers/x-saherelm.x121.xatr.helper.mq5 | 20 +-- Helpers/x-saherelm.x121.xche.helper.mq5 | 16 +- Helpers/x-saherelm.x121.xdelta.helper.mq5 | 6 +- Helpers/x-saherelm.x121.xdon.helper.mq5 | 16 +- Helpers/x-saherelm.x121.xhk.helper.mq5 | 32 ++-- Helpers/x-saherelm.x121.xich.helper.mq5 | 10 +- Helpers/x-saherelm.x121.xmas.helper.mq5 | 6 +- Helpers/x-saherelm.x121.xpv.helper.mq5 | 48 +++--- Helpers/x-saherelm.x121.xstr.helper.mq5 | 12 +- Helpers/x-saherelm.x121.xtrend.helper.mq5 | 16 +- Helpers/x-saherelm.x121.xvolume.helper.mq5 | 8 +- Helpers/x-saherelm.x121.xvwap.helper.mq5 | 16 +- .../Signals/x-121.smc.xind.signal.class.mq5 | 151 +++++++++++++----- .../Signals/x-121.smc.xind.signal.lib.mq5 | 21 +-- 15 files changed, 230 insertions(+), 160 deletions(-) diff --git a/Helpers/x-saherelm.x121.x3ma.helper.mq5 b/Helpers/x-saherelm.x121.x3ma.helper.mq5 index 20bfbf10..2c5a2693 100644 --- a/Helpers/x-saherelm.x121.x3ma.helper.mq5 +++ b/Helpers/x-saherelm.x121.x3ma.helper.mq5 @@ -700,7 +700,7 @@ class XCX121X3MAHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, x3maFastBuffer, buffer, @@ -752,7 +752,7 @@ class XCX121X3MAHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, x3maFastStateBuffer, buffer, @@ -804,7 +804,7 @@ class XCX121X3MAHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, x3maMidBuffer, buffer, @@ -856,7 +856,7 @@ class XCX121X3MAHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, x3maMidStateBuffer, buffer, @@ -908,7 +908,7 @@ class XCX121X3MAHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, x3maSlowBuffer, buffer, @@ -960,7 +960,7 @@ class XCX121X3MAHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, x3maSlowStateBuffer, buffer, diff --git a/Helpers/x-saherelm.x121.xatr.helper.mq5 b/Helpers/x-saherelm.x121.xatr.helper.mq5 index f1845f6f..4a2365f7 100644 --- a/Helpers/x-saherelm.x121.xatr.helper.mq5 +++ b/Helpers/x-saherelm.x121.xatr.helper.mq5 @@ -843,7 +843,7 @@ class XCX121XATRHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, rsiBuffer, buffer, @@ -895,7 +895,7 @@ class XCX121XATRHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, atrBuffer, buffer, @@ -944,7 +944,7 @@ class XCX121XATRHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, atrUpperBuffer, buffer, @@ -993,7 +993,7 @@ class XCX121XATRHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, atrLowerBuffer, buffer, @@ -1042,7 +1042,7 @@ class XCX121XATRHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, atrUpperSMBuffer, buffer, @@ -1091,7 +1091,7 @@ class XCX121XATRHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, atrLowerSMBuffer, buffer, @@ -1143,7 +1143,7 @@ class XCX121XATRHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, priceChangeBuffer, buffer, @@ -1192,7 +1192,7 @@ class XCX121XATRHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, priceChangeSMBuffer, buffer, @@ -1244,7 +1244,7 @@ class XCX121XATRHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, rsiChangeBuffer, buffer, @@ -1293,7 +1293,7 @@ class XCX121XATRHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, rsiChangeSMBuffer, buffer, diff --git a/Helpers/x-saherelm.x121.xche.helper.mq5 b/Helpers/x-saherelm.x121.xche.helper.mq5 index ba8aca5c..c1d01331 100644 --- a/Helpers/x-saherelm.x121.xche.helper.mq5 +++ b/Helpers/x-saherelm.x121.xche.helper.mq5 @@ -623,7 +623,7 @@ class XCX121XCHEHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, le1Buffer, buffer, @@ -672,7 +672,7 @@ class XCX121XCHEHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, le1StartBuffer, buffer, @@ -721,7 +721,7 @@ class XCX121XCHEHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, le2Buffer, buffer, @@ -770,7 +770,7 @@ class XCX121XCHEHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, le2StartBuffer, buffer, @@ -819,7 +819,7 @@ class XCX121XCHEHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, se1Buffer, buffer, @@ -868,7 +868,7 @@ class XCX121XCHEHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, se1StartBuffer, buffer, @@ -917,7 +917,7 @@ class XCX121XCHEHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, se2Buffer, buffer, @@ -966,7 +966,7 @@ class XCX121XCHEHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, se2StartBuffer, buffer, diff --git a/Helpers/x-saherelm.x121.xdelta.helper.mq5 b/Helpers/x-saherelm.x121.xdelta.helper.mq5 index 424eb668..bdebbe99 100644 --- a/Helpers/x-saherelm.x121.xdelta.helper.mq5 +++ b/Helpers/x-saherelm.x121.xdelta.helper.mq5 @@ -548,7 +548,7 @@ class XCX121XDELTAHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, deltaBuffer, buffer, @@ -597,7 +597,7 @@ class XCX121XDELTAHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, deltaStateBuffer, buffer, @@ -646,7 +646,7 @@ class XCX121XDELTAHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, deltaMaBuffer, buffer, diff --git a/Helpers/x-saherelm.x121.xdon.helper.mq5 b/Helpers/x-saherelm.x121.xdon.helper.mq5 index 5edc0f02..9957b6f1 100644 --- a/Helpers/x-saherelm.x121.xdon.helper.mq5 +++ b/Helpers/x-saherelm.x121.xdon.helper.mq5 @@ -516,7 +516,7 @@ class XCX121XDONHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, donOpenUpperBuffer, buffer, @@ -568,7 +568,7 @@ class XCX121XDONHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, donOpenLowerBuffer, buffer, @@ -623,7 +623,7 @@ class XCX121XDONHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, donCloseUpperBuffer, buffer, @@ -675,7 +675,7 @@ class XCX121XDONHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, donCloseLowerBuffer, buffer, @@ -730,7 +730,7 @@ class XCX121XDONHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, donHighUpperBuffer, buffer, @@ -782,7 +782,7 @@ class XCX121XDONHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, donHighLowerBuffer, buffer, @@ -837,7 +837,7 @@ class XCX121XDONHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, donLowUpperBuffer, buffer, @@ -889,7 +889,7 @@ class XCX121XDONHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, donLowLowerBuffer, buffer, diff --git a/Helpers/x-saherelm.x121.xhk.helper.mq5 b/Helpers/x-saherelm.x121.xhk.helper.mq5 index 599feb43..0f66528f 100644 --- a/Helpers/x-saherelm.x121.xhk.helper.mq5 +++ b/Helpers/x-saherelm.x121.xhk.helper.mq5 @@ -608,7 +608,7 @@ class XCX121XHKHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, xhkRawOpenBuffer, buffer, @@ -657,7 +657,7 @@ class XCX121XHKHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, xhkRawHighBuffer, buffer, @@ -706,7 +706,7 @@ class XCX121XHKHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, xhkRawLowBuffer, buffer, @@ -755,7 +755,7 @@ class XCX121XHKHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, xhkRawCloseBuffer, buffer, @@ -804,7 +804,7 @@ class XCX121XHKHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, xhkSMOpenBuffer, buffer, @@ -853,7 +853,7 @@ class XCX121XHKHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, xhkSMHighBuffer, buffer, @@ -902,7 +902,7 @@ class XCX121XHKHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, xhkSMLowBuffer, buffer, @@ -951,7 +951,7 @@ class XCX121XHKHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, xhkSMCloseBuffer, buffer, @@ -993,10 +993,10 @@ class XCX121XHKHelper : public XCBaseHelper } // - bar.open = xhkRawOpenBuffer[barIndex]; - bar.high = xhkRawHighBuffer[barIndex]; - bar.low = xhkRawLowBuffer[barIndex]; - bar.close = xhkRawCloseBuffer[barIndex]; + bar.open = xhkRawOpenBuffer[0]; + bar.high = xhkRawHighBuffer[0]; + bar.low = xhkRawLowBuffer[0]; + bar.close = xhkRawCloseBuffer[0]; // return result; @@ -1035,10 +1035,10 @@ class XCX121XHKHelper : public XCBaseHelper } // - bar.open = xhkSMOpenBuffer[barIndex]; - bar.high = xhkSMHighBuffer[barIndex]; - bar.low = xhkSMLowBuffer[barIndex]; - bar.close = xhkSMCloseBuffer[barIndex]; + bar.open = xhkSMOpenBuffer[0]; + bar.high = xhkSMHighBuffer[0]; + bar.low = xhkSMLowBuffer[0]; + bar.close = xhkSMCloseBuffer[0]; // return result; diff --git a/Helpers/x-saherelm.x121.xich.helper.mq5 b/Helpers/x-saherelm.x121.xich.helper.mq5 index 20db4cef..d57234ab 100644 --- a/Helpers/x-saherelm.x121.xich.helper.mq5 +++ b/Helpers/x-saherelm.x121.xich.helper.mq5 @@ -600,7 +600,7 @@ class XCX121XICHHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, tenkanSenBuffer, buffer, @@ -649,7 +649,7 @@ class XCX121XICHHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, kijunSenBuffer, buffer, @@ -698,7 +698,7 @@ class XCX121XICHHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, chikouSpanBuffer, buffer, @@ -747,7 +747,7 @@ class XCX121XICHHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, senkouSpanABuffer, buffer, @@ -796,7 +796,7 @@ class XCX121XICHHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, senkouSpanBBuffer, buffer, diff --git a/Helpers/x-saherelm.x121.xmas.helper.mq5 b/Helpers/x-saherelm.x121.xmas.helper.mq5 index b8c3a2ee..5fbedf38 100644 --- a/Helpers/x-saherelm.x121.xmas.helper.mq5 +++ b/Helpers/x-saherelm.x121.xmas.helper.mq5 @@ -470,7 +470,7 @@ class XCX121XMASHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, upperBuffer, buffer, @@ -522,7 +522,7 @@ class XCX121XMASHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, midBuffer, buffer, @@ -574,7 +574,7 @@ class XCX121XMASHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, lowerBuffer, buffer, diff --git a/Helpers/x-saherelm.x121.xpv.helper.mq5 b/Helpers/x-saherelm.x121.xpv.helper.mq5 index 739c31dd..71529242 100644 --- a/Helpers/x-saherelm.x121.xpv.helper.mq5 +++ b/Helpers/x-saherelm.x121.xpv.helper.mq5 @@ -870,7 +870,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, sarBuffer, buffer, @@ -925,7 +925,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, peaksBuffer, buffer, @@ -977,7 +977,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, valesBuffer, buffer, @@ -1029,7 +1029,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, swingLowsBuffer, buffer, @@ -1081,7 +1081,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, swingHighsBuffer, buffer, @@ -1133,7 +1133,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, trendBuffer, buffer, @@ -1185,7 +1185,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, trendColorBuffer, buffer, @@ -1237,7 +1237,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, trendStateBuffer, buffer, @@ -1289,7 +1289,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, supportsBuffer, buffer, @@ -1341,7 +1341,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, resistancesBuffer, buffer, @@ -1393,7 +1393,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, peaksGoldenBuffer, buffer, @@ -1445,7 +1445,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, valesGoldenBuffer, buffer, @@ -1500,7 +1500,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, cHHBuffer, buffer, @@ -1552,7 +1552,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, cLLBuffer, buffer, @@ -1607,7 +1607,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, sHHBuffer, buffer, @@ -1659,7 +1659,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, sLLBuffer, buffer, @@ -1714,7 +1714,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, mHHBuffer, buffer, @@ -1766,7 +1766,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, mLLBuffer, buffer, @@ -1821,7 +1821,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, lHHBuffer, buffer, @@ -1873,7 +1873,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, lLLBuffer, buffer, @@ -1928,7 +1928,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, hHHBuffer, buffer, @@ -1980,7 +1980,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, hLLBuffer, buffer, @@ -2032,7 +2032,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, fractalsUpperBuffer, buffer, @@ -2084,7 +2084,7 @@ class XCX121XPVHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, fractalsLowerBuffer, buffer, diff --git a/Helpers/x-saherelm.x121.xstr.helper.mq5 b/Helpers/x-saherelm.x121.xstr.helper.mq5 index 3c105d2e..bdfc79ed 100644 --- a/Helpers/x-saherelm.x121.xstr.helper.mq5 +++ b/Helpers/x-saherelm.x121.xstr.helper.mq5 @@ -527,7 +527,7 @@ class XCX121XSTRHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, atrBuffer, buffer, @@ -576,7 +576,7 @@ class XCX121XSTRHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, strBuffer, buffer, @@ -625,7 +625,7 @@ class XCX121XSTRHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, strStateBuffer, buffer, @@ -674,7 +674,7 @@ class XCX121XSTRHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, strPriceBuffer, buffer, @@ -723,7 +723,7 @@ class XCX121XSTRHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, strUpBuffer, buffer, @@ -772,7 +772,7 @@ class XCX121XSTRHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, strDownBuffer, buffer, diff --git a/Helpers/x-saherelm.x121.xtrend.helper.mq5 b/Helpers/x-saherelm.x121.xtrend.helper.mq5 index b7df7b39..c3b8eafd 100644 --- a/Helpers/x-saherelm.x121.xtrend.helper.mq5 +++ b/Helpers/x-saherelm.x121.xtrend.helper.mq5 @@ -580,7 +580,7 @@ class XCX121XTRENDHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, upTrendBuffer, buffer, @@ -632,7 +632,7 @@ class XCX121XTRENDHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, downTrendBuffer, buffer, @@ -684,7 +684,7 @@ class XCX121XTRENDHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, downTrendBuffer, buffer, @@ -736,7 +736,7 @@ class XCX121XTRENDHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, adxBuffer, buffer, @@ -788,7 +788,7 @@ class XCX121XTRENDHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, adxPBuffer, buffer, @@ -840,7 +840,7 @@ class XCX121XTRENDHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, adxMBuffer, buffer, @@ -892,7 +892,7 @@ class XCX121XTRENDHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, upTBuffer, buffer, @@ -944,7 +944,7 @@ class XCX121XTRENDHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, downTBuffer, buffer, diff --git a/Helpers/x-saherelm.x121.xvolume.helper.mq5 b/Helpers/x-saherelm.x121.xvolume.helper.mq5 index 79079439..582a6e29 100644 --- a/Helpers/x-saherelm.x121.xvolume.helper.mq5 +++ b/Helpers/x-saherelm.x121.xvolume.helper.mq5 @@ -674,7 +674,7 @@ class XCX121XVOLUMEHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, bullishVolumeBuffer, buffer, @@ -723,7 +723,7 @@ class XCX121XVOLUMEHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, bullishVolumeMaBuffer, buffer, @@ -775,7 +775,7 @@ class XCX121XVOLUMEHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, bearishVolumeBuffer, buffer, @@ -824,7 +824,7 @@ class XCX121XVOLUMEHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, bearishVolumeMaBuffer, buffer, diff --git a/Helpers/x-saherelm.x121.xvwap.helper.mq5 b/Helpers/x-saherelm.x121.xvwap.helper.mq5 index 0bbae999..3ac9211f 100644 --- a/Helpers/x-saherelm.x121.xvwap.helper.mq5 +++ b/Helpers/x-saherelm.x121.xvwap.helper.mq5 @@ -711,7 +711,7 @@ class XCX121XVWAPHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, vwapFastBuffer, buffer, @@ -763,7 +763,7 @@ class XCX121XVWAPHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, vwapFastStateBuffer, buffer, @@ -815,7 +815,7 @@ class XCX121XVWAPHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, vwapMidBuffer, buffer, @@ -867,7 +867,7 @@ class XCX121XVWAPHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, vwapMidStateBuffer, buffer, @@ -919,7 +919,7 @@ class XCX121XVWAPHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, vwapSlowBuffer, buffer, @@ -971,7 +971,7 @@ class XCX121XVWAPHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, vwapSlowStateBuffer, buffer, @@ -1023,7 +1023,7 @@ class XCX121XVWAPHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, vwapVolumeBuffer, buffer, @@ -1075,7 +1075,7 @@ class XCX121XVWAPHelper : public XCBaseHelper // // Copy Items ... return Copy( - start, + 0, count, vwapPriceBuffer, buffer, diff --git a/X121SMCEA/Signals/x-121.smc.xind.signal.class.mq5 b/X121SMCEA/Signals/x-121.smc.xind.signal.class.mq5 index d63b14c4..4802c102 100644 --- a/X121SMCEA/Signals/x-121.smc.xind.signal.class.mq5 +++ b/X121SMCEA/Signals/x-121.smc.xind.signal.class.mq5 @@ -36,6 +36,7 @@ class XCX121SMCXINDSignalDetector : public XCBase // Props ... bool useGuards; double rfRewar; + bool isPassedBoxes; XBoxZone mWaitingBoxes[]; XBoxZone mBreakedBoxes[]; XBoxZone mActivatedBoxes[]; @@ -1135,61 +1136,126 @@ class XCX121SMCXINDSignalDetector : public XCBase // Detecting New Boxes ... // - XBoxZone tmpBoxes[]; - count = cState.FairValueGapsAsBox(tmpBoxes); - has = IsValidSize(count); - if (has) + // At First Try Check All Exists FVGs + // then Only Check Youngest FVG ... + if (!isPassedBoxes) { // - for (int i = 0; i < count; i++) + XBoxZone tmpBoxes[]; + count = cState.FairValueGapsAsBox(tmpBoxes); + has = IsValidSize(count); + if (has) { // - XBoxZone iBox = tmpBoxes[i]; - - // - // Regular Validation of Boxes ... - bool isValid = IsBoxValid( - iBox, - 0, - iBox.period // - ); - if (!isValid) + for (int i = 0; i < count; i++) { // - iBox.Clean(); - continue; - } + XBoxZone iBox = tmpBoxes[i]; - // - // Conditional Validation of FVG Boxes ... - isValid = IsFVGBoxValid( - iBox, - vCycle, - provider // - ); - if (!isValid) - { // - iBox.Clean(); - continue; - } - - // - has = IsBoxExists(iBox); - if (!has) - { - // - AddRef( + // Regular Validation of Boxes ... + bool isValid = IsBoxValid( iBox, - mWaitingBoxes // + 0, + iBox.period // ); - } + if (!isValid) + { + // + iBox.Clean(); + continue; + } - // - iBox.Clean(); + // + // Conditional Validation of FVG Boxes ... + isValid = IsFVGBoxValid( + iBox, + vCycle, + provider // + ); + if (!isValid) + { + // + iBox.Clean(); + continue; + } + + // + has = IsBoxExists(iBox); + if (!has) + { + // + AddRef( + iBox, + mWaitingBoxes // + ); + } + + // + iBox.Clean(); + } } + Clean(tmpBoxes); + + // + isPassedBoxes = true; + } + else + { + // + XBoxZone iBox; + has = cStateEvents.hasNewFairValueGap; + if (has) + { + // + int idx = GetYoungest(cState.fairValueGaps); + has = IsValidIndex(idx); + if (has) + { + // + has = ToBox( + iBox, + cState.fairValueGaps[idx] // + ); + if (has) + { + // + // Regular Validation of Boxes ... + bool isValid = IsBoxValid( + iBox, + 0, + iBox.period // + ); + if (isValid) + { + // + // Conditional Validation of FVG Boxes ... + isValid = IsFVGBoxValid( + iBox, + vCycle, + provider // + ); + if (isValid) + { + // + has = IsBoxExists(iBox); + if (!has) + { + // + AddRef( + iBox, + mWaitingBoxes // + ); + } + } + } + } + } + } + + // + iBox.Clean(); } - Clean(tmpBoxes); // // Update Times ... @@ -1854,6 +1920,7 @@ class XCX121SMCXINDSignalDetector : public XCBase // rfRewar = 2; useGuards = false; + isPassedBoxes = false; } /** diff --git a/X121SMCEA/Signals/x-121.smc.xind.signal.lib.mq5 b/X121SMCEA/Signals/x-121.smc.xind.signal.lib.mq5 index 46bf8c6b..c0cb8c8b 100644 --- a/X121SMCEA/Signals/x-121.smc.xind.signal.lib.mq5 +++ b/X121SMCEA/Signals/x-121.smc.xind.signal.lib.mq5 @@ -357,16 +357,17 @@ bool IsFVGBoxValid( selectedBox.symbol, selectedBox.period, selectedBox.from // - ) + 1; + ) + + 1; result = IsValidIndex(fromIndex); // // To Index ... int toIndex = GetBarIndex( - selectedBox.symbol, - selectedBox.period, - selectedBox.to // - ); + selectedBox.symbol, + selectedBox.period, + selectedBox.to // + ); if (toIndex < 1) { toIndex = 1; @@ -603,14 +604,16 @@ bool IsFVGBoxValid( // bool isBullish = isBoxBullish && - !hasBearishOrConditions && - hasBullishAndConditions; + !hasBearishOrConditions // && + // hasBullishAndConditions + ; // bool isBearish = !isBoxBullish && - !hasBullishOrConditions && - hasBearishAndConditions; + !hasBullishOrConditions // && + // hasBearishAndConditions + ; // result = isBullish ||