Пивоты

Индикаторы, написанные участниками форума. Делимся своими наработками.
Ответить
Сообщение
Автор
Евгений
Сообщения: 34
Зарегистрирован: Вс авг 06, 2006 1:46 pm

Пивоты

#1 Сообщение Евгений » Пт сен 15, 2006 8:52 am

Вот наколбасил линейку индюков на основе пивотов.
В архиве Мид, Фиб, Sup&Res, Camarilla В общем вроде все пивотные.
Угощайтесь так сказать...
А вот с зигзагом покуда помочь не могу, с зигзагом проблемы :? :(
Вложения
Pivots.zip
Индикаторы на основе пивота.
(211.62 КБ) 1610 скачиваний

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

Re: Пивоты

#2 Сообщение Terranin » Пт сен 15, 2006 2:22 pm

Евгений писал(а):Вот наколбасил линейку индюков на основе пивотов.
В архиве Мид, Фиб, Sup&Res, Camarilla В общем вроде все пивотные.
Угощайтесь так сказать...
А вот с зигзагом покуда помочь не могу, с зигзагом проблемы :? :(
В следующем билде будут средства для рисования зигзага. Я уже сделал но не проверил пока. Т.е. рисование линий между точками индексного буфера.

Евгений
Сообщения: 34
Зарегистрирован: Вс авг 06, 2006 1:46 pm

Re: Пивоты

#3 Сообщение Евгений » Пт сен 15, 2006 3:51 pm

Terranin писал(а): В следующем билде будут средства для рисования зигзага. Я уже сделал но не проверил пока. Т.е. рисование линий между точками индексного буфера.
Да на крайний случай промежуточные значения можно было бы высчитать... Я лично алгоритм построения зигзага понять не могу, да и разница между МТ4 и FT все же имеется, судя по всем индюкам МТ4 они полностью пересчитывают все бары каждый раз при добавлении нового бара а тут такого делать не нужно.

Код: Выделить всё

for(shift=Bars-ExtDepth; shift>=0; shift--)

Код: Выделить всё

for (i=0;i<Len-1;i++)
постоянно натыкаюсь вот на такие конструкции а начинаешь полностью переводить один в один результат как всегда нулевой выходит, вернее код получается работающим но ничего не делающим скромненько отрабатывает забивет буфера ноликами и привет.

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

Re: Пивоты

#4 Сообщение Terranin » Пт сен 15, 2006 4:10 pm

Евгений писал(а):
Terranin писал(а): В следующем билде будут средства для рисования зигзага. Я уже сделал но не проверил пока. Т.е. рисование линий между точками индексного буфера.
Да на крайний случай промежуточные значения можно было бы высчитать... Я лично алгоритм построения зигзага понять не могу, да и разница между МТ4 и FT все же имеется, судя по всем индюкам МТ4 они полностью пересчитывают все бары каждый раз при добавлении нового бара а тут такого делать не нужно.

Код: Выделить всё

for(shift=Bars-ExtDepth; shift>=0; shift--)

Код: Выделить всё

for (i=0;i<Len-1;i++)
постоянно натыкаюсь вот на такие конструкции а начинаешь полностью переводить один в один результат как всегда нулевой выходит, вернее код получается работающим но ничего не делающим скромненько отрабатывает забивет буфера ноликами и привет.
Я сам над ним голову ломал но без описания алгоритма в коде мне было лень разбираться. Зигзаг пересчитывает историю и перестраивает последние линии. В моих индикаторах тоже можно это сделать, т.е. пересчитывать последние бары. Вобщем у меня есть желающий на этих выходных зигзаг переписать. Посмотрим что он наваяет.

Man
Site Admin
Сообщения: 71
Зарегистрирован: Вс июл 23, 2006 1:11 pm

Re: Пивоты

#5 Сообщение Man » Вт сен 26, 2006 5:44 pm

Евгений писал(а):Вот наколбасил линейку индюков на основе пивотов.
В архиве Мид, Фиб, Sup&Res, Camarilla В общем вроде все пивотные.
Угощайтесь так сказать...
Евгений, большое спасибо! Ключик, как говорится, за нами. ;)

Вот только не понятно, почему индикаторы так долго рассчитываются? Чтобы нацепить Камариллу на 1-час график с историей за 5 лет у меня ушло порядка 5-7 минут. В таком виде индикатор становится неюзабельным. То же самое относится и к другим индикаторам из этой серии.

Второе - сейчас в новый билд включена функция присвоения имени для отображения названия bufferstyles в свойствах индикатора. Можно ли в этом отношении навести в индикаторах порядок? И чтобы сами уровни располагались в свойствах точно также, как и на графике. Например,
R3
R2
R1
Pivot
S1
S2
S3.

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

Евгений
Сообщения: 34
Зарегистрирован: Вс авг 06, 2006 1:46 pm

Re: Пивоты

#6 Сообщение Евгений » Ср сен 27, 2006 3:24 am

Да пожалуйста ;)
Man писал(а): Вот только не понятно, почему индикаторы так долго рассчитываются? Чтобы нацепить Камариллу на 1-час график с историей за 5 лет у меня ушло порядка 5-7 минут. В таком виде индикатор становится неюзабельным. То же самое относится и к другим индикаторам из этой серии.
Тут проблема с процедурой поиска дневного бара соответствующего рассчитываемому. Попробую оптимизировать, и еще может быть проблемка с данными по истории которые залазят на воскресение и субботу как данные ФК не придумал пока как убить расчет такой дневной свечки :(
Man писал(а): Второе - сейчас в новый билд включена функция присвоения имени для отображения названия bufferstyles в свойствах индикатора. Можно ли в этом отношении навести в индикаторах порядок? И чтобы сами уровни располагались в свойствах точно также, как и на графике. Например,
R3
R2
R1
Pivot
S1
S2
S3.
Это уже начал переделывать, в принципе они так и расположены почти, только первым идет пивот. Но если нада то пивот поставим в центр.
Man писал(а):И третье, можно ли сделать чтобы в свойствах уровней пивотов были по умолчанию выставлены следующие свойства (цвета пусть останутся теми же): Style линий (поддержки и сопротивления) от центра к краям: вначале мелкая штриховая, затем штрихпунктирная, затем крупная штриховая, затем сплошная. Чтобы визуально можно было уровни отличать друг от друга.
И с этим проблем нет почти. Дело в том что линии шириной больше 1пт напроч отказываються быть штриховыми или штрихпунктирными. Тут скорее всего просто глюк дельфи или самой винды. Так что могу только предложить различать по цветам или по вариантам штриховки.

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

Re: Пивоты

#7 Сообщение Terranin » Ср сен 27, 2006 3:38 am

Евгений писал(а): И с этим проблем нет почти. Дело в том что линии шириной больше 1пт напроч отказываються быть штриховыми или штрихпунктирными. Тут скорее всего просто глюк дельфи или самой винды. Так что могу только предложить различать по цветам или по вариантам штриховки.
Винда не умеет рисовать линии толщиной более 1 пикселя пунктиром.

Евгений
Сообщения: 34
Зарегистрирован: Вс авг 06, 2006 1:46 pm

Re: Пивоты

#8 Сообщение Евгений » Ср сен 27, 2006 4:14 am

Terranin писал(а):Винда не умеет рисовать линии толщиной более 1 пикселя пунктиром.
Румус 2 от ФК линия шириной 2 пикселя прекрасно делается пунктирной. Хотя хрен его знает что за метод отображения у них там используется, мож своя графическая библиотека.

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

Re: Пивоты

#9 Сообщение Terranin » Ср сен 27, 2006 4:54 am

Евгений писал(а):
Terranin писал(а):Винда не умеет рисовать линии толщиной более 1 пикселя пунктиром.
Румус 2 от ФК линия шириной 2 пикселя прекрасно делается пунктирной. Хотя хрен его знает что за метод отображения у них там используется, мож своя графическая библиотека.
В метатрейдере таже беда а писали его не на Дельфи. Так что скорее всего Гумус рисует сам.
Asta la vista
Mike

Евгений
Сообщения: 34
Зарегистрирован: Вс авг 06, 2006 1:46 pm

Re: Пивоты

#10 Сообщение Евгений » Ср сен 27, 2006 6:06 am

Terranin писал(а): Гумус рисует сам.
:lol: :lol: :lol: :lol: :lol: :lol: :lol:
Класс!!! Надо на ФКшном форуме повторить ежели не забанют :wink:

Man
Site Admin
Сообщения: 71
Зарегистрирован: Вс июл 23, 2006 1:11 pm

Re: Пивоты

#11 Сообщение Man » Ср сен 27, 2006 6:54 am

Тут проблема с процедурой поиска дневного бара соответствующего рассчитываемому. Попробую оптимизировать, и еще может быть проблемка с данными по истории которые залазят на воскресение и субботу как данные ФК не придумал пока как убить расчет такой дневной свечки :(
Честно говоря, не знаю, что там нужно оптимизировать. Вот цепляю я индикатор, и почти сразу в папке ForexTester\data\EditMode\EURUSD\1hour появляются файлы со значениями индикаторов (в количестве, соответственном количеству показателей в индикаторе). Для Камариллы за 5 лет истории получилось, к примеру, 11 файлов по 700Кб, причем почти сразу, как нацепил индикатор на график. Чего он там дальше считает 5-7 мин, прежде чем сам индикатор отобразится на истории, ума не приложу. Может он его прорисовывает так долго? Не то, что 5 мин много, даже 5 сек с точки зрения пользователя уже много.
И с этим проблем нет почти. Дело в том что линии шириной больше 1пт напроч отказываються быть штриховыми или штрихпунктирными. Тут скорее всего просто глюк дельфи или самой винды. Так что могу только предложить различать по цветам или по вариантам штриховки.
Ок. Просто я имел ввиду, что если линии по умолчанию будут тонкими, то чтобы они между собой различались по стилю. А то попробовал изменить стиль одной линии со сплошлой на пунктирную, так у меня опять 5-7 мин что-то считалось, пока индикатор отобразился. Так это еще терпение нужно иметь, чтобы Ctr+Alt+Del не нажать! :)

Евгений
Сообщения: 34
Зарегистрирован: Вс авг 06, 2006 1:46 pm

Re: Пивоты

#12 Сообщение Евгений » Ср сен 27, 2006 8:26 am

Man писал(а): Честно говоря, не знаю, что там нужно оптимизировать. Вот цепляю я индикатор, и почти сразу в папке ForexTester\data\EditMode\EURUSD\1hour появляются файлы со значениями индикаторов (в количестве, соответственном количеству показателей в индикаторе). Для Камариллы за 5 лет истории получилось, к примеру, 11 файлов по 700Кб, причем почти сразу, как нацепил индикатор на график. Чего он там дальше считает 5-7 мин, прежде чем сам индикатор отобразится на истории, ума не приложу. Может он его прорисовывает так долго? Не то, что 5 мин много, даже 5 сек с точки зрения пользователя уже много.
11 файлов Это к Terranin'у ;) Его идея так работать с буферами. В принципе H1,H2, L1,L2 не сильно и важны так что можно и убрать их, файлов станет 7 ;) А расчет видишь ли в чем проблема сейчас уровни для каждого бара строяться полностью, т.е. происходит поиск дневного бара соответствующего текущиму, отступ и расчет... А за 5 лет таких часовых баров мягко говоря до хрена так что расчет получается офигенный ;) Вот думаю как уменьшить такое количество этих расчетов.
Man писал(а):Также, когда цепляешь индикатор в Режиме Тестирования, он почему-то не просчитывается на предыдущей истории а отображается на момент присоединения, а слева идут лишь прямые линии.
Михаил! У меня в демке это не проверить... Возможно в режиме тестирования если уже оттестирована часть истории индикаторы на нее не пересчитываются? Если начинать тестировать с нуля то вроде все в порядке.
UPD:
Счас сам проверил, протестировал 7 дней остановил и добавил индюк. У меня все просчитало, так что фиг его знает, у тебя с версией тестера как?

Man
Site Admin
Сообщения: 71
Зарегистрирован: Вс июл 23, 2006 1:11 pm

Re: Пивоты

#13 Сообщение Man » Ср сен 27, 2006 3:04 pm

Евгений писал(а):А расчет видишь ли в чем проблема сейчас уровни для каждого бара строяться полностью, т.е. происходит поиск дневного бара соответствующего текущиму, отступ и расчет... А за 5 лет таких часовых баров мягко говоря до хрена так что расчет получается офигенный ;) Вот думаю как уменьшить такое количество этих расчетов.
А можно ли ввести проверку, типа если день на этом баре равен дню на предыдущем баре, то все значения индикатора на этом баре равны всем значениям индикатора на предыдущем баре.

А еще лучше сделать двойной алгоритм: проверка "теущий день = последний день из имеющейся истории?" Если да, то можно рассчитывать вышеуказанным способом для каждого бара, если нет - то рассчитывать значение индикатора на конец дня и строить его всего один раз.
Счас сам проверил, протестировал 7 дней остановил и добавил индюк. У меня все просчитало, так что фиг его знает, у тебя с версией тестера как?
Так, я понял, почему у меня не рисовалось. У меня там был период истории с часовками, а индикатор нормально строится, если 1-минутки загружены в качестве котировок для построения графиков.

Евгений
Сообщения: 34
Зарегистрирован: Вс авг 06, 2006 1:46 pm

Re: Пивоты

#14 Сообщение Евгений » Ср сен 27, 2006 3:31 pm

Man писал(а): А можно ли ввести проверку, типа если день на этом баре равен дню на предыдущем баре, то все значения индикатора на этом баре равны всем значениям индикатора на предыдущем баре.
Вот над этим и мозгую. Вся соль в том что напрямую данные об индексе дневного бара соответсвующего текущему расчетному нельзя! А поиск этого бара в массиве жрет все ресурсы. Так что твое предложение решило только треть проблемы, я об нем сразу подумал. :(

Man писал(а):Так, я понял, почему у меня не рисовалось. У меня там был период истории с часовками, а индикатор нормально строится, если 1-минутки загружены в качестве котировок для построения графиков.
Нее тут что то другое... я вообще когда писал на 4х и 1часовках тестил. на нижние таймфреймы даже не спускался. А глюк твой проверял на 5минутках. Может разве экспорт историии кривой был? В деме я проверял на тиках что получены из стандартной поставки. Если генерация тиков была из исторических данных другого таймфрейма, то тоже работает. проверил на тиках полученых из 10минуток ФК и из часовиков, оттуда же... Сегодня солью ту историю что ты ссылку дал может там в чем дело.

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

Re: Пивоты

#15 Сообщение Terranin » Ср сен 27, 2006 3:55 pm

Евгений писал(а): Михаил! У меня в демке это не проверить... Возможно в режиме тестирования если уже оттестирована часть истории индикаторы на нее не пересчитываются? Если начинать тестировать с нуля то вроде все в порядке.
UPD:
Счас сам проверил, протестировал 7 дней остановил и добавил индюк. У меня все просчитало, так что фиг его знает, у тебя с версией тестера как?
Присылай id выдам ключ. :) Я у себя не проверял, на все времени не хватает.
Asta la vista
Mike

Ответить