Мои наработки для Thinkorswim. Забирайте.

pavel.elba

Местный
Регистрация
29.12.14
Сообщения
1,129
Реакции
607
В запасе больше 1000 индикаторов. Буду выкладывать постепенно.
 

Вложения

  • AB_MANY_SIGNALSSTUDY.ts
    4.2 КБ · Просмотры: 292
  • ATEST_INDICATORSTUDY.ts
    8.5 КБ · Просмотры: 228
  • AW_TESTSTUDY.ts
    8.6 КБ · Просмотры: 222
  • Intra_AROWSSTUDY.ts
    7.1 КБ · Просмотры: 228
  • MOI_INDICATOR_STSTUDY.ts
    7.7 КБ · Просмотры: 237
  • PO_TRENDUSTUDY.ts
    1.3 КБ · Просмотры: 235
  • PZOSTUDY.ts
    6 КБ · Просмотры: 233
  • AB_AROWSSTUDY.ts
    3.5 КБ · Просмотры: 187
  • sdi_itsigSTUDY.ts
    3.3 КБ · Просмотры: 167

istrelok

Старейшина
Регистрация
20.04.14
Сообщения
1,882
Реакции
2,175
istrelok не предоставил никакой дополнительной информации.
Знаете что... Могу вообще не выкладывать.. Критиканты фиговы...
Да не обращай внимания, флуд и всякие перепалки на форуме всегда будут иметь место ;)
Как по мне, так ветка - сверхполезная!
 

istrelok

Старейшина
Регистрация
20.04.14
Сообщения
1,882
Реакции
2,175
istrelok не предоставил никакой дополнительной информации.
Умный ответ, но мимо. Я спрашивал, как начинает вести себя ТОС, если в него понагрузить такое количество индюков.
Колличество загруженных индюков ТОС не грузят, а вот большое кол-во навешанных индюков на графики, и если их несколько - грузят ТОС не по детски, по крайней мере у меня так!
 

Relaxir

Местный
Регистрация
14.03.15
Сообщения
397
Реакции
361
Relaxir не предоставил никакой дополнительной информации.
Колличество загруженных индюков ТОС не грузят, а вот большое кол-во навешанных индюков на графики, и если их несколько - грузят ТОС не по детски, по крайней мере у меня так!
Если еще к-во дней увеличить, будет еще сильней подзалипать:)
 

strelok

Местный
Регистрация
16.12.14
Сообщения
538
Реакции
319
strelok не предоставил никакой дополнительной информации.

strelok

Местный
Регистрация
16.12.14
Сообщения
538
Реакции
319
strelok не предоставил никакой дополнительной информации.

kikos

Старейшина
Регистрация
23.09.14
Сообщения
4,554
Реакции
6,126
kikos не предоставил никакой дополнительной информации.
12 штук?))) что ты там разглядишь то потом?))
declare upper;
input Sto_over_bought = 75;
input Sto_over_sold = 25;
input sto_KPeriod = 14;
input sto_DPeriod = 5;
def sto_priceH = high;
def sto_priceL = low;
def sto_priceC = close;
input sto_slowing_period = 3;
input MACDFastLength = 8;
input MACDSlowLength = 17;
input MACDLength = 9;
input MvgAvgLength = 30 ;
input MvgAvgType = { default SMA, EMA };
def SimpleMvgAvgOnOrOff =
if mvgAvgType == mvgAvgType.SMA then
1
else
0
;
def sto_smoothingType = SimpleMvgAvgOnOrOff ;
def c1 = sto_priceC - Lowest(sto_priceL, sto_KPeriod);
def c2 = Highest(sto_priceH, sto_KPeriod) - Lowest(sto_priceL, sto_KPeriod);
def FastK = c1 / c2 * 100;
def FullK =
if sto_smoothingType == 1 then
Average(FastK, sto_slowing_period)
else
ExpAverage(FastK, sto_slowing_period);
def FullD =
if sto_smoothingType == 1 then
Average(FullK, sto_DPeriod)
else
ExpAverage(FullK, sto_DPeriod);

def MAprice =
if simpleMvgAvgOnOrOff == 1 then
simpleMovingAvg( close, mvgAvgLength)
else
ExpAverage( close, mvgAvgLength);

def MACDdiff =
if simpleMvgAvgOnOrOff == 1 then
MACD( MACDfastLength, MACDslowLength, MACDLength, "SMA").Diff
else
MACD( MACDfastLength, MACDslowLength, MACDLength, "EMA").Diff
;
rec MACDarrow =
if MACDdiff == 0 then MACDarrow[1]
else if MACDdiff > 0 then 1
else -1 ;
rec MAarrow =
if close == MAprice then MAarrow[1]
else if close > MAprice then 1
else -1 ;

rec StochsArrow =
if FULLD > sto_over_bought then 1
else if FULLD >= sto_over_sold and FULLD > FULLD[1] then 1
else if FULLD >= sto_over_sold and FULLD == FULLD[1] then
StochsArrow[1]
else -1 ;

def arrowCount = MACDarrow + StochsArrow + MAarrow ;
def macdStoCount = MACDarrow + STOCHSArrow;

def up1 =
if arrowCount == 3 then 3
else if arrowCount == 1 then 2
else if arrowCount == -1 then 1
else double.NaN
;

def dn =
if arrowCount == -3 then -3
else if arrowCount == -1 then -2
else if arrowCount == 1 then -1
else double.NaN
;


def macd_rv =
if MACDdiff[2] < MACDdiff[1] && MACDdiff[1] > MACDdiff && MACDdiff[1] > 0 && FULLD[1] > sto_over_bought then
up1+0.5
else if MACDdiff[2] > MACDdiff[1] && MACDdiff[1] < MACDdiff && MACDdiff[1] < 0 && FULLD[1] < sto_over_sold then
dn-0.5
else
double.NaN
;


#plot z = 0 ;
#z.SetDefaultColor( color.DARK_GRAY );
#z.setLineWeight(3);
#plot p3 = 5 ;
#p3.setDefaultColor( color.DARK_GRAY);
#plot p2 = 2 ;
#p2.SetDefaultColor( color.DARK_GRAY);
#plot p1 = 1 ;
#p1.SetDefaultColor( color.DARK_GRAY);
#plot m3 = -5 ;
#m3.setdefaultColor( color.DARK_GRAY);
#plot m2 = -2 ;
#m2.SetDefaultColor( color.DARK_GRAY);
#plot m1 = -1 ;
#m1.SetDefaultColor( color.DARK_GRAY);


plot down = if MACDdiff[2] < MACDdiff[1] && MACDdiff[1] > MACDdiff && MACDdiff[1] > 0 && FULLD[1] > sto_over_bought then
up1+0.5 else 0;

plot up = if MACDdiff[2] > MACDdiff[1] && MACDdiff[1] < MACDdiff && MACDdiff[1] < 0 && FULLD[1] < sto_over_sold then
dn-0.5 else 0;

up.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
up.SetLineWeight(5);
up.SetDefaultColor(Color.WHITE);
Alert (up, "UP", Alert.BAR, Sound.Ding);

down.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
down.SetLineWeight(5);
down.SetDefaultColor(Color.WHITE);
Alert(down, "DOWN", Alert.BAR, Sound.Ding);

AddLabel(down, "ВНИЗ", Color.RED);
AddLabel(up, "ВВЕРХ", Color.GREEN);

AssignBackgroundColor(if DOWN then Color.DARK_RED else if UP then Color.DARK_GREEN else Color.CURRENT);
 

kikos

Старейшина
Регистрация
23.09.14
Сообщения
4,554
Реакции
6,126
kikos не предоставил никакой дополнительной информации.
declare upper;
input Sto_over_bought = 75;
input Sto_over_sold = 25;
input sto_KPeriod = 14;
input sto_DPeriod = 5;
def sto_priceH = high;
def sto_priceL = low;
def sto_priceC = close;
input sto_slowing_period = 3;
input MACDFastLength = 8;
input MACDSlowLength = 17;
input MACDLength = 9;
input MvgAvgLength = 30 ;
input MvgAvgType = { default SMA, EMA };
def SimpleMvgAvgOnOrOff =
if mvgAvgType == mvgAvgType.SMA then
1
else
0
;
def sto_smoothingType = SimpleMvgAvgOnOrOff ;
def c1 = sto_priceC - Lowest(sto_priceL, sto_KPeriod);
def c2 = Highest(sto_priceH, sto_KPeriod) - Lowest(sto_priceL, sto_KPeriod);
def FastK = c1 / c2 * 100;
def FullK =
if sto_smoothingType == 1 then
Average(FastK, sto_slowing_period)
else
ExpAverage(FastK, sto_slowing_period);
def FullD =
if sto_smoothingType == 1 then
Average(FullK, sto_DPeriod)
else
ExpAverage(FullK, sto_DPeriod);

def MAprice =
if simpleMvgAvgOnOrOff == 1 then
simpleMovingAvg( close, mvgAvgLength)
else
ExpAverage( close, mvgAvgLength);

def MACDdiff =
if simpleMvgAvgOnOrOff == 1 then
MACD( MACDfastLength, MACDslowLength, MACDLength, "SMA").Diff
else
MACD( MACDfastLength, MACDslowLength, MACDLength, "EMA").Diff
;
rec MACDarrow =
if MACDdiff == 0 then MACDarrow[1]
else if MACDdiff > 0 then 1
else -1 ;
rec MAarrow =
if close == MAprice then MAarrow[1]
else if close > MAprice then 1
else -1 ;

rec StochsArrow =
if FULLD > sto_over_bought then 1
else if FULLD >= sto_over_sold and FULLD > FULLD[1] then 1
else if FULLD >= sto_over_sold and FULLD == FULLD[1] then
StochsArrow[1]
else -1 ;

def arrowCount = MACDarrow + StochsArrow + MAarrow ;
def macdStoCount = MACDarrow + STOCHSArrow;

def up1 =
if arrowCount == 3 then 3
else if arrowCount == 1 then 2
else if arrowCount == -1 then 1
else double.NaN
;

def dn =
if arrowCount == -3 then -3
else if arrowCount == -1 then -2
else if arrowCount == 1 then -1
else double.NaN
;


def macd_rv =
if MACDdiff[2] < MACDdiff[1] && MACDdiff[1] > MACDdiff && MACDdiff[1] > 0 && FULLD[1] > sto_over_bought then
up1+0.5
else if MACDdiff[2] > MACDdiff[1] && MACDdiff[1] < MACDdiff && MACDdiff[1] < 0 && FULLD[1] < sto_over_sold then
dn-0.5
else
double.NaN
;


#plot z = 0 ;
#z.SetDefaultColor( color.DARK_GRAY );
#z.setLineWeight(3);
#plot p3 = 5 ;
#p3.setDefaultColor( color.DARK_GRAY);
#plot p2 = 2 ;
#p2.SetDefaultColor( color.DARK_GRAY);
#plot p1 = 1 ;
#p1.SetDefaultColor( color.DARK_GRAY);
#plot m3 = -5 ;
#m3.setdefaultColor( color.DARK_GRAY);
#plot m2 = -2 ;
#m2.SetDefaultColor( color.DARK_GRAY);
#plot m1 = -1 ;
#m1.SetDefaultColor( color.DARK_GRAY);


plot down = if MACDdiff[2] < MACDdiff[1] && MACDdiff[1] > MACDdiff && MACDdiff[1] > 0 && FULLD[1] > sto_over_bought then
up1+0.5 else 0;

plot up = if MACDdiff[2] > MACDdiff[1] && MACDdiff[1] < MACDdiff && MACDdiff[1] < 0 && FULLD[1] < sto_over_sold then
dn-0.5 else 0;

up.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
up.SetLineWeight(5);
up.SetDefaultColor(Color.WHITE);
Alert (up, "UP", Alert.BAR, Sound.Ding);

down.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
down.SetLineWeight(5);
down.SetDefaultColor(Color.WHITE);
Alert(down, "DOWN", Alert.BAR, Sound.Ding);

AddLabel(down, "ВНИЗ", Color.RED);
AddLabel(up, "ВВЕРХ", Color.GREEN);

AssignBackgroundColor(if DOWN then Color.DARK_RED else if UP then Color.DARK_GREEN else Color.CURRENT);
 

Вложения

  • NewStudy6STUDY.ts
    8.6 КБ · Просмотры: 146

strelok

Местный
Регистрация
16.12.14
Сообщения
538
Реакции
319
strelok не предоставил никакой дополнительной информации.
Спасибо Федь, не хотел тебя тревожить по пустякам))
 

kikos

Старейшина
Регистрация
23.09.14
Сообщения
4,554
Реакции
6,126
kikos не предоставил никакой дополнительной информации.

pavel.elba

Местный
Регистрация
29.12.14
Сообщения
1,129
Реакции
607
Привет! нормально сейчас как раз смотрю тоже
Паша дай ещё такой экзотики если есть !
Есть у меня один интересный подвальник, я с него стрелочник сделал, завтра скину оба. Вещь классная. Тоже где-то у буржуев нашел.
 

istrelok

Старейшина
Регистрация
20.04.14
Сообщения
1,882
Реакции
2,175
istrelok не предоставил никакой дополнительной информации.
Вот спасибо, на истории всё очень даже красиво с sdi, ждем торгов!
 

Nosfiratu

Новичок
Регистрация
27.10.15
Сообщения
94
Реакции
39
Nosfiratu не предоставил никакой дополнительной информации.
Спасибо! Еще бы тестер бы к нему не помешал, если не трудно)

pavel.elba спасибо за индюки! Ждем еще!)))
 

АдмиралЪ

Местный
Регистрация
02.04.15
Сообщения
454
Реакции
403
АдмиралЪ не предоставил никакой дополнительной информации.
declare upper;
input Sto_over_bought = 75;
input Sto_over_sold = 25;
input sto_KPeriod = 14;
input sto_DPeriod = 5;
def sto_priceH = high;
def sto_priceL = low;
def sto_priceC = close;
input sto_slowing_period = 3;
input MACDFastLength = 8;
input MACDSlowLength = 17;
input MACDLength = 9;
input MvgAvgLength = 30 ;
input MvgAvgType = { default SMA, EMA };
def SimpleMvgAvgOnOrOff =
if mvgAvgType == mvgAvgType.SMA then
1
else
0
;
def sto_smoothingType = SimpleMvgAvgOnOrOff ;
def c1 = sto_priceC - Lowest(sto_priceL, sto_KPeriod);
def c2 = Highest(sto_priceH, sto_KPeriod) - Lowest(sto_priceL, sto_KPeriod);
def FastK = c1 / c2 * 100;
def FullK =
if sto_smoothingType == 1 then
Average(FastK, sto_slowing_period)
else
ExpAverage(FastK, sto_slowing_period);
def FullD =
if sto_smoothingType == 1 then
Average(FullK, sto_DPeriod)
else
ExpAverage(FullK, sto_DPeriod);

def MAprice =
if simpleMvgAvgOnOrOff == 1 then
simpleMovingAvg( close, mvgAvgLength)
else
ExpAverage( close, mvgAvgLength);

def MACDdiff =
if simpleMvgAvgOnOrOff == 1 then
MACD( MACDfastLength, MACDslowLength, MACDLength, "SMA").Diff
else
MACD( MACDfastLength, MACDslowLength, MACDLength, "EMA").Diff
;
rec MACDarrow =
if MACDdiff == 0 then MACDarrow[1]
else if MACDdiff > 0 then 1
else -1 ;
rec MAarrow =
if close == MAprice then MAarrow[1]
else if close > MAprice then 1
else -1 ;

rec StochsArrow =
if FULLD > sto_over_bought then 1
else if FULLD >= sto_over_sold and FULLD > FULLD[1] then 1
else if FULLD >= sto_over_sold and FULLD == FULLD[1] then
StochsArrow[1]
else -1 ;

def arrowCount = MACDarrow + StochsArrow + MAarrow ;
def macdStoCount = MACDarrow + STOCHSArrow;

def up1 =
if arrowCount == 3 then 3
else if arrowCount == 1 then 2
else if arrowCount == -1 then 1
else double.NaN
;

def dn =
if arrowCount == -3 then -3
else if arrowCount == -1 then -2
else if arrowCount == 1 then -1
else double.NaN
;


def macd_rv =
if MACDdiff[2] < MACDdiff[1] && MACDdiff[1] > MACDdiff && MACDdiff[1] > 0 && FULLD[1] > sto_over_bought then
up1+0.5
else if MACDdiff[2] > MACDdiff[1] && MACDdiff[1] < MACDdiff && MACDdiff[1] < 0 && FULLD[1] < sto_over_sold then
dn-0.5
else
double.NaN
;


#plot z = 0 ;
#z.SetDefaultColor( color.DARK_GRAY );
#z.setLineWeight(3);
#plot p3 = 5 ;
#p3.setDefaultColor( color.DARK_GRAY);
#plot p2 = 2 ;
#p2.SetDefaultColor( color.DARK_GRAY);
#plot p1 = 1 ;
#p1.SetDefaultColor( color.DARK_GRAY);
#plot m3 = -5 ;
#m3.setdefaultColor( color.DARK_GRAY);
#plot m2 = -2 ;
#m2.SetDefaultColor( color.DARK_GRAY);
#plot m1 = -1 ;
#m1.SetDefaultColor( color.DARK_GRAY);


plot down = if MACDdiff[2] < MACDdiff[1] && MACDdiff[1] > MACDdiff && MACDdiff[1] > 0 && FULLD[1] > sto_over_bought then
up1+0.5 else 0;

plot up = if MACDdiff[2] > MACDdiff[1] && MACDdiff[1] < MACDdiff && MACDdiff[1] < 0 && FULLD[1] < sto_over_sold then
dn-0.5 else 0;

up.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
up.SetLineWeight(5);
up.SetDefaultColor(Color.WHITE);
Alert (up, "UP", Alert.BAR, Sound.Ding);

down.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
down.SetLineWeight(5);
down.SetDefaultColor(Color.WHITE);
Alert(down, "DOWN", Alert.BAR, Sound.Ding);

AddLabel(down, "ВНИЗ", Color.RED);
AddLabel(up, "ВВЕРХ", Color.GREEN);

AssignBackgroundColor(if DOWN then Color.DARK_RED else if UP then Color.DARK_GREEN else Color.CURRENT);
Эта стрелка появляется в самом начале формирования свечи? Не пропадает?
 

pavel.elba

Местный
Регистрация
29.12.14
Сообщения
1,129
Реакции
607
Подвальный индикатор я у себя найти не смог. Переделывать обратно нет времени, выкладываю стрелочник. Охарактеризовать его можно как индикатор, выдающий сигнал после определенного кол-ва свечей бычьих или медвежьих.
Количество свечей выставляется параметром trend. Обведено красным.
Mainthinkorswim [build 1880.16].jpg AB_CANDLE_STRONG Customizing.jpg
 

Вложения

  • AB_CANDLE_STRONGSTUDY.ts
    10.7 КБ · Просмотры: 170

АдмиралЪ

Местный
Регистрация
02.04.15
Сообщения
454
Реакции
403
АдмиралЪ не предоставил никакой дополнительной информации.
pavel.elba твой индюк sdi_itsig выдает сигнал в самом начале формирования свечи, т.е. свеча открылась, сигнал и входим? Потому что если это так, то индюк очень стоящий ))
 

kikos

Старейшина
Регистрация
23.09.14
Сообщения
4,554
Реакции
6,126
kikos не предоставил никакой дополнительной информации.
pavel.elba твой индюк sdi_itsig выдает сигнал в самом начале формирования свечи, т.е. свеча открылась, сигнал и входим? Потому что если это так, то индюк очень стоящий ))
сигнал может пропасть во время горения свечи
 
Верх Низ