Обсуждение статьи "Параллельные вычисления в MetaTrader 5 штатными средствами" - страница 2

 
papaklass:

 

А как Ваш метод применить на чемпионате? Правила: Один эксперт и один график. Позволят ли организаторы запускать шпионов на другие графики? 

Вы не верно трактуете правила.

III. Программы Экспертов (Expert Advisors) для MetaTrader 5

...

3. Каждый эксперт запускается на отдельном терминале с одного счета и только на одном графике, выбранном Участником

4. Мультивалютные эксперты могут использовать любые валютные пары из 12 доступных.

...

Это означает что эксперт будет присоединён к одному чарту, а конкретно к тому, символ и период которого укажет участник в профайле.

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

Вы ведь находитесь на терминале один и никому не мешаете.

 
papaklass:

 

А как Ваш метод применить на чемпионате? Правила: Один эксперт и один график. Позволят ли организаторы запускать шпионов на другие графики? 

Можно. Urain уже ответил. В дополнение: вместо Мультивалютный обработчик тиков OnTickMarketWatch используйте это Мультивалютный обработчик событий OnTick(string symbol) или что-то подобное. Проблем не будет.
 

Одиночный проход экспертом начинается с 0-го бара

      FindPrognoze(_Symbol,CurPattern,0,HistoryLen,ExistsPrognozeLen,
                   Prognoze,MaxRating,HistPatternBarStart);

а индикаторам задания раздаются не с 0 а с  PatternLen, т.е. сутки назад на минутном ТФ

         int handle=iCustom(s,_Period,path+"i-Thread",
                            GlobalVarPrefix,t,_Symbol,PatternLen,
                            PatternLen+t*HistPartLen,HistPartLenPlus);

В итоге решения получаются разными.

 

Спасибо за классную статью, а особенно за мини урок по связи советника и индикатора через глобальные переменные. 

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

Только что сделал, всё работает на ура.

Также, советник является мультивалютным и ваша статья помогла понять. как можно распределить вычислительную нагрузку.

Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
  • www.mql5.com
В своей статье  я сделал достаточно убедительные тесты, доказывающие тот факт, что далеко не каждый вызов пользовательского или даже технического индикатора в коде - это самый оптимальный вариант для обработки им промежуточных расчетов в разрабатываемом индикаторе. Итоговый результат по скорости своего исполнения может оказаться значительно...
 
Pseudo-Indicator with Asynchronous Multi-Threaded Calculations Demo
Pseudo-Indicator with Asynchronous Multi-Threaded Calculations Demo
  • www.mql5.com
This indicator is a pseudo-indicator w/o buffers. Its only purpose is to demonstrate multi-threaded calculations technique. The indicator can issue commands for lenghty calculations which are performed in separate threads, created for chart objects with worker expert adviser. The classes provided in the included header file...
Причина обращения: