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

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

kikos

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




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

kikos

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

kikos

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

PASSAT

Старейшина
Регистрация
09.02.14
Сообщения
577
Реакции
674
PASSAT не предоставил никакой дополнительной информации.

kikos

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

Вложения

  • BWD_EnhancedCrash_v1.1.txt
    8 КБ · Просмотры: 29
  • BWD_EnhancedCrash_v1STUDY.ts
    8 КБ · Просмотры: 29
  • BWD_GapFillHints_v1.0.txt
    4.4 КБ · Просмотры: 27
  • BWD_GapFillHintsSTUDY.ts
    4.4 КБ · Просмотры: 28
  • BWD_GapFillTrader_v2.6.txt
    28.1 КБ · Просмотры: 29
  • BWD_GapFillTraderSTUDY.ts
    28.1 КБ · Просмотры: 29
  • BWD_MarketBreadth_v1.1.txt
    5.2 КБ · Просмотры: 30
  • BWD_MarketBreadthSTUDY.ts
    5.2 КБ · Просмотры: 29
  • BWD_TICKDivergenceIndicator_v2.2.txt
    6.2 КБ · Просмотры: 35
  • BWD_TICKDivergensIndikatorSTUDY.ts
    6.2 КБ · Просмотры: 29
  • BWD_TICKEntry_v1.5.txt
    9.5 КБ · Просмотры: 31
  • BWD_TICKEntrySTUDY.ts
    9.5 КБ · Просмотры: 28
  • BWD_TradingWindows_v1.2.txt
    10.8 КБ · Просмотры: 27
  • BWD_TradingWindowsSTUDY.ts
    10.8 КБ · Просмотры: 28
  • BWD_TradingZones_v1.0.txt
    5 КБ · Просмотры: 33
  • BWD_TradingZonesSTUDY.ts
    5 КБ · Просмотры: 31
  • BWD_TrendHints_v1.1.txt
    2 КБ · Просмотры: 28
  • BWD_TrendHintsSTUDY.ts
    1.9 КБ · Просмотры: 29
  • BWD_TrendStrengthMeter_v1.7.txt
    5.9 КБ · Просмотры: 31
  • BWD_TrendStrengthMeterSTUDY.ts
    5.9 КБ · Просмотры: 29
  • BWD_VolumeAlert_v1.0.txt
    1.4 КБ · Просмотры: 30
  • BWD_VolumeAlertSTUDY.ts
    1.4 КБ · Просмотры: 28
  • BWD_WeeklyOpen_v1.1.txt
    3.6 КБ · Просмотры: 25
  • BWD_WeeklyOpenSTUDY.ts
    3.6 КБ · Просмотры: 27
  • Новый текстовый документ.txt
    57 байт · Просмотры: 42

muxalov

Местный
Регистрация
20.12.14
Сообщения
139
Реакции
59
muxalov не предоставил никакой дополнительной информации.
Если пара eur -usd то ставим первым евро и так далее. ВЕРНО ИЛИ НЕТ?
 

kikos

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

PASSAT

Старейшина
Регистрация
09.02.14
Сообщения
577
Реакции
674
PASSAT не предоставил никакой дополнительной информации.
вот
 

Вложения

  • From_LVK_on_May_04_1STUDY.ts
    1.2 КБ · Просмотры: 57

muxalov

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

input swing_back = 8;
input swing_forward = 2;
input maxbars = 30;
input showlevels = Yes;
def sb = swing_back;
def sf = swing_forward;
def na = double.nan;

def lfor = Lowest(low, sf)[-sf];
def lback = Lowest(low, sb)[1];
def swinglow = if low < lfor and low <= lback then 1 else 0;
plot sl = if swinglow then low else na;
def hfor = Highest(high, sf)[-sf];
def hback = Highest(high, sb)[1];
def swinghigh = if high > hfor and high >= hback then 1 else 0;
plot sh = if swinghigh then high else na;

sh.SetStyle(curve.points);
sh.SetLineWeight(5);
sh.SetDefaultColor(color.white);
sl.SetStyle(curve.points);
sl.SetLineWeight(5);
sl.SetDefaultColor(color.white);

rec lsl = if IsNaN(close[-sf]) then lsl[1] else if swinglow then low else lsl[1];
rec lsh = if IsNaN(close[-sf]) then lsh[1] else if swinghigh then high else lsh[1];

def bn = barNumber();
rec hcount = if swinghigh then 1 else hcount[1] + 1;
rec lcount = if swinglow then 1 else lcount[1] + 1;

plot lasthigh = if hcount<=maxbars AND IsNaN(close[-sf]) then lsh[1] else if hcount > maxbars then na else if hcount < 2 then na else lsh;
plot lastlow = if lcount<=maxbars AND IsNaN(close[-sf]) then lsl[1] else if lcount > maxbars then na else if lcount < 2 then na else lsl;

lasthigh.SetStyle(curve.SHORT_DASH);
lasthigh.SetDefaultColor(color.white);
lasthigh.setHiding(!showlevels);

lastlow.SetStyle(curve.sHORT_DASH);
lastlow.SetDefaultColor(color.white);
lastlow.setHiding(!showlevels);
 

kikos

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

kikos

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

input swing_back = 8;
input swing_forward = 2;
input maxbars = 30;
input showlevels = Yes;
def sb = swing_back;
def sf = swing_forward;
def na = double.nan;

def lfor = Lowest(low, sf)[-sf];
def lback = Lowest(low, sb)[1];
def swinglow = if low < lfor and low <= lback then 1 else 0;
plot sl = if swinglow then low else na;
def hfor = Highest(high, sf)[-sf];
def hback = Highest(high, sb)[1];
def swinghigh = if high > hfor and high >= hback then 1 else 0;
plot sh = if swinghigh then high else na;

sh.SetStyle(curve.points);
sh.SetLineWeight(5);
sh.SetDefaultColor(color.white);
sl.SetStyle(curve.points);
sl.SetLineWeight(5);
sl.SetDefaultColor(color.white);

rec lsl = if IsNaN(close[-sf]) then lsl[1] else if swinglow then low else lsl[1];
rec lsh = if IsNaN(close[-sf]) then lsh[1] else if swinghigh then high else lsh[1];

def bn = barNumber();
rec hcount = if swinghigh then 1 else hcount[1] + 1;
rec lcount = if swinglow then 1 else lcount[1] + 1;

plot lasthigh = if hcount<=maxbars AND IsNaN(close[-sf]) then lsh[1] else if hcount > maxbars then na else if hcount < 2 then na else lsh;
plot lastlow = if lcount<=maxbars AND IsNaN(close[-sf]) then lsl[1] else if lcount > maxbars then na else if lcount < 2 then na else lsl;

lasthigh.SetStyle(curve.SHORT_DASH);
lasthigh.SetDefaultColor(color.white);
lasthigh.setHiding(!showlevels);

lastlow.SetStyle(curve.sHORT_DASH);
lastlow.SetDefaultColor(color.white);
lastlow.setHiding(!showlevels);


Убери все минуса и посмотри
 

kikos

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

kikos

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

input swing_back = 8;
input swing_forward = 2;
input maxbars = 30;
input showlevels = Yes;
def sb = swing_back;
def sf = swing_forward;
def na = double.nan;

def lfor = Lowest(low, sf)[-sf];
def lback = Lowest(low, sb)[1];
def swinglow = if low < lfor and low <= lback then 1 else 0;
plot sl = if swinglow then low else na;
def hfor = Highest(high, sf)[-sf];
def hback = Highest(high, sb)[1];
def swinghigh = if high > hfor and high >= hback then 1 else 0;
plot sh = if swinghigh then high else na;

sh.SetStyle(curve.points);
sh.SetLineWeight(5);
sh.SetDefaultColor(color.white);
sl.SetStyle(curve.points);
sl.SetLineWeight(5);
sl.SetDefaultColor(color.white);

rec lsl = if IsNaN(close[-sf]) then lsl[1] else if swinglow then low else lsl[1];
rec lsh = if IsNaN(close[-sf]) then lsh[1] else if swinghigh then high else lsh[1];

def bn = barNumber();
rec hcount = if swinghigh then 1 else hcount[1] + 1;
rec lcount = if swinglow then 1 else lcount[1] + 1;

