Переделанные и доработанные индикаторы для Thinkorswim!!!

Статус
Закрыто для дальнейших ответов.

kikos

Старейшина
Регистрация
23.09.14
Сообщения
4,554
Реакции
6,126
kikos не предоставил никакой дополнительной информации.
Всем доброго времени суток! Решил создать тему где те кто торгует с помощью платформы Thinkorswim могут выкладывать свои мысли касаемо индикаторов и того что можно прописать в код! Я понемаю что свои наработки некто не желает выкладывать это и понятно потому что вложено много сил а главное времени которое дороже денег да и вокруг много тех кто ничего не делает а просто качает или того хлещё потом продаёт! В данной теме любой может кинуть индюк с элементарной просьбой сделать аллерт или что то добавить в него! У меня почта иной раз разрывается просто из за подобного!Приведу несколько примеров!!!




Вобщем скрины можно кидать до бесконечности! Можете писать даже самые бредовые идеи, но они могут таковыми показаться для вас а на самом деле возможно реальны!
Я торгую на минутках и начну первым это моё малое!))))))))))))
 
Последнее редактирование модератором:

Alesio

Местный
Регистрация
04.02.14
Сообщения
421
Реакции
109
Alesio не предоставил никакой дополнительной информации.
ребя, кого есть такой индюк
 

Вложения

  • 53815-clip-2kb.png
    53815-clip-2kb.png
    2.1 КБ · Просмотры: 280
Последнее редактирование:

kikos

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

input price = close;
input stdevLength = 5;
input avgOfStdevLength = 10;
input DYMILength = 30;
input DYMILengthLowerLimit = 3;
input DYMILengthUpperLimit = 30;

assert(DYMILengthLowerLimit > 0, "'dymi length lower limit' must be positive: " + DYMILengthLowerLimit);
assert(DYMILength between DYMILengthLowerLimit and DYMILengthUpperLimit, "'dymi length' must be between lower and upper limit: " + DYMILength);

def std = stdev(price, stdevLength);
def ratio = std / Average(std, avgOfStdevLength);
def dynamicLength = Floor(DYMILength / ratio);
def limitedLength = if dynamicLength between DYMILengthLowerLimit and DYMILengthUpperLimit then dynamicLength else 0;
def sf = 2 / (limitedLength + 1);
def bn = Max(barNumber(), 0);
# 10^-5 precision for ema multiplier
def expIndex = if limitedLength == 0 then 1 else max(1, bn - ceil(-5 / lg(1 - sf)));
def fromIndex = if isNan(expIndex) then 1 else expIndex;
def chg = price - price[1];
def absChg = AbsValue(chg);
def netChgAvg = fold indexN = fromIndex to bn + 1 with accuN do sf * (if isnan(getValue(chg, bn - indexN)) then 0 else getValue(chg, bn - indexN)) + (1 - sf) * accuN;
def totChgAvg = fold indexT = fromIndex to bn + 1 with accuT do sf * (if isnan(getValue(absChg, bn - indexT)) then 0 else getValue(absChg, bn - indexT)) + (1 - sf) * accuT;
def RSI = if totChgAvg != 0 and limitedLength != 0 then 50 * (netChgAvg / totChgAvg + 1) else RSI[1];

plot DYMI = RSI;
plot OverBought = 85;
plot OverSold = 15;

DYMI.DefineColor("OverBought", GetColor(5));
DYMI.DefineColor("Normal", GetColor(7));
DYMI.DefineColor("OverSold", GetColor(1));
DYMI.AssignValueColor(if RSI > overbought then DYMI.Color("OverBought") else if RSI < oversold then DYMI.Color("OverSold") else DYMI.Color("Normal"));

OverBought.SetDefaultColor(GetColor(5));
OverSold.SetDefaultColor(GetColor(5));

Alert (DYMI>=OverBought, "OverBought", Alert.BAR, Sound.ring);
Alert (DYMI<=OverSold, "OverSold", Alert.BAR, Sound.ring);

plot DotDn = if DYMI>=OverBought then high*72 else double.nan;
DotDn.setStyle(curve.POINTS);
DotDn.setPaintingStrategy(paintingStrategy.arROW_DOWN);
DotDn.setLineWeight(3);
DotDn.setDefaultColor(color.wHITE);

plot DotUp = if DYMI<=OverSold then low*-2 else double.nan;
Dotup.setStyle(curve.POINTS);
Dotup.setPaintingStrategy(paintingStrategy.arROW_UP);
Dotup.setLineWeight(3);
Dotup.setDefaultColor(color.wHITE);

alert(Dotup, "Scalper Buy Signal", Alert.BAR, Sound.ring);
alert(DotDn, "Scalper Buy Signal", Alert.BAR, Sound.ring);
Вот посмотри какой вариант тебе надо!
 

Вложения

  • Dymi_VS_T1STUDY.ts
    7.5 КБ · Просмотры: 32
  • Dymi_VS_TesterKim1STUDY.ts
    7.4 КБ · Просмотры: 42

kikos

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

Вложения

  • NewStudy5STUDY.ts
    2.7 КБ · Просмотры: 71

kikos

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

asl123

Местный
Регистрация
08.02.15
Сообщения
427
Реакции
602
asl123 не предоставил никакой дополнительной информации.
У меня его нет, но я бы сделал что-то типа:

input displace = 0;
input length = 20;

plot LowerBand = Lowest(low[-displace + 1], length);
LowerBand.SetDefaultColor(GetColor(8));

plot UpperBand = Highest(high[-displace + 1], length);
UpperBand.SetDefaultColor(GetColor(1));

plot Center=(LowerBand+UpperBand)/2;
 

Yrik

Местный
Регистрация
17.04.14
Сообщения
426
Реакции
329
Yrik не предоставил никакой дополнительной информации.
Привет друзья всем доброго времени суток! Немогу найти но он гдето в моём бардаке валяется ))))))))) Нужен прайс канал его даже тут выкладывали чтоб был с центральной линией напримере как у болика!
Федя в этом есть.
 

Вложения

  • Binari_CFSTUDY.ts
    8.7 КБ · Просмотры: 38

kikos

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

viktor8821

Местный
Регистрация
12.12.14
Сообщения
255
Реакции
94
viktor8821 не предоставил никакой дополнительной информации.
кикос привет а можнобылобы все индикаторы прописать в один стрелочник неделю торгую но на демо баланс ростет бывает мартин до 3 колена но редко чаще с 1 ставки срабатывает
 

Вложения

  • Screenshot_1.png
    Screenshot_1.png
    7.8 КБ · Просмотры: 212
  • Screenshot_2.png
    Screenshot_2.png
    8.2 КБ · Просмотры: 206
  • Screenshot_3.png
    Screenshot_3.png
    5.1 КБ · Просмотры: 199
  • Screenshot_4.png
    Screenshot_4.png
    6.5 КБ · Просмотры: 200

viktor8821

Местный
Регистрация
12.12.14
Сообщения
255
Реакции
94
viktor8821 не предоставил никакой дополнительной информации.
вот часть сделок
 

Вложения

  • Screenshot_6.png
    Screenshot_6.png
    39.9 КБ · Просмотры: 201
  • Screenshot_5.png
    Screenshot_5.png
    71.3 КБ · Просмотры: 197

andron19600

Старейшина
Регистрация
10.03.15
Сообщения
3,101
Реакции
1,095
andron19600 не предоставил никакой дополнительной информации.
Подскажи, что за индикаторы.
 

viktor8821

Местный
Регистрация
12.12.14
Сообщения
255
Реакции
94
viktor8821 не предоставил никакой дополнительной информации.
вот
 

Вложения

  • Screenshot_7.png
    Screenshot_7.png
    29.1 КБ · Просмотры: 209

kikos

Старейшина
Регистрация
23.09.14
Сообщения
4,554
Реакции
6,126
kikos не предоставил никакой дополнительной информации.
кикос привет а можнобылобы все индикаторы прописать в один стрелочник неделю торгую но на демо баланс ростет бывает мартин до 3 колена но редко чаще с 1 ставки срабатывает
Да можно!
 

kikos

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

viktor8821

Местный
Регистрация
12.12.14
Сообщения
255
Реакции
94
viktor8821 не предоставил никакой дополнительной информации.
Подвальный верхний хёрст у тебя динамический?
вот этот просто на гистограму заместь линии поменял
вот сам код

declare lower;

input price = hl2;
input length = 10;
input InnerValue = 0.02;
input OuterValue = 0.03;
input ExtremeValue = 0.04;

def displacement = (-length / 2) + 1;
def dPrice = price[displacement];

rec CMA = if !IsNaN(dPrice) then Average(dPrice, AbsValue(length)) else CMA[1] + (CMA[1] - CMA[2]);

#Rev 2: July 29, 2012: improved FlowPrice for better extremes
#def OscValue = if close > close[1] then high else if close < close[1] then low else (high + low)/2;
def OscValue =
if high >= high[1] and low <= low[1]
then
if close >= close[1] # high >= high[2]
then high
else low
else
if high > high[1]
then high
else
if low < low[1]
then low
else
if close > close[1]
then high
else
if close < close[1]
then low
else (high + low) / 2;

plot HurstOsc = (100 * OscValue / CMA) - 100;

HurstOsc.SetDefaultColor(GetColor(1));
HurstOsc.SetLineWeight(2);

plot CenterLine = 0;
plot UpperExtremeBand = ExtremeValue;
plot LowerExtremeBand = - ExtremeValue;
plot UpperOuterBand = OuterValue;
plot LowerOuterBand = - OuterValue;
plot UpperInnerBand = InnerValue;
plot LowerInnerBand = - InnerValue;

CenterLine.SetDefaultColor(GetColor(7));
CenterLine.SetLineWeight(1);

UpperExtremeBand.SetDefaultColor(GetColor(4));
UpperExtremeBand.SetLineWeight(1);
LowerExtremeBand.SetDefaultColor(GetColor(4));
LowerExtremeBand.SetLineWeight(1);
UpperExtremeBand.hide();
LowerExtremeBand.hide();

UpperOuterBand.SetDefaultColor(GetColor(5));
UpperOuterBand.SetLineWeight(1);
LowerOuterBand.SetDefaultColor(GetColor(6));
LowerOuterBand.SetLineWeight(1);

UpperInnerBand.SetDefaultColor(GetColor(5));
UpperInnerBand.SetLineWeight(1);
UpperInnerBand.SetStyle(Curve.SHORT_DASH);
LowerInnerBand.SetDefaultColor(GetColor(6));
LowerInnerBand.SetLineWeight(1);
LowerInnerBand.SetStyle(Curve.SHORT_DASH);

# Turn AddClouds off by putting a #-sign at the first position of the lines
AddCloud(UpperOuterBand, UpperInnerBand, color.red);
AddCloud(LowerInnerBand, LowerOuterBand, color.green);

#
# --- script end ----
#
 

Вложения

  • Screenshot_8.png
    Screenshot_8.png
    25.2 КБ · Просмотры: 195

kikos

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

declare lower;

input price = hl2;
input length = 10;
input InnerValue = 0.02;
input OuterValue = 0.03;
input ExtremeValue = 0.04;

def displacement = (-length / 2) + 1;
def dPrice = price[displacement];

rec CMA = if !IsNaN(dPrice) then Average(dPrice, AbsValue(length)) else CMA[1] + (CMA[1] - CMA[2]);

#Rev 2: July 29, 2012: improved FlowPrice for better extremes
#def OscValue = if close > close[1] then high else if close < close[1] then low else (high + low)/2;
def OscValue =
if high >= high[1] and low <= low[1]
then
if close >= close[1] # high >= high[2]
then high
else low
else
if high > high[1]
then high
else
if low < low[1]
then low
else
if close > close[1]
then high
else
if close < close[1]
then low
else (high + low) / 2;

plot HurstOsc = (100 * OscValue / CMA) - 100;

HurstOsc.SetDefaultColor(GetColor(1));
HurstOsc.SetLineWeight(2);

plot CenterLine = 0;
plot UpperExtremeBand = ExtremeValue;
plot LowerExtremeBand = - ExtremeValue;
plot UpperOuterBand = OuterValue;
plot LowerOuterBand = - OuterValue;
plot UpperInnerBand = InnerValue;
plot LowerInnerBand = - InnerValue;

CenterLine.SetDefaultColor(GetColor(7));
CenterLine.SetLineWeight(1);

UpperExtremeBand.SetDefaultColor(GetColor(4));
UpperExtremeBand.SetLineWeight(1);
LowerExtremeBand.SetDefaultColor(GetColor(4));
LowerExtremeBand.SetLineWeight(1);
UpperExtremeBand.hide();
LowerExtremeBand.hide();

UpperOuterBand.SetDefaultColor(GetColor(5));
UpperOuterBand.SetLineWeight(1);
LowerOuterBand.SetDefaultColor(GetColor(6));
LowerOuterBand.SetLineWeight(1);

UpperInnerBand.SetDefaultColor(GetColor(5));
UpperInnerBand.SetLineWeight(1);
UpperInnerBand.SetStyle(Curve.SHORT_DASH);
LowerInnerBand.SetDefaultColor(GetColor(6));
LowerInnerBand.SetLineWeight(1);
LowerInnerBand.SetStyle(Curve.SHORT_DASH);

# Turn AddClouds off by putting a #-sign at the first position of the lines
AddCloud(UpperOuterBand, UpperInnerBand, color.red);
AddCloud(LowerInnerBand, LowerOuterBand, color.green);

#
# --- script end ----
#

Всё прописал остались маленькии детали такии как допустим выше или ниже или пересечение! Я надеюсь ты понял о чём я?
 

kikos

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

Вложения

  • _DMPHC_STUDY.ts
    4.6 КБ · Просмотры: 129

viktor8821

Местный
Регистрация
12.12.14
Сообщения
255
Реакции
94
viktor8821 не предоставил никакой дополнительной информации.
Всё прописал остались маленькии детали такии как допустим выше или ниже или пересечение! Я надеюсь ты понял о чём я?
да именно все так как на скрине то что ты отметил спасибо огромное
 

Вложения

  • Screenshot_9.png
    Screenshot_9.png
    7.7 КБ · Просмотры: 187

kuzinvitaliy

Местный
Регистрация
08.03.15
Сообщения
334
Реакции
179
kuzinvitaliy не предоставил никакой дополнительной информации.
Привет, Фёдор! Нашёл тут индикатор RAVI для thinkorswim, думаю возможно ли его использовать для выдачи сигналов на разворот. Код есть, подумал возможно ли добавить там уровни перекупленности и перепроданности, чтобы сигнал выходил как раз на максимумах цены!? Смысл индикатора он показывает расстояние между скользящими средними, а центральная линия , это линия пересечения скользящих. Есть вариант выдачи сигнала при пересечении середины или при развороте на максимумах и минимумах цены.
 

Вложения

  • RAVI_study_.TS
    1.2 КБ · Просмотры: 42
Статус
Закрыто для дальнейших ответов.
Верх Низ