//+----------------------------------------------------------------------------------------------------------------------------+
//| ZH_StandardFunctionsTfH6.lib.mq4|
//| Copyright © Zhunko |
//|09.10.2009 - 12.10.2009 ÌF ZHUNKO vadim@zhunko.ru |
//+----------------------------------------------------------------------------------------------------------------------------+
//| Íàáîð ñòàíäàðòíûõ ôóíêöèé äëÿ ÒÔ H6. |
//+----------------------------------------------------------------------------------------------------------------------------+
//|1.Êîëè÷åñòâî áàðîâ â ÒÔ H6. |
//| int iBars_H6 (string symbol); // Ñèìâîëüíîå èìÿ èíñòðóìåíòà. |
//+----------------------------------------------------------------------------------------------------------------------------+
//|2.Íîìåð áàðà ïî âðåìåíè â ÒÔ H6. |
//| int iBarShift_H6 (string symbol, // Ñèìâîëüíîå èìÿ èíñòðóìåíòà. |
//| datetime time, // Çíà÷åíèå âðåìåíè äëÿ ïîèñêà. |
//| bool exact) // Âîçâðàùàåìîå çíà÷åíèå åñëè áàð íå íàéäåí |
//| // (FALSE - iBarShift âîçâðàùàåò áëèæàéøèé/TRUE - iBarShift âîçâðàùàåò -1). |
//+----------------------------------------------------------------------------------------------------------------------------+
//|3.Âðåìÿ îòêðûòèÿ ïî íîìåðó áàðà â ÒÔ H6. |
//| datetime iTime_H6 (string symbol, // Ñèìâîëüíîå èìÿ èíñòðóìåíòà |
//| int shift) // Íîìåð áàðà. |
//+----------------------------------------------------------------------------------------------------------------------------+
//|4.Öåíà îòêðûòèÿ âûáðàííîãî áàðà â ÒÔ H6. |
//| double iOpen_H6 (string symbol, // Ñèìâîëüíîå èìÿ èíñòðóìåíòà. |
//| int shift) // Íîìåð áàðà. |
//+----------------------------------------------------------------------------------------------------------------------------+
//|5.Ìàêñèìàëüíàÿ öåíà âûáðàííîãî áàðà â ÒÔ H6. |
//| double iHigh_H6 (string symbol, // Ñèìâîëüíîå èìÿ èíñòðóìåíòà. |
//| int shift) // Íîìåð áàðà. |
//+----------------------------------------------------------------------------------------------------------------------------+
//|6.Ìèíèìàëüíàÿ öåíà âûáðàííîãî áàðà â ÒÔ H6. |
//| double iLow_H6 (string symbol, // Ââàëþòíàÿ ïàðà. |
//| int shift) // Íîìåð áàðà. |
//+----------------------------------------------------------------------------------------------------------------------------+
//|7.Öåíà çàêðûòèÿ âûáðàííîãî áàðà â ÒÔ H6. |
//| double iClose_H6 (string symbol, // Ñèìâîëüíîå èìÿ èíñòðóìåíòà. |
//| int shift) // Íîìåð áàðà. |
//+----------------------------------------------------------------------------------------------------------------------------+
//|8. Âîçâðàùàåò òåêóùèé íîìåð øåñòè÷àñîâîãî áàðà â ñóòêàõ ïîñëåäíåãî èçâåñòíîãî ñåðâåðíîãî âðåìåíè. |
//| int Hour6() |
//+----------------------------------------------------------------------------------------------------------------------------+
//|9. Âîçâðàùàåò íîìåð øåñòè÷àñîâîãî áàðà â ñóòêàõ äëÿ óêàçàííîãî âðåìåíè. |
//| int TimeHour6 (datetime time) // Äàòà, ïðåäñòàâëåííàÿ â âèäå êîëè÷åñòâà ñåêóíä, ïðîøåäøèõ ïîñëå 00:00 1 ÿíâàðÿ 1970 ãîäà.|
//+----------------------------------------------------------------------------------------------------------------------------+
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
#property copyright "Copyright © 2006 Zhunko"
#property link "vadim@zhunko.ru"
#property library
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
// 1. Êîëè÷åñòâî áàðîâ â ÒÔ H6.
int iBars_H6 (string symbol) // Ñèìâîëüíîå èìÿ èíñòðóìåíòà.
{
bool Switch_H1 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ ïåðâîãî øåñòè÷àñîâîãî áàðà.
bool Switch_H2 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ âòîðîãî øåñòè÷àñîâîãî áàðà.
bool Switch_H3 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ òðåòüîãî øåñòè÷àñîâîãî áàðà.
bool Switch_H4 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ ÷åòâ¸ðòîãî øåñòè÷àñîâîãî áàðà.
datetime iTimeH1; // Âðåìÿ îòêðûòèÿ ÷àñîâîãî áàðà.
int i;
int iBarsH1; // Êîëè÷åñòâî áàðîâ â ÒÔ H1 òåêóùåãî èíñòðóìåíòà.
int iBarsH6; // Êîëè÷åñòâî áàðîâ â ÒÔ H6.
//----
iBarsH1 = iBars (symbol, PERIOD_H1); // Êîëè÷åñòâî áàðîâ â ÒÔ H1 òåêóùåãî èíñòðóìåíòà.
for (i = 0, iBarsH6 = 0; i < iBarsH1; i++)
{
iTimeH1 = iTime (symbol, PERIOD_H1, i); // Âðåìÿ îòêðûòèÿ ÷àñîâîãî áàðà.
if (i > 0) // Íà ïåðâîé èòåðàöèè íå ïðîâåðÿì ñóòîê.
{// Åñëè ñìåíèëèñü ñóòêè, èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ. Ìîæåò ïðèãîäèòüñÿ ïðè îòñóòñòâèè áàðîâ âíóòðè äíÿ è íåñêîëüêèõ äíåé ïîäðÿä (äûðû â èñòîðèè).
if (MathMod (TimeDay (iTimeH1), TimeDay (iTime (symbol, PERIOD_H1, i - 1))) != 0)
{
Switch_H1 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ ïåðâîãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ âòîðîãî øåñòè÷àñîâîãî áàðà.
Switch_H3 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ òðåòüîãî øåñòè÷àñîâîãî áàðà.
Switch_H4 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ ÷åòâ¸ðòîãî øåñòè÷àñîâîãî áàðà.
}
}
// Ïåðåêëþ÷àåì ïî ÷àñàì ñóòîê.
switch (TimeHour (iTimeH1))
{//----×àñîâûå áàðû 4-ãî øåñòè÷àñîâîãî áàðà.-----------------------------------------------------------------------------------------
case 23:
case 22:
case 21:
case 20:
case 19:
case 18:
{
Switch_H3 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 3-ãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 2-ãî øåñòè÷àñîâîãî áàðà.
Switch_H1 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 1-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H4 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
iBarsH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
Switch_H4 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//----×àñîâûå áàðû 3-ãî øåñòè÷àñîâîãî áàðà.-----------------------------------------------------------------------------------------
case 17:
case 16:
case 15:
case 14:
case 13:
case 12:
{
Switch_H4 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 4-ãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 2-ãî øåñòè÷àñîâîãî áàðà.
Switch_H1 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 1-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H3 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
iBarsH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
Switch_H3 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//----×àñîâûå áàðû 2-ãî øåñòè÷àñîâîãî áàðà.-----------------------------------------------------------------------------------------
case 11:
case 10:
case 9:
case 8:
case 7:
case 6:
{
Switch_H4 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 4-ãî øåñòè÷àñîâîãî áàðà.
Switch_H3 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 3-ãî øåñòè÷àñîâîãî áàðà.
Switch_H1 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 1-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H2 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
iBarsH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
Switch_H2 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//----×àñîâûå áàðû 1-ãî øåñòè÷àñîâîãî áàðà.-----------------------------------------------------------------------------------------
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
{
Switch_H4 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 4-ãî øåñòè÷àñîâîãî áàðà.
Switch_H3 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 3-ãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 2-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H1 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
iBarsH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
Switch_H1 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
}
}
return (iBarsH6);
}
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
// 2. Íîìåð áàðà ïî âðåìåíè â ÒÔ H6.
int iBarShift_H6 (string symbol, // Ñèìâîëüíîå èìÿ èíñòðóìåíòà.
datetime time, // Çíà÷åíèå âðåìåíè äëÿ ïîèñêà.
bool exact) // Âîçâðàùàåìîå çíà÷åíèå åñëè áàð íå íàéäåí (FALSE - iBarShift âîçâðàùàåò áëèæàéøèé/TRUE - iBarShift âîçâðàùàåò -1).
{
bool Switch_H1 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ ïåðâîãî øåñòè÷àñîâîãî áàðà.
bool Switch_H2 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ âòîðîãî øåñòè÷àñîâîãî áàðà.
bool Switch_H3 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ òðåòüîãî øåñòè÷àñîâîãî áàðà.
bool Switch_H4 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ ÷åòâ¸ðòîãî øåñòè÷àñîâîãî áàðà.
datetime TimeFirst_H6; // Âðåìÿ çàêðûòèÿ ïåðâãî áàðà H6 â èñòîðèè. Áàð íà÷àëà èñòîðèè ïàðû.
datetime TimeLast_H6; // Âðåìÿ îòêðûòèÿ ïîñëåäíåãî áàðà H6 â èñòîðèè.
datetime iTimeH1; // Âðåìÿ îòêðûòèÿ òåêóùåãî áàðà íà H1.
datetime iTimeH6_0; // Âðåìÿ îòêðûòèÿ òåêóùåãî áàðà íà H6.
datetime iTimeH6_1; // Âðåìÿ îòêðûòèÿ ïðåäûäóùåãî áàðà íà H6.
int AmountBar; // Êîëè÷åñòâî äîáàâëÿåìûõ áàðîâ â ïåðâîì èëè ïîñëåäíåì êâàðòàëüíûõ áàðàõ.
int i, j;
int ShiftH6 = 0; // Âîçâðàùàåìîå çíà÷åíèå ñìåùåíèÿ áàðà â ÒÔ H6.
int iBarsH1; // Êîëè÷åñòâî áàðîâ â ÒÔ H1 òåêóùåãî èíñòðóìåíòà.
int NumberHour; // Íîìåð ÷àñà.
//====Ïîäãîòîâêà äàííûõ.================================================================================================================================================================================================================
iBarsH1 = iBars (symbol, PERIOD_H1); // Êîëè÷åñòâî áàðîâ â ÒÔ H1 òåêóùåãî èíñòðóìåíòà.
//====Ðàñ÷¸ò âðåìåíè çàêðûòèÿ ïåðâîãî êâàðòàëüíîãî áàðà â èñòîðèè. Êâàðòàë íà÷àëà èñòîðèè ïàðû.==========================================================================================================================================
TimeFirst_H6 = iTime (symbol, PERIOD_H1, iBarsH1 - 1); // Âðåìÿ îòêðûòèÿ ïåðâîãî â èñòîðèè ÷àñîâîãî áàðà.
NumberHour = TimeHour (TimeFirst_H6) + 1; // Íîìåð ÷àñà ÎÒ 1 äî 24.
// Âû÷èñëÿåì êîëè÷åñòâî äîáàâëÿåìûõ áàðîâ â êâàðòàëüíîì áàðå.
AmountBar = MathMod (NumberHour, 6); // Åñëè áàð ïîñëåäíèé â áàðå H6, òî êîëè÷åñòâî äîáàâëÿåìûõ áàðîâ ðàâíî íóëþ.
if (AmountBar > 0) AmountBar = 6 - AmountBar; // Åñëè áàð íå ïîñëåäíèé â áàðå H6, ïðîäîëæàåì âû÷èñëÿòü.
for (i = 0; i <= AmountBar; i++) TimeFirst_H6 += 3600; // Ïðîèçâîäèì ïðèáàâëåíèå âðåìåíè.
//====Ðàñ÷¸ò âðåìåíè îòêðûòèÿ ïîñëåäíåãî êâàðòàëüíîãî áàðà â èñòîðèè.===================================================================================================================================================================
TimeLast_H6 = iTime (symbol, PERIOD_H1, 0); // Âðåìÿ îòêðûòèÿ ïîñëåäíåãî â èñòîðèè ÷àñîâîãî áàðà.
NumberHour = TimeHour (TimeLast_H6) + 1; // Íîìåð ÷àñà ÎÒ 1 äî 24.
// Âû÷èñëÿåì êîëè÷åñòâî äîáàâëÿåìûõ áàðîâ â êâàðòàëüíîì áàðå.
AmountBar = MathMod (NumberHour, 6); // Íîìåð ÷àñîâîãî áàðà â êâàðòàëå.
if (AmountBar == 0) AmountBar = 5; // Åñëè áàð ïîñëåäíèé â áàðå H6, òî êîëè÷åñòâî äîáàâëÿåìûõ áàðîâ ðàâíî äâóì.
else AmountBar = AmountBar - 1; // Åñëè áàð íå ïîñëåäíèé â áàðå H6, ïðîäîëæàåì âû÷èñëþòü.
for (i = 0; i < AmountBar; i++) TimeLast_H6 -= 3600; // Ïðîèçâîäèì âû÷èòàíèå âðåìåíè.
//----Äèàãíîñòèêà.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Comment ("TimeFirst_H6 = ", TimeToStr (TimeFirst_H6, TIME_DATE|TIME_MINUTES|TIME_SECONDS), "\nLastQuarter = ", TimeToStr (TimeLast_H6, TIME_DATE|TIME_MINUTES|TIME_SECONDS));
//======================================================================================================================================================================================================================================
if (time < TimeFirst_H6 || time >= TimeLast_H6) // Äëÿ ýêîíîìèè âðåìåíè íà öèêëàõ, ïðè âûáðàííîì âðåìåíè ñî çíà÷åíèåì ìåíüøåì âðåìåíè íà÷àëà èñòîðèè èëè áîëüøåì òåêóùîãî øåñòè÷àñîâîãî áàðà.
{
if (exact == true) return (-1); // Åñëè ïåðåêëþ÷àòåëü ðàçðåøàåò, òî âîçâðàùàåì -1 â ñëó÷àå îòñóòñòâèÿ áàðà.
else // Åñëè ïåðåêëþ÷àòåëü çàïðåùàåò, òî âîçâðàùàåì áëèæàéøèé ïî õîäó öèêëà (ïðåäûäóùèé) áàð.
{
if (time < TimeFirst_H6) return (iBars_H6 (symbol) - 1); // Åñëè çàäàííîå çíà÷åíèå âðåìåíè äëÿ ïîèñêà ìåíüøå âðåìåíè íà÷àëà èñòîðèè, ñ÷èòàåì êîëè÷åñòâî áàðîâ.
if (time > TimeLast_H6) return (0); // Åñëè çàäàííîå çíà÷åíèå âðåìåíè äëÿ ïîèñêà áîëüøå âðåìåíè êîíöà èñòîðèè, âîçðàùàåì ïîñëåäíèé áàð.
}
}
else // Åñëè çàäàííîå çíà÷åíèå âðåìåíè ñîîòâåòñòâóåò ñóùåñòâóþùåé èñòîðèè.
{// Âðåìÿ çàêðûòèÿ íóëåâîãî áàðà ÒÔ H6.
iTimeH6_0 = iTime (symbol, PERIOD_H1, 0); // Âðåìÿ îòêðûòèÿ ïåðâîãî â èñòîðèè ÷àñîâîãî áàðà.
NumberHour = TimeHour (iTimeH6_0) + 1; // Íîìåð ÷àñà.
AmountBar = MathMod (NumberHour, 6); // Åñëè áàð ïîñëåäíèé â áàðå H6, òî êîëè÷åñòâî äîáàâëÿåìûõ áàðîâ ðàâíî íóëþ.
if (AmountBar > 0) AmountBar = 6 - AmountBar; // Åñëè áàð íå ïîñëåäíèé â áàðå H6, ïðîäîëæàåì âû÷èñëÿòü.
for (i = 0; i <= AmountBar; i++) TimeFirst_H6 += 3600; // Ïðîèçâîäèì ïðèáàâëåíèå âðåìåíè.
for (i = 0, ShiftH6 = -1; i < iBarsH1; i++) // Öèêë ïî ìåñÿ÷íûì áàðàì. Íà÷àëî ñ íóëåâîãî áàðà.
{
iTimeH1 = iTime (symbol, PERIOD_H1, i); // Âðåìÿ îòêðûòèÿ òåêóùåãî ÷àñîâîãî áàðà.
// Âîçâðàùàåì íîìåð áëèæàéøåãî áàðà â ñëó÷àå îòñóòñòâèÿ áàðà. Åñëè çàäàííîå âðåìÿ áîëüøå âðåìåíè îòêðûòèÿ òåêóùåãî áàðà H1.
if (i > 0) // Íà ïåðâîé èòåðàöèè íå ïðîâåðÿì ñóòîê.
{// Åñëè ñìåíèëèñü ñóòêè, èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ. Ìîæåò ïðèãîäèòüñÿ ïðè îòñóòñòâèè áàðîâ âíóòðè äíÿ è íåñêîëüêèõ äíåé ïîäðÿä (äûðû â èñòîðèè).
if (MathMod (TimeDay (iTimeH1), TimeDay (iTime (symbol, PERIOD_H1, i - 1))) != 0)
{
Switch_H1 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ ïåðâîãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ âòîðîãî øåñòè÷àñîâîãî áàðà.
Switch_H3 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ òðåòüîãî øåñòè÷àñîâîãî áàðà.
Switch_H4 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ ÷åòâ¸ðòîãî øåñòè÷àñîâîãî áàðà.
}
}
// Ïåðåêëþ÷àåì ïî ÷àñàì ñóòîê.
NumberHour = TimeHour (iTimeH1); // Íîìåð ÷àñà.
switch (NumberHour)
{//----×àñîâûå áàðû 4-ãî øåñòè÷àñîâîãî áàðà.--------------------------------------------------------------------------------------
case 23:
case 22:
case 21:
case 20:
case 19:
case 18:
{
Switch_H3 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 3-ãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 2-ãî øåñòè÷àñîâîãî áàðà.
Switch_H1 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 1-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H4 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
ShiftH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
Switch_H4 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//----×àñîâûå áàðû 3-ãî øåñòè÷àñîâîãî áàðà.--------------------------------------------------------------------------------------
case 17:
case 16:
case 15:
case 14:
case 13:
case 12:
{
Switch_H4 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 4-ãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 2-ãî øåñòè÷àñîâîãî áàðà.
Switch_H1 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 1-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H3 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
ShiftH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
Switch_H3 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//----×àñîâûå áàðû 2-ãî øåñòè÷àñîâîãî áàðà.--------------------------------------------------------------------------------------
case 11:
case 10:
case 9:
case 8:
case 7:
case 6:
{
Switch_H4 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 4-ãî øåñòè÷àñîâîãî áàðà.
Switch_H3 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 3-ãî øåñòè÷àñîâîãî áàðà.
Switch_H1 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 1-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H2 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
ShiftH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
Switch_H2 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//----×àñîâûå áàðû 1-ãî øåñòè÷àñîâîãî áàðà.--------------------------------------------------------------------------------------
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
{
Switch_H4 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 4-ãî øåñòè÷àñîâîãî áàðà.
Switch_H3 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 3-ãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 2-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H1 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
ShiftH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
Switch_H1 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
}
// Åñëè ïåðåêëþ÷àòåëü ðàçðåøàåò, òî ïðîèçâîäèì ïîèñê âðåìåíè â ïðåäïîëàãàåìîé "äûðå" èñòîðèè.
if (exact == true)
{// Ðàñ÷¸ò âðåìåíè çàêðûòèÿ òåêóùåãî êâàðòàëüíîãî áàðà.
iTimeH6_1 = iTimeH1; // Âðåìÿ îòêðûòèÿ ïîñëåäíåãî â êâàðòàëå ÷àñîâîãî áàðà.
// Âû÷èñëÿåì êîëè÷åñòâî äîáàâëÿåìûõ áàðîâ â êâàðòàëüíîì áàðå.
AmountBar = MathMod (NumberHour + 1, 6); // Åñëè áàð ïîñëåäíèé â êâàðòàëå, òî êîëè÷åñòâî äîáàâëÿåìûõ áàðîâ ðàâíî íóëþ.
if (AmountBar > 0) AmountBar = 6 - AmountBar; // Åñëè áàð íå ïîñëåäíèé â êâàðòàëå, ïðîäîëæàåì âû÷èñëþòü.
for (j = 0; j <= AmountBar; j++) iTimeH6_1 += 3600; // Ïðîèçâîäèì ïðèáàâëåíèå âðåìåíè äëÿ ðàñ÷¸òà âðåìÿ çàêðûòèÿ òåêóùåãî áàðà íà H6.
// Ïðîâåðÿåì íà "äûðó" â èñòîðèè.
if (iTimeH6_1 < time && time < iTimeH6_0) return (-1); // Âîçâðàùàåì -1 â ñëó÷àå îòñóòñòâèÿ áàðà.
}
// Ðàñ÷¸ò âðåìåíè îòêðûòèÿ òåêóùåãî êâàðòàëüíîãî áàðà.
iTimeH6_0 = iTimeH1; // Âðåìÿ îòêðûòèÿ ïåðâîãî â èñòîðèè ÷àñîâîãî áàðà.
// Âû÷èñëÿåì êîëè÷åñòâî äîáàâëÿåìûõ áàðîâ â êâàðòàëüíîì áàðå.
AmountBar = MathMod (NumberHour + 1, 6); // Íîìåð ÷àñîâîãî áàðà â êâàðòàëå.
if (AmountBar == 0) AmountBar = 5; // Åñëè áàð ïîñëåäíèé â êâàðòàëå, òî êîëè÷åñòâî äîáàâëÿåìûõ áàðîâ ðàâíî äâóì.
else AmountBar = AmountBar - 1; // Åñëè áàð íå ïîñëåäíèé â êâàðòàëå, ïðîäîëæàåì âû÷èñëþòü.
for (j = 0; j < AmountBar; j++) iTimeH6_0 -= 3600; // Ïðîèçâîäèì âû÷èòàíèå âðåìåíè äëÿ ðàñ÷¸òà âðåìåíè îòêðûòèÿ òåêóùåãî áàðà íà H6.
if (time >= iTimeH6_0) return (ShiftH6); // Âîçâðàùàåì íîìåð òåêóùåãî áàðà íà H6.
}
}
}
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
// 3. Âðåìÿ îòêðûòèÿ ïî íîìåðó áàðà â ÒÔ H6.
datetime iTime_H6 (string symbol, // Ñèìâîëüíîå èìÿ èíñòðóìåíòà
int shift) // Íîìåð áàðà.
{
bool Switch_H1 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ ïåðâîãî øåñòè÷àñîâîãî áàðà.
bool Switch_H2 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ âòîðîãî øåñòè÷àñîâîãî áàðà.
bool Switch_H3 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ òðåòüîãî øåñòè÷àñîâîãî áàðà.
bool Switch_H4 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ ÷åòâ¸ðòîãî øåñòè÷àñîâîãî áàðà.
datetime iTimeH1; // Âðåìÿ îòêðûòèÿ ÷àñîâîãî áàðà.
datetime iTimeH6; // Âîçâðàùàåìîå çíà÷åíèå.
int AmountBar; // Êîëè÷åñòâî äîáàâëÿåìûõ áàðîâ â ïåðâîì èëè ïîñëåäíåì êâàðòàëüíûõ áàðàõ.
int i, j;
int iBarsH1 = iBars (symbol, PERIOD_H1); // Êîëè÷åñòâî áàðîâ â ÒÔ H1 òåêóùåãî èíñòðóìåíòà.
int iBarsH6 = iBars_H6 (symbol); // Êîëè÷åñòâî áàðîâ â ÒÔ H6.
int NumberHour; // Íîìåð ÷àñà.
int ShiftH6; // Òåêóùèé íîìåð áàðà ÒÔ H6.
//----
if (0 > shift || shift >= iBarsH6) return (0); // Âîçâðàùàåì íîëü â ñëó÷àå îøèáêè.
else // Åñëè íîìåð áàðà íàõîäèòñÿ â ïðåäåëàõ èñòîðèè, èùåì åãî.
{// Ðàñ÷¸ò ãîäà íà âèñîêîñíîñòü. Çàäà¸ì íà÷àëüíîå çíà÷åíèå.
for (i = 0, ShiftH6 = -1; i < iBarsH1; i++) // Öèêë ïî íîìåðàì ìåñÿ÷íûõ áàðîâ.
{
iTimeH1 = iTime (symbol, PERIOD_H1, i); // Âðåìÿ îòêðûòèÿ ÷àñîâîãî áàðà.
if (i > 0) // Íà ïåðâîé èòåðàöèè íå ïðîâåðÿì ñóòîê.
{// Åñëè ñìåíèëèñü ñóòêè, èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ. Ìîæåò ïðèãîäèòüñÿ ïðè îòñóòñòâèè áàðîâ âíóòðè äíÿ è íåñêîëüêèõ äíåé ïîäðÿä (äûðû â èñòîðèè).
if (MathMod (TimeDay (iTimeH1), TimeDay (iTime (symbol, PERIOD_H1, i - 1))) != 0)
{
Switch_H1 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ ïåðâîãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ âòîðîãî øåñòè÷àñîâîãî áàðà.
Switch_H3 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ òðåòüîãî øåñòè÷àñîâîãî áàðà.
Switch_H4 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ ÷åòâ¸ðòîãî øåñòè÷àñîâîãî áàðà.
}
}
// Ïåðåêëþ÷àåì ïî ÷àñàì ñóòîê.
NumberHour = TimeHour (iTimeH1); // Íîìåð ÷àñà.
switch (NumberHour)
{//----×àñîâûå áàðû 4-ãî øåñòè÷àñîâîãî áàðà.-----------------------------------------------------------------------------------------
case 23:
case 22:
case 21:
case 20:
case 19:
case 18:
{
Switch_H3 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 3-ãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 2-ãî øåñòè÷àñîâîãî áàðà.
Switch_H1 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 1-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H4 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
ShiftH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
Switch_H4 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//----×àñîâûå áàðû 3-ãî øåñòè÷àñîâîãî áàðà.-----------------------------------------------------------------------------------------
case 17:
case 16:
case 15:
case 14:
case 13:
case 12:
{
Switch_H4 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 4-ãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 2-ãî øåñòè÷àñîâîãî áàðà.
Switch_H1 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 1-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H3 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
ShiftH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
Switch_H3 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//----×àñîâûå áàðû 2-ãî øåñòè÷àñîâîãî áàðà.-----------------------------------------------------------------------------------------
case 11:
case 10:
case 9:
case 8:
case 7:
case 6:
{
Switch_H4 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 4-ãî øåñòè÷àñîâîãî áàðà.
Switch_H3 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 3-ãî øåñòè÷àñîâîãî áàðà.
Switch_H1 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 1-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H2 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
ShiftH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
Switch_H2 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//----×àñîâûå áàðû 1-ãî øåñòè÷àñîâîãî áàðà.-----------------------------------------------------------------------------------------
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
{
Switch_H4 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 4-ãî øåñòè÷àñîâîãî áàðà.
Switch_H3 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 3-ãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 2-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H1 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
ShiftH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
Switch_H1 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
}
// Åñëè íàøëè íóæíûé áàð.
if (shift == ShiftH6)
{// Ðàñ÷¸ò âðåìåíè îòêðûòèÿ íàéäåííîãî êâàðòàëüíîãî áàðà.
iTimeH6 = iTimeH1; // Âðåìÿ îòêðûòèÿ ïîñëåäíåãî â êâàðòàëå ÷àñîâîãî áàðà.
// Âû÷èñëÿåì êîëè÷åñòâî äîáàâëÿåìûõ áàðîâ â êâàðòàëüíîì áàðå.
AmountBar = MathMod (NumberHour + 1, 6); // Íîìåð ÷àñîâîãî áàðà â êâàðòàëå.
if (AmountBar == 0) AmountBar = 5; // Åñëè áàð ïîñëåäíèé â êâàðòàëå, òî êîëè÷åñòâî äîáàâëÿåìûõ áàðîâ ðàâíî äâóì.
else AmountBar = AmountBar - 1; // Åñëè áàð íå ïîñëåäíèé â êâàðòàëå, ïðîäîëæàåì âû÷èñëþòü.
for (j = 0; j < AmountBar; j++) iTimeH6 -= 3600; // Ïðîèçâîäèì âû÷èòàíèå âðåìåíè. Âðåìÿ îòêðûòèÿ òåêóùåãî áàðà íà H6.
return (iTimeH6); // Âîçâðàùàåì âðåìÿ îòêðûòèÿ êâàðòàëüíîãî áàðà.
}
}
}
}
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
// 4. Öåíà îòêðûòèÿ âûáðàííîãî áàðà â ÒÔ H6.
double iOpen_H6 (string symbol, // Ñèìâîëüíîå èìÿ èíñòðóìåíòà.
int shift) // Íîìåð áàðà.
{
bool Switch_H1 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ ïåðâîãî øåñòè÷àñîâîãî áàðà.
bool Switch_H2 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ âòîðîãî øåñòè÷àñîâîãî áàðà.
bool Switch_H3 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ òðåòüîãî øåñòè÷àñîâîãî áàðà.
bool Switch_H4 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ ÷åòâ¸ðòîãî øåñòè÷àñîâîãî áàðà.
datetime iTimeH1; // Âðåìÿ îòêðûòèÿ ÷àñîâîãî áàðà.
int i, j, k;
int iBarsH1 = iBars (symbol, PERIOD_H1); // Êîëè÷åñòâî áàðîâ â ÒÔ H1 òåêóùåãî èíñòðóìåíòà.
int iBarsH6 = iBars_H6 (symbol); // Êîëè÷åñòâî áàðîâ â ÒÔ H6.
int FirstH1; // Íîìåð ïåðâîãî ÷àñà â 6-è ÷àñîâîì áàðå.
int ShiftH6; // Òåêóùèé íîìåð áàðà ÒÔ H6.
//----
if (0 > shift || shift >= iBarsH6) return (0); // Âîçâðàùàåì íîëü â ñëó÷àå îøèáêè.
else // Åñëè íîìåð áàðà íàõîäèòñÿ â ïðåäåëàõ èñòîðèè, èùåì åãî.
{
for (i = 0, ShiftH6 = -1; i < iBarsH1; i++) // Öèêë ïî íîìåðàì ìåñÿ÷íûõ áàðîâ.
{
iTimeH1 = iTime (symbol, PERIOD_H1, i); // Âðåìÿ îòêðûòèÿ ÷àñîâîãî áàðà.
if (i > 0) // Íà ïåðâîé èòåðàöèè íå ïðîâåðÿì ñóòîê.
{// Åñëè ñìåíèëèñü ñóòêè, èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ. Ìîæåò ïðèãîäèòüñÿ ïðè îòñóòñòâèè áàðîâ âíóòðè äíÿ è íåñêîëüêèõ äíåé ïîäðÿä (äûðû â èñòîðèè).
if (MathMod (TimeDay (iTimeH1), TimeDay (iTime (symbol, PERIOD_H1, i - 1))) != 0)
{
Switch_H1 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ ïåðâîãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ âòîðîãî øåñòè÷àñîâîãî áàðà.
Switch_H3 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ òðåòüîãî øåñòè÷àñîâîãî áàðà.
Switch_H4 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ ÷åòâ¸ðòîãî øåñòè÷àñîâîãî áàðà.
}
}
// Ïåðåêëþ÷àåì ïî ÷àñàì ñóòîê.
switch (TimeHour (iTimeH1))
{//----×àñîâûå áàðû 4-ãî øåñòè÷àñîâîãî áàðà.---------------------------------------------------------------------------------------------------------
case 23:
case 22:
case 21:
case 20:
case 19:
case 18:
{
Switch_H3 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 3-ãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 2-ãî øåñòè÷àñîâîãî áàðà.
Switch_H1 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 1-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H4 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
ShiftH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
FirstH1 = 18; // Íîìåð ïåðâîãî ÷àñà â 6-è ÷àñîâîì áàðå.
Switch_H4 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//----×àñîâûå áàðû 3-ãî øåñòè÷àñîâîãî áàðà.---------------------------------------------------------------------------------------------------------
case 17:
case 16:
case 15:
case 14:
case 13:
case 12:
{
Switch_H4 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 4-ãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 2-ãî øåñòè÷àñîâîãî áàðà.
Switch_H1 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 1-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H3 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
ShiftH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
FirstH1 = 12; // Íîìåð ïåðâîãî ÷àñà â 6-è ÷àñîâîì áàðå.
Switch_H3 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//----×àñîâûå áàðû 2-ãî øåñòè÷àñîâîãî áàðà.---------------------------------------------------------------------------------------------------------
case 11:
case 10:
case 9:
case 8:
case 7:
case 6:
{
Switch_H4 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 4-ãî øåñòè÷àñîâîãî áàðà.
Switch_H3 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 3-ãî øåñòè÷àñîâîãî áàðà.
Switch_H1 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 1-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H2 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
ShiftH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
FirstH1 = 6; // Íîìåð ïåðâîãî ÷àñà â 6-è ÷àñîâîì áàðå.
Switch_H2 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//----×àñîâûå áàðû 1-ãî øåñòè÷àñîâîãî áàðà.---------------------------------------------------------------------------------------------------------
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
{
Switch_H4 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 4-ãî øåñòè÷àñîâîãî áàðà.
Switch_H3 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 3-ãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 2-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H1 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
ShiftH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
FirstH1 = 0; // Íîìåð ïåðâîãî ÷àñà â 6-è ÷àñîâîì áàðå.
Switch_H1 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
}
if (shift == ShiftH6) // Åñëè íàøëè íóæíûé áàð.
{
for (i++, k = TimeDay (iTimeH1);; i++) // Èùèì ïåðâûé ìåñÿ÷íûé áàð êâàðòàëüíîãî áàðà.
{
iTimeH1 = iTime (symbol, PERIOD_H1, i); // Âðåìÿ îòêðûòèÿ ÷àñîâîãî áàðà.
// Äëÿ ïåðâîãî áàðà ïåðâîãî 6-è ÷àñîâîãî áàðà â ñóòêè îñîáûå óñëîâèÿ ïðîâåðêè íà÷àëà. Îñòàíàâëèâàåì öèêë, åñëè ñëåäóþùèé áàð íàõîäèòñÿ â äðóãèõ ñóòêàõ èëè ìåñÿöå. Âîçâðàùàåì öåíó îòêðûòèÿ 6-è ÷àñîâîãî áàðà.
if (FirstH1 == 0) {if (TimeHour (iTimeH1) > 5 || TimeDay (iTimeH1) != k) return (iOpen (symbol, PERIOD_H1, i - 1));}
else {if (TimeHour (iTimeH1) < FirstH1 || TimeDay (iTimeH1) != k) return (iOpen (symbol, PERIOD_H1, i - 1));}
}
}
}
}
}
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
// 5. Ìàêñèìàëüíàÿ öåíà âûáðàííîãî áàðà â ÒÔ H6.
double iHigh_H6 (string symbol, // Ñèìâîëüíîå èìÿ èíñòðóìåíòà.
int shift) // Íîìåð áàðà.
{
bool Switch_H1 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ ïåðâîãî øåñòè÷àñîâîãî áàðà.
bool Switch_H2 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ âòîðîãî øåñòè÷àñîâîãî áàðà.
bool Switch_H3 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ òðåòüîãî øåñòè÷àñîâîãî áàðà.
bool Switch_H4 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ ÷åòâ¸ðòîãî øåñòè÷àñîâîãî áàðà.
datetime iTimeH1; // Âðåìÿ îòêðûòèÿ ÷àñîâîãî áàðà.
datetime iTimeH1_1; // Âðåìÿ îòêðûòèÿ ñëåäóþùåãî ÷àñîâîãî áàðà.
int i, l;
int iBarsH1 = iBars (symbol, PERIOD_H1); // Êîëè÷åñòâî áàðîâ â ÒÔ H1 òåêóùåãî èíñòðóìåíòà.
int iBarsH6 = iBars_H6 (symbol); // Êîëè÷åñòâî áàðîâ â ÒÔ H6.
int FirstH1; // Íîìåð ïåðâîãî ÷àñà â 6-è ÷àñîâîì áàðå.
int ShiftH6; // Òåêóùèé íîìåð áàðà ÒÔ H6.
// Ìàññèâû.
double ArHighH1[6]; // Ìàññèâ ñ ìàêñèìàëüíûìè öåíàìè ìåñÿ÷íûõ áàðîâ â êâàðòàëüíîì áàðå.
//----
if (0 > shift || shift >= iBarsH6) return (0); // Âîçâðàùàåì íîëü â ñëó÷àå îøèáêè.
else // Åñëè íîìåð áàðà íàõîäèòñÿ â ïðåäåëàõ èñòîðèè, èùåì åãî.
{
for (i = 0, ShiftH6 = -1; i < iBarsH1; i++) // Öèêë ïî íîìåðàì ìåñÿ÷íûõ áàðîâ.
{
iTimeH1 = iTime (symbol, PERIOD_H1, i); // Âðåìÿ îòêðûòèÿ ÷àñîâîãî áàðà.
if (i > 0) // Íà ïåðâîé èòåðàöèè íå ïðîâåðÿì ñóòîê.
{// Åñëè ñìåíèëèñü ñóòêè, èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ. Ìîæåò ïðèãîäèòüñÿ ïðè îòñóòñòâèè áàðîâ âíóòðè äíÿ è íåñêîëüêèõ äíåé ïîäðÿä (äûðû â èñòîðèè).
if (MathMod (TimeDay (iTimeH1), TimeDay (iTime (symbol, PERIOD_H1, i - 1))) != 0)
{
Switch_H1 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ ïåðâîãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ âòîðîãî øåñòè÷àñîâîãî áàðà.
Switch_H3 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ òðåòüîãî øåñòè÷àñîâîãî áàðà.
Switch_H4 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ ÷åòâ¸ðòîãî øåñòè÷àñîâîãî áàðà.
}
}
// Ïåðåêëþ÷àåì ïî ÷àñàì ñóòîê.
switch (TimeHour (iTimeH1))
{//----×àñîâûå áàðû 4-ãî øåñòè÷àñîâîãî áàðà.---------------------------------------------------------------------------------------------------------
case 23:
case 22:
case 21:
case 20:
case 19:
case 18:
{
Switch_H3 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 3-ãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 2-ãî øåñòè÷àñîâîãî áàðà.
Switch_H1 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 1-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H4 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
ShiftH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
FirstH1 = 18; // Íîìåð ïåðâîãî ÷àñà â 6-è ÷àñîâîì áàðå.
Switch_H4 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//----×àñîâûå áàðû 3-ãî øåñòè÷àñîâîãî áàðà.---------------------------------------------------------------------------------------------------------
case 17:
case 16:
case 15:
case 14:
case 13:
case 12:
{
Switch_H4 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 4-ãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 2-ãî øåñòè÷àñîâîãî áàðà.
Switch_H1 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 1-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H3 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
ShiftH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
FirstH1 = 12; // Íîìåð ïåðâîãî ÷àñà â 6-è ÷àñîâîì áàðå.
Switch_H3 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//----×àñîâûå áàðû 2-ãî øåñòè÷àñîâîãî áàðà.---------------------------------------------------------------------------------------------------------
case 11:
case 10:
case 9:
case 8:
case 7:
case 6:
{
Switch_H4 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 4-ãî øåñòè÷àñîâîãî áàðà.
Switch_H3 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 3-ãî øåñòè÷àñîâîãî áàðà.
Switch_H1 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 1-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H2 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
ShiftH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
FirstH1 = 6; // Íîìåð ïåðâîãî ÷àñà â 6-è ÷àñîâîì áàðå.
Switch_H2 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//----×àñîâûå áàðû 1-ãî øåñòè÷àñîâîãî áàðà.---------------------------------------------------------------------------------------------------------
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
{
Switch_H4 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 4-ãî øåñòè÷àñîâîãî áàðà.
Switch_H3 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 3-ãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 2-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H1 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
ShiftH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
FirstH1 = 0; // Íîìåð ïåðâîãî ÷àñà â 6-è ÷àñîâîì áàðå.
Switch_H1 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
}
if (shift == ShiftH6) // Åñëè íàøëè íóæíûé áàð.
{
for (l = 0; l < 6; i++, l++) // Èùèì ïåðâûé ìåñÿ÷íûé áàð êâàðòàëüíîãî áàðà.
{
iTimeH1 = iTime (symbol, PERIOD_H1, i); // Âðåìÿ îòêðûòèÿ òåêóùåãî ÷àñîâîãî áàðà.
iTimeH1_1 = iTime (symbol, PERIOD_H1, i + 1); // Âðåìÿ îòêðûòèÿ ñëåäóþùåãî ÷àñîâîãî áàðà.
ArHighH1[l] = iHigh (symbol, PERIOD_H1, i); // Ñêëàäûâàåì ìèíèìàëüíûå öåíû ìåñÿ÷íûûõ áàðîâ â òåõíè÷åñêèé ìàññèâ.
// Äëÿ ïåðâîãî áàðà ïåðâîãî 6-è ÷àñîâîãî áàðà â ñóòêè îñîáûå óñëîâèÿ ïðîâåðêè íà÷àëà.
if (FirstH1 == 0) {if (TimeHour (iTimeH1_1) > 5 || TimeDay (iTimeH1) != TimeDay (iTimeH1_1)) break;} // Îñòàíàâëèâàåì öèêë, åñëè ñëåäóþùèé áàð íàõîäèòñÿ â äðóãèõ ñóòêàõ èëè ìåñÿöå.
else {if (TimeHour (iTimeH1_1) < FirstH1 || TimeDay (iTimeH1) != TimeDay (iTimeH1_1)) break;} // Îñòàíàâëèâàåì öèêë, åñëè ñëåäóþùèé áàð íàõîäèòñÿ â äðóãèõ ñóòêàõ èëè ìåñÿöå.
}
return (ArHighH1[ArrayMinimum (ArHighH1, l + 1, 0)]); // Âîçâðàùàåì ìèíèìàëüíóþ öåíó êâàðòàëüíîãî áàðà.
}
}
}
}
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
// 6. Ìèíèìàëüíàÿ öåíà âûáðàííîãî áàðà â ÒÔ H6.
double iLow_H6 (string symbol, // Ââàëþòíàÿ ïàðà.
int shift) // Íîìåð áàðà.
{
bool Switch_H1 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ ïåðâîãî øåñòè÷àñîâîãî áàðà.
bool Switch_H2 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ âòîðîãî øåñòè÷àñîâîãî áàðà.
bool Switch_H3 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ òðåòüîãî øåñòè÷àñîâîãî áàðà.
bool Switch_H4 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ ÷åòâ¸ðòîãî øåñòè÷àñîâîãî áàðà.
datetime iTimeH1; // Âðåìÿ îòêðûòèÿ ÷àñîâîãî áàðà.
datetime iTimeH1_1; // Âðåìÿ îòêðûòèÿ ñëåäóþùåãî ÷àñîâîãî áàðà.
int i, l;
int iBarsH1 = iBars (symbol, PERIOD_H1); // Êîëè÷åñòâî áàðîâ â ÒÔ H1 òåêóùåãî èíñòðóìåíòà.
int iBarsH6 = iBars_H6 (symbol); // Êîëè÷åñòâî áàðîâ â ÒÔ H6.
int FirstH1; // Íîìåð ïåðâîãî ÷àñà â 6-è ÷àñîâîì áàðå.
int ShiftH6; // Òåêóùèé íîìåð áàðà ÒÔ H6.
// Ìàññèâû.
double ArLowH1[6]; // Ìàññèâ ñ ìàèíèìàëüíûìè öåíàìè ÷àñîâûõ áàðîâ â 6-è ÷àñîâîì áàðå.
//----
if (0 > shift || shift >= iBarsH6) return (0); // Âîçâðàùàåì íîëü â ñëó÷àå îøèáêè.
else // Åñëè íîìåð áàðà íàõîäèòñÿ â ïðåäåëàõ èñòîðèè, èùåì åãî.
{
for (i = 0, ShiftH6 = -1; i < iBarsH1; i++) // Öèêë ïî íîìåðàì ìåñÿ÷íûõ áàðîâ.
{
iTimeH1 = iTime (symbol, PERIOD_H1, i); // Âðåìÿ îòêðûòèÿ ÷àñîâîãî áàðà.
if (i > 0) // Íà ïåðâîé èòåðàöèè íå ïðîâåðÿì ñóòîê.
{// Åñëè ñìåíèëèñü ñóòêè, èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ. Ìîæåò ïðèãîäèòüñÿ ïðè îòñóòñòâèè áàðîâ âíóòðè äíÿ è íåñêîëüêèõ äíåé ïîäðÿä (äûðû â èñòîðèè).
if (MathMod (TimeDay (iTimeH1), TimeDay (iTime (symbol, PERIOD_H1, i - 1))) != 0)
{
Switch_H1 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ ïåðâîãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ âòîðîãî øåñòè÷àñîâîãî áàðà.
Switch_H3 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ òðåòüîãî øåñòè÷àñîâîãî áàðà.
Switch_H4 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ ÷åòâ¸ðòîãî øåñòè÷àñîâîãî áàðà.
}
}
// Ïåðåêëþ÷àåì ïî ÷àñàì ñóòîê.
switch (TimeHour (iTimeH1))
{//----×àñîâûå áàðû 4-ãî øåñòè÷àñîâîãî áàðà.---------------------------------------------------------------------------------------------------------
case 23:
case 22:
case 21:
case 20:
case 19:
case 18:
{
Switch_H3 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 3-ãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 2-ãî øåñòè÷àñîâîãî áàðà.
Switch_H1 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 1-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H4 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
ShiftH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
FirstH1 = 18; // Íîìåð ïåðâîãî ÷àñà â 6-è ÷àñîâîì áàðå.
Switch_H4 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//----×àñîâûå áàðû 3-ãî øåñòè÷àñîâîãî áàðà.---------------------------------------------------------------------------------------------------------
case 17:
case 16:
case 15:
case 14:
case 13:
case 12:
{
Switch_H4 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 4-ãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 2-ãî øåñòè÷àñîâîãî áàðà.
Switch_H1 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 1-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H3 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
ShiftH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
FirstH1 = 12; // Íîìåð ïåðâîãî ÷àñà â 6-è ÷àñîâîì áàðå.
Switch_H3 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//----×àñîâûå áàðû 2-ãî øåñòè÷àñîâîãî áàðà.---------------------------------------------------------------------------------------------------------
case 11:
case 10:
case 9:
case 8:
case 7:
case 6:
{
Switch_H4 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 4-ãî øåñòè÷àñîâîãî áàðà.
Switch_H3 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 3-ãî øåñòè÷àñîâîãî áàðà.
Switch_H1 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 1-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H2 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
ShiftH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
FirstH1 = 6; // Íîìåð ïåðâîãî ÷àñà â 6-è ÷àñîâîì áàðå.
Switch_H2 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//----×àñîâûå áàðû 1-ãî øåñòè÷àñîâîãî áàðà.---------------------------------------------------------------------------------------------------------
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
{
Switch_H4 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 4-ãî øåñòè÷àñîâîãî áàðà.
Switch_H3 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 3-ãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 2-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H1 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
ShiftH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
FirstH1 = 0; // Íîìåð ïåðâîãî ÷àñà â 6-è ÷àñîâîì áàðå.
Switch_H1 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//--------------------------------------------------------------------------------------------------------------------------------------------------
}
if (shift == ShiftH6) // Åñëè íàøëè íóæíûé áàð.
{
for (l = 0; l < 6; i++, l++) // Èùèì ïåðâûé ìåñÿ÷íûé áàð êâàðòàëüíîãî áàðà.
{
iTimeH1 = iTime (symbol, PERIOD_H1, i); // Âðåìÿ îòêðûòèÿ òåêóùåãî ÷àñîâîãî áàðà.
iTimeH1_1 = iTime (symbol, PERIOD_H1, i + 1); // Âðåìÿ îòêðûòèÿ ñëåäóþùåãî ÷àñîâîãî áàðà.
ArLowH1[l] = iLow (symbol, PERIOD_H1, i); // Ñêëàäûâàåì ìèíèìàëüíûå öåíû ìåñÿ÷íûûõ áàðîâ â òåõíè÷åñêèé ìàññèâ.
// Äëÿ ïåðâîãî áàðà ïåðâîãî 6-è ÷àñîâîãî áàðà â ñóòêè îñîáûå óñëîâèÿ ïðîâåðêè íà÷àëà.
if (FirstH1 == 0) {if (TimeHour (iTimeH1_1) > 5 || TimeDay (iTimeH1) != TimeDay (iTimeH1_1)) break;} // Îñòàíàâëèâàåì öèêë, åñëè ñëåäóþùèé áàð íàõîäèòñÿ â äðóãèõ ñóòêàõ èëè ìåñÿöå.
else {if (TimeHour (iTimeH1_1) < FirstH1 || TimeDay (iTimeH1) != TimeDay (iTimeH1_1)) break;} // Îñòàíàâëèâàåì öèêë, åñëè ñëåäóþùèé áàð íàõîäèòñÿ â äðóãèõ ñóòêàõ èëè ìåñÿöå.
}
return (ArLowH1[ArrayMinimum (ArLowH1, l + 1, 0)]); // Âîçâðàùàåì ìèíèìàëüíóþ öåíó êâàðòàëüíîãî áàðà.
}
}
}
}
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
// 7. Öåíà çàêðûòèÿ âûáðàííîãî áàðà â ÒÔ H6.
double iClose_H6 (string symbol, // Ñèìâîëüíîå èìÿ èíñòðóìåíòà.
int shift) // Íîìåð áàðà.
{
bool Switch_H1 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ ïåðâîãî øåñòè÷àñîâîãî áàðà.
bool Switch_H2 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ âòîðîãî øåñòè÷àñîâîãî áàðà.
bool Switch_H3 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ òðåòüîãî øåñòè÷àñîâîãî áàðà.
bool Switch_H4 = true; // Âûêëþ÷àòåëü ñ÷¸ò÷èêà øåñòè÷àñîâûõ áàðîâ äëÿ ÷åòâ¸ðòîãî øåñòè÷àñîâîãî áàðà.
datetime iTimeH1; // Âðåìÿ îòêðûòèÿ ÷àñîâîãî áàðà.
int i;
int iBarsH1 = iBars (symbol, PERIOD_H1); // Êîëè÷åñòâî áàðîâ â ÒÔ H1 òåêóùåãî èíñòðóìåíòà.
int iBarsH6 = iBars_H6 (symbol); // Êîëè÷åñòâî áàðîâ èëè íîìåð áàðà â ÒÔ H6.
// Ïðîâåðêà íà íåêîððåêòíîå çíà÷åíèå íàìåðà áàðà.
if (0 > shift || shift >= iBarsH6) return (0); // Âîçâðàùàåì íîëü â ñëó÷àå îøèáêè.
else // Åñëè íîìåð áàðà íàõîäèòñÿ â ïðåäåëàõ èñòîðèè, èùåì åãî.
{
iBarsH1 = iBars (symbol, PERIOD_H1); // Êîëè÷åñòâî áàðîâ â ÒÔ H1 òåêóùåãî èíñòðóìåíòà.
for (i = 0, iBarsH6 = -1; i < iBarsH1; i++)
{
iTimeH1 = iTime (symbol, PERIOD_H1, i); // Âðåìÿ îòêðûòèÿ ÷àñîâîãî áàðà.
if (i > 0) // Íà ïåðâîé èòåðàöèè íå ïðîâåðÿì ñóòîê.
{// Åñëè ñìåíèëèñü ñóòêè, èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ. Ìîæåò ïðèãîäèòüñÿ ïðè îòñóòñòâèè áàðîâ âíóòðè äíÿ è íåñêîëüêèõ äíåé ïîäðÿä (äûðû â èñòîðèè).
if (MathMod (TimeDay (iTimeH1), TimeDay (iTime (symbol, PERIOD_H1, i - 1))) != 0)
{
Switch_H1 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ ïåðâîãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ âòîðîãî øåñòè÷àñîâîãî áàðà.
Switch_H3 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ òðåòüîãî øåñòè÷àñîâîãî áàðà.
Switch_H4 = true; // Èíèöèàëèçèðóåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ ÷åòâ¸ðòîãî øåñòè÷àñîâîãî áàðà.
}
}
// Ïåðåêëþ÷àåì ïî ÷àñàì ñóòîê.
switch (TimeHour (iTimeH1))
{//----×àñîâûå áàðû 4-ãî øåñòè÷àñîâîãî áàðà.---------------------------------------------------------------------------------------------------------
case 23:
case 22:
case 21:
case 20:
case 19:
case 18:
{
Switch_H3 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 3-ãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 2-ãî øåñòè÷àñîâîãî áàðà.
Switch_H1 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 1-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H4 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
iBarsH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
Switch_H4 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//----×àñîâûå áàðû 3-ãî øåñòè÷àñîâîãî áàðà.---------------------------------------------------------------------------------------------------------
case 17:
case 16:
case 15:
case 14:
case 13:
case 12:
{
Switch_H4 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 4-ãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 2-ãî øåñòè÷àñîâîãî áàðà.
Switch_H1 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 1-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H3 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
iBarsH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
Switch_H3 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//----×àñîâûå áàðû 2-ãî øåñòè÷àñîâîãî áàðà.---------------------------------------------------------------------------------------------------------
case 11:
case 10:
case 9:
case 8:
case 7:
case 6:
{
Switch_H4 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 4-ãî øåñòè÷àñîâîãî áàðà.
Switch_H3 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 3-ãî øåñòè÷àñîâîãî áàðà.
Switch_H1 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 1-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H2 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
iBarsH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
Switch_H2 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//----×àñîâûå áàðû 1-ãî øåñòè÷àñîâîãî áàðà.---------------------------------------------------------------------------------------------------------
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
{
Switch_H4 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 4-ãî øåñòè÷àñîâîãî áàðà.
Switch_H3 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 3-ãî øåñòè÷àñîâîãî áàðà.
Switch_H2 = true; // Ðàçðåøàåì ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ äëÿ 2-ãî øåñòè÷àñîâîãî áàðà.
if (Switch_H1 == true) // Åñëè ñ÷¸ò÷èê ðàçðåø¸í.
{
iBarsH6++; // Ñ÷èòàåì êâàðòàëüíûé áàð.
Switch_H1 = false; // Çàïðåùàåì ñ÷èòàòü áàðû â ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
break; // Âûõîäèì èç ïåðåêëþ÷àòåëÿ.
}
else continue; // Ñ÷¸ò÷èê øåñòè÷àñîâûõ áàðîâ çàïðåù¸í, ïåðåõîäèì ê ñëåäóþùåé èòåðàöèè ïî ìåñÿ÷íûì áàðàì.
}
//--------------------------------------------------------------------------------------------------------------------------------------------------
}
if (shift == iBarsH6) return (iClose (symbol, PERIOD_H1, i)); // Åñëè íàøëè íóæíûé áàð. Âîçâðàùàåì âðåìÿ çàêðûòèÿ ÷àñîâîãî áàðà.
}
}
}
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
// 8. Âîçâðàùàåò òåêóùèé íîìåð øåñòè÷àñîâîãî áàðà â ñóòêàõ ïîñëåäíåãî èçâåñòíîãî ñåðâåðíîãî âðåìåíè.
int Hour6()
{
switch (Hour())
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5: return (1);
case 6:
case 7:
case 8:
case 9:
case 10:
case 11: return (2);
case 12:
case 13:
case 14:
case 15:
case 16:
case 17: return (3);
case 18:
case 19:
case 20:
case 21:
case 22:
case 23: return (4);
}
}
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
// 8. Âîçâðàùàåò òåêóùèé íîìåð øåñòè÷àñîâîãî áàðà â ñóòêàõ ïîñëåäíåãî èçâåñòíîãî ñåðâåðíîãî âðåìåíè.
int TimeHour6 (datetime time)
{
switch (TimeHour (time)) // Äàòà, ïðåäñòàâëåííàÿ â âèäå êîëè÷åñòâà ñåêóíä, ïðîøåäøèõ ïîñëå 00:00 1 ÿíâàðÿ 1970 ãîäà.
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5: return (1);
case 6:
case 7:
case 8:
case 9:
case 10:
case 11: return (2);
case 12:
case 13:
case 14:
case 15:
case 16:
case 17: return (3);
case 18:
case 19:
case 20:
case 21:
case 22:
case 23: return (4);
}
}
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
Comments