Ответить
20.04.2010, 12:42
Аватар для Frim_mgn
Frim_mgn Frim_mgn вне форума Активный участник
Регистрация: 18.01.2010 / Сообщений: 83
Поблагодарили 32 раз(а) / Репутация: 37

По умолчанию Оптимизация работы кода индикатора\советника

Пишу на mq4 сравнительно недавно, поэтому прошу опытных прораммистов помочь!
Заметил иногда кидаешь сложного советника или инидкатор с множеством вычислений и терминал зависает, либо поработает несколько минут и зависает потом) При это проц грузится почти на всю, и оперативы съедает около 400-500 Мб. У меня мощный ноутбук 2х ядерный проц 2.6 и оперативый 4Гб. Зацикливания нету

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

Или это просто язык такой, что сложные вычисления просто вешают терминал? Я больше конечно склоняюсь к тому, что все таки дело в руках пишушего))

Заранее спасибо
20.04.2010, 12:57
Аватар для Чингачгук
Чингачгук Чингачгук вне форума Активный участник
Регистрация: 14.04.2010 / Сообщений: 137
Поблагодарили 25 раз(а) / Репутация: 36
Нет, тут дело не в руках, а именно в терминале. Обещают, что в МТ5 скрипты будут работать намного быстрее.
20.04.2010, 18:10
Аватар для ale002
ale002 ale002 вне форума ::: __,,,^._.^,,,__ :::
Регистрация: 28.02.2010 / Сообщений: 1,246
Поблагодарили 2,509 раз(а) / Репутация: 2535
У меня не оч большой опыт с MQL, с др языками - порядочный. Вогнать систему в ступор не проблема любым языком. Елементарные правила для MQL - ограничивать кол-во вызовов внешних индюков (iCustom), иногда лучше перенести код индюка в советник; не пересчитывать всю историю с нуля по каждому тику (использовать по назначению IndicatorCounted()); не увлекаццо слишком сложными if в циклах, лучше разбить на неск вложенных
12.05.2010, 14:02
Аватар для costy
costy costy вне форума Активный участник
Регистрация: 16.09.2009 / Сообщений: 40
Поблагодарили 73 раз(а) / Репутация: 74
Пишу на mq4 сравнительно недавно, поэтому прошу опытных прораммистов помочь!
Заметил ... все таки дело в руках пишушего))

Заранее спасибо
Оперативка это многомерные массивы (их размерность),
процессор висит, это не правильно зациклено, каждый раз считает все бары ...
Код HTML:
for(i=0; i < Bars-IndicatorCounted(); i++)
правильно а вот
Код HTML:
for(i=0; i < Bars; i++)
нет.
это основная проблема у новичков.
Функции, библиотеки прочее не вызывают больших ресурсов.
А, еще создание объектов (большое кол-во >20000) занимает довольно большое кол-во времени.
Алерт и коментарии тоже тормозят, а так вроде все.
Ответить


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рубрика: оптимизация кода и подбор железа для ускорения оптимизации советников Алексей Что обсуждают на других форумах 0 16.06.2010 11:00
Как раскрыть алгоритм работы советника, не имея советника FXWizard Практика трейдинга 6 27.08.2008 05:13


Текущее время: 15:26. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO