//***********************************************************************// //***********************************************************************// //* Trading Session_Pivots Points(BS).mq4 *// //* Copyright © 2009, BACKSPACE *// //* Ver.1.09. Updating from 14.02.10 *// //***********************************************************************// //***********************************************************************// //* Торгуй тренды *// //* Уменьшай потери *// //* Давай прибыли расти *// //* Управляй рисками *// //***********************************************************************// //***********************************************************************// #property copyright "Copyright © 2009, BACKSPACE" // #property link "Ver.1.09. Updating from 14.02.10" // // #property indicator_chart_window // // //******************// Ввод параметров индикатора extern int NumberOfDays=100; // - количество дней extern double Bold=1; // - толщина линий extern color PivoColor=Blue; // - цвет PivotPoint extern color ResiColor=Green; // - цвет Resistance extern color SuppColor=Red; // - цвет Support //******************// Глобальные переменные int Counter; // - счётчик баров double HighDay, // - максимум дня LowDay, // - минимум дня CloseDay, // - цена закрытия дня Pivot, // - Pivot Res_1, // - Resistanse 1 Sup_1, // - Support 1 Res_2, // - Resistanse 2 Sup_2, // - Support 2 Res_3, // - Resistanse 3 Sup_3; // - Support 3 datetime OpenTimeDay, // - время открытия дня CloseTimeDay; // - время закрытия дня // //***********************************************************************// //**********************-Indicator Initialization-***********************// //***********************************************************************// // void init() // { // //******************// Настройки графического отображения DeleteObjects(); // //******************// Инициализация графических объектов ObjectInit(True); // //*********// return(0); // } // // //***********************************************************************// //********************-Trading_Session_Pivots_Points-********************// //***********************************************************************// // void start() // { // //******************// Проверка работы индикатора if(NumberOfDays>iBars(NULL,1440)||NumberOfDays<0) // { // Alert("Недостаточно информации для работы индикатора."); // return(0); // } // if(ObjectFind("Pivot"+0)==-1) ObjectInit(True); // for(int li=NumberOfDays-1; li>=0; li--) // { // if(li==0) // { // HighDay =iHigh(NULL,1440,1); // - максимум дня LowDay =iLow(NULL,1440,1); // - минимум дня CloseDay =iClose(NULL,1440,1); // - цена закрытия дня Pivot =(HighDay+LowDay+CloseDay)/3; // - Pivot Res_1 =2*Pivot-LowDay; // - Resistanse 1 Sup_1 =2*Pivot-HighDay; // - Support 1 Res_2 =Pivot+(Res_1-Sup_1); // - Resistanse 2 Sup_2 =Pivot-(Res_1-Sup_1); // - Support 2 Res_3 =HighDay+2*(Pivot-LowDay); // - Resistanse 3 Sup_3 =LowDay-2*(HighDay-Pivot); // - Support 3 OpenTimeDay =iTime(NULL,1440,0); // - время открытия дня CloseTimeDay =iTime(NULL,0,0); // - время закрытия дня } // else // { // HighDay =iHigh(NULL,1440,li+1); // - максимум дня LowDay =iLow(NULL,1440,li+1); // - минимум дня CloseDay =iClose(NULL,1440,li+1); // - цена закрытия дня Pivot =(HighDay+LowDay+CloseDay)/3; // - Pivot Res_1 =2*Pivot-LowDay; // - Resistanse 1 Sup_1 =2*Pivot-HighDay; // - Support 1 Res_2 =Pivot+(Res_1-Sup_1); // - Resistanse 2 Sup_2 =Pivot-(Res_1-Sup_1); // - Support 2 Res_3 =HighDay+2*(Pivot-LowDay); // - Resistanse 3 Sup_3 =LowDay-2*(HighDay-Pivot); // - Support 3 OpenTimeDay =iTime(NULL,1440,li); // - время открытия дня CloseTimeDay =iTime(NULL,1440,li-1); // - время закрытия дня } // //******************// Прорисовка объектов DrawObjects("Pivot"+li,OpenTimeDay,CloseTimeDay,Pivot); // DrawObjects("Res_1"+li,OpenTimeDay,CloseTimeDay,Res_1); // DrawObjects("Sup_1"+li,OpenTimeDay,CloseTimeDay,Sup_1); // DrawObjects("Res_2"+li,OpenTimeDay,CloseTimeDay,Res_2); // DrawObjects("Sup_2"+li,OpenTimeDay,CloseTimeDay,Sup_2); // DrawObjects("Res_3"+li,OpenTimeDay,CloseTimeDay,Res_3); // DrawObjects("Sup_3"+li,OpenTimeDay,CloseTimeDay,Sup_3); // } // //******************// Прорисовка текста объектов DrawObjectsText("PivotPoint",Pivot,PivoColor); // DrawObjectsText("Resistance_1",Res_1,ResiColor); // DrawObjectsText("Support_1",Sup_1,SuppColor); // DrawObjectsText("Resistance_2",Res_2,ResiColor); // DrawObjectsText("Support_2",Sup_2,SuppColor); // DrawObjectsText("Resistance_3",Res_3,ResiColor); // DrawObjectsText("Support_3",Sup_3,SuppColor); // //*********// return(0); // } // // //***********************************************************************// //**********************-Indicator Deinitialization-*********************// //***********************************************************************// // void deinit() // { // DeleteObjects(); // //*********// return(0); // } // // //***********************************************************************// //******************************-SubPogramms-****************************// //***********************************************************************// // //******************// Инициализация графических объектов void ObjectInit(bool TruFal) // { // //******************// Создание графических объектов Counter=IndicatorCounted(); // for(int li=NumberOfDays-Counter-1; li>=0; li--) // { // CreateObjects("Pivot"+li, PivoColor); // CreateObjects("Res_1"+li, ResiColor); // CreateObjects("Sup_1"+li, SuppColor); // CreateObjects("Res_2"+li, ResiColor); // CreateObjects("Sup_2"+li, SuppColor); // CreateObjects("Res_3"+li, ResiColor); // CreateObjects("Sup_3"+li, SuppColor); // } // //******************// Создание текстовых объектов CreateObjectsText("PivotPoint"); // CreateObjectsText("Resistance_1"); // CreateObjectsText("Support_1"); // CreateObjectsText("Resistance_2"); // CreateObjectsText("Support_2"); // CreateObjectsText("Resistance_3"); // CreateObjectsText("Support_3"); // } // //******************// Создание графических объектов bool CreateObjects(string obj_name,color obj_color) // { // ObjectCreate(obj_name, OBJ_RECTANGLE, 0, 0,0, 0,0); // ObjectSet(obj_name, OBJPROP_STYLE, STYLE_SOLID); // ObjectSet(obj_name, OBJPROP_COLOR, obj_color); // ObjectSet(obj_name, OBJPROP_BACK, True); // } // // bool CreateObjectsText(string obj_name) //******************// Создание текстовых объектов { // ObjectCreate(obj_name, OBJ_TEXT, 0, 0, 0); // } // // //******************// Прорисовка графических объектов bool DrawObjects(string o_name, datetime ot, datetime ct,double pivot) // { // ObjectSet(o_name, OBJPROP_TIME1 , ot); // ObjectSet(o_name, OBJPROP_PRICE1, pivot+Point*Bold/2); // ObjectSet(o_name, OBJPROP_TIME2 , ct); // ObjectSet(o_name, OBJPROP_PRICE2, pivot-Point*Bold/2); // } // // //******************// Прорисовка текста объектов bool DrawObjectsText(string o_name,double pivot,color obj_color) // { // ObjectSetText(o_name," "+o_name+// " "+DoubleToStr(NormalizeDouble(pivot,4),4), // 10,"Times New Roman",obj_color); // ObjectMove(o_name,0,iTime(NULL,0,0),pivot); // } // // //******************// Удаление графических объектов bool DeleteObjects() // { // for(int li=Bars-1; li>=0; li--) // { // ObjectDelete("Pivot"+li); // ObjectDelete("Res_1"+li); // ObjectDelete("Res_2"+li); // ObjectDelete("Res_3"+li); // ObjectDelete("Sup_1"+li); // ObjectDelete("Sup_2"+li); // ObjectDelete("Sup_3"+li); // ObjectDelete("PivotPoint"); // } // ObjectDelete("PivotPoint"); // ObjectDelete("Resistance_1"); // ObjectDelete("Support_1"); // ObjectDelete("Resistance_2"); // ObjectDelete("Support_2"); // ObjectDelete("Resistance_3"); // ObjectDelete("Support_3"); // } // // //***********************************************************************// //********************************************************************BS*// //***********************************************************************//