MemoryException 47751964592 bytes not available, 0 heapmin result. что это и как с этим бороться?
подскажите пожалуйста что за зверь / откуда / и что с ним делать.
А если серьезно - работает что-нибудь из скриптов\индикаторов советников? Может что-то делали перед этим?
А если серьезно - работает что-нибудь из скриптов\индикаторов советников? Может что-то делали перед этим?
да работает индикатор собственно..один. причина в нём, но пока не найдена точно.
он получает данные из таблицы сделок.
чем эта строчка может грозить?
он получает данные из таблицы сделок.
в смысле тики запрашивает? а покажите эту строчку
да и проблема именно в запрашиваемых тиках, сейчас провожу эксперименты: если так
int rest = CopyTicks(Symbol(),ticks,COPY_TICKS_TRADE,0,20000);
то проблемы нет
а изначально написано так:
datetime mass_temp[]; int rest2 = CopyTime(_Symbol,_Period,0,1,mass_temp); if (rest2 <= 0) {return(false);} if (timer==2) { string u = TimeToString(mass_temp[0],TIME_DATE); datetime y = StringToTime(u); datetime o = y-((3600*24)*3); time_stop = (ulong)o*1000; } MqlTick ticks[]; ArraySetAsSeries(ticks,true); int rest = CopyTicks(Symbol(),ticks,COPY_TICKS_TRADE,time_stop,-1); if(rest > 0 && rest2 > 0)при первом запуске загружаю 2(3) дня. а при последующих только последние данные
но якобы не хватает памяти при каждом запуске
да и проблема именно в запрашиваемых тиках, сейчас провожу эксперименты: если так
то проблемы нет
а изначально написано так:
но якобы не хватает памяти при каждом запуске
Может где то утечка памяти. Попробуйте последить (через диспетчер задач) за размером используемой памяти до помещения индикатора на график и после во время его работы.
int rest = CopyTicks(Symbol(),ticks,COPY_TICKS_TRADE,time_stop,-1);
наверно смысл в том что: последний параметр должен быть Uint а у меня там знак -
если поставить 0. то строчка про память не вылазит.
а если я хочу получить все данные до конца массива разве -1 не могу поставить.? что ещё там можно указать ? для массивов вроде какая то константа была
наверно смысл в том что: последний параметр должен быть Uint а у меня там знак -
если поставить 0. то строчка про память не вылазит.
а если я хочу получить все данные до конца массива разве -1 не могу поставить.? что ещё там можно указать ? для массивов вроде какая то константа была
Тип данных uint это положительные целые числа. Почитайте внимательно документацию по этой функции
from
[in] Дата, начиная с которой запрашиваются тики. Указывается в миллисекундах с 01.01.1970. Если параметр from=0, то отдаются последние count тиков.
count
[in] Количество запрашиваемых тиков. Если параметры from и count не указаны, то в массив ticks_array[] будут записаны все доступные последние тики, но не более 2000.
знаю ,
знаю , как мне получить данные в CopyTicks все от указанной даты ? что можно указать в CopyTicks кроме -1 ?
https://www.mql5.com/ru/docs/series/copyticks

- www.mql5.com

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
подскажите пожалуйста что за зверь / откуда / и что с ним делать.
(комп не виснет)
в журнале надпись - MemoryException 47751964592 bytes not available, 0 heapmin result
MT5 B 1940.