Коды

kosma-2.02 для MetaTrader 4

Индикатор дивергенции OsMA с коэффициентом умножения параметров и с отрисовкой линий дивергенций

Форум

CopyBuffer() на выходных с чужого ТФ

Не могу получить через CopyBuffer() данные с Daily. В МТ4 есть индикатор с такой строчкой iATR ( NULL , PERIOD_D1 , ATRPeriod, 1 ); и на выходных все работает отлично. Но в МТ5 столкнулся с проблемой получения данных. В OnInit() получил хендл handleATR = iATR ( _Symbol , PERIOD_D1 , 14 ); if

Удаление элементов с панели

Мне понадобилось, чтобы во время работы советника на панель динамически добавлялись и удалялись элементы. Подскажите как правильно реализовать. Я думал, что для удаления поможет метод CWndContainer::Delete(). Но может что-то не так делаю. Вот описание из документации СБ: Я взял стандартный код из

Стиль и ширина линии во входных параметрах советника

Всем привет. Иногда требуется через параметры советника задать свойства линии, которыми этот советник будет манипулировать на графике. Тип переменной сolor дает одинаковые возможности выбора цвета как в свойствах линии, так и через свойства советника. Но вот стиль и ширина линии. В свойствах

Запаздывание при нажатии кнопок

Взял код кнопок на панельке из стандартной библиотеки отсюда . Сменил расширение файла на mq5. Так как в коде три кнопки, я оставил только одну, чтобы было поменьше кода. В событиях для третьей кнопки вместо функции Comment() изменил на Print(), чтобы видеть очередь нажатий в журнале. И добавил при

Диалоговое окно из СБ не закрывается

Обнаружил такую проблему. При работе с панелями из стандартной библиотеки после смены входных параметров пропадает реакция на кнопку закрытие (крестик верхней панели). Взял отсюда пример создания. Добавил только одну строку с input параметром, как будто магик-номер. Порядок действий. Цепляю советник

FileReadArray - считывание последних элементов

Мне понадобилось записать два массива, а потом их считать в новые массивы. Ниже код: // массивы для записи в файл double w1[]; double w2[]; // массивы для считывания из файла double r1[]; double r2[]; void OnStart () { // --- Расширим массивы на 5 ячеек ArrayResize (w1, 5 ); ArrayResize (w2, 5

OnCalculate - переиндексация на каждом тике

Здесь задавался вопрос, но на него так и не ответили. Тоже интересует, поэтому продублирую. В разделе " Справочник MQL5 / Операции с массивами / ArraySetAsSeries" есть пример, когда функция ArraySetAsSeries() применяется к массиву const datetime &time[] на каждом тике: int OnCalculate ( const int

Вопрос по классу для открытия ордера

Долгое время в МТ4 пользуюсь кимовской функцией SetOrder(). Захотелось нечто подобно и в МТ5 использовать. С++ мне не знаком, поэтому хотелось бы мнение специалистов услышать. Во вложении написал класс, там два конструктора, один со стопами, другой без. Вызов в программе делаю таким образом