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

Maxid

Местный
Регистрация
27.02.14
Сообщения
497
Реакции
378
Maxid не предоставил никакой дополнительной информации.
Ребята какая разница на какую експирацию входить, главное что бы в плюс)), а експирация ето уже кому что по душе). Хочу сказать спасибо @Kaiju за доработку, я завтра сам стаю на тест 5мин. И ище ребята, я понял одну вещь, что не надо бросатся на индюки которые продают и хорошо розрекламированы - ето все ерунда)), все хорошые индюки есть у нас на руках, тоесть родные в терминалах, просто нужно в них розбиратся:D
Согласен. Чтобы как то предсказывать движение цены нужно пользоваться теми индикаторами и свечным анализом которыми пользуются большинство трэйдеров. Например пин бары большинство увидело патерн и двинуло рынок куда пин бар показал.
 

teoden

Местный
Регистрация
06.02.14
Сообщения
160
Реакции
8
teoden не предоставил никакой дополнительной информации.
ребята, напишите, пожалуйста порядок действий, что за чем нужно сделать , чтобы установить этот индикатор?
 

Maxid

Местный
Регистрация
27.02.14
Сообщения
497
Реакции
378
Maxid не предоставил никакой дополнительной информации.
правый клик на графике studies-edit studies-new там пишешь название и вставляешь скопированный код.
 

Андрей

Администратор
Регистрация
28.01.14
Сообщения
355
Реакции
163
Андрей не предоставил никакой дополнительной информации.

Kaiju

Старейшина
Регистрация
06.02.14
Сообщения
1,761
Реакции
1,117
Kaiju не предоставил никакой дополнительной информации.
Хорошо бы алерт к DMI прикрутить, было бы вообще классно. На CCI тут уже выкладывали алерт. Думаю со звуком будет легче ориентироваться и можно открыть сразу много пар.
 

PASSAT

Старейшина
Регистрация
09.02.14
Сообщения
577
Реакции
674
PASSAT не предоставил никакой дополнительной информации.
Эх ребята я не програмист :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);
 
Последнее редактирование:

Armeluer

Душа форума
Регистрация
17.03.14
Сообщения
150
Реакции
200
Armeluer не предоставил никакой дополнительной информации.
@Kaiju как вчера поторговал по этой стратегии ?
 

Kaiju

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

Kaiju

Старейшина
Регистрация
06.02.14
Сообщения
1,761
Реакции
1,117
Kaiju не предоставил никакой дополнительной информации.
В общем заменил я cci average на обычный с теми же настройками и убрал алерт, чтобы не дергаться. Теперь только трезвонит dmi.
 

Kaiju

Старейшина
Регистрация
06.02.14
Сообщения
1,761
Реакции
1,117
Kaiju не предоставил никакой дополнительной информации.
Вот что у меня творится на мониторе :D:D:D. Взял все валютные пары, которые предлагает брокер на экспирацию в 5 минут.
2014-03-19_113018.png
 

Deputat

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

Kaiju

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

Deputat

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

PASSAT

Старейшина
Регистрация
09.02.14
Сообщения
577
Реакции
674
PASSAT не предоставил никакой дополнительной информации.
Регистрация
18.03.14
Сообщения
1
Реакции
0
Димитриус не предоставил никакой дополнительной информации.
Passat спасибо большое.Я с этим ТОСом пол года вошкаюсь-думал уже все индикаторы перебрал,оказывается нет.Пока искал 4 депо слил.Тоже все методом тыка.Удивляюсь как ты нашел.Молодец.
 

Kaiju

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

PASSAT

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