// // Detect Block Based Trigger ... XBoxZone ob; XOHCL swing; XOHCL breaker; XOHCL outSide; ENUM_X_DIRECTION passedDir; bool isPassed = helper.IsBlockBasedTriggerBar( ob, swing, breaker, outSide, passedDir, 1, // Bar Index ... 50, // Loopback ... 3 // Swing Length ... ); if (isPassed) { // // Draw Block Based Trigger ... // // Draw OB ... XCBoxObject *obObject; has = helper.poiDrawer.DrawBox( ob, obObject // ); if (has) { // obObject.BoxWidth(2); obObject.BoxStyle(STYLE_SOLID); // color obColor = ob.IsBullish() ? clrAqua : clrMagenta; obObject.BoxColor(obColor); // mObjects.Add(obObject); // ZeroMemory(obObject); } // double breakPrice = ob.IsBullish() ? swing.high : swing.low; // // Draw Swing and Breake ... CChartObjectTrend *tObj; tObj = new CChartObjectTrend(); string tName = "Swing_For_" + ToString(ob.dir) + "_" + ToString(breakPrice); has = tObj.Create( 0, tName, 0, swing.time, breakPrice, breaker.time, breakPrice // ); if (has) { // tObj.Width(2); tObj.Style(STYLE_SOLID); // color tColor = ob.IsBullish() ? clrRed : clrLime; tObj.Color(tColor); // mObjects.Add(tObj); // ZeroMemory(tObj); } // Print("Passed Bar ..."); } ob.Clean(); swing.Clean(); breaker.Clean(); outSide.Clean();