При этом будет выделен буфер на 2010 элементов и 10 из них будет доступно.
...
Я понял, где-то так:
int reserved=0;// размер распределённой памяти//+------------------------------------------------------------------+//| изменение размера массива |//+------------------------------------------------------------------+int Resize(int size)
{
int step=4;// резервирование с шагом 2^4=16int new_reserv=0;
if((size>>step<<step)>=reserved)
{
reserved=((size>>step)+1)<<step;
new_reserv=reserved-size;// сколько памяти нужно дорезервировать ArrayResize(arr,size,new_reserv);
}
elseArrayResize(arr,size);
Print("ArrayResize(arr,"+size+","+new_reserv+"); reserved="+reserved);
return(size);
}
...
Вероятно в ближайшее время это может измениться.
А что не устраивает в теперешней схеме резервирования?
Не знаю баг это или не баг, но при оптимизиции советников основанных на тяжелых индикаторов типа CCFp (Кластерный индикатор) по окончании прохода на локальном агенте вылетает окошко: Strategy Tester Agent has stopped working. по одному окошку на каждого агента.
При закрытие этого окошка программа не вылетает а через пару секунд продолжает оптимизацию, причем результаты прохода записываются в отчет.
В коде советника присутсвует
void OnDeinit(const int reason) { IndicatorRelease(CCp_Handle); }
Если строка IndicatorRelease(CCp_Handle); закоментирована, то оптимизация проходит без ошибок.
Я не силен в програмировании, но возникает вопрос: Когда нужно в индикаторах и советних использовать данную функцию? Просто у меня в коде самого индикатора CCFp также используется деинициализация с освобождением хендлов кучи мувингов.
В последнее время возрос интерес к кластерному анализу рынка FOREX. MQL5 открывает новые возможности исследования закономерностей движения валютных пар. Важным преимуществом MQL5, по сравнению с MQL4, является возможность использования неограниченного количества индикаторных буферов. В данной статье описан пример построения мультивалютного индикатора.
Не знаю баг это или не баг, но при оптимизиции советников основанных на тяжелых индикаторов типа CCFp (Кластерный индикатор) по окончании прохода на локальном агенте вылетает окошко: Strategy Tester Agent has stopped working. по одному окошку на каждого агента.
При закрытие этого окошка программа не вылетает а через пару секунд продолжает оптимизацию, причем результаты прохода записываются в отчет.
Напишите в сервисдеск, пожалуйста. Приложите исходники и условия оптимизации.
В скрипте хочу использовать внешние переменные, чтобы перед его запуском можно было установить требуемые значение. В МТ4 это реализовывалось с помощью #property show_iputs, а в МТ5 так не получается (там есть #property script_show_inputs , но это ничего не дает). Если кто-нибудь сталкивался с таким вопросом, подскажите, как это сделать.
DenisR: В скрипте хочу использовать внешние переменные, чтобы перед его запуском можно было установить требуемые значение. В МТ4 это реализовывалось с помощью #property show_iputs, а в МТ5 так не получается (там есть #property script_show_inputs , но это ничего не дает). Если кто-нибудь сталкивался с таким вопросом, подскажите, как это сделать.
DenisR: В скрипте хочу использовать внешние переменные, чтобы перед его запуском можно было установить требуемые значение. В МТ4 это реализовывалось с помощью #property show_iputs, а в МТ5 так не получается (там есть #property script_show_inputs , но это ничего не дает). Если кто-нибудь сталкивался с таким вопросом, подскажите, как это сделать.
Блин... С терминалом в комплекте идёт столько примеров... мама не горюй... к примеру скрипт SymbolInfoSample.mq5
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
В своё время не прояснил этот вопрос теперь мучаюсь в сомнениях.
Как правильно резервировать память?
так
или такИ поправьте справку, а то очень двусмысленно.
ЗЫ В приведённых вариантах подразумевается что размер распределённой памяти с учётом резервирования должен быть 2016.
На данный момент работает следующим образом
При этом будет выделен буфер на 2010 элементов и 10 из них будет доступно.
Вероятно в ближайшее время это может измениться.
На данный момент работает следующим образом
При этом будет выделен буфер на 2010 элементов и 10 из них будет доступно.
Вероятно в ближайшее время это может измениться.
А почему не 2000 буферов из которых доступны 10?
Так логичней на мой взгляд.
На данный момент работает следующим образом
При этом будет выделен буфер на 2010 элементов и 10 из них будет доступно.
...
Я понял, где-то так:
...
Вероятно в ближайшее время это может измениться.
А что не устраивает в теперешней схеме резервирования?
Не знаю баг это или не баг, но при оптимизиции советников основанных на тяжелых индикаторов типа CCFp (Кластерный индикатор) по окончании прохода на локальном агенте вылетает окошко: Strategy Tester Agent has stopped working. по одному окошку на каждого агента.
При закрытие этого окошка программа не вылетает а через пару секунд продолжает оптимизацию, причем результаты прохода записываются в отчет.
В коде советника присутсвует
void OnDeinit(const int reason)
{
IndicatorRelease(CCp_Handle);
}
Если строка IndicatorRelease(CCp_Handle); закоментирована, то оптимизация проходит без ошибок.
Я не силен в програмировании, но возникает вопрос: Когда нужно в индикаторах и советних использовать данную функцию? Просто у меня в коде самого индикатора CCFp также используется деинициализация с освобождением хендлов кучи мувингов.
Не знаю баг это или не баг, но при оптимизиции советников основанных на тяжелых индикаторов типа CCFp (Кластерный индикатор) по окончании прохода на локальном агенте вылетает окошко: Strategy Tester Agent has stopped working. по одному окошку на каждого агента.
При закрытие этого окошка программа не вылетает а через пару секунд продолжает оптимизацию, причем результаты прохода записываются в отчет.
Участились/удлиннились обрывы подключения.
20110224
...
GI 1 Network 15:02:34 '728041': connection to MetaQuotes-Demo lost
HJ 0 Network 13:19:25 '728041': connecting to an access point with 83 % quality (previous: 83 %)
...
20110302
...
KJ 0 Network 08:53:17 '728041': scanning network for access points
IL 0 Network 08:54:14 '728041': scanning network finished
ME 0 Network 08:54:14 '728041': auto connecting to a better access point with 93 % quality (previous: 61 %)
LK 1 Network 08:54:14 '728041': connection to MetaQuotes-Demo lost
ES 0 Network 12:05:25 '728041': connecting to an access point with 92 % quality (previous: 0 %)
KN 0 Network 12:05:26 '728041': authorized on MetaQuotes-Demo via Access Point 1 Europe
MF 0 Network 12:05:26 '728041': terminal synchronized with MetaQuotes Software Corp.
OR 0 Network 15:08:22 '728041': scanning network for access points
QD 0 Network 15:09:18 '728041': scanning network finished
...
20110303
...
FI 1 Network 21:26:45 '728041': connection to MetaQuotes-Demo lost
PL 0 Network 10:10:49 '728041': connecting to an access point with 83 % quality (previous: 83 %)
...
В скрипте хочу использовать внешние переменные, чтобы перед его запуском можно было установить требуемые значение. В МТ4 это реализовывалось с помощью #property show_iputs, а в МТ5 так не получается (там есть #property script_show_inputs , но это ничего не дает). Если кто-нибудь сталкивался с таким вопросом, подскажите, как это сделать.
input-переменные подойдут?
В скрипте хочу использовать внешние переменные, чтобы перед его запуском можно было установить требуемые значение. В МТ4 это реализовывалось с помощью #property show_iputs, а в МТ5 так не получается (там есть #property script_show_inputs , но это ничего не дает). Если кто-нибудь сталкивался с таким вопросом, подскажите, как это сделать.