SetTimeFrame(PERIOD_H4);//четырехчасовая SetTimeFrame(PERIOD_D1);//дневная SetTimeFrame(0);//текущая цена закрытия double SetTimeFrame(int Period) { return(iClose(NULL,Period,1)); }Вызвать вот так,а как визуально из скрипта таймфрейм переключить я незнаю....
return(iClose(NULL,Period,1));
Эта функция просто возвращает значение Close. Ее действительно можно вызвать где угодно и получить значение для любого символа и периода. Но...!!! она НЕ ПЕРЕКЛЮЧАЕТ тайм на графике :( Мне же нужны функции, которые "эмулируют" нажатие кнопочки другого тайма в окне терминала. Т.е. те, которые заставят терминал переключится на другой тайм/символ.
Здрово! Самое оно! Спасибо Itso. Действительно я плохо искал :( :(
Теперь осталось научиться переключать символы....
Вообще-то всегда можно запустить какого-то тула для шпионирования мессиджей, а потом посылать их на терминал и кликать магическим образом.
НО!!!
Такой путь - неправильный - оставьте терминала в покое - язык дает вам возможность получить все что нужно без всяких переключениях - советнику не нужно красиво мерцать, а хорошо торговать!
А может надо было просто описать проблему из-за которой приходится искать такое решение. Потому как мне кажется, что ищется игрушка.
А может надо было просто описать проблему из-за которой приходится искать такое решение. Потому как мне кажется, что ищется игрушка.
Нет, для меня это не игрушка. Я написал для себя много "мультивалютных" индикаторов (кому интересно - заходите посмотрите). Они у меня целой кучкой друг под другом сидят и показывают (как я надеюсь объективное поведение) до 8 штук валют одновременно. Поэтому мне не нужно держать одновременно несколько графиков пар на которых я торгую. Торгую я на одном графике, а его валюту переключаю сбросом нужной мне пары из окна навигатора на график. (увидел что какаято пара по всем индикаторам показывает признаки разворота - переключился на нее и исследую ее подробнее). Мультивалютные индикаторы при этом пересчитывать/перерисовывать не надо (там и так все 8 нужных мне есть). Но к сожалению много графиков - много места на экране съедается.
Поэтому я хочу их вынести в отдельное окно и автоматически
синхронизировать его тайм с основным торговым окном (благодаря Itso - я
теперь смогу это сделать).
Есть еще несколько рабочих графиков, например, статистика размеров баров или графики оанды (я уже научил свой индикатор прямо из МТ загружать картинки с сервера оанды, распознавать их и рисовать как положено прямо на графике в терминале), но эти индикторы нужно синхронизировать и по валюте - отсюда вторая часть вопроса (пока
еще не решенная).
советнику не нужно красиво мерцать, а хорошо торговать!
Советнику - да. Но мне это нужно для ручной торговли, для индикаторов и скриптов рисующих объекты. А здесь цвет, расположение на экране, синхронность работы отдельных частей (все то, что называют эргономикой) становится очень важным.
В прикрепленном файле - скрин моего рабочего терминала.
Для кого-то он покажется настоящим кошмаром. Но... "вы не любите котов?! да вы просто не умеете их готовить!" :) :D Я уже не могу смотреть на график, с барами не раскрашенными по торговым сессиям и без меток новостей, без сводки нужной мне информации по счету, без прямоугольников открытых ордеров, без моих мультииндикаторов, и т.п. Я без них как слепой! Ну посмотрите - все сильные движения начинаются либо на стыках сессий, либо на новостях, а индикаторы это подтверждают... (да очем это я?! это известно всем, но у меня это наглядно и удобно для меня выделено цветом). Дело осталось за малым - немножко разгрести эту кучку графиков, каждый из которых мне нужен(!) и заставить их работать синхронно с основным торговым графиком.
Вот собственно из за чего весь сыр-бор :)
А может надо было просто описать проблему из-за которой приходится искать такое решение. Потому как мне кажется, что ищется игрушка.
Нет, для меня это не игрушка. Я написал для себя много "мультивалютных" индикаторов (кому интересно - заходите посмотрите). Они у меня целой кучкой друг под другом сидят и показывают (как я надеюсь объективное поведение) до 8 штук валют одновременно. Поэтому мне не нужно держать одновременно несколько графиков пар на которых я торгую. Торгую я на одном графике, а его валюту переключаю сбросом нужной мне пары из окна навигатора на график. (увидел что какаято пара по всем индикаторам показывает признаки разворота - переключился на нее и исследую ее подробнее). Мультивалютные индикаторы при этом пересчитывать/перерисовывать не надо (там и так все 8 нужных мне есть). Но к сожалению много графиков - много места на экране съедается. Поэтому я хочу их вынести в отдельное окно и автоматически синхронизировать его тайм с основным торговым окном (благодаря Itso - я теперь смогу это сделать).
Есть еще несколько рабочих графиков, например, статистика размеров баров или графики оанды (я уже научил свой индикатор прямо из МТ загружать картинки с сервера оанды, распознавать их и рисовать как положено прямо на графике в терминале), но эти индикторы нужно синхронизировать и по валюте - отсюда вторая часть вопроса (пока еще не решенная).
советнику не нужно красиво мерцать, а хорошо торговать!
Советнику - да. Но мне это нужно для ручной торговли, для индикаторов и скриптов рисующих объекты. А здесь цвет, расположение на экране, синхронность работы отдельных частей (все то, что называют эргономикой) становится очень важным.
В прикрепленном файле - скрин моего рабочего терминала.
Для кого-то он покажется настоящим кошмаром. Но... "вы не любите котов?! да вы просто не умеете их готовить!" :) :D Я уже не могу смотреть на график, с барами не раскрашенными по торговым сессиям и без меток новостей, без сводки нужной мне информации по счету, без прямоугольников открытых ордеров, без моих мультииндикаторов, и т.п. Я без них как слепой! Ну посмотрите - все сильные движения начинаются либо на стыках сессий, либо на новостях, а индикаторы это подтверждают... (да очем это я?! это известно всем, но у меня это наглядно и удобно для меня выделено цветом). Дело осталось за малым - немножко разгрести эту кучку графиков, каждый из которых мне нужен(!) и заставить их работать синхронно с основным торговым графиком.
Вот собственно из за чего весь сыр-бор :)
А может в таком случае проще использовать профили.
очень нужны списки меню открывающиеся по щелчку мышки на графическом обекте, на линии индикатора, просто в окне.
Может кто знает как это будет в МТ?
А может в таком случае проще использовать профили.
Можно наверно, но не хочется. Да и не получится скорее всего по нормальному профилями сделать все возможные комбинации валют и таймов :(
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Может я плохо искал (тогда - ткните меня в нужную тему), но я так и не нашел ответа на вопрос: как программно переключить таймфрейм и/или текущую пару в терминале из кода советника/скрипта. Не верю что этого сделать нельзя! - нашли же способ вызвать программно команду Обновить график!
МТ - обычная программа, которая "управляется" событиями и сообщениями. Нажатие кнопки M15 и связанный с этим процесс переключения таймфрейма - это посылка МТ сообщения с определенным кодом и параметрами. И ему все равно кто пошлет это сообщение: он сам (от нажатия мышки) или снова он же сам же ж, но уже от выполнения кода советника, который вызывает системные функции Win32 API. Смена пары немного сложнее - то тоже должна быт доступна (Drag & Drop из навигатора рынка на график).
Я не имею достаточной подготовки в системном программировании, чтобы самому отловить эти коды/сообщения и написать соответствующие MQL-обращения к Win32 API. Надеюсь что этот форум читают люди, которым это под силу ;) - отзовитесь!!! Нужны коды двух функций
SetTimeFrame(int Period)
и
Set Symbol (string Symbol)
При вызове первой - должен установится новый период на графике, при вызове второй - новый символ. Очень надеюсь что, кто-то (может сами разработчики ?) сможет написать такой работающий код.