Асинхронное и многопоточное программирование в MQL - страница 28
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Print, ASSERT, DEBUG. Штатный отладчик в этом случае не использую...
Да, в этом и неудобство. Почти, как в старом MQL4.
А насколько такая "многопоточность" соответствует своему понятию? Можно ли разбить задачи программы на потоки используя эту функцию?
Для определенных задач на 100%. Например нужно управлять сделками - Тралить или что-то еще.
Эту задачу можно выполнять на агенте на каждом тике хоть сколько долго и ГУИ при этом будет продолжать работать.
При такой схеме делаются защиты
ЗЫ Каким флагом пользуетесь для определения слейв/мастер режиме советника? В MT5 с этим просто - если OBJ_CHART, то слейв. А в MT4? У меня во входных был datetime, поэтому легко решал задачу через отрицательный datetime. А вот без input не пробовал.
Для определенных задач на 100%. Например нужно управлять сделками - Тралить или что-то еще.
Эту задачу можно выполнять на агенте на каждом тике хоть сколько долго и ГУИ при этом будет продолжать работать.
При такой схеме делаются защиты
Да, защита нужна, как и всегда.
Файлы надо разумно использовать. Только когда нужно. Синхронизируются ведь только моменты существенного изменения окружения / состояния, которые агент сам не может распознать.
Копировщики обычно работают на VPS, поэтому не очень страшно.
Копировщики обычно работают на VPS, поэтому не очень страшно.
Бедные VPS... выше дополнил вопрос.
Пока темный лес. Функция создает сохраненную копию графика и далее, можно открыть новый график из советника и запустить применить к нему сохраненный шаблон, и при этом, копия советника запуститься на том графике?
1.Пользователь помещает советник на чистый график.
2. Советник создает шаблон (с самим собой на графике)
3. Советник создает новый график (OBJ_CHART или обычный, в случае МТ4)
4. Советник применяет шаблон к новому графику.
5. На новом графике запустилась копия советника, теперь она должна понять что это агент, а не главный советник :)
6. Они начинают общаться.
Живут долго и счастливо и умирают в один день :)
Бедные VPS... выше дополнил вопрос.
Копир без файлов не сделать (для маркета). И файлы синхронизации торгового окружения между терминалами занимают гораздо больше операций чем синхронизация между агентами.
Агент в МТ4 определяю по наличию соответствующих глобальных переменных, которые устанавливает главный советник перед применением шаблона к новому графику.
Бедные VPS... выше дополнил вопрос.
Надо учитывать, что ОС не топорно пишет на диск, она умеет кэшировать. Не помню где, но в винде даже настройка где-то есть.
1.Пользователь помещает советник на чистый график.
2. Советник создает шаблон (с самим собой на графике)
3. Советник создает новый график (OBJ_CHART или обычный, в случае МТ4)
4. Советник применяет шаблон к новому графику.
5. На новом графике запустилась копия советника, теперь она должна понять что это агент, а не главный советник :)
6. Они начинают общаться.
Живут долго и счастливо и умирают в один день :)
Круто!)) Спасибо!
Да, эта та самая многопоточность. Нужно запустить для каждой тяжелой задачи копию советника на отдельном графике через шаблон и указать этой копии, чтобы она выполняла только нужную функцию. Остальные функции копии могут отдыхать.
А общение через ресурсы с копиями на обычных графиках (не OBJ_CHART) будет происходить? Или там какие то ограничения?