[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 379

 
ellizii писал(а) >>

Доброй... Ночи.

Суть проблемы в следующем:

Имеется советник, но функция OrderClose() в нем не работает. В чем причина никак не пойму. Заранее благодарен за помощь.

Может быть эта команда пытается закрыть БАЙ-ордер, а для этого, по моим познаниям, надо указать цену BID, в советнике фиксированная цена ASK

 
kon12 писал(а) >>

Люди, помогите!!! Мозги сломал, но знаний не хватает. В индикаторе использую функции WindowPriceMax и WindowPriceMin. Беда в том, что при переходе на другой таймфрейм для начального расчета индикатора эти функции берут данные с предыдущего окна (например, предыдущий график был 4Н и мах и мин окна были допустим 1.4000 и 1.2000, перехожу на D, и мах и мин окна становятся 1.5000 и 1.1000, но сначала индикатор расчитывается по старым значениям мах и мин, и только с приходом нового тика считает новые значения. А нового тика можно ждать долго, например ночью... Как обойти эту заморочку?

Все перепробовал, все функции для работы с графиками, WindowFirstVisibleBar, ArrayMaximum и т.д. Похоже на то, что при переходе на новый таймфрейм, новую плотность графика и т.д. до прихода первого тика все данные в памяти старые и первое построение идет по ним. Может у кого есть еще идеи, посоветуйте, попробую!
 
kon12 писал(а) >>
Все перепробовал, все функции для работы с графиками, WindowFirstVisibleBar, ArrayMaximum и т.д. Похоже на то, что при переходе на новый таймфрейм, новую плотность графика и т.д. до прихода первого тика все данные в памяти старые и первое построение идет по ним. Может у кого есть еще идеи, посоветуйте, попробую!

Может просто не надо усложнять так. Посмотри стандартный WPR, он нормально отрабатывает

 
splxgf >>:

Мы о каких-то разных вещах говорим. Если говорить о солярках, то работали они совершенно на другой архитектуре процов, и за счет этой архитектуры 2-3 раза совсем не кажутся удивительными. А вот если бы линух поставили на то же самое железо что и SunOS, то разница была бы не такой значительной.

. . .


Я не упомянул что целью тех проверок была не только повышенная производительность под Линюксом,

но и очень значительное снижение стоимости железа и OS при переходе с Sun на Linux. Спасибо за детальное объяснение!

Может Вы сможете объяснить следующий момент - если я запускаю две оптимизации параллельно, становится заметно

очень интенсивное обращение к Жесткому Диску - это нормально? Каждый процесс занимает 30-50 МБ памяти, при том

что свободной памяти остается около 2 ГБ и ничто другое не грузит CPU. Боюсь как бы диск не крякнулся. Что можно

предпринять? (Стоит ли запускать два процесса одновременно?)

 
chief2000 >>:
Может Вы сможете объяснить следующий момент - если я запускаю две оптимизации параллельно, становится заметно

очень интенсивное обращение к Жесткому Диску - это нормально? Каждый процесс занимает 30-50 МБ памяти, при том

что свободной памяти остается около 2 ГБ и ничто другое не грузит CPU. Боюсь как бы диск не крякнулся. Что можно

предпринять? (Стоит ли запускать два процесса одновременно?)

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

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

 

Только начал изучать MQL собрал своего эксперта и в связи с этим вопрос к профи:

Как сделать так (точнее что прописать в коде), чтоб при запуске эксперта создавался шаблон с набором индикаторов и загружался в окно инструмента.

Или просто как подгрузить шаблон при старте эксперта.

немного коряво объяснил

 
splxgf >>:

Смотри внимательно за расходом памяти, 40-50 мегабайт это хорошо, но почему-то у меня процесс terminal занимает от 300 метров до гига с лишним.


Есть один трюк, который помог значительно снизить память при оптимизации (бежала оптимизация по 4-м параметрам).

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

только одно голое окно), затем установить "Макс. Баров в Окне" в исходное положение = 65000 Баров (а "Макс Баров

в Истории" по максимуму), после чего обязательно перегрузить МТ4. До этих изменений абсолютно та же самая

оптимизация занимала 300+ МБ. Расход памяти проверял через Task Manager.

И еще (на память это видимо не влияет, но может быть полезным) - перед каждой Оптимизацией или Тестированием - "Стереть

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

 
walker_ >>:

...Как сделать так (точнее что прописать в коде), чтоб при запуске эксперта создавался шаблон с набором индикаторов и загружался в окно инструмента.

Или просто как подгрузить шаблон при старте эксперта.

Назовите шаблон именем советника, тогда в тестере он автоматически подгрузится при старте одноименного эксперта.

 
granit77 >>:

Назовите шаблон именем советника, тогда в тестере он автоматически подгрузится при старте одноименного эксперта.

Так просто? понял, Спасибо!

А как с помощью советника создать шаблон?

 
Здравствуйте. Уважаемый программисты, подскажите пожалуйста, можно ли в коде советника реализовать работу от любой графической линии, будь она нарисована в ручную или индикатором? Например имеем на графике линию (вертикальную, горизонтальную, канал или фибо например и при пересечение любой линии советник опознавал её не по названию, а именно по графики и начинал работу?
Причина обращения: