Не могу понять как написать одну функцию.
У меня в советнике рисуются линии и хочется сделать чтобы линии которые создались например больше 2х дней назад удалялись.
Подскажите как это сделать.
{
ObjectDelete(0,имя объекта);
}
Как то так
{
ObjectDelete(0,имя объекта);
}
Попробывал этот вариант, почему не работает, возможно из за того что имя объекта не правильно вписываю. Линий очень много получается. Может есть вариант с удалением всех объектов созданных более 2х дней назад.
Опять же прошу помочь с написание этой функции, так как опыта очень мало.
Заранее благодарен.
Попробывал этот вариант, почему не работает, возможно из за того что имя объекта не правильно вписываю. Линий очень много получается. Может есть вариант с удалением всех объектов созданных более 2х дней назад.
Опять же прошу помочь с написание этой функции, так как опыта очень мало.
Заранее благодарен.
Попробывал этот вариант, почему не работает, возможно из за того что имя объекта не правильно вписываю. Линий очень много получается. Может есть вариант с удалением всех объектов созданных более 2х дней назад.
Опять же прошу помочь с написание этой функции, так как опыта очень мало.
Заранее благодарен.
{
int total=ObjectsTotal(0);
for(int i=total-1; i>=0; i--)
{
string name=ObjectName(0,i);
if(TimeCurrent()>=ObjectGetInteger(0,name,OBJPROP_CREATETIME)+24*60*60*2)
{
ObjectDelete(0,name);
}
}
}
вот написал в виде отдельной функции удаляет все объекты созданные более 2 дней
{
int total=ObjectsTotal(0);
for(int i=total-1; i>=0; i--)
{
string name=ObjectName(0,i);
if(TimeCurrent()>=ObjectGetInteger(0,name,OBJPROP_CREATETIME)+24*60*60*2)
{
ObjectDelete(0,name);
}
}
}
вот такую ошибку выдает, пока незнаю как её решить.
"OdjectTotal" - ambiguous call to overloaded function with the same parameters
насчет кода, не хотелось бы показывать его.
вот такую ошибку выдает, пока незнаю как её решить.
"OdjectTotal" - ambiguous call to overloaded function with the same parameters
Напишите так:
Добавлено: а вообще лучше не лениться и явно указывать все параметры, даже если они стоят по-умолчанию:
Так, ошибка с "OdjectTotal" исправилась, но результата нету, линии не удаляются.
Возможно проблема с именем удаляемых обектов. Имя у линий состоит из времени создания + преписка.
Так, ошибка с "OdjectTotal" исправилась, но результата нету, линии не удаляются.
{
int total=ObjectsTotal(0,-1,-1);
for(int i=total-1; i>=0; i--)
{
string name=ObjectName(0,i);
if(TimeCurrent()>=ObjectGetInteger(0,name,OBJPROP_CREATETIME)+24*60*60*Days)
{
ObjectDelete(0,name);
}
}
ChartRedraw(0);
}
Советника тестирую в тестере. Может там этот момент просто не работает?
имя линий выгдядит так
2016.10.17 03:59:00DWd
2016.10.17 07:55:00UPd
В тестере
возвращает дату создания линии из реальной жизни, то есть "D'2016.11.13 15:57:29'".
Всего лишь нужно было запустить советник в режиме тестирования на истории и отследить возвращаемые параметры. Смотрите, я на локализацию проблемы потратил всего пять минут.
Добавлено:
ошибку описал в теме MetaEditor build 1470.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
У меня в советнике рисуются линии и хочется сделать чтобы линии которые создались например больше 2х дней назад удалялись.
Подскажите как это сделать.