[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 377

 
Zhunko:

Все скрипты и советники работают каждый в своём потоке. Торговые приказы от них собираются в отдельную очередь. Затем, распределяются по свободным торговым потокам. Количество свободных торговых потоков может быть равно 8.

Print() выводит то, что есть для вывода на момент вывода. Определить наличие многопоточности можно через лог. Сделайте вывод в самом начале функции start() и в самом конце. Между ними поставте задержку. Запустите несколько экспертов на разных инструментах. Посмотрите в лог. Увидите, что между выводами одного эксперта будут выводы от других экспертов.

Т.е. отвечая на вопрос Arles , если у меня один советник произвел учет ордеров и на время "вздремнул" то в этот момент другой советник не перешедший границ выделенных средств (предположим 80% от депозита - в обоих советниках такой размер будет) выставит ордер (войдет в сделку по рынку). И когда 1-ый возобновит работу (а терминал по управлению капиталом уже был посчитан накануне), то он тоже может открыть сделку уже превышающую выделенные лимиты советником?

Если эту сит-ию (гипотетически) размножить на несколько советников, то может возникнуть такая, где Риск-Менеджмент окажется в критической сит-ии?

Я правильно понимаю данную многопоточность? - Если так, то с финансовой точки зрения это, конечно, бардак. Но, т.к. вероятность такового невелика на маленьких счетах, то это лишь гипотетически. А на больших счетах, наверное будут сами писать что-то. Но, все-таки, получается что это так?

И у меня вопрос - это официальная позиция или это лишь предположение и опыты наподобие моих?
 
Chiripaha:

Т.е. отвечая на вопрос Arles , если у меня один советник произвел учет ордеров и на время "вздремнул" то в этот момент другой советник не перешедший границ выделенных средств (предположим 80% от депозита - в обоих советниках такой размер будет) выставит ордер (войдет в сделку по рынку). И когда 1-ый возобновит работу (а терминал по управлению капиталом уже был посчитан накануне), то он тоже может открыть сделку уже превышающую выделенные лимиты советником?

Если эту сит-ию (гипотетически) размножить на несколько советников, то может возникнуть такая, где Риск-Менеджмент окажется в критической сит-ии?

Я правильно понимаю данную многопоточность? - Если так, то с финансовой точки зрения это, конечно, бардак. Но, т.к. вероятность такового невелика на маленьких счетах, то это лишь гипотетически. А на больших счетах, наверное будут сами писать что-то. Но, все-таки, получается что это так?

И у меня вопрос - это официальная позиция или это лишь предположение и опыты наподобие моих?

Про синхронизацию чего-нибудь знаете?

В MQL4 есть функция для синхронизации на атомарном уровне.

 
Zhunko:

Про синхронизацию чего-нибудь знаете?

В MQL4 есть функция для синхронизации на атомарном уровне.


Вадим, а вы пробовали применять ее? Нифига она не синхронизирует. Недавно игрался с ней. Очередь самому надо выстраивать. К сожалению., она всего лишь позволяет сократить код строчки на три. Ну или я чего-то не понимаю. 
 
Т.е. просто применение этой функции позволяет обеспечить только чтобы в один момент времени работал один советник, но очередь не выстраивается, один сосветник может простоять, а другой два раза быть вызван.
 
Zhunko:

Про синхронизацию чего-нибудь знаете?

В MQL4 есть функция для синхронизации на атомарном уровне.

За ссылку спасибо - теперь у меня есть предположения как более грамотно организовать эту многопоточность. Хотя это именно предположение - решения пока не вижу (в значении разрешения текущего вопроса). И добавляет позицию Игоря про "семафор".

Тем не менее - это Вы достроили уже другую модель. Там, где эти процессы выстроены, якобы (у меня сомнения), согласованно.

А я пытаюсь ответить на вопрос Arles и теперь уже мой - в той модели, которую я чуть выше описал. Вы, все-таки, ушли от ответа на мой вопрос. В этой модели получается рассогласование Риск-Менеджмента.

Про синхронизацию я не знаю. Я - новичок в программировании. Но, зато, я неплохо умею считать деньги, т.е. ориентируюсь в финансах. : ))

И мои финансовые навыки подсказывают мне, что "музыка может перестать звучать..." (из х/ф "Маржин-Колл") при таком подходе. : ))
 
Integer:

Вадим, а вы пробовали применять ее? Нифига она не синхронизирует. Недавно игрался с ней. Очередь самому надо выстраивать. К сожалению., она всего лишь позволяет сократить код строчки на три. Ну или я чего-то не понимаю. 
Как раз в тему моих сомнений...
 

Я Вам заявлю (именно в такой форме) так!       (с шуткой прошу воспринимать)

Мои опыты, не смотря на все предложения проверить многопоточность показывают, что пока я блоки местами на графиках не поменяю - нифика не фурычит. Как только поменял - сразу все вопросы снялись.

Поэтому буду в моих созиданиях исходить пока именно из этого постулата.

А то, что Риск-Менеджмент может "загнуться" не по моей воле - За это, Вадим, спасибо, что показали и обратили на это внимание. Это поможет избежать подобной ситуации. Ну, тем, кто в этом разбирается.

 

Доброо дня! Со строкой е омпилируется, подскажите пожалуста

//Comment("OrdersProfit  ",OrdersProfit(),"AccountBalance  ",AccountBalance(),"Equity  ",AccountEquity());
 
Dimka-novitsek:

Доброо дня! Со строкой е омпилируется, подскажите пожалуста

 


Comment("OrdersProfit ",OrdersProfit(),"AccountBalance ",AccountBalance(),"Equity ",AccountEquity());

Такие ошибки легко видно в редакторе при компиляции. 

 
Спасибо!!!!!!     Оно ссылалось вообщ на функцию...  Не знаю, как я так написал!