Выбрать страницу

Популярные индикаторы для платформы Thinkorswim

Платформу Thinkorswim любят и используют в ежедневной работе очень многие трейдеры. Это действительно одна из лучших торгово-аналитических платформ современности. Такого перечня доступных в базовой версии индикаторов вы не найдете ни в одой другой платформе. Однако все пожелания трейдеров предусмотреть просто невозможно. Поэтому разработчики платформы предусмотрели возможность добавления авторских индикаторов.

В этом видео я показываю как добавить новые индикаторы и скрипты в Thinkorswim, смотрим видео:

Индикатор уровеня закрытия предыдущего дня | Previous Day’s Close

Ниже приведен код для добавления на график уровня закрытия предыдущего дня:

plot prevClose = close(period=”day”)[1];input showOnlyToday = YES;

Ресурсы с готовыми индикаторами и скриптами для Синкорсвим

Другие полезные скрипты (индикаторы) для платформ можно найти на следующих ресурсах:

Некоторые из этих ресурсов предлагают в том числе и платные решения.

Авторские индикаторы Геннадия Бабака для платформы Синкорсвим (Thinkorswim)

Авторские индикаторы Геннадия Бабака для платформы Синкорсвим (Thinkorswim)

Ниже представлены коды индикаторов для такого шаблона графика:

Базовый лейаут синкорсвим (Thinkorswim) с авторскими индикаторами профитмания

Базовый лейаут синкорсвим (Thinkorswim) с авторскими индикаторами профитмания

Начни зарабатывать трейдингом!
Выбери свою программу подготовки!

Индикатор пивот-пойнт:

input DynamicHide = {«No», default «Yes»};
input showOnlyToday = YES;
input Market_Open_Time = 0830;
input Market_Close_Time = 1616;
def h = DynamicHide;
def day = getDay();
def lastDay = getLastDay();
def isToday = if(day == lastDay, 1, 0);
def shouldPlot = if(showOnlyToday and isToday, 1, if(!showOnlyToday, 1, 0));
def pastOpen = if((secondsTillTime(Market_Open_Time) > 0), 0, 1);
def pastClose = if((secondsTillTime(Market_Close_Time) > 0), 0, 1);
def marketOpen = if(pastOpen and !pastClose, 1, 0);
def firstBar = if (day[1] != day, 1, 0);
def closingBell = if secondsTillTime(Market_Close_Time)[1] > 0 and
secondsTillTime(Market_Close_Time) <= 0 or
(secondsTillTime(Market_Close_Time)[1] < secondsTillTime(Market_Close_Time)
and secondsTillTime(Market_Close_Time)[1] > 0) then 1 else 0;
rec lclose = if IsNaN(close[-1]) then lclose[1] else close;
rec regHoursHigh = if(high > regHoursHigh[1] and marketOpen, high,
if(marketOpen and !firstBar, regHoursHigh[1], high));
rec regHoursLow = if(low < regHoursLow[1] and marketOpen, low,
if(marketOpen and regHoursLow[1] > 0 and !firstBar, regHoursLow[1], low));
rec runningClose = compoundValue(1, if closingbell then close[1] else runningClose[1], close);
rec prevClose = compoundValue(1, if closingBell then runningClose else prevClose[1], close);
rec prevHigh = compoundValue(1, if closingBell then regHoursHigh[1] else prevHigh[1], high);
rec prevLow = compoundValue(1, if closingBell then regHourslow[1] else prevlow[1], low);
rec prevHigh2 = compoundValue(1, if closingBell then prevHigh[1] else prevHigh2[1], high);
rec prevLow2 = compoundValue(1, if closingBell then prevLow[1] else prevlow2[1], low);
plot pivot = if shouldPlot then (prevHigh + prevClose + prevLow) / 3 else double.nan;
pivot.SetStyle(curve.FIRM);
pivot.SetDefaultColor(color.BLACK);
plot s1 = if shouldPlot then (2 * pivot) — prevHigh else double.nan;
s1.SetStyle(curve.FIRM);
s1.SetDefaultColor(color.dark_green);
plot r1 = if shouldPlot then (2 * pivot) — prevLow else double.nan;
r1.SetStyle(curve.FIRM);
r1.SetDefaultColor(color.DaRK_RED);
plot r2 = if shouldPlot then pivot + ( r1 — s1) else double.nan;
r2.SetStyle(curve.FIRM);
r2.SetDefaultColor(color.DaRK_RED);
plot s2 = if shouldPlot then pivot — ( r1 — s1) else double.nan;
s2.SetStyle(curve.FIRM);
s2.SetDefaultColor(color.DaRK_GREEN);
plot s3 = if shouldPlot then prevLow — 2 * (prevHigh — pivot) else double.nan;
s3.SetStyle(curve.FIRM);
s3.SetDefaultColor(color.DaRK_GREEN);
plot r3 = if shouldPlot then prevHigh + 2 * (pivot — prevLow) else double.nan;
r3.SetStyle(curve.FIRM);
r3.SetDefaultColor(color.DaRK_RED);
pivot.setHiding(h and (lclose > r2 or lclose < s2));
r1.setHiding(h and lclose < s1);
r2.setHiding(h and lclose < r1);
r3.setHiding(h and lclose < r2);
s1.setHiding(h and lclose > r1);
s2.setHiding(h and lclose > s1);
s3.setHiding(h and lclose > s2);

input DynamicHide = {«No», default «Yes»};input showOnlyToday = YES;input Market_Open_Time = 0830;input Market_Close_Time = 1616;

Прочтите также:  Самые полезные скрипты и индикаторы для Thinkorswim.

def h = DynamicHide;def day = getDay();def lastDay = getLastDay();def isToday = if(day == lastDay, 1, 0);def shouldPlot = if(showOnlyToday and isToday, 1, if(!showOnlyToday, 1, 0));
def pastOpen = if((secondsTillTime(Market_Open_Time) > 0), 0, 1);def pastClose = if((secondsTillTime(Market_Close_Time) > 0), 0, 1);def marketOpen = if(pastOpen and !pastClose, 1, 0);def firstBar = if (day[1] != day, 1, 0);
def closingBell = if secondsTillTime(Market_Close_Time)[1] > 0 andsecondsTillTime(Market_Close_Time) <= 0 or(secondsTillTime(Market_Close_Time)[1] < secondsTillTime(Market_Close_Time)and secondsTillTime(Market_Close_Time)[1] > 0) then 1 else 0;
rec lclose = if IsNaN(close[-1]) then lclose[1] else close;rec regHoursHigh = if(high > regHoursHigh[1] and marketOpen, high,if(marketOpen and !firstBar, regHoursHigh[1], high));rec regHoursLow = if(low < regHoursLow[1] and marketOpen, low,if(marketOpen and regHoursLow[1] > 0 and !firstBar, regHoursLow[1], low));
rec runningClose = compoundValue(1, if closingbell then close[1] else runningClose[1], close);rec prevClose = compoundValue(1, if closingBell then runningClose else prevClose[1], close);rec prevHigh = compoundValue(1, if closingBell then regHoursHigh[1] else prevHigh[1], high);rec prevLow = compoundValue(1, if closingBell then regHourslow[1] else prevlow[1], low);rec prevHigh2 = compoundValue(1, if closingBell then prevHigh[1] else prevHigh2[1], high);rec prevLow2 = compoundValue(1, if closingBell then prevLow[1] else prevlow2[1], low);

plot pivot = if shouldPlot then (prevHigh + prevClose + prevLow) / 3 else double.nan;pivot.SetStyle(curve.FIRM);pivot.SetDefaultColor(color.BLACK);

plot s1 = if shouldPlot then (2 * pivot) — prevHigh else double.nan;s1.SetStyle(curve.FIRM);s1.SetDefaultColor(color.dark_green);
plot r1 = if shouldPlot then (2 * pivot) — prevLow else double.nan;r1.SetStyle(curve.FIRM);r1.SetDefaultColor(color.DaRK_RED);
plot r2 = if shouldPlot then pivot + ( r1 — s1) else double.nan;r2.SetStyle(curve.FIRM);r2.SetDefaultColor(color.DaRK_RED);
plot s2 = if shouldPlot then pivot — ( r1 — s1) else double.nan;s2.SetStyle(curve.FIRM);s2.SetDefaultColor(color.DaRK_GREEN);
plot s3 = if shouldPlot then prevLow — 2 * (prevHigh — pivot) else double.nan;s3.SetStyle(curve.FIRM);s3.SetDefaultColor(color.DaRK_GREEN);
plot r3 = if shouldPlot then prevHigh + 2 * (pivot — prevLow) else double.nan;r3.SetStyle(curve.FIRM);r3.SetDefaultColor(color.DaRK_RED);
pivot.setHiding(h and (lclose > r2 or lclose < s2));r1.setHiding(h and lclose < s1);r2.setHiding(h and lclose < r1);r3.setHiding(h and lclose < r2);
s1.setHiding(h and lclose > r1);s2.setHiding(h and lclose > s1);s3.setHiding(h and lclose > s2);

Прочтите также:  Платформа thinkorswim (видео по индикаторам и скриптам).

Индикатор TTM Squeeze

declare lower;

input Length = 20;

input price = close;

######################

def e1 = (Highest(High, length) + Lowest(low, length)) / 2 + Average(close, length);

def osc = Inertia(price — e1 / 2, length);

plot oscp = osc;

def diff = reference BollingerBandsSMA(length = 20).»upperband» — reference KeltnerChannels.»Upper_Band»;

plot mid = 0;

mid.AssignValueColor(if diff >= 0 then Color.UPTICK else Color.DOWNTICK);

#oscp.assignValueColor(if osc[1] < osc[0] then Color.CYAN else Color.magenta);

oscp.AssignValueColor(if osc[1] < osc[0] then

if osc[0] >= 0 then

#UpPos

CreateColor(0, 255, 255) else

#UpNeg

CreateColor(204, 0, 204)

else if osc[0] >= 0 then

#DnPos

CreateColor(0, 155, 155) else

#DnNeg

CreateColor(255, 155, 255));

oscp.SetPaintingStrategy( PaintingStrategy.HISTOGRAM);

mid.SetPaintingStrategy(PaintingStrategy.POINTS);

Больше информации о платформе Thinkorswim на сайте профитмания.

Вот видео-плейлист материалов по платформе синкорсвим, которые я записывал в разные годы:

 

Начни зарабатывать трейдингом!
Пройди личный коучинг!

Связанные записи