//+------------------------------------------------------------------+ //| ShowStocksBGTest.mq5 | //| Copyright 2014, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2014, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" #property description "Project Stocks" #property indicator_chart_window #property indicator_buffers 1 #property indicator_plots 1 //--- #include "CGOStocksContainer.mqh" //--- input int ipt_top=0; // Top indent input int ipt_down=20; // Bottom indent input int ipt_scheme=0; // Color scheme input int ipt_total=4; // Number of days to show //--- CGOStocksContainer *m_daily_stocks; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ string SetPrefix(void) { string prefix=""; int period_current=Period(); switch(period_current) { case PERIOD_M15: prefix="StocksM15_"+_Symbol+"_"; break; case PERIOD_M12: prefix="StocksM12_"+_Symbol+"_"; break; case PERIOD_M10: prefix="StocksM10_"+_Symbol+"_"; break; case PERIOD_M6: prefix="StocksM6_"+_Symbol+"_"; break; case PERIOD_M5: prefix="StocksM5_"+_Symbol+"_"; break; case PERIOD_M4: prefix="StocksM15_"+_Symbol+"_"; break; case PERIOD_M3: prefix="StocksM3_"+_Symbol+"_"; break; case PERIOD_M2: prefix="StocksM2_"+_Symbol+"_"; break; case PERIOD_M1: prefix="StocksM1_"+_Symbol+"_"; break; }; return(prefix); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int GetMultipier(void) { int period_current=Period(); int divisor=1; switch(period_current) { case PERIOD_M15: divisor=15; break; case PERIOD_M12: divisor=12; break; case PERIOD_M10: divisor=10; break; case PERIOD_M6: divisor=6; break; case PERIOD_M5: divisor=5; break; case PERIOD_M4: divisor=4; break; case PERIOD_M3: divisor=3; break; case PERIOD_M2: divisor=2; break; case PERIOD_M1: divisor=1; break; }; return(60/divisor); } datetime DTime[]; string debug=""; bool stop_running=false; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { // CHART Period must be equal or less than 15 minutes if(Period()>PERIOD_M15) { stop_running=true; return(INIT_SUCCEEDED); } ArraySetAsSeries(DTime,true); ArrayResize(DTime,ipt_total); //--- indicator buffers mapping string aPrefix=SetPrefix(); for(int i=0;i