Торговля на 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с по ТОСу
 
Последнее редактирование:

Андрей

Администратор
Регистрация
28.01.14
Сообщения
355
Реакции
163
Андрей не предоставил никакой дополнительной информации.
Эх ребята я не програмист :D, но звук добавил))) и цвет меняет)) Метод научного тыка, работает)))o_O

Код:
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);
Выложи индикатор отдельно в индикаторы.
 

PASSAT

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

2014-03-19 12-02-06 Скриншот экрана.png
 

Андрей

Администратор
Регистрация
28.01.14
Сообщения
355
Реакции
163
Андрей не предоставил никакой дополнительной информации.
блин я пробую ище стрелки прикрутить, вроде все хорошо, но что то не то, пишет красным одно значение, может кто то получше в етом розбирается?:D скрин:

Посмотреть вложение 341
Попробуй код посмотреть другого стрелочника что там написанно.
 

PASSAT

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

2014-03-19 12-26-55 Скриншот экрана.png
 

Kaiju

Старейшина
Регистрация
06.02.14
Сообщения
1,761
Реакции
1,117
Kaiju не предоставил никакой дополнительной информации.

Kaiju

Старейшина
Регистрация
06.02.14
Сообщения
1,761
Реакции
1,117
Kaiju не предоставил никакой дополнительной информации.

Kaiju

Старейшина
Регистрация
06.02.14
Сообщения
1,761
Реакции
1,117
Kaiju не предоставил никакой дополнительной информации.
Считаю, что можно работать на м1 с эксп. 60 сек. и убрать cci. Так как алерт срабатывает именно на пробой линий, а не касание. Вот на 60 сек. счет 3+ 1-. В тренд попал :D. а на 5 мин. был 1+, но сигнала. не было, так как было только касание, но там и cci тоже пробил линию- случайно заметил. Я пока потестю с cci на эксп 5 минут. Для меня 60 сек. экстремально сильно.
 

PASSAT

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

2014-03-19 13-32-02 Скриншот экрана.png

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

2014-03-19 13-26-29 Скриншот экрана.png

2014-03-19 13-28-02 Скриншот экрана.png

етот код просто добавьте внизу основного кода
Код:
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, "DMI", Alert.BAR, Sound.ring);
alert(DotDn, "DMI", Alert.BAR, Sound.ring);
 
Последнее редактирование:

Kaiju

Старейшина
Регистрация
06.02.14
Сообщения
1,761
Реакции
1,117
Kaiju не предоставил никакой дополнительной информации.
У меня вот что получилось, на сам график наложились стрелочки и линии.
2014-03-19_155019.png
 

PASSAT

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

Kaiju

Старейшина
Регистрация
06.02.14
Сообщения
1,761
Реакции
1,117
Kaiju не предоставил никакой дополнительной информации.
Еще 2 плюса ток что поймал на 60 сек. Эх опасная эта штука- 60 сек. опционы, затягивают :D.
 

Nemo777

Старейшина
Регистрация
16.03.14
Сообщения
561
Реакции
774
Nemo777 не предоставил никакой дополнительной информации.
Подскажите в какую категорию его относить "Price", "Volume" " Lower" ? или это не имеет значение?
 

Kaiju

Старейшина
Регистрация
06.02.14
Сообщения
1,761
Реакции
1,117
Kaiju не предоставил никакой дополнительной информации.

PASSAT

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

Kaiju

Старейшина
Регистрация
06.02.14
Сообщения
1,761
Реакции
1,117
Kaiju не предоставил никакой дополнительной информации.
был двойной сигнал, сработал на 60 сек. и 5 минут.
 

Алекс

Местный
Регистрация
05.02.14
Сообщения
399
Реакции
45
Алекс не предоставил никакой дополнительной информации.
Скажите пожалуйста, я правильно понимаю, что нужно к коду в шапке в конец добавить код со стрелочками и получившийся код уже вставлять в ТОС?
будет ли подвальный график?
и как осуществлять вход в случае использования стрелочек?спасибо
 

PASSAT

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

да просто добавляеш к коду в шапке, стрелки появляются когда пробивается линия перекуплености или перепроданости. Вход на следущую свечу
 
Верх Низ