Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
SymbolName
Возвращает наименование указанного символа.
int SymbolName(
int pos, // номер в списке
bool selected // true – только символы в MarketWatch
);
SymbolSelect
Выбирает символ в окне MarketWatch или убирает символ из окна.
int SymbolSelect(
string name, // имя символа
bool select // включить или выключить
);
Возвращаемое значение
В случае неудачи функция возвращает false.
Если множественного наследования нет, то и предков не может быть болъше одного,
или неверно ?
Если множественного наследования нет, то и предков не может быть болъше одного,
или неверно ?
Предков может быть N штук, имеется в виду не мама с папой, а родитель, его родитель, и т.д. вверх по иерархии до самого Адама :)
Доступ к таймсериям и данным индикаторов
Несоответствие:
BarsCalculated
Возвращает true, если данные запрашиваемого индикатора рассчитаны.
BarsCalculated
Возвращает количество рассчитанных данных для запрашиваемого индикатора.
int BarsCalculated(
int indicator_handle, // handle индикатора
);
CopyBuffer
Опечатка, на этой странице встречается 3 раза:
Основы языка — Типы данных — Вещественные типы (double, float)
В результате некоторых операций математического сопроцессора может получиться недействительное вещественной число, которое нельзя использовать в математических операциях и операциях сравнения, так как результат выполнения операций над недействительными вещественными числами неопределен. Например, при попытки вычислить арксинус от 2, результатом будет минус бесконечность.
-----------------------------------
Основы языка — Типы данных — Целые типы — Перечисления
Во втором примере :
enum intervals // перечисление именованных констант
{
month=1, // интервал в один месяц
two_months, // два месяца
quarter, // три месяца - квартал
halfyear=6, // полугодие
year=12, // год - 12 месяцев запятая?
};
================================================================================
Наблюдается некоторое своеволие в использовании терминов (уникальности названий и определений понятий).
Например, термин "объект" используется здесь (Основы языка — Операторы — Оператор создания объекта new ) применительно к структурам и классам, хотя привычнее его применять к графическим объектам. То же замечено в отношении термина "тип".
-----------------
Справочник MQL5 — Основы языка — Операторы — Составной оператор
Вопрос терминов в значительной степени решается на основе личных предпочтений.
Моё представление о правильной терминологии таково:
Это - заголовок оператора.
if(x==0)
Это - тело оператора (исполняемая часть)
{
Print("invalid position x=",x);
return;
}
Это - блок операторов (обсуждаемый фрагмент кода) Блок 1-2, блок 2-3 и т.д
Print("invalid position x=",x);
return;
//-------------------------------- 2 -Это - составной оператор; по своей сути составляется из двух частей - заголовка и исполняемого тела (предполагающего обязательное наличие других операторов), в отличие от обычных операторов (return, break).
if(x==0)
{
Print("invalid position x=",x);
return;
}
Нестыковочка:
Функции для работы с техническими индикаторами
Пользовательские индикаторы могут содержать до 512 индикаторных буферов,...
Переход с MQL4
Количество индикаторных буферов не ограничено;
...
В MQL4 количество индикаторных буферов ограничено и не может быть более 8. В MQL5 такого ограничения нет
Графические объекты
Количество графических объектов в MQL5 существенно расширилось, но при этом появилось одно ограничение - нельзя использовать функции по работе с графическими объектами в пользовательских индикаторах.
Тут, конечно, можно долго разглагольствовать о принятых в MQL5 ограничениях в плане ООП, и, с другой стороны, отпущенных вольностях, частично берущих свои корни из C/C++.
Хотелось бы услышать обоснование разработчиков по поводу запрета работы с графикой в графических индикаторах. Многих это ограничение не устроит, поэтому возникнут извращения, типа создания вспомогательных экспертов с секундным таймером, которые будут дополнять индикаторы графикой; будет также организован обмен информацией между такими индикаторами и экспертами (возможно, очень "кривой" с точки зрения эффективного использования памяти и CPU).
Также, не увидел программной возможности запуска скриптов из экспертов и индикаторов.
Темы быстро убегают...
Кое что здесь озвучено:
'Вопросы по индикаторам в МТ5'
Многих это ограничение не устроит, поэтому возникнут извращения, типа создания вспомогательных экспертов с секундным таймером, которые будут дополнять индикаторы графикой; будет также организован обмен информацией между такими индикаторами и экспертами (возможно, очень "кривой" с точки зрения эффективного использования памяти и CPU).
Также, не увидел программной возможности запуска скриптов из экспертов и индикаторов.
По-моему, нужно оставить эти прикл. программы для расчёта инд. массивов, но называть их не индикаторами, а попроще - что-то типа "модуль эффективного расчёта индикаторных массивов". И должен появиться ещё один тип прикл. программы - рисовалка, которая:
1) сможет вызвать (в стиле iCustom) расчётный модуль, чтобы получить данные для отрисовки индикаторных линий
2) будет иметь право использования функций для управления графическими объектами.
3) будет называться индикатором.
--
Хорошо бы, чтоб программы могли вызывать друг друга. При этом должна соблюдаться иерархия. Программы с более высоким статусом должны иметь право вызывать программы с меньшим статусом, а наобороот - нет.
Main - "главная" программа, (типа, в "пустом" окне) - высший статус - подчиняется только терминалу. Может вызывать любую прикл. программу в любое окно.
Эксперты - статус 1. Могут вызывать скрипты и индикаторы (в окно, в ктором сидит эксперт).
Скрипты - статус 2. Могут вызывать индикаторы (в то же окно).
Индикаторы - статус 3. Могут вызываться кем угодно. Вызывать не могут никого. (могут создавать подокно в окне вызвавшей прогр.)
** "модуль эффективного расчёта индикаторных массивов" может быть вызван любой прикл. программой.