else if (LC>0.95 or HC>0.95) and (LC<1 or HC<1) then 1
else 0;
def bBaseLow = fold Lbar = 1 to iBars+1 with Lsumm=1 do if
((low[Lbar]-iLowest)<=iDiff) then Lsumm*1 else Lsumm*0;
def bBaseHigh = fold Hbar = 1 to iBars+1 with Hsumm=1 do
if ((iHighest-high[Hbar])<=iDiff) then Hsumm*1 else
Hsumm*0;
plot bBase = ((bBaseLow == 1) or (bBaseHigh == 1)) and level == 1;
Проводим сканирование и сохраняем результаты в новый лист, который называем Long 00 50. Аналогичную операцию проделываем для листов Short и 075. Вот как должно это выглядеть на картинке:
Теперь у нас автоматические листы, которые к тому же помогают нам найти наиболее сильные уровни. Но и это еще не все. Теперь мы настроим скрипт, который будет показывать готовые базы прямо в самом списке акций и окрашивать их в разные цвета в зависимости от того, какого типа эта база.
Переходим на наш список акций. Нажимаем на уже знакомую маленькую шестеренку, выбираем заготовку для скрипта Custom и пишем туда формулу:
#Ищет базу, на любых уровнях
#Снять галочку Include Extended Session
def iDiff = 0.05; # задайте максимальное отклонение в центах
def iLowest = lowest(low[0],4);
def iHighest = highest(high[0],4);
def iLow0 = low[0];
def iLow1 = low[1];
def iLow2 = low[2];
def iLow3 = low[3];
def iHigh0 = high[0];
def iHigh1 = high[1];
def iHigh2 = high[2];
def iHigh3 = high[3];
def bBaseLow = if
((iLow1-iLowest)<=iDiff) and
((iLow2-iLowest)<=iDiff) and
((iLow3-iLowest)<=iDiff) and
((iLow0-iLowest)<=iDiff)
then 1 else 0;
def bBaseHigh = if
((iHighest-iHigh1)<=iDiff) and
((iHighest-iHigh2)<=iDiff) and
((iHighest-iHigh3)<=iDiff) and
((iHighest-iHigh0)<=iDiff)
then 1 else 0;
def bLevelLow = if
(iLow1 == roundDown(iLow1,1)) or
(iLow2 == roundDown(iLow2,1)) or
(iLow3 == roundDown(iLow3,1)) or
(iLow0 == roundDown(iLow0,1))
then 1 else 0;
def bLevelHigh = if
(iHigh1 == roundUp(iHigh1,1)) or
(iHigh2 == roundUp(iHigh2,1)) or
(iHigh3 == roundUp(iHigh3,1)) or
(iHigh0 == roundUp(iHigh0,1))
then 1 else 0;
plot bBase = if (bBaseLow and bLevelLow) then 1
else if (bBaseHigh and bLevelHigh) then 2
else 100;
AssignBackgroundColor (if (bBase == 1) then Color.LIGHT_GREEN else if (bBase == 2) then Color.LIGHT_RED else Color.black);
#bBase.AssignValueColor (if (bBase > 0 and bBase < 100) then Color.black else Color.CURRENT);
Внимание, важно! Обратите внимание, что нужно снять галочку Include Extended Session, а также нужно выбрать период на 5-минутных свечках, ведь базы мы с вами ищем именно на пятиминутках. Выглядеть все это великолепие будет вот так:
Их так много уже на момент закрытия рынка, а во время основной торговой сессии это случается редко, так что не переживайте. Но у вас будет из чего выбрать. Не пугайтесь, если перед открытием рынка листы у вас окажутся пустыми — это нормально, поскольку уже начался премаркет и акции не успели наторговать большой объем. Смотреть эти листы имеет смысл спустя час-полтора после открытия рынка. Зеленые базы означают, что акция бьется об уровень сверху, а красные — снизу. Как вы понимаете, для нас предпочтительнее базы первого типа, об этом речь пойдет дальше.