Справка по языку MQL5 - страница 2

 
Rosh >>:

Смотрите раздел "Доступ к таймсериям и данным индикаторов"


Спасибо, поторопился с коментом, уже разобрался.

 
я бы ещё сказал, что эта документация написана более чётко. Впоследствии будет хорошо, если фирма добавит сюда ещё примеров на каждую функцию, или хотя-бы на все не-экзотические часто применяемые функции. Это намного упростит понимание языка новичками в трейдинге и в программировании. Кстати, не помешала бы глава "Отличия MQL5 от Си" с наглядной сравнительной таблицей основных эпохальных отличий между ними.
 
За таймер и события спасибо :) . Этож как теперь циклить можно симпатично :)
 
Не увидел будет ли показатель "Открытый интерес" или опять только Объем доступен? Надеялся платформа будет хорошо заточена не только под форекс
 
Dezil >>:
Не увидел будет ли показатель "Открытый интерес" или опять только Объем доступен? Надеялся платформа будет хорошо заточена не только под форекс

там теперь различаются ДВА объёма - тиковый и настоящий (торговый).

============================================================================

Для наглядности этого обсуждения и экономии времени цитата:


Переход с MQL4

...

Прежде всего необходимо отметить:

· Функции start(), init() и deinit() отсутствуют;
· Количество индикаторных буферов не ограничено;
· Загрузка dll происходит сразу после загрузки эксперта (или любой другой mql5-программы);
· Укороченная проверка логических условий;
· При выходе за пределы массива текущее выполнение прекращается (критически - с выводом ошибки);
· Приоритет операций как в С++;
· Работает неявное приведение типов (даже из строки в число);
· Локальные переменные автоматически не инициализируются (кроме строк);
· Обычные локальные массивы уничтожаются автоматически.

Специальные функции init, start и deinit

В языке MQL4 было только три предопределенные функции, которые могли присутствовать в коде индикатора, советника или скрипта (не принимая во внимание включаемые файлы *.mqh и файлы библиотек). Этих функций нет в MQL5, но есть их аналоги. В таблице представлено примерное соответствие функций.

MQL4

MQL5

init

OnInit

start

OnStart

deinit

OnDeinit

Функции OnInit и OnDeinit выполняют ту же роль, что и функции init и deinit в MQL4 – они предназначены для размещения кода, который должен выполняться при инициализации и деинициплизации mql5-программ. Вы можете либо просто переименовать эти функции соответствующим образом, либо оставить их как есть, но добавить вызов этих функций в соотвестввующих местах.

Пример:

void OnInit()

{

//--- вызовем функцию при инициализации

init();

}

void OnDeinit()

{

//--- вызовем функцию при деинициализации

deinit();

//---

}

Функция start заменяется на OnStart только в скриптах, а для эксперта и индикатора необходимо ее переименовать соответственно в OnTick и OnCalculate. Именно в этих трех функциях необходимо размещать код, который должен выполняться во время работы mql5-программы:

mql5-программа

основная функция

скрипт

OnStart

индикатор

OnCalculate

эксперт

OnTick

Если основная функция отсутствует в коде исполняемой индикатора или скрипта, или название этой функции отличается от требуемого, то вызов такой функции не производится. То есть, если в исходном коде скрипта не будет содержаться функции OnStart, то такой код будет скомпилирован как советник. Если в коде индикатора отсутствует функция OnCalcultae, то компиляция такого индикатора невозможна.

Предопределенные переменные

В MQL5 нет таких предопределенных переменных как Ask, Bid, Bars. Переменные Digits и Point немного изменились в написании, как показано в таблице.

MQL4

MQL5

Digits

_Digits

Point

_Point


_LastError


_Period


_Symbol


_StopFlag


_UninitReason

Доступ к таймсериям

В MQL5 нет предопределенных таймсерий Open[], High[], Low[], Close[], Volume[] и Time[]. Необходимую глубину таймсерии теперь можно задавать самостоятельно с помощью соответствующих функций для доступа к таймсериям.

Советники (эксперты)

Эксперты в MQL5 не обязательно должны иметь функцию-обработчик события поступления нового тика OnTick, как это было в MQL4 (функция start в MQL4 вызывается на выполнение при поступлении нового тика), потому что теперь эксперты в MQL5 могут содержать предопределенные функции-обработчики несколько типов событий:

· OnTick – поступление нового тика;
· OnTimer – событие таймера;
· OnChartEvent– события ввода от клавиатуры и мышки, события перемещения графического объекта, событие окончания редактирования текста в поле ввода объекта LabelEdit;
· OnBookEvent – событие изменения состояния стакана цен (Depth of Market).
 
С объемами понятно, открытый интерес сильно отлячается по экономическому смыслу от объемов и должен транслироваться в торговый терминал биржей как самостоятельный показатель торгов по контракту
 
 
в торговых функциях не обнаружил OrderSend и OrderClose, торговать как будем?
 
space_cowboy >>:
в торговых функциях не обнаружил OrderSend и OrderClose, торговать как будем?

Внимательно читаем 1-й пост темы!

 
ступил
Причина обращения: