Вопросы по MQL4.

 
Slawa 08.11.05 17:51
А допустимо ли по правилам MQ4 использовать в индикаторах функцию MessageBox() ?
нет. и GetLastError вернёт соответствующую ошибку
А допустимо ли использование ф-ии MessageBox() в deinit() ?

Есть необходимость сообщить пользователю некот. информацию при закрытии им советника. И в зависимости от его ответа инициировать некот. события. Как это сделать?
 
deinit работает 2,5 секунды - пользователь должен так быстро ответить? =)
Можно записать в файл то, что надо сделать, а потом скриптом считать, вывести MessageBox и, в зависимости от ответа, что-то предпринять.
Не совсем понятно что требуется сделать. И зачем?
 
komposter,
та надо..
Ну, в 2-х словах.
Во-первых, deinit() работает не 2.5 сек, а бесконечно. По крайней мере в моём скрипте.
Во-вторых, вся эта кухня нужна только для того, чтоб обрабатывать координаты объектов в период между тиками. По этой причине в Старт код обработки ставить бессмысленно, т.к. он запускается потиково, т.е. отработает всего один раз, а остальное время будет бездельничать.

Дальше начинаются проблемы и ремесло программирования превращаеттся в творчество,поскольку (ну, не понятно мне из кких высших побуждений) в индикаторах не работает Слип, запрещён МВ и пр. и пр. Слип, казалось бы, простое дело, однако же в некот. случаях мои циклы состоят только из обращения к ГлобалВар, и до достижения некот. условий код запускаться не должен. Без слипа эти циклы просто завешивают Трейду..

А поскольку я хочу сделать всё хорошо, приходится тратиться на витиеватые решения.
Видимо, по-настоящему хорошо не получится, а только как в Майкрософте - "Достаточно хорошо" (это их лозунг).
А потом в инете встречаются картинки с изображением Майкрософта в виде клавиатуры из 3-х клавиш: Ctrl, Alt и Del.

Лучше б нам ориентироваться на Линукс..:)
 
так сделай в старте бесконечный цикл - какая разница "где", если тебе тики до фени?
 
У меня этот цикл в индикаторе и нигде в другом месте употреблён быть не может.
Это вызвано тем, что в срипте позволены торговые ф-ии, там тоже свои циклы, и в них не место для решения второстепенных (но тоже необходимых) задач. А скрипт позволен всего один. Поэтому приходится рещение рассиропить на:
1 эксперт, 1 скрипт и (пока) 2 индикатора.
И вот в этих индиках тоже свои циклы обработки графики меджду тиками..
Кроме того, из старта я не могу выгрузиться. А в случае, если в индике есть только инит и деинит, то достаточно выйти из цикла, как они повываливаются из окна,- отреагируют на какое-то событие, например, выгрузку эксперта.
Жаль, загрузить их никак не удаётся..

Ну ничё. Всё равно советника сделаю:) Просто придётся повозиться.
 
SKif:
Это вызвано тем, что в срипте позволены торговые ф-ии, там тоже свои циклы, и в них не место для решения второстепенных (но тоже необходимых) задач.
почему не место? Если и так работает в "бесконечном" режиме, вставь в уже созданный цикл пару строк, а если твой скрипт "разовый", сделай другой, отлавливающий передвижения объектов.
Или у тебя принципиальный вопрос количества?)))
 
Почему не место? Потому что много информации обрабатывать. Пока циклы почти пустые, между тиками удаётся в основном прокрутить их от 10 до 200 раз, но в коротких промежутках - по 2 - 3 раза. А инфы добавится - боюсь выйти за межтиковый промежуток.
 
А зачем между тиками? Зачем вообще от них зависеть?
У тебя всё как-то сложно, не буду вникать....Сам разберёшься ;)
 
О! Тёпленькая пошла..)) (186)
 
А зачем между тиками?
!)) Ты потом сам скажешь зачем. У меня действительно сложно, но это чепуха. Главное - результат:)
А у тебя дела идут?
 
А у тебя дела идут?
экспертик туда, экспертик сюда... идут по маленьку ;)
Причина обращения: