Торговля на 60с по ТОСу(стандартный индикатор)

PASSAT

Старейшина
Регистрация
09.02.14
Сообщения
577
Реакции
674
PASSAT не предоставил никакой дополнительной информации.
Торговля на 60с по ТОСу(стандартный индикатор). Я искал в ТОСе индикатор, который может подойти для торговли на БО, наверное нашол). Ето стандартный индикатор DynamicMomentumIndex. скрин:
Dynamik.png

но я его немножко изменил, поменял линии перепроданости и перекуплености поставил значения 85 и 15. Линия ето RSI, только в етом индикаторе больше настроек есть, но я ничего не трогал только на RSI поставил максимальное значение 30, и вот что с етого получилось:

2014-03-16 10-24-08 Скриншот экрана.png

2014-03-16 10-31-01 Скриншот экрана.png

когда линия входит в зону перекуплености или перепроданости, вход на следующую свечу. Етот индюк можна использовать на всех тайм фреймах, просто чем выше тайм фрейм тем меньше сигналов. Может кто то ище к нему чего нибуть придумает) и строго меня не судите) Всем удачной торговли

Код:
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.SetDefaultColor(GetColor(8));
OverBought.SetDefaultColor(GetColor(5));
OverSold.SetDefaultColor(GetColor(5));
Со звуком и стрелками

2014-03-19 13-28-02 Скриншот экрана.png
2014-03-19 13-26-29 Скриншот экрана.png
Код:
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 = 90;
plot OverSold = 10;

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);

Результаты тестов выкладывать ветке Результаты: Торговля на 60с по ТОСу
 
Последнее редактирование:

rommark

Заблокирован
Регистрация
11.05.14
Сообщения
188
Реакции
52
Почему мой DMI, когда я мимо вашего кода induk его не красить в красный, когда ей коснуться вершины или основания? также дает очень меньше сигналов на 5м графике. кто может помочь, пожалуйста?
 

Kaiju

Старейшина
Регистрация
06.02.14
Сообщения
1,761
Реакции
1,117
Kaiju не предоставил никакой дополнительной информации.
Почему мой DMI, когда я мимо вашего кода induk его не красить в красный, когда ей коснуться вершины или основания? также дает очень меньше сигналов на 5м графике. кто может помочь, пожалуйста?
Хочу огорчить вас, сигналов и на м1 так же не много, не то что вы про м5 пишите. Поменяйте уровни к примеру на 70 и 30, но тогда и качество сигнала будет хуже.
 

Irina

Непризнанный
Регистрация
04.05.14
Сообщения
61
Реакции
10
Irina не предоставил никакой дополнительной информации.
Хочу огорчить вас, сигналов и на м1 так же не много, не то что вы про м5 пишите. Поменяйте уровни к примеру на 70 и 30, но тогда и качество сигнала будет хуже.
А я не могу шаблон установить,может вы сможете в раздельности индикаторы сбросить?
 

Kaiju

Старейшина
Регистрация
06.02.14
Сообщения
1,761
Реакции
1,117
Kaiju не предоставил никакой дополнительной информации.
А я не могу шаблон установить,может вы сможете в раздельности индикаторы сбросить?
На сколько я помню, шаблон не кидал. Если устанавливать по отдельности, то берете dmi с шапки темы (нижний код) и стандартный индикатор для tos- это cci с параметрами 7 и линиями 200 и -200. Но это мои доработки. Если по теме, то просто берете dmi.
 

maxwell4444

Местный
Регистрация
11.09.14
Сообщения
229
Реакции
121
maxwell4444 не предоставил никакой дополнительной информации.
ребят подскожите че делать ......при регистрации TOS пишет это :Invalid email address
 

Alesio

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

maxwell4444

Местный
Регистрация
11.09.14
Сообщения
229
Реакции
121
maxwell4444 не предоставил никакой дополнительной информации.
а теперь пишет , что неправильный пароль или имя
 

deller

Старейшина
Регистрация
08.02.14
Сообщения
646
Реакции
682
deller не предоставил никакой дополнительной информации.

maxwell4444

Местный
Регистрация
11.09.14
Сообщения
229
Реакции
121
maxwell4444 не предоставил никакой дополнительной информации.

Kite

Знаток
Регистрация
09.02.14
Сообщения
741
Реакции
356
Kite не предоставил никакой дополнительной информации.
вопрос - как поставить 2 CCI в одно окно? я ставлю - так справа появляется шкала в %, вместо уровней. как исправить?
 

PASSAT

Старейшина
Регистрация
09.02.14
Сообщения
577
Реакции
674
PASSAT не предоставил никакой дополнительной информации.
вопрос - как поставить 2 CCI в одно окно? я ставлю - так справа появляется шкала в %, вместо уровней. как исправить?
ничего не сделаеш, оно просто подгоняет маштаб двух индюков, ты на одном поставь уровни те что тебе нужно, а на другом убери, и будеш знать какие уровни у тебя стоят)
 

Masqurade

Новичок
Регистрация
05.02.15
Сообщения
75
Реакции
18
Masqurade не предоставил никакой дополнительной информации.
Ребята, а как сделать чтобы отображалось именно как на скринах в шапке? Ибо у меня все индикаторы отображаются снизу
 

grizlyk

Новичок
Регистрация
26.11.14
Сообщения
40
Реакции
22
grizlyk не предоставил никакой дополнительной информации.
Ребзя, вот совместил ССИ и инюк который стрелку на графе рисует. только проверить надо :) я на тинку перешел на той неделе... с МТ4 так что язык еще совсем непонятен :)
Код:
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];

def DYMI = RSI;
def OverBought = 90;
def OverSold = 10;



input cci_length = 7;
input cci_over_sold = -200;
input cci_over_bought = 200;

def price_cci = close + low + high;
def linDev_cci = lindev(price_cci, cci_length);
def CCI = if linDev_cci == 0 then 0 else (price_cci - Average(price_cci, cci_length)) / linDev_cci / 0.015;
Alert ((DYMI>=OverBought) and (CCI >=cci_over_bought), "OverBought", Alert.BAR, Sound.ring);
Alert ((DYMI<=OverSold) and (CCI >=cci_over_sold), "OverSold", Alert.BAR, Sound.ring);

plot DotDn = (DYMI>=OverBought) and (CCI >=cci_over_bought);
DotDn.setStyle(curve.POINTS);
DotDn.setPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
DotDn.setLineWeight(3);
DotDn.setDefaultColor(color.RED);

plot DotUp = (DYMI<=OverSold) and (CCI >=cci_over_sold);
Dotup.setStyle(curve.POINTS);
Dotup.setPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
Dotup.setLineWeight(3);
Dotup.setDefaultColor(color.GREEN);

alert(Dotup, "Scalper Buy Signal", Alert.BAR, Sound.ring);
alert(DotDn, "Scalper Sell Signal", Alert.BAR, Sound.ring);
 
Последнее редактирование:

grizlyk

Новичок
Регистрация
26.11.14
Сообщения
40
Реакции
22
grizlyk не предоставил никакой дополнительной информации.
перепутал знаки на продажу :))) поправте кто будет ставить (DYMI<=OverSold) and (CCI >=cci_over_sold) а надо (DYMI<=OverSold) and (CCI <=cci_over_sold) в 2х местах
 

intellekt999

Старейшина
Регистрация
11.06.14
Сообщения
2,300
Реакции
3,201
intellekt999 не предоставил никакой дополнительной информации.
перепутал знаки на продажу :))) поправте кто будет ставить (DYMI<=OverSold) and (CCI >=cci_over_sold) а надо (DYMI<=OverSold) and (CCI <=cci_over_sold) в 2х местах
Ну уж взялся за дело доделай доконца
 

grizlyk

Новичок
Регистрация
26.11.14
Сообщения
40
Реакции
22
grizlyk не предоставил никакой дополнительной информации.
дак невопрос :) просто думал чтоб нефлудить... у меня всегда были проблемы со знаками больше меньше в коде :)))))
Код:
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];

def DYMI = RSI;
def OverBought = 90;
def OverSold = 10;



input cci_length = 7;
input cci_over_sold = -200;
input cci_over_bought = 200;

def price_cci = close + low + high;
def linDev_cci = lindev(price_cci, cci_length);
def CCI = if linDev_cci == 0 then 0 else (price_cci - Average(price_cci, cci_length)) / linDev_cci / 0.015;
Alert ((DYMI>=OverBought) and (CCI >=cci_over_bought), "OverBought", Alert.BAR, Sound.ring);
Alert ((DYMI<=OverSold) and (CCI <=cci_over_sold), "OverSold", Alert.BAR, Sound.ring);

plot DotDn = (DYMI>=OverBought) and (CCI >=cci_over_bought);
DotDn.setStyle(curve.POINTS);
DotDn.setPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
DotDn.setLineWeight(3);
DotDn.setDefaultColor(color.RED);

plot DotUp = (DYMI<=OverSold) and (CCI <=cci_over_sold);
Dotup.setStyle(curve.POINTS);
Dotup.setPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
Dotup.setLineWeight(3);
Dotup.setDefaultColor(color.GREEN);

alert(Dotup, "Scalper Buy Signal", Alert.BAR, Sound.ring);
alert(DotDn, "Scalper Sell Signal", Alert.BAR, Sound.ring);
 

Kite

Знаток
Регистрация
09.02.14
Сообщения
741
Реакции
356
Kite не предоставил никакой дополнительной информации.
Верх Низ