| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- //+------------------------------------------------------------------+
- //| MetaTrader 5 API |
- //| Copyright 2000-2019, MetaQuotes Software Corp. |
- //| http://www.metaquotes.net |
- //+------------------------------------------------------------------+
- #pragma once
- //+------------------------------------------------------------------+
- //| Exposure interface |
- //+------------------------------------------------------------------+
- class IMTExposure
- {
- public:
- //--- common methods
- virtual void Release(void)=0;
- virtual MTAPIRES Assign(const IMTExposure* exposure)=0;
- virtual MTAPIRES Clear(void)=0;
- //--- exposure currency or symbol
- virtual LPCWSTR Symbol(void) const=0;
- virtual UINT Digits(void) const=0;
- //--- volumes
- virtual double VolumeClients(void) const=0;
- virtual double VolumeCoverage(void) const=0;
- //--- conversation rate from symbol volume
- //--- to net volume in exposure currency
- virtual double PriceRate(void) const=0;
- //--- net volume in exposure currency
- virtual double VolumeNet(void) const=0;
- };
- //+------------------------------------------------------------------+
- //| Exposure array interface |
- //+------------------------------------------------------------------+
- class IMTExposureArray
- {
- public:
- //--- common methods
- virtual void Release(void)=0;
- virtual MTAPIRES Assign(const IMTExposureArray* array)=0;
- virtual MTAPIRES Clear(void)=0;
- //--- add
- virtual MTAPIRES Add(IMTExposure* exposure)=0;
- virtual MTAPIRES AddCopy(const IMTExposure* exposure)=0;
- virtual MTAPIRES Add(IMTExposureArray* array)=0;
- virtual MTAPIRES AddCopy(const IMTExposureArray* array)=0;
- //--- delete & detach
- virtual MTAPIRES Delete(const UINT pos)=0;
- virtual IMTExposure* Detach(const UINT pos)=0;
- //--- update
- virtual MTAPIRES Update(const UINT pos,IMTExposure* exposure)=0;
- virtual MTAPIRES UpdateCopy(const UINT pos,const IMTExposure* exposure)=0;
- virtual MTAPIRES Shift(const UINT pos,const int shift)=0;
- //--- data access
- virtual UINT Total(void) const=0;
- virtual IMTExposure* Next(const UINT index) const=0;
- //--- sorting and search
- virtual MTAPIRES Sort(MTSortFunctionPtr sort_function)=0;
- virtual int Search(const void *key,MTSortFunctionPtr sort_function) const=0;
- virtual int SearchGreatOrEq(const void *key,MTSortFunctionPtr sort_function) const=0;
- virtual int SearchGreater(const void *key,MTSortFunctionPtr sort_function) const=0;
- virtual int SearchLessOrEq(const void *key,MTSortFunctionPtr sort_function) const=0;
- virtual int SearchLess(const void *key,MTSortFunctionPtr sort_function) const=0;
- virtual int SearchLeft(const void *key,MTSortFunctionPtr sort_function) const=0;
- virtual int SearchRight(const void *key,MTSortFunctionPtr sort_function) const=0;
- };
- //+------------------------------------------------------------------+
- //| Exposure events notification interface |
- //+------------------------------------------------------------------+
- class IMTExposureSink
- {
- public:
- virtual void OnExposureUpdate(const IMTExposure* /*exposure*/) { }
- };
- //+------------------------------------------------------------------+
-
|