//+-------------------------------------------------------------------------------------------------------------------+ //| ZH_StandardFunctionsTfYR1.lib.mq4| //| Copyright © Zhunko | //|01.07.2007 ÌF ZHUNKO vadim@zhunko.ru | //+-------------------------------------------------------------------------------------------------------------------+ //| Íàáîð ôóíêöèé äëÿ ÒÔ YR1. | //+-------------------------------------------------------------------------------------------------------------------+ //|1.Êîëè÷åñòâî áàðîâ â ÒÔ YR1. | //| int iBars_YR1 (string symbol); // Ñèìâîëüíîå èìÿ èíñòðóìåíòà. | //+-------------------------------------------------------------------------------------------------------------------+ //|2.Íîìåð áàðà ïî âðåìåíè â ÒÔ YR1. | //| int iBarShift_YR1 (string symbol, // Ñèìâîëüíîå èìÿ èíñòðóìåíòà. | //| datetime time, // Çíà÷åíèå âðåìåíè äëÿ ïîèñêà. | //| bool exact) // Âîçâðàùàåìîå çíà÷åíèå åñëè áàð íå íàéäåí | //| // (FALSE - iBarShift âîçâðàùàåò áëèæàéøèé/TRUE - iBarShift âîçâðàùàåò -1). | //+-------------------------------------------------------------------------------------------------------------------+ //|3.Âðåìÿ îòêðûòèÿ ïî íîìåðó áàðà â ÒÔ YR1. | //| datetime iTime_YR1 (string symbol, // Ñèìâîëüíîå èìÿ èíñòðóìåíòà. | //| int shift) // Íîìåð áàðà. | //+-------------------------------------------------------------------------------------------------------------------+ //|4.Öåíà îòêðûòèÿ âûáðàííîãî áàðà â ÒÔ YR1. | //| double iOpen_YR1 (string symbol, // Ñèìâîëüíîå èìÿ èíñòðóìåíòà. | //| int shift) // Íîìåð áàðà. | //+-------------------------------------------------------------------------------------------------------------------+ //|5.Ìàêñèìàëüíàÿ öåíà âûáðàííîãî áàðà â ÒÔ YR1. | //| double iHigh_YR1 (string symbol, // Ñèìâîëüíîå èìÿ èíñòðóìåíòà. | //| int shift) // Íîìåð áàðà. | //+-------------------------------------------------------------------------------------------------------------------+ //|6.Ìèíèìàëüíàÿ öåíà âûáðàííîãî áàðà â ÒÔ YR1. | //| double iLow_YR1 (string symbol, // Ââàëþòíàÿ ïàðà. | //| int shift) // Íîìåð áàðà. | //+-------------------------------------------------------------------------------------------------------------------+ //|7.Öåíà çàêðûòèÿ âûáðàííîãî áàðà â ÒÔ YR1. | //| double iClose_YR1 (string symbol, // Ñèìâîëüíîå èìÿ èíñòðóìåíòà. | //| int shift) // Íîìåð áàðà. | //+-------------------------------------------------------------------------------------------------------------------+ #property copyright "Copyright © 2006 Zhunko" #property link "vadim@zhunko.ru" #property library //ææææææææææææææææææææææææææææææææææææææææææææææææææææææ //ææææ Ñòàíäàðäíûå áèáëèîòå÷íûå ôóíêöèè äëÿ ÒÔ YR1. ææææ //ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ // 1. Êîëè÷åñòâî áàðîâ â ÒÔ YR1. int iBars_YR1 (string symbol) // Ñèìâîëüíîå èìÿ èíñòðóìåíòà. { int i; int iBarsMN1; // Êîëè÷åñòâî áàðîâ â ÒÔ MN1 òåêóùåãî èíñòðóìåíòà. int iBarsYR1 = 0; // Êîëè÷åñòâî áàðîâ â ÒÔ YR1. //---- iBarsMN1 = iBars (symbol, PERIOD_MN1); // Êîëè÷åñòâî áàðîâ â ÒÔ MN1 òåêóùåãî èíñòðóìåíòà. for (i = 0; i < iBarsMN1; i++) if (MathMod (TimeYear (1.0 * iTime (symbol, PERIOD_MN1, i)), 1.0 * TimeYear (iTime (symbol, PERIOD_MN1, i + 1))) != 0) iBarsYR1++; return (iBarsYR1); } //ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ // 2. Íîìåð áàðà ïî âðåìåíè â ÒÔ YR1. int iBarShift_YR1 (string symbol, // Ñèìâîëüíîå èìÿ èíñòðóìåíòà. datetime time, // Çíà÷åíèå âðåìåíè äëÿ ïîèñêà. bool exact) // Âîçâðàùàåìîå çíà÷åíèå åñëè áàð íå íàéäåí (FALSE - iBarShift âîçâðàùàåò áëèæàéøèé/TRUE - iBarShift âîçâðàùàåò -1). { bool Coincidence = false; datetime iTimeMN1_0; // Âðåìÿ îòêðûòèÿ òåêóùåãî áàðà íà MN1. datetime iTimeMN1_1; // Âðåìÿ îòêðûòèÿ ïðåäûäóùåãî áàðà íà MN1. int i; int iBarsYR1 = 0; // Êîëè÷åñòâî áàðîâ â ÒÔ YR1. int iBarsMN1; // Êîëè÷åñòâî áàðîâ â ÒÔ MN1 òåêóùåãî èíñòðóìåíòà. int FirstYear; // Ïåðâûé ãîä íà÷àëà èñòîðèè ïàðû. int ShiftYR1 = 0; // Âîçâðàùàåìîå çíà÷åíèå. //---- iBarsMN1 = iBars (symbol, PERIOD_MN1); // Êîëè÷åñòâî áàðîâ â ÒÔ MN1 òåêóùåãî èíñòðóìåíòà. FirstYear = StrToInteger (StringSubstr (TimeToStr (iTime (symbol, PERIOD_MN1, iBarsMN1 - 1), TIME_DATE), 0, 4)); // Ïåðâûé ãîä íà÷àëà èñòîðèè ïàðû. if (TimeYear (time) < FirstYear || Year() < TimeYear (time)) // Äëÿ ýêîíîìèè âðåìåíè íà öèêëàõ, ïðè âûáðàííîì âðåìåíè ñî çíà÷åíèåì ìåíüøåì âðåìåíè íà÷àëà èñòîðèè èëè áîëüøåì òåêóùåãî ãîäà. { if (exact == false) // Åñëè ïåðåêëþ÷àòåëü çàïðåùàåò, òî âîçâðàùàåì íîìåð áëèæàéøåãî áàðà (íîìåð ïåðâîãî áàðà â èñòîðèè). {// Åñëè âõîäíîå âðåìÿ ìåíüøå, ÷åì âðåìÿ íà÷àëî èñòîðèè, òî âîçâðàùàåìì íîìåð áàðà íà÷àëà èñòîðèè. if (TimeYear (time) < FirstYear) return (Year() - FirstYear); if (TimeYear (time) > Year()) return (0); // Åñëè âõîäíîå âðåìÿ áîëüøå, ÷åì âðåìÿ êîíöà èñòîðèè, òî âîçâðàùàåìì íîìåð áàðà êîíöà èñòîðèè. } else return (-1); // Åñëè ïåðåêëþ÷àòåëü ðàçðåøàåò, òî âîçâðàùàåì -1 â ñëó÷àå îòñóòñòâèÿ áàðà. } else // Åñëè âõîäíîå âðåìÿ áîëüøå èëè ðàâíî âðåìåíè íà÷àëà èñòîðèè, òî ïðîâåðÿåì âõîäíîå âðåìÿ íà ñîâïàäåíèå ñ ìåñÿ÷íîé èñòîðèåé. { if (exact == true) // Åñëè ïåðåêëþ÷àòåëü ðàçðåøàåò, òî âîçâðàùàåì -1 â ñëó÷àå îòñóòñòâèÿ áàðà. { for (i = 0, ShiftYR1 = 0; i < iBarsMN1; i++) {// Åñëè ïðîèçîøëà ñìåíà ãîäà, ïðèáàâëÿåì áàð. if (MathMod (TimeYear (1.0 * iTime (symbol, PERIOD_MN1, i)), 1.0 * TimeYear (iTime (symbol, PERIOD_MN1, i + 1))) != 0) ShiftYR1++; // Âûõîäèì èç öèêëà ïî óñëîâèþ ðàâåíñòâà âõîäíîãî ïàðàìåòðà íàéäåíîìó â öèêëå. if (TimeYear (time) == TimeYear (iTime (symbol, PERIOD_MN1, i))) { Coincidence = true; break; } } if (Coincidence == false) return (-1); // Åñëè ñîâïàäåíèÿ â öèêëå íå ïðîèçîøëî, âîçâðàùàåì -1. } else // Åñëè ïåðåêëþ÷àòåëü çàïðåùàåò, òî âîçâðàùàåì áëèæàéøèé ïî õîäó öèêëà (ïðåäûäóùèé) áàð. {// Ñ÷èòàåì êîëè÷åñòâî áàðîâ â ÒÔ YR1. for (i = 0; i < iBarsMN1; i++) if (MathMod (TimeYear (1.0 * iTime (symbol, PERIOD_MN1, i)), 1.0 * TimeYear (iTime (symbol, PERIOD_MN1, i + 1))) != 0) iBarsYR1++; for (i = 0, ShiftYR1 = -1; i < iBarsMN1; i++) { iTimeMN1_0 = iTime (symbol, PERIOD_MN1, i); iTimeMN1_1 = iTime (symbol, PERIOD_MN1, i + 1); if (MathMod (TimeYear (1.0 * iTimeMN1_0), 1.0 * TimeYear (iTimeMN1_1)) != 0) { ShiftYR1++; if (ShiftYR1 == 0) // Ñïåöèàëüíûå óñëîâèÿ äëÿ ïåðâîãî áàðà â èñòîðèè. {// Âûõîäèì èç öèêëà ïî óñëîâèþ ðàâåíñòâà âõîäíîãî ïàðàìåòðà íàéäåíîìó â öèêëå. if (TimeYear (time) == TimeYear (iTimeMN1_0)) return (ShiftYR1); else { if (TimeYear (iTimeMN1_1) < TimeYear (time)) // Íå ïðîâåðÿåì íà ïîñëåäóùèé áàð. { ShiftYR1++; // Âîçâðàùàåì ïðåäûäóùèé áàð, ñîîòâåòñòâóþùèé ìëàäøåìó ãîäó. return (ShiftYR1); } } } if (0 < ShiftYR1 && ShiftYR1 < iBarsYR1) // Ïðèìåíÿåì îáû÷íûå óñëîâèÿ "âîðîòà" äëÿ íå ïåðâîãî è íå ïîñëåäíåãî ãîäà â èñòîðèè. {// Âûõîäèì èç öèêëà ïî óñëîâèþ ðàâåíñòâà âõîäíîãî ïàðàìåòðà íàéäåíîìó â öèêëå. if (TimeYear (time) == TimeYear (iTimeMN1_0)) return (ShiftYR1); else // Åñëè èñêîìûé ãîä íå ðàâåí íàéäåíîìó, òî ïðîâåðÿåì íà îòñóòñòâèå áàðà. { if (TimeYear (iTimeMN1_1) < TimeYear (time) && TimeYear (time) < TimeYear (iTimeMN1_0)) { ShiftYR1++; // Âîçâðàùàåì ïðåäûäóùèé áàð, ñîîòâåòñòâóþùèé ìëàäøåìó ãîäó. return (ShiftYR1); } } } if (ShiftYR1 == iBarsYR1) return (ShiftYR1); // Åñëè áàð ïîñëåäíèé, òî âîçâðàùàåì òåêóùèé áàð, ñîîòâåòñòâóþùèé ìëàäøåìó ãîäó. } } } } } //ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ // 3. Âðåìÿ îòêðûòèÿ ïî íîìåðó áàðà â ÒÔ YR1. datetime iTime_YR1 (string symbol, // Ñèìâîëüíîå èìÿ èíñòðóìåíòà int shift) // Íîìåð áàðà. { int i; int iBarsYR1; // Êîëè÷åñòâî áàðîâ â ãîäîâîì ÒÔ. int ShiftYR1 = -1; // Òåêóùèé íîìåð áàðà ÒÔ YR1. //---- int iBarsMN1 = iBars (symbol, PERIOD_MN1); // Êîëè÷åñòâî áàðîâ â ÒÔ MN1 òåêóùåãî èíñòðóìåíòà. // Êîëè÷åñòâî áàðîâ â ÒÔ YR1 òåêóùåãî èíñòðóìåíòà. for (i = 0; i < iBarsMN1; i++) if (MathMod (TimeYear (1.0 * iTime (symbol, PERIOD_MN1, i)), 1.0 * TimeYear (iTime (symbol, PERIOD_MN1, i + 1))) != 0) iBarsYR1++; if (0 > shift || shift >= iBarsYR1) return (0); // Âîçâðàùàåì íîëü â ñëó÷àå îøèáêè. else { for (i = 0; i < iBarsMN1; i++) { datetime iTimeMN1_0 = iTime (symbol, PERIOD_MN1, i); // Âðåìÿ îòêðûòèÿ òåêóùåãî áàðà íà MN1. datetime iTimeMN1_1 = iTime (symbol, PERIOD_MN1, i + 1); // Âðåìÿ îòêðûòèÿ ïðåäûäóùåãî áàðà íà MN1. if (MathMod (TimeYear (1.0 * iTimeMN1_0), 1.0 * TimeYear (iTimeMN1_1)) != 0) // Åñëè îñòàòîê íå ðàâåí íóëþ, òî áàðû íàõîäÿòñÿ â ðàçíûõ ãîäàõ. { ShiftYR1++; if (shift == ShiftYR1) return (iTimeMN1_0); } } } } //ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ // 4. Öåíà îòêðûòèÿ âûáðàííîãî áàðà â ÒÔ YR1. double iOpen_YR1 (string symbol, // Ñèìâîëüíîå èìÿ èíñòðóìåíòà. int shift) // Íîìåð áàðà. { int i; int iBarsYR1; // Êîëè÷åñòâî áàðîâ â ãîäîâîì ÒÔ. int ShiftYR1 = -1; // Òåêóùèé íîìåð áàðà ÒÔ YR1. //---- int iBarsMN1 = iBars (symbol, PERIOD_MN1); // Êîëè÷åñòâî áàðîâ â ÒÔ MN1 òåêóùåãî èíñòðóìåíòà. // Êîëè÷åñòâî áàðîâ â ÒÔ YR1 òåêóùåãî èíñòðóìåíòà. for (i = 0; i < iBarsMN1; i++) if (MathMod (TimeYear (1.0 * iTime (symbol, PERIOD_MN1, i)), 1.0 * TimeYear (iTime (symbol, PERIOD_MN1, i + 1))) != 0) iBarsYR1++; if (0 > shift || shift >= iBarsYR1) return (0); // Âîçâðàùàåì íîëü â ñëó÷àå îøèáêè. else { for (i = 0; i < iBarsMN1; i++) { datetime iTimeMN1_0 = iTime (symbol, PERIOD_MN1, i); // Âðåìÿ îòêðûòèÿ òåêóùåãî áàðà íà MN1. datetime iTimeMN1_1 = iTime (symbol, PERIOD_MN1, i + 1); // Âðåìÿ îòêðûòèÿ ïðåäûäóùåãî áàðà íà MN1. if (MathMod (TimeYear (1.0 * iTimeMN1_0), 1.0 * TimeYear (iTimeMN1_1)) != 0) // Åñëè îñòàòîê íå ðàâåí íóëþ, òî áàðû íàõîäÿòñÿ â ðàçíûõ ãîäàõ. { ShiftYR1++; if (shift == ShiftYR1) return (iOpen (symbol, PERIOD_MN1, i)); // Âîçâðàùàåì öåíó îòêðûòèÿ íàéäåííîãî ãîäîâîãî áàðà. } } } } //ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ // 5. Ìàêñèìàëüíàÿ öåíà âûáðàííîãî áàðà â ÒÔ YR1. double iHigh_YR1 (string symbol, // Ñèìâîëüíîå èìÿ èíñòðóìåíòà. int shift) // Íîìåð áàðà. { datetime iTimeMN1_0; datetime iTimeMN1_1; double ArrayHighMN1[12]; // Òåõíè÷åñêèé ìàññèâ. int iBarsYR1; // Êîëè÷åñòâî áàðîâ â ãîäîâîì ÒÔ. int i, j, k; int ShiftYR1 = 0; // Òåêóùèé íîìåð áàðà ÒÔ YR1. //---- int iBarsMN1 = iBars (symbol, PERIOD_MN1); // Êîëè÷åñòâî áàðîâ â ÒÔ MN1 òåêóùåãî èíñòðóìåíòà. // Êîëè÷åñòâî áàðîâ â ÒÔ YR1 òåêóùåãî èíñòðóìåíòà. for (i = 0; i < iBarsMN1; i++) if (MathMod (TimeYear (1.0 * iTime (symbol, PERIOD_MN1, i)), 1.0 * TimeYear (iTime (symbol, PERIOD_MN1, i + 1))) != 0) iBarsYR1++; if (0 > shift || shift > iBarsYR1 - 1) return (0); // Âîçâðàùàåì íîëü â ñëó÷àå îøèáêè. else { if (shift == 0) // Åñëè áàð íóëåâîé, òî ñ÷èòàåì óïîðîù¸ííûì ñïîñîáîì. { for (j = 0, k = 0; j < 12; j++) { ArrayHighMN1[k] = iHigh (symbol, PERIOD_MN1, j); // Çàíîñèì â ììàññèâ ìàêñèìóì. iTimeMN1_0 = iTime (symbol, PERIOD_MN1, j); // Âðåìÿ îòêðûòèÿ òåêóùåãî áàðà íà MN1. iTimeMN1_1 = iTime (symbol, PERIOD_MN1, j + 1); // Âðåìÿ îòêðûòèÿ ïðåäûäóùåãî áàðà íà MN1. k++; // Ñ÷¸ò÷èê çíà÷èìûõ áàðîâ. // Åñëè îñòàòîê íå ðàâåí íóëþ, òî áàðû íàõîäÿòñÿ â ðàçíûõ ãîäàõ. Îñòàíàâëèâàåì ïîèñê. Âîçâðàùàåì ìàêñèìóì. if (MathMod (TimeYear (1.0 * iTimeMN1_0), 1.0 * TimeYear (iTimeMN1_1)) != 0) return (ArrayHighMN1[ArrayMaximum (ArrayHighMN1, k, 0)]); } } if (0 < shift || shift < iBarsYR1) { for (i = 0; i < iBarsMN1; i++) { iTimeMN1_0 = iTime (symbol, PERIOD_MN1, i); // Âðåìÿ îòêðûòèÿ òåêóùåãî áàðà íà MN1. iTimeMN1_1 = iTime (symbol, PERIOD_MN1, i + 1); // Âðåìÿ îòêðûòèÿ ïðåäûäóùåãî áàðà íà MN1. if (MathMod (TimeYear (1.0 * iTimeMN1_0), 1.0 * TimeYear (iTimeMN1_1)) != 0) // Åñëè îñòàòîê íå ðàâåí íóëþ, òî áàðû íàõîäÿòñÿ â ðàçíûõ ãîäàõ. Îñòàíàâëèâàåì ïîèñê. { ShiftYR1++; if (shift == ShiftYR1) { for (j = i + 1, k = 0; j < i + 13; j++) { ArrayHighMN1[k] = iHigh (symbol, PERIOD_MN1, j); // Çàíîñèì â ììàññèâ ìàêñèìóì. iTimeMN1_0 = iTime (symbol, PERIOD_MN1, j); // Âðåìÿ îòêðûòèÿ òåêóùåãî áàðà íà MN1. iTimeMN1_1 = iTime (symbol, PERIOD_MN1, j + 1); // Âðåìÿ îòêðûòèÿ ïðåäûäóùåãî áàðà íà MN1. k++; // Ñ÷¸ò÷èê çíà÷èìûõ áàðîâ. // Åñëè îñòàòîê íå ðàâåí íóëþ, òî áàðû íàõîäÿòñÿ â ðàçíûõ ãîäàõ. Îñòàíàâëèâàåì ïîèñê. Âîçâðàùàåì ìàêñèìóì. if (MathMod (TimeYear (1.0 * iTimeMN1_0), 1.0 * TimeYear (iTimeMN1_1)) != 0) return (ArrayHighMN1[ArrayMaximum (ArrayHighMN1, k, 0)]); } } } } } } } //ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ // 6. Ìèíèìàëüíàÿ öåíà âûáðàííîãî áàðà â ÒÔ YR1. double iLow_YR1 (string symbol, // Ââàëþòíàÿ ïàðà. int shift) // Íîìåð áàðà. { datetime iTimeMN1_0; datetime iTimeMN1_1; double ArrayLowMN1[12]; // Òåõíè÷åñêèé ìàññèâ. int iBarsYR1; // Êîëè÷åñòâî áàðîâ â ãîäîâîì ÒÔ. int i, j, k; int ShiftYR1 = 0; // Òåêóùèé íîìåð áàðà ÒÔ YR1. //---- int iBarsMN1 = iBars (symbol, PERIOD_MN1); // Êîëè÷åñòâî áàðîâ â ÒÔ MN1 òåêóùåãî èíñòðóìåíòà. // Êîëè÷åñòâî áàðîâ â ÒÔ YR1 òåêóùåãî èíñòðóìåíòà. for (i = 0; i < iBarsMN1; i++) if (MathMod (TimeYear (1.0 * iTime (symbol, PERIOD_MN1, i)), 1.0 * TimeYear (iTime (symbol, PERIOD_MN1, i + 1))) != 0) iBarsYR1++; if (0 > shift || shift > iBarsYR1 - 1) return (0); // Âîçâðàùàåì íîëü â ñëó÷àå îøèáêè. else { if (shift == 0) // Åñëè áàð íóëåâîé, òî ñ÷èòàåì óïîðîù¸ííûì ñïîñîáîì. { for (j = 0, k = 0; j < 12; j++) { ArrayLowMN1[k] = iLow (symbol, PERIOD_MN1, j); iTimeMN1_0 = iTime (symbol, PERIOD_MN1, j); // Âðåìÿ îòêðûòèÿ òåêóùåãî áàðà íà MN1. iTimeMN1_1 = iTime (symbol, PERIOD_MN1, j + 1); // Âðåìÿ îòêðûòèÿ ïðåäûäóùåãî áàðà íà MN1. k++; // Ñ÷¸ò÷èê çíà÷èìûõ áàðîâ. // Åñëè îñòàòîê íå ðàâåí íóëþ, òî áàðû íàõîäÿòñÿ â ðàçíûõ ãîäàõ. Îñòàíàâëèâàåì ïîèñê. Âîçâðàùàåì ìèíèìóì. if (MathMod (TimeYear (1.0 * iTimeMN1_0), 1.0 * TimeYear (iTimeMN1_1)) != 0) return (ArrayLowMN1[ArrayMinimum (ArrayLowMN1, k, 0)]); } } if (0 < shift || shift < iBarsYR1) { for (i = 0; i < iBarsMN1; i++) { iTimeMN1_0 = iTime (symbol, PERIOD_MN1, i); // Âðåìÿ îòêðûòèÿ òåêóùåãî áàðà íà MN1. iTimeMN1_1 = iTime (symbol, PERIOD_MN1, i + 1); // Âðåìÿ îòêðûòèÿ ïðåäûäóùåãî áàðà íà MN1. if (MathMod (TimeYear (1.0 * iTimeMN1_0), 1.0 * TimeYear (iTimeMN1_1)) != 0) // Åñëè îñòàòîê íå ðàâåí íóëþ, òî áàðû íàõîäÿòñÿ â ðàçíûõ ãîäàõ. Îñòàíàâëèâàåì ïîèñê. { ShiftYR1++; if (shift == ShiftYR1) { for (j = i + 1, k = 0; j < i + 13; j++) { ArrayLowMN1[k] = iLow (symbol, PERIOD_MN1, j); iTimeMN1_0 = iTime (symbol, PERIOD_MN1, j); // Âðåìÿ îòêðûòèÿ òåêóùåãî áàðà íà MN1. iTimeMN1_1 = iTime (symbol, PERIOD_MN1, j + 1); // Âðåìÿ îòêðûòèÿ ïðåäûäóùåãî áàðà íà MN1. k++; // Ñ÷¸ò÷èê çíà÷èìûõ áàðîâ. // Åñëè îñòàòîê íå ðàâåí íóëþ, òî áàðû íàõîäÿòñÿ â ðàçíûõ ãîäàõ. Îñòàíàâëèâàåì ïîèñê. Âîçâðàùàåì ìèíèìóì. if (MathMod (TimeYear (1.0 * iTimeMN1_0), 1.0 * TimeYear (iTimeMN1_1)) != 0) return (ArrayLowMN1[ArrayMinimum (ArrayLowMN1, k, 0)]); } } } } } } } //ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ // 7. Öåíà çàêðûòèÿ âûáðàííîãî áàðà â ÒÔ YR1. double iClose_YR1 (string symbol, // Ñèìâîëüíîå èìÿ èíñòðóìåíòà. int shift) // Íîìåð áàðà. { int i; int iBarsYR1; // Êîëè÷åñòâî áàðîâ â ãîäîâîì ÒÔ. int ShiftYR1 = 0; // Òåêóùèé íîìåð áàðà ÒÔ YR1. //---- int iBarsMN1 = iBars (symbol, PERIOD_MN1); // Êîëè÷åñòâî áàðîâ â ÒÔ MN1 òåêóùåãî èíñòðóìåíòà. // Êîëè÷åñòâî áàðîâ â ÒÔ YR1 òåêóùåãî èíñòðóìåíòà. for (i = 0; i < iBarsMN1; i++) if (MathMod (TimeYear (1.0 * iTime (symbol, PERIOD_MN1, i)), 1.0 * TimeYear (iTime (symbol, PERIOD_MN1, i + 1))) != 0) iBarsYR1++; if (shift < 0 || shift >= iBarsYR1) return (0); // Âîçâðàùàåì íîëü â ñëó÷àå îøèáêè. else { if (shift == 0) return (iClose (symbol, PERIOD_MN1, 0)); // Åñëè áàð íóëåâîé, òî öåíà çàêðûòèÿ ãîäîâîãî áàðà ðàâíà öåíå çàêðûòèÿ ìåñÿ÷íîãî áàðà. else // Åñëè áàð íå íóëåâîé, èùåì â öèêëå íåñîâïàäåíèÿ ãîäà âðåìåíè îòêðûòèÿ ñîñåäíèõ áàðîâ. { for (i = 0; i < iBarsMN1; i++) { datetime iTimeMN1_0 = iTime (symbol, PERIOD_MN1, i); // Âðåìÿ îòêðûòèÿ òåêóùåãî áàðà íà MN1. datetime iTimeMN1_1 = iTime (symbol, PERIOD_MN1, i + 1); // Âðåìÿ îòêðûòèÿ ïðåäûäóùåãî áàðà íà MN1. if (MathMod (TimeYear (1.0 * iTimeMN1_0), 1.0 * TimeYear (iTimeMN1_1)) != 0) // Åñëè îñòàòîê íå ðàâåí íóëþ, òî áàðû íàõîäÿòñÿ â ðàçíûõ ãîäàõ. { ShiftYR1++; if (shift == ShiftYR1) return (iClose (symbol, PERIOD_MN1, i + 1)); // Âîçâðàùàåì öåíó çàêðûòèÿ íàéäåííîãî ãîäîâîãî áàðà. } } } } } //ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
Sample
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
Other Features: