Нажми на изображение для увеличения |
Ну и наконец к комплексному скрипту по окраске баров я добавил лейбл, который сигналит о размере базочек. Остальное описание этого срипта читайте в предыдущих постах. Функции к нему я добавлял постепенно.
Теперь о боке лейблов. Вобщем не трудно догадаться, что если полоса не содержит черного и зеленого цветов - это к шорту, а если нету черного и красного - это к лонгу! =) Голубой цвет сигналит о моменте входа с минимальным риском. Собственно для этого и затевалась вся работа с лейблами... Идеальная ситуация: первый лейбл ярко желтый, второй и третий голубые, а оставшиеся три либо красные для шорта либо зеленые для лонга).
#by Egor Masalskiy
#last modify 03.12.2012
#------------------
input period = {default DAY, WEEK};
input lenght = 3;
input chanel_period = 20;
input periodRangeFor_base2cent = 0.3;
input periodRangeFor_base3cent = 0.5;
input periodRangeFor_base4cent = 0.8;
input periodRangeFor_base5cent = 1.2;
input Open_Inside_Time = 0930;
input Close_Inside_Time = 1030;
#------------------
def day = getDay();
def lastDay = getLastDay();
def isToday = if(day==lastDay,1,0);
def pastOpen = if((secondsTillTime(Open_Inside_Time) > 0), 0,1);
def pastClose = if((secondsTillTime(Close_Inside_Time) > 0), 0,1);
def Inside_Time = if(pastOpen and !pastClose, 1, 0);
def firstBar =if (day[1] != day, day-1, 0);
def BASE = Highest(high, lenght) - Lowest (low, lenght);
def CCI = CCI(chanel_period);
#------------------
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 if
(Inside_Time) then color.ORANGE
else if
CCI < -25 then CreateColor(255,190,190)
else if
CCI < -50 then CreateColor(255,130,130)
else if
CCI > 25 then CreateColor(190,255,190)
else if
CCI > 50 then CreateColor(130,255,130)
else Color.white);
#-----------------------------Label---------------------------------------------------
AddLabel(yes, Concat("Base ", Round(Base, 2)), (if Base <= 0.05 then color.CYAN else Color.BLACK));
P.S. О том как и куда вставлять эти скрипты в терминале ThinkOrSwim написано здесь.