// // HTF Proves ... // // // double scoreMultiplier = 1.5; // // // bool isConsolidationScoreBullish = // provider.consolidationBullishScore > (provider.consolidationBearishScore * scoreMultiplier); // // // bool isConsolidationScoreBearish = // provider.consolidationBearishScore > (provider.consolidationBullishScore * scoreMultiplier); // // // // // // // Detect Kumo Trend ... // bool isKumoBullish = provider.decisionXConditions.isSenkouSpanAOverB; // bool isKumoBearish = provider.decisionXConditions.isSenkouSpanAUnderB; // // // // Detect Nearest Cross ... // XOHCL tkCrossedBar; // ENUM_X_DIRECTION tkCrossDir; // bool hasNearestTenkanSenKijunSenCross = // provider // .decisionCycleHelper // .DetectNearestTenKijCross( // tkCrossedBar, // tkCrossDir, // zIndex // // ); // // // bool isNearestTenkensSenCrossedOverKijunSen = // hasNearestTenkanSenKijunSenCross && // IsBullish(tkCrossDir); // // // bool isNearestTenkensSenCrossedUnderKijunSen = // hasNearestTenkanSenKijunSenCross && // IsBearish(tkCrossDir); // // // // Detect Nearest Volume ... // XOHCL vSwitchedBar; // ENUM_X_DIRECTION vSwitchedDir; // bool isVolumeSwitched = // provider // .decisionCycleHelper // .DetectNearestVolumeSwitched( // vSwitchedBar, // vSwitchedDir, // zIndex // // ); // bool isVolumeBullish = // isVolumeSwitched && // IsBullish(vSwitchedDir); // bool isVolumeBearish = // isVolumeSwitched && // IsBearish(vSwitchedDir); // // // // Detect Nearest Delta Crossed ... // XOHCL deltaCrossedBar; // ENUM_X_DIRECTION deltaCrossedDir; // bool isDeltaCrossed = // provider // .decisionCycleHelper // .DetectNearestDeltaSwitched( // deltaCrossedBar, // deltaCrossedDir, // zIndex // // ); // bool isDeltaBullish = // isDeltaCrossed && // IsBullish(deltaCrossedDir); // bool isDeltaBearish = // isDeltaCrossed && // IsBearish(deltaCrossedDir); // // // // Detect Nearest Str Switched ... // XOHCL strSwitchedBar; // ENUM_X_DIRECTION strSwitchedDir; // bool isStrSwitched = // provider // .decisionCycleHelper // .DetectNearestStrSwitched( // strSwitchedBar, // strSwitchedDir, // zIndex // // ); // bool isStrBullish = // isStrSwitched && // IsBullish(deltaCrossedDir); // bool isStrBearish = // isStrSwitched && // IsBearish(deltaCrossedDir); // // // // Detect Price in TK Zone ... // bool isBarInsideTKZone = // isNearestTenkensSenCrossedOverKijunSen // ? cBar.low < provider.decisionXConditions.tenkanSenBuffer[cIndex] // : isNearestTenkensSenCrossedUnderKijunSen // ? cBar.high > provider.decisionXConditions.tenkanSenBuffer[cIndex] // : false; // // // // Checking Bar Based on Positions State ... // ENUM_X_DIRECTION iBarPosDir; // bool isBarValidForDir = provider.decisionCycleHelper // .mBarAnalyser // .IsValidForPosition( // cBar, // iBarPosDir // // ); // bool isBarValidForBullish = // isBarValidForDir && // IsBullish(iBarPosDir); // bool isBarValidForBearish = // isBarValidForDir && // IsBearish(iBarPosDir); // // Summarize Conditions ... // isBullish = // false // isStrBullish && // isKumoBullish && // isDeltaBullish && // isVolumeBullish && // isBarInsideTKZone && // isBarValidForBullish && // isConsolidationScoreBullish && // isNearestTenkensSenCrossedOverKijunSen // ; // isBearish = // false // isStrBearish && // isKumoBearish && // isDeltaBearish && // isVolumeBearish && // isBarInsideTKZone && // isBarValidForBearish && // isConsolidationScoreBearish && // isNearestTenkensSenCrossedUnderKijunSen // ; /////////////////////////////////////////////////////////////////////////////// // iBox.to = TimeCurrent(); XCBoxObject *iObj; has = helper.poiDrawer.DrawBox( iBox, iObj // ); if (has) { // iObj.BoxWidth(2); // color iCLR = iBox.IsBullish() ? clrAqua : clrMagenta; iObj.BoxColor(iCLR); iObj.BoxStyle(STYLE_SOLID); } ////////////////////////////////////////////////////////////////////////////////////// // // COMPLEX ... // double iKTIRNDs[] = { cKI, cTKI, cTrend // }; // double iKTIRNDMax = GetMax(iKTIRNDs); double iKTIRNDMin = GetMin(iKTIRNDs); // // Conditions Preparing ... // bool isTKITRNDBullish = cKIState > 0 && cTKIState > 0 && ctrendState > 0; // bool isTKITRNDBullishPrev = pKIState > 0 && pTKIState > 0 && ptrendState > 0; // bool isTKITRNDBearish = cKIState < 0 && cTKIState < 0 && ctrendState < 0; // bool isTKITRNDBearishPrev = pKIState < 0 && pTKIState < 0 && ptrendState < 0; // bool isTKITRNDSwitchedToBullish = isTKITRNDBullish && !isTKITRNDBullishPrev; // bool isTKITRNDSwitchedToBearish = isTKITRNDBearish && !isTKITRNDBearishPrev;