//+------------------------------------------------------------------+ //| Date_of_2_ZigZag.mq4 | //| Copyright © 2009, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2009, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" #property indicator_chart_window //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ string TimeSave1[100][2], TimeSave2[100][2]; double Number_of_extremum1[], Number_of_extremum2[]; extern string Currency = "EURUSD"; int init() { //---- indicators //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); //---- int k1, k2; k1=0; k2=0; //================================================== // ÇÀÏÈÑÛÂÀÅÌ ÂÐÅÌß È ÂÅËÈ×ÈÍÛ MAX\MIN çç double date1; int status; for(int shift = 0; shift <=100 ; shift++) //Bars-1 { date1 = iCustom(NULL, 0, "ZigZag", 12, 5, 3, 0, shift); //---------------------------------------------------- if(date1 > 0) { TimeSave1[k1][0]=TimeToStr(Time[shift]); TimeSave1[k1][1]=date1; k1++; } } //==================================================== // ÎÏÐÅÄÅËßÅÌ, ÊÀÊÀß ÂÅÐØÈÍÀ ßÂËßÅÒÑß ÌÀÊÑÈÌÓÌÎÌ, À ÊÀÊÀß - ÌÈÍÈÌÓÌÎÌ ArrayResize(Number_of_extremum1, k1); //Alert("k== ", k ); for (int u=0;uStrToDouble(TimeSave1[u][1])) { Number_of_extremum1[u]=2;// çíà÷èò ïîä íîìåðîì u - íàøëè max } } //==================================================== //================================================== // ÇÀÏÈÑÛÂÀÅÌ ÂÐÅÌß È ÂÅËÈ×ÈÍÛ MAX\MIN çç íà âòîðîé ïàðå double date2; //int status; for(int shift2 = 0; shift2 <=100 ; shift2++) //Bars-1 { date2 = iCustom(Currency, 0, "ZigZag", 12, 5, 3, 0, shift2); //---------------------------------------------------- if(date2 > 0) { TimeSave2[k2][0]=TimeToStr(Time[shift2]); TimeSave2[k2][1]=date2; k2++; } } //==================================================== // ÎÏÐÅÄÅËßÅÌ, ÊÀÊÀß ÂÅÐØÈÍÀ ßÂËßÅÒÑß ÌÀÊÑÈÌÓÌÎÌ, À ÊÀÊÀß - ÌÈÍÈÌÓÌÎÌ ArrayResize(Number_of_extremum2, k2); //Alert("k== ", k ); for (int q=0;qStrToDouble(TimeSave2[q][1])) { Number_of_extremum2[q]=2;// çíà÷èò ïîä íîìåðîì u - íàøëè max } } //==================================================== Alert("k1== ", k1, " k2== ", k2); for (int j=0;j