LIP/Arch/RU/LIP_v01.001/Include/LIP_Fun2_5_v1.001.mqh
super.admin 291e846eab convert
2025-05-30 15:03:51 +02:00

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()