Есть некая последовательность сделок советника:
В целом МО>0 (пока), но гораздо более интересные результаты получаются, если дождавшись одного лося на демо, пропускать на другом терминале 2 следующие сделки. Интересует чисто теоретически, как это можно реализовать, желательно без .dll.
А чем так пугает ДЛЛ? Я бы сделал ДЛЛ, в ней открывать memory mapped file и писать туда команды пропуска, как в обычный массив.
Если без ДЛЛ, то в принципе, можно попробовать добавить функцию CreateMutex в WinUser32.mqh и взводить мьютекс, если надо пропускать сделки, а на другом терминале смотреть, есть ли мбютекс или нет.
Можно сообщения посылать через PostMessage и принимать через PeekMessage
---------------------------------------
Бесплатный семинар по цифровой обработке сигналов для трейдеров
Можно взаимодействовать так: https://www.mql5.com/ru/code/9477
А можно вести параллельно виртуальные торги, воспользовавшись разработками, которые исследованы в статье: https://www.mql5.com/ru/articles/1578
Спасибо, последний вариант самый интересный.
Я почитал, что там память отжирается. Небольшой коммент.
Тут дело в том, что если вы выделяете под file mapping например 500
Мб памяти, то она выделяется в вирт. памяти по мере необходимости блоками по 4 Кб, а не
сразу все 500 Мб. Может это вы и имели в виду, говоря, что память
отжирается? То есть вы запросили 500 Мб и начали заполнять ее чем-то, например как массив. В Диспетчере задач будет видно, что потребление памяти программой растет скачками по 4 Кб.
Дело в том, что винда всегда затирает выделяемую память нулями, это делается для того, чтобы процесс не мог прочитать незатертые данные, которые могли остаться от другого процесса. Так что диспетчеру памяти Windows выгоднее выделять виртуалку по мере реальной необходимости, тем более, что все равно эти 500 Мб наверняка будут реально физически фрагментированы на много кусочков в ОЗУ.
Кстати, попробуйте на обычном С++ создать обычный массив 500 Мб (int arr[500*1024*1024/4]) и начать заполнять его, вы увидите ту же картину, память реально выделяется по мере заполнения массива кусками по 4 Кб.
То же и под .NET
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Есть некая последовательность сделок советника:
В целом МО>0 (пока), но гораздо более интересные результаты получаются, если дождавшись одного лося на демо, пропускать на другом терминале 2 следующие сделки. Интересует чисто теоретически, как это можно реализовать, желательно без .dll.