int OrdersHistoryTotal(datetime tmStart,datetime tmEnd)
Возвращает количество исторических ордеров за заданный период
Сообщите нам, если считаете, что материал размещён без разрешения.
Обращение по товару «mql4.mqh» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
Данная библиотека предоставляет набор функций для адаптации кода с MQL4 на MQL5, оборачивая специфичные MQL5 API-вызовы в привычные MQL4-стильные сигнатуры. Она позволяет использовать привычные функции исторических ордеров, информации о счёте и настройки индикаторов в среде MetaTrader 5.
Библиотека включает три основных группы функций: управление историческими ордерами (получение типа, цены, объёма, прибыли и других данных по ордерам), запросы информации о торговом счёте (баланс, эквивалент, маржа, номер счёта и др.) и утилиты для настройки индикаторов и графических объектов.
Также доступны функции для работы с окнами графиков, определения текущего времени и режима терминала (визуальный, тестирование, оптимизация), а также для чтения буферов индикаторов и проверки демо-режима.
Классов: 0 · методов: 0 · конструкторов: 0 · деструкторов: 0 · отдельных функций: 58
int OrdersHistoryTotal(datetime tmStart,datetime tmEnd)
Возвращает количество исторических ордеров за заданный период
ulong HistoryOrderTicket(ulong uticket)
Возвращает тикет исторического ордера
string HistoryOrderSymbol(ulong uticket)
Возвращает символ инструмента исторического ордера
string HistoryOrderComment(ulong uticket)
Возвращает комментарий исторического ордера
int HistoryOrderType(ulong uticket)
Возвращает тип исторического ордера
double HistoryOrderClosePrice(ulong uticket)
Возвращает цену закрытия исторического ордера
double HistoryOrderOpenPrice(ulong uticket)
Возвращает цену открытия исторического ордера
double HistoryOrderTakeProfit(ulong uticket)
Возвращает уровень тейк-профита исторического ордера
double HistoryOrderStopLoss(ulong uticket)
Возвращает уровень стоп-лосса исторического ордера
double HistoryOrderLots(ulong uticket)
Возвращает объём исторического ордера
double HistoryOrderProfit(ulong uticket)
Возвращает прибыль исторического ордера
double HistoryOrderSwap(ulong uticket)
Возвращает своп исторического ордера
double HistoryOrderCommission(ulong uticket)
Возвращает комиссию исторического ордера
int HistoryOrderMagicNumber(ulong uticket)
Возвращает магический номер исторического ордера
datetime HistoryOrderOpenTime(ulong uticket)
Возвращает время открытия исторического ордера
datetime HistoryOrderCloseTime(ulong uticket)
Возвращает время закрытия исторического ордера
datetime OrderCloseTime(ulong uticket)
Возвращает время закрытия ордера
bool HistoryOrderSelect(ulong &uticket,ulong index,int select,int pool)
Выбирает исторический ордер по индексу или тикету
bool IsConnected()
Проверяет подключение терминала к серверу
bool IsTradeAllowed()
Проверяет разрешение торговли на счёте
bool IsTradeContextBusy()
Проверяет занятость торгового контекста
double AccountBalance()
Возвращает баланс торгового счёта
double AccountProfit()
Возвращает прибыль торгового счёта
double AccountEquity()
Возвращает эквивалент торгового счёта
double AccountMargin()
Возвращает маржу торгового счёта
double AccountFreeMargin()
Возвращает свободную маржу торгового счёта
long AccountNumber()
Возвращает номер торгового счёта
int AccountLeverage()
Возвращает плечо торгового счёта
string AccountServer()
Возвращает имя торгового сервера
int DayOfWeek()
Возвращает текущий день недели
int TimeDayOfWeek(datetime dtmTime)
Возвращает день недели для заданной даты
int Year()
Возвращает текущий год
int Hour()
Возвращает текущий час
int Minute()
Возвращает текущую минуту
string WindowExpertName()
Возвращает имя эксперта на графике
int WindowFind(string name)
Находит окно графика по имени
long WindowBarsPerChart()
Возвращает количество видимых баров на графике
double WindowPriceMax(int index)
Возвращает максимальную цену в окне графика
double WindowPriceMin(int index)
Возвращает минимальную цену в окне графика
bool IsVisualMode()
Проверяет визуальный режим терминала
bool IsTesting()
Проверяет режим тестирования стратегии
bool IsOptimization()
Проверяет режим оптимизации
string AccountCurrency()
Возвращает валюту торгового счёта
void IndicatorDigits(int idigit)
Устанавливает количество знаков после запятой для индикатора
void SetIndexStyle(int index,int type,int style,int width,color clr)
Устанавливает стиль отрисовки линии индикатора
bool SetIndexLabel(int index,string stext)
Устанавливает метку линии индикатора
void SetLevelValue(int ilevel,double value)
Устанавливает значение уровня индикатора
int IndicatorCounted(int prev_calculated)
Возвращает количество уже рассчитанных баров индикатора
void IndicatorShortName(string name)
Устанавливает короткое имя индикатора
bool SetIndexEmptyValue(int index,double value)
Устанавливает пустое значение линии индикатора
bool SetIndexShift(int index,int ishift)
Устанавливает сдвиг линии индикатора
bool SetIndexDrawBegin(int index,int begin)
Устанавливает начало отрисовки линии индикатора
bool SetIndexArrow(int index,ushort code)
Устанавливает код стрелки для линии индикатора
bool HideTestIndicators(bool bHide)
Скрывает или показывает индикаторы при тестировании
string ObjectDescription(string sname)
Возвращает текстовое описание графического объекта
bool ObjectSetFiboDescription(string name,int index,string text)
Устанавливает текст уровня для объекта Фибоначчи
bool GetBuffer(int hind,double &dbuffer[],int inumbuffer,int ibar,int icount)
Читает данные буфера индикатора
bool IsDemo()
Проверяет демо-режим торгового счёта
#ifndef __MQL4__TO__MQL5__
#define __MQL4__TO__MQL5__ sovetnikov_net_defines_23fdsd34dsfsdf23433324fdfdgg
#ifdef __MQL5__
#define OP_BUY ORDER_TYPE_BUY
#define OP_SELL ORDER_TYPE_SELL
#define MODE_MAIN 0
#define MODE_SIGNAL 1
#define MODE_TRADES 0
#define MODE_HISTORY 1
#define SELECT_BY_POS 0
#define SELECT_BY_TICKET 1
#define EMPTY -1
#define OBJPROP_FIBOLEVELS OBJPROP_LEVELS
datetime Time[2]= {0};
int OrdersHistoryTotal(datetime tmStart=0,datetime tmEnd=0)
{
if(tmEnd==0)
tmEnd=TimeCurrent();
HistorySelect(tmStart,tmEnd); //всю историю доступную загружаем
return HistoryOrdersTotal();
}
ulong HistoryOrderTicket(ulong uticket)
{
return uticket;
}
string HistoryOrderSymbol(ulong uticket)
{
return HistoryOrderGetString(uticket,ORDER_SYMBOL);
}
string HistoryOrderComment(ulong uticket)
{
return HistoryOrderGetString(uticket,ORDER_COMMENT);
}
int HistoryOrderType(ulong uticket)
{
return (int)HistoryOrderGetInteger(uticket,ORDER_TYPE);
}
double HistoryOrderClosePrice(ulong uticket)
{
if(HistoryDealSelect(uticket))
return HistoryDealGetDouble(uticket,DEAL_PRICE);
return 0;
}
double HistoryOrderOpenPrice(ulong uticket)
{
return HistoryOrderGetDouble(uticket,ORDER_PRICE_OPEN);
}
double HistoryOrderTakeProfit(ulong uticket)
{
return HistoryOrderGetDouble(uticket,ORDER_TP);
}
double HistoryOrderStopLoss(ulong uticket)
{
return HistoryOrderGetDouble(uticket,ORDER_SL);
}
double HistoryOrderLots(ulong uticket)
{
return HistoryOrderGetDouble(uticket,ORDER_VOLUME_INITIAL);
}
double HistoryOrderProfit(ulong uticket)
{
ulong ut=-1;
for(int i=HistoryDealsTotal(); i>=0; i--)
{
ut=HistoryDealGetTicket(i);
long lid=HistoryDealGetInteger(ut,DEAL_POSITION_ID);
{
long ientry=HistoryDealGetInteger(ut,DEAL_ENTRY);
if(ientry==DEAL_ENTRY_OUT)
{
double dprofit=HistoryDealGetDouble(uticket,DEAL_PROFIT);
}
}
}
return 0;
}
double HistoryOrderSwap(ulong uticket)
{
if(HistoryOrderSelect(uticket))
return HistoryDealGetDouble(uticket,DEAL_SWAP);
return 0;
}
double HistoryOrderCommission(ulong uticket)
{
if(HistoryOrderSelect(uticket))
return HistoryDealGetDouble(uticket,DEAL_COMMISSION);
return 0;
}
int HistoryOrderMagicNumber(ulong uticket)
{
return (int)HistoryOrderGetInteger(uticket,ORDER_MAGIC);
}
datetime HistoryOrderOpenTime(ulong uticket)
{
return (datetime)HistoryOrderGetInteger(uticket,ORDER_TIME_DONE);
}
datetime HistoryOrderCloseTime(ulong uticket)
{
return (datetime)HistoryOrderGetInteger(uticket, ORDER_TIME_DONE);
}
datetime OrderCloseTime(ulong uticket)
{
if(HistoryOrderSelect(uticket))
return (datetime)HistoryOrderGetInteger(uticket, ORDER_TIME_DONE);
return 0; //invalid time
}
bool HistoryOrderSelect(ulong &uticket,ulong index,int select,int pool=MODE_TRADES)
{
if(select==SELECT_BY_POS)
uticket=HistoryOrderGetTicket((uint)index);
else
uticket=HistoryOrderSelect(index);
return (uticket>0);
}
bool IsConnected()
{
return (bool)TerminalInfoInteger(TERMINAL_CONNECTED);
}
bool IsTradeAllowed()
{
return (bool)AccountInfoInteger(ACCOUNT_TRADE_ALLOWED);
}
bool IsTradeContextBusy()
{
return false;
}
double AccountBalance()
{
return AccountInfoDouble(ACCOUNT_BALANCE);
}
double AccountProfit()
{
return AccountInfoDouble(ACCOUNT_PROFIT);
}
double AccountEquity()
{
return AccountInfoDouble(ACCOUNT_EQUITY);
}
double AccountMargin()
{
return AccountInfoDouble(ACCOUNT_MARGIN);
}
double AccountFreeMargin()
{
return AccountInfoDouble(ACCOUNT_MARGIN_FREE);
}
long AccountNumber()
{
return AccountInfoInteger(ACCOUNT_LOGIN);
}
int AccountLeverage()
{
return (int)AccountInfoInteger(ACCOUNT_LEVERAGE);
}
string AccountServer()
{
return AccountInfoString(ACCOUNT_SERVER);
}
int DayOfWeek()
{
MqlDateTime mtm;
TimeCurrent(mtm);
return mtm.day_of_week;
}
int TimeDayOfWeek(datetime dtmTime)
{
MqlDateTime mtm;
TimeToStruct(dtmTime,mtm);
return mtm.day_of_week;
}
int Year()
{
MqlDateTime mtm;
TimeCurrent(mtm);
return mtm.year;
}
int Hour()
{
MqlDateTime mtm;
TimeCurrent(mtm);
return mtm.hour;
}
int Minute()
{
MqlDateTime mtm;
TimeCurrent(mtm);
return mtm.min;
}
string WindowExpertName()
{
return MQLInfoString(MQL_PROGRAM_NAME);
}
int WindowFind(string name)
{
int window=-1;
if((ENUM_PROGRAM_TYPE)MQLInfoInteger(MQL_PROGRAM_TYPE)==PROGRAM_INDICATOR)
{
window=ChartWindowFind();
}
else
{
window=ChartWindowFind(0,name);
if(window==-1)
Print(__FUNCTION__+"(): Error = ",GetLastError());
}
return(window);
}
long WindowBarsPerChart()
{
return ChartGetInteger(ChartID(),CHART_VISIBLE_BARS,0);
}
double WindowPriceMax(int index)
{
return ChartGetDouble(0,CHART_PRICE_MAX,index);
}
double WindowPriceMin(int index)
{
return ChartGetDouble(0,CHART_PRICE_MIN,index);
}
bool IsVisualMode()
{
return (bool)MQLInfoInteger(MQL_VISUAL_MODE);
}
bool IsTesting()
{
return (bool)MQLInfoInteger(MQL_TESTER);
}
bool IsOptimization()
{
return (bool)MQLInfoInteger(MQL_OPTIMIZATION);
}
string AccountCurrency()
{
return AccountInfoString(ACCOUNT_CURRENCY);
}
double iMAOnArray(double &array[],
int total,
int period,
int ma_shift,
int ma_method,
int shift)
{
double buf[],arr[];
if(total==0)
total=ArraySize(array)Показано первые 50% кода (символов: 8510)
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.