четверг, 8 сентября 2011 г.

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

Мой блок фильтров для StrategyDesk. Воркспейс с блоком фильтров можно скачать кликнув по ссылке.
Первая колонка - сигналит потенциал движения акции исходя из среднего движения за день, чем ярче цвет - тем больше потенциала.
Вторая колонка - тикер акции.
Третья колонка - светит ярко-зеленым, если в течение дня акция преодолела вчерашний хай, или темно-зеленым, если акция подошла к вчерашнему хаю.
Четвертая колонка - светит ярко-красным, если в течение дня акция преодолела вчерашний лоу, или темно-красным, если акция подошла к вчерашнему лоу.
Пятая колонка - сигналит базы за промежуток в 8 минут в историю. Чем тоньше база - тем ярче цвет. (подробно описано в прошлом посте).
Шестая колонка - сигналит всплеск объема за промежуток в 8 минут в историю.

Серый - цвет фона. Если появляются белые поля как на изображении справа, то это говорит о том что данные на StrategyDesk поступают с перебоями или просто в течение минуты не было сделок в акции (отрисовка восстанавливается в течение 8 минут, если не было новых сбоев в поставке квот)

Формула для поиска баз через скринер StrategyDesk

Формула для скринера StrategyDesk, которая сигналит базы.
PriceRangeChannels[Upper,4,0,1] - PriceRangeChannels[Lower,4,0,1]
Цифра 4 - здесь цифрой отмечается минимальное кол-во баров для базы.
Цифра 1 - здесь цифрой отмечается тайм фрейм (1-минутка, 5-пятишка).
Раскрашивать и опции выставлять как указано на изображении снизу, там цифровое значение - это кол-во центов толщины базы.


Отрисовка уровней HIGH, LOW и CLOSE прошлого дня в ThinkOrSwim

Скрипт отрисовывает на текущем дне уровни прошлого  дня, недели и т.п. в зависимости от опций. Ценность линии CLOSE я не понимаю, а вот HIGH и LOW могут быть весьма полезны при пробойной стратегии торговли.

input offset = 1;
input offset2 = 1;
input offset3 = 1;
input period = {default DAY, "2 DAYS", "3 DAYS", "4 DAYS", WEEK, MONTH, "OPT EXP"};
input period2 = {default DAY, "2 DAYS", "3 DAYS", "4 DAYS", WEEK, MONTH, "OPT EXP"};
input period3 = {default DAY, "2 DAYS", "3 DAYS", "4 DAYS", WEEK, MONTH, "OPT EXP"};
plot Data = high(period = period)[offset];
Data.SetPaintingStrategy(PaintingStrategy.DASHES);
Data.SetDefaultColor(GetColor(1));
plot Data2 = low(period = period)[offset2];
Data2.SetPaintingStrategy(PaintingStrategy.DASHES);
Data2.SetDefaultColor(GetColor(5));
plot Data3 = close(period = period)[offset3];
Data3.SetPaintingStrategy(PaintingStrategy.DASHES);
Data3.SetDefaultColor(GetColor(4));


P.S. Как вставить индикатор в ThinkOrSwim описано здесь.

понедельник, 5 сентября 2011 г.

Автоматическая окраска баз на графике ThinkOrSwim

Нажми на изображение для увеличения

Написал скрипт, который выкрашивает на графике бары базы в зеленый цвет. Мне он помогает делать домашку, т.к. позволяет быстро определять дает ли акция моменты для входа с маленьким риском. Базы более 5 центов скрипт не ищет. Вот код:



#by Egor Masalskiy
#last modify 08.09.2011
input period = {default DAY, WEEK};
input lenght = 3;
input periodRangeFor_base2cent =  0.3;
input periodRangeFor_base3cent = 0.5;
input periodRangeFor_base4cent = 0.8;
input periodRangeFor_base5cent = 1.2;
def BASE = Highest(high, lenght) - Lowest (low, lenght);
AssignPriceColor( if 
(high(period = period)[1] - low(period = period)[1]) > periodRangeFor_base5cent and BASE <= 0.05 then Color.CYAN else if
(high(period = period)[1] - low(period = period)[1]) > periodRangeFor_base4cent and (high(period = period)[1] - low(period = period)[1]) <= periodRangeFor_base5cent and BASE <= 0.04 then Color.CYAN else if
(high(period = period)[1] - low(period = period)[1]) <= periodRangeFor_base4cent and (high(period = period)[1] - low(period = period)[1]) > periodRangeFor_base3cent and BASE <= 0.03 then Color.CYAN else if
(high(period = period)[1] - low(period = period)[1]) <= periodRangeFor_base3cent and (high(period = period)[1] - low(period = period)[1]) > periodRangeFor_base2cent and BASE <= 0.02 then Color.CYAN else if
(high(period = period)[1] - low(period = period)[1]) <= periodRangeFor_base2cent  and BASE <= 0.01 then Color.CYAN
else Color.white);


Описание опций скрипта:
     period - выбор интервала для определения диапазона изменения цен в акци (день или неделя)
     lenght - выбор длины базы (кол-во баров), уменьшение параметра увеличивает чувствительность, увеличение параметра повышает качество определения баз
     periodRangeFor_base2cent - выбор размера диапазона изменения цен для окрашивания базы размером в 2 цента
     periodRangeFor_base3cent - выбор размера диапазона изменения цен для окрашивания базы размером в 3 цента
     periodRangeFor_base4cent - выбор размера диапазона изменения цен для окрашивания базы размером в 4 цента
     periodRangeFor_base5cent - выбор размера диапазона изменения цен для окрашивания базы размером в 5 центов
Последние четыре опции нужны для того что бы скрипт красил более узкие бары на акциях, которые ходят меньше, и красил более широкие базы на акциях, которые ходят больше. Если вам не важно соотношение размера базы и размера дневного движения акции, то просто поставьте значение periodRangeFor_base5cent минимальным.

P.S. Как вставить индикатор в ThinkOrSwim описано здесь.