CISD Indicator MT4
- Indicators
-
Mohamed Amr Mohamed Osama Abdelwahab
Software Developer, Instructor, and Technical Team Leader with over 22 years of experience across desktop, web, and financial software development. Top Rated freelancer on Upwork with 200+ completed projects, $200K+ delivered, and a 100% job success record. Specialized in algorithmic trading systems - Version: 2.0
- Activations: 5
ICT CISD implements the Change in State of Delivery concept from the ICT methodology. The indicator tracks the current delivery series - an unbroken run of same-direction candle closes - and marks the moment price closes back through the OPEN of that series. That close-through is the CISD: the point where short-term delivery flips from sell-side to buy-side, or back. One CISD is marked per series, and a candle body must close through the level (wicks do not count). Everything is drawn directly on the chart: the CISD level line, the signal arrow, and a full simulated trade projection - entry, stop and two targets - so every signal can be read at a glance. The indicator does not place, modify or manage any orders; entries, stops and targets are chart drawings only. Key features: - Bullish and bearish CISD signals with arrows, level lines and labels. - Two drawn entry models: simulated limit entry at the CISD level (retest, default) or entry at the signal-candle close. - Drawn risk framework for each signal: stop beyond the delivery-leg extreme plus an ATR buffer, and two targets at configurable R multiples. - Live info panel: active bull/bear levels, pending drawn setups, signal count over the scanned history, and the last signal with its entry and stop. - Optional context filters, each a rule condition you can switch on or off: confirmed swing liquidity sweep, minimum displacement body (ATR multiple), fair value gap requirement, London / New York killzones, and a higher-timeframe EMA bias. - Alerts when a signal confirms and when a retest setup is drawn: popup, push notification, e-mail and sound. - Signal data exposed through indicator buffers for Expert Advisor integration. - Configurable history depth, line length, colors, panel position and label font size. - Identical feature set on MetaTrader 4 and MetaTrader 5. Ways to use it in trading: 1. Retest model (default). After a CISD, the indicator draws a simulated limit-entry setup at the CISD level, with the stop and both targets. The drawn setup stays on the chart for up to N bars; it is removed earlier if the leg extreme breaks. The panel shows whether a buy or sell setup is currently pending. 2. Signal-close model. Switch the entry model to "Market at the CISD candle close" to have the projection measured from the signal candle's close instead of the CISD level. The stop stays beyond the leg extreme, so the drawn risk distance is wider in this model. 3. Session filtering. Enable the killzone filter so only CISD signals that close inside the London (02:00-05:00 New York time) or New York (07:00-11:00 New York time) windows are marked. Use it to restrict signals to the sessions you trade. 4. Higher-timeframe bias. Set the HTF EMA filter to a higher timeframe (for example H4 or D1): bullish signals are then only marked above that timeframe's EMA and bearish signals only below it. 5. Combined conditions. Enable the sweep, displacement and FVG filters together so a signal is only marked when every selected condition is met. Each filter removes the signals that fail its rule; the panel counter shows how many passed. Input parameters (35 functional inputs; the 5 "====" entries in the dialog are group separators, not settings). The code applies no min/max clamping except where noted - there is no explicit range validation, so use valid practical values; invalid values may cause unexpected behavior. CISD definition - InpMinSeries - Minimum candles in the delivery series (int, default 1, unclamped): how many consecutive same-direction closes a series must contain before its open becomes a valid CISD level. Higher values require longer delivery legs, so fewer levels qualify. - InpMaxSeriesAge - CISD must happen within N bars of the series end (int, default 20, unclamped): a close-through arriving more than N bars after the series ended is ignored. Context filters - InpRequireSweep - Leg must run a confirmed swing high/low first (bool, default true): when on, a series only qualifies if its leg first took out a confirmed swing point. - InpSwingStrength - Swing pivot strength, bars each side (int, default 3, unclamped): bars required on each side to confirm a swing pivot; used by the sweep filter. - InpMinBodyATR - Displacement: min CISD body, x ATR14 (double, default 0.0 = off, unclamped): minimum body size of the CISD candle as a multiple of the 14-period ATR. 0 disables the condition. - InpRequireFVG - Displacement: CISD move must leave an FVG (bool, default false): when on, only CISD moves that leave a fair value gap qualify. - InpUseKillzones - CISD must close inside a killzone (bool, default false): enables the session time condition. - InpKZLondon - London killzone 02:00-05:00 NY (bool, default true): counts the London window when the killzone filter is on. - InpKZNewYork - New York killzone 07:00-11:00 NY (bool, default true): counts the New York window when the killzone filter is on. - InpTZMode - Broker server time zone (enum, default ICT_TZ_AUTO): how killzone times are mapped to server time. Values: ICT_TZ_AUTO (auto detect; NY+7 in the strategy tester), ICT_TZ_NY7 (server = New York + 7h, GMT+2/+3 with US DST), ICT_TZ_FIXED (fixed GMT offset, no DST), ICT_TZ_EUDST (GMT offset + European DST). - InpServerGMT - Server GMT offset (int, hours, default 2, unclamped): used with the ICT_TZ_FIXED and ICT_TZ_EUDST modes. - InpBiasTF - HTF EMA bias filter (ENUM_TIMEFRAMES, default PERIOD_CURRENT = off): pick a higher timeframe to activate the bias condition. - InpBiasPeriod - HTF EMA period (int, default 50, unclamped): period of the higher-timeframe EMA. Entry and risk - InpEntryMode - Entry model (enum, default CISD_ENTRY_RETEST): CISD_ENTRY_RETEST = simulated limit entry drawn at the CISD level; CISD_ENTRY_CLOSE = entry drawn at the signal-candle close. - InpRetestBars - Retest limit expires after N bars (int, default 10, unclamped): how many bars the drawn retest setup stays active. - InpSLBufferATR - Stop buffer, x ATR14 (double, default 0.10, unclamped): distance added beyond the leg extreme when drawing the stop. - InpTP1R - TP1, R multiple (double, default 1.0, unclamped): first target as a multiple of the entry-to-stop distance. - InpTP2R - TP2, R multiple (double, default 2.0, unclamped): second target as a multiple of the entry-to-stop distance. Display - InpHistoryBars - Bars to scan on load (int, default 3000, unclamped): history depth scanned for signals and shown in the panel counter. - InpShowPanel - Show info panel (bool, default true). - InpShowLevels - Draw the CISD level line (bool, default true). - InpDrawLevels - Draw entry / SL / TP lines (bool, default true). - InpLineBars - Length of level lines, bars (int, default 12; effective minimum 2 bars applied internally): horizontal length of the drawn level and projection lines. - InpBullColor - Bullish colour (color, default DodgerBlue). - InpBearColor - Bearish colour (color, default Tomato). - InpPanelBg - Panel background (color, default C'20,24,32'). - InpPanelX - Panel X (int, pixels, default 12, unclamped): panel distance from the chart's left edge. - InpPanelY - Panel Y (int, pixels, default 24, unclamped): panel distance from the chart's top edge. - InpLabelFont - Signal label font size (int, points, default 9, unclamped). Alerts - InpAlertPopup - Popup alert (bool, default true). - InpAlertPush - Push notification (bool, default false; requires MetaQuotes ID configured in the terminal). - InpAlertEmail - E-mail (bool, default false; requires e-mail configured in the terminal). - InpAlertSound - Sound (bool, default false). - InpSoundFile - Sound file (string, default "alert.wav"): terminal sound file played when sound alerts are on. - InpAlertArmed - Also alert when a retest limit is armed (bool, default true): when on, an alert also fires at the moment a retest setup is drawn, not only when a CISD confirms. Notes: the indicator draws levels and projections and sends alerts; it does not place trades and no outcome is guaranteed. Test it on a demo account before any live use.
