UTE/Strategy/SessionInfo.mqh

200 lines
18 KiB
MQL5
Raw Permalink Normal View History

2025-05-30 16:34:43 +02:00
<EFBFBD><EFBFBD>//+------------------------------------------------------------------+
//| SessionInfo.mqh |
//| Copyright 2016, Vasiliy Sokolov. |
//| http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, Vasiliy Sokolov."
#property link "http://www.mql5.com"
//+------------------------------------------------------------------+
//| Session info |
//+------------------------------------------------------------------+
class CSessionInfo
{
private:
string m_symbol;
public:
void Symbol(string symbol);
long DealsTotal(void);
long BuyOrdersTotal(void);
long SellOrdersTotal(void);
long HighVolume(void);
long LowVolume(void);
double BidHigh(void);
double AskHigh(void);
double BidLow(void);
double AskLow(void);
double LastHigh(void);
double LastLow(void);
double VolumeTotal(void);
double TurnoverTotal(void);
double OpenInterestTotal(void);
double BuyOrdersVolume(void);
double SellOrdersVolume(void);
double PriceSessionOpen(void);
double PriceSessionClose(void);
double PriceSessionAverage(void);
double PriceSettlement(void);
double PriceLimitMax(void);
double PriceLimitMin(void);
};
//+------------------------------------------------------------------+
//| Set symbol |
//+------------------------------------------------------------------+
void CSessionInfo::Symbol(string symbol)
{
m_symbol = symbol;
}
//+------------------------------------------------------------------+
//| >;8G5AB2> A45;>: 2 B5:CI59 A5AA88 |
//+------------------------------------------------------------------+
long CSessionInfo::DealsTotal(void)
{
return SymbolInfoInteger(m_symbol, SYMBOL_SESSION_DEALS);
}
//+------------------------------------------------------------------+
//| 1I55 G8A;> >@45@>2 =0 ?>:C?:C 2 B5:CI89 <><5=B |
//+------------------------------------------------------------------+
long CSessionInfo::BuyOrdersTotal(void)
{
return SymbolInfoInteger(m_symbol, SYMBOL_SESSION_BUY_ORDERS);
}
//+------------------------------------------------------------------+
//| 1I55 G8A;> >@45@>2 =0 ?@>406C 2 B5:CI89 <><5=B |
//+------------------------------------------------------------------+
long CSessionInfo::SellOrdersTotal(void)
{
return SymbolInfoInteger(m_symbol, SYMBOL_SESSION_SELL_ORDERS);
}
//+------------------------------------------------------------------+
//| 0:A8<0;L=K9 >1J5< 70 B5:CICN B>@3>2CN A5AA8N |
//+------------------------------------------------------------------+
long CSessionInfo::HighVolume(void)
{
return SymbolInfoInteger(m_symbol, SYMBOL_VOLUMEHIGH);
}
//+------------------------------------------------------------------+
//| 8=8<0;L=K9 >1J5< 70 B5:CICN B>@3>2CN A5AA8N |
//+------------------------------------------------------------------+
long CSessionInfo::LowVolume(void)
{
return SymbolInfoInteger(m_symbol, SYMBOL_VOLUMELOW);
}
//+------------------------------------------------------------------+
//| 0:A8<0;L=K9 Bid 70 45=L |
//+------------------------------------------------------------------+
double CSessionInfo::BidHigh(void)
{
return SymbolInfoDouble(m_symbol, SYMBOL_BIDHIGH);
}
//+------------------------------------------------------------------+
//| 0:A8<0;L=K9 Ask 70 45=L |
//+------------------------------------------------------------------+
double CSessionInfo::AskHigh(void)
{
return SymbolInfoDouble(m_symbol, SYMBOL_ASKHIGH);
}
//+------------------------------------------------------------------+
//| 8=8<0;L=K9 Bid 70 45=L |
//+------------------------------------------------------------------+
double CSessionInfo::BidLow(void)
{
return SymbolInfoDouble(m_symbol, SYMBOL_BIDLOW);
}
//+------------------------------------------------------------------+
//| 8=8<0;L=K9 Ask 70 45=L |
//+------------------------------------------------------------------+
double CSessionInfo::AskLow(void)
{
return SymbolInfoDouble(m_symbol, SYMBOL_ASKLOW);
}
//+------------------------------------------------------------------+
//| 0:A8<0;L=K9 Last 70 45=L |
//+------------------------------------------------------------------+
double CSessionInfo::LastHigh(void)
{
return SymbolInfoDouble(m_symbol, SYMBOL_LASTHIGH);
}
//+------------------------------------------------------------------+
//| 8=8<0;L=K9 Last 70 45=L |
//+------------------------------------------------------------------+
double CSessionInfo::LastLow(void)
{
return SymbolInfoDouble(m_symbol, SYMBOL_LASTLOW);
}
//+------------------------------------------------------------------+
//| CC<<0@=K9 >1JQ< A45;>: 2 B5:CICN A5AA8N |
//+------------------------------------------------------------------+
double CSessionInfo::VolumeTotal(void)
{
return SymbolInfoDouble(m_symbol, SYMBOL_SESSION_VOLUME);
}
//+------------------------------------------------------------------+
//| CC<<0@=K9 >1>@>B 2 B5:CICN A5AA8N |
//+------------------------------------------------------------------+
double CSessionInfo::TurnoverTotal(void)
{
return SymbolInfoDouble(m_symbol, SYMBOL_SESSION_TURNOVER);
}
//+------------------------------------------------------------------+
//| CC<<0@=K9 >1JQ< >B:@KBKE ?>78F89 |
//+------------------------------------------------------------------+
double CSessionInfo::OpenInterestTotal(void)
{
return SymbolInfoDouble(m_symbol, SYMBOL_SESSION_INTEREST);
}
//+------------------------------------------------------------------+
//| 1I89 >1JQ< >@45@>2 =0 ?>:C?:C 2 B5:CI89 <><5=B |
//+------------------------------------------------------------------+
double CSessionInfo::BuyOrdersVolume(void)
{
return SymbolInfoDouble(m_symbol, SYMBOL_SESSION_BUY_ORDERS_VOLUME);
}
//+------------------------------------------------------------------+
//| 1I89 >1JQ< >@45@>2 =0 ?@>406C 2 B5:CI89 <><5=B |
//+------------------------------------------------------------------+
double CSessionInfo::SellOrdersVolume(void)
{
return SymbolInfoDouble(m_symbol, SYMBOL_SESSION_SELL_ORDERS_VOLUME);
}
//+------------------------------------------------------------------+
//| &5=0 >B:@KB8O A5AA88 |
//+------------------------------------------------------------------+
double CSessionInfo::PriceSessionOpen(void)
{
return SymbolInfoDouble(m_symbol, SYMBOL_SESSION_OPEN);
}
//+------------------------------------------------------------------+
//| &5=0 70:@KB8O A5AA88 |
//+------------------------------------------------------------------+
double CSessionInfo::PriceSessionClose(void)
{
return SymbolInfoDouble(m_symbol, SYMBOL_SESSION_CLOSE);
}
//+------------------------------------------------------------------+
//| !@54=52725H5==0O F5=0 A5AA88 |
//+------------------------------------------------------------------+
double CSessionInfo::PriceSessionAverage(void)
{
return SymbolInfoDouble(m_symbol, SYMBOL_SESSION_AW);
}
//+------------------------------------------------------------------+
//| &5=0 ?>AB02:8 =0 B5:CICN A5AA8N |
//+------------------------------------------------------------------+
double CSessionInfo::PriceSettlement(void)
{
return SymbolInfoDouble(m_symbol, SYMBOL_SESSION_PRICE_SETTLEMENT);
}
//+------------------------------------------------------------------+
//| 0:A8<0;L=> 4>?CAB8<>5 7=0G5=85 F5=K =0 A5AA8N |
//+------------------------------------------------------------------+
double CSessionInfo::PriceLimitMax(void)
{
return SymbolInfoDouble(m_symbol, SYMBOL_SESSION_PRICE_LIMIT_MAX);
}
//+------------------------------------------------------------------+
//| 8=8<0;L=> 4>?CAB8<>5 7=0G5=85 F5=K =0 A5AA8N |
//+------------------------------------------------------------------+
double CSessionInfo::PriceLimitMin(void)
{
return SymbolInfoDouble(m_symbol, SYMBOL_SESSION_PRICE_LIMIT_MIN);
}