i-GentorCCIM_v[1].0.2_v2
Download scriptThe i-GentorCCIM is a specialized technical analysis tool designed to help traders visualize market momentum and identify potential trend reversals. Rather than relying on a single data point, it processes price action through multiple layers of calculations to filter out market "noise" and highlight significant movements.
Core Logic & Components
The indicator operates by analyzing two distinct types of price oscillators simultaneously:
- Dual CCI Analysis: The tool calculates two different Comma Commodity Channel Index (CCI) values—a "Fast" version and a "Slow" version. By comparing these two, the script can distinguish between immediate, volatile price swings and broader, sustained market movements.
- Historical Trend Tracking: The logic specifically monitors the "Slow CCI" to establish the primary trend of the asset. It looks for instances where this value crosses the zero line, which often indicates a fundamental shift in market direction (from bullish to bearish or vice versa).
Visual Feedback & Signal System
The script translates these mathematical calculations into three distinct visual elements on your chart:
- Trend Coloring: The indicator features a trend-based coloring system. When the market shows sustained momentum, it highlights the trend visually, allowing you to see at a glance whether the current environment is favorable for "buying" (upward) or "selling" (downward) pressure.
- Momentum Histograms: It utilizes histograms to provide a sense of volume and intensity. These bars represent the strength of the current price movement, helping you determine if a trend is gaining power or beginning to lose steam.
- Signal Bar Identification: One of the unique features of this script is the "Signal Bar" logic. It tracks the sequence of price movements and identifies specific points where the momentum reaches a certain threshold. These signals are designed to act as alerts, marking potential entry or exit zones where the trend might be changing significantly.
Summary for Traders
In practical terms, this tool acts as a filter. Instead of just showing you every minor price fluctuation, it uses the relationship between fast and slow oscillators to "smooth out" the data. It identifies the direction of the market through color-coded trends while simultaneously providing histogram bars to measure the intensity of those moves, with specific highlights to pinpoint key signal moments.
//+------------------------------------------------------------------+
//| i-GentorCCIM_v.0.2.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. |
//| Ñäåëàë ñèãíàëüíûé øåñòîé áàð è òðåíäîâóþ ðàñêðàñêó |
//+------------------------------------------------------------------+
#property copyright "Egorov Gennadiy, FX Sniper, KimIV"
#property link "http://www.kimiv.ru"
//----
#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color1 Red
#property indicator_color2 Black
#property indicator_color3 Silver
#property indicator_color4 Yellow
#property indicator_color5 Lime
#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
//------- Áóôåðû èíäèêàòîðà ------------------------------------------
double FastCCI[];
double SlowCCI[];
double HistCCI[];
double SignalBar[];
double TrendUp[];
double TrendDown[];
//------- Ãëîáàëüíûå ïåðåìåííûå --------------------------------------
bool fct=False, fup=False, fdn=False;
int ss=1;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
void init()
{
IndicatorDigits(2);
SetIndexStyle (0, DRAW_LINE, STYLE_SOLID, 1);
SetIndexBuffer(0, FastCCI);
SetIndexStyle (1, DRAW_LINE, STYLE_SOLID, 2);
SetIndexBuffer(1, SlowCCI);
SetIndexStyle (2, DRAW_HISTOGRAM, STYLE_SOLID, 1);
SetIndexBuffer(2, HistCCI);
SetIndexStyle (3, DRAW_HISTOGRAM, STYLE_SOLID, 2);
SetIndexBuffer(3, SignalBar);
SetIndexStyle (4, DRAW_HISTOGRAM, STYLE_SOLID, 2);
SetIndexBuffer(4, TrendUp);
SetIndexStyle (5, DRAW_HISTOGRAM, STYLE_SOLID, 2);
SetIndexBuffer(5, TrendDown);
Comment("");
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
void deinit()
{
Comment("");
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int shift;
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;
TrendDown[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)
|| (fdn && HistCCI[shift]<0)) fct=True;
}
else fct=False;
ss=1;
}
if (ss==6) SignalBar[shift]=HistCCI[shift];
else SignalBar[shift]=0;
if (ss>6 || fct)
{
if (HistCCI[shift]>=0)
{
TrendUp[shift]=HistCCI[shift];
fup=True; fdn=False;
}
else
{
TrendDown[shift]=HistCCI[shift];
fdn=True; fup=False;
}
}
ss++;
}
}
//+------------------------------------------------------------------+
Comments