Нужен индикатор от МТ4 в Thinkorswim

Sergey-N

Местный
Регистрация
04.08.14
Сообщения
142
Реакции
36
Sergey-N не предоставил никакой дополнительной информации.

ZloY

Новичок
Регистрация
08.03.14
Сообщения
62
Реакции
20
ZloY не предоставил никакой дополнительной информации.
Программисты ну где ВЫ?! o_O
 

Lawrencevkim

Thinkorswim Coder
Модератор
Регистрация
12.06.14
Сообщения
1,181
Реакции
1,865
Lawrencevkim не предоставил никакой дополнительной информации.
подвальные индикаторы все есть в тосе, кроме Value Chart


Код:
#########VALUE CHART
declare lower;


input Moderately_OB = 8;
input Moderately_OS = -8;
input Significantly_OB = 10;
input Significantly_OS = -10;
 
input length = 5;
input capSpikesAt = 10;
def VarP = Round(length / 5);
def VarA = Highest(high, VarP) - Lowest(low, VarP);
def VarR1 = if VarA == 0 and VarP == 1 then AbsValue(close - close[VarP]) else VarA;
def VarB = Highest(high, VarP)[VarP + 1] - Lowest(low, VarP)[VarP];
def VarR2 = if VarB == 0 and VarP == 1 then AbsValue(close[VarP] - close[VarP * 2]) else VarB;
def VarC = Highest(high, VarP)[VarP * 2] - Lowest(low, VarP)[VarP * 2];
def VarR3 = if VarC == 0 and VarP == 1 then AbsValue(close[VarP * 2] - close[VarP * 3]) else VarC;
def VarD = Highest(high, VarP)[VarP * 3] - Lowest(low, VarP)[VarP * 3];
def VarR4 =
if VarD == 0 and VarP == 1 then AbsValue(close[VarP * 3] - close[VarP * 4]) else VarD;
def VarE = Highest(high, VarP)[VarP * 4] - Lowest(low, VarP)[VarP * 4];
def VarR5 = if VarE == 0 and VarP == 1 then AbsValue(close[VarP * 4] - close[VarP * 5]) else VarE;
def LRange = ((VarR1 + VarR2 + VarR3 + VarR4 + VarR5) / 5) * 0.2;
def Var0 = if AbsValue(close - close[1]) > (high - low) then AbsValue(close - close[1]) else (high - low);
def LRange2 = if high == low then Average(AbsValue(close - close[1]), 5) * 0.2 else Average(Var0, 5) * 0.2;
def range = high + low;
def delta = high - low;
def median = range / 2;
def floatingAxis = Average(median, length);
def dynamicVolatilityUnit = if length <= 7 then LRange2 else LRange;
def relativeHigh = (high - floatingAxis) / dynamicVolatilityUnit;
def relativeLow = (low - floatingAxis) / dynamicVolatilityUnit;
def relativeOpen = (open - floatingAxis) / dynamicVolatilityUnit;
def relativeClose = (close - floatingAxis) / dynamicVolatilityUnit;
plot "High" = Min(relativeHigh, capSpikesAt);
"High".SetPaintingStrategy(PaintingStrategy.HISTOGRAM);
"High".AssignValueColor(if "High" >= Significantly_OB then GetColor(5) else GetColor(1));
"High".SetLineWeight(2);
plot "Low" = Max(relativeLow, -capSpikesAt);
"Low".SetPaintingStrategy(PaintingStrategy.HISTOGRAM);
"Low".AssignValueColor(if "Low" <= Significantly_OS then GetColor(0) else GetColor(1));
"Low".SetLineWeight(2);
plot backgroundColor = if "Low" > 0 then "Low" else if "High" < 0 then "High" else Double.NaN;
backgroundColor.SetPaintingStrategy(PaintingStrategy.HISTOGRAM);
backgroundColor.SetDefaultColor(Color.BLACK);
backgroundColor.SetLineWeight(2);
plot "Open" = Min(AbsValue(relativeOpen), capSpikesAt) * relativeOpen / AbsValue(relativeOpen);
"Open".SetStyle(Curve.POINTS);
"Open".SetLineWeight(1);
"Open".SetDefaultColor(Color.WHITE);
"Open".Hide();
plot "Close" =  Min(AbsValue(relativeClose), capSpikesAt) * relativeClose / AbsValue(relativeClose);
"Close".SetStyle(Curve.POINTS);
"Close".SetLineWeight(1);
"Close".AssignValueColor(if "Close" < "Open" then GetColor(5) else GetColor(6));
"Close".Hide();
plot zero = 0;
zero.SetDefaultColor(Color.WHITE);

plot "Moderately O/B" = Moderately_OB;
plot "Moderately O/S" = Moderately_OS;
"Moderately O/B".SetDefaultColor(Color.YELLOW);
"Moderately O/S".SetDefaultColor(Color.YELLOW);
plot "Significantly O/B" = Significantly_OB;
plot "Significantly O/S" = Significantly_OS;
"Significantly O/B".SetDefaultColor(Color.RED);
"Significantly O/S".SetDefaultColor(Color.RED);
 

Sergey-N

Местный
Регистрация
04.08.14
Сообщения
142
Реакции
36
Sergey-N не предоставил никакой дополнительной информации.
Ребят у кого есть информация о человеке который бы работал с двумя языками (mql и thinkorswim)Подскажите пожалуйста.
 
Верх Низ