Object_get ("tmp"+Time[0], Time[0], High[0]+(gap+280)*Point, 138, Green, "Descriptions");
Скорее всего нужно добавить проверку, чтоб не пытался создавать одно и тоже:
void Object_get(string name_of_object, datetime time_of_bars, double gap_of_object, int code_of_char, color color_of_object, string text_of_object) { if(ObjectFind(0,name_of_object)<0) { ObjectCreate(name_of_object, OBJ_ARROW, 0, time_of_bars, gap_of_object); //рисуем стрелку вверх ObjectSet(name_of_object, OBJPROP_STYLE, STYLE_DOT); ObjectSet(name_of_object, OBJPROP_ARROWCODE, code_of_char); ObjectSet(name_of_object, OBJPROP_COLOR, color_of_object); ObjectSetText(name_of_object,text_of_object,10,"Times New Roman",color_of_object); } }
Скорее всего нужно добавить проверку, чтоб не пытался создавать одно и тоже:
У него имя везде " идинаково" ------>"tmp"+Time[0]
Добрый день.
имею такую функцию.
void Object_get(string name_of_object, datetime time_of_bars, double gap_of_object, int code_of_char, color color_of_object, string text_of_object)
{
ObjectCreate(name_of_object, OBJ_ARROW, 0, time_of_bars, gap_of_object); //рисуем стрелку вверх
ObjectSet(name_of_object, OBJPROP_STYLE, STYLE_DOT);
ObjectSet(name_of_object, OBJPROP_ARROWCODE, code_of_char);
ObjectSet(name_of_object, OBJPROP_COLOR, color_of_object);
ObjectSetText(name_of_object,text_of_object,10,"Times New Roman",color_of_object);
}
и вызов ее при определенных факторах
Object_get ("tmp"+Time[0], Time[0], High[0]+(gap+280)*Point, 138, Green, "Descriptions");
Все достаточно банально, вызвали нанесли на окно кружочек. Все прекрасно работает работает и в один прекрасный час, все подвисает. Тики бегут, а советник больше ничего не отрисовывает, пока его не перезагрузишь на данном окне. Причем из трех графикоф, может например завернуть только на одном, потом вырубить второй и останется работоспособным только на одном. или на двух сразу прекратит рисовать кружочки. Мучаюсь уже не один месяц - не знаю как побороть. терминал: 4.00 Build 950.
Есть еще одна проблема, если зависает терминал - все кружочки исчезают с графиков ровно до того места, где терминал был запущен. Те явно кружочки как и все остальное тупо валяться в память компа и комом сжирают память компьютера. В связи с чем, после недели работы - комп уже как i386 работает. Как заставить все это не копить в памяти - а сбрасывать и очищать память компьютера во время работы терминала без его перегруза?
Может вопрос не в эту ветку, пхните куда его отправить. Всем спасибо за советы и помощь!
Слышали такое выражение: "Хвост виляет собакой"?
Кстати, всех касается.
Добрый день.
Как заставить все это не копить в памяти - а сбрасывать и очищать память компьютера во время работы терминала без его перегруза?
А почему ты решил что проблема в этих кружочках?
То что после перезагрузки терминала не остаются кружочки связано с аварийной выгрузкой МТ. Там не только кружочки не остаются, а даже индикаторы и советник не останется если их поставить на график при последнем запуске МТ. Тоесть, запускаем МТ, ставим индикатор, советник, подвешиваем МТ, перезагружаем его и не находим ни индикатор ни советника...
Слышали такое выражение: "Хвост виляет собакой"?
Кстати, всех касается.
А почему ты решил что проблема в этих кружочках?
То что после перезагрузки терминала не остаются кружочки связано с аварийной выгрузкой МТ. Там не только кружочки не остаются, а даже индикаторы и советник не останется если их поставить на график при последнем запуске МТ. Тоесть, запускаем МТ, ставим индикатор, советник, подвешиваем МТ, перезагружаем его и не находим ни индикатор ни советника...
верно. вот это то и страно для меня. почем так происходит? это говорит что терминал все в памяти держит временной. что к чему. не я понимаю - быстрота все дела, но все это приводит к тормозам, особенно если какой сов с анализатором больших данных запускать. да даже пару анализаторов а 30мин графике и все, пару дней и терминал в перегруз. а без анализа никак
проблема может быть косвенной - каждый кружочек под собой имеет определенную функцию-анализ. в зависимости от условий и ставиться он на график = это раз. второе, каждое нанесение чего либо на график терминала-несет доп расходы по памяти - эт два. история тиков зранящяяся в памяти эт три. все приводит где то да к зависанию одного графика. повторюсь, одного графика а не всего терминала. Возможно где то стопору какой нить if. попробую вчера поставил контрольные точки, посмотрю на чем зависнит в очередной раз.
да и замечено что больше всего и чаще всего зависон на золоте и фунте.
верно. вот это то и страно для меня. почем так происходит? это говорит что терминал все в памяти держит временной. что к чему. не я понимаю - быстрота все дела, но все это приводит к тормозам, особенно если какой сов с анализатором больших данных запускать. да даже пару анализаторов а 30мин графике и все, пару дней и терминал в перегруз. а без анализа никак
проблема может быть косвенной - каждый кружочек под собой имеет определенную функцию-анализ. в зависимости от условий и ставиться он на график = это раз. второе, каждое нанесение чего либо на график терминала-несет доп расходы по памяти - эт два. история тиков зранящяяся в памяти эт три. все приводит где то да к зависанию одного графика. повторюсь, одного графика а не всего терминала. Возможно где то стопору какой нить if. попробую вчера поставил контрольные точки, посмотрю на чем зависнит в очередной раз.
да и замечено что больше всего и чаще всего зависон на золоте и фунте.
Не всё в памяти держит, а текущую конфигурацию скидывает в .ini файл при нормальном завершении работы МТ.
Вот ещё вопрос: Это в тестере зависание происходит?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день.
имею такую функцию.
void Object_get(string name_of_object, datetime time_of_bars, double gap_of_object, int code_of_char, color color_of_object, string text_of_object)
{
ObjectCreate(name_of_object, OBJ_ARROW, 0, time_of_bars, gap_of_object); //рисуем стрелку вверх
ObjectSet(name_of_object, OBJPROP_STYLE, STYLE_DOT);
ObjectSet(name_of_object, OBJPROP_ARROWCODE, code_of_char);
ObjectSet(name_of_object, OBJPROP_COLOR, color_of_object);
ObjectSetText(name_of_object,text_of_object,10,"Times New Roman",color_of_object);
}
и вызов ее при определенных факторах
Object_get ("tmp"+Time[0], Time[0], High[0]+(gap+280)*Point, 138, Green, "Descriptions");
Все достаточно банально, вызвали нанесли на окно кружочек. Все прекрасно работает работает и в один прекрасный час, все подвисает. Тики бегут, а советник больше ничего не отрисовывает, пока его не перезагрузишь на данном окне. Причем из трех графикоф, может например завернуть только на одном, потом вырубить второй и останется работоспособным только на одном. или на двух сразу прекратит рисовать кружочки. Мучаюсь уже не один месяц - не знаю как побороть. терминал: 4.00 Build 950.
Есть еще одна проблема, если зависает терминал - все кружочки исчезают с графиков ровно до того места, где терминал был запущен. Те явно кружочки как и все остальное тупо валяться в память компа и комом сжирают память компьютера. В связи с чем, после недели работы - комп уже как i386 работает. Как заставить все это не копить в памяти - а сбрасывать и очищать память компьютера во время работы терминала без его перегруза?
Может вопрос не в эту ветку, пхните куда его отправить. Всем спасибо за советы и помощь!