Функция считает, сколько было открыто ордеров в текущем часе всего (текущих ордеров и ордеров закрытых).
Можно применять, например, если надо ограничить количество открываемых советником ордеров, например, не больше 2 в час и пр.
Ставьте лайки на этот сайт)
Функция:
int CountOrdersInHour()
{
int count_tr=0;
int count_hy=0;
int count_all=0;
int H=TimeHour(TimeCurrent());
for(int trade=OrdersTotal()-1; trade>=0; trade--)
{
if(OrderSelect(trade,SELECT_BY_POS,MODE_TRADES))
{
int OOP=TimeHour(OrderOpenTime());
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{
if(H==OOP) count_tr++;
}
}
}
for(int trade=OrdersHistoryTotal()-1; trade>=0; trade--)
{
if(OrderSelect(trade,SELECT_BY_POS,MODE_HISTORY))
{
int OOP=TimeHour(OrderOpenTime());
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{
if(H==OOP) count_hy++;
}
}
}
count_all=count_hy+count_tr;
return(count_all);
}