Функции общего назначения, которые не вошли ни в одну из специализированных групп.
Alert
void Alert(…)
Отображает диалоговое окно, содержащие пользовательские данные. Параметры могут быть любого типа. Количество параметров не может превышать 64.
Массивы нельзя передавать в функцию Alert(). Массивы должны выводиться поэлементно.
Данные типа double выводятся с 4 десятичными цифрами после точки. Для вывода чисел с большей точностью используйте функцию DoubleToStr().
Данные типы bool, datetime и color будут выведены как числа.
Чтобы вывести данные типа datetime в виде строки, необходимо использовать функцию TimeToStr().
Для разделения выводимой информации на несколько строк можно использовать символ перевода строки «\n» либо «\r\n».
См. также функции Comment() и Print().
Параметры:
… — Любые значения, разделенные запятыми.
Пример:
if(Close[0]>SignalLevel) Alert("Price ", Close[0]," is coming!!!");
Comment
void Comment(…)
Функция выводит комментарий, определенный пользователем, в левый верхний угол графика. Параметры могут иметь любой тип. Количество параметров не может превышать 64.
Массивы нельзя передавать в функцию Comment(). Массивы должны печататься поэлементно.
Данные типа double выводятся с 4 десятичными цифрами после точки. Для вывода чисел с большей точностью необходимо использовать функцию DoubleToStr().
Типы bool, datetime и color будут напечатаны как числа.
Чтобы вывести данные типа datetime в виде строки используйте функцию TimeToStr().
Для разделения выводимой информации на несколько строк можно использовать символ перевода строки «\n» либо «\r\n».
См. также функции Alert() и Print().
Параметры:
… — Любые значения, разделенные запятыми.
Пример:
double free=AccountFreeMargin(); Comment("Account free margin is ", DoubleToStr(free,2),"\n","Current time is ", TimeToStr(TimeCurrent()));
GetTickCount
int GetTickCount()
Функция GetTickCount() возвращает количество миллисекунд, прошедших с момента старта системы. Счетчик ограничен разрешающей способностью системного таймера. Так как время хранится как беззнаковое целое, то он переполняется каждые 49.7 дней.
Пример:
int start=GetTickCount(); // некие серьёзные вычисления... Print("Время вычисления ", GetTickCount()-start, " миллисекунд.");
MarketInfo
double MarketInfo(string symbol, int type)
Возвращает различную информацию о финансовых инструментах, перечисленных в окне «Обзор рынка». Часть информации о текущем финансовом инструменте хранится в предопределенных переменных.
Параметры:
symbol — Символ инструмента.
type — Идентификатор запроса, определяющий тип возвращаемой информации. Может быть любым из значений идентификаторов запроса.
Пример:
double bid = MarketInfo("EURUSD",MODE_BID); double ask = MarketInfo("EURUSD",MODE_ASK); double point = MarketInfo("EURUSD",MODE_POINT); int digits = MarketInfo("EURUSD",MODE_DIGITS); int spread = MarketInfo("EURUSD",MODE_SPREAD);
MessageBox
int MessageBox( string text=NULL, string caption=NULL, int flags=EMPTY)
Функция MessageBox создает и отображает окно сообщений, а также управляет им. Окно сообщений содержит определенные приложением сообщение и заголовок, любую комбинацию предопределенных значков и командных кнопок. Если функция успешно выполняется, возвращаемое значение — одно из значений кодов возврата MessageBox().
Функцию нельзя вызывать из пользовательских индикаторов, так как индикаторы выполняются в интерфейсном потоке и не должны его тормозить.
Параметры:
text — Текст, содержащий сообщение для отображения.
caption — Необязательный текст для отображения в заголовке окна сообщения. Если этот параметр пустой, в заголовке окна будет отображено название эксперта.
flags — Необязательные флаги, определяющие вид и поведение диалогового окна. Флаги могут быть комбинацией флагов из следующих групп флагов.
Пример:
#include <WinUser32.mqh>
if(ObjectCreate("text_object", OBJ_TEXT, 0, D'2004.02.20 12:30', 1.0045)==false) { int ret=MessageBox("Функция ObjectCreate() вернула ошибку "+GetLastError()+"\nПродолжить?", "Question", MB_YESNO|MB_ICONQUESTION); if(ret==IDNO) return(false); } // продолжение
PlaySound
void PlaySound( string filename)
Функция воспроизводит звуковой файл. Файл должен быть расположен в каталоге каталог_терминала\sounds или его подкаталоге.
Параметры:
filename — путь к звуковому файлу.
Пример:
if(IsDemo()) PlaySound("alert.wav");
void Print( …)
Печатает некоторое сообщение в журнал экспертов. Параметры могут иметь любой тип. Количество параметров не может превышать 64.
Массивы нельзя передать в функцию Print(). Массивы должны быть напечатаны поэлементно.
Данные типа double выводятся с 4 десятичными цифрами после точки. Чтобы получить большую точность, следует использовать функцию DoubleToStr().
Данные типов bool, datetime и color будут напечатаны в виде чисел.
Чтобы печатать значения datetime как строку с датой, следует использовать функцию TimeToStr().
См. также функции Alert() и Comment().
Параметры:
… — Любые значения, разделенные запятыми.
Пример:
Print("Свободная маржа счета ", AccountFreeMargin()); Print("Текущее время ", TimeToStr(TimeCurrent())); double pi=3.141592653589793; Print("Число PI ", DoubleToStr(pi,8)); // Выход: число PI 3.14159265 // Печать массива for(int i=0;i<10;i++) Print(Close[i]);
SendFTP
bool SendFTP( string filename, string ftp_path=NULL)
Посылает файл по адресу, указанному в окне настроек на закладке «Публикация». В случае неудачи возвращает FALSE.
Функция не работает в режиме тестирования. Из пользовательских индикаторов также нельзя вызывать эту функцию.
Отсылаемый файл должен находиться в папке каталог_терминала\experts\files или ее подпапках.
Отсылка не производится, если в настройках не указан адрес FTP и/или пароль доступа.
Параметры:
filename — Имя отсылаемого файла.
ftp_path — Каталог FTP. Если каталог не указан, то используется каталог, описанный в настройках.
Пример:
int lasterror=0; if(!SendFTP("report.txt")) lasterror=GetLastError();
SendMail
void SendMail( string subject, string some_text)
Посылает электронное письмо по адресу, указанному в окне настроек на закладке «Почта».
Отсылка может быть запрещена в настройках, также может быть не указан адрес электронной почты. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
Параметры:
subject — Заголовок письма.
some_text — Тело письма.
Пример:
double lastclose=Close[0]; if(lastclose<my_signal) SendMail("из Вашего эксперта", "Цена изменилась " + DoubleToStr(lastclose, Digits));
Sleep
void Sleep( int milliseconds)
Функция задерживает выполнение текущего эксперта или скрипта на определенный интервал.
Функцию Sleep() нельзя вызывать из пользовательских индикаторов, так как индикаторы выполняются в интерфейсном потоке и не должны его тормозить.
В функцию встроена проверка состояния флага остановки эксперта каждую 0.1 секунды.
Параметры:
milliseconds — Интервал задержки в миллисекундах.
Пример:
//---- wait for 10 seconds Sleep(10000);