//+------------------------------------------------------------------+ //| JMASlope_MTF.mq4 | //| Copyright © 2007, ASystem Group | //| asystem2000@rambler.ru | //+------------------------------------------------------------------+ #property copyright "Copyright © 2007, Asystem2000" #property link "asystem2000@rambler.ru" // Ïðîñòîé èíäèêàòîð, êîòîðûé êîòîðûé ïîçâîëÿåò ïîñòðîèòü â ðàçíûõ òàéìôðåéìàõ àíàëîã èíäèêàòîðà JMASlope // Åñëè ó Âàñ áàçîâûé èíäèêàòîð JMASlope èìååò äðóãîå íàçâàíèå èñïðàâüòå â ïàðàìåòðå Indicator // Òåîðåòè÷åñêè ýòîò èíèäèêàòîð ìîæåò îáñëóæèòü ëþáîé èíèäèêàòîð è ïîñòðîèòü åãî ãèñòîãðàììó â ðàçíûõ // òàéìôðåéìàõ. // Åäèíñòâåííîå óñëîâèå: áàçîâûé èíäèêàòîð äîëæåí èìåòü äâà âõîäíûõ ïàðàìåòðà ñ òèïîì integer #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 LimeGreen #property indicator_color2 Red //---- input parameters extern int TimeFrame=0; extern int Length=14; extern int Phase=0; //extern string Note="Ìîæåòå ïîìåíÿòü èìÿ èíèäèêàòîðà, åñëè íå ñîâïàäàåò"; extern string Note="if required indicator''s name changed, enter a new name"; extern string Indicator="JMASlope"; //---- buffers double B_Up[]; double B_Dn[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { if (TimeFrame!=0) { if (TimeFrame<Period()) { // Alert("Íàñòðàèâàåìûé òàéìôðåéì äîëæåí áûòü áîëüøå òåêóùåãî èëè ðàâåí 0"); Alert("TimeFrame should be higher than current TF or =0"); deinit(); return(0); } } //---- indicators SetIndexStyle(0,DRAW_HISTOGRAM,0,0); SetIndexBuffer(0,B_Up); SetIndexStyle(1,DRAW_HISTOGRAM,0,0); SetIndexBuffer(1,B_Dn); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); int limit=Bars-counted_bars-1; int C_time; int Bar_Shift; if (limit==0) return(0); //---- int i=0; while(i<limit) { C_time=Time[i]; Bar_Shift=iBarShift(NULL,TimeFrame,C_time,false); B_Up[i]=iCustom(NULL,TimeFrame,Indicator,Length,Phase,0,Bar_Shift); B_Dn[i]=iCustom(NULL,TimeFrame,Indicator,Length,Phase,1,Bar_Shift); i++; } //---- return(0); } //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Series array that contains open time of each bar
Indicator Curves created:
Implements a curve of type DRAW_HISTOGRAM
Indicators Used:
Custom Indicators Used:
Indicator
Order Management characteristics:
Other Features:
It issuies visual alerts to the screen