i-GentorCCIM_v[1].0.5

Download script
Author: Egorov Gennadiy, FX Sniper, KimIV
i-GentorCCIM_v[1].0.5

This tool is designed to help traders identify market trends and potential entry points by analyzing price momentum. It simplifies complex market movements into visual cues, primarily focusing on the relationship between "Fast" and "Slow" momentum cycles.

Core Logic Overview

The indicator works by tracking two different speeds of market movement simultaneously. By comparing a quick, reactive momentum cycle with a broader, more stable one, the script identifies where the market is headed.

1. Momentum Tracking The system calculates two distinct types of indicators:

  • Fast Momentum: Reacts quickly to minor price fluctuations.
  • Slow Momentum: Filters out the "noise" of small price movements to show the broader trend.

2. Trend Identification and Coloring The script analyzes the history of these momentum shifts to determine the current market direction. It uses a specific counting logic to identify stable trends:

  • Upward Trends: When the slow momentum stays consistently above zero for an extended period, the script identifies this as an upward trend.
  • Downward Trends: Conversely, when it stays consistently below zero, it recognizes a downward trend.
  • Visual Feedback: The indicator uses different colors and histogram styles to highlight these trends on your chart, making it easier to see the market's "path of least resistance" at a glance.

3. Signal Generation The tool includes a specific logic for identifying "Signal Bars." Instead of reacting to every minor wiggle in the price, it waits for a specific duration of momentum consistency (a count of 6 bars). Once this threshold is met, it highlights the bar to alert the trader that a trend has solidified.

4. On-Screen Commentary For users who prefer direct information, the script includes an automated text comment on the chart. This tells you exactly what the market is doing in real-time—for example, identifying whether the price is currently in an "Up Trend," a "Down Trend," or if there is currently "No Trend" detected.

Summary for the Trader

In simple terms, this script acts as a filter. It ignores the chaotic "jitter" of the market and paints a clearer picture of the prevailing direction. It tells you:

  • Where the trend is (Up or Down).
  • How strong that trend is (based on how long it has persisted).
  • When a new trend has officially stabilized enough to be considered a valid signal.
Indicators Used
Commodity channel index
11 Views
0 Downloads
0 Favorites
i-GentorCCIM_v[1].0.5
//+------------------------------------------------------------------+
//|                                           i-GentorCCIM_v.0.4.mq4 |
//|                                                  Egorov Gennadiy |
//|   2005.08.20 KimIV  v.0.0                                        |
//| Íåìíîãî ìîäåðíèçèðîâàë, äîáàâèâ LSMA è ïîìåíÿâ å¸ ìåñòàìè ñ ÅÌÀ  |
//|   2005.08.20 KimIV  v.0.1                                        |
//| Îñâîáîäèë îäèí áóôåð                                             |
//|   2005.08.20 KimIV  v.0.2                                        |
//| Óáðàë LSMA è EMA.                                                |
//| Ñäåëàë ñèãíàëüíûé øåñòîé áàð è òðåíäîâóþ ðàñêðàñêó               |
//|   2005.08.20 KimIV  v.0.3                                        |
//| Ïîïûòêà óáðàòü ãëþê ñ òðåíäîâîé îêðàñêîé.                        |
//|   2005.08.20 KimIV  v.0.4                                        |
//| Ïîñëåäîâàòåëüíîñòü îòðèñîâêè ëèíèé (TCCI ïîâåðõ îñòàëüíûõ).      |
//| Êîììåíòàðèè.                                                     |
//+------------------------------------------------------------------+
#property copyright "Egorov Gennadiy, FX Sniper, KimIV"
#property link      "http://www.kimiv.ru"

#property indicator_separate_window
#property indicator_buffers 6

#property indicator_color1 Silver
#property indicator_color2 Yellow
#property indicator_color3 Lime
#property indicator_color4 Red      
#property indicator_color5 Black
#property indicator_color6 Red

#property indicator_level1 300
#property indicator_level2 200
#property indicator_level3 100
#property indicator_level4 50
#property indicator_level5 -50
#property indicator_level6 -100
#property indicator_level7 -200
#property indicator_level8 -300

//------- Âíåøíèå ïàðàìåòðû ------------------------------------------
extern int  SlowCCIPeriod = 14;   // Ïåðèîä ìåäëåííîãî CCI
extern int  FastCCIPeriod = 6;    // Ïåðèîä áûñòðîãî CCI
extern bool ShowComment   = True; // Ïîêàçûâàòü êîììåíòàðèè

//------- Áóôåðû èíäèêàòîðà ------------------------------------------
double FastCCI[];
double SlowCCI[];
double HistCCI[];
double SignalBar[];
double TrendUp[];
double TrendDn[];

//------- Ãëîáàëüíûå ïåðåìåííûå --------------------------------------

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void init() {
  IndicatorDigits(2);

  SetIndexStyle (0, DRAW_HISTOGRAM, STYLE_SOLID, 1);
  SetIndexBuffer(0, HistCCI);
  SetIndexStyle (1, DRAW_HISTOGRAM, STYLE_SOLID, 2);
  SetIndexBuffer(1, SignalBar);
  SetIndexStyle (2, DRAW_HISTOGRAM, STYLE_SOLID, 2);
  SetIndexBuffer(2, TrendUp);
  SetIndexStyle (3, DRAW_HISTOGRAM, STYLE_SOLID, 2);
  SetIndexBuffer(3, TrendDn);
  SetIndexStyle (4, DRAW_LINE, STYLE_SOLID, 2);
  SetIndexBuffer(4, SlowCCI);
  SetIndexStyle (5, DRAW_LINE, STYLE_SOLID, 1);
  SetIndexBuffer(5, FastCCI);
  Comment("");
}

//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
void deinit() {
  Comment("");
}

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start() {
  bool fcu=False, fcd=False, fup=False, fdn=False;
  int shift, ss;
  string comm;
//  int counted_bars=IndicatorCounted();

//  if (counted_bars<0) return;
//  if (counted_bars>0) counted_bars--;
//  for (shift=counted_bars; shift>=0; shift--) {
  for (shift=Bars; shift>=0; shift--) {
    TrendUp[shift] = 0;
    TrendDn[shift] = 0;
    FastCCI[shift] = iCCI(NULL, 0, FastCCIPeriod, PRICE_TYPICAL, shift);
    SlowCCI[shift] = iCCI(NULL, 0, SlowCCIPeriod, PRICE_TYPICAL, shift);
    HistCCI[shift] = SlowCCI[shift];
    if (HistCCI[shift+1]*HistCCI[shift]<0) {
      if (ss<=3) {
        if (fup && HistCCI[shift]>0) fcu = True;
        else fcu = False;
        if (fdn && HistCCI[shift]<0) fcd = True;
        else fcd = False;
      } else {
        if (ss<6) {
          fup = False; fdn = False;
          fcu = False; fcd = False;
          comm = "No Trend";
        }
      }
      ss = 1;
    } else ss++;
    if (ss==6) SignalBar[shift] = HistCCI[shift];
    else SignalBar[shift] = 0;
    if ((ss>6 || fcu) && HistCCI[shift]>0) {
      TrendUp[shift] = HistCCI[shift];
      fup = True; fdn = False; fcd = False;
      comm = "Up Trend "+(ss-6);
    }
    if ((ss>6 || fcd) && HistCCI[shift]<0) {
      TrendDn[shift] = HistCCI[shift];
      fdn = True; fup = False; fcu = False;
      comm = "Down Trend "+(ss-6);
    }
  }
  if (ShowComment) Comment(comm);
}
//+------------------------------------------------------------------+

Comments