//+------------------------------------------------------------------+ //| SynchroChart_sub3.mq4 | //| Copyright 2015, Rondo | //| http://fx-dollaryen.seesaa.net/ | //+------------------------------------------------------------------+ #property copyright "Copyright 2015, Rondo" #property link "http://fx-dollaryen.seesaa.net/" #property version "3.0" #property strict #property indicator_chart_window #define BASIC_LEFT 0 #define BASIC_RIGHT 1 string Global_variable_name1 = "synchro"; string Global_variable_name2 = "synchro_Period"; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init(){ ChartSetInteger(0, CHART_AUTOSCROLL, false); ChartSetInteger(0, CHART_SHIFT, false); EventSetTimer(1); return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit(){ EventKillTimer(); return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { return(0); } //+------------------------------------------------------------------+ void OnTimer(){ if(GlobalVariableCheck(Global_variable_name1) && GlobalVariableCheck(Global_variable_name2)){ int StartBar, Position; datetime StartTime = (datetime)GlobalVariableGet(Global_variable_name1); int mainPeriod = (int)GlobalVariableGet(Global_variable_name2); if(mainPeriod > 0){ StartBar = iBarShift(NULL, 0, StartTime, false); if(mainPeriod >= _Period) Position = -StartBar - 2; else Position = -StartBar - 3; ChartNavigate(0, CHART_END, Position); } else{ StartBar = iBarShift(NULL, 0, StartTime, false); Position = Bars-StartBar-1; ChartNavigate(0, CHART_BEGIN, Position); } } }