- Обсуждение статьи "Библиотека для простого и быстрого создания программ для MetaTrader (Часть VIII): События модификации ордеров и позиций"
- как реализовать звуковой сигнал?
- [АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4.
пытаюсь добить советника работающего по сигналам (стрелкам) индикатора в отдельном окне. помогите пожалуйста на индикаторе обнаружить стрелку на 1-ом баре.Если я правильно понимаю, то надо сделать цикл перебора обьектов с именем например "bearishDivergence" из соответствующего массива и выбрать ближайший по времени, а потом определить разницу во времени между текущим и временем установки стрелки.Если разница меньше Period() то это то что надо.Только у меня не получается. может я ошибаюсь? заранее спасибо. индик прикреплен.
Здесь стрелки не являются графическими объектами, а рисуются из буферов индикатора
double bullishDivergence[]; double bearishDivergence[];
когда нет стрелки возвращается число: 2147483647 когда стоит стрелка возвращается уровень на котором стоит стрелка.
Если не вникать в код, можно попробовать так:
if(bullishDivergence[1]!=2147483647) { //........... } if(bearishDivergence[1]!=2147483647) { //........... }
- спасибо. поясните пожалуйста что означает это число 2147483647 (какой-то код стрелки или еще что-то) и как в таком случае инициализировать индикатор и произвести необходимые операции по определению наличия стрелки?
double bullishDivergence[1] = iCustom (NULL,0,"FX5_Divergence_V2.1",9,21,5,2,1); if(bullishDivergence[1]!=2147483647) { //........... } double bearishDivergence[1] = iCustom (NULL,0,"FX5_Divergence_V2.1",9,21,5,3,1); if(bearishDivergence[1]!=2147483647) { //........... }
примерно так да?
Обращение из советника примерно так:
double bullishDivergence=iCustom(Symbol(),0,"FX5_Divergence_V2.1",2,1); if(bullishDivergence!=2147483647) { //......... }
если будете передавать внешние параметры индикатора, то пишите их все по порядку их там 7 штук, а не 3.
P.S. Вот Ваш случай: https://www.mql5.com/ru/forum/108598 в поиске нашёл :).
- спасибо. поясните пожалуйста что означает это число 2147483647 (какой-то код стрелки или еще что-то) и как в таком случае инициализировать индикатор и произвести необходимые операции по определению наличия стрелки?
В чистом виде внутренние константы лучше не использовать. Чревато.
Лучше так:
double bullishDivergence[1] = iCustom (NULL,0,"FX5_Divergence_V2.1",9,21,5,2,1); if(bullishDivergence[1] != EMPTY_VALUE) { //........... } double bearishDivergence[1] = iCustom (NULL,0,"FX5_Divergence_V2.1",9,21,5,3,1); if(bearishDivergence[1] != EMPTY_VALUE) { //........... }В своем коде ценовые индюки я заодно на 0 проверяю. На всякие пожарные :) .
В чистом виде внутренние константы лучше не использовать. Чревато.
Лучше так:
В своем коде ценовые индюки я заодно на 0 проверяю. На всякие пожарные :) .У меня так бывает, если в советнике в iCustom неправильно вызываются параметры. При попытке тестера показать индикатор после стопа происходит ошибка.
2008.11.21 09:09:50 TestGenerator: unmatched data error (volume limit 387 at 2008.06.30 17:00 exceeded) 2008.11.21 09:09:50 TestGenerator: unmatched data error (low value 1.9888 at 2008.06.30 17:14 and price 1.9887 mismatched) 2008.11.21 09:09:50 TestGenerator: unmatched data error (high value 1.9724 at 2008.06.19 21:45 is not reached from the least timeframe, high price 1.9723 mismatches) 2008.11.21 09:09:51 TestGenerator: unmatched data error (low value 1.8415 at 2008.09.26 21:15 is not reached from the least timeframe, low price 1.8417 mismatches) 2008.11.21 09:09:51 TestGenerator: unmatched data error (high value 1.8423 at 2008.09.26 21:15 is not reached from the least timeframe, high price 1.8422 mismatches)Это почему так? Несоответствие цен и предела обьема с чем? с собственными записями об этих данных?
Вообще-то людям всегда некогда заниматься чужими делами, все предпочитают свои. Здесь не справка по mql, здесь помощь тем, кто искал в учебнике,
поиском по форуму, перевел сообщения об ошибке, проверил его по справке, еще раз провел поиск по форуму.. Если и после этого не срослось - Вам ответят.
Например, я ответил Вам потому, что посчитал ошибку отображения индикатора после окончания тестирования достаточно редкой и не описанной в справке.
В данном конкретном случае достаточно провести поиск по форуму сочетания "unmatched data error" и Вы получите 40 ответов от коллективного разума.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования