среда, 29 февраля 2012 г.

Отображение запаса хода в ThinkOrSwim

Написал два скрипта отображающие запас хода для акции. Во-первых что такое запас хода? Формулы рассчитывают сколько в среднем проходит акция за последние 5 дней и исходя от этого показывают до какого уровня в принципе можно входить в позицию на пробой.

Стоит понимать, что эти скрипты не показывают до куда именно дойдет цена. Акция может как не дойти до этого уровня (например если начинается консолидация) так и пройти намного дальше (например выход из консолидации, выход отчета по акции или в свете важных новостей). Скрипты показывают предполагаемое средне статистическое движение акции за последние 5 дней.
Так же уровень (цифра) может изменяться в течение дня в зависимости от положения high, low дня и текущей цены (скрипт определяет предполагаемое направление движения), но на цветовую градацию это не влияет.

Итак, первая формула вставляется в WatchList терминала (как это сделать описано в прошлом посте). У нас появляется столбец с цифрами, которые указывают цену уровня до которого запас хода считается приемлемым (это 100% от среднего движения за последние 5 дней). Если текущий день превышает порог запаса хода, то фон ячейки красится темным цветом. Так же скрипт выделяет цветом фона пороги до 33%, до 66% и до 100% от запаса хода. Получается что чем ярче цвет ячейки - тем менее рисковано входить в сделку на пробой.

#by Egor Masalskiy
#last modify 31.07.2012
def spread = high - low;
def storona = if close > (high + low) / 2 then 1 else -1;
def potencial = sum(high[1]-low[1],5) / 5;
plot LINE = if storona > 0 then round(low + potencial) else round(high - potencial);
AssignBackgroundColor( if spread < 0.33*potencial then createColor(255,255,0) else if spread < 0.66*potencial then createColor (222,222,0) else if  spread < potencial then CreateColor (200,200,0) else createColor(110,110,10));

Период Aggregation: D

Вторая формула рисует лейбл непосредственно на графике (под заголовком окна) в котором указана аналогичная информация по уровням запаса хода.

#by Egor Masalskiy
#last modify 31.07.2012
input period = {default DAY};
def spread = high(period = period) - low(period = period);
def storona = if close(period = period) > (high(period = period) + low(period = period)) / 2 then 1 else -1;
def potencial = sum(high(period = period)[1] - low(period = period)[1],5) / 5;
DEF LINE = if storona > 0 then low(period = period) + potencial else high(period = period) - potencial;
AddChartLabel(yes, concat("Запас хода до: ",round(LINE, 2)), (if spread < 0.33*potencial then createcolor(225,225,0) else if spread < 0.66*potencial then createcolor(222,222,0) else if  spread < potencial then createcolor(200,200,0) else createcolor(110,110,10)));

14 комментариев:

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

    ОтветитьУдалить
  2. есть еще такая формула оценки потенциала- def AvgPeriod = 50; def r = AbsValue(open-close); def av = (r/average(r,AvgPeriod))*100; def level = 100; plot posmove = roundup(((level - av)/100)* average(r,AvgPeriod),2); - не поможешь сделать для нее лейбл?

    ОтветитьУдалить
  3. Привет,Егор! Случайно нашел Ваш блог, все здорово и просто. Поставил себе Базы,New High\Low,Запас хода,а вот формула для Лебла почему-то окрашивается красным...Подскажите,что делать? Спасибо.
    Сергей Быстров. Санкт-Петербург

    ОтветитьУдалить
  4. Разобрался,извините...зашел в Studies и все получилось. Просто супер!
    Сергей Быстров

    ОтветитьУдалить
  5. Привет Егор есть ли какие видео уроки по свиму ??? по написаний скриптов самому ...СПС)))

    ОтветитьУдалить
    Ответы
    1. Не встречал. Просматривай ТОСовские скрипты. Пытайся внести в них изменения - так и научишься делать с нуля.

      Удалить
  6. Здравствуйте Егор! Спасибо за блог, очень познавательно!
    У меня во втором скрипте ТОС выделяет красным
    в 7-й строке слово LINE
    и в 8-й AddChartLabel
    в чем ошибка?

    ОтветитьУдалить
    Ответы
    1. Не знаю. Может копируете не полностью, может не туда вставляете...

      Удалить
  7. да вроде все делаю правильно, все остальные Ваши скрипты встали без проблем

    ОтветитьУдалить
    Ответы
    1. Ну у остальных все ОК. Не все формулы для чарта, некоторые для вотчлиста.

      Удалить