// // Senario 3: // ---------- bool useSenario3 = false; bool isSenario3Happend = false; bool isSenario3Bullish = false; bool isSenario3Bearish = false; if (useSenario3) { // // Senario 3 Bullish Conditions ... isSenario3Bullish = false; // // Senario 3 Bearish Conditions ... isSenario3Bearish = false; // // Filling Requirements using Senario 3 ... isSenario3Happend = isSenario3Bullish || isSenario3Bearish; if (isSenario3Happend) { // dir = isSenario3Bullish ? X_DIRECTION_BULLISH : X_DIRECTION_BEARISH; // box.dir = dir; box.to = TimeCurrent(); box.symbol = provider .decisionXConditions .symbol; box.period = provider .decisionXConditions .period; // int fromIDX = -1; if (isSenario3Bullish) { // double vale = provider .decisionXConditions .valesBuffer[cIDX]; // box.lower = vale; // box.upper = provider .decisionXConditions .valesGoldenBuffer[cIDX]; // int lowerValeIDX = -1; double lowerVale = provider .decisionCycleHelper .mX121Helper .xpvHelper .GetLowerVale( lowerValeIDX, vale, cBar.Index() // ); // int higherValeIDX = -1; double higherVale = provider .decisionCycleHelper .mX121Helper .xpvHelper .GetHigherVale( higherValeIDX, vale, cBar.Index() // ); // if (IsValidIndex(lowerValeIDX) && IsValidIndex(higherValeIDX)) { // fromIDX = lowerValeIDX < higherValeIDX ? lowerValeIDX : higherValeIDX; } else if (IsValidIndex(lowerValeIDX) && !IsValidIndex(higherValeIDX)) { // fromIDX = lowerValeIDX; } else if (!IsValidIndex(lowerValeIDX) && IsValidIndex(higherValeIDX)) { // fromIDX = higherValeIDX; } } else { // double peak = provider .decisionXConditions .peaksBuffer[cIDX]; // box.upper = peak; // box.lower = provider .decisionXConditions .peaksGoldenBuffer[cIDX]; // int lowerPeakIDX = -1; double lowerPeak = provider .decisionCycleHelper .mX121Helper .xpvHelper .GetLowerPeak( lowerPeakIDX, peak, cBar.Index() // ); // int higherPeakIDX = -1; double higherPeak = provider .decisionCycleHelper .mX121Helper .xpvHelper .GetHigherPeak( higherPeakIDX, peak, cBar.Index() // ); // if (IsValidIndex(lowerPeakIDX) && IsValidIndex(higherPeakIDX)) { // fromIDX = lowerPeakIDX < higherPeakIDX ? lowerPeakIDX : higherPeakIDX; } else if (IsValidIndex(lowerPeakIDX) && !IsValidIndex(higherPeakIDX)) { // fromIDX = lowerPeakIDX; } else if (!IsValidIndex(lowerPeakIDX) && IsValidIndex(higherPeakIDX)) { // fromIDX = higherPeakIDX; } } // if (IsValidIndex(fromIDX)) { // box.from = iTime( zBar.symbol, zBar.period, fromIDX // ); } else { box.from = pBar.time; } // signalProvider = X121SMC_XWZ_PROVIDER_ACTIVATED_BOX; } }