Поиск баз на круглых уровнях для 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
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 (рядом с значком таймфрейма). #Иначе будут считаться еще внебиржевые принты.
Через несколько секунд ( у меня 16) подгрузится результат, примерно такой, как на картике ниже.
По поводу этого фильтра в планах хорошенько протестировать в торговле этот фильтр, и в ближайшем будущем доработать его дополнительными примочками по вкусу (добавить фильтр объема, АТР, тренда и т.д., к чему душа ляжет).
Короче если будет это интересно, то следите за новостями, мы с вами не прощаемся =))))).
87 ответов Оставить комментарий
пытаюсь сделать по пошаговой инструкции, но сразу же валюсь на п.4: нет ничего подобного…или с 2012 по сегодня ТОС сильно изменился?
хехе…ссори, все увидел…
друзья, уже есть по этому фильтру новая модификация, в которой можно настраивать число баров, среди которых искать базу. алгоритм тот же, но с настройками. ищите в разделе “Скачать”
Игорь, большое спасибо за реализацию и подробные объяснения!
Не идет что то, делаю все по инструкции, но никак.
Не идет что то, заполняю все по инструкции.
кто куда не идет? подробности можно?
Вопрос скорее другой, как лучше импортировать акции в watch list?
там в контекстном меню вотчлиста есть пункт import
В cканере TOS есть условие отбора акций по average vlume?
Добрый день! У меня после того как я вставил скрипт (фильтр в вачлист) то просто пишет Loading и все… но в предвидущий день то нормально все грузилось… что делать…?
Добрый день. честно говоря, не знаю, как это правильно лечить, но временами бывает такое, что не грузятся скрипты. попробуйте нагрузку с компьютера лишнюю снять, может быстрее будет.
(и не надо везде сообщение дублировать, я вижу его, просто не было возможности ответить)
Извините за излишнюю мою панику. И спасибо за ответ. Если вам не сложно скажите пожалуйста, этот “трабл” с загрузкой никак не связан с тем что ТОС работает в режиме “Пепер мани” и есть задержка на которивки в 20 минут.
насколько я понимаю, в папер мани вообще сейчас ручные скрипты не должны даже включаться. а вообще то вполне возможно, что из-за этого и проблема. у меня то режим лайвтрейдинг включен.
Спасибо за ответ. А сейчас можно зарегестрироваться как-то на лайв трединг в ТОС?
Подскажите, пожалуйста, а как называется сам язык программирования для TOS?
Честно говоря не готов ответить, нигде не видел названия
ThinkScript
Скажите пожалуйста, а есть такой скрипт для Morning Star/Evening Star
Не писал ещё такого
Всем привет! Как же получить лайв трединг в ТОС? Смысла в скриптах нет в режиме папер мани.
Я могу помочь зарегестрировать LIVE аккаунт.
Можете – помогите )
Пишите мне на почту я дам подробную инструкцию. Miha720803@gmail.com
вот здесь ты писал что можешь инструкцию дать по регитсрации лайв аккаунта
помоги пжл! зарегить!
a12255@mail.ru
а можно сделать такой же в виде индикатора для mt4 ?!
на mt4 все просто, только зачем?
использую уровневую стратегию торговли ,входы ищу в проторговках, такое дополнение в mt4 очень помогло бы мне !!
можите помочь с индикатором для мт4 ??!
Давно поудалял мт4 со всех станций, планшетов, смартов, vps и серверов. Извини, я не помощник в мт4. Попробуй сам (не сложный язык) или в форум обратись.
у кого есть можете поделится ?! 0_О
честно говоря не возьмусь за МТ4. все начисто забыто, как там и что делается. слишком долго делать. алгоритм тут простой, попробуйте на форумах МТ4 спросить. Там многие помогают, насколько я помню
а как можно добавить еще сюда аллерт, чтоб пищал когда база формируется ??!
что-то вроде того:
Alert(bBase>0, "Base!", Alert.BAR);
добавить надо в конце кода.
за скрипт спасибо и +100 в карму )) но не получается добавить аллерт к базе.. КЭП выручай ! )))
пиши лучше в скайп сразу
А какой у вас скайп )))