Новый скринер для SD

filtrСегодня почитав инструкции языка для Strategy Desk решил, что вполне способен написать скринер под свои нужды.

Поясню идею. В Дейтрейдере нас учат определенным образом отбирать акции на домашку. Есть набор четких правил и критериев для стаков. Как выясняется, SD позволяет большую часть механической работы автоматизировать.

Формула, которую я сегодня оформил, позволяет не лазить вообще в финвиз и на сайт дейтредера для отбора акций.

Я предлагаю всем, кто торгует по той же школе, да и остальным, кому критерии фильтра подходят, проверить работу кода, если будут недостатки, вместе их устранить.

Итак начнем: код я достаточно подробно закомментировал, чтоб было понятно где что и как работает, и можно было корректировать по своим потребностям критерии.

Код следующий:

{Фильтр для домашки. цена от 8 до 100 + ATR>0.5 + текущий объем >500k +средний объем >300k +тренд по дневке за три дня +Изменение цены > 1}
(MovingAverage[MA,High,65,1,D]-MovingAverage[MA,Low,65,1,D] >0.5) AND { ATR за 65 дней > 0.5 }
(Bar[Volume,D,0] > 500000) AND { Объем последнего дня больше 500к }
(MovingAverage[MA,Volume,65,0,D]>300000) AND {средний объем больше 300к}
(Bar[Close,D] > 7) AND (Bar[Close,D] < 100) AND { цена от 7 до 100 }
(Bar[High,D] - Bar[Low,D] > 1) AND {изменение цены последнего бара больше 1}
{лонговая часть тренда}
(((Bar[Close,D] > Bar[Open,D]) AND
(Bar[Close,D,1] > Bar[Open,D,1]) AND
(Bar[Close,D,2] > Bar[Open,D,2]) AND
(Bar[Open,D] > Bar[Open,D,1]) AND
(Bar[Open,D,1] > Bar[Open,D,2])) OR
{шортовая часть тренда}
((Bar[Close,D] < Bar[Open,D]) AND {то же самое с днями только наоборот.}
(Bar[Close,D,1] < Bar[Open,D,1]) AND
(Bar[Close,D,2] < Bar[Open,D,2]) AND
(Bar[Open,D] < Bar[Open,D,1]) AND
(Bar[Open,D,1] < Bar[Open,D,2])))

Код однозначно без ошибок, потому что я его скопировал с терминала. Если у вас после набора или копирования не работает, то ищите причину не в этом.

Фильтр ищет акции, в которых последние три бара либо идут вверх, либо вниз, т.е. кто то явно продает или покупает акцию. Цена акций фильтруется от 7 до 100 долларов, ATR за 65 дней больше 0,5, объем протогованный в последний день больше 500к, и средний объем больше 300к и изменение цены акции в предыдущий день было больше чем 1 доллар.

После этого нам останется скопировать из скринера получившийся список акций на лист с домашкой, пробежаться по нему отсеяв уже визуально акции с некрасивыми пятиминутками.

Получается, что не придется больше лазать по сайтам и собирать каждый раз акции для домашки. Они нам выскочат при включении SD. По моему дак автоматизация. По моему дак удобно.

Теперь о том, как правильно его забить в программу:

1. В главном окне SD идем в меню File – New – Screener и в открывшемся окошке в поле Formula копируем код так, как он выложен у меня. Комментарии можно оставить, они значения не играют для работы программы. Они только для людей написаны.

2.1 Я предварительно сходил на финвиз и взял оттуда акции по фильтрам “только NYSE” и “stocks only”(ссылка). Этот список меняться не будет (пока на рынке не появятся новые стаки) и таким образом мы получаем еще два критерия в скринере, что еще сильнее облегчает задачу.
2.2 В поле Symbols копируем полученный (или свой) список акций. По нему мы будем фильтровать в скринере.

Должно получиться примерно вот так:

Screener

Если что-то не будет получаться, пишите, я буду обновлять пост, исправляя ошибки.

И еще просьба. Если будут замечены неточности или будете корректировки вносить, отпишитесь пожалуйста в комментариях, чтоб и другим полезно было.

P.S.: У меня сегодня выскочило около 70 акций в список. Сначала подумал, что маловато как то, но поразмыслив, получается, что вполне нормальное количество, учитывая то, что мы выбираем акции, которые три дня шли в одну сторону.
Вообщем жду результатов того, что мои труды не пропали и вам это пригодилось )))

Опубликовано 10 Март 2012 17,173 просмотров | Рубрика: Инструменты торговли
Поделись с друзьями:

26 ответов Оставить комментарий

  1. #1Жасулан Тулеугарин @ 2012-3-10 20:33 Ответ

    а почему 500к нас же вроде учили выше 300к объем
    Только NYSE, остальные биржи исключить;
    Только американские компании, ADR и фонды исключить;
    ATR больше 50 центов;
    Средний объем более 300 тысяч;
    Цена более $7.

    • #3IG @ 2012-3-10 20:47 Ответ

      в последний раз вова говорил, что можно смотреть чтоб вместо среднего объема в 300к, можно смотреть чтоб было объем последнего дня больше 500к.
      по поводу “только nyse и только акции”, то их нельзя отфильтровать в SD, но этот список постоянный и поэтому их можно заранее забить в фильтр (я написал об этом, и даже ссылку дал).
      если надо средний объем больше 300к, то это только одну строчку исправить. я добавлю в блоге запись.

  2. #2Жасулан Тулеугарин @ 2012-3-10 20:46 Ответ

    и вот что хотел спросит он учитывает только три последних три зеленых свечек на дневке а если там 7 или 10 дней подряд зеленых будет он находит или нет?

    • #4IG @ 2012-3-10 20:49 Ответ

      ну если будет 7 подряд, то последние три будут подходить под критерий, и акция вылезет все равно по фильтру. так то можно добавить чтоб искала 7 подряд баров. это не сложно. но тогда количество акций сильно уменьшиться

  3. #5Жасулан Тулеугарин @ 2012-3-10 21:04 Ответ

    нет. я имел веду что если в стаке 7 или 10 дней подряд рост то попадет в эту формулу или нет

    • #7IG @ 2012-3-10 21:06 Ответ

      ну я тебя правильно значит понял. и ответил, что все попадет =) главное, чтоб другие критерии тоже попадали.

  4. #6IG @ 2012-3-10 21:04 Ответ

    поправил запись. добавил в фильтр плюс ко всему еще и средний объем на 300к. получается что будет фильтроваться и по среднему объему, и по объему последнего дня. не много ли это уже?? хм…

  5. #8Владимир @ 2012-3-13 01:26 Ответ

    Игорь, это не годится для домашки !!! во первых не нужно АТР на домашке резать, во вторых если акция стреляет сильно в 1 день а в предыдущий она падала то она тоже на домашку попадает, в третьих не нужно ставить средний объём 300К средний, можно хорошие бумаги провтыкать. Мораль сей басни такова, нужно тратить время просматривать побольше акций !!!

    • #9IG @ 2012-3-13 07:21 Ответ

      как так? ты же сам учил все эти фильтры использовать при отборе акций на домашку? АТР больше 0,5 + акция должна два-три дня идти в одну сторону + на финвизе стоит фильтрация на средний объем в 300к ??
      ладно, в скайпе напишу сегодня.

  6. #10Сергей @ 2012-5-18 09:42 Ответ

    Добрый день!
    Сегодня включил Strategy Desk и обнаружил, что скринер с этой формулой перестал работать. Какой то символ в формуле требуется исправить. Интересно, как у вас – работает или нет?Если можно, помогите, пожалуйста, исправить проблему.

    • #12igorlend @ 2012-6-4 16:35 Ответ

      Перестал работать потому что фильтровал не во время торгов. Изменить 8-ую строку кода который сверху, добавить 0. (Bar[High,D,0] — Bar[Low,D,0] > 1) AND. Большое спс автору за сринер – молодчага. Но Владимир тоже прав так, что напрявляем усилия в нужное русло)))

    • #13igorlend @ 2012-6-4 23:22 Ответ

      мда хрень какая то сначала перед торгами не захотел принимать формулу сказал синтаксическая ошибка, добавил 0 началась фильтрация, во время торгов вообще скринер не работал. А сей час фильтрует, как без 0 (не пишет ошибку), так и с ним. Вообщем жесть…ручками надежней.

      • #14IG @ 2012-6-5 07:07 Ответ

        не. там работает все вполне ничего. просто если 0 ставить, то это исключительно для офлайна. потому что 0 – это значит, что последний бар учитывается. а чтоб во время сессии работало, то надо 1 ставить, потому как последний бар не закончен еще и его учитывать нельзя никак.

  7. #11sk @ 2012-5-18 12:16 Ответ

    Сорри… Как ни странно, но проблема со скринером решилась сама собой.Удачи!

  8. #15Александр @ 2012-12-12 20:46 Ответ

    Добрый день.
    Подскажите (можно ссылку), как из Финвиза извлечь список тикеров для скринера.
    Ответ можно на скайп или E-mail.
    Спасибо, Александр.

  9. #16Александр @ 2012-12-12 20:47 Ответ

    Скайп: alex2511k

  10. #17Александр @ 2012-12-13 15:14 Ответ

    Разобрался.

    • #18IG @ 2012-12-13 15:57 Ответ

      ну я на почту ж написал вчера )

  11. #19Александр @ 2013-3-3 01:22 Ответ

    Цена акций фильтруется от 7 до 100 долларов, ATR за 65 дней не больше 0,5,

    Я так понимаю ATR не меньше 0,5?
    Я не торгую через Стратеджи Деск, хотел уточнить если есть подобный аналог для Тос-а?

    • #20IG @ 2013-3-3 12:23 Ответ

      Я так понимаю ATR не меньше 0,5?

      исправил, спасибо

      есть подобный аналог для Тос-а?

      в разделе “Скачать” куча аналогов.

      торопишься вопросы задавать, все выложено на блюдечке..

  12. #21Александр @ 2013-3-3 14:12 Ответ

    Да, я пока второй день на блоге тут :)
    пытаюсь все по диагонали охватить… :)

  13. #22Александр @ 2013-3-3 22:35 Ответ

    Посмотрел сканеры, там есть но по отдельности условия…
    Решил собрать все в одно. Получилось вроде довольно полезная штука, выдает не много акций но довольно интересных! Хотя если условия изменять – можно получить и больше акций… Вот выставляю тут код, может кому пригодится:

    ==================================
    #ATR***Выдает акции с указанным в настройках ATR за 65 дней + тренд за 3 дня + проверка вчерашнего обьема + средний обьем за период + движение цены за вчера. Период и все условия можно изменять в первой части кода где комментарии.

    def period = 14; #указать период дней за которых считать средний обьем и ATR
    def iATR = 0.5; #указать минимальный ATR
    def X = 500000; #минимальный объем за вчера
    def aVol = 300000; #минимальный средний объем
    def N = 1.00; #минимальное движение за вчера в долларах

    def bATR = if (round((Average(high, period)-Average(low, period)),2)>=iATR) then 1 else 0;

    def b2DayTrend = if
    ((high[1]>=high[2]) and (open[2]<=close[2]) and (open[1]<=close[1]) and (open=high[1])) or
    ((low[1]=close) and (open[1]>=close[1]) and (open[2]>=close[2]) and (low=X and Average(volume[0],period)>=aVol and absvalue (close[0] – open[0]) >= N;

  14. #23Александр @ 2013-3-3 22:40 Ответ

    Коряво получился прошлый ответ, вот тут полный код:
    #ATR***Выдает акции с указанным в настройках ATR за 65 дней + тренд за 3 дня + проверка вчерашнего обьема + средний обьем за период + движение цены за вчера. Период и все условия можно изменять в первой части кода где комментарии.

    def period = 14; #указать период дней за которых считать средний обьем и ATR
    def iATR = 0.5; #указать минимальный ATR
    def X = 500000; #минимальный объем за вчера
    def aVol = 300000; #минимальный средний объем
    def N = 1.00; #минимальное движение за вчера в долларах

    def bATR = if (round((Average(high, period)-Average(low, period)),2)>=iATR) then 1 else 0;

    def b2DayTrend = if
    ((high[1]>=high[2]) and (open[2]<=close[2]) and (open[1]<=close[1]) and (open=high[1])) or
    ((low[1]=close) and (open[1]>=close[1]) and (open[2]>=close[2]) and (low=X and Average(volume[0],period)>=aVol and absvalue (close[0] - open[0]) >= N;

  15. #25IG @ 2013-3-4 07:39 Ответ

    1. это все таки тема для SD, а не для ТОСа.
    2. удобнее это все использовать в сканерах и по отдельности, потому что комбинировать проще для тех, кто в программировании не шарит.

    рвение очень классное, мне нравится, но спешите, спешите, александр.. все эти этапы на блоге уже пройдены, вы тупо повторяетесь

  16. #26BaelGerm @ 2017-12-13 22:26 Ответ

    Массажные услуги Делаю массаж, недорого, качественно.Срок работы больше 4 лет. Возможен выезд на дом.Звоните!

Ответить igorlend

Отменить

(Ctrl + Enter)
» Подписаться на комментарии к этой статье по RSS