Files
All-MQL5-code/Experts/Articles/481/demo_csymbolinfo.mq5
T
2018-03-14 11:26:36 +01:00

70 lines
3.0 KiB
Plaintext

//+------------------------------------------------------------------+
//| Demo_CSymbolInfo.mq5 |
//| Copyright 2012, MetaQuotes Software Corp. |
//| http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link "http://www.mql5.com"
#property version "1.00"
#include<Trade\SymbolInfo.mqh>
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- object for receiving symbol settings
CSymbolInfo symbol_info;
//--- set the name for the appropriate symbol
symbol_info.Name(_Symbol);
//--- receive current rates and display
symbol_info.RefreshRates();
Print(symbol_info.Name()," (",symbol_info.Description(),")",
" Bid=",symbol_info.Bid()," Ask=",symbol_info.Ask());
//--- receive minimum freeze levels for trade operations
Print("StopsLevel=",symbol_info.StopsLevel()," pips, FreezeLevel=",
symbol_info.FreezeLevel()," pips");
//--- receive the number of decimal places and point size
Print("Digits=",symbol_info.Digits(),
", Point=",DoubleToString(symbol_info.Point(),symbol_info.Digits()));
//--- spread data
Print("SpreadFloat=",symbol_info.SpreadFloat(),", Spread(current)=",
symbol_info.Spread()," pips");
//--- request order execution type for limitations
Print("Limitations for trade operations: ",EnumToString(symbol_info.TradeMode()),
" (",symbol_info.TradeModeDescription(),")");
//--- clarifying trades execution mode
Print("Trades execution mode: ",EnumToString(symbol_info.TradeExecution()),
" (",symbol_info.TradeExecutionDescription(),")");
//--- clarifying contracts price calculation method
Print("Contract price calculation: ",EnumToString(symbol_info.TradeCalcMode()),
" (",symbol_info.TradeCalcModeDescription(),")");
//--- contracts' size
Print("Standard contract size: ",symbol_info.ContractSize(),
" (",symbol_info.CurrencyBase(),")");
//--- minimum and maximum volumes in trade operations
Print("Volume info: LotsMin=",symbol_info.LotsMin()," LotsMax=",symbol_info.LotsMax(),
" LotsStep=",symbol_info.LotsStep());
//--- final display
Print(__FUNCTION__," completed");
//---
return(0);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
}
//+------------------------------------------------------------------+