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

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

kikos

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




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

PaGon

Местный
Регистрация
11.12.14
Сообщения
121
Реакции
81
PaGon не предоставил никакой дополнительной информации.
kikos, а можно сделать боковую панель вот так и 67 ур
 

Вложения

  • Screenshot_5.jpg
    Screenshot_5.jpg
    6 КБ · Просмотры: 197

kikos

Старейшина
Регистрация
23.09.14
Сообщения
4,554
Реакции
6,126
kikos не предоставил никакой дополнительной информации.
kikos, а можно сделать боковую панель вот так и 67 ур
Да можно но у меня щас пока времени мало это надо просто прописать их в один и уровень то же! Это индюк с МТ скрин? Просто я чувсвую что этот уровень плавающий наверное но даже если и так это можно написать! Наблюдал этот индюк в реале?
 

kikos

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

Nemo777

Старейшина
Регистрация
16.03.14
Сообщения
561
Реакции
774
Nemo777 не предоставил никакой дополнительной информации.
Добрый вечер! А что убрать ? Разделительную полосу между днями так чем она мешает?
Её самую. Я сначала не разобрался её назначение в индюке. Не помешает
 

viktor8821

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



#KIKOS#
# WilliamsPersentR 5 PC HO
#26.09.2015
declare upper;
################# PC ##########
input displace = 0;
input length = 20;

def LowerBand = Lowest(low[-displace + 1], length);

def UpperBand = Highest(high[-displace + 1], length);

def upPC = if close < LowerBand and close[1] > LowerBand[1]
then 1 else 0;
def downPC = if close > UpperBand and close[1] < UpperBand[1]
then 1 else 0;

############### WilliamsPersentR 3 ############

input length1 = 55;
input length2 = 25;
input length3 = 35;

input overBought = -5;
input overSold = -95;

def Over_Sold = overSold;
def Over_Bought = overBought;

############ 1 ################
input mode1 = {default Predictive, Conventional};

def hh1 = Highest(high, length1);
def ll1 = Lowest(low, length1);
def result1 = if hh1 == ll1 then -100 else (hh1 - close) / (hh1 - ll1) * (-100);

def WR1 = if result1 > 0 then 0 else result1;

def Buy1;
def Sell1;
switch (mode1) {
case Predictive:
Buy1 = if WR1 < overSold and WR1[1] > overSold then 1 else 0;
Sell1 = if WR1 > overBought and WR1[1] < overBought then 1 else 0;
case Conventional:
Buy1 = if WR1 > overSold and WR1[1] < overSold then 1 else 0;
Sell1 = if WR1 < overBought and WR1[1] > overBought then 1 else 0;
}
############ 2 ################
input mode2 = {default Predictive, Conventional};

def hh2 = Highest(high, length2);
def ll2 = Lowest(low, length2);
def result2 = if hh2 == ll2 then -100 else (hh2 - close) / (hh2 - ll2) * (-100);

def WR2 = if result2 > 0 then 0 else result2;

def Buy2;
def Sell2;
switch (mode2) {
case Predictive:
Buy2 = if WR2 < overSold and WR2[1] > overSold then 1 else 0;
Sell2 = if WR2 > overBought and WR2[1] < overBought then 1 else 0;
case Conventional:
Buy2 = if WR2 > overSold and WR2[1] < overSold then 1 else 0;
Sell2 = if WR2 < overBought and WR2[1] > overBought then 1 else 0;
}
############ 3 ################
input mode3 = {default Predictive, Conventional};

def hh3 = Highest(high, length3);
def ll3 = Lowest(low, length3);
def result3 = if hh3 == ll3 then -100 else (hh3 - close) / (hh3 - ll3) * (-100);

def WR3 = if result3 > 0 then 0 else result3;

def Buy3;
def Sell3;
switch (mode3) {
case Predictive:
Buy3 = if WR3 < overSold and WR3[1] > overSold then 1 else 0;
Sell3 = if WR3 > overBought and WR3[1] < overBought then 1 else 0;
case Conventional:
Buy3 = if WR3 > overSold and WR3[1] < overSold then 1 else 0;
Sell3 = if WR3 < overBought and WR3[1] > overBought then 1 else 0;
}
################# HO ##############
def price3 = hl2;
def lengthH = 10;
def OuterValue = 0.04;

def displacement = 0;
def dPrice = price3[displacement];

rec CMA = if !IsNaN(dPrice) then Average(dPrice, AbsValue(lengthH)) 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;

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

def CenterLine = 0;
def UpperOuterBand = OuterValue;
def LowerOuterBand = - OuterValue;

def upH = HurstOsc < - OuterValue;
def downH = HurstOsc > OuterValue;
###### plot ############

plot up = if Buy1 and Buy2 and Buy3 and upH
and upPC then 1 else 0;

plot down = if Sell1 and Sell2 and Sell3 and downH
and downPC then 1 else 0;

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

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

AddLabel(down, "Profit$", Color.RED);
AddLabel(up, "profit$", Color.GREEN);
 

viktor8821

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

viktor8821

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

sssss

Старейшина
Регистрация
07.08.14
Сообщения
1,481
Реакции
1,069
sssss не предоставил никакой дополнительной информации.
выложу индюк
тестите марти с 3 колена



#KIKOS#
# WilliamsPersentR 5 PC HO
#26.09.2015
declare upper;
################# PC ##########
input displace = 0;
input length = 20;

def LowerBand = Lowest(low[-displace + 1], length);

def UpperBand = Highest(high[-displace + 1], length);

def upPC = if close < LowerBand and close[1] > LowerBand[1]
then 1 else 0;
def downPC = if close > UpperBand and close[1] < UpperBand[1]
then 1 else 0;

############### WilliamsPersentR 3 ############

input length1 = 55;
input length2 = 25;
input length3 = 35;

input overBought = -5;
input overSold = -95;

def Over_Sold = overSold;
def Over_Bought = overBought;

############ 1 ################
input mode1 = {default Predictive, Conventional};

def hh1 = Highest(high, length1);
def ll1 = Lowest(low, length1);
def result1 = if hh1 == ll1 then -100 else (hh1 - close) / (hh1 - ll1) * (-100);

def WR1 = if result1 > 0 then 0 else result1;

def Buy1;
def Sell1;
switch (mode1) {
case Predictive:
Buy1 = if WR1 < overSold and WR1[1] > overSold then 1 else 0;
Sell1 = if WR1 > overBought and WR1[1] < overBought then 1 else 0;
case Conventional:
Buy1 = if WR1 > overSold and WR1[1] < overSold then 1 else 0;
Sell1 = if WR1 < overBought and WR1[1] > overBought then 1 else 0;
}
############ 2 ################
input mode2 = {default Predictive, Conventional};

def hh2 = Highest(high, length2);
def ll2 = Lowest(low, length2);
def result2 = if hh2 == ll2 then -100 else (hh2 - close) / (hh2 - ll2) * (-100);

def WR2 = if result2 > 0 then 0 else result2;

def Buy2;
def Sell2;
switch (mode2) {
case Predictive:
Buy2 = if WR2 < overSold and WR2[1] > overSold then 1 else 0;
Sell2 = if WR2 > overBought and WR2[1] < overBought then 1 else 0;
case Conventional:
Buy2 = if WR2 > overSold and WR2[1] < overSold then 1 else 0;
Sell2 = if WR2 < overBought and WR2[1] > overBought then 1 else 0;
}
############ 3 ################
input mode3 = {default Predictive, Conventional};

def hh3 = Highest(high, length3);
def ll3 = Lowest(low, length3);
def result3 = if hh3 == ll3 then -100 else (hh3 - close) / (hh3 - ll3) * (-100);

def WR3 = if result3 > 0 then 0 else result3;

def Buy3;
def Sell3;
switch (mode3) {
case Predictive:
Buy3 = if WR3 < overSold and WR3[1] > overSold then 1 else 0;
Sell3 = if WR3 > overBought and WR3[1] < overBought then 1 else 0;
case Conventional:
Buy3 = if WR3 > overSold and WR3[1] < overSold then 1 else 0;
Sell3 = if WR3 < overBought and WR3[1] > overBought then 1 else 0;
}
################# HO ##############
def price3 = hl2;
def lengthH = 10;
def OuterValue = 0.04;

def displacement = 0;
def dPrice = price3[displacement];

rec CMA = if !IsNaN(dPrice) then Average(dPrice, AbsValue(lengthH)) 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;

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

def CenterLine = 0;
def UpperOuterBand = OuterValue;
def LowerOuterBand = - OuterValue;

def upH = HurstOsc < - OuterValue;
def downH = HurstOsc > OuterValue;
###### plot ############

plot up = if Buy1 and Buy2 and Buy3 and upH
and upPC then 1 else 0;

plot down = if Sell1 and Sell2 and Sell3 and downH
and downPC then 1 else 0;

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

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

AddLabel(down, "Profit$", Color.RED);
AddLabel(up, "profit$", Color.GREEN);
На истории граально смотрится спасибо, будем посмотреть:)
 

Eza

Местный
Регистрация
25.05.14
Сообщения
227
Реакции
155
Eza не предоставил никакой дополнительной информации.

Eza

Местный
Регистрация
25.05.14
Сообщения
227
Реакции
155
Eza не предоставил никакой дополнительной информации.
У меня вот так выглядит на периоде 20 дней 5М
 

Вложения

  • indik.PNG
    indik.PNG
    46.2 КБ · Просмотры: 221

kikos

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

kikos

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



#KIKOS#
# WilliamsPersentR 5 PC HO
#26.09.2015
declare upper;
################# PC ##########
input displace = 0;
input length = 20;

def LowerBand = Lowest(low[-displace + 1], length);

def UpperBand = Highest(high[-displace + 1], length);

def upPC = if close < LowerBand and close[1] > LowerBand[1]
then 1 else 0;
def downPC = if close > UpperBand and close[1] < UpperBand[1]
then 1 else 0;

############### WilliamsPersentR 3 ############

input length1 = 55;
input length2 = 25;
input length3 = 35;

input overBought = -5;
input overSold = -95;

def Over_Sold = overSold;
def Over_Bought = overBought;

############ 1 ################
input mode1 = {default Predictive, Conventional};

def hh1 = Highest(high, length1);
def ll1 = Lowest(low, length1);
def result1 = if hh1 == ll1 then -100 else (hh1 - close) / (hh1 - ll1) * (-100);

def WR1 = if result1 > 0 then 0 else result1;

def Buy1;
def Sell1;
switch (mode1) {
case Predictive:
Buy1 = if WR1 < overSold and WR1[1] > overSold then 1 else 0;
Sell1 = if WR1 > overBought and WR1[1] < overBought then 1 else 0;
case Conventional:
Buy1 = if WR1 > overSold and WR1[1] < overSold then 1 else 0;
Sell1 = if WR1 < overBought and WR1[1] > overBought then 1 else 0;
}
############ 2 ################
input mode2 = {default Predictive, Conventional};

def hh2 = Highest(high, length2);
def ll2 = Lowest(low, length2);
def result2 = if hh2 == ll2 then -100 else (hh2 - close) / (hh2 - ll2) * (-100);

def WR2 = if result2 > 0 then 0 else result2;

def Buy2;
def Sell2;
switch (mode2) {
case Predictive:
Buy2 = if WR2 < overSold and WR2[1] > overSold then 1 else 0;
Sell2 = if WR2 > overBought and WR2[1] < overBought then 1 else 0;
case Conventional:
Buy2 = if WR2 > overSold and WR2[1] < overSold then 1 else 0;
Sell2 = if WR2 < overBought and WR2[1] > overBought then 1 else 0;
}
############ 3 ################
input mode3 = {default Predictive, Conventional};

def hh3 = Highest(high, length3);
def ll3 = Lowest(low, length3);
def result3 = if hh3 == ll3 then -100 else (hh3 - close) / (hh3 - ll3) * (-100);

def WR3 = if result3 > 0 then 0 else result3;

def Buy3;
def Sell3;
switch (mode3) {
case Predictive:
Buy3 = if WR3 < overSold and WR3[1] > overSold then 1 else 0;
Sell3 = if WR3 > overBought and WR3[1] < overBought then 1 else 0;
case Conventional:
Buy3 = if WR3 > overSold and WR3[1] < overSold then 1 else 0;
Sell3 = if WR3 < overBought and WR3[1] > overBought then 1 else 0;
}
################# HO ##############
def price3 = hl2;
def lengthH = 10;
def OuterValue = 0.04;

def displacement = 0;
def dPrice = price3[displacement];

rec CMA = if !IsNaN(dPrice) then Average(dPrice, AbsValue(lengthH)) 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;

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

def CenterLine = 0;
def UpperOuterBand = OuterValue;
def LowerOuterBand = - OuterValue;

def upH = HurstOsc < - OuterValue;
def downH = HurstOsc > OuterValue;
###### plot ############

plot up = if Buy1 and Buy2 and Buy3 and upH
and upPC then 1 else 0;

plot down = if Sell1 and Sell2 and Sell3 and downH
and downPC then 1 else 0;

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

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

AddLabel(down, "Profit$", Color.RED);
AddLabel(up, "profit$", Color.GREEN);
Вот другая вариация его!
#KIKOS#
# WilliamsPersentR 5 PC HO
#26.09.2015
declare upper;
################# PC ##########
input displace = 0;
input length = 20;

def LowerBand = Lowest(low[-displace + 1], length);

def UpperBand = Highest(high[-displace + 1], length);

def upPC = if close < LowerBand and close[1] > LowerBand[1]
then 1 else 0;
def downPC = if close > UpperBand and close[1] < UpperBand[1]
then 1 else 0;

############### WilliamsPersentR 3 ############

input length1 = 55;
input length2 = 25;
input length3 = 35;

input overBought = -5;
input overSold = -95;

def Over_Sold = overSold;
def Over_Bought = overBought;

############ 1 ################
input mode1 = {default Predictive, Conventional};

def hh1 = Highest(high, length1);
def ll1 = Lowest(low, length1);
def result1 = if hh1 == ll1 then -100 else (hh1 - close) / (hh1 - ll1) * (-100);

def WR1 = if result1 > 0 then 0 else result1;

def Buy1;
def Sell1;
switch (mode1) {
case Predictive:
Buy1 = if WR1 < overSold and WR1[1] > overSold then 1 else 0;
Sell1 = if WR1 > overBought and WR1[1] < overBought then 1 else 0;
case Conventional:
Buy1 = if WR1 > overSold and WR1[1] < overSold then 1 else 0;
Sell1 = if WR1 < overBought and WR1[1] > overBought then 1 else 0;
}
############ 2 ################
input mode2 = {default Predictive, Conventional};

def hh2 = Highest(high, length2);
def ll2 = Lowest(low, length2);
def result2 = if hh2 == ll2 then -100 else (hh2 - close) / (hh2 - ll2) * (-100);

def WR2 = if result2 > 0 then 0 else result2;

def Buy2;
def Sell2;
switch (mode2) {
case Predictive:
Buy2 = if WR2 < overSold and WR2[1] > overSold then 1 else 0;
Sell2 = if WR2 > overBought and WR2[1] < overBought then 1 else 0;
case Conventional:
Buy2 = if WR2 > overSold and WR2[1] < overSold then 1 else 0;
Sell2 = if WR2 < overBought and WR2[1] > overBought then 1 else 0;
}
############ 3 ################
input mode3 = {default Predictive, Conventional};

def hh3 = Highest(high, length3);
def ll3 = Lowest(low, length3);
def result3 = if hh3 == ll3 then -100 else (hh3 - close) / (hh3 - ll3) * (-100);

def WR3 = if result3 > 0 then 0 else result3;

def Buy3;
def Sell3;
switch (mode3) {
case Predictive:
Buy3 = if WR3 < overSold and WR3[1] > overSold then 1 else 0;
Sell3 = if WR3 > overBought and WR3[1] < overBought then 1 else 0;
case Conventional:
Buy3 = if WR3 > overSold and WR3[1] < overSold then 1 else 0;
Sell3 = if WR3 < overBought and WR3[1] > overBought then 1 else 0;
}
########### HO ##############

input priceH = hl2;
input lengthH = 10;
input OuterValue = 0.04;

def displacement = (-lengthH / 2) + 1;
def dPrice = priceH[displacement];
#add extrapolation
def MA=Average(PriceH, AbsValue(lengthH));
input paint=no;
def CMA;
if paint then {
CMA = if !IsNaN(dPrice) then Average(dPrice, AbsValue(lengthH)) else CMA[1] + (CMA[1] - CMA[2]);
} else {
CMA=MA+(MA-MA[1])*max(0,floor(lengthH/2-1));
}
##
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;


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

def CenterLine = 0;
def UpperOuterBand = OuterValue;
def LowerOuterBand = - OuterValue;

def upH = HurstOsc < - OuterValue;
def downH = HurstOsc > OuterValue;

###### plot ############

plot up = if Buy1 and Buy2 and Buy3 and upH
and upPC then 1 else 0;

plot down = if Sell1 and Sell2 and Sell3 and downH
and downPC then 1 else 0;

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

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

AddLabel(down, "Profit$", Color.RED);
AddLabel(up, "profit$", Color.GREEN);
 

muxalov

Местный
Регистрация
20.12.14
Сообщения
139
Реакции
59
muxalov не предоставил никакой дополнительной информации.

muxalov

Местный
Регистрация
20.12.14
Сообщения
139
Реакции
59
muxalov не предоставил никакой дополнительной информации.
Не правильно выразился,своей прибылью.
 

sssss

Старейшина
Регистрация
07.08.14
Сообщения
1,481
Реакции
1,069
sssss не предоставил никакой дополнительной информации.

kikos

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

Вложения

  • _MACD_CvetSTUDY.ts
    1.2 КБ · Просмотры: 74

kuzinvitaliy

Местный
Регистрация
08.03.15
Сообщения
334
Реакции
179
kuzinvitaliy не предоставил никакой дополнительной информации.
Привет Федор! Мог бы сделать стрелку, которая бы попоказывалась при смене направления параболика?
 
Статус
Закрыто для дальнейших ответов.
Верх Низ