Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1256
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А как узнать тип входного параметра?
пишу ж, что типы компилятор сам подставляет в момент вызова шаблонной функции, если такого вызова еще не было в коде, то компилятор создаст еще одну копию функции и поставит сам типы - ну как бы логично - шаблон
если вопрос про как в такой функции определить тип, используйте
typename
UPD: дописал в пример выше принты типа параметров:
2020.09.16 18:58:21.679 tst (EURUSD,M5) int myfunc<int,int>(int,int)
2020.09.16 18:58:21.680 tst (EURUSD,M5) val1 = 2, typename = int
2020.09.16 18:58:21.681 tst (EURUSD,M5) val2 = 3, typename = int
2020.09.16 18:58:21.681 tst (EURUSD,M5) 5
2020.09.16 18:58:21.681 tst (EURUSD,M5) int myfunc<double,double>(double,double)
2020.09.16 18:58:21.681 tst (EURUSD,M5) val1 = 10.0, typename = double
2020.09.16 18:58:21.681 tst (EURUSD,M5) val2 = 30.0, typename = double
2020.09.16 18:58:21.681 tst (EURUSD,M5) 40
UPD: дополнил еще __FUNCSIG__ этот пример
Добрый день.
Столкнулся с некоторой странностью при написании индикатора на MQL5 (индикатор в отдельном подокне, 4 линии).
Начальные описания буферов такие:
Далее в OnInit:
По сути: индикатор рисует 4 линии: две первые - просто одноцветные, две последующие - двухцветные (меняют цвет на перегибах).
Двухцветность за счет способа рисования DRAW_COLOR_LINE.
Теперь вопрос: первая линия (буфера 2 и 3 в коде выше) прекрасно рисуется, срабатывает весь код, который для нее прописан в OnInit;
Т.е вместо заданного мной текста в окне данных на месте буфера отображается просто имя индикатора. Хотя сама по себе линия рисуется, и она, как и надо, разноцветная.вторая линия почему-то выпендривается: например явно не срабатывает строка:
Полагаю, здесь прикол в сдвиге нумерации? Мне, например, не очень понятно, почему в верхней части кода, когда объявляю последнюю линию через директивы #property, индекс должен быть 4, а не 5, ведь буферов уже перед этим использовано 4. Есть ли вообще какая то связь между нумерацией линий при объявлении через директивы #property и нумерацией буферов при связывании с массивами в OnInit?
Подскажите, что в коде выше не так. Возможно у кого-то просто найдется пример индикатора, в котором рисуются хотя бы две линии с помощью способа рисования DRAW_COLOR_LINE....
И еще попутный вопрос: каким образом связываются буфера разноцветной линии? Всмысле откуда скомпилированный код знает, что если я помещу значение в буфер цвета, то этим цветом надо разукрасить линию какого то другого буфера?
Добрый день.
Столкнулся с некоторой странностью при написании индикатора на MQL5 (индикатор в отдельном подокне, 4 линии).
Начальные описания буферов такие:
Далее в OnInit:
По сути: индикатор рисует 4 линии: две первые - просто одноцветные, две последующие - двухцветные (меняют цвет на перегибах).
Двухцветность за счет способа рисования DRAW_COLOR_LINE.
Теперь вопрос: первая линия (буфера 2 и 3 в коде выше) прекрасно рисуется, срабатывает весь код, который для нее прописан в OnInit;
Т.е вместо заданного мной текста в окне данных на месте буфера отображается просто имя индикатора. Хотя сама по себе линия рисуется, и она, как и надо, разноцветная.вторая линия почему-то выпендривается: например явно не срабатывает строка:
Полагаю, здесь прикол в сдвиге нумерации? Мне, например, не очень понятно, почему в верхней части кода, когда объявляю последнюю линию через директивы #property, индекс должен быть 4, а не 5, ведь буферов уже перед этим использовано 4. Есть ли вообще какая то связь между нумерацией линий при объявлении через директивы #property и нумерацией буферов при связывании с массивами в OnInit?
Подскажите, что в коде выше не так. Возможно у кого-то просто найдется пример индикатора, в котором рисуются хотя бы две линии с помощью способа рисования DRAW_COLOR_LINE....
И еще попутный вопрос: каким образом связываются буфера разноцветной линии? Всмысле откуда скомпилированный код знает, что если я помещу значение в буфер цвета, то этим цветом надо разукрасить линию какого то другого буфера?
Нумерация отображений отличается от нумерации буферов.
так должно сработать.
Всем добрый день!
Сделал функцию модификации стоплосса. Но при работе выдает EURUSD,H1: OrderModify error 130.
Причем цена далеко от того места куда должен встать стоплосс.
вот сама функция:
Написал функцию для нахождения номера бара фрактала из 3х баров. На онлайн графике вроде определяет правильно. А при визуальном тестировании в тестере врёт. Может кто-нибудь из профессионалов, глянув на код, обнаружит какие-нибудь огрехи?
Буду премного благодарен.
Доброго времени суток. КАКОЙ КОД НУЖНО ДОБАВИТЬ ЧТОБЫ ИНДИКАТОР ПЕРЕСТАЛ РАБОТАТЬ В ТЕСТЕРЕ ЧЕРЕЗ МЕСЯЦ ? ТОЕСТЬ Я НАПИСАЛ ВСЁ ОК! НО КОГДА УЖЕ ДЕЛАЮ БЭКТЕСТ СНОВА РАБОТАЕТ. (мгл4)
Здравствуйте!
в цикле закрытии ордеров хотел поставить услвие на день открытия ордера, чтобы те которые в пятницу открылись не закрывались. но почему то цикл не идет..
Доброго времени суток. КАКОЙ КОД НУЖНО ДОБАВИТЬ ЧТОБЫ ИНДИКАТОР ПЕРЕСТАЛ РАБОТАТЬ В ТЕСТЕРЕ ЧЕРЕЗ МЕСЯЦ ? ТОЕСТЬ Я НАПИСАЛ ВСЁ ОК! НО КОГДА УЖЕ ДЕЛАЮ БЭКТЕСТ СНОВА РАБОТАЕТ. (мгл4)
Тебе не в OnInit надо писать данный код, а в OnTick().
Здравствуйте!
в цикле закрытии ордеров хотел поставить услвие на день открытия ордера, чтобы те которые в пятницу открылись не закрывались. но почему то цикл не идет..
Попробуйте так: