//+------------------------------------------------------------------+ //| _MarketInfo.mq5 | //| Copyright 2013, www.TFmt5.com | //| http://www.TFmt5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2013, www.TFmt5.com" #property link "http://www.TFmt5.com" #property version "1.00" #property indicator_chart_window //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping //--- return(0); } datetime iTimeBuffer[]; datetime iTime(int shift) { ArraySetAsSeries(iTimeBuffer,true); datetime lastbartime; if ( CopyTime(_Symbol,_Period,0,2,iTimeBuffer) > 0 ) { lastbartime = iTimeBuffer[shift]; } else lastbartime = NULL; return(lastbartime); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[]) { //--- double _ticksize = SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE); double _tickvalue = SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE); double _digits = Digits(); double _point = Point(); double _lotsize = SymbolInfoDouble(_Symbol,SYMBOL_TRADE_CONTRACT_SIZE); double _lotstep = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_STEP); double _maxlot = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MAX); double _min_lot = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN); double _close = SymbolInfoDouble(_Symbol,SYMBOL_SESSION_CLOSE); double _bid = SymbolInfoDouble(_Symbol,SYMBOL_BID); double _ask = SymbolInfoDouble(_Symbol,SYMBOL_ASK); int total = PositionsTotal(); double account = AccountInfoDouble(ACCOUNT_BALANCE); double equity = AccountInfoDouble(ACCOUNT_EQUITY); double margin_per = AccountInfoDouble(ACCOUNT_MARGIN_LEVEL); double freemargin = AccountInfoDouble(ACCOUNT_FREEMARGIN); double initial = SymbolInfoDouble(_Symbol,SYMBOL_MARGIN_INITIAL); datetime lastbar = iTime(1); string ticks = "TickSize: "+_ticksize+" TickValue: "+_tickvalue+" Digits: "+_digits+" Point: "+_point; string lots = "LotSize: "+_lotsize+" LotStep: "+_lotstep+" MaxLots: "+_maxlot+" MinLots: "+_min_lot; string prices = "Last Close: "+_close+" Bid: "+_bid+" Ask: "+_ask+" Positions: "+total;//+" ATR: "+ATRcheck; string stuff = "Account: "+account+" Equity: "+equity+" Margin %: "+margin_per+" Free Margin: "+freemargin+" Initial Margin: "+initial; string time = "Last Completed Bar time: " + TimeToString(lastbar,TIME_DATE|TIME_MINUTES|TIME_SECONDS); Comment(ticks+"\n"+lots+"\n"+prices+"\n"+stuff+"\n"+time); //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Custom indicator function code run when indicator removed | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { Comment(" "); } //+------------------------------------------------------------------+