Предисловие: помните старый фильм «Талантливый мистер Рипли»? Главный герой «пытается пробиться наверх» посредством перманентного обмана. И в конце фильма он встречает сыщика, который ему говорит «Видишь ли, в Америке нас учат проверять факты прежде чем они становятся фактами. Нас учат наводить справки.» и дальше он ему кратко рассказывает факты, на основе которых понятно, кем был мистер Рипли на самом деле. Вот, этот мужик:
И я задумался вот над чем: у нас есть индекс РТС. В составе индекса 42 компании, с определенными весовыми коэффициентами (их посмотреть можно вот здесь: www.moex.com/ru/index/RTSI/constituents). Предположим гипотетическую ситуацию, что цена всех 42 акций, входящих в индекс — выросла, где-то на 1%, где-то на 3% ну и т.п. Вопрос: а на сколько вырастет стоимость фьючерса РТС в такой ситуации? Вот и решил проверить эту простую арбитражную идею, сделал свой индикатор, назвал его «Уравнитель РТС» (да, с фантазией у меня в последнее время не очень).
#Max\min Year
#Сканер выдает акции, которые находятся на годовом экстремуме
#by thetrader.pro
________
#Aggregation — DAYplot out = high[0]== highest(high[0], 365) or low[0]== lowest(low[0], 365);
📈Ищет акции, в которых ATR больше лимита.
⚙ Настроить можно сам лимит и период ATR.
1,5 — это минимальный ATR, который проходит акция.
14 — это число дней (период времени, за который ищем ATR).
Эти настройки вы можете менять как вам угодно
________
#ATR
#Список акций с ATR больше указанного
#by thetrader.pro
#Aggregation — DAY
def iATR = 1.5; #указать минимальный ATR
def periodATR = 14; #указать период ATR
plot bATR = (round((Average(high, periodATR)-Average(low, periodATR)),2)>=iATR);
📈Ищет акции, в которых появились базы на любом ценовом уровне.
⚙ Для баз стандартные настройки максимального отклонения от уровня и число баров для формирования самой базы.
Agregation выставляется по таймфрейму, по которому вы хотите искать.
________
#Base
#Сканер ищет проторговки из N последних свечей, на любых уровнях.
#by thetrader.pro
def iDiff = 0.01; #максимальное отклонение в центах
def iBars = 4; #число баров для просмотра
def iLowest = lowest(low,iBars);
def iHighest = highest(high,iBars);
def bBaseLow = fold Lbar = 0 to iBars with Ls=1 do if ((low[Lbar]-iLowest)<=iDiff) then Ls*1 else Ls*0;
def bBaseHigh = fold Hbar = 0 to iBars with Hs=1 do if ((iHighest-high[Hbar])<=iDiff) then Hs*1 else Hs*0;
plot bBase = bBaseLow or bBaseHigh;