Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Где найти программиста? В сервисе Фриланс!
Денис
278
Денис 2011.06.17 17:57 

Есть некая последовательность сделок советника:


В целом МО>0 (пока), но гораздо более интересные результаты получаются, если дождавшись одного лося на демо, пропускать на другом терминале 2 следующие сделки. Интересует чисто теоретически, как это можно реализовать, желательно без .dll.

Файлы:
Alexey Volchanskiy
14052
Alexey Volchanskiy 2011.06.18 02:29  
sanctus:

Есть некая последовательность сделок советника:


В целом МО>0 (пока), но гораздо более интересные результаты получаются, если дождавшись одного лося на демо, пропускать на другом терминале 2 следующие сделки. Интересует чисто теоретически, как это можно реализовать, желательно без .dll.

А чем так пугает ДЛЛ? Я бы сделал ДЛЛ, в ней открывать memory mapped file и писать туда команды пропуска, как в обычный массив.

Если без ДЛЛ, то в принципе, можно попробовать добавить функцию CreateMutex в WinUser32.mqh и взводить мьютекс, если надо пропускать сделки, а на другом терминале смотреть, есть ли мбютекс или нет.

Можно сообщения посылать через PostMessage и принимать через PeekMessage

---------------------------------------

Бесплатный семинар по цифровой обработке сигналов для трейдеров

Rustamzhan Salidzhanov
7679
Rustamzhan Salidzhanov 2011.06.18 02:30  
Харош совать рекламу
Mikhail Dovbakh
3605
Mikhail Dovbakh 2011.06.18 04:29  
xrust:
Харош совать рекламу

не увидел рекламы... Просто сцылко.

Инфо полезно для ищуших.

Если нет нужды знать - не нужно хаять!

;)

Evgeniy Trofimov
2324
Evgeniy Trofimov 2011.06.18 06:48  

Можно взаимодействовать так: https://www.mql5.com/ru/code/9477

А можно вести параллельно виртуальные торги, воспользовавшись разработками, которые исследованы в статье: https://www.mql5.com/ru/articles/1578

Денис
278
Денис 2011.06.18 10:01  
Спасибо, последний вариант самый интересный.
Vadim Zhunko
5221
Vadim Zhunko 2011.06.18 10:17  
Вот ещё библиотека.
Alexey Volchanskiy
14052
Alexey Volchanskiy 2011.06.18 11:17  
sanctus:
Спасибо, последний вариант самый интересный.
Это точно, оптимизация должна проводится на лету, у меня так и сделано, только на C#. Слишком быстро сейчас меняется рынок.
Alexey Volchanskiy
14052
Alexey Volchanskiy 2011.06.18 11:32  
Zhunko:
Вот ещё библиотека.

Я почитал, что там память отжирается. Небольшой коммент.

Тут дело в том, что если вы выделяете под file mapping например 500 Мб памяти, то она выделяется в вирт. памяти по мере необходимости блоками по 4 Кб, а не сразу все 500 Мб. Может это вы и имели в виду, говоря, что память отжирается? То есть вы запросили 500 Мб и начали заполнять ее чем-то, например как массив. В Диспетчере задач будет видно, что потребление памяти программой растет скачками по 4 Кб.

Дело в том, что винда всегда затирает выделяемую память нулями, это делается для того, чтобы процесс не мог прочитать незатертые данные, которые могли остаться от другого процесса. Так что диспетчеру памяти Windows выгоднее выделять виртуалку по мере реальной необходимости, тем более, что все равно эти 500 Мб наверняка будут реально физически фрагментированы на много кусочков в ОЗУ.

Кстати, попробуйте на обычном С++ создать обычный массив 500 Мб (int arr[500*1024*1024/4]) и начать заполнять его, вы увидите ту же картину, память реально выделяется по мере заполнения массива кусками по 4 Кб.

То же и под .NET

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий