//+------------------------------------------------------------------+ //| i-GentorCCIM_v.1.0.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.21 KimIV v.0.4 | //| Ïîñëåäîâàòåëüíîñòü îòðèñîâêè ëèíèé (TCCI ïîâåðõ îñòàëüíûõ). | //| Êîììåíòàðèè. | //| 2005.08.21 KimIV v.1.0 | //| Íîìåð ñèãíàëüíîãî áàðà è äåëüòó âî âíåøíèå ïàðàìåòðû. | //+------------------------------------------------------------------+ #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 int NSignalBar = 6; // Íîìåð ñèãíàëüíîãî áàðà extern int Delta = 3; // Äîïóñê â áàðàõ 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<=Delta) { if (fup && HistCCI[shift]>0) fcu = True; else fcu = False; if (fdn && HistCCI[shift]<0) fcd = True; else fcd = False; } else { if (ss<NSignalBar) { fup = False; fdn = False; fcu = False; fcd = False; comm = "No Trend"; } } ss = 1; } else ss++; if (ss==NSignalBar) SignalBar[shift] = HistCCI[shift]; else SignalBar[shift] = 0; if ((ss>NSignalBar || fcu) && HistCCI[shift]>0) { TrendUp[shift] = HistCCI[shift]; fup = True; fdn = False; fcd = False; comm = "Up Trend "+(ss-NSignalBar); } if ((ss>NSignalBar || fcd) && HistCCI[shift]<0) { TrendDn[shift] = HistCCI[shift]; fdn = True; fup = False; fcu = False; comm = "Down Trend "+(ss-NSignalBar); } } if (ShowComment) Comment(comm); } //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Commodity channel index
Custom Indicators Used:
Order Management characteristics:
Other Features: