Индикатор для ThinkOrSwim.
Рисует потенциальные цели в акции
относительно ее среднего движения за 14 дней.
#Capacity_Level
#by thetrader.pro
declare once_per_bar;
declare hide_on_daily;
input length = 14;
input ShowATR = No;
def ATR = Average(TrueRange(high(period = «DAY»), close(period = «DAY»), low(period = «DAY»)), length )[1];
AddLabel (ShowATR, «ATR(«+length+») » + Round(ATR,2), Color.GRAY);
def newDay = SecondsFromTime(0930)==0;
def DayHigh = if newDay then High else if High[1] > DayHigh[1] then High[1] else DayHigh[1];
def DayLow = if newDay then Low else if Low[1] < DayLow[1] then Low[1] else DayLow[1];
plot UpLevel = If(GetAggregationPeriod() <= AggregationPeriod.FIFTEEN_MIN, DayLow + ATR, Double.NaN);
plot DownLevel = If(GetAggregationPeriod() <= AggregationPeriod.FIFTEEN_MIN,DayHigh — ATR, Double.NaN);
UpLevel.SetDefaultColor (Color.GRAY);
UpLevel.SetPaintingStrategy(PaintingStrategy.LINE);
UpLevel.SetStyle(Curve.LONG_DASH);
DownLevel.SetDefaultColor(Color.GRAY);
DownLevel.SetPaintingStrategy(PaintingStrategy.LINE);
DownLevel.SetStyle(Curve.LONG_DASH);
Полная библиотека индикаторов в нашем блоге goo.gl/9JRWUi
Очень полезный индикатор для ThinkORSwim для тестирования стратегий и проверки гипотез.
При помощи него можно проверить гипотезу, как работает паттерн в акциях с разным значением относительного объема .
Примеру: К примеру мой паттер в 10:30 и он классно отрабатывает только когда относительный объем больше 30%.
#Study:VolPlay
#by thetrader.prodeclare on_volume;
declare once_per_bar;input length = 65;
def AvgVolume = Average(Volume (Period = aggregationPeriod.DAY)[1], length);def yyyyMmDd = GetYYYYMMDD();
def Vol = if yyyyMmDd > yyyyMmDd[1] then volume else volume + Vol[1];plot VolPlay = Round (Vol/AvgVolume,2);
VolPlay.SetDefaultColor(color = Color.GRAY);
Рисует линии вчерашних Hi, Low, Close, Open и сегодняшнего Open на графике
Очень удобно, наглядно показывает важные уровни вчерашнего дня.
#Thinkorswim studies #Рисует линии вчерашних Hi, Low, Close, Open и сегодняшнего Open на графике. #Thinkorswim https://radchenkovy.com/thinkorswim-live input sPeroid = {default DAY, WEEK, MONTH}; input iHigh = {default "yes", "no"}; input iLow = {default "yes", "no"}; input iClose = {default "yes", "no"}; input iOpen = {default "yes", "no"}; input iTodayOpen = {default "yes", "no"}; plot pHigh = if !iHigh then high(period = sPeroid)[1] else Double.NaN; plot pLow = if !iLow then low(period = sPeroid)[1] else Double.NaN; plot pClose = if !iClose then close(period = sPeroid)[1] else Double.NaN; plot pOpen = if !iOpen then open(period = sPeroid)[1] else Double.NaN; plot pTodayOpen = if !iTodayOpen then open(period = sPeroid)[0] else Double.NaN; pHigh.SetDefaultColor (Color.GREEN); pHigh.SetPaintingStrategy(PaintingStrategy.DASHES); pLow.SetDefaultColor(Color.RED); pLow.SetPaintingStrategy(PaintingStrategy.DASHES); pClose.SetDefaultColor (Color.GRAY); pClose.SetPaintingStrategy(PaintingStrategy.DASHES); pOpen.SetDefaultColor (Color.WHITE); pOpen.SetPaintingStrategy(PaintingStrategy.DASHES); pTodayOpen.SetDefaultColor (Color.WHITE); pTodayOpen.SetPaintingStrategy(PaintingStrategy.DASHES);;
Полная библиотека индикаторов, фильтров и сканеров для Thinkorswim в этом блоге bit.ly/2vKq4F8
Ищет ситуации, когда базы на круглых уровнях пробиваются. В этом случае сигнал показывается до тех пор, пока цена не уходит слишком далеко от пробития. Указать нужное расстояние ухода цены можно в дополнительной настройке — Максимальное отклонения для пробития.
#BaseBreakout.Ищет только что пробитые базы из N последних свечей, на уровнях 50 и 100 центов.
#Cнять галочку Include Extended Session
def iDiff = 0.01; # максимальное отклонение для базы в центах
def iDiff2 = 0.40; # максимальное отклонение для пробития в центах
def iBars = 4; #число баров для просмотра базы
def iLowest = lowest(low,iBars);
def iHighest = highest(high,iBars);
def bBaseLow = fold Lbar = 0 to iBars with Lsumm=1 do if ((low[Lbar]-iLowest)<=iDiff) then Lsumm*1 else Lsumm*0;
def bBaseHigh = fold Hbar = 0 to iBars with Hsumm=1 do if ((iHighest-high[Hbar])<=iDiff) then Hsumm*1 else Hsumm*0;
def iFigureLow = fold FLbar = 1 to iBars+1 with FLsumm do if (low[FLbar] == (Floor(low[FLbar]*2))/2) then FLsumm+1 else FLsumm;
Скрипт #ThinkOrSwim для #watchlist
Сигналит при образовании формации «Перекрытие тел». Сигналы разделены на покупку и продажу.
#Body_overlapping.Показывает паттерн «Body overlapping или Перекрытие тел»
#Cнять галочку Include Extended Session
def bSignalUp = open[1]<close[1] and open>close[1] and close<open[1];
def bSignalDown = open[1]>close[1] and open<close[1] and close>open[1];
plot out = if bSignalUp then 1 else if bSignalDown then 2 else 100;
AssignBackgroundColor (if (out == 1) then Color.LIGHT_GREEN else if (out == 2) then Color.LIGHT_RED else Color.black);
out.AssignValueColor (if out <> 100 then Color.black else Color.CURRENT);
Полная библиотека индикаторов в нашем блоге goo.gl/9JRWUi
Устанавливает фоном график любого символа
В данном примере поверх открытого графика наложен график SPY серым цветом.
#Thinkorswim studies #Устанавливает фоном график любого символа #В данном примере поверх открытого графика наложен график SPY серым цветом #Thinkorswim https://RadchenkoVY.com /TOS declare lower; input symbol = "spy"; #ввести нужный символ plot Line = close (symbol); Line.SetDefaultColor (Color.GRAY);
Полная библиотека индикаторов, фильтрови и сканеров для Thinkorswim в этом блоге http://bit.ly/2vKq4F8
Скрипт #ThinkOrSwim для #watchlist
Поиск формации «Внешний бар» на графике.
#Inside_Bar.Показывает паттерн «Внутренний бар»
#Cнять галочку Include Extended Session
def bSignalDown = open[1]>close[1] and open<close and high<high[1] and low>low[1];
def bSignalUp = open[1]<close[1] and open>close and high<high[1] and low>low[1];
plot out = if bSignalUp then 1 else if bSignalDown then 2 else 100;
AssignBackgroundColor (if (out == 1) then Color.LIGHT_GREEN else if (out == 2) then Color.LIGHT_RED else Color.black);
out.AssignValueColor (if out <> 100 then Color.black else Color.CURRENT);
Полная библиотека индикаторов в нашем блоге goo.gl/9JRWUi
Показывает две формации, образованные на графике. «Тройное дно» или «Тройная вершина». Сигналы разделены на покупку и продажу.
#ThreeHighLow. Показывает паттерн «три бара с тройной вершиной\тройным дном»
#Cнять галочку Include Extended Session
def bSignalUp = high[2]==high[1] and high[1]==high;
def bSignalDown = low[2]==low[1] and low[1]==low;
plot out = if bSignalUp then 1 else if bSignalDown then 2 else 100;
AssignBackgroundColor (if (out == 1) then Color.LIGHT_GREEN else if (out == 2) then Color.LIGHT_RED else Color.black);
out.AssignValueColor (if out <> 100 then Color.black else Color.CURRENT);
Полная библиотека индикаторов в нашем блоге goo.gl/9JRWUi