plot lasthigh = if hcount<=maxbars AND IsNaN(close[-sf]) then lsh[1] else if hcount > maxbars then na else if hcount < 2 then na else lsh;
plot lastlow = if lcount<=maxbars AND IsNaN(close[-sf]) then lsl[1] else if lcount > maxbars then na else if lcount < 2 then na else lsl;

lasthigh.SetStyle(curve.SHORT_DASH);
lasthigh.SetDefaultColor(color.white);
lasthigh.setHiding(!showlevels);

lastlow.SetStyle(curve.sHORT_DASH);
lastlow.SetDefaultColor(color.white);
lastlow.setHiding(!showlevels);

Когда будет время я поколдую над ним но кажется это что то наподобе резистранс и если не он!

его опять же таки можно будет использовать как фильтр и неболее торговать по нему нельзя
 

muxalov

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

его опять же таки можно будет использовать как фильтр и неболее торговать по нему нельзя
 

muxalov

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

muxalov

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

declare upper;

input study = {default MACD, RSI, CCI, Momentum, Moneyflow, OnBalanceVolume, RateOfChange, StochasticMomentumIndex, UltimateOscillator, VolumeFlowIndicator, VolumeOsc, VolumeRateOfChange, VolumeWeightedMACD, WilliamsPercentR, WoodiesCCI};

def mydivergence;
switch (study) {
case MACD: mydivergence = reference MACD.value;
case RSI: mydivergence = reference RSI;
case CCI: mydivergence = reference CCI;
case Momentum: mydivergence = reference Momentum;
case Moneyflow: mydivergence = reference Moneyflow;
case OnBalanceVolume: mydivergence = reference OnBalanceVolume;
case RateOfChange: mydivergence = reference RateOfChange;
case StochasticMomentumIndex: mydivergence = reference StochasticMomentumIndex;
case UltimateOscillator: mydivergence = reference UltimateOscillator.Ultosc;
case VolumeFlowIndicator: mydivergence = reference VolumeFlowIndicator;
case VolumeOsc: mydivergence = reference VolumeOsc;
case VolumeRateOfChange: mydivergence = reference VolumeRateOfChange;
case VolumeWeightedMACD: mydivergence = reference VolumeWeightedMACD;
case WilliamsPercentR: mydivergence = reference WilliamsPercentR;
case WoodiesCCI: mydivergence = reference WoodiesCCI;
}

input long_length = 50;
input short_length = 10;
def na = Double.NaN;


def mydivs = reference LinearRegressionSlope(mydivergence,short_length);
def bullPricedivs = reference LinearRegressionSlope(low,short_length);
def bearPricedivs = reference LinearRegressionSlope(high,short_length);


plot BullDivs=if (bullPricedivs<0 and mydivs>0) then 1 else na;
plot BearDivs=if (bearPricedivs>0 and mydivs<0) then 1 else na;

bulldivs.setpaintingStrategy(paintingStrategy.BOOLEAN_ARROW_UP);
bulldivs.setdefaultColor(color.light_green);
bulldivs.setlineWeight(1);
beardivs.setpaintingStrategy(paintingStrategy.BOOLEAN_ARROW_DOWN);
beardivs.setdefaultColor(color.light_red);
beardivs.setlineWeight(1);

def mydivl = reference LinearRegressionSlope(mydivergence,long_length);
def bullPricedivl = reference LinearRegressionSlope(low,long_length);
def bearPricedivl = reference LinearRegressionSlope(high,long_length);

plot BullDivl=if (bullPricedivl<0 and mydivl>0) then 1 else na;
plot BearDivl=if (bearPricedivl>0 and mydivl<0) then 1 else na;

bulldivl.setpaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
bulldivl.setdefaultColor(color.dark_GREEN);
bulldivl.setlineWeight(5);
beardivl.setpaintingStrategy(paintingStrategy.BOOLEAN_ARROW_DOWN);
beardivl.setdefaultColor(color.dark_RED);
beardivl.setlineWeight(5);

#
# Alerts:
#
def alerttrigger = if !isnan(bulldivs) or !isnan(beardivs) or !isnan(bulldivl) or !isnan(beardivl) then 1 else 0;
input alerttext = “Divergence Detected!”;
input UseAlerts = {false, default true};
input AlertType = {default “BAR”, “ONCE”, “TICK”};
def at=AlertType;
input AlertSound = {“Bell”, “Chimes”, default “Ding”, “NoSound”, “Ring”};
alert(alerttrigger AND UseAlerts, alerttext, if at==1 then Alert.ONCE else if at==2 then Alert.TICK else Alert.BAR, AlertSound);
 

kikos

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

declare upper;

input study = {default MACD, RSI, CCI, Momentum, Moneyflow, OnBalanceVolume, RateOfChange, StochasticMomentumIndex, UltimateOscillator, VolumeFlowIndicator, VolumeOsc, VolumeRateOfChange, VolumeWeightedMACD, WilliamsPercentR, WoodiesCCI};

def mydivergence;
switch (study) {
case MACD: mydivergence = reference MACD.value;
case RSI: mydivergence = reference RSI;
case CCI: mydivergence = reference CCI;
case Momentum: mydivergence = reference Momentum;
case Moneyflow: mydivergence = reference Moneyflow;
case OnBalanceVolume: mydivergence = reference OnBalanceVolume;
case RateOfChange: mydivergence = reference RateOfChange;
case StochasticMomentumIndex: mydivergence = reference StochasticMomentumIndex;
case UltimateOscillator: mydivergence = reference UltimateOscillator.Ultosc;
case VolumeFlowIndicator: mydivergence = reference VolumeFlowIndicator;
case VolumeOsc: mydivergence = reference VolumeOsc;
case VolumeRateOfChange: mydivergence = reference VolumeRateOfChange;
case VolumeWeightedMACD: mydivergence = reference VolumeWeightedMACD;
case WilliamsPercentR: mydivergence = reference WilliamsPercentR;
case WoodiesCCI: mydivergence = reference WoodiesCCI;
}

input long_length = 50;
input short_length = 10;
def na = Double.NaN;


def mydivs = reference LinearRegressionSlope(mydivergence,short_length);
def bullPricedivs = reference LinearRegressionSlope(low,short_length);
def bearPricedivs = reference LinearRegressionSlope(high,short_length);


plot BullDivs=if (bullPricedivs<0 and mydivs>0) then 1 else na;
plot BearDivs=if (bearPricedivs>0 and mydivs<0) then 1 else na;

bulldivs.setpaintingStrategy(paintingStrategy.BOOLEAN_ARROW_UP);
bulldivs.setdefaultColor(color.light_green);
bulldivs.setlineWeight(1);
beardivs.setpaintingStrategy(paintingStrategy.BOOLEAN_ARROW_DOWN);
beardivs.setdefaultColor(color.light_red);
beardivs.setlineWeight(1);

def mydivl = reference LinearRegressionSlope(mydivergence,long_length);
def bullPricedivl = reference LinearRegressionSlope(low,long_length);
def bearPricedivl = reference LinearRegressionSlope(high,long_length);

plot BullDivl=if (bullPricedivl<0 and mydivl>0) then 1 else na;
plot BearDivl=if (bearPricedivl>0 and mydivl<0) then 1 else na;

bulldivl.setpaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
bulldivl.setdefaultColor(color.dark_GREEN);
bulldivl.setlineWeight(5);
beardivl.setpaintingStrategy(paintingStrategy.BOOLEAN_ARROW_DOWN);
beardivl.setdefaultColor(color.dark_RED);
beardivl.setlineWeight(5);

#
# Alerts:
#
def alerttrigger = if !isnan(bulldivs) or !isnan(beardivs) or !isnan(bulldivl) or !isnan(beardivl) then 1 else 0;
input alerttext = “Divergence Detected!”;
input UseAlerts = {false, default true};
input AlertType = {default “BAR”, “ONCE”, “TICK”};
def at=AlertType;
input AlertSound = {“Bell”, “Chimes”, default “Ding”, “NoSound”, “Ring”};
alert(alerttrigger AND UseAlerts, alerttext, if at==1 then Alert.ONCE else if at==2 then Alert.TICK else Alert.BAR, AlertSound);

Что значит былоб не былоб ))))))))))))))))))))))))))))))) Ты прям как ина захват берлина)))))))))))))))))))))))))))
 

kikos

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