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

Wiktorr

Местный
Регистрация
10.12.14
Сообщения
133
Реакции
148
Wiktorr не предоставил никакой дополнительной информации.
Блин , виснет ТОС с индикаторами , которые в шапке . Память увеличивал , которая при запуске в настройках , хотя процессор грузится всего на 50% , а терминал виснет . Со стандартными индюками всё летает более- менее , история стоит всего день минутки . Кто-нибудь сталкивался с таким ? А в строке названия индикатора , можно произвольно писать ? В коде вроде нет названия ...
 

Masqurade

Новичок
Регистрация
05.02.15
Сообщения
75
Реакции
18
Masqurade не предоставил никакой дополнительной информации.
Блин , виснет ТОС с индикаторами , которые в шапке . Память увеличивал , которая при запуске в настройках , хотя процессор грузится всего на 50% , а терминал виснет . Со стандартными индюками всё летает более- менее , история стоит всего день минутки . Кто-нибудь сталкивался с таким ? А в строке названия индикатора , можно произвольно писать ? В коде вроде нет названия ...
Примени к графику интервал Today 1M. Должно стать побыстрее.
 

Masqurade

Новичок
Регистрация
05.02.15
Сообщения
75
Реакции
18
Masqurade не предоставил никакой дополнительной информации.
Ребята, кто-то пробовал с настройками CCI 7, -190, 190 и DMI 20, 80?
 

Masqurade

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

За вчерашний день на истории было 20+/8-
При фиксированной ставке в 5$ профит составил бы 40$. Но меня терзают сомнения, всегда ли будет такой баланс плюсов к минусам..

А вот если использовать настройки из шапки, вышло 7+/2-. Но при той же ставке в 5$ профит составил 18$.

Так какую все-таки разумнее использовать?

P.S. Экспирация 1 минута.
 
Последнее редактирование:
Верх Низ