Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 791

 
ukrop1203:
Нет, только "loaded successfully" и "removed".

да, видел, попробовал Ваш код загрузить, там вылет по

2019.03.26 19:38:16.053 Stack overflow

попробоавал глобально описанные переменные перенести в секцию OnStart() не  помогло, наверное где то в коде большие обьемы данных у Вас, разбираться нужно что делаете, да и код довольно не оптимально написан, я не смогу вот так слету помочь


 

Кароче я проморгал вот это в журнале, у меня в скрипте используются большие массивы double(3 массива по 864000). Уменьшил в 10 раз, все пашет, я в низком уровне не разбираюсь, скажите это что за железо нужно прокачивать для того, чтобы такие вещи работали, просто оперативку добавить? Я конечно не буду спецом для проги покупать, я ее перепишу, просто интересно.


 
ukrop1203:

Кароче я проморгал вот это в журнале, у меня в скрипте используются большие массивы double(3 массива по 864000). Уменьшил в 10 раз, все пашет, я в низком уровне не разбираюсь, скажите это что за железо нужно прокачивать для того, чтобы такие вещи работали, просто оперативку добавить? Я конечно не буду спецом для проги покупать, я ее перепишу, просто интересно.


3 х 8 х 864000 = 20736000 байт

это очень много, МТ4 32-х разрядный, не хочу искать инфу, но по моему для 32-х разрядных программ ограничение на выделяемую память в 2 Гб

сам ПК тут ни причем

ЗЫ: пересчитал 20736000 байт это 20 Мб, в принципе не много, наверное у Вас статически описанные массивы, попробуйте на динамические массивы заменить, и потом изменить размер, может быть поможет - давно не читал как память в МТ распределяется, но вылет скрипта был по переполнению стека - где то памяти много зарезервировали

 
Как создать массив через new чтобы он в хим записался? Я понял только как создать класс с массивом в поле, но это как-то странно было бы юзать, в c++ вроде вот так: int *array = new int[n]; Тут не работает.
 
ukrop1203:
Как создать массив через new чтобы он в хим записался? Я понял только как создать класс с массивом в поле, но это как-то странно было бы юзать, в c++ вроде вот так: int *array = new int[n]; Тут не работает.
double x[];
ArrayResize(x,1000);

https://docs.mql4.com/ru/array/arrayresize

ArrayResize - Операции с массивами - Справочник MQL4
ArrayResize - Операции с массивами - Справочник MQL4
  • docs.mql4.com
При успешном выполнении функция возвращает количество всех элементов, содержащихся в массиве после изменения размера; в противном случае возвращает -1 и массив не меняет размеры. Функция может быть применена только к динамическим массивам. При этом необходимо иметь ввиду, что нельзя изменять размер для динамических массивов, назначенных в...
 
Подскажите пожалуйста как в Print отобразить цену ASK пять знаков после точки, а не четыре?
 
nkss2020:
Подскажите пожалуйста как в Print отобразить цену ASK пять знаков после точки, а не четыре?
Print("Ask: ",DoubleToString(Ask,5));
 
Есть дата к примеру 26.03.2019 как из нее высчитать 3 дня, что бы в Comment приходило 23.03.2019 ???
 
ponochka:
Есть дата к примеру 26.03.2019 как из нее высчитать 3 дня, что бы в Comment приходило 23.03.2019 ???
Дата-3*PeriodSeconds(PERIOD_D1);
 
Alexey Viktorov:

Это ты сутки отнял

ЗЫ. И сам удалился...

Причина обращения: