среда, 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)));

четверг, 23 февраля 2012 г.

Блок фильтров для ThinkOrSwim

Потихонечку делаю блок фильтров для ThinkOrSwim. Для того что бы ввести формулы в Watch List программы ThinkOrSwim нужно кликнуть правой кнопкой по серому заголовку любого столбца, после чего откроется меню как показано на рисунке. В этом меню выбираем пункт Customize - откроется окно под названием Customize Quotes. Здесь ищем в левой группе строку с названием Custom (номер). Выбираем любую из них двойным кликом - откроется окно Customize Quotes Formula. Вот сюда-то и вставляем формулу фильтра. В верхней части окна можно переименовать фильтр, а так же там задается интервал рассчетов (Aggregation).

Формула для поиска баз:


def BASE = Highest(high, 5) - Lowest (low, 5);
plot R = round(close);
AssignBackgroundColor( if BASE <= 0.05 then Color.CYAN  else Color.white);


Период Aggregation: 1m (или 5m)
На вашем Watch List появится столбец отображающий цену Last. В случае, если последние 7 баров будут находиться в диапазоне 5 центов, фон значения подсветится голубым.

Формула High\Low текущего дня:


plot Change = round(close - close[1]);
AssignBackgroundColor( if (high - close) < 0.05 then Color.GREEN else if (low - close) > -0.05 then Color.RED else Color.WHITE);


Период Aggregation: D
На вашем Watch List появится столбец отображающий расстояние пройденное ценой от вчерашнего закрытия до текущей цены. В случае, если акция будет торговаться возле сегодняшнего хая, то фон значения подсветится зеленым. Если же акция будет торговаться возле сегодняшнего лоу, то фон значения подсветится красным.