Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 238

 
Ventura:

Артём, спасибо, ждал именно Вашего совета. Пока ждал, сам искал возможные решения. Сегодня утром придумал как программно показать окно настроек !

Я обнаружил, что окно вызывается по нажатию клавиши F7. Поиск по интернету показал что из MQL можно сделать программное нажатие клавиш. 

Дальше дело техники. Выкладываю код, может кому пригодится:

extern double BuyStop, SellStop;

...

Не за что. Моего ответа/совета можно долго ждать :) Другие вам говорили то же самое.

Для маркета не подойдёт решение. И вам нужно PostMessageW()

 
Ventura:

Вот только рано я радовался. Окно с параметрами программно открыть удалось, но значения, которые я присвоил параметрам в процедуре, не сохранились (((

То есть при открытии окна параметров я вижу значения, указанные при инициализации, в моём случае нули.

Можно ли как-то сделать, чтобы в форму параметров передались вычисленные значения ?

Нет. Вызов параметров через F7 завершает работу советника через ОнДеИнит, и начинает работу заново через ОнИнит. Таков порядок работы советника в чарте. Костыльно даже не получиться. Форма параметров только в одну сторону работает, туда программно считываются значения интпут и экстерн (в 5ке нет кстати экстерн) до инициализации советника. Второй раз ОнИнит не вызывается при текущей работе советника.

Костыльно можно только вытащив код советника, внести туда изменения, скомпилировать. и вызвать форму параметров) Но это сизифов труд))) Панель похожую на форму параметров правильнее...

 
Valeriy Yastremskiy:

Нет. Вызов параметров через F7 завершает работу советника через ОнДеИнит, и начинает работу заново через ОнИнит. Таков порядок работы советника в чарте. Костыльно даже не получиться. Форма параметров только в одну сторону работает, туда программно считываются значения интпут и экстерн (в 5ке нет кстати экстерн) до инициализации советника. Второй раз ОнИнит не вызывается при текущей работе советника.

Костыльно можно только вытащив код советника, внести туда изменения, скомпилировать. и вызвать форму параметров) Но это сизифов труд))) Панель похожую на форму параметров правильнее...

Спасибо, буду пробовать. Придумал ещё вариант - вызвать форму параметров, потом функциями API записать в поля Edit значения параметров. 

Кстати, подскажите, как сделать чтобы  при запуске советника НЕ показывалась форма параметров ? Я её программно вызываю, поэтому смысла в первом показе нет.

 
Ventura:

Спасибо, буду пробовать. Придумал ещё вариант - вызвать форму параметров, потом функциями API записать в поля Edit значения параметров. 

Кстати, подскажите, как сделать чтобы  при запуске советника НЕ показывалась форма параметров ? Я её программно вызываю, поэтому смысла в первом показе нет.

программно сгенегирируйте шаблон со всеми нужными параметрами и далее ChartApplyTemplate()

 
Ventura:

Спасибо, буду пробовать. Придумал ещё вариант - вызвать форму параметров, потом функциями API записать в поля Edit значения параметров. 

Кстати, подскажите, как сделать чтобы  при запуске советника НЕ показывалась форма параметров ? Я её программно вызываю, поэтому смысла в первом показе нет.

Не понимаю логику зачем так делать) Есть ООП, любой советник можно обернуть в класс, и вызывать его из под класса с параметрами полученными / рассчитанными как угодно. И это не выходя из рамок мкл.

Как сделать, что бы форма не показывалась при ручном запуске, не знаю. 

Если костылить дальше, то можно записать параметры в parammysov.set и считать его. Но это надстройка сложная.

 
Maxim Kuznetsov:

программно сгенегирируйте шаблон со всеми нужными параметрами и далее ChartApplyTemplate()

Максим, гениально! Я не знал, что настройки советника сохраняются в шаблоне. Этот вариант самый простой, так и сделаю. Осталась одна проблема - не показывать форму параметров при запуске.

Но это не критично, просто лишний раз ОК нажать нужно будет.

 

здравствуйте, помогите создать простой алгоритм при котором старые ордера удаляются если сформируются новые...

 

Ребят. MT4 Не работате. Показывает вчерашнее время 23:59. В онлайне такая же ситуация. С телефона через мобильный интернет та-же ситуация. Это что?

 
dvimax:

Ребят. MT4 Не работате. Показывает вчерашнее время 23:59. В онлайне такая же ситуация. С телефона через мобильный интернет та-же ситуация. Это что?

Могу предположить - выходной день.

 
Уважаемые господа ! Как восстановить неизвестно как исчезнувшие наименования инструментов под графиком МТ4
Причина обращения: