Мой индюк, выкладываю на рассмотрение

 

Добрый день парни,

выкладываю индюк, который показывает уровни дня и недели (месяца ручки не дошли, да и вообще давно тут не появлялся, просто вытащил из архива :) )

Вообщем говорите что и как, просто критика интересна.

Сам не торгую, так для любопытства, да и на 5-ку переходить пора, но с кодом маленько запарился.

Вообщем не судите за корявый код :)

С уважением, Doctors

Файлы:
 
Как раз подбираю уровневый индикатор.. Твой вполне нормальный. Единственное - чехорда с раскраской сессий.
 
DOCTORS у меня вопрос по индикатору ? Почему при переключении таймфремов он стирает все трендовые линии как это можно исправить .
 
kafa:
DOCTORS у меня вопрос по индикатору ? Почему при переключении таймфремов он стирает все трендовые линии как это можно исправить .



Увы косяк индюка :(((

Условие обновления кривые, он стирает ВСЁ... надо переделывать :(

 
Heroix:
Как раз подбираю уровневый индикатор.. Твой вполне нормальный. Единственное - чехорда с раскраской сессий.


Ох, я выложил не ту версию... поищу, там была возможность отключать тайм серии. А если нужна корретиктировка- в свойствах ищите time= и указыайте время. И еще нет макс/мин месяцев, хотя в свойствах указано, просто руки не дошли...
 
выложили бы в кодебейс что мелочиться то ? картинка тоже не помешает
 
excelf:
выложили бы в кодебейс что мелочиться то ? картинка тоже не помешает

А можно? Без шуток.
 
DOCTORS Вы будете переделывать индикатор ? Если нет времени то хотябы подскажите в каком направлении копать,начинать надо от ObjectsDeleteAll(); на что её нужно заменить ? Может кто из ГУРУ ПОДСКАЖЕТ.
 

Kafa Вы правы.

Там проблема в том, что я по массиву обзывал объекты... Сложно в обратном порядке удалить.

 
DOCTORS:

Kafa Вы правы.

Там проблема в том, что я по массиву обзывал объекты... Сложно в обратном порядке удалить.

Не нужно в обратном порядке: при создании объектов в индикаторе присваивайте им уникальный, но одинаковый префикс. Затем удаляйте циклом все объекты с этим префиксом - это десятки раз обсуждалось и примеров кодов полно. Например, так:

/// Удаление всех объектов с префиксом prefix
int deleteObjectsByPrefix(string prefix, bool onlyPrefix = true)
{
        int obj_total = ObjectsTotal();
        string name="";
        int err = GetLastError();
        int Delcount = 0;
        int Objcount = 0;
        for (int i = obj_total - 1; i >= 0; i--)
        {
                name = ObjectName(i);
                bool condition = false;
                if(onlyPrefix)
                    condition = (StringFind(name, prefix,0) == 0);
                else 
                    condition = (StringFind(name, prefix) != -1);
                if (condition)
                {
                   Objcount++;
                        if(ObjectDelete(name))Delcount++;
                        else
                        {
                            err = GetLastError();
                            Print("Error(",err,") ",ErrorDescription(err)); 
                        }
                }                       
        }
        return(Delcount-Objcount);
}