Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ну, первое конечно проще, поставьте
А вот со вторым - засада. ObjectFind ищет только в основном окне и прилегающих к нему окнах индикаторов и никак в других. Кстати и WindowsTotal() показывает количество подокон в основном окне, включая основное.
Как совет, можно попробовать сделать индикатор в виде горизонтальных линий и снимать показания по iCustom().
Про индикатор не понял идею, если не сложно, поподробнее?!
Я тут сейчас соображаю, а зачем Вам вообще какая-то линия вообще? Вы же можете просто проверять выше цена определенного уровня или нет.
А про индикатор - просто напишите советник, который рисует горизонтальную линию на высоте, заданной начальным значением и передает ее в глобальную переменную. А другой Ваш советник считывает эту величину и соображает как поступить.
Я тут сейчас соображаю, а зачем Вам вообще какая-то линия вообще? Вы же можете просто проверять выше цена определенного уровня или нет.
А про индикатор - просто напишите советник, который рисует горизонтальную линию на высоте, заданной начальным значением и передает ее в глобальную переменную. А другой Ваш советник считывает эту величину и соображает как поступить.
Горизонтальная линия задаёт уровень цены - это аналог отложенных ордеров, но виртуальный, причём проводя проверку нахождения цены относительно этого уровня, задавая интервал этой проверки, скажем на начале M1 или M5, я получаю возможность удостовериться, что уровень цены устойчив, а не "случайно" задел мой отложенник тенью свечи.
Мне нужно управлять всем этим процессом слежения и выставления ордеров из одного "центра" и написание лишних советников-индикаторов не приветствуется, а тем более вешание их на другие чарты, по крайней мере пока я не убежусь, что без использования этого дополнительного кода моя идея не дееспособна...
А написать отдельного советника, который бы следил за горизонтальной линией и по необходимости выставлял ордера - нет проблем, у меня скрипт такой написан (он в отличие от советника это делает одноразово), но в этом случае, нужно вешать такого советника в каждое окно, где хочешь выставить ордер, а это не совсем элегантное решение... ;)
!!!Я всегда считал, что безвыходных ситуаций НЕ БЫВАЕТ!!!
Проверку наличия горизонтальной линии может делать простенький скрипт, запускаемый в каждом открытом окне функцией:
и передавать, если нашёл заданную линию, значение нужного уровня в глобальную переменную, значение которой и будет считывать советник, а затем принимать необходимые действия!!! :)
У меня есть метод собирающий все дескрипторы графиков. Если хотите, могу сделать из него функцию и добавлю в библиотеку SeviceMT4.dll?
Правда, при попытке заменить предыдущую версию библиотеки на последнюю, с трудом загружается терминал (на одном из чартов расположен советник, который в init() вызывает (точнее пытается вызвать) упомянутую:
а затем терминал вылетает с ошибкой. До конца инициализация советника не происходит. Попробовал несколько раз - один и тот же результат...
Пришлось произвести обратную замену... :(
Хорошая (нужная) у Вас библиотека (SeviceMT4.dll). Тем методом (перебором всех возможных комбинаций Symbol-Period), который использовал я, задача решена не лучшим способом, и если, Вы выведете в код более грамотный метод, то ещё раз огромное Вам спасибо!!!
Правда, при попытке заменить предыдущую версию библиотеки на последнюю, с трудом загружается терминал (на одном из чартов расположен советник, который в init() вызывает (точнее пытается вызвать) упомянутую:
ServiceLoadScript()
а затем терминал вылетает с ошибкой. До конца инициализация советника не происходит. Попробовал несколько раз - один и тот же результат...
Пришлось произвести обратную замену... :(
Где Ваш неработающий код? У меня работает эта функция в ините.
Может XP что-то вытворяет, может ещё что-то, но факт есть факт.
Как говорят Метаквоты, нет кода - нет факта :-)) Стало быть, всё работает.
Ну, и собственно, вызов этой функции из init().
Этот код рабочий со старой версией библиотеки (я в который раз повторяюсь).