• Реклама: ⚡️ FreshForex - надежный CFD брокер с 2004 года. Бонус 101% - поможет в случае просадки!
  • Добро пожаловать на инвестиционный форум!

    Во всем многообразии инвестиций трудно разобраться. MMGP станет вашим надежным помощником и путеводителем в мире инвестиций. Только самые последние тренды, передовые технологии и новые возможности. 400 тысяч пользователей уже выбрали нас. Самые актуальные новости, проверенные стратегии и способы заработка. Сюда люди приходят поделиться своим опытом, найти и обсудить новые перспективы. 16 миллионов сообщений, оставленных нашими пользователями, содержат их бесценный опыт и знания. Присоединяйтесь и вы!

    Впрочем, для начала надо зарегистрироваться!
  • 🐑 Моисей водил бесплатно. А мы платим, хотя тоже планируем работать 40 лет! Принимай участие в партнеской программе MMGP
  • 📝 Знаешь буквы и умеешь их компоновать? Платим. Дорого. Бессрочная акция от MMGP: "ОПЛАТА ЗА СООБЩЕНИЯ"

Нужна подсказка - запустить код после коннекта в выходной день

bvn

Новичок
Регистрация
17.06.2008
Сообщения
7,351
Реакции
2,723
Поинты
0.000
Понадобилось реализовать собственный мониторинг. Запускается скрипт, вызывающий терминал с различными ini-файлами, в терминале стоит заведомо установленный советник (или индикатор), для сбора данных необходимо, чтобы этот советник один раз отработал и выключил терминал. Вчера у меня вроде бы все получалось, а сегодня почему-то стала наблюдаться очень странная ситуация.

Функция start() у нас естественно не работает в выходной день, поэтому я заведомо всю ставку делал на init(), однако, оказалось почему-то, что init() отрабатывает только 1 раз при установке советника на график, при всех дальнейших перезапусках терминала эта функция не запускается (вчера запускалась).

Попробовал переместить код в индикатор - столкнулся с проблемой, что индикатор отрабатывает сразу до фактически запуска GUI терминала и естественно до коннекта, поэтому данные по истории счета недоступны.

Цикл while (!IsConnected()) { Sleep(1000) } приводит к зависанию терминала без прорисовки GUI.

Как обойти эти грабли без ручного запуска скрипта (пускай даже повешенного на горячую клавишу), ума не приложу. Кто в теме, помогите советом. Спасибо.
 
Последнее редактирование:

kolomatic

МАСТЕР
Регистрация
28.11.2010
Сообщения
1,710
Реакции
1,116
Поинты
0.000
однако, оказалось почему-то, что init() отрабатывает только 1 раз при установке советника на график, при всех дальнейших перезапусках терминала эта функция не запускается (вчера запускалась).
Тоже с таким сталкивался. Вообще init() должен запускаться и при запуске терминала, у после установки на график и после компила. Даже если отключены советники в настройках.
Методом тыка понял, что init() не выполняется, если нет коннекта с сервером. Возможно конечно, не единственная причина.
 

dkameleon

МАСТЕР
Регистрация
14.12.2006
Сообщения
4,237
Реакции
3,167
Поинты
0.000
запускай как скрипт, а не как советник :)
там только у некоторых брокеров ньюанс - не поступают временные тики по выходным. или что-то из этой оперы, в общем по выходным у меня не получалось определить часовой пояс у некоторых брокеров.


ПС. А у меня-то это всё сделано ;)
 
Сверху Снизу