Price Data Components
Miscellaneous
0
Views
0
Downloads
0
Favorites
Axel-Pivot
//+-------------------------------------------------------------------+
//| MF_Pivot AXEL 0-2254.mq4 |
//| Copyright © YuraZ-VAF-Zhunko-Nestor|
//| MF YURAZ yzh@mail.ru |
//| MF VAF vazh-af@inbox.ru |
//| MF ZHUNKO zhunko@mail.ru |
//| MF NESTOR a_nesterchuk@mail.ru |
//+-------------------------------------------------------------------+
//| Èäèêàòîð ðàçðàáîòàí ïî ìàòåðèàëàì ÀÊÀÄÅÌÈÈ ÌÔ. |
//| ÈÑÏÐÀÂËÅÍÍÀß ÂÅÐÑÈß. |
//| Ñîâïàäàåò ñ òî÷íîñòüþ 5ï ñ óðîâíÿìè DJ îò Axel Rudolph ! |
//| Áåðåò äàííûå ñ M1. |
//| ÂÍÈÌÀÅÍÈÅ! |
//| Åñëè âàøå ÄÖ äà¸ò íå òî÷íûå êîòèðîâêè - PIVOT íå áóäåò ñîâïàäàòü. |
//+-------------------------------------------------------------------+
//| ÈÇÌÅÍÅÍÈß è ÄÎÏÎËÍÅÍÈß. |
//| 1.Äîïîëíåíèÿ â âåðñèè MF_Pivot AXEL 0-101 îò 06.09.2006 . |
//| 1.1.Âîçìîæíî ïåðåìåùåíèå âñåé íàäïèñè ïî ýêðàíó êîîðäèíàòàìè XY |
//| 1.2.Ââåäåíû íàñòðîéêè ïî óìîë÷àíèþ. |
//| 1.3.Ââåäåíà íàñòðîéêà öâåòà òåêñòà. |
//| 2.Äîïîëíåíèÿ â âåðñèè MF_Pivot AXEL 0-102 îò 08.09.2006 . |
//| 2.1.Èñïðàâëåíà îøèáêà îòðèñîâêè ëèíèè â íåêîòîðûõ òåðìèíàëàõ. |
//| 3.Äîïîëíåíèÿ â âåðñèè MF_Pivot AXEL 0-103 îò 09.09.2006 . |
//| 3.1.Èçìåí¸í ïåðåêëþ÷àòåëü âûâîäà òåêñòà íà ëîãè÷åñêèé. |
//| 3.2.Èçìåíåíû íàçâàíèÿ âíåøíèõ ïåðåìåííûõ. |
//| 3.3.Ââåäåíû îòñóòñòâóþùèå êîìåíòàðèè â èñõîäíèê. |
//| 3.4.Èçìåíåíà íàñòðîéêà ðàçíèöû âðåìåíè ìåæäó ÌÒ4 è GMT. |
//| 4.Äîïîëíåíèÿ â âåðñèè MF_Pivot AXEL 0-113 îò 14.09.2006 . |
//| 4.1.Ââåäíà íå÷óâñòâèòåëåííîñòü ê ïðîïóùåííûì áàðàì. |
//| 5.Äîïîëíåíèÿ â âåðñèè MF_Pivot AXEL 0-114 îò 17.09.2006 . |
//| 5.1.Óïðîùåíû íàñòðîéêè âðåìåíè êîíöà ïåðèîäà ðàñ÷¸òà è âðåìåíè |
//| íà÷àëà îòðèñîâêè ëèíèè. |
//| 5.2.Íà âàëþòíûõ ïàðàõ, ñîäåðæàùèõ JPY, â òåêñòîâîé ñòðîêå öèôðîâîå|
//| çíà÷åíèå ïîñëå çàïÿòîé ñîäåðæèò äâà çíàêà. Íà îñòàëüíûõ |
//| âàëþòíûõ ïàðàõ - ÷åòûðå. |
//| 6.Äîïîëíåíèÿ â âåðñèè MF_Pivot AXEL 0-214 îò 18.09.2006 . |
//| 6.1 Äîðàáîòêà âûâîäà êîëè÷åñòâà çíàêîâ äëÿ âàëþòíûõ ïàð â |
//| òåêñòîâîì îòîáðàæåíèè. |
//| 7.Äîïîëíåíèÿ â âåðñèè MF_Pivot AXEL 0-224 îò 19.09.2006 . |
//| 7.1.Óñòðàíåíà îøèáêà íà÷àëà ðàñ÷¸òà â ïîíåäåëüíèê. |
//| 8.Äîïîëíåíèÿ â âåðñèè MF_Pivot AXEL 0-225 îò 24.09.2006 . |
//| 8.1.Óñòðàíåíà îøèáêà íà÷àëà ðàñ÷¸òà â àçèàòñêóþ ñåññèþ. |
//| 8.2.Ïðè îòñóòñòâèè äàííûõ äëÿ ðàñ÷¸òà âìåñòî "99999999,0000" |
//| âûâîäèòñÿ "0,0000". |
//| 9.Äîïîëíåíèÿ â âåðñèè MF_Pivot AXEL 0-2254 îò 06.10.2006 . |
//| 9.1.Êîððåêòíîå îòîáðàæåíèå ïîêàçàíèé â çàâèñèìîñòè îò èçìåíåíèÿ |
//| ïàðàìåòðîâ ñòàðòà ðàñ÷¸òà. |
//| 9.2.Îïòèìèçàöèÿ êîäà ïðåîáðàçîâàíèé. |
//| 9.3.Èçìåíåíèå àëãîðèòìà ðàñ÷¸òà ìèíèìóìîâ è ìàêñèìóìîâ ñåññèé. |
//+-------------------------------------------------------------------+
#property copyright "Copyright © 2006 YuraZ-VAF-Zhunko-Nestor"
#property link "yzh@mail.ru ; vazh-af@inbox.ru ; zhunko@mail.ru ; a_nesterchuk@mail.ru"
#property indicator_chart_window
#property indicator_buffers 1
//Öâåò ïî óìîë÷àíèþ.
#property indicator_color1 Lavender
//Ñòèëü ïî óìîë÷àíèþ.
#property indicator_style1 STYLE_DASH
//Òîëùèíà ëèíèè ïî óìîë÷àíèþ.
#property indicator_width1 1
//----Ëîêàëèçàöèÿ---------------------------------------------------------------------------------------------------------------------------------
extern int Äíåé = 7; // Êîëè÷åñòâî ðàñ÷èòûâàåìûõ äíåé.
extern double Âðåìÿ_ÄÖ = 2; // Ðàçíèöà âî âðåìåíè ìåæäó ÌÒ4 è GMT.
extern bool Time_Summer = false; // true - ëåòíåå âðåìÿ / false - çèìíåå âðåìÿ.
//----Íàñòðîéêà äëèíû ïåðèîäà ðàñ÷¸òà-------------------------------------------------------------------------------------------------------------
extern double Asia_ïåðèîä_ðàñ÷¸òà_÷àñ = 12 ; // Ïåðèîä ðàñ÷¸òà â ÷àñàõ äëÿ Àçèè.
extern double Europe_ïåðèîä_ðàñ÷¸òà_÷àñ = 9 ; // Ïåðèîä ðàñ÷¸òà â ÷àñàõ äëÿ Åâðîïû.
extern double USA_ïåðèîä_ðàñ÷¸òà_÷àñ = 6 ; // Ïåðèîä ðàñ÷¸òà â ÷àñàõ äëÿ Àìåðèêè.
//----Íàñòðîéêà âðåìåíè êîíöà ïåðèîäà ðàñ÷¸òà è âðåìåíè íà÷àëà îòðèñîâêè ëèíèè--------------------------------------------------------------------
extern string Start_ASIA = "00:15" ; // Âðåìÿ êîíöà ïåðèîäà ðàñ÷¸òà äëÿ Àçèè ïî GMT.
// Âðåìÿ íà÷àëà îòðèñîâêè ëèíèè "PIVOT DJ ASIA" (ó÷èòûâàþòñÿ òîëüêî ÷àñû, ìèíóòû îòáðàñûâàþòñÿ).
extern string Start_EUROPE_Winter = "06:15" ; // Âðåìÿ êîíöà ïåðèîäà ðàñ÷¸òà äëÿ Åâðîïû ïî GMT.
// Âðåìÿ íà÷àëà îòðèñîâêè ëèíèè "PIVOT DJ EUROPE" (ó÷èòûâàþòñÿ òîëüêî ÷àñû, ìèíóòû îòáðàñûâàþòñÿ).
extern string Start_USA_Winter = "12:00" ; // Âðåìÿ êîíöà ïåðèîäà ðàñ÷¸òà äëÿ Àìåðèêè ïî GMT.
// Âðåìÿ íà÷àëà îòðèñîâêè ëèíèè "PIVOT DJ USA" (ó÷èòûâàþòñÿ òîëüêî ÷àñû, ìèíóòû îòáðàñûâàþòñÿ).
//----Íàñòðîéêà îòîáðàæåíèÿ-----------------------------------------------------------------------------------------------------------------------
extern int Óãîë = 0 ; // Ðàñïîëîæåíèå èíäèêàòîðà : 0 = ñâåðõó ñëåâà, 1 = ñâåðõó ñïðàâà, 2 = ñíèçó ñëåâà, 3 = ñíèçó ñïðàâà.
extern int XD = 250 ; // Ñìåùåíèå îò óãëà ïî X.
extern int YD = 0 ; // Ñìåùåíèå îò óãëà ïî Y.
extern bool TEXT_Visible = true ; // true - îòîáðàæàòü òåêñò; false - íå îòîáðàæàòü òåêñò.
extern color TextColor = Lavender ; // Öâåò òåêñòà.
//================================================================================================================================================
double nClose = 0 ;
double nPivot = 0 ;
double nMaxHigh = 0 ;
double nMinLow = 0 ;
//---------------------------------------------------------------
double PBuffer[];
//---------------------------------------------------------------
static string ss1 = "Asia DJ Pivot" ;
static string ss2 = "Europe DJ Pivot" ;
static string ss3 = "Usa DJ Pivot" ;
static string ss4 = "Downloads" ;
//===============================================================
int init()
{
if ( TEXT_Visible == true )
{
ObjectCreate(ss4, OBJ_LABEL, 0, 0, 0);
ObjectSet(ss4, OBJPROP_XDISTANCE, XD);
ObjectSet(ss4, OBJPROP_YDISTANCE, YD);
ObjectSet(ss4, OBJPROP_CORNER, Óãîë);
ObjectCreate(ss1, OBJ_LABEL, 0, 0, 0);
ObjectSet(ss1, OBJPROP_XDISTANCE, XD);
ObjectSet(ss1, OBJPROP_YDISTANCE, 10+YD);
ObjectSet(ss1, OBJPROP_CORNER, Óãîë);
ObjectCreate(ss2, OBJ_LABEL, 0, 0, 0);
ObjectSet(ss2, OBJPROP_XDISTANCE, XD);
ObjectSet(ss2, OBJPROP_YDISTANCE, 20+YD);
ObjectSet(ss2, OBJPROP_CORNER, Óãîë);
ObjectCreate(ss3, OBJ_LABEL, 0, 0, 0);
ObjectSet(ss3, OBJPROP_XDISTANCE, XD);
ObjectSet(ss3, OBJPROP_YDISTANCE, 30+YD);
ObjectSet(ss3, OBJPROP_CORNER, Óãîë);
}
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,PBuffer);
return(0);
}
//===============================================================
int deinit()
{
if ( TEXT_Visible == true )
{
ObjectDelete(ss4);
ObjectDelete(ss1);
ObjectDelete(ss2);
ObjectDelete(ss3);
}
return(0);
}
//===============================================================
void funPivot(int pDay, int pMonth, int pYear, double PeriodHour, double hourMT4, double minuteMT4)
{
datetime dTimeMT4end;
datetime dTimeMT4begin;
string sTimeMT4 = StringConcatenate(DoubleToStr( pYear, 0),".",DoubleToStr( pMonth , 0),".",DoubleToStr( pDay , 0)," ",
DoubleToStr( hourMT4, 0),":",DoubleToStr( minuteMT4, 0) ) ;
dTimeMT4end = StrToTime(sTimeMT4);
dTimeMT4begin = dTimeMT4end - PeriodHour*3600+60 ;
if (TimeDayOfWeek (dTimeMT4begin) ==0)
dTimeMT4begin = dTimeMT4begin - 172800;
int shiftend=iBarShift(NULL,PERIOD_M1,dTimeMT4end);
int shiftbegin=iBarShift(NULL,PERIOD_M1,dTimeMT4begin);
nMinLow =iLow(NULL,PERIOD_M1,Lowest ( NULL, PERIOD_M1, MODE_LOW, shiftbegin-shiftend, shiftend));
nMaxHigh= iHigh(NULL,PERIOD_M1,Highest( NULL, PERIOD_M1, MODE_HIGH, shiftbegin-shiftend, shiftend));
nClose=iClose(NULL,PERIOD_M1,shiftend);
nPivot = (nMaxHigh+nMinLow+nClose)/3;
return;
}
//================================================================
int start()
{
int mDay;
int mMonth ;
int mYear ;
string mYearMonthDay;
//----------------------------------------------------------------
static double PeriodHour_ ; // = Asia_ïåðèîä_ðàñ÷¸òà_÷àñ;
static double hourMT4_ ; // = Asia_êîíåö_ïåðèîäà_MT4_÷àñ;
static double minuteMT4_ ; // = Asia_êîíåö_ïåðèîäà_MT4_ìèí;
static double nPivotEurope; // = nPivot;
static double nMaxHighE ; // = nMaxHigh;
static double nMinLowE ; // = nMinLow;
static double nCloseE ; // = nClose;
static double nPivotUSA ; // = nPivot;
static double nMaxHighU ; // = nMaxHigh;
static double nMinLowU ; // = nMinLow;
static double nCloseU ; // = nClose;
static double nPivotASIA ; // = nPivot;
static double nMaxHighA ; // = nMaxHigh;
static double nMinLowA ; // = nMinLow;
static double nCloseA ; // = nClose;
//-----------------------------------------------------------------
datetime mDatBegin;
if (Bars != IndicatorCounted())
{
if (Äíåé == 0 )
{
deinit();
return(0);
}
else
{
mDatBegin = StrToTime(StringConcatenate(TimeToStr(CurTime(),TIME_DATE)," 00:00")) - ((Äíåé-1) * 86400);
}
//==================================================================
for ( int i =0; mDatBegin < CurTime(); mDatBegin += 86400 )
{
mYear = TimeYear( mDatBegin);
mMonth = TimeMonth( mDatBegin);
mDay = TimeDay( mDatBegin);
mYearMonthDay = StringConcatenate(DoubleToStr (mYear,0) , "." , DoubleToStr (mMonth, 0) , "." , DoubleToStr (mDay , 0));
//----------------------------------------------------------------------------------------------------------------------------------------------------------------
Start_ASIA=StringTrimRight(StringTrimLeft(Start_ASIA));
Start_EUROPE_Winter=StringTrimRight(StringTrimLeft(Start_EUROPE_Winter));
Start_USA_Winter=StringTrimRight(StringTrimLeft(Start_USA_Winter));
if (Time_Summer==true) int TWS =1;
else TWS=0;
int Asia_end_MT4_hour = StrToDouble(StringSubstr(Start_ASIA, 0, 2)) + Âðåìÿ_ÄÖ;
int Asia_end_MT4_min = StrToDouble(StringSubstr(Start_ASIA, 3, 2)) ;
int Europe_end_MT4_hour_pivot = StrToDouble (StringSubstr(Start_EUROPE_Winter, 0, 2)) + Âðåìÿ_ÄÖ;
int Europe_end_MT4_hour_session = StrToDouble (StringSubstr(Start_EUROPE_Winter, 0, 2)) + Âðåìÿ_ÄÖ - TWS;
int Europe_end_MT4_min = StrToDouble (StringSubstr(Start_EUROPE_Winter, 3, 2)) ;
int USA_end_MT4_hour_pivot = StrToDouble (StringSubstr(Start_USA_Winter, 0, 2)) + Âðåìÿ_ÄÖ - TWS;
int USA_end_MT4_hour_session = StrToDouble (StringSubstr(Start_USA_Winter, 0, 2)) + Âðåìÿ_ÄÖ - TWS;
int USA_end_MT4_min = StrToDouble (StringSubstr(Start_USA_Winter, 3, 2)) ;
//----------------------------------------------------------------------------------------------------------------------------------------------------------------*/
PeriodHour_ = Asia_ïåðèîä_ðàñ÷¸òà_÷àñ;
hourMT4_ = Asia_end_MT4_hour;
minuteMT4_ = Asia_end_MT4_min;
funPivot( mDay, mMonth ,mYear ,PeriodHour_, hourMT4_, minuteMT4_);
nPivotASIA = nPivot;
nMaxHighA = nMaxHigh;
nMinLowA = nMinLow;
nCloseA = nClose;
//----------------------------------------------
PeriodHour_ = Europe_ïåðèîä_ðàñ÷¸òà_÷àñ;
hourMT4_ = Europe_end_MT4_hour_pivot;
minuteMT4_ = Europe_end_MT4_min;
funPivot(mDay, mMonth,mYear,PeriodHour_, hourMT4_, minuteMT4_);
nPivotEurope = nPivot;
nMaxHighE = nMaxHigh;
nMinLowE = nMinLow;
nCloseE = nClose;
//----------------------------------------------
PeriodHour_ = USA_ïåðèîä_ðàñ÷¸òà_÷àñ;
hourMT4_ = USA_end_MT4_hour_pivot;
minuteMT4_ = USA_end_MT4_min;
funPivot(mDay, mMonth,mYear,PeriodHour_, hourMT4_, minuteMT4_);
nPivotUSA = nPivot;
nMaxHighU = nMaxHigh;
nMinLowU = nMinLow;
nCloseU = nClose;
//----------------------------------------------
string DC_ASIA = StringConcatenate(mYearMonthDay , " " , Asia_end_MT4_hour, ":00");
string DC_EUROPE = StringConcatenate(mYearMonthDay , " " , Europe_end_MT4_hour_session, ":00");
string DC_USA = StringConcatenate(mYearMonthDay , " " , USA_end_MT4_hour_session, ":00");
int pPivotBARA = iBarShift (NULL,0,StrToTime (DC_ASIA));
int pPivotBARE = iBarShift (NULL,0,StrToTime (DC_EUROPE));
int pPivotBARU = iBarShift (NULL,0,StrToTime (DC_USA));
int j;
if ( nPivotASIA !=0 )
{
for (j =0 ; j < pPivotBARA; j++)
PBuffer[j] = nPivotASIA ;
}
if ( nPivotEurope !=0)
{
for (j = 0 ; j < pPivotBARE; j++)
PBuffer[j] = nPivotEurope ;
}
if (nPivotUSA !=0 )
{
for (j = 0 ; j < pPivotBARU; j++)
PBuffer[j] = nPivotUSA ;
}
}
if (TEXT_Visible == true )
{
string sPivotASIA = StringConcatenate("PivotAsia =",DoubleToStr(nPivotASIA ,Digits)," High="+DoubleToStr(nMaxHighA,Digits)," Low=",DoubleToStr(nMinLowA,Digits)," Close=",DoubleToStr(nCloseA,Digits)) ;
string sPivotEUROPE = StringConcatenate("PivotEurope=" ,DoubleToStr(nPivotEurope,Digits)," High="+DoubleToStr(nMaxHighE,Digits)," Low=",DoubleToStr(nMinLowE,Digits)," Close=",DoubleToStr(nCloseE,Digits)) ;
string sPivotUSA = StringConcatenate("PivotUSA =" ,DoubleToStr(nPivotUSA ,Digits)," High="+DoubleToStr(nMaxHighU,Digits)," Low=",DoubleToStr(nMinLowU,Digits)," Close="+DoubleToStr(nCloseU,Digits)) ;
ObjectSetText(ss1, sPivotASIA , 8, "Tahoma", TextColor);
ObjectSetText(ss2, sPivotEUROPE , 8, "Tahoma", TextColor);
ObjectSetText(ss3, sPivotUSA , 8, "Tahoma", TextColor);
ObjectSetText(ss4, "Download from www.usd.ucoz.ru", 8, "Tahoma", White);
}
}
return(0);
}
//+------------------------------------------------------------------+
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---