Из более чем 7000 акций почти всегда можно найти те, с которыми стоит работать сегодня. А если при этом вам будет неважно направление и вы переквалифицируетесь из инвесторов в трейдеры, то тогда вообще всегда можно найти акции для работы. Но я все-таки буду учить вас инвестициям, и все необходимое для начала торговли тоже дам.
А теперь к делу. Возвращаемся на главную страницу Thinkorswim и выбираем вкладку Scan, сканирование по всем акциям All Stocks (цифра 1). Далее будем добавлять фильтры, они бывают типовые (цифра 2) и заданные скриптом (цифра 3). Кстати, по версии paper money нельзя задавать параметры поиска скриптом, что нас категорически не устраивает.
Выбираем настройки фильтров, сначала поставим типовые. Ставим фильтр по параметру Last — цена закрытия (цифра 4), выставляем значения от 1 до 100 — это цены в долларах за одну акцию. Затем создаем фильтр с параметром Net Change (цифра 5) — это фактическое изменение цены, сначала будем искать акции, которые хоть немного, но растут. Выставляем значения от + 0.30 и значение «до» не указываем вообще, он будет считать до максимума. Ставим фильтр по объему — Volume (цифра 6): нам интересны акции, торговавшиеся сегодня от 500 000 штук, максимальное значение снова не заполняем. А теперь перейдем к пользовательскому фильтру. Добавляем такой фильтр (цифра 7), нажимаем справа на карандашик (цифра 8) и в появившееся окно вставляем формулу:
def iA = 0.8;
input vol = Volume;
input length = 65;
def bA = if (round(vol/ Average(vol, length),1)>=iA) then 1 else 0;
plot Scan = bA;
Сохраняем. Эта формула показывает динамический объем за день, иными словами, определяет, есть ли в акции повышенный объем. Повышенный — значит больше 0.8 от обычного значения объема. Нам интересны только акции с повышенным объемом. Если это происходит в первые часы после открытия рынка, то акция будет иметь хорошее движение.
Нажимаем на кнопку Scan (цифра 9). Внизу появляются акции, удовлетворяющие критериям поиска. Теперь, чтобы не вести такой поиск постоянно, создадим автоматический лист акций, в который всегда будут попадать акции по заданным критериям поиска. Нажимаем на кнопку в правом углу (цифра 10), сохраняем этот скан в лист и называем его Long. Теперь его можно открыть в списке наших листов акций в разделе Personal.
Теперь практически таким же образом настроим лист Short — акции, которые падают сегодня на повышенном объеме. Меняем только одно значение Net Change: ставим минимум –100 (не забывайте знак минус), а максимум –0.30 (да, максимум тоже отрицательный, так как нужны акции, которые падают). Опять производим сканирование и сохраняем этот список как Short.
Далее настроим лист акций, которые постоянно проходят больше 0.75 доллара в день, то есть акции с ATR выше 0.75. Для этого удалим из параметров поиска Net Change и добавим туда еще один пользовательский фильтр:
#Формула для поиска акций с ATR(среднедневной диапазон хода цены акции)
def iATR = 0.75; #Установить значение в центах
def bATR = if (round((Average(high, 65)-Average(low, 65)),2)>=iATR) then 1 else 0;
plot Scan = bATR;
Вот что получится в итоге. Сохраняем этот лист тоже и называем его 075.
Бывают такие дни, когда рынок сильно движется вверх или вниз, и выбор акций слишком большой. Тогда неплохо бы его сократить и смотреть только акции у сильных уровней. А как мы уже знаем, сильные уровни на американском рынке — это, как правило, круглые числа 00 и 50 центов.
Теперь внимание: хитрость! Сканирование можно проводить не только по рынку, но и внутри наших списков, в том числе и автоматических. Делаем следующий фокус: переставляем в сканирование вместо All Stocks наш лист Long. Удаляем все фильтры, кроме одного пользовательского. Его будем редактировать, поменяв период расчета с D (день) на 5m (5 минут) и заменив формулу на эту:
#Ищет базы по круглым уровням
def iDiff = 0.05; #максимальное отклонение в центах
def iBars = 4; #число баров для просмотра базы
def iLowest = lowest(low[1], iBars);
def iHighest = highest(high[1], iBars);
def LC = iLowest-RoundDown(iLowest,0);
def HC = iHighest-RoundDown(iHighest,0);
def level = if (LC>0 or HC>0) and (LC<0.05 or HC<0.05) then 1
else if (LC>0.45 or HC>0.45) and (LC<0.55 or HC<0.55) then 1