98 lines
8.8 KiB
MQL5
98 lines
8.8 KiB
MQL5
//============================================================================================= MQL5 ===
|
|
// LibreInfoPDO Function2_5 v1.001 MQL5
|
|
// Основные технические расчеты
|
|
// Librecoin (c)2014-2017
|
|
//======================================================================================================
|
|
#property strict
|
|
//============================================================================================= MQL5 ===
|
|
// INCLUDE - подключаемые модули
|
|
//------------------------------------------------------------------------------------------------------
|
|
//----- Обратные ссылки на основной файл проекта
|
|
#include "LIP_Ref_5_v1.001.mqh"
|
|
//============================================================================================= MQL5 ===
|
|
// PositionsTotalSel() - подсчет количества позиций с отбором по инструменту
|
|
// Вход:
|
|
// iSymbol - инструмент
|
|
//------------------------------------------------------------------------------------------------------
|
|
int PositionsTotalSel(string iSymbol){
|
|
int
|
|
nPosition=0;
|
|
//-----
|
|
{if(PositionsTotal()>0)
|
|
{
|
|
{for(int i=PositionsTotal()-1;i>=0;i--)
|
|
{
|
|
ulong Pos_Tick=PositionGetTicket(i); //Выбираем позицию по номеру в списке
|
|
{if(Pos_Tick<=0){continue;}} //Неудачно - следующий
|
|
{if((PositionGetString(POSITION_SYMBOL)!=iSymbol)&&(iSymbol!="")){continue;}}//Отбор по символу
|
|
nPosition++;
|
|
}}//for(int i=PositionsTotal()-1;i>=0;i--)
|
|
}}//if(PositionsTotal()>0)
|
|
return(nPosition);
|
|
}//PositionsTotalSel()
|
|
//
|
|
//============================================================================================= MQL5 ===
|
|
// OrdersTotalSel() - подсчет количества ордеров с отбором по инструменту
|
|
// Вход:
|
|
// iSymbol - инструмент
|
|
//------------------------------------------------------------------------------------------------------
|
|
int OrdersTotalSel(string iSymbol){
|
|
int
|
|
nOrder=0;
|
|
//-----
|
|
{if(OrdersTotal()>0)
|
|
{
|
|
{for(int i=OrdersTotal()-1;i>=0;i--)
|
|
{
|
|
ulong Ord_Tick=OrderGetTicket(i); //Выбираем ордер по номеру в списке
|
|
{if(Ord_Tick<=0){continue;}} //Неудачно - следующий
|
|
{if((OrderGetString(ORDER_SYMBOL)!=iSymbol)&&(iSymbol!="")){continue;}} //Отбор по символу
|
|
nOrder++;
|
|
}}//for(int i=OrdersTotal()-1;i>=0;i--)
|
|
}}//if(OrdersTotal()>0)
|
|
return(nOrder);
|
|
}//OrdersTotalSel()
|
|
//
|
|
//============================================================================================= MQL5 ===
|
|
// HistoryOrdersTotalSel() - подсчет количества ордеров в истории с отбором по инструменту
|
|
// Вход:
|
|
// iSymbol - инструмент
|
|
//------------------------------------------------------------------------------------------------------
|
|
int HistoryOrdersTotalSel(string iSymbol){
|
|
int
|
|
nOrder=0;
|
|
//-----
|
|
{if(HistoryOrdersTotal()>0)
|
|
{
|
|
{for(int i=HistoryOrdersTotal()-1;i>=0;i--)
|
|
{
|
|
ulong Ord_Tick=HistoryOrderGetTicket(i); //Выбираем ордер в истории по номеру в списке
|
|
{if(Ord_Tick<=0){continue;}} //Неудачно - следующий
|
|
{if((HistoryOrderGetString(Ord_Tick,ORDER_SYMBOL)!=iSymbol)&&(iSymbol!="")){continue;}}//Отбор по символу
|
|
nOrder++;
|
|
}}//for(int i=HistoryOrdersTotal()-1;i>=0;i--)
|
|
}}//if(HistoryOrdersTotal()>0)
|
|
return(nOrder);
|
|
}//HistoryOrdersTotalSel()
|
|
//
|
|
//============================================================================================= MQL5 ===
|
|
// HistoryDealsTotalSel() - подсчет количества сделок с отбором по инструменту
|
|
// Вход:
|
|
// iSymbol - инструмент
|
|
//------------------------------------------------------------------------------------------------------
|
|
int HistoryDealsTotalSel(string iSymbol){
|
|
int
|
|
nDeal=0;
|
|
//-----
|
|
{if(HistoryDealsTotal()>0)
|
|
{
|
|
{for(int i=HistoryDealsTotal()-1;i>=0;i--)
|
|
{
|
|
ulong Deal_Tick=HistoryDealGetTicket(i); //Выбираем сделку по номеру в списке
|
|
{if(Deal_Tick<=0){continue;}} //Неудачно - следующий
|
|
{if((HistoryDealGetString(Deal_Tick,DEAL_SYMBOL)!=iSymbol)&&(iSymbol!="")){continue;}}//Отбор по символу
|
|
nDeal++;
|
|
}}//for(int i=HistoryDealsTotal()-1;i>=0;i--)
|
|
}}//if(HistoryOrdersTotal()>0)
|
|
return(nDeal);
|
|
}//HistoryDealsTotalSel()
|