Поиск баз на круглых уровнях для Thinkorswim

Многие мои знакомые трейдеры торгуют отбои от круглых уровней уровней. Фильтр, показывающий акции с такими проторговками досточно давно придуман в Strategy Desk. Но в этом терминале есть существенный недостаток – с некоторой задержкой грузятся графики. И некоторые трейдеры только из-за этого фильтра пользуются SD.

Недавно я решил поискать подобный фильтр для TOS в интернете, и таки наткнулся на форумную ветку с разработкой этой темы (я так понял, что автор изначального кода некий Amadey_MF. Лично с ним, к сожаленью, не знаком, но наверно хороший парень =). Ну вообщем мы легких путей не ищем, и значит я пришел к тому, что разобрался, как устроен язык программирования TOS, разобрал код найденного скрипта, нашел несколько ошибок, сделал несколько существенных исправлений и вуаля – появился очень хороший скрипт (на мой субъективный взгляд).

Теперь в подробностях:
Описание: фильтр анализирует последние 4 свечи, начиная с текущей. В них сначала ищет, где Hi каждой из свечей не отличается от максимального Hi больше чем на величину отклонения (указывается при настройке). Потом тоже самое для Low тех же 4 баров.
Дальше ищет, чтоб найденная база Hi\Low подходила снизу\сверху к ближайшему круглому уровню (50 или 100 центов), т.е. Hi\Low хотя бы одной из свечей базы был прямо на этом уровне цент в цент. Если такие варианты находятся, то ячейка напротив нужной акции подсвечивается зеленым (для лонговых вариантов) или красным (для шортовых вариантов). Соответственно значение в ячейке 1 или 2 для удобной сортировки.

Установка и настройка:
Нам нужно добвить новую колонку в WatchList. Для этого:
1. Щелкаем правой кнопкой мышки по заголовку любой колонки
2. В выпадающем меню выбираем пункт Customize

Шаг 1

3. В открывшемся окне Watchlist в левой колонке выбираем любой из пунктов Custom и
4. жмем на Add items (появляется окно Custom Quote Formula)
5. Придумываем название для колонки и вводим в поле Column name
6. В поле Aggregation указываем таймфрейм, на каком хотим искать проторговки.
7. Нужно снять галочку “Include Extended Session”, чтоб при расчетах не учитывались небиржевые котировки (или какие то скрытые, точно не понял как перевести). Тогда расчет будет точнее.
8. Потом переходим на вкладку thinkScript Editor
9. Вставляем в главное поле этот код:

def iDiff = 0.01; # задайте максимальное отклонение в центах/ Amadey_MF

def iLowest = lowest(low,4);
def iHighest = highest(high,4);

def bBaseLow = if 
((low[0]-iLowest)<=iDiff) and 
((low[1]-iLowest)<=iDiff) and 
((low[2]-iLowest)<=iDiff) and 
((low[3]-iLowest)<=iDiff)
then 1 else 0; 
def bBaseHigh = if 
((iHighest-high[0])<=iDiff) and 
((iHighest-high[1])<=iDiff) and 
((iHighest-high[2])<=iDiff) and 
((iHighest-high[3])<=iDiff)
then 1 else 0; 

def bFigureLow = if 
(low[1] == (Floor(low[1]*2))/2) or 
(low[2] == (Floor(low[2]*2))/2) or 
(low[3] == (Floor(low[3]*2))/2) or
(low[4] == (Floor(low[4]*2))/2) 
then 1 else 0;
def bFigureHigh = if
(high[1] == (Ceil(high[1]*2))/2) or
(high[2] == (Ceil(high[2]*2))/2) or 
(high[3] == (Ceil(high[3]*2))/2) or
(high[4] == (Ceil(high[4]*2))/2)
then 1 else 0;

plot bBase = if (bBaseLow and bFigureLow) then 1 else if (bBaseHigh and bFigureHigh) then 2 else 0;

AssignBackgroundColor (if (bBase == 1) then Color.LIGHT_GREEN else if (bBase == 2) then Color.LIGHT_RED else Color.black);
bBase.AssignValueColor (if (bBase > 0) then Color.black else Color.CURRENT);
 #Шаблон с форума Hamaha.net и переработан Игорем (www.nyser.ru).
 #Скрипт ищет базы из 4 последних свечей, привязанные к уровням 50 и 100 центов. 
 #Теперь скрипт понимает где может быть ближайший уровень - вверху или внизу (а не ищет всё, что выше цены, как раньше). 
 #Для более наглядной работы при установке скрипта необходимо снять галочку Include Extended Session (рядом с значком таймфрейма). 
 #Иначе будут считаться еще внебиржевые принты. 

10. Жмем ОК
11. Еще раз ОК
Шаг 2

Через несколько секунд ( у меня 16) подгрузится результат, примерно такой, как на картике ниже.
Итог

По поводу этого фильтра в планах хорошенько протестировать в торговле этот фильтр, и в ближайшем будущем доработать его дополнительными примочками по вкусу (добавить фильтр объема, АТР, тренда и т.д., к чему душа ляжет).
Короче если будет это интересно, то следите за новостями, мы с вами не прощаемся =))))).

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

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

  1. #51yomoto @ 2013-9-12 16:06 Ответ

    *CRAZY* пытаюсь сделать по пошаговой инструкции, но сразу же валюсь на п.4: нет ничего подобного…или с 2012 по сегодня ТОС сильно изменился?

  2. #52yomoto @ 2013-9-12 16:10 Ответ

    хехе…ссори, все увидел…

  3. #53IG @ 2013-12-12 21:25 Ответ

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

  4. #54Павел Дуков @ 2014-3-16 16:11 Ответ

    Игорь, большое спасибо за реализацию и подробные объяснения!

  5. #55Cергей @ 2014-5-16 21:19 Ответ

    Не идет что то, делаю все по инструкции, но никак.

  6. #56Cергей @ 2014-5-16 21:20 Ответ

    Не идет что то, заполняю все по инструкции.

    • #57IG @ 2014-5-17 18:28 Ответ

      кто куда не идет? подробности можно?

  7. #58Cергей @ 2014-5-19 11:49 Ответ

    Вопрос скорее другой, как лучше импортировать акции в watch list?

    • #59IG @ 2014-5-19 19:39 Ответ

      там в контекстном меню вотчлиста есть пункт import :-D

  8. #60Cергей @ 2014-5-20 12:24 Ответ

    В cканере TOS есть условие отбора акций по average vlume?

  9. #61Михаил @ 2014-11-6 20:29 Ответ

    Добрый день! У меня после того как я вставил скрипт (фильтр в вачлист) то просто пишет Loading и все… но в предвидущий день то нормально все грузилось… что делать…?

    • #62IG @ 2014-11-6 22:35 Ответ

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

  10. #63Михаил @ 2014-11-7 00:59 Ответ

    Извините за излишнюю мою панику. И спасибо за ответ. Если вам не сложно скажите пожалуйста, этот “трабл” с загрузкой никак не связан с тем что ТОС работает в режиме “Пепер мани” и есть задержка на которивки в 20 минут.

    • #64IG @ 2014-11-7 13:29 Ответ

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

  11. #65Михаил @ 2014-11-7 17:25 Ответ

    Спасибо за ответ. А сейчас можно зарегестрироваться как-то на лайв трединг в ТОС?

  12. #66Дмитрий @ 2014-12-17 16:42 Ответ

    Подскажите, пожалуйста, а как называется сам язык программирования для TOS?

    • #68IG @ 2014-12-18 16:28 Ответ

      Честно говоря не готов ответить, нигде не видел названия

    • #85Andrey @ 2015-7-12 13:18 Ответ

      ThinkScript

  13. #67Дмитрий @ 2014-12-17 17:06 Ответ

    Скажите пожалуйста, а есть такой скрипт для Morning Star/Evening Star

    • #69IG @ 2014-12-18 16:29 Ответ

      Не писал ещё такого

  14. #70Serg @ 2015-2-21 23:13 Ответ

    Всем привет! Как же получить лайв трединг в ТОС? Смысла в скриптах нет в режиме папер мани.

    • #71Михаил @ 2015-3-6 19:53 Ответ

      Я могу помочь зарегестрировать LIVE аккаунт.

      • #72IG @ 2015-3-7 00:36 Ответ

        Можете – помогите )

  15. #73Михаил @ 2015-3-26 21:48 Ответ

    Пишите мне на почту я дам подробную инструкцию. Miha720803@gmail.com

    • #87Алексей @ 2016-1-13 07:19 Ответ

      вот здесь ты писал что можешь инструкцию дать по регитсрации лайв аккаунта
      помоги пжл! зарегить!
      a12255@mail.ru

  16. #74matry0sh @ 2015-4-3 12:14 Ответ

    а можно сделать такой же в виде индикатора для mt4 ?!

  17. #75Serg @ 2015-4-3 12:27 Ответ

    на mt4 все просто, только зачем?

    • #76matry0sh @ 2015-4-3 12:57 Ответ

      использую уровневую стратегию торговли ,входы ищу в проторговках, такое дополнение в mt4 очень помогло бы мне !!

    • #79matry0sh @ 2015-4-19 18:29 Ответ

      можите помочь с индикатором для мт4 ??!

      • #80Serg @ 2015-4-20 09:38 Ответ

        Давно поудалял мт4 со всех станций, планшетов, смартов, vps и серверов. Извини, я не помощник в мт4. Попробуй сам (не сложный язык) или в форум обратись.

  18. #77matry0sh @ 2015-4-3 13:08 Ответ

    у кого есть можете поделится ?! 0_О

    • #78IG @ 2015-4-3 13:22 Ответ

      честно говоря не возьмусь за МТ4. все начисто забыто, как там и что делается. слишком долго делать. алгоритм тут простой, попробуйте на форумах МТ4 спросить. Там многие помогают, насколько я помню

  19. #81matry0sh @ 2015-5-13 19:02 Ответ

    а как можно добавить еще сюда аллерт, чтоб пищал когда база формируется ??!

  20. #82IG @ 2015-5-13 19:43 Ответ

    что-то вроде того:
    Alert(bBase>0, "Base!", Alert.BAR);
    добавить надо в конце кода.

    • #83matry0sh @ 2015-5-18 15:37 Ответ

      за скрипт спасибо и +100 в карму )) но не получается добавить аллерт к базе.. КЭП выручай ! )))

      • #84IG @ 2015-5-18 19:51 Ответ

        пиши лучше в скайп сразу

        • #86Rostem @ 2015-7-17 22:20 Ответ

          А какой у вас скайп )))

Ответить

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