Заказ индикаторов в TSLab

Автор: andy

Заказ индикаторов в TSLab - Tue Apr 06 2010 06:20 PM

1. Вы можете в этой ветке заказать разработку необходимого вам индикатора.
2. В заказе нужно указать четкое описание индикатора.
3. Мы собираем заказы, разбираем, выставляем приоритеты и реализуем.

"Классика" пойдет в поставку TSLab. "Экзотика" будет размещена на форуме в соответствующей ветке.
Автор: strelec

Re: Заказ индикаторов в TSLab - Tue Apr 06 2010 08:47 PM

Fractals, Force Index.
Автор: strelec

Re: Заказ индикаторов в TSLab - Tue Apr 06 2010 08:49 PM

Скользящие со сдвигом, Аллигатор.
Автор: andy

Re: Заказ индикаторов в TSLab - Tue Apr 06 2010 09:28 PM

Originally Posted By: strelec
Скользящие со сдвигом, Аллигатор.


Уважаемый,

Читайте внимательнее что я пишу.
Описание где ? Либо линки на описание.
Сами же потом будете задавать вопросы что это вы нам тут наделали ...
Автор: Nektodron

Re: Заказ индикаторов в TSLab - Tue Apr 06 2010 09:34 PM

Originally Posted By: strelec
Скользящие со сдвигом, Аллигатор.

http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=226#Post226
Автор: profit

Re: Заказ индикаторов в TSLab - Tue Apr 06 2010 10:26 PM

ZigZag не заслуженно забытый из метасток.
Как описать не знаю.У него там выставляются параметры по которым он ломает линию.Принцип отслеживания цены от максимума к минимуму.Выставляется параметр при достижении которого линия ломается в противоположную сторону.Это индикатор дополнительной группы для более прицельного открытия позиции.НЕ трендовый в 2008-2009 году малоэффективен был.Такие года бывают один раз 8-12лет.По этому возьму на себя смелость утверждать что большой тренд закончился.Теперь будет классика-великий и ужасный отстой чередующийся быстрыми или слаботрендовыми движениями длительное время.Эффективность данного индикатора становится остроактуальной.
Могу скан сделать если нужно.Метасток пишуший не у многих есть думаю.
Автор: strelec

Re: Заказ индикаторов в TSLab - Tue Apr 06 2010 10:27 PM

линки???
Автор: strelec

Re: Заказ индикаторов в TSLab - Tue Apr 06 2010 10:29 PM

Не нашел - где там аллигатор спрятался?
Автор: 777

Re: Заказ индикаторов в TSLab - Tue Apr 06 2010 10:30 PM

По степени срочности. Только то, что вошло как Классика:
1.очень нужен trix: TRIX - представляет собой дальнейшее развитие применения показателя скорости изменений сглаженным данным. Индикатор предложен Хатсоном (J. Hutson). Он рассчитывается как момент от скользящей средней цен третьего порядка, т. е. скользящей средней от скользящей средней от скользящей средней цены:
TRIXn = M%(ЭССn (ЭССn ( ЭССn))),
M% берется по отношению к предыдущему периоду: дню, неделе, месяцу.
Вот так будет правильней:
Расчет индикатора TRIX:
1.Получают логарифм цены;
2.Сглаживают логарифм с помощью экспоненциального скользящего среднего;
3.Получают экспоненциальное среднее от среднего, полученного на этапе 2;
4.Получают экспоненциальное среднее от среднего, полученного на этапе 3;
5.Вычисляют 1-периодную разность между результатами тройного сглаживания: для этого значение этапа 4 текущего периода вычитают из значения этапа 4 предшествующего периода;
6.Значение, полученное на этапе 5, делят на значение этапа 4 предшествующего периода и умножают на 100 для удобства отображения графика.

Разворот графика TRIX подтверждает значимый разворот рынка. В качестве сигналов при этом используют моменты пересечения TRIX со своей скользящей средней (например, трехпериодной).
http://www.fxmag.ru/pub/26/indikator_trix/
http://berg.com.ua/tech/indicators-overlays/trix/
http://stockvest.ru/indicator/trix.html

2. STIX: полиметрический краткосрочный индикатор (stix: the polymetric short-term indicator) STIX — это экспоненциально сглаженный индикатор разброса рынка, разработанный специалистами из The Polymetric Report. Количество растущих акций делится на сумму количеств растущих и падающих акций, а затем сглаживается с помощью экспоненциальной постоянной, равной 9 проц. (21 дню).
3. (Positive volume index, PVI)

Индикатор "Индекс положительного объема" (PVI) изменяется по периодам, в которых значение объема увеличилось по сравнению с предыдущим периодом. В связи с тем, что рост цен чаще всего связан с увеличением объемов, то PVI будет обычно изменяться в направлении повышательного тренда.

Начальное значение PVI:

PVI0 = 1.

Если объем текущего периода больше объема предыдущего, то

PVIi = PVIi-1 + (PVIi-1 * (Pi - Pi-1) / Pi-1),

где Pi - цена текущего периода,
Pi-1 - цена предыдущего периода.

Если объем текущего периода меньше объема предыдущего, значение PVI текущего периода принимают равным значению PVI для предыдущего периода:

PVIi = PVIi-1.

В интерпретацию PVI заложено следующая посылка. В дни оживления биржи, когда объем растет, на бирже активизируются непрофессиональные инвесторы следующие влиянию толпы. И наоборот, в дни когда объем снижается, на рынке спокойно работают профессионалы и делают верные деньги (smart money). Таким образом, изменения значений PVI показывает, что на рынке работают непрофессиональные инвесторы.

4.Money Flow Index состоит из нескольких этапов. Сначала определяют типичную цену (Typical Prise, TP) данного периода:
TP = (HIGH + LOW + CLOSE) / 3
Затем рассчитывается величина денежного потока (Money Flow, MF):
MF = TP * VOLUME
Если сегодняшняя типичная цена больше вчерашней, то денежный поток считается положительным. Если сегодняшняя типичная цена меньше вчерашней — денежный поток считается отрицательным.
Положительный денежный поток (POSITIVE MONEY FLOW)
это сумма значений положительных денежных потоков за выбранный период.

Отрицательный денежный поток (NEGATIVE MONEY FLOW)
это сумма значений отрицательных денежных потоков за выбранный период.
Затем определяется денежное отношение (money ratio, MR) путем деления положительного денежного потока на отрицательный:
MR = POSITIVE MONEY FLOW / NEGATIVE MONEY FLOW
И, наконец, с помощью денежного отношения рассчитывается индекс денежных потоков:
MFI = 100 - (100 / (1 + MR))
Где:
HIGH — максимальная цена текущего бара;
LOW — минимальная цена текущего бара;
CLOSE — цена закрытия текущего бара;
VOLUME — объем текущего бара.
5. Aroon Up рассчитывается по следующей формуле:

((N периодов - N периодов с наивысшим максимумом в течение этого периода) / N периодов) * 100

Aroon Down рассчитывается по следующей формуле:

((N периодов - N периодов с наименьшим минимумом) / N периодов) * 100

Aroon Oscillator = Aroon(up) - Aroon(down)
6. Скорость изменения (The Rate of Change - ROC)
http://enc.fxeuroclub.ru/113/
Хотя с этим можно повременить moment же есть!
7. Индекс ритма (Swing Index) представляет собой математическое выражение активности операций за последние два дня (два базовых периода). Рассчитывается по специальной формуле предложенной Уайльдером (Wilder) по основным параметрам двух блоков диаграммы:


SI = 50 [ (C - C-1) + 0,5 (C - O) + 0,25 (C-1 - O-1)](K/ T)/R,
где K равно большему расстоянию от цены закрытия предыдущего периода до концов текущего блока:
K = Max { |H - C-1| , |L - C-1| };
TR - "Истинный диапазон":
TR = Max { |H - C-1| , |L - C-1| , |H - L| };
ER - выход за диапазон:
ER = |H - C-1| , если С-1 > H,
ER = |L - C-1| , если С-1 <L,
ER = 0, если С-1 между L и H;
SH-1 - движение цен за предыдущий период:
SH-1 = |C-1 - O-1| ;
R = TR - 0,5 ER + 0,25 SH-1 ;
T -масштабирующий коэффициент: "предельная величина разового сдвига цен"; зависит от средней стоимости цен и устойчивости рынка (например, для товара стоимостью 245$ может равняться 10$, а для товара стоимостью 2,45$ - 0,01$); если сдвиг неограничен, берется как можно большее значение: 10000-30000.
либо здесь: http://www.parusinvestora.ru/systems/book_meladze/book1_gl6_p4.shtm


Если это возможно и Вам проще, то эти индикаторы лучше даже увидеть на языке АПИ. Для нашего самообразования. И хочу обратить Ваше внимание, что TRIX используется в системах cross много чаще нежели RSI и еще чаще он используется как "сердце" системы
Автор: strelec

Re: Заказ индикаторов в TSLab - Tue Apr 06 2010 10:34 PM

Уважаемый Некто, в какую папку надо положить предлагаемые Вами файлы, чтобы вызвать Аллигатор на график?
Для Энди - если Некто построил Аллигатор, то объяснять, что такое скользящие со сдвигом - лишнее.
Автор: strelec

Re: Заказ индикаторов в TSLab - Tue Apr 06 2010 10:43 PM

Индекс силы (Force Index Short Term - FI). FI был разработан Ал.Элдером как осциллятор, но учитывающий еще и показатель объема. Это его выгодно отличает от других осцилляторов. Индекс силы рассчитывается как разница между ценами зак¬рытия текущего и предыдущего бара, умноженная на объем текущего бара. Формула для расчета индекса силы выглядит следующим образом:
FI = Volumeсегодня * (Closeсегодня - Closeвчера) / С1оseевчера, где
- Volumeсегодня - объем заключенных сегодня сделок или контрактов;
- Closeсегодня - цена закрытия сегодня;
- Closeвчера - цена закрытия вчера.
Автор: strelec

Re: Заказ индикаторов в TSLab - Tue Apr 06 2010 10:44 PM

Вчера - предыдущий бар, сегодня - текущий бар.
Автор: DmitryP

Re: Заказ индикаторов в TSLab - Wed Apr 07 2010 09:23 AM

Можно ли добавить Aaron (http://www.forex-indicators.ru/aroon/#more-745), симпатичный индикатор, показывающий вход во флэт и выход из него?

Или есть более эффективные средства, сигнализирующие о флэте?
Автор: andy

Re: Заказ индикаторов в TSLab - Wed Apr 07 2010 10:07 AM

Originally Posted By: DmitryP
Можно ли добавить Aaron (http://www.forex-indicators.ru/aroon/#more-745), симпатичный индикатор, показывающий вход во флэт и выход из него?

Или есть более эффективные средства, сигнализирующие о флэте?


Aaron ушел в работу.
Автор: profit

Re: Заказ индикаторов в TSLab - Wed Apr 07 2010 10:39 AM

А с зиг загом что.?У вас нет ни одного дополнительного индикатора такой категории.А по правилам классики нужно три индикатора в комплексе.В вашем терминале как и многих других все индикаторы первой группы индикации.То есть по сути дела полуслепые котята если можно так выразится.
Автор: andy

Re: Заказ индикаторов в TSLab - Wed Apr 07 2010 11:12 AM

Originally Posted By: profit
А с зиг загом что.?У вас нет ни одного дополнительного индикатора такой категории.А по правилам классики нужно три индикатора в комплексе.В вашем терминале как и многих других все индикаторы первой группы индикации.То есть по сути дела полуслепые котята если можно так выразится.


Выложете сюда корректное на ваш взгляд описание. После описания, я внесу в лист задач. Спасибо.
Автор: 777

Re: Заказ индикаторов в TSLab - Thu Apr 08 2010 01:18 AM

Originally Posted By: strelec
Уважаемый Некто, в какую папку надо положить предлагаемые Вами файлы, чтобы вызвать Аллигатор на график?
Для Энди - если Некто построил Аллигатор, то объяснять, что такое скользящие со сдвигом - лишнее.


В папку где у тебя скрипты лежат, когда ты их сохраняешь. Я например засунул их на диск с\TSlab\script. А так в принципе хоть на рабочий стол распаковывай, в лаборатории есть комочка: "загрузить из файла" ....
Автор: Pasha

Re: Заказ индикаторов в TSLab - Wed Apr 14 2010 10:15 AM

Andy По поводу TRIX - когда появится? Ушел ли в работу? Очень бы хотелось поработать с этим индикатором!!! Спасибо!
Автор: andy

Re: Заказ индикаторов в TSLab - Wed Apr 14 2010 10:34 AM

Originally Posted By: Pasha
Andy По поводу TRIX - когда появится? Ушел ли в работу? Очень бы хотелось поработать с этим индикатором!!! Спасибо!


В работу ушел.
Как появится, сообщим.
Автор: andy

Re: Заказ индикаторов в TSLab - Wed Apr 14 2010 12:40 PM

Originally Posted By: Pasha
Andy По поводу TRIX - когда появится? Ушел ли в работу? Очень бы хотелось поработать с этим индикатором!!! Спасибо!


http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=4288#Post4288
Автор: Frend

Re: Заказ индикаторов в TSLab - Wed Apr 14 2010 07:20 PM

Просьба сделать следующий индикатор
T3 Indicator
Индикатор разработан в 1998 г. Тимом Тиллсоном (Tim Tillson). Цель разработки нового вида скользящего среднего – улучшенная фильтрация шумов, уменьшение запаздывания – недостатка, свойственного большинству скользящих средних. Особенности. Для расчёта используется множественное экспоненциальное сглаживание ценового ряда. Торговые сигналы. Пересечение ценой повышающейся линии T3 снизу – сигнал на покупу, падающей линии сверху – сигнал на продажу. Преимущества. Хорошая фильтрация шумов, малое запаздывание. Недостатки. Опережение цены после её быстрого и значительного изменения (см. рис. к JMA).

Формула такая:
T3(n) = GD(GD(GD(n)))
GD(n,v) = EMA(n)*(1+v) - EMA(EMA(n))*v
GD stands for Generalized DEMA (double-smoothed exponential MA)
where
n = Period
v = Volume Factor
similarly...
T5(n) = GD(GD(GD(GD(GD(n)))))
Автор: pal

Re: Заказ индикаторов в TSLab - Fri Apr 16 2010 06:12 PM

Прошу сделать фракталы. Желательно с возможностью менять количество участвующих баров(3,5,7..) и строить линию не только по последнему фракталу, но и по предудущим значениям(для сравнения уровня последнего и более раннего фрактала).
Автор: Craft

Re: Заказ индикаторов в TSLab - Fri Apr 16 2010 11:12 PM

Originally Posted By: pal
Прошу сделать фракталы. Желательно с возможностью менять количество участвующих баров(3,5,7..) и строить линию не только по последнему фракталу, но и по предудущим значениям(для сравнения уровня последнего и более раннего фрактала).
+100
Автор: 777

Re: Заказ индикаторов в TSLab - Sat Apr 17 2010 03:19 AM

Originally Posted By: pal
Прошу сделать фракталы. Желательно с возможностью менять количество участвующих баров(3,5,7..) и строить линию не только по последнему фракталу, но и по предудущим значениям(для сравнения уровня последнего и более раннего фрактала).


Если возможно, то по такому алгоритму, как в приложении.
Автор: andy

Re: Заказ индикаторов в TSLab - Sat Apr 17 2010 10:24 AM

T3 Indicator. Фракталы.

Ушло в работу.
Автор: ipdipd

Re: Заказ индикаторов в TSLab - Mon Apr 19 2010 06:06 PM

В соседней теме выложен индикатор AMkA. Подскажите, пожалуйста, что обозначают dK и Pow. Как они участвуют в формуле расчета, чтобы было понятно в каком интервале их оптимизировать. Спасибо.
Автор: 777

Re: Заказ индикаторов в TSLab - Tue Apr 20 2010 01:10 AM

Чего проще:

http://www.google.ru/#hl=ru&newwindow=1&q=%D0%B8%D0%BD%D0%B4%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80+AMkA&lr=&aq=f&aqi=&aql=&oq=%D0%B8%D0%BD%D0%B4%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80+AMkA&gs_rfai=&fp=40d4cf80b75cdc07

Или как говорится спроси у yandex
wink
Автор: ipdipd

Re: Заказ индикаторов в TSLab - Tue Apr 20 2010 10:38 AM

Originally Posted By: 777
Чего проще:

Или как говорится спроси у yandex
wink



Да, уж, проще некуда, дать ссылку, по которой не написано того, что я ищу.
Я умею пользоваться яндексом и перед тем как задавать свой вопрос, достаточно хорошо поискал, но попадаются лишь обрывочные данные. А уже как показатели участвуют в формуле расчета в ТСЛАБ, вам никакой яндекс не поможет.
Автор: 777

Re: Заказ индикаторов в TSLab - Tue Apr 20 2010 02:14 PM

Originally Posted By: ipdipd
В соседней теме выложен индикатор AMkA. Подскажите, пожалуйста, что обозначают dK и Pow. Как они участвуют в формуле расчета, чтобы было понятно в каком интервале их оптимизировать. Спасибо.


Обленились! Этот код был в первой же сноске! По языку экскурс не нужен, я надеюсь:

//+------------------------------------------------------------------+
//| AMkA.mq4 |
//| Copyright © 2006, D&S kiriyenko. |
//| http://groups.google.com/group/expert-developing |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, D&S Kiriyenko."
#property link "http://groups.google.com/group/expert-developing"
//----
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Green
#property indicator_width1 1
#property indicator_color2 Red
#property indicator_width2 2
#property indicator_color3 Blue
#property indicator_width3 2
//+------------------------------------------------------------------+
//| макроопределения |
//+------------------------------------------------------------------+
//---- строковые константы
#define INDICATOR_SHORT_NAME "AMkA"
#define MAIN "AMkA line"
#define UP "UpTrend point"
#define DOWN "DownTrend point"
//+------------------------------------------------------------------+
//| внешние переменные |
//+------------------------------------------------------------------+
//---- периоды
extern int periodAMA = 9; //период расчёта к-та эффективности
extern double nfast = 2; //период EMA для эффективного рынка
extern double nslow = 30; //период EMA для неэффективного рынка
//---- расчёт сглаживающей константы
extern double Pow = 2.0; //степень эффективности
//---- фильтр сигналов
extern double dK = 1.0; //коэффициент для фильтра
extern bool use_stdev = true; //использовать стандартное отклонение
//---- применять к цене
extern int app_price = 5; //по умолчанию - к типической
//+------------------------------------------------------------------+
//| глобальные переменные |
//+------------------------------------------------------------------+
//---- буферы
double kAMAbuffer[];
double kAMAupsig[];
double kAMAdownsig[];
//---- сглаживающие коэффициенты
double slowSC, fastSC;
//---- приращения индикатора
double ddAMA[];
//+------------------------------------------------------------------+
//| Вставка значения в массив приращений |
//+------------------------------------------------------------------+
bool InsertDif(double a)
{
//---- проверка, заполнен ли массив
for(int i = 0; i < periodAMA; i++) //для всех элементов массива
if(ddAMA[i] == 0) //если элемент равен нулю
{
ddAMA[i] = a; //сохраняем значение в этот элемент
return (true); //и удачно завершаемся
}
//---- массив уже заполнен, нужно вставлять элемент с конца
for(i = 0; i < periodAMA-1; i++) //все элементы массива, кроме последнего
ddAMA[i] = ddAMA[i+1]; //сдвигаем влево на одну позицию
ddAMA[periodAMA-1] = a; //и записываем значение в самую правую позицию
return (true); //после чего удачно завершаемся
}
//+------------------------------------------------------------------+
//| Запрос цены бара |
//+------------------------------------------------------------------+
double Price(int i, int app = PRICE_TYPICAL)
{
switch(app)
{
case PRICE_CLOSE: return(Close[i]); break;
case PRICE_OPEN: return(Open[i]); break;
case PRICE_HIGH: return(High[i]); break;
case PRICE_LOW: return(Low[i]); break;
case PRICE_MEDIAN: return((High[i] + Low[i])/2); break;
case PRICE_TYPICAL: return((High[i] + Low[i] + Close[i])/3); break;
case PRICE_WEIGHTED: return((High[i] + Low[i] + Close[i]*2)/4); break;
}
}
//+------------------------------------------------------------------+
//| Инициализация |
//+------------------------------------------------------------------+
int init()
{
//---- главная линия
SetIndexBuffer(0, kAMAbuffer);
SetIndexStyle(0, DRAW_LINE, 0, 2);
SetIndexLabel(0, MAIN);
SetIndexEmptyValue(0, 0.0);
//---- подтверждение восходящего тренда
SetIndexBuffer(1, kAMAupsig);
SetIndexStyle(1, DRAW_ARROW);
SetIndexArrow(1, 159);
SetIndexLabel(1, UP);
SetIndexEmptyValue(1, 0.0);
//---- подтверждение нисходящего тренда
SetIndexBuffer(2, kAMAdownsig);
SetIndexStyle(2, DRAW_ARROW);
SetIndexArrow(2, 159);
SetIndexLabel(2, DOWN);
SetIndexEmptyValue(2, 0.0);
//---- настройки индикатора
IndicatorDigits(4);
string name = StringConcatenate(INDICATOR_SHORT_NAME,
" (", periodAMA, "/", nfast, "/", nslow, ")");
IndicatorShortName(name);
//---- расчёт к-тов
slowSC = (2.0 / (nslow + 1)); //медленный к-т сглаживания
fastSC = (2.0 / (nfast + 1)); //быстрый к-т сглаживания
//---- подготовка массива
ArrayResize(ddAMA, periodAMA);
ArrayInitialize(ddAMA, 0.);
//---- готово
return(0);
}
//+------------------------------------------------------------------+
//| Деинициализация |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| Итерационная функция |
//+------------------------------------------------------------------+
int start()
{
//---- оптимизация производительности
if(Bars <= periodAMA + 2)
return (0); //если баров на графике слишком мало, выходим
//---- оптимизация кода индикатора
int counted_bars = IndicatorCounted(); //число баров, не изменённых с последнего вызова
if(counted_bars < 0)
return (0); //защищаемся от ошибок
else
if(counted_bars > 0)
counted_bars--; //последний посчитанный бар будет пересчитан
int pos = Bars - periodAMA - 2; //позицию в начало отсчёта
if(counted_bars > 0)
pos = Bars - counted_bars; //или определяем позицию
//---- подготовка переменных
double AMA0 = Price(pos+1, app_price); //предыдущее АМА не расчитывалось
if(kAMAbuffer[pos+1] > 0)
AMA0 = kAMAbuffer[pos+1]; //или расчитывалось
if(AMA0 == 0)
Print(Bars - pos);
//---- расчёт индикатора
while(pos >= 0)
{
//---- расчёт сигнала
double signal = MathAbs(Price(pos, app_price) - Price(pos + periodAMA, app_price));
//---- расчёт шума
double noise = 0.000000001;
for(int i = 0; i < periodAMA; i++)
{
noise = noise + MathAbs(Price(pos+i, app_price) - Price(pos + i + 1, app_price));
}
//---- расчёт коэффициента сглаживания
double ER = signal / noise; //коэффициент эффективности
double SSC = ER*(fastSC - slowSC) + slowSC; //коэффициент сглаживания
//---- расчёт главной линии
double AMA = AMA0 + (MathPow(SSC, Pow)*(Price(pos, app_price) - AMA0)); //расчёт
AMA = NormalizeDouble(AMA, Digits);
kAMAbuffer[pos] = AMA; //вывод
//---- расчёт фильтрации тренда
double ddK = (AMA - AMA0) / Point; //разность
if(use_stdev)
{
InsertDif(ddK); //накапливаем приращение
if(pos < Bars - 2*(periodAMA + 2)) //если баров накопилось достаточно
{
//---- расчёт среднего арифметического
double SMAdif = 0; //вначале равно нулю
for(i = 0; i < periodAMA; i++)
{
SMAdif += ddAMA[i]; //последовательно суммируем
}
SMAdif /= periodAMA; //и делим на количество
//---- расчёт стандартного отклонения
double StDev = 0; //вначале равно нулю
for(i = 0; i < periodAMA; i++)
{
StDev += MathPow(ddAMA[i] - SMAdif, 2); //суммируем квадраты отклонений
}
StDev = MathSqrt(StDev)/periodAMA; //извлекаем корень и делим на количество
//---- расчёт фильтра
double Filter = dK*StDev;
}
else
Filter = 100000;
}
else
Filter = dK;
//---- обработка значений
double var1 = 0, var2 = 0;
if(ddK > Filter)
var1 = AMA; //есть восходящий тренд
if(ddK < -Filter)
var2 = AMA; //есть нисходящий тренд
kAMAupsig[pos] = var1; //нет восходящего тренда
kAMAdownsig[pos] = var2; // нет нисходящего тренда
//---- переход к концу цикла
AMA0 = AMA; //сохраняем предыдущее значение AMA
pos--; //переходим к сдедующему бару
}
//---- завершение работы
return(0); //готово
}
//+------------------------------------------------------------------+
Автор: mayak

Re: Заказ индикаторов в TSLab - Tue Apr 20 2010 03:54 PM

Все-таки без фракталов как-то не то...
Очень жду возможность применения фракталов. Прям днем и ночью )))

Фрактал на покупку:
low < low[-2, -1] and low < low[1, 2]

Фрактал на продажу:
high > high[-2, -1] and high > high[1, 2]
Автор: depak

Re: Заказ индикаторов в TSLab - Tue Apr 27 2010 02:25 AM

А как установить индикаторы в TSlab скачанные с этого форума?
Автор: ZSE

Re: Заказ индикаторов в TSLab - Tue Apr 27 2010 10:23 AM

2 depak
OFF: большая просьба - свой вопрос задавать в одном месте.
В дальнейшем подобные кросс-постинги будут удаляться без предупреждения

Ответил в другой ветке
http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=5007#Post5007
Автор: BUBEN

Re: Заказ индикаторов в TSLab - Tue Apr 27 2010 10:18 PM

Многоуважаемые! Не особо волоку английский, вместо обычного поста создал Топик. Поэтому прошу прощение за кросс-постинг.

Я прошу перевести в язык, понятный для TSLab
Следующий интересный индикатор, который был прописан в Метастоке.


{ Message allows color selection b4 plotting }
message:=Input("Plot on daily charts",0,0,0);

{ Month' start }
m:=Month()<>Ref(Month(),-1);

{ Month's OHLC }
Om:=ValueWhen(2,m,O);
Hm:=ValueWhen(1,m,HighestSince(2,m,H));
Hm:=ValueWhen(1,Hm>0,Hm);
Lm:=ValueWhen(1,m,LowestSince(2,m,L));
Lm:=ValueWhen(1,Lm>0,Lm);
Cm:=ValueWhen(1,m,Ref(C,-1));

{ Pivot levels }
p1:=(Hm+Lm+Cm)/3+Hm-Lm;
p2:=(Hm+Lm+Cm)/3*2-Lm;
p3:=(Hm+Lm+Cm)/3*2-Hm;
p4:=(Hm+Lm+Cm)/3-Hm+Lm;

{ Plot on daily chart }
p1;p2;p3;p4


Заранее благодарен.
Автор: Frend

Re: Заказ индикаторов в TSLab - Mon May 03 2010 02:11 AM

Прошу создать RSI на основе SMA как он был раньше в вашей программе.
Автор: Nektodron

Re: Заказ индикаторов в TSLab - Mon May 03 2010 03:43 PM

Хорошо, добавим второй вариант "Cutler's RSI"
Автор: Frend

Re: Заказ индикаторов в TSLab - Tue May 04 2010 02:50 AM

Спасибо. А когда примерно ждать? А то сижу на 1.1.4
Автор: Nektodron

Re: Заказ индикаторов в TSLab - Tue May 04 2010 11:11 AM

будет в сегодняшней ночной сборке
Автор: Frend

Re: Заказ индикаторов в TSLab - Tue May 04 2010 03:29 PM

Зер гуд, спасибо
Автор: uprav

Re: Заказ индикаторов в TSLab - Thu May 06 2010 08:38 PM

Подскажите пож, можно ли сделать такой заказ не на индикаторы а на блоки:
-Открытие поз по рынку - чтобы заявки не выставлялись на сервер
-Закрытие поз по рынку - чтобы заявки не выставлялись на сервер
-Закрытие по стоп-лосс - чтобы заявки не выставлялись на сервер
-Общий П/У - чтобы блок цеплялся не только к источнику но и к блокам входа выхода и считал доходность не общую сделок, а только конкретных блоков входа выхода, или чтобы позволял имя блока входа вписывать и считал доходность только этого блока входа
поясню: я пытаюсь решить вопрос п.3 из этого поста: http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Main=476&Number=5307#Post5307
имитации доходности, эта независимая доходность будет влиять на работу реального скрипта...не знаю с какой стороны подобраться к этому решению, посоветуйте что нибудь?
---я понимаю что эти блоки - это скорее всего трудоёмко и маловероятно, тогда по-возможности дайте файлы C# этих блоков, попробую разобраться с ними.
Автор: Nektodron

Re: Заказ индикаторов в TSLab - Thu May 06 2010 09:36 PM

"чтобы заявки не выставлялись на сервер" - что имеется в виду? зачем открывать позицию, если нет заявки?

Общий П/У я постараюсь в ближайшее время сделать, выглядит не сложно. Но мне кажется странным завязывать работу скрипта на доходность.
Автор: 777

Re: Заказ индикаторов в TSLab - Thu May 06 2010 09:54 PM

Originally Posted By: Nektodron
"чтобы заявки не выставлялись на сервер" - что имеется в виду? зачем открывать позицию, если нет заявки?

Общий П/У я постараюсь в ближайшее время сделать, выглядит не сложно. Но мне кажется странным завязывать работу скрипта на доходность.

Любой индикатор или в итоге скрипт имеет свою цикличность, и за ним очень сложно угнаться даже "бывалому" трейдеру, т.к. "бывалый" чувствует руками. А когда создан скрипт и вместо трейдера работает, то трейдер уже вне рынка... Что бы поймать эту цикличность, можно попробывать привязаться к доходности. Т.е. вывести некую эквити и все время под нее подстраивать скрипт. + Эти блоки избавят от проблемы стопа по портфелю, которого до сих пор нет...
Автор: Nektodron

Re: Заказ индикаторов в TSLab - Thu May 06 2010 10:14 PM

Если скрипт перестанет выставлять заявки (совершать сделки), то еквити перестанет меняться.
Автор: 777

Re: Заказ индикаторов в TSLab - Thu May 06 2010 10:22 PM

Originally Posted By: Nektodron
Если скрипт перестанет выставлять заявки (совершать сделки), то еквити перестанет меняться.

Такая мысль:
Когда доходность отходит от еквити, нужно выключить настоящие сделки, холостые продолжают считать еквити, как только доходность подходит к еквити, включаем настоящие. Можно решить данную проблему добавив еще одну еквити(холостую)
Автор: Nektodron

Re: Заказ индикаторов в TSLab - Thu May 06 2010 10:38 PM

Так бы и сказали, что нужно управление флагом "автоматическое исполнение входа" из скрипта.
Я подумаю, что можно сделать.
Автор: 777

Re: Заказ индикаторов в TSLab - Thu May 06 2010 10:42 PM

Originally Posted By: Nektodron
Так бы и сказали, что нужно управление флагом "автоматическое исполнение входа" из скрипта.
Я подумаю, что можно сделать.
Да но при этом мысль о привязке к еквити и доходности пусть не покидает Вас! Ибо крайне интересно это! smile
Здесь же можно в зависимости от доходности и основные параметры скрипта менять! Этж ого-го!
Автор: Nektodron

Re: Заказ индикаторов в TSLab - Thu May 06 2010 10:45 PM

Ну вариант подсчета дохода по определенному имени входа можно сделать, это не сложно. И дохода по всему скрипту тоже.

Но без управление флагом "автоматическое исполнение входа" - они большого смысла иметь не будут
Автор: 777

Re: Заказ индикаторов в TSLab - Thu May 06 2010 10:49 PM

Originally Posted By: Nektodron
Ну вариант подсчета дохода по определенному имени входа можно сделать, это не сложно. И дохода по всему скрипту тоже.
Но без управление флагом "автоматическое исполнение входа" - они большого смысла иметь не будут

Согласен, я уже где-то писал, что идея управления флагами "автоматическое исполнение входа и выхода" - это первоклассная идея!
Автор: uprav

Re: Заказ индикаторов в TSLab - Thu May 06 2010 11:02 PM

Originally Posted By: 777
Originally Posted By: Nektodron
Ну вариант подсчета дохода по определенному имени входа можно сделать, это не сложно. И дохода по всему скрипту тоже.
Но без управление флагом "автоматическое исполнение входа" - они большого смысла иметь не будут

Согласен, я уже где-то писал, что идея управления флагами "автоматическое исполнение входа и выхода" - это первоклассная идея!

+1 , блоки с управлением флагом "автоматическое исполнение входа"
Автор: 777

Re: Заказ индикаторов в TSLab - Thu May 06 2010 11:52 PM

Originally Posted By: uprav
Originally Posted By: 777
Originally Posted By: Nektodron
Ну вариант подсчета дохода по определенному имени входа можно сделать, это не сложно. И дохода по всему скрипту тоже.
Но без управление флагом "автоматическое исполнение входа" - они большого смысла иметь не будут

Согласен, я уже где-то писал, что идея управления флагами "автоматическое исполнение входа и выхода" - это первоклассная идея!

+1 , блоки с управлением флагом "автоматическое исполнение входа"


и выхода

P.S.
но при этом мысль о привязке к еквити и доходности пусть не покидает Вас! Ибо крайне интересно это! smile
Автор: BUBEN

Re: Заказ индикаторов в TSLab - Mon May 10 2010 11:07 PM

Уважаемый Нектодрон! Плиз рассмотрите мою просьбу с переводом я зыка метастока на язык TSLab.

{ Message allows color selection b4 plotting }
message:=Input("Plot on daily charts",0,0,0);

{ Month' start }
m:=Month()<>Ref(Month(),-1);

{ Month's OHLC }
Om:=ValueWhen(2,m,O);
Hm:=ValueWhen(1,m,HighestSince(2,m,H));
Hm:=ValueWhen(1,Hm>0,Hm);
Lm:=ValueWhen(1,m,LowestSince(2,m,L));
Lm:=ValueWhen(1,Lm>0,Lm);
Cm:=ValueWhen(1,m,Ref(C,-1));

{ Pivot levels }
p1:=(Hm+Lm+Cm)/3+Hm-Lm;
p2:=(Hm+Lm+Cm)/3*2-Lm;
p3:=(Hm+Lm+Cm)/3*2-Hm;
p4:=(Hm+Lm+Cm)/3-Hm+Lm;

{ Plot on daily chart }
p1;p2;p3;p4


Заранее благодарен.
Автор: uprav

Re: Заказ индикаторов в TSLab - Tue May 11 2010 08:24 PM

Запрос на исправление багов в блоках:
1. Блок - "Цена входа"
- не рассчитывается и не выводится на график ЧЕРЕЗ БЛОК ФОРМУЛА, например для построения графика разницы цены закрытия текущих баров и цены входа, в блоке ФОРМУЛА пишу: "close-цена входа", затем блок формула -> график - результат = 0. При выводе просто цены входа -> график - цена рассчитывается и рисуется.(Исправление второго бага цены входа - обязательного соединения с логической формулой блока выхода не обзательно - оно не на что не влияет, хотя баг это или не баг...)
2. Ну и исправление бага "обновляемого значения" жду.
Предполагаю их использовать для одной цели - или цену входа или ОЗ, но желательно конечно оба. Спасибо.
Автор: Vladimir /

Re: Заказ индикаторов в TSLab - Thu May 13 2010 01:44 PM

Originally Posted By: 777
Originally Posted By: uprav
Originally Posted By: 777
Originally Posted By: Nektodron
Ну вариант подсчета дохода по определенному имени входа можно сделать, это не сложно. И дохода по всему скрипту тоже.
Но без управление флагом "автоматическое исполнение входа" - они большого смысла иметь не будут

Согласен, я уже где-то писал, что идея управления флагами "автоматическое исполнение входа и выхода" - это первоклассная идея!

+1 , блоки с управлением флагом "автоматическое исполнение входа"





P.S.
но при этом мысль о привязке к еквити и доходности пусть не покидает Вас! Ибо крайне интересно это! smile


опять не соглашусь с вами
практика показывает что разница между количеством проиграных и профитных сделок составляет примерно 20%
и часто за чередой проиграных сделок одна выйгрышная перекрывает весь пройгрыш,
но в вашем случае(если определёный лой в доходе заставил отключить вход) вы не будете учавствовать в этой сделке деньгами т.к вход у вас отключен и лишь после того как эта сделка закроется (виртуально) ваш скрипт начнёт давать сигналы уже к другим сделкам и не факт что они так же будут прибыльными и что тогда опять новый лой и отключение входов???
Автор: 777

Re: Заказ индикаторов в TSLab - Thu May 13 2010 02:32 PM

Originally Posted By: Vladimir
/опять не соглашусь с вами
практика показывает что разница между количеством проиграных и профитных сделок составляет примерно 20%
и часто за чередой проиграных сделок одна выйгрышная перекрывает весь пройгрыш,
но в вашем случае(если определёный лой в доходе заставил отключить вход) вы не будете учавствовать в этой сделке деньгами т.к вход у вас отключен и лишь после того как эта сделка закроется (виртуально) ваш скрипт начнёт давать сигналы уже к другим сделкам и не факт что они так же будут прибыльными и что тогда опять новый лой и отключение входов???

Vladimir, мы о разных вещах говорим. Вы сейчас описали как Ваш скрипт работает. А мы с uprav, говрим о том как сохранить то, что этот скрипт заработал, когда он уже перестает зарабатывать. Мысль уловили?!
Автор: Vladimir /

Re: Заказ индикаторов в TSLab - Thu May 13 2010 03:54 PM

уловил
тут снова система но уже по управлению входами и выходами системы

будет ли она умнее чем система по пересечению со скользящей средней??которая сливает.
надеюсь понятно объясняю...
у меня мысли по этому поводу с точностью наоборот

скрипт ни в коем случае нельзя отключать от входа
а с определённой просадкой(количество убыточных сделок подряд или % соотношение просадки к пику прибыли) увеличивать количество лотов на определённый % (типа плечей), а допустим по возврату прибыли к последнему пику(ну или кто как хочет) резать эти плечи...
риск возрастает но это тоже на усмотрение пользователя.
но всё это теоретически как это сделать в программе ума не приложу.
Автор: andy

Re: Заказ индикаторов в TSLab - Thu May 13 2010 04:05 PM

Originally Posted By: Vladimir /
уловил
тут снова система но уже по управлению входами и выходами системы

будет ли она умнее чем система по пересечению со скользящей средней??
надеюсь понятно объясняю


А есть еще идейки по управлению самими скриптами. У вас пул рабочих скриптов. Вы этим пулом так или иначе рулите. Еще одна надстройка :-)

А вот насколько все это эффективно, вопрос долгого изучения :-)
Автор: Vladimir /

Re: Заказ индикаторов в TSLab - Thu May 13 2010 04:18 PM

если одна система трендовая а вторая флэтовая ?
опять же а когда их включать и выключать?
пока у меня в голове создаётся вывод что каждая система должна работать самостоятельно т.е должна быть универсальна.
максимум что можно скомпоновать это одна покупает а вторая продаёт...
Автор: Vladimir /

Re: Заказ индикаторов в TSLab - Thu May 13 2010 04:26 PM

Originally Posted By: 777
А мы с uprav, говрим о том как сохранить то, что этот скрипт заработал, когда он уже перестает зарабатывать. Мысль уловили?!

а вообще нужно фильтровать тогда сам алгоритм
чтобы на растущем рынке не шортил а на падающем не покупал
индикаторов полно
ну или закажите свой на этой ветке:)
Автор: 777

Re: Заказ индикаторов в TSLab - Thu May 13 2010 04:43 PM

Originally Posted By: Vladimir /
уловил
тут снова система но уже по управлению входами и выходами системы

будет ли она умнее чем система по пересечению со скользящей средней??которая сливает.
надеюсь понятно объясняю...
у меня мысли по этому поводу с точностью наоборот

скрипт ни в коем случае нельзя отключать от входа
а с определённой просадкой(количество убыточных сделок подряд или % соотношение просадки к пику прибыли) увеличивать количество лотов на определённый % (типа плечей), а допустим по возврату прибыли к последнему пику(ну или кто как хочет) резать эти плечи...
риск возрастает но это тоже на усмотрение пользователя.
но всё это теоретически как это сделать в программе ума не приложу.

Очень похоже на Фрэнки Джо , напомню, он в итоге застрелился ... Истроию надо помнить!
Автор: 777

Re: Заказ индикаторов в TSLab - Thu May 13 2010 04:48 PM

Originally Posted By: Vladimir /
Originally Posted By: 777
А мы с uprav, говрим о том как сохранить то, что этот скрипт заработал, когда он уже перестает зарабатывать. Мысль уловили?!

ну или закажите свой на этой ветке:)

Вот я и заказал ...
Автор: Vladimir /

Re: Заказ индикаторов в TSLab - Thu May 13 2010 05:06 PM

конструктивный диалог получился smile
Автор: 777

Re: Заказ индикаторов в TSLab - Thu May 13 2010 05:13 PM

smile
Автор: uprav

Re: Заказ индикаторов в TSLab - Thu May 13 2010 06:29 PM

Самое интересное сейчас, по крайней мере для меня, это дотестить 2-й этап безпараметрической системы Чеботарёва, можно наслово поверить, но лучше проверить:
Цитата "Обозначим через R величину риска, который допускает инвестор. А под риском, как правило, понимается просадка кривой доходности. Если на каждом временном шаге, на i-м временном горизонте отслеживать доходность, то несложно выявить просадку доходности ниже риска R. Как только выявился временной горизонт, где просадка доходности превысила заданный риск R, следует временно воздержаться от инвестирования средств в данный горизонт."
Судя из результатов 1-го этапа, который я ранее выкладывал, кривая доходности i-го независимого алгоритма может уйти вниз и в этом году например больше туда не вернуться, для этого и нужно его "дезактивировать", а без моделирования "сухой" доходности этого не сделать, как я понял.
Автор: amex

Re: Заказ индикаторов в TSLab - Mon May 17 2010 03:24 AM

можете реализовать ишимоку?
Автор: andy

Re: Заказ индикаторов в TSLab - Mon May 17 2010 09:08 AM

Originally Posted By: amex
можете реализовать ишимоку?


Из первого поста в этой ветке:

1. Вы можете в этой ветке заказать разработку необходимого вам индикатора.
2. В заказе нужно указать четкое описание индикатора.
3. Мы собираем заказы, разбираем, выставляем приоритеты и реализуем.

"Классика" пойдет в поставку TSLab. "Экзотика" будет размещена на форуме в соответствующей ветке.
Автор: Frend

Re: Заказ индикаторов в TSLab - Wed May 19 2010 01:08 PM

можно ли сделать JMA
Информация
http://www.jurikres.com/catalog/ms_ama.htm#top
http://www.forex-day.ru/fayli-foreks-archiv-po/indikator-jma.html

function JMA(per1, len, phase)
%JMA - ind num 10
%Created by Starlight (extesy@yandex.ru).
%Don't remove this line even if you do conversion to EL,MQL etc!
%

InitGlobals0;

disp('JMA');

FindPeriod0(per1);

result=sprintf('Calc JMA for period=%d Len=%d Phase=%d',period,len,phase);
disp(result);

R(per1).JJMA=D(per1).MED;
list=zeros(128,1);
ring=zeros(128,1);
ring2=zeros(11,1);
buffer=zeros(62,1);

v=0; v1=0; v2=0; v3=0; v4=0; s8=0; s10=0; s18=0; s20=0;
v5=0; v6=0; s28=0; s30=0; s38=0; s40=0; s48=0; s50=0; s58=0; s60=0; s68=0; s70=0;
f8=0; f10=0; f18=0; f20=0; f28=0; f30=0; f38=0; f40=0; f48=0; f50=0; f58=0; f60=0; f68=0;
f70=0; f78=0; f80=0; f88=0; f90=0; f98=0; fA0=0; fA8=0; fB0=0; fB8=0; fC0=0; fC8=0; fD0=0;
f0=0; fD8=0; fE0=0; fE8=0; fF0=0; fF8=0;

s28 = 63;
s30 = 64;

for i = 1:s28
list(1+i) = -1000000;
end;

for i = s30:127
list(1+i) = 1000000;
end;

f0 = 1;

if (len <= 1)
f80 = 1.0e-10;
else
f80 = (len - 1) / 2;
end;

if (phase < -100)
f10 = 0.5;
else
if (phase > 100)
f10 = 2.5;
else
f10 = phase / 100 + 1.5;
end;
end;

v1 = log10(sqrt(f80));
v2 = v1;

if (v1 / log10(2.0) + 2 < 0)
v3 = 0;
else
v3 = v2 / log10(2.0) + 2;
end;
f98 = v3;
if (0.5 <= f98 - 2)
f88 = f98 - 2;
else
f88 = 0.5;
end;

f78 = sqrt(f80) * f98;
f90 = f78 / (f78 + 1);
f80 = f80 * 0.9;
f50 = f80 / (f80 + 2);

for bar = 0:(nlines(per1)+nlines1(per1)-1)
if (fF0 < 61)
fF0 = fF0 + 1;
buffer(1+fF0) = D(per1).MED(1+bar,1);
end;
if (fF0 > 30)
if (f0 ~= 0)
f0 = 0;
v5 = 0;
for i = 1:29
if (buffer(1+i+1) ~= buffer(1+i))
v5 = 1;
end;
end;
fD8 = v5*30;
if (fD8 == 0)
f38 = D(per1).MED(1+bar,1);
else
f38 = buffer(1+1);
end;
f18 = f38;
if (fD8 > 29)
fD8 = 29;
end;
else
fD8 = 0;
end;

for i = fD8:-1:0
if (i == 0)
f8 = D(per1).MED(1+bar,1);
else
f8 = buffer(1+31-i);
end;
f28 = f8 - f18;
f48 = f8 - f38;
if (abs(f28) > abs(f48))
v2 = abs(f28);
else
v2 = abs(f48);
end;
fA0 = v2;
v = fA0 + 1.0e-10;
if (s48 <= 1)
s48 = 127;
else
s48 = s48 - 1;
end;
if (s50 <= 1)
s50 = 10;
else
s50 = s50 - 1;
end;
if (s70 < 128)
s70 = s70 + 1;
end;
s8 = s8 + v - ring2(1+s50);
ring2(1+s50) = v;
if (s70 > 10)
s20 = s8 / 10;
else
s20 = s8 / s70;
end;

if (s70 > 127)
s10 = ring(1+s48);
ring(1+s48) = s20;
s68 = 64;
s58 = s68;
while (s68 > 1)
if (list(1+s58) < s10)
s68 = s68 / 2;
s58 = s58 + s68;
else
if (list(1+s58) <= s10)
s68 = 1;
else
s68 = s68 / 2;
s58 = s58 - s68;
end;
end;
end;
else
ring(1+s48) = s20;
if (s28 + s30 > 127)
s30 = s30 - 1;
s58 = s30;
else
s28 = s28 + 1;
s58 = s28;
end;
if (s28 > 96)
s38 = 96;
else
s38 = s28;
end;
if (s30 < 32)
s40 = 32;
else
s40 = s30;
end;
s68 = 64;
s60 = s68;
end;

while (s68 > 1)
if (list(1+s60) >= s20)
if (list(1+s60 - 1) <= s20)
s68 = 1;
else
s68 = s68 / 2;
s60 = s60 - s68;
end;
else
s68 = s68 / 2;
s60 = s60 + s68;
end;
if ((s60 == 127) & (s20 > list(1+127)))
s60 = 128;
end;
end;

if (s70 > 127)
if (s58 >= s60)
if ((s38 + 1 > s60) & (s40 - 1 < s60))
s18 = s18 + s20;
else
if ((s40 > s60) & (s40 - 1 < s58))
s18 = s18 + list(1+s40 - 1);
end;
end;
else
if (s40 >= s60)
if ((s38 + 1 < s60) & (s38 + 1 > s58))
s18 = s18 + list(1+s38 + 1);
end;
else
if (s38 + 2 > s60)
s18 = s18 + s20;
else
if ((s38 + 1 < s60) & (s38 + 1 > s58))
s18 = s18 + list(1+s38 + 1);
end;
end;
end;
end;
if (s58 > s60)
if ((s40 - 1 < s58) & (s38 + 1 > s58))
s18 = s18 - list(1+s58);
else
if ((s38 < s58) & (s38 + 1 > s60))
s18 = s18 - list(1+s38);
end;
end;
else
if ((s38 + 1 > s58) & (s40 - 1 < s58))
s18 = s18 - list(1+s58);
else
if ((s40 > s58) & (s40 < s60))
s18 = s18 - list(1+s40);
end;
end;
end;
end;

if (s58 <= s60)
if (s58 >= s60)
list(1+s60) = s20;
else
for i = s58+1:(s60-1)
list(1+i-1) = list(1+i);
end;
list(1+s60-1) = s20;
end;
else
for i = (s58-1):-1:s60
list(1+i + 1) = list(1+i);
end;
list(1+s60) = s20;
end;

if (s70 <= 127)
s18 = 0;
for i = s40:s38
s18 = s18 + list(1+i);
end;
end;

f60 = s18 / (s38 - s40 + 1);

if (fF8 + 1 > 31)
fF8 = 31;
else
fF8 = fF8 + 1;
end;

if (fF8 <= 30)
if (f28 > 0)
f18 = f8;
else
f18 = f8 - f28 * f90;
end;
if (f48 < 0)
f38 = f8;
else
f38 = f8 - f48 * f90;
end;
fB8 = D(per1).MED(1+bar,1);
if (fF8 ~= 30)
continue;
end;
fC0 = D(per1).MED(1+bar,1);
if (jceil(f78) >= 1)
v4 = jceil(f78);
else
v4 = 1;
end;
fE8 = fix(v4);

if (jfloor(f78) >= 1)
v2 = jfloor(f78);
else
v2 = 1;
end;
fE0 = fix(v2);

if (fE8 == fE0)
f68 = 1;
else
v4 = fE8 - fE0;
f68 = (f78 - fE0) / v4;
end;

if (fE0 <= 29)
v5 = fE0;
else
v5 = 29;
end;
if (fE8 <= 29)
v6 = fE8;
else
v6 = 29;
end;
fA8 = ( D(per1).MED(1+bar) - buffer(1+fF0-v5) ) * (1 - f68) / fE0+( D(per1).MED(1+bar)-buffer(1+fF0-v6) ) * f68 / fE8;
else
if (f98 >= power(fA0/f60, f88))
v1 = power(fA0/f60, f88);
else
v1 = f98;
end;
if (v1 < 1)
v2 = 1.0;
else
if (f98 >= power(fA0/f60, f88))
v3 = power(fA0/f60, f88);
else
v3 = f98;
end;
v2 = v3;
end;

f58 = v2;
f70 = power(f90, sqrt(f58));

if (f28 > 0)
f18 = f8;
else
f18 = f8 - f28 * f70;
end;

if (f48 < 0)
f38 = f8;
else
f38 = f8 - f48 * f70;
end;
end;
end;
if (fF8 > 30)
f30 = power(f50, f58);
fC0 = (1 - f30) * D(per1).MED(1+bar,1) + f30 * fC0;
fC8 = ( D(per1).MED(1+bar,1) - fC0) * (1 - f50) + f50 * fC8;
fD0 = f10 * fC8 + fC0;
f20 = f30 * -2;
f40 = f30 * f30;
fB0 = f20 + f40 + 1;
fA8 = (fD0 - fB8) * fB0 + f40 * fA8;
fB8 = fB8 + fA8;
end;

R(per1).JJMA(bar+1,1)=fB8;

end;
end;


disp('Done');

function ret1 = jfloor(value)
if (value == fix(value))
ret1 = fix(value);
else
if (value > 0)
ret1 = fix(value);
else
ret1 = fix(value)-1;
end;
end;

function ret1=jceil(value)
if (value == fix(value))
ret1 = fix(value);
else
if (value > 0)
ret1 = fix(value)+1;
else
ret1 = fix(value);
end;
end;
Автор: Aleks

Re: Заказ индикаторов в TSLab - Thu May 20 2010 08:07 PM

прошу сделать классику индюк NRMA даю пример только на MQ4 вернее ссылку на него так как чёто не грузитцо((!! http://codebase.mql4.com/ru/557
Автор: Slavik

Re: Заказ индикаторов в TSLab - Fri May 21 2010 07:37 PM

TS Lab использует очень странное значение ATR, которое значительно отличается от значения, получаемого в программе МТ4. Например, в ТС Лабе значение АТР по Сбер об (5 мин) в пределах от 0,01 коп. до 0,04 коп., а в МТ4 значение меняется гораздо плавнее от 0,11 до 0,88 коп.. Соответственно получается другой результат по стратегии. В связи с данной ситуацией у меня к вам следующий вопрос: Как сделать так, чтобы TS Lab использовал в вычислениях форумлу расчета значения ATR, которую применяет МетаТрейдер? Сможете помочь?
Автор: Nektodron

Re: Заказ индикаторов в TSLab - Fri May 21 2010 07:53 PM

а что показывает Quik и Tranzaq. Почему нужно ориентироваться на метатрейдер? И проверьте период АТР там и там.
Автор: Slavik

Re: Заказ индикаторов в TSLab - Mon May 24 2010 12:10 AM

Quick ничего не показывает, потому что в этой системе нет ATR, Tranzaqом не пользуюсь... Период везде один - 14. Почему ориентируюсь на Метатрейдер? потому что он считает значение ATR более-менее близко к определению ATR (http://www.vedikhin.ru/2006/03/atr.html)... Значение ATR в TSLab очень далеко от этого определения, а поэтому стратегия дает не тот результат))) вот так, чем можете помочь?
Автор: 777

Re: Заказ индикаторов в TSLab - Mon May 24 2010 09:19 AM

Originally Posted By: Slavik
Quick ничего не показывает, потому что в этой системе нет ATR, Tranzaqом не пользуюсь... Период везде один - 14. Почему ориентируюсь на Метатрейдер? потому что он считает значение ATR более-менее близко к определению ATR (http://www.vedikhin.ru/2006/03/atr.html)... Значение ATR в TSLab очень далеко от этого определения, а поэтому стратегия дает не тот результат))) вот так, чем можете помочь?

Я не разработчик!
В сноске которую Вы дали, некий Видихин на самом деле то же неправильно считает ибо ATR есть наибольшая из следующих трех величин:
разность между текущими максимумом и минимумом;
разность между предыдущей ценой закрытия и текущим максимумом;
разность между предыдущей ценой закрытия и текущим минимумом.

И никаких средних быть не должно, а у этого Видихина все по десять раз сглажено... По-этому это уже не тот самый ATR, который указан в книге «Новые концепции технических торговых систем» Уэллса Уайлдера smile
Если Вы все же хотите сделать, так, что бы выглядело как в матарейдере, так просто сгладьте с помощью EMA тем же периодом, что и сам ATR...
Автор: Slavik

Re: Заказ индикаторов в TSLab - Mon May 24 2010 11:40 AM

Было бы здорово, если удалось поправить расчет ATR так, чтобы его значение было бы близким к расчету, который происходит в Метатрейдере... потому что сейчас, как писал выше, очень велико расхождение... Так, что простое сглаживание не помогает....

К слову про определения ATR, в справке Метатрейдера указано, что
ATR - это есть скользящее среднее одной из трех наибольших величин (разность между текущими максимумом и минимумом; разность между предыдущей ценой закрытия и текущим максимумом; разность между предыдущей ценой закрытия и текущим минимумом).
Автор: 777

Re: Заказ индикаторов в TSLab - Mon May 24 2010 11:46 AM

Originally Posted By: Slavik
Было бы здорово, если удалось поправить расчет ATR так, чтобы его значение было бы близким к расчету, который происходит в Метатрейдере... потому что сейчас, как писал выше, очень велико расхождение... Так, что простое сглаживание не помогает....

К слову про определения ATR, в справке Метатрейдера указано, что
ATR - это есть скользящее среднее одной из трех наибольших величин (разность между текущими максимумом и минимумом; разность между предыдущей ценой закрытия и текущим максимумом; разность между предыдущей ценой закрытия и текущим минимумом).

Ну так я про это Вам и написал. grin Уэллс в своей книге ничего не писал про среднии ...
Автор: serg

Re: Заказ индикаторов в TSLab - Mon May 24 2010 03:15 PM

Я за Ишимоку голосую..))))
Автор: Frend

Re: Заказ индикаторов в TSLab - Wed May 26 2010 12:46 PM

Можно ли сделать Rate of Change (ROC)
Индикатор ROC - Price Rate of change (Скорость изменения цены). Индикатор скорости изменения цены (ROC) показывает разность между текущей ценой и ценой n периодов назад. Она может быть выражена или в пунктах, или в процентах. Индикатор ROC отражает зависимость между теми же величинами, но не в виде разности, а в виде отношения.
Расчет индикатора ROC:

Изменение цены будет выражено в пунктах, если индикатор ROC определять как разность между сегодняшней ценой закрытия и ценой закрытия х периодов назад:



Изменение цены будет выражено в процентах, если индикатор ROC определять путем деления изменения цены на цену закрытия х периодов назад:



CLOSEn – сегодняшняя цена закрытия;
CLOSEn-i – цена закрытия i периодов назад.


Очень надо
http://www.stockvest.ru/indicator/roc.html
Автор: usas

Re: Заказ индикаторов в TSLab - Thu Jun 03 2010 09:01 AM

Можно ли сделать помимо числовой логическую константу с двумя состояниями что бы была возможность пользоваться ею как ключом.
Часто возникает необходимость особенно при отладке включить/отключить часть скрипта в редакторе (фильтр какой-нит например), вот тогда этой константой можно воспользоваться, а то сейчас приходиться то убирать, то рисовать по-новой..
Спс..
Автор: Nektodron

Re: Заказ индикаторов в TSLab - Thu Jun 03 2010 10:17 AM

ну обычную константу вполне можно так использовать, проверять ее равно/не равно 0...
а через закладку оптимизации выставлять значение...
более того можно и в оптимизацию включать, смотреть как ведет себя скрипт с частью отключенной логики
Автор: usas

Re: Заказ индикаторов в TSLab - Thu Jun 03 2010 10:29 AM

Originally Posted By: Nektodron
ну обычную константу вполне можно так использовать, проверять ее равно/не равно 0...
а через закладку оптимизации выставлять значение...
более того можно и в оптимизацию включать, смотреть как ведет себя скрипт с частью отключенной логики

Немного не понял..
Я предполагал реализацию сл.образом:
Элемент "И" - на одном входе сигнал, отключающий нужную мне логику, на другом логическая константа, которой я запрещаю/разрешаю прохождение сигнала.
Если цифровая константа со значениями "0"/"1" будет вести себя так же, то вопросов нет..
Автор: Nektodron

Re: Заказ индикаторов в TSLab - Thu Jun 03 2010 10:53 AM

будет так же, только вместо элемента И нужно логическую формулу использовать
Автор: usas

Re: Заказ индикаторов в TSLab - Thu Jun 03 2010 11:00 AM

Originally Posted By: Nektodron
будет так же, только вместо элемента И нужно логическую формулу использовать

Да что ж из Вас по капле выпрашивать надо..:-((
В теле формулы должно быть?
"сигнал" && "конст"
и на выходе будет "истина" при значениях - сигнал "да" , конст "1". Если константа "0", то сигнал не проходит.
Я прав?
Автор: Nektodron

Re: Заказ индикаторов в TSLab - Thu Jun 03 2010 11:43 AM

нужно четко написать "конст != 0". В C# числа к логике автоматически не кастятся, это не Си.
Автор: usas

Re: Заказ индикаторов в TSLab - Thu Jun 03 2010 11:50 AM

Originally Posted By: Nektodron
нужно четко написать "конст != 0". В C# числа к логике автоматически не кастятся, это не Си.

Уважаемый Некто, не знаю я ни того СИ ,ни другого и не понимаю, что значит "кастятся". Редактор называется визуальным..
Не сочтите за труд, напишите полное выражение, которое должно быть в теле логической формулы..
Заранее благодарен..
Автор: Frend

Re: Заказ индикаторов в TSLab - Thu Jun 03 2010 12:08 PM

просьба сделать Наклон линейной регрессии
код с метастока
Linear Regression Slope

nio:=Input("Number of points taken to calculate the ROCs",3,1000,14);

rll:=ROC(O,nio-1,%)/(nio-1);
rl:=ROC(O,nio,%)/nio;
rh:=ROC(O,nio+1,%)/(nio+1);
rhh:=ROC(O,nio+2,%)/(nio+2);

xio:=Input("Distances of ROCs from interpolation point XIO ",0.01,1,0.5);

rit:=(rll / (1+xio) +
rl / (xio+.0001)+
rh / (1-xio) +
rhh / (2-xio)) /
( 1 / (1+xio) + 1 / (xio+.0001) + 1 / (1-xio) + 1 / (2-xio));

ro:=LinRegSlope(LinRegSlope(rit,nio),nio);
ro

А также R квадратичное
r-squared

Pwr(Corr(Cum(1),C,14,0),2)

Просьба ответить ждать ли мне данные индикаторы
Автор: usas

Re: Заказ индикаторов в TSLab - Thu Jun 03 2010 05:46 PM

Originally Posted By: usas
Originally Posted By: Nektodron
нужно четко написать "конст != 0". В C# числа к логике автоматически не кастятся, это не Си.

Уважаемый Некто, не знаю я ни того СИ ,ни другого и не понимаю, что значит "кастятся". Редактор называется визуальным..
Не сочтите за труд, напишите полное выражение, которое должно быть в теле логической формулы..
Заранее благодарен..

Видно Нектодрон занят, ваяет..:-)))
Знающие СИ, напишите мне искомую формулу..
Автор: uprav

Re: Заказ индикаторов в TSLab - Thu Jun 03 2010 06:26 PM

Originally Posted By: Nektodron
будет так же, только вместо элемента И нужно логическую формулу использовать

Originally Posted By: usas

В теле формулы должно быть?
"сигнал" && "конст"
и на выходе будет "истина" при значениях - сигнал "да" , конст "1". Если константа "0", то сигнал не проходит.
Я прав?

В логической формуле нужно писать: "сигнал"&&"имя формулы"==1(ну или "сигнал"&&"имя формулы"!=0), а в формуле "условие"?1:0, например а>b?1:0 - т.е. если а>b истина, то на выходе будет 1. Хотя зачем городить блок формула, можно к логической формуле прицепить другую логическую формулу вашей константы в кторой просто написать a>b, а в главной логической формуле будет выражение "сигнал"&&"имя логической формулы", если нужна ложь от логической формулы тогда выражение будет "сигнал"&&"!имя логической формулы" - в этом случае сигнал будет проходить если будет логический 0.
Автор: usas

Re: Заказ индикаторов в TSLab - Thu Jun 03 2010 06:42 PM

Originally Posted By: uprav
Originally Posted By: Nektodron
будет так же, только вместо элемента И нужно логическую формулу использовать

Originally Posted By: usas

В теле формулы должно быть?
"сигнал" && "конст"
и на выходе будет "истина" при значениях - сигнал "да" , конст "1". Если константа "0", то сигнал не проходит.
Я прав?

В логической формуле нужно писать: "сигнал"&&"имя формулы"==1(ну или "сигнал"&&"имя формулы"!=0), а в формуле "условие"?1:0, например а>b?1:0 - т.е. если а>b истина, то на выходе будет 1. Хотя зачем городить блок формула, можно к логической формуле прицепить другую логическую формулу вашей константы в кторой просто написать a>b, а в главной логической формуле будет выражение "сигнал"&&"имя логической формулы", если нужна ложь от логической формулы тогда выражение будет "сигнал"&&"!имя логической формулы" - в этом случае сигнал будет проходить если будет логический 0.

UPRAV, в Вашем объяснении не определишь, где начинаются/заканчиваются фразы человеческого языка, и языка СИ.
Я понимаю, что нагло Вас эксплуатирую, но перепишите объяснение так, чтобы каждый язык занимал свою строку..
Спс..
Автор: uprav

Re: Заказ индикаторов в TSLab - Thu Jun 03 2010 06:54 PM

В логической формуле нужно писать:
"сигнал"&&"имя формулы"==1
ну или
"сигнал"&&"имя формулы"!=0
,а в формуле
"условие"?1:0
, например
а>b?1:0
- т.е. если а>b истина, то на выходе будет 1, если ложь, то на выходе 0. Хотя зачем городить блок формула, можно к логической формуле прицепить другую логическую формулу вашей константы в кторой просто написать
a>b
,а в главной логической формуле будет выражение
"сигнал"&&"имя логической формулы"
, если нужна ложь от логической формулы тогда выражение будет
"сигнал"&&"!имя логической формулы"
- в этом случае сигнал будет проходить если будет логический 0. Имена формул/логических формул надо писать без ковычек.
Автор: uprav

Re: Заказ индикаторов в TSLab - Thu Jun 03 2010 07:01 PM

Если нужно использовать математические функции C# в выражениях формул из этой ссылки
http://msdn.microsoft.com/ru-ru/library/system.math_members.aspx
,то в выражении формулы надо писать
Math.<функция(х)>
Автор: usas

Re: Заказ индикаторов в TSLab - Thu Jun 03 2010 07:04 PM

Originally Posted By: uprav
Если нужно использовать математические функции C# в выражениях формул из этой ссылки
http://msdn.microsoft.com/ru-ru/library/system.math_members.aspx
,то в выражении формулы надо писать
Math.<функция(х)>

Огромная благодарность..
Автор: Alexei

Re: Заказ индикаторов в TSLab - Thu Jun 17 2010 10:34 AM

Хотелось бы видеть в системе индикатор - On Balance Volume
Автор: uprav

Re: Заказ индикаторов в TSLab - Sat Jun 19 2010 09:35 PM

Работаю над кое-каким алгоритмом, по ходу дела понадобился блок активной позиции по имени блока входа, выкладываю его .dll, может кому понадобится (перед использованием проверьте сначала,правильно ли работает эта .dll, у меня правильно, по результатам сообщите).
--------
Логическая функция (типа bool) проверяющая наличие активной позиции по названию блока входа, где в верхней строчке
ввода имени вводится имя блока входа (в нижней строчке - имя самого блока логической функции)/ Тип входящих данных-Фин. инструмент,
Тип исходящих данных-Логическое значение.
Автор: 777

Re: Заказ индикаторов в TSLab - Sun Jun 20 2010 10:35 PM

Originally Posted By: uprav
(перед использованием проверьте сначала,правильно ли работает эта .dll, у меня правильно, по результатам сообщите).
--------
Логическая функция (типа bool) проверяющая наличие активной позиции по названию блока входа, где в верхней строчке
ввода имени вводится имя блока входа (в нижней строчке - имя самого блока логической функции)/ Тип входящих данных-Фин. инструмент,
Тип исходящих данных-Логическое значение.

Uprav привет! Что-то у меня никак не получается. Блок ничего не возвращает...Может опять не та dll


---------------------------------------------------
--------------------------------------------------

А ты можешь еще сделать, не для активной, а для последней исполненной, мне нужно вернуть последний стоплосс, либо выход по рынку. ??
Автор: uprav

Re: Заказ индикаторов в TSLab - Mon Jun 21 2010 09:18 AM

Originally Posted By: 777

Uprav привет! Что-то у меня никак не получается. Блок ничего не возвращает...Может опять не та dll

Он по идее ничего не должен возвращать (т.е. он работает по принципу стандартного блока "есть активная позиция"), он проверяет условие и выдаёт true - если на текущем баре открыта не просто любая позиция, а именно с таким именем входа, и false - если активной позиции нет, или есть активная позиция но с другим именем входа.
Originally Posted By: 777
А ты можешь еще сделать, не для активной, а для последней исполненной, мне нужно вернуть последний стоплосс, либо выход по рынку. ??
Немного не понял, т.е. нужно ЦЕНУ последнего стоплосса или выхода по рынку?
Автор: 777

Re: Заказ индикаторов в TSLab - Mon Jun 21 2010 10:08 AM

Originally Posted By: uprav
Немного не понял, т.е. нужно ЦЕНУ последнего стоплосса или выхода по рынку?

Если последним был "Выход" то true.
Автор: uprav

Re: Заказ индикаторов в TSLab - Mon Jun 21 2010 10:30 AM

Originally Posted By: 777
Если последним был "Выход" то true.

т.е. если последним был "выход", то true, а если последним был стоп, то false, так?
Автор: 777

Re: Заказ индикаторов в TSLab - Mon Jun 21 2010 01:38 PM

Originally Posted By: uprav
Originally Posted By: 777
Если последним был "Выход" то true.

т.е. если последним был "выход", то true, а если последним был стоп, то false, так?

Нет. Я имею ввиду по твоему же принципу. В блоке прописываешь имя, которое ждешь(например "выход"). Блок проверяет наличие имени,если свершилось, то true, если еще не свершилось то false
Автор: Kovenant

Re: Заказ индикаторов в TSLab - Wed Jun 23 2010 07:48 PM

а взвешенная WMA в TSlab реализована?
Автор: heyJ

Re: Заказ индикаторов в TSLab - Sat Jun 26 2010 09:38 PM

Прошу помочь с написанием индикатора (конверт с глаженый через ЕМА)
формула из метастока
EMA:=Input("Base EMA",1,100,22);
Factor:=Input("Factor",1,50,27);
avg:=Mov(C,EMA,E);
csize:= Stdev(2*Max(Abs(H-avg) ,Abs(L-avg)) / avg,100)*Factor/10;
{Use 100 days for stable channel size - default is 2.7 std}
Csize:= ValueWhen(1,
DayOfWeek()<Ref(DayOfWeek() ,-1) OR (
DayOfWeek()=Ref(DayOfWeek(),-1) AND DayOfMonth() <> Ref(DayOfMonth(),-1))
,Ref(csize,-1));
{ This pegs the Stdev to last bar of week and only changes once per week}
csize:=LastValue(csize);
{fix to constant using last value}
channel:=csize*avg;
avg+channel/2;
avg-channel/2;
avg;
Автор: usas

Re: Заказ индикаторов в TSLab - Tue Jun 29 2010 09:14 AM

Прочитал про интересный, как мне кажется, индикатор "супертренд".
Все его составляющие уже в ТСлаб есть.
По-моему есть смысл в реализации.
Описание пристегиваю.
Автор: usas

Re: Заказ индикаторов в TSLab - Tue Jun 29 2010 09:22 AM

Еще попытка..
Автор: 777

Re: Заказ индикаторов в TSLab - Tue Jun 29 2010 10:01 AM

Originally Posted By: usas
Еще попытка..

Это удачная была
____________________
____________________

Искомая комбинация.
!!!! Только с сжатием поокуратнее. В Тслабе оно работает не корректно. Сжатие считает время по гринвичу(т.е. абсолютно все время, даже когда биржа не работает).
Автор: usas

Re: Заказ индикаторов в TSLab - Tue Jun 29 2010 10:27 AM

А Вы сделайте вариант первой части без сжатия разжатия.
Мне кажется это будет надежней, без извращений..
Кстати и насчет цвета желательно бы было как-то извернутся..
Автор: 777

Re: Заказ индикаторов в TSLab - Tue Jun 29 2010 10:39 AM

Не знаю, что поставить в формуле CCI<0?(LOW-ATR): после двоеточия, что бы формула ничего не считала, по-этому поставил закрытие фрейма.
Автор: usas

Re: Заказ индикаторов в TSLab - Tue Jun 29 2010 10:59 AM

Сходство есть ..неуловимое.. в обоих вариантах, но как -то, что-то..
Какие таймфреймы Вы берёте?
Автор: 777

Re: Заказ индикаторов в TSLab - Tue Jun 29 2010 11:05 AM

Это индикатор, который описан в Вашем doc. ИМХО индикатор сделан для "быстрого" рынка. Фрейм Вы можете выбрать любой сами.
Автор: usas

Re: Заказ индикаторов в TSLab - Tue Jun 29 2010 11:09 AM

Originally Posted By: 777
Фрейм Вы можете выбрать любой сами.

А может все-таки разработчики подключаться, сделают его полноценным и поместят в библиотеку индикаторов?
Автор: 777

Re: Заказ индикаторов в TSLab - Tue Jun 29 2010 11:10 AM

Это вряд ли
Автор: usas

Re: Заказ индикаторов в TSLab - Tue Jun 29 2010 11:19 AM

Originally Posted By: 777
Это вряд ли

Почему?
Одно дело тащить в скрипт всю Вашу конструкцию и совсем другое - один кубик. А ведь обещанного функционала по сворачиванию в визуальном редакторе пока не предоставлено..
Ау! Разработчики..!!
Автор: Alexei

Re: Заказ индикаторов в TSLab - Tue Jun 29 2010 11:44 AM

Да, очень не хватает сворачивания и запросов к уже сделанным скриптам...

Плюс, как на счет On volume?
Автор: 777

Re: Заказ индикаторов в TSLab - Tue Jun 29 2010 11:49 AM

Может лучше с главного начать? Сжатие до сих пор нормально работает только внутри дня.
Автор: usas

Re: Заказ индикаторов в TSLab - Tue Jun 29 2010 11:55 AM

А "васьки" слушают..(с) Дед Крылов :-))
Автор: usas

Re: Заказ индикаторов в TSLab - Tue Jun 29 2010 02:06 PM

?
Автор: Aleks

Re: Заказ индикаторов в TSLab - Tue Jun 29 2010 03:03 PM

Етот индюк супер тренд2 у меня есть первый понятный как им пользоваться !код в мт могу скинуть неперерисовывает!
Автор: Aleks

Re: Заказ индикаторов в TSLab - Tue Jun 29 2010 03:09 PM

а возможно ли сделать такой в тслабе !супер тренд мож кто нибудб попробует у меня чёто не получается с шарпом девелопер общаться !вот есшо индук интересный !не свежак конеш но всё таки можно для стопов использовать !NRTR!
Автор: usas

Re: Заказ индикаторов в TSLab - Tue Jun 29 2010 03:10 PM

Originally Posted By: Aleks
Етот индюк супер тренд2 у меня есть первый понятный как им пользоваться !код в мт могу скинуть неперерисовывает!

А как все это в ТСлаб воткнуть, такое красивое..
Автор: Aleks

Re: Заказ индикаторов в TSLab - Tue Jun 29 2010 03:13 PM

ВОТ код!NRTR для мт

//+------------------------------------------------------------------+
//| NRTR Rosh v2.mq4 |
//| Rosh |
//| http://forexsystems.ru/phpBB/index.php |
//+------------------------------------------------------------------+
#property copyright "Rosh"
#property link "http://forexsystems.ru/phpBB/index.php"
//----
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Tomato
#property indicator_color2 DeepSkyBlue
#property indicator_color3 DeepSkyBlue
#property indicator_color4 Tomato
//---- input parameters
extern int PerATR=40;
extern double kATR=2.0;
extern bool useSendMail=true;
//---- buffers
double SellBuffer[];
double BuyBuffer[];
double Ceil[];
double Floor[];
double Trend[];
int sm_Bars;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
IndicatorBuffers(5);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,251);
SetIndexBuffer(0,SellBuffer);
SetIndexEmptyValue(0,0.0);
//
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,251);
SetIndexBuffer(1,BuyBuffer);
SetIndexEmptyValue(1,0.0);
//
SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(2,159);
SetIndexBuffer(2,Ceil);
SetIndexEmptyValue(2,0.0);
//
SetIndexStyle(3,DRAW_ARROW);
SetIndexArrow(3,159);
SetIndexBuffer(3,Floor);
SetIndexEmptyValue(3,0.0);
//
SetIndexBuffer(4,Trend);
SetIndexEmptyValue(4,0);
//----
return(0);
}
//+------------------------------------------------------------------+
//| пробитие верха ДАУНтренда |
//+------------------------------------------------------------------+
bool BreakDown(int shift)
{
bool result=false;
if (Close[shift]>SellBuffer[shift+1]) result=true;
return(result);
}
//+------------------------------------------------------------------+
//| пробитие дна АПтренда |
//+------------------------------------------------------------------+
bool BreakUp(int shift)
{
bool result=false;
if (Close[shift]<BuyBuffer[shift+1]) result=true;
return(result);
}
//+------------------------------------------------------------------+
//| взятие нового минимума по ДАУНтренду |
//+------------------------------------------------------------------+
bool BreakFloor(int shift)
{
bool result=false;
if (High[shift]<Floor[shift+1]) result=true;
return(result);
}
//+------------------------------------------------------------------+
//| взятие нового максимума по АПтренду |
//+------------------------------------------------------------------+
bool BreakCeil(int shift)
{
bool result=false;
if (Low[shift]>Ceil[shift+1]) result=true;
return(result);
}
//+------------------------------------------------------------------+
//| определение предыдущего тренда |
//+------------------------------------------------------------------+
bool Uptrend(int shift)
{
//Print("Trend=",Trend[shift+1]);
bool result=false;
if (Trend[shift+1]==1) result=true;
if (Trend[shift+1]==-1) result=false;
if ((Trend[shift+1]!=1)&&(Trend[shift+1]!=-1)) Print("Внимание! Тренд не определен, такого быть не может. Бар от конца ",(Bars-shift));
return(result);
}
//+------------------------------------------------------------------+
//| вычисление волатильности |
//+------------------------------------------------------------------+
double ATR(int iPer,int shift)
{
double result;
//result=iMA(NULL,0,Per,0,MODE_SMA,PRICE_HIGH,shift+1)-iMA(NULL,0,Per,0,MODE_SMA,PRICE_LOW,shift+1);
result=iATR(NULL,0,iPer,shift);
//if (result>1.0) Alert("Большой АТР=",result);
//Print("ATR[",shift,"]=",result);
return(result);
}
//+------------------------------------------------------------------+
//| установка нового уровня потолка |
//+------------------------------------------------------------------+
void NewCeil(int shift)
{
Ceil[shift]=Close[shift];
Floor[shift]=0.0;
}
//+------------------------------------------------------------------+
//| установка нового уровня пола |
//+------------------------------------------------------------------+
void NewFloor(int shift)
{
Floor[shift]=Close[shift];
Ceil[shift]=0.0;
}
//+------------------------------------------------------------------+
//| установка уровня поддержки АПтренда |
//+------------------------------------------------------------------+
void SetBuyBuffer(int shift)
{
BuyBuffer[shift]=Close[shift]-kATR*ATR(PerATR,shift);
SellBuffer[shift]=0.0;
}
//+------------------------------------------------------------------+
//| установка уровня поддержки ДАУНтренда |
//+------------------------------------------------------------------+
void SetSellBuffer(int shift)
{
SellBuffer[shift]=Close[shift]+kATR*ATR(PerATR,shift);
BuyBuffer[shift]=0.0;
}
//+------------------------------------------------------------------+
//| реверс тренда и установка новых уровней |
//+------------------------------------------------------------------+
void NewTrend(int shift)
{
if (Trend[shift+1]==1)
{
Trend[shift]=-1;
NewFloor(shift);
SetSellBuffer(shift);
}
else
{
Trend[shift]=1;
NewCeil(shift);
SetBuyBuffer(shift);
}
if ((Trend[shift+1]!=1)&&(Trend[shift+1]!=-1)) Print("Внимание! Тренд не определен, такого быть не может");
}
//+------------------------------------------------------------------+
//| продолжение тренда |
//+------------------------------------------------------------------+
void CopyLastValues(int shift)
{
SellBuffer[shift]=SellBuffer[shift+1];
BuyBuffer[shift]=BuyBuffer[shift+1];
Ceil[shift]=Ceil[shift+1];
Floor[shift]=Floor[shift+1];
Trend[shift]=Trend[shift+1];
}
//+------------------------------------------------------------------+
//| продолжение тренда |
//+------------------------------------------------------------------+
void SendSMS(int shift)
{
if (sm_Bars!=Bars)
sm_Bars=Bars;
if ((Trend[shift+1]*Trend[shift+2]==-1)&&(shift==0)&&useSendMail) // сменился тренд
{
if (Trend[shift+1]==1)
{
SendMail("NRTR",Symbol()+" "+Period()+" развернулся вверх, Bid="+NormalizeDouble(Bid,Digits));
}
else
{
SendMail("NRTR",Symbol()+" "+Period()+" развернулся вниз, Bid="+Bid);
}
}
return;
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
int limit;
if (counted_bars>0) limit=Bars-counted_bars;
if (counted_bars<0) return(0);
if (counted_bars==0)
{
limit=Bars-PerATR-1;
if (Close[limit+1]>Open[limit+1]) {Trend[limit+1]=1;Ceil[limit+1]=Close[limit+1];BuyBuffer[limit+1]=Close[limit+1]-kATR*ATR(PerATR,limit+1);}
if (Close[limit+1]<Open[limit+1]) {Trend[limit+1]=-1;Floor[limit+1]=Close[limit+1];SellBuffer[limit+1]=Close[limit+1]+kATR*ATR(PerATR,limit+1);}
if (Close[limit+1]==Open[limit+1]) {Trend[limit+1]=1;Ceil[limit+1]=Close[limit+1];BuyBuffer[limit+1]=Close[limit+1]-kATR*ATR(PerATR,limit+1);}
}
//----
for(int cnt=limit;cnt>=0;cnt--)
{
SendSMS(cnt);
if (Uptrend(cnt))
{
//Print("UpTrend");
if (BreakCeil(cnt))
{
NewCeil(cnt);
SetBuyBuffer(cnt);
Trend[cnt]=1;
continue;
}
if (BreakUp(cnt))
{
NewTrend(cnt);
continue;
}
CopyLastValues(cnt);
}
else
{
//Print("DownTrend");
if (BreakFloor(cnt))
{
NewFloor(cnt);
SetSellBuffer(cnt);
Trend[cnt]=-1;
continue;
}
if (BreakDown(cnt))
{
NewTrend(cnt);
continue;
}
CopyLastValues(cnt);
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
Автор: Aleks

Re: Заказ индикаторов в TSLab - Tue Jun 29 2010 03:17 PM

Понятный супертренд код для мт!так на всяк слчай !

//+------------------------------------------------------------------+
//| SuperTrend.mq4 v1.2 |
//| Copyright © 2008, Jason Robinson (jnrtrading). |
//| http://www.spreadtrade2win.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, Jason Robinson."
#property link "http://www.spreadtrade2win.com"

#property indicator_chart_window
#property indicator_color1 Lime
#property indicator_color2 Red
#property indicator_width1 2
#property indicator_width2 2
#property indicator_buffers 2
double TrendUp[], TrendDown[];
int changeOfTrend;
extern int Nbr_Periods = 10;
extern double Multiplier = 3.0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexBuffer(0, TrendUp);
SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2);
SetIndexLabel(0, "Trend Up");
SetIndexBuffer(1, TrendDown);
SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 2);
SetIndexLabel(1, "Trend Down");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int limit, i, flag, flagh, trend[5000];
double up[5000], dn[5000], medianPrice, atr;
int counted_bars = IndicatorCounted();
//---- check for possible errors
if(counted_bars < 0) return(-1);
//---- last counted bar will be recounted
if(counted_bars > 0) counted_bars--;
limit=Bars-counted_bars;
//Print(limit);

//----
for (i = Bars; i >= 0; i--) {
TrendUp[i] = EMPTY_VALUE;
TrendDown[i] = EMPTY_VALUE;
atr = iATR(NULL, 0, Nbr_Periods, i);
//Print("atr: "+atr[i]);
medianPrice = (High[i]+Low[i])/2;
//Print("medianPrice: "+medianPrice[i]);
up[i]=medianPrice+(Multiplier*atr);
//Print("up: "+up[i]);
dn[i]=medianPrice-(Multiplier*atr);
//Print("dn: "+dn[i]);
trend[i]=1;


if (Close[i]>up[i+1]) {
trend[i]=1;
if (trend[i+1] == -1) changeOfTrend = 1;
//Print("trend: "+trend[i]);

}
else if (Close[i]<dn[i+1]) {
trend[i]=-1;
if (trend[i+1] == 1) changeOfTrend = 1;
//Print("trend: "+trend[i]);
}
else if (trend[i+1]==1) {
trend[i]=1;
changeOfTrend = 0;
}
else if (trend[i+1]==-1) {
trend[i]=-1;
changeOfTrend = 0;
}

if (trend[i]<0 && trend[i+1]>0) {
flag=1;
//Print("flag: "+flag);
}
else {
flag=0;
//Print("flagh: "+flag);
}

if (trend[i]>0 && trend[i+1]<0) {
flagh=1;
//Print("flagh: "+flagh);
}
else {
flagh=0;
//Print("flagh: "+flagh);
}

if (trend[i]>0 && dn[i]<dn[i+1])
dn[i]=dn[i+1];

if (trend[i]<0 && up[i]>up[i+1])
up[i]=up[i+1];

if (flag==1)
up[i]=medianPrice+(Multiplier*atr);

if (flagh==1)
dn[i]=medianPrice-(Multiplier*atr);

//-- Draw the indicator
if (trend[i]==1) {
TrendUp[i]=dn[i];
if (changeOfTrend == 1) {
TrendUp[i+1] = TrendDown[i+1];
changeOfTrend = 0;
}
}
else if (trend[i]==-1) {
TrendDown[i]=up[i];
if (changeOfTrend == 1) {
TrendDown[i+1] = TrendUp[i+1];
changeOfTrend = 0;
}
}
}
WindowRedraw();

//----
return(0);
}
//+------------------------------------------------------------------+
Автор: usas

Re: Заказ индикаторов в TSLab - Tue Jun 29 2010 03:18 PM

Ну если профессиональные индюкописатели молчат бум надеятся, что кто-то из продвинутых пользователей что-нить сваяет..
Автор: andy

Re: Заказ индикаторов в TSLab - Tue Jun 29 2010 03:24 PM

NRTR в скором времени должен появится в
примерах
http://www.tslab.ru/ubb/ubbthreads.php?ubb=postlist&Board=25&page=1
Автор: Klever

Re: Заказ индикаторов в TSLab - Thu Jul 01 2010 01:11 PM

Доброго времени суток!
Заказ на Weighted Average True Range - WATR примете? smile
Автор: andy

Re: Заказ индикаторов в TSLab - Thu Jul 01 2010 01:15 PM

Originally Posted By: Klever
Доброго времени суток!
Заказ на Weighted Average True Range - WATR примете? smile


Доброго !

А четкое описание дадите ? :-)
Автор: Stanley

Re: Заказ индикаторов в TSLab - Thu Jul 01 2010 01:57 PM

Может для начала стоит сделать хотябы простенький блок стоп-лосс(без треил стопа)?Подсоединил к блоку открытой позиции, закрытию позиции по стоп-лосс и закрытию/минимуму или даже ЕМА(вдруг кому надо?).Выставил значение и соответственно, при пересечении ценой закрытия,мин ценой или значением ЕМА значения стопа, происходит выход.Также хочется задать вопрос почему нельзя соединить блоком "или" стоплосс с основным условием выхода. Это же так просто Если цена сначала пересекает СЛ, то закрытие идет по СЛ,если исполняется основное условие- то закрытие по тому условию. Ато чтобы реалищовать простой стоп приходится совершать какие-то танцы с бубном, сути которых я не могу понять
Автор: Klever

Re: Заказ индикаторов в TSLab - Thu Jul 01 2010 04:08 PM

Originally Posted By: andy
Originally Posted By: Klever
Доброго времени суток!
Заказ на Weighted Average True Range - WATR примете? smile


Доброго !

А четкое описание дадите ? :-)


Это почти ATR, только ATR это TR сглаженный с помощью простой скользящей средней (SMA), а WATR - TR сглаженный с помощью взвешенной скользящей средней (WMA) http://en.wikipedia.org/wiki/Weighted_moving_average#Weighted_moving_average smile
Автор: Klever

Re: Заказ индикаторов в TSLab - Fri Jul 02 2010 02:43 PM

Уважаемые господа разработчики, описание WATR достаточное или нет? smile
Автор: uprav

Re: Заказ индикаторов в TSLab - Mon Jul 05 2010 08:51 PM

Запрос на блок "Коэффциент корреляции". Просьба сделать блок корреляции двух источников (ценных бумаг) по ценам закрытия.
Автор: 777

Re: Заказ индикаторов в TSLab - Tue Jul 06 2010 12:25 AM

Originally Posted By: uprav
Запрос на блок "Коэффциент корреляции". Просьба сделать блок корреляции двух источников (ценных бумаг) по ценам закрытия.

Поддерживаю! Очень нужен! Очень очень!
Еще блок стандартное отклонение. И обратное нормальное распределение. Было бы вооще круть! А так, хотя бы корреляцию.

Коэффициент корреляции
Автор: Nektodron

Re: Заказ индикаторов в TSLab - Tue Jul 06 2010 10:31 AM

стандартное отклонение вроде давно есть - StDev.
Автор: andy

Re: Заказ индикаторов в TSLab - Tue Jul 06 2010 10:43 AM

Originally Posted By: 777
Originally Posted By: uprav
Запрос на блок "Коэффциент корреляции". Просьба сделать блок корреляции двух источников (ценных бумаг) по ценам закрытия.

Поддерживаю! Очень нужен! Очень очень!
Еще блок стандартное отклонение. И обратное нормальное распределение. Было бы вооще круть! А так, хотя бы корреляцию.

Коэффициент корреляции



WATR и Коэффциент корреляции заявкой разместил в заказ индикаторов.
Автор: 777

Re: Заказ индикаторов в TSLab - Tue Jul 06 2010 11:06 AM

Originally Posted By: Nektodron
стандартное отклонение вроде давно есть - StDev.

А! да? grin А я ее формулами строю. Вот я ....! sick
Спасибо! А я все думал, что же это такое StDev///
А обратного нормального распределения случайно нет? А то я в scharp-е с ним уже неделю сижу.
Автор: usas

Re: Заказ индикаторов в TSLab - Tue Jul 06 2010 11:12 AM

А какую сермяжную правду Вы хотите получить с помощью этого индикатора, если не ноу-хау конечно..
С корреляцией понятно, а это зачем?
Автор: 777

Re: Заказ индикаторов в TSLab - Tue Jul 06 2010 11:29 AM

Originally Posted By: usas
А какую сермяжную правду Вы хотите получить с помощью этого индикатора, если не ноу-хау конечно..
С корреляцией понятно, а это зачем?

Value at Risk
Автор: usas

Re: Заказ индикаторов в TSLab - Tue Jul 06 2010 11:38 AM

Originally Posted By: 777
Originally Posted By: usas
А какую сермяжную правду Вы хотите получить с помощью этого индикатора, если не ноу-хау конечно..
С корреляцией понятно, а это зачем?

Value at Risk


А-а-а.. wink
Автор: 777

Re: Заказ индикаторов в TSLab - Tue Jul 06 2010 12:17 PM

Andy,Nektodron
Если будете любезны, то вот выкладываю сноску и код найденный в инете на C#. Название индикатора Квантиль. Нужен полный эквивалент НОРМОБР в EXCEL. Задача сделать кубиком в ТСЛабе. Входные - Вероятность(числовое), Среднее, Стандартное отклонение. Выход -обратное норамльное распределение.

Code:
 public static int Main(string[] args)
    {
        autogk.autogkstate state = new autogk.autogkstate();
        double v = 0;
        autogk.autogkreport rep = new autogk.autogkreport();
        double a = 0;
        double b = 0;
        double alpha = 0;

        
        //
        // f1(x) = (1+x)*(x-a)^alpha, alpha=-0.3
        // Exact answer is (B-A)^(Alpha+2)/(Alpha+2) + (1+A)*(B-A)^(Alpha+1)/(Alpha+1)
        //
        // This code demonstrates use of the State.XMinusA (State.BMinusX) field.
        //
        // If we try to use State.X instead of State.XMinusA,
        // we will end up dividing by zero! (in 64-bit precision)
        //
        a = 1.0;
        b = 5.0;
        alpha = -0.9;
        autogk.autogksingular(a, b, alpha, 0.0, ref state);
        while( autogk.autogkiteration(ref state) )
        {
            state.f = Math.Pow(state.xminusa, alpha)*(1+state.x);
        }
        autogk.autogkresults(ref state, ref v, ref rep);
        System.Console.Write("integral((1+x)*(x-a)^alpha) on [");
        System.Console.Write("{0,0:F1}",a);
        System.Console.Write("; ");
        System.Console.Write("{0,0:F1}",b);
        System.Console.Write("] = ");
        System.Console.Write("{0,0:F2}",v);
        System.Console.WriteLine();
        System.Console.Write("Exact answer is ");
        System.Console.Write("{0,0:F2}",Math.Pow(b-a, alpha+2)/(alpha+2)+(1+a)*Math.Pow(b-a, alpha+1)/(alpha+1));
        System.Console.WriteLine();
        return 0;} 


НОРМОБР Microsoft

В инете даже есть вот такой канкулятор:
Канкулятор НОРМОБР

Еще:
Квантиль
Автор: andy

Re: Заказ индикаторов в TSLab - Tue Jul 06 2010 12:24 PM

Будет время. Посмотрим.
В данный момент много внутренних задач по проекту.
Автор: usas

Re: Заказ индикаторов в TSLab - Tue Jul 06 2010 12:29 PM

Энди, нескромный вопрос, можете не отвечать..
Вы координатор работ по проекту..?
Автор: andy

Re: Заказ индикаторов в TSLab - Tue Jul 06 2010 12:34 PM

Originally Posted By: usas
Энди, нескромный вопрос, можете не отвечать..
Вы координатор работ по проекту..?


Да.
Никто этого не скрывает.
Если есть что-то не для форума, велкам в личку.
Мы открыты для общения.
Автор: usas

Re: Заказ индикаторов в TSLab - Tue Jul 06 2010 12:37 PM

Понятно, спасибо..
Автор: 777

Re: Заказ индикаторов в TSLab - Mon Jul 12 2010 12:49 AM

Прошу создать индикатор НормальноеРаспределение. Состоящий из четырех, привожу код на C#, входящие параметры Вероятность - задаваемая пользователем, Среднее значение выборки, стандартное отклонение(уже есть в лабе):
Click to reveal..
Code:
 
using System;

namespace alglib
{
    public class normaldistr
    {
        /*************************************************************************
        Error function

        The integral is

                                  x
                                   -
                        2         | |          2
          erf(x)  =  --------     |    exp( - t  ) dt.
                     sqrt(pi)   | |
                                 -
                                  0

        For 0 <= |x| < 1, erf(x) = x * P4(x**2)/Q5(x**2); otherwise
        erf(x) = 1 - erfc(x).


        ACCURACY:

                             Relative error:
        arithmetic   domain     # trials      peak         rms
           IEEE      0,1         30000       3.7e-16     1.0e-16

        Cephes Math Library Release 2.8:  June, 2000
        Copyright 1984, 1987, 1988, 1992, 2000 by Stephen L. Moshier
        *************************************************************************/
        public static double erf(double x)
        {
            double result = 0;
            double xsq = 0;
            double s = 0;
            double p = 0;
            double q = 0;

            s = Math.Sign(x);
            x = Math.Abs(x);
            if( (double)(x)<(double)(0.5) )
            {
                xsq = x*x;
                p = 0.007547728033418631287834;
                p = 0.288805137207594084924010+xsq*p;
                p = 14.3383842191748205576712+xsq*p;
                p = 38.0140318123903008244444+xsq*p;
                p = 3017.82788536507577809226+xsq*p;
                p = 7404.07142710151470082064+xsq*p;
                p = 80437.3630960840172832162+xsq*p;
                q = 0.0;
                q = 1.00000000000000000000000+xsq*q;
                q = 38.0190713951939403753468+xsq*q;
                q = 658.070155459240506326937+xsq*q;
                q = 6379.60017324428279487120+xsq*q;
                q = 34216.5257924628539769006+xsq*q;
                q = 80437.3630960840172826266+xsq*q;
                result = s*1.1283791670955125738961589031*x*p/q;
                return result;
            }
            if( (double)(x)>=(double)(10) )
            {
                result = s;
                return result;
            }
            result = s*(1-erfc(x));
            return result;
        }


        /*************************************************************************
        Complementary error function

         1 - erf(x) =

                                  inf.
                                    -
                         2         | |          2
          erfc(x)  =  --------     |    exp( - t  ) dt
                      sqrt(pi)   | |
                                  -
                                   x


        For small x, erfc(x) = 1 - erf(x); otherwise rational
        approximations are computed.


        ACCURACY:

                             Relative error:
        arithmetic   domain     # trials      peak         rms
           IEEE      0,26.6417   30000       5.7e-14     1.5e-14

        Cephes Math Library Release 2.8:  June, 2000
        Copyright 1984, 1987, 1988, 1992, 2000 by Stephen L. Moshier
        *************************************************************************/
        public static double erfc(double x)
        {
            double result = 0;
            double p = 0;
            double q = 0;

            if( (double)(x)<(double)(0) )
            {
                result = 2-erfc(-x);
                return result;
            }
            if( (double)(x)<(double)(0.5) )
            {
                result = 1.0-erf(x);
                return result;
            }
            if( (double)(x)>=(double)(10) )
            {
                result = 0;
                return result;
            }
            p = 0.0;
            p = 0.5641877825507397413087057563+x*p;
            p = 9.675807882987265400604202961+x*p;
            p = 77.08161730368428609781633646+x*p;
            p = 368.5196154710010637133875746+x*p;
            p = 1143.262070703886173606073338+x*p;
            p = 2320.439590251635247384768711+x*p;
            p = 2898.0293292167655611275846+x*p;
            p = 1826.3348842295112592168999+x*p;
            q = 1.0;
            q = 17.14980943627607849376131193+x*q;
            q = 137.1255960500622202878443578+x*q;
            q = 661.7361207107653469211984771+x*q;
            q = 2094.384367789539593790281779+x*q;
            q = 4429.612803883682726711528526+x*q;
            q = 6089.5424232724435504633068+x*q;
            q = 4958.82756472114071495438422+x*q;
            q = 1826.3348842295112595576438+x*q;
            result = Math.Exp(-AP.Math.Sqr(x))*p/q;
            return result;
        }


        /*************************************************************************
        Normal distribution function

        Returns the area under the Gaussian probability density
        function, integrated from minus infinity to x:

                                   x
                                    -
                          1        | |          2
           ndtr(x)  = ---------    |    exp( - t /2 ) dt
                      sqrt(2pi)  | |
                                  -
                                 -inf.

                    =  ( 1 + erf(z) ) / 2
                    =  erfc(z) / 2

        where z = x/sqrt(2). Computation is via the functions
        erf and erfc.


        ACCURACY:

                             Relative error:
        arithmetic   domain     # trials      peak         rms
           IEEE     -13,0        30000       3.4e-14     6.7e-15

        Cephes Math Library Release 2.8:  June, 2000
        Copyright 1984, 1987, 1988, 1992, 2000 by Stephen L. Moshier
        *************************************************************************/
        public static double normaldistribution(double x)
        {
            double result = 0;

            result = 0.5*(erf(x/1.41421356237309504880)+1);
            return result;
        }


        /*************************************************************************
        Inverse of the error function

        Cephes Math Library Release 2.8:  June, 2000
        Copyright 1984, 1987, 1988, 1992, 2000 by Stephen L. Moshier
        *************************************************************************/
        public static double inverf(double e)
        {
            double result = 0;

            result = invnormaldistribution(0.5*(e+1))/Math.Sqrt(2);
            return result;
        }


        /*************************************************************************
        Inverse of Normal distribution function

        Returns the argument, x, for which the area under the
        Gaussian probability density function (integrated from
        minus infinity to x) is equal to y.


        For small arguments 0 < y < exp(-2), the program computes
        z = sqrt( -2.0 * log(y) );  then the approximation is
        x = z - log(z)/z  - (1/z) P(1/z) / Q(1/z).
        There are two rational functions P/Q, one for 0 < y < exp(-32)
        and the other for y up to exp(-2).  For larger arguments,
        w = y - 0.5, and  x/sqrt(2pi) = w + w**3 R(w**2)/S(w**2)).

        ACCURACY:

                             Relative error:
        arithmetic   domain        # trials      peak         rms
           IEEE     0.125, 1        20000       7.2e-16     1.3e-16
           IEEE     3e-308, 0.135   50000       4.6e-16     9.8e-17

        Cephes Math Library Release 2.8:  June, 2000
        Copyright 1984, 1987, 1988, 1992, 2000 by Stephen L. Moshier
        *************************************************************************/
        public static double invnormaldistribution(double y0)
        {
            double result = 0;
            double expm2 = 0;
            double s2pi = 0;
            double x = 0;
            double y = 0;
            double z = 0;
            double y2 = 0;
            double x0 = 0;
            double x1 = 0;
            int code = 0;
            double p0 = 0;
            double q0 = 0;
            double p1 = 0;
            double q1 = 0;
            double p2 = 0;
            double q2 = 0;

            expm2 = 0.13533528323661269189;
            s2pi = 2.50662827463100050242;
            if( (double)(y0)<=(double)(0) )
            {
                result = -AP.Math.MaxRealNumber;
                return result;
            }
            if( (double)(y0)>=(double)(1) )
            {
                result = AP.Math.MaxRealNumber;
                return result;
            }
            code = 1;
            y = y0;
            if( (double)(y)>(double)(1.0-expm2) )
            {
                y = 1.0-y;
                code = 0;
            }
            if( (double)(y)>(double)(expm2) )
            {
                y = y-0.5;
                y2 = y*y;
                p0 = -59.9633501014107895267;
                p0 = 98.0010754185999661536+y2*p0;
                p0 = -56.6762857469070293439+y2*p0;
                p0 = 13.9312609387279679503+y2*p0;
                p0 = -1.23916583867381258016+y2*p0;
                q0 = 1;
                q0 = 1.95448858338141759834+y2*q0;
                q0 = 4.67627912898881538453+y2*q0;
                q0 = 86.3602421390890590575+y2*q0;
                q0 = -225.462687854119370527+y2*q0;
                q0 = 200.260212380060660359+y2*q0;
                q0 = -82.0372256168333339912+y2*q0;
                q0 = 15.9056225126211695515+y2*q0;
                q0 = -1.18331621121330003142+y2*q0;
                x = y+y*y2*p0/q0;
                x = x*s2pi;
                result = x;
                return result;
            }
            x = Math.Sqrt(-(2.0*Math.Log(y)));
            x0 = x-Math.Log(x)/x;
            z = 1.0/x;
            if( (double)(x)<(double)(8.0) )
            {
                p1 = 4.05544892305962419923;
                p1 = 31.5251094599893866154+z*p1;
                p1 = 57.1628192246421288162+z*p1;
                p1 = 44.0805073893200834700+z*p1;
                p1 = 14.6849561928858024014+z*p1;
                p1 = 2.18663306850790267539+z*p1;
                p1 = -(1.40256079171354495875*0.1)+z*p1;
                p1 = -(3.50424626827848203418*0.01)+z*p1;
                p1 = -(8.57456785154685413611*0.0001)+z*p1;
                q1 = 1;
                q1 = 15.7799883256466749731+z*q1;
                q1 = 45.3907635128879210584+z*q1;
                q1 = 41.3172038254672030440+z*q1;
                q1 = 15.0425385692907503408+z*q1;
                q1 = 2.50464946208309415979+z*q1;
                q1 = -(1.42182922854787788574*0.1)+z*q1;
                q1 = -(3.80806407691578277194*0.01)+z*q1;
                q1 = -(9.33259480895457427372*0.0001)+z*q1;
                x1 = z*p1/q1;
            }
            else
            {
                p2 = 3.23774891776946035970;
                p2 = 6.91522889068984211695+z*p2;
                p2 = 3.93881025292474443415+z*p2;
                p2 = 1.33303460815807542389+z*p2;
                p2 = 2.01485389549179081538*0.1+z*p2;
                p2 = 1.23716634817820021358*0.01+z*p2;
                p2 = 3.01581553508235416007*0.0001+z*p2;
                p2 = 2.65806974686737550832*0.000001+z*p2;
                p2 = 6.23974539184983293730*0.000000001+z*p2;
                q2 = 1;
                q2 = 6.02427039364742014255+z*q2;
                q2 = 3.67983563856160859403+z*q2;
                q2 = 1.37702099489081330271+z*q2;
                q2 = 2.16236993594496635890*0.1+z*q2;
                q2 = 1.34204006088543189037*0.01+z*q2;
                q2 = 3.28014464682127739104*0.0001+z*q2;
                q2 = 2.89247864745380683936*0.000001+z*q2;
                q2 = 6.79019408009981274425*0.000000001+z*q2;
                x1 = z*p2/q2;
            }
            x = x0-x1;
            if( code!=0 )
            {
                x = -x;
            }
            result = x;
            return result;
        }
    }
}


Где AP, это:
Click to reveal..
Code:
/*************************************************************************
AP library
Copyright (c) 2003-2009 Sergey Bochkanov (ALGLIB project).

>>> LICENSE >>>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation (www.fsf.org); either version 2 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

A copy of the GNU General Public License is available at
http://www.fsf.org/licensing/licenses

>>> END OF LICENSE >>>
*************************************************************************/
namespace AP
{
    /********************************************************************
    Class defining a complex number with double precision.
    ********************************************************************/
    public struct Complex
    {
        public double x;
        public double y;

        public Complex(double _x)
        {
            x = _x;
            y = 0;
        }
        public Complex(double _x, double _y)
        {
            x = _x;
            y = _y;
        }
        public static implicit operator Complex(double _x)
        {
            return new Complex(_x);
        }
        public static bool operator==(Complex lhs, Complex rhs)
        {
            return ((double)lhs.x==(double)rhs.x) & ((double)lhs.y==(double)rhs.y);
        }
        public static bool operator!=(Complex lhs, Complex rhs)
        {
            return ((double)lhs.x!=(double)rhs.x) | ((double)lhs.y!=(double)rhs.y);
        }
        public static Complex operator+(Complex lhs)
        {
            return lhs;
        }
        public static Complex operator-(Complex lhs)
        {
            return new Complex(-lhs.x,-lhs.y);
        }
        public static Complex operator+(Complex lhs, Complex rhs)
        {
            return new Complex(lhs.x+rhs.x,lhs.y+rhs.y);
        }
        public static Complex operator-(Complex lhs, Complex rhs)
        {
            return new Complex(lhs.x-rhs.x,lhs.y-rhs.y);
        }
        public static Complex operator*(Complex lhs, Complex rhs)
        { 
            return new Complex(lhs.x*rhs.x-lhs.y*rhs.y, lhs.x*rhs.y+lhs.y*rhs.x);
        }
        public static Complex operator/(Complex lhs, Complex rhs)
        {
            Complex result;
            double e;
            double f;
            if( System.Math.Abs(rhs.y)<System.Math.Abs(rhs.x) )
            {
                e = rhs.y/rhs.x;
                f = rhs.x+rhs.y*e;
                result.x = (lhs.x+lhs.y*e)/f;
                result.y = (lhs.y-lhs.x*e)/f;
            }
            else
            {
                e = rhs.x/rhs.y;
                f = rhs.y+rhs.x*e;
                result.x = (lhs.y+lhs.x*e)/f;
                result.y = (-lhs.x+lhs.y*e)/f;
            }
            return result;
        }
		public override int GetHashCode() 
		{ 
			return x.GetHashCode() ^ y.GetHashCode(); 
		}
		public override bool Equals(object obj) 
		{ 
			if( obj is byte)
				return Equals(new Complex((byte)obj));
			if( obj is sbyte)
				return Equals(new Complex((sbyte)obj));
			if( obj is short)
				return Equals(new Complex((short)obj));
			if( obj is ushort)
				return Equals(new Complex((ushort)obj));
			if( obj is int)
				return Equals(new Complex((int)obj));
			if( obj is uint)
				return Equals(new Complex((uint)obj));
			if( obj is long)
				return Equals(new Complex((long)obj));
			if( obj is ulong)
				return Equals(new Complex((ulong)obj));
			if( obj is float)
				return Equals(new Complex((float)obj));
			if( obj is double)
				return Equals(new Complex((double)obj));
			if( obj is decimal)
				return Equals(new Complex((double)(decimal)obj));
			return base.Equals(obj); 
		}	
	}    
    
	/********************************************************************
	AP math namespace
	********************************************************************/
	public struct rcommstate
	{
		public int stage;
		public int[] ia;
		public bool[] ba;
		public double[] ra;
		public AP.Complex[] ca;
	};

	/********************************************************************
    AP math namespace
    ********************************************************************/
    public class Math
    {
        //public static System.Random RndObject = new System.Random(System.DateTime.Now.Millisecond);
        public static System.Random RndObject = new System.Random(System.DateTime.Now.Millisecond + 1000*System.DateTime.Now.Second + 60*1000*System.DateTime.Now.Minute);

        public const double MachineEpsilon = 5E-16;
        public const double MaxRealNumber = 1E300;
        public const double MinRealNumber = 1E-300;
        
        public static double RandomReal()
        {
            double r = 0;
            lock(RndObject){ r = RndObject.NextDouble(); }
            return r;
        }
        public static int RandomInteger(int N)
        {
            int r = 0;
            lock(RndObject){ r = RndObject.Next(N); }
            return r;
        }
        public static double Sqr(double X)
        {
            return X*X;
        }        
        public static double AbsComplex(Complex z)
        {
            double w;
            double xabs;
            double yabs;
            double v;
    
            xabs = System.Math.Abs(z.x);
            yabs = System.Math.Abs(z.y);
            w = xabs>yabs ? xabs : yabs;
            v = xabs<yabs ? xabs : yabs; 
            if( v==0 )
                return w;
            else
            {
                double t = v/w;
                return w*System.Math.Sqrt(1+t*t);
            }
        }
        public static Complex Conj(Complex z)
        {
            return new Complex(z.x, -z.y); 
        }    
        public static Complex CSqr(Complex z)
        {
            return new Complex(z.x*z.x-z.y*z.y, 2*z.x*z.y); 
        }

    }
}
 



Короче нужен аналог НОРМОБР,НОРМСТРАСП, ЛОГНОРМРАСП и ЛОГНОРМОБР из Экселя. В приведенном коде не интерации конечно, но табличный вариант то же подойдет. Очень бы хотелось увидеть как эти кода будут выглядеть на API с учетом входящих параметров/ Заранее огромное спасибо! smile
Автор: pmus

Re: Заказ индикаторов в TSLab - Mon Jul 12 2010 05:31 PM

Williams %R

%R = [(highest high over ? periods - close)/(highest high over ? periods - lowest low over ? periods)] * -100

http://stockcharts.com/help/doku.php?id=chart_school:technical_indicators:williams_r
Автор: 777

Re: Заказ индикаторов в TSLab - Mon Jul 12 2010 06:23 PM

Originally Posted By: pmus
Williams %R

%R = [(highest high over ? periods - close)/(highest high over ? periods - lowest low over ? periods)] * -100

http://stockcharts.com/help/doku.php?id=chart_school:technical_indicators:williams_r


Если нигде не ошибся, то вот, похож?:






______________________________
______________________________
Ну так чего, похож или нет?

Автор: 777

Re: Заказ индикаторов в TSLab - Mon Jul 12 2010 06:23 PM

Прошу создать индикатор НормальноеРаспределение. Состоящий из четырех, привожу код на C#, входящие параметры Вероятность - задаваемая пользователем, Среднее значение выборки, стандартное отклонение(уже есть в лабе):
Click to reveal..
Code:
 
using System;

namespace alglib
{
    public class normaldistr
    {
        /*************************************************************************
        Error function

        The integral is

                                  x
                                   -
                        2         | |          2
          erf(x)  =  --------     |    exp( - t  ) dt.
                     sqrt(pi)   | |
                                 -
                                  0

        For 0 <= |x| < 1, erf(x) = x * P4(x**2)/Q5(x**2); otherwise
        erf(x) = 1 - erfc(x).


        ACCURACY:

                             Relative error:
        arithmetic   domain     # trials      peak         rms
           IEEE      0,1         30000       3.7e-16     1.0e-16

        Cephes Math Library Release 2.8:  June, 2000
        Copyright 1984, 1987, 1988, 1992, 2000 by Stephen L. Moshier
        *************************************************************************/
        public static double erf(double x)
        {
            double result = 0;
            double xsq = 0;
            double s = 0;
            double p = 0;
            double q = 0;

            s = Math.Sign(x);
            x = Math.Abs(x);
            if( (double)(x)<(double)(0.5) )
            {
                xsq = x*x;
                p = 0.007547728033418631287834;
                p = 0.288805137207594084924010+xsq*p;
                p = 14.3383842191748205576712+xsq*p;
                p = 38.0140318123903008244444+xsq*p;
                p = 3017.82788536507577809226+xsq*p;
                p = 7404.07142710151470082064+xsq*p;
                p = 80437.3630960840172832162+xsq*p;
                q = 0.0;
                q = 1.00000000000000000000000+xsq*q;
                q = 38.0190713951939403753468+xsq*q;
                q = 658.070155459240506326937+xsq*q;
                q = 6379.60017324428279487120+xsq*q;
                q = 34216.5257924628539769006+xsq*q;
                q = 80437.3630960840172826266+xsq*q;
                result = s*1.1283791670955125738961589031*x*p/q;
                return result;
            }
            if( (double)(x)>=(double)(10) )
            {
                result = s;
                return result;
            }
            result = s*(1-erfc(x));
            return result;
        }


        /*************************************************************************
        Complementary error function

         1 - erf(x) =

                                  inf.
                                    -
                         2         | |          2
          erfc(x)  =  --------     |    exp( - t  ) dt
                      sqrt(pi)   | |
                                  -
                                   x


        For small x, erfc(x) = 1 - erf(x); otherwise rational
        approximations are computed.


        ACCURACY:

                             Relative error:
        arithmetic   domain     # trials      peak         rms
           IEEE      0,26.6417   30000       5.7e-14     1.5e-14

        Cephes Math Library Release 2.8:  June, 2000
        Copyright 1984, 1987, 1988, 1992, 2000 by Stephen L. Moshier
        *************************************************************************/
        public static double erfc(double x)
        {
            double result = 0;
            double p = 0;
            double q = 0;

            if( (double)(x)<(double)(0) )
            {
                result = 2-erfc(-x);
                return result;
            }
            if( (double)(x)<(double)(0.5) )
            {
                result = 1.0-erf(x);
                return result;
            }
            if( (double)(x)>=(double)(10) )
            {
                result = 0;
                return result;
            }
            p = 0.0;
            p = 0.5641877825507397413087057563+x*p;
            p = 9.675807882987265400604202961+x*p;
            p = 77.08161730368428609781633646+x*p;
            p = 368.5196154710010637133875746+x*p;
            p = 1143.262070703886173606073338+x*p;
            p = 2320.439590251635247384768711+x*p;
            p = 2898.0293292167655611275846+x*p;
            p = 1826.3348842295112592168999+x*p;
            q = 1.0;
            q = 17.14980943627607849376131193+x*q;
            q = 137.1255960500622202878443578+x*q;
            q = 661.7361207107653469211984771+x*q;
            q = 2094.384367789539593790281779+x*q;
            q = 4429.612803883682726711528526+x*q;
            q = 6089.5424232724435504633068+x*q;
            q = 4958.82756472114071495438422+x*q;
            q = 1826.3348842295112595576438+x*q;
            result = Math.Exp(-AP.Math.Sqr(x))*p/q;
            return result;
        }


        /*************************************************************************
        Normal distribution function

        Returns the area under the Gaussian probability density
        function, integrated from minus infinity to x:

                                   x
                                    -
                          1        | |          2
           ndtr(x)  = ---------    |    exp( - t /2 ) dt
                      sqrt(2pi)  | |
                                  -
                                 -inf.

                    =  ( 1 + erf(z) ) / 2
                    =  erfc(z) / 2

        where z = x/sqrt(2). Computation is via the functions
        erf and erfc.


        ACCURACY:

                             Relative error:
        arithmetic   domain     # trials      peak         rms
           IEEE     -13,0        30000       3.4e-14     6.7e-15

        Cephes Math Library Release 2.8:  June, 2000
        Copyright 1984, 1987, 1988, 1992, 2000 by Stephen L. Moshier
        *************************************************************************/
        public static double normaldistribution(double x)
        {
            double result = 0;

            result = 0.5*(erf(x/1.41421356237309504880)+1);
            return result;
        }


        /*************************************************************************
        Inverse of the error function

        Cephes Math Library Release 2.8:  June, 2000
        Copyright 1984, 1987, 1988, 1992, 2000 by Stephen L. Moshier
        *************************************************************************/
        public static double inverf(double e)
        {
            double result = 0;

            result = invnormaldistribution(0.5*(e+1))/Math.Sqrt(2);
            return result;
        }


        /*************************************************************************
        Inverse of Normal distribution function

        Returns the argument, x, for which the area under the
        Gaussian probability density function (integrated from
        minus infinity to x) is equal to y.


        For small arguments 0 < y < exp(-2), the program computes
        z = sqrt( -2.0 * log(y) );  then the approximation is
        x = z - log(z)/z  - (1/z) P(1/z) / Q(1/z).
        There are two rational functions P/Q, one for 0 < y < exp(-32)
        and the other for y up to exp(-2).  For larger arguments,
        w = y - 0.5, and  x/sqrt(2pi) = w + w**3 R(w**2)/S(w**2)).

        ACCURACY:

                             Relative error:
        arithmetic   domain        # trials      peak         rms
           IEEE     0.125, 1        20000       7.2e-16     1.3e-16
           IEEE     3e-308, 0.135   50000       4.6e-16     9.8e-17

        Cephes Math Library Release 2.8:  June, 2000
        Copyright 1984, 1987, 1988, 1992, 2000 by Stephen L. Moshier
        *************************************************************************/
        public static double invnormaldistribution(double y0)
        {
            double result = 0;
            double expm2 = 0;
            double s2pi = 0;
            double x = 0;
            double y = 0;
            double z = 0;
            double y2 = 0;
            double x0 = 0;
            double x1 = 0;
            int code = 0;
            double p0 = 0;
            double q0 = 0;
            double p1 = 0;
            double q1 = 0;
            double p2 = 0;
            double q2 = 0;

            expm2 = 0.13533528323661269189;
            s2pi = 2.50662827463100050242;
            if( (double)(y0)<=(double)(0) )
            {
                result = -AP.Math.MaxRealNumber;
                return result;
            }
            if( (double)(y0)>=(double)(1) )
            {
                result = AP.Math.MaxRealNumber;
                return result;
            }
            code = 1;
            y = y0;
            if( (double)(y)>(double)(1.0-expm2) )
            {
                y = 1.0-y;
                code = 0;
            }
            if( (double)(y)>(double)(expm2) )
            {
                y = y-0.5;
                y2 = y*y;
                p0 = -59.9633501014107895267;
                p0 = 98.0010754185999661536+y2*p0;
                p0 = -56.6762857469070293439+y2*p0;
                p0 = 13.9312609387279679503+y2*p0;
                p0 = -1.23916583867381258016+y2*p0;
                q0 = 1;
                q0 = 1.95448858338141759834+y2*q0;
                q0 = 4.67627912898881538453+y2*q0;
                q0 = 86.3602421390890590575+y2*q0;
                q0 = -225.462687854119370527+y2*q0;
                q0 = 200.260212380060660359+y2*q0;
                q0 = -82.0372256168333339912+y2*q0;
                q0 = 15.9056225126211695515+y2*q0;
                q0 = -1.18331621121330003142+y2*q0;
                x = y+y*y2*p0/q0;
                x = x*s2pi;
                result = x;
                return result;
            }
            x = Math.Sqrt(-(2.0*Math.Log(y)));
            x0 = x-Math.Log(x)/x;
            z = 1.0/x;
            if( (double)(x)<(double)(8.0) )
            {
                p1 = 4.05544892305962419923;
                p1 = 31.5251094599893866154+z*p1;
                p1 = 57.1628192246421288162+z*p1;
                p1 = 44.0805073893200834700+z*p1;
                p1 = 14.6849561928858024014+z*p1;
                p1 = 2.18663306850790267539+z*p1;
                p1 = -(1.40256079171354495875*0.1)+z*p1;
                p1 = -(3.50424626827848203418*0.01)+z*p1;
                p1 = -(8.57456785154685413611*0.0001)+z*p1;
                q1 = 1;
                q1 = 15.7799883256466749731+z*q1;
                q1 = 45.3907635128879210584+z*q1;
                q1 = 41.3172038254672030440+z*q1;
                q1 = 15.0425385692907503408+z*q1;
                q1 = 2.50464946208309415979+z*q1;
                q1 = -(1.42182922854787788574*0.1)+z*q1;
                q1 = -(3.80806407691578277194*0.01)+z*q1;
                q1 = -(9.33259480895457427372*0.0001)+z*q1;
                x1 = z*p1/q1;
            }
            else
            {
                p2 = 3.23774891776946035970;
                p2 = 6.91522889068984211695+z*p2;
                p2 = 3.93881025292474443415+z*p2;
                p2 = 1.33303460815807542389+z*p2;
                p2 = 2.01485389549179081538*0.1+z*p2;
                p2 = 1.23716634817820021358*0.01+z*p2;
                p2 = 3.01581553508235416007*0.0001+z*p2;
                p2 = 2.65806974686737550832*0.000001+z*p2;
                p2 = 6.23974539184983293730*0.000000001+z*p2;
                q2 = 1;
                q2 = 6.02427039364742014255+z*q2;
                q2 = 3.67983563856160859403+z*q2;
                q2 = 1.37702099489081330271+z*q2;
                q2 = 2.16236993594496635890*0.1+z*q2;
                q2 = 1.34204006088543189037*0.01+z*q2;
                q2 = 3.28014464682127739104*0.0001+z*q2;
                q2 = 2.89247864745380683936*0.000001+z*q2;
                q2 = 6.79019408009981274425*0.000000001+z*q2;
                x1 = z*p2/q2;
            }
            x = x0-x1;
            if( code!=0 )
            {
                x = -x;
            }
            result = x;
            return result;
        }
    }
}


Где AP, это:
Click to reveal..
Code:
/*************************************************************************
AP library
Copyright (c) 2003-2009 Sergey Bochkanov (ALGLIB project).

>>> LICENSE >>>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation (www.fsf.org); either version 2 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

A copy of the GNU General Public License is available at
http://www.fsf.org/licensing/licenses

>>> END OF LICENSE >>>
*************************************************************************/
namespace AP
{
    /********************************************************************
    Class defining a complex number with double precision.
    ********************************************************************/
    public struct Complex
    {
        public double x;
        public double y;

        public Complex(double _x)
        {
            x = _x;
            y = 0;
        }
        public Complex(double _x, double _y)
        {
            x = _x;
            y = _y;
        }
        public static implicit operator Complex(double _x)
        {
            return new Complex(_x);
        }
        public static bool operator==(Complex lhs, Complex rhs)
        {
            return ((double)lhs.x==(double)rhs.x) & ((double)lhs.y==(double)rhs.y);
        }
        public static bool operator!=(Complex lhs, Complex rhs)
        {
            return ((double)lhs.x!=(double)rhs.x) | ((double)lhs.y!=(double)rhs.y);
        }
        public static Complex operator+(Complex lhs)
        {
            return lhs;
        }
        public static Complex operator-(Complex lhs)
        {
            return new Complex(-lhs.x,-lhs.y);
        }
        public static Complex operator+(Complex lhs, Complex rhs)
        {
            return new Complex(lhs.x+rhs.x,lhs.y+rhs.y);
        }
        public static Complex operator-(Complex lhs, Complex rhs)
        {
            return new Complex(lhs.x-rhs.x,lhs.y-rhs.y);
        }
        public static Complex operator*(Complex lhs, Complex rhs)
        { 
            return new Complex(lhs.x*rhs.x-lhs.y*rhs.y, lhs.x*rhs.y+lhs.y*rhs.x);
        }
        public static Complex operator/(Complex lhs, Complex rhs)
        {
            Complex result;
            double e;
            double f;
            if( System.Math.Abs(rhs.y)<System.Math.Abs(rhs.x) )
            {
                e = rhs.y/rhs.x;
                f = rhs.x+rhs.y*e;
                result.x = (lhs.x+lhs.y*e)/f;
                result.y = (lhs.y-lhs.x*e)/f;
            }
            else
            {
                e = rhs.x/rhs.y;
                f = rhs.y+rhs.x*e;
                result.x = (lhs.y+lhs.x*e)/f;
                result.y = (-lhs.x+lhs.y*e)/f;
            }
            return result;
        }
		public override int GetHashCode() 
		{ 
			return x.GetHashCode() ^ y.GetHashCode(); 
		}
		public override bool Equals(object obj) 
		{ 
			if( obj is byte)
				return Equals(new Complex((byte)obj));
			if( obj is sbyte)
				return Equals(new Complex((sbyte)obj));
			if( obj is short)
				return Equals(new Complex((short)obj));
			if( obj is ushort)
				return Equals(new Complex((ushort)obj));
			if( obj is int)
				return Equals(new Complex((int)obj));
			if( obj is uint)
				return Equals(new Complex((uint)obj));
			if( obj is long)
				return Equals(new Complex((long)obj));
			if( obj is ulong)
				return Equals(new Complex((ulong)obj));
			if( obj is float)
				return Equals(new Complex((float)obj));
			if( obj is double)
				return Equals(new Complex((double)obj));
			if( obj is decimal)
				return Equals(new Complex((double)(decimal)obj));
			return base.Equals(obj); 
		}	
	}    
    
	/********************************************************************
	AP math namespace
	********************************************************************/
	public struct rcommstate
	{
		public int stage;
		public int[] ia;
		public bool[] ba;
		public double[] ra;
		public AP.Complex[] ca;
	};

	/********************************************************************
    AP math namespace
    ********************************************************************/
    public class Math
    {
        //public static System.Random RndObject = new System.Random(System.DateTime.Now.Millisecond);
        public static System.Random RndObject = new System.Random(System.DateTime.Now.Millisecond + 1000*System.DateTime.Now.Second + 60*1000*System.DateTime.Now.Minute);

        public const double MachineEpsilon = 5E-16;
        public const double MaxRealNumber = 1E300;
        public const double MinRealNumber = 1E-300;
        
        public static double RandomReal()
        {
            double r = 0;
            lock(RndObject){ r = RndObject.NextDouble(); }
            return r;
        }
        public static int RandomInteger(int N)
        {
            int r = 0;
            lock(RndObject){ r = RndObject.Next(N); }
            return r;
        }
        public static double Sqr(double X)
        {
            return X*X;
        }        
        public static double AbsComplex(Complex z)
        {
            double w;
            double xabs;
            double yabs;
            double v;
    
            xabs = System.Math.Abs(z.x);
            yabs = System.Math.Abs(z.y);
            w = xabs>yabs ? xabs : yabs;
            v = xabs<yabs ? xabs : yabs; 
            if( v==0 )
                return w;
            else
            {
                double t = v/w;
                return w*System.Math.Sqrt(1+t*t);
            }
        }
        public static Complex Conj(Complex z)
        {
            return new Complex(z.x, -z.y); 
        }    
        public static Complex CSqr(Complex z)
        {
            return new Complex(z.x*z.x-z.y*z.y, 2*z.x*z.y); 
        }

    }
}
 



Короче нужен аналог НОРМОБР,НОРМСТРАСП, ЛОГНОРМРАСП и ЛОГНОРМОБР из Экселя. В приведенном коде не интерации конечно, но табличный вариант то же подойдет. Очень бы хотелось увидеть как эти кода будут выглядеть на API с учетом входящих параметров/ Заранее огромное спасибо! smile
Автор: TrendCatcher

Re: Заказ индикаторов в TSLab - Tue Jul 13 2010 04:12 PM

Originally Posted By: andy
T3 Indicator. Фракталы.

Ушло в работу.


T3 Indicator из работы так и не вышел?
Автор: Lenar

Re: Заказ индикаторов в TSLab - Thu Jul 15 2010 12:44 PM

Мне, собственно, не индикатор нужен.
Решил написать в эту комнату.
Хочу "открытие позиции если меньше" или "открытие позиции если больше" и "закрытие позиции по стопу и таке профиту" изменили управление портфелем.
Что есть сейчас: можно выставить в ручную, количесвто лотов, % от портфеля и т. д. и т.п.
Мое предложение: сделать данное значение переменным, то есть с помощью блока формулы, которая будет расчитываться исходя из условия входа. Закрытие позиции аналогично.
Мое виденье в визуале: Сделать еще отдельно блок формулы для расчета портфеля, (чтобы не запутать программму с ценной входа) и соединить его с новым блоком открытия позиции. Аналогично закрытие позиции.
Вроде как все!
Вот такое тех. задание.
Автор: doctoralexus

Re: Заказ индикаторов в TSLab - Thu Jul 15 2010 01:30 PM

Разместите, пожалуйста, процентный диапазон Вильямса(%R) ООООчень надо!!!)
Автор: usas

Re: Заказ индикаторов в TSLab - Thu Jul 15 2010 01:56 PM

Originally Posted By: doctoralexus
Разместите, пожалуйста, процентный диапазон Вильямса(%R) ООООчень надо!!!)

Да он есть в "Пользовательских", если у Вас нет, поищите на фор.. не надо искать, я вроди все по форуму на настоящий момент собрал, сейчас прицеплю к посту.
Как задействовать - на этой же ветке разъяснение Креатора..
Автор: Stanley

Re: Заказ индикаторов в TSLab - Sat Jul 17 2010 05:16 PM

Очень нужен кубик который может работать с величинами MFE/MAE последних сделок. Или способный определять что MAE последних X сделок был <или> заданной величины.
Автор: doctoralexus

Re: Заказ индикаторов в TSLab - Thu Jul 22 2010 01:13 PM

Спасибо за % вильямса!!!!!))))
Автор: Frend

Re: Заказ индикаторов в TSLab - Mon Jul 26 2010 01:23 AM

Просьба сделать следующий индикатор
R-квадрат
http://codebase.mql4.com/ru/4706
Код под капотом
Click to reveal..
//+------------------------------------------------------------------+
//| r-squared indicator
//| by Onur Sirek
//+------------------------------------------------------------------+
#property copyright "Onur Sirek"
#property link "melihonurs@gmail.com"

#property indicator_separate_window
#property indicator_minimum 0
#property indicator_maximum 1
#property indicator_buffers 1
#property indicator_color1 Red
#property indicator_level1 0.2
#property indicator_level2 0.8

extern int RSQPeriod=9;
double RSQBuffer[];

int init()
{
string short_name;
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,RSQBuffer);
short_name="r-squared("+RSQPeriod+")";
IndicatorShortName(short_name);
SetIndexLabel(0,short_name);
SetIndexDrawBegin(0,RSQPeriod);
SetLevelValue(0,calcLevel(RSQPeriod));
return(0);
}

int start()
{
int i,k, start;
int counted_bars=IndicatorCounted();

if ((RSQPeriod<2) || (Bars<RSQPeriod)) return(0);
start=Bars-RSQPeriod-1;
if(counted_bars>RSQPeriod) start=Bars-counted_bars-1;

for (i=start; i>=0; i--) {
RSQBuffer[i] = RSquared(RSQPeriod,i);
}

return(0);
}

double calcLevel(double per)
{
double per1,lev1, lenper, levdif;
if (per<=5) return(0.77);
if ((per>5) && (per<=10)) { per1=5; lev1=0.77; lenper=5; levdif=0.37; }
if ((per>10) && (per<=14)) { per1=10; lev1=0.40; lenper=4; levdif=0.13; }
if ((per>14) && (per<=20)) { per1=14; lev1=0.27; lenper=6; levdif=0.07; }
if ((per>20) && (per<=25)) { per1=20; lev1=0.20; lenper=5; levdif=0.04; }
if ((per>25) && (per<=30)) { per1=25; lev1=0.16; lenper=5; levdif=0.03; }
if ((per>30) && (per<=50)) { per1=30; lev1=0.13; lenper=20; levdif=0.05; }
if ((per>50) && (per<=60)) { per1=50; lev1=0.08; lenper=10; levdif=0.02; }
if ((per>60) && (per<=120)) { per1=60; lev1=0.06; lenper=60; levdif=0.03; }
if (per>120) return(0.03);
return(lev1 - (per-per1)*(levdif/lenper));
}

// r-squared shows the correlation with its linear regression line
// values close to 1.0 show perfect relation
// values close to 0.0 show poor relation
// See Metastock Help
// To determine if the trend is statistically significant for a given x-period linear regression line,
// plot the r-squared indicator and refer to the following table. This table shows the values of
// r-squared required for a 95% confidence level at various time periods. If the r-squared value
// is less than the critical values shown, you should assume that prices show no statistically
// significant trend.
// Number ofPeriods r-squaredCritical Value(95%confidence)
// 5 0.77
// 10 0.40
// 14 0.27
// 20 0.20
// 25 0.16
// 30 0.13
// 50 0.08
// 60 0.06
// 120 0.03
// You may even consider opening a short-term position opposite the prevailing trend when you
// observe r-squared rounding off at extreme levels. For example, if the slope is positive and
// r-squared is above 0.80 and begins to turn down, you may consider selling or opening a short position.
// There are numerous ways to use the linear regression outputs of r-squared and Slope in trading
// systems. For more detailed coverage, refer to the book The New Technical Trader by Tushar Chande
// and Stanley Kroll.
double RSquared(int per, int shift)
{
int i;
double x, y, div;
double Ex=0.0, Ey=0.0, Exy=0.0, Ex2=0.0, Ey2=0.0;
double Ex22, Ey22;
double r;
for (i=1; i<=per; i++) {
x = i; // x axis value
y = Close[shift+i]; // y axis value
Ex += x;
Ey += y;
Exy += x*y;
Ex2 += MathPow(x,2);
Ey2 += MathPow(y,2);
}
Ex22=MathPow(Ex,2);
Ey22=MathPow(Ey,2);
//slope = (per*Exy-Ex*Ey) / (per*Ex2-Ex22); // slope of regression line
//b = (Ey-slope*Ex)/per;
div = MathSqrt((per*Ex2-Ex22)*(per*Ey2-Ey22));
if (div==0) return(0);
r = (per*Exy-Ex*Ey) / div;
return(MathPow(r,2));
}


И еще один из этой же серии.
Linear Regression Slope
http://codebase.mql4.com/ru/3653#11647
Код под капотом

Click to reveal..
//+------------------------------------------------------------------+
//| LinearRegSlope_v1.mq4 |
//| Copyright © 2006, TrendLaboratory |
//| http://finance.groups.yahoo.com/group/TrendLaboratory |
//| E-mail: igorad2003@yahoo.co.uk |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, TrendLaboratory"
#property link "http://finance.groups.yahoo.com/group/TrendLaboratory"
//----
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 SkyBlue
#property indicator_width1 2
//---- input parameters
extern int Price =0; //Apply to Price(0-Close;1-Open;2-High;3-Low;4-Median price;5-Typical price;6-Weighted Close)
extern int Length =14; //Period of NonLagMA
//---- indicator buffers
double RegSlope[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,RegSlope);
string short_name;
//---- indicator line
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
//---- name for DataWindow and indicator subwindow label
short_name="LinearRegSlope("+Length+")";
IndicatorShortName(short_name);
SetIndexLabel(0,"LinearRegSlope");
SetIndexDrawBegin(0,Length);
//----
return(0);
}
//+------------------------------------------------------------------+
//| LinearRegSlope_v1 |
//+------------------------------------------------------------------+
int start()
{
int i,shift, counted_bars=IndicatorCounted(),limit;
double price;
if(counted_bars > 0) limit=Bars-counted_bars;
if(counted_bars < 0) return(0);
if(counted_bars ==0) limit=Bars-Length-1;
if(counted_bars < 1)
for(i=1;i<Length;i++) RegSlope[Bars-i]=0;
double SumBars=Length * (Length - 1) * 0.5;
double SumSqrBars=(Length - 1.0) * Length * (2.0 * Length - 1.0)/6.0;
for(shift=limit;shift>=0;shift--)
{
double Sum1=0;
for(i=0;i<=Length-1;i++) Sum1+=i*iMA(NULL,0,1,0,1,Price,i+shift);
double SumY=0;
for(i=0;i<=Length-1;i++) SumY+=iMA(NULL,0,1,0,1,Price,i+shift);
double Sum2=SumBars * SumY;
double Num1=Length * Sum1 - Sum2;
double Num2=SumBars * SumBars - Length * SumSqrBars;
if(Num2!=0)
RegSlope[shift]=100*Num1/Num2;
else
RegSlope[shift]=0;
}
//----
return(0);
}


И код с метастока

Click to reveal..
Linear Regression Slope

nio:=Input("Number of points taken to calculate the ROCs",3,1000,14);

rll:=ROC(O,nio-1,%)/(nio-1);
rl:=ROC(O,nio,%)/nio;
rh:=ROC(O,nio+1,%)/(nio+1);
rhh:=ROC(O,nio+2,%)/(nio+2);

xio:=Input("Distances of ROCs from interpolation point XIO ",0.01,1,0.5);

rit:=(rll / (1+xio) +
rl / (xio+.0001)+
rh / (1-xio) +
rhh / (2-xio)) /
( 1 / (1+xio) + 1 / (xio+.0001) + 1 / (1-xio) + 1 / (2-xio));

ro:=LinRegSlope(LinRegSlope(rit,nio),nio);
ro
Автор: uprav

Re: Заказ индикаторов в TSLab - Mon Jul 26 2010 07:18 PM

Originally Posted By: andy
...и Коэффциент корреляции заявкой разместил в заказ индикаторов.
Подскажите пож.стоит ли ожидать реализации этого блока ближ. например 3-4 недели? Если нет, начну сам паять ...-))
Автор: pmus

Re: Заказ индикаторов в TSLab - Wed Jul 28 2010 01:07 AM

благодарю за %R, завтра буду тестировать! )
Автор: profit

Re: Заказ индикаторов в TSLab - Wed Aug 04 2010 12:25 PM

Price Volume Trend.

Нужный индикатор,весьма полезный как и Zig Zag.

http://v2.fora-capital.ru/5/metastock12.php

Зачем придумывать (велосипед) когда уже есть проверенные временем системы.
Автор: 777

Re: Заказ индикаторов в TSLab - Thu Aug 05 2010 05:17 PM

Originally Posted By: profit
Price Volume Trend.
Нужный индикатор


Profit, сделал я Ваш индикатор.



Действительно хороший индикатор. Превосходно показывает, когда тренд продолжается, а когда только шум ...
Да и сделал период для объема, если период=1(индикатор по книге), то берется объем последней свечи, если период>1, то высчитывается максимальный объем за данный период, так индикатор очень четко показывает продолжительность тренда за заданный период ...
Автор: profit

Re: Заказ индикаторов в TSLab - Thu Aug 05 2010 05:27 PM

Выкладывайте.Я вчера пытался формулой его прописать не получилось

i == 1 ? 1 :(C-C[i-1])/(C[i-1]*V)

вот в на этом месте застрял.
Автор: profit

Re: Заказ индикаторов в TSLab - Thu Aug 05 2010 05:28 PM

Метасток вешь хорошая но глючит каждый день.Почему так долго свинчивают индикаторы в тслаб не понимаю.Столько шлака накопили а классики мало надёжной.
Автор: 777

Re: Заказ индикаторов в TSLab - Thu Aug 05 2010 06:33 PM

Originally Posted By: profit
Выкладывайте.Я вчера пытался формулой его прописать не получилось i == 1 ? 1 :(C-C[i-1])/(C[i-1]*V)
вот в на этом месте застрял.

Слишком хорош, что бы его за так выкладывать...



Через блоки формула не получиться сделать...
Автор: profit

Re: Заказ индикаторов в TSLab - Thu Aug 05 2010 06:49 PM

Вы с меня хотите гонорар что ли получить?Вот это новость.На вас жара наверное так влияет.Или дэза трендкетчера.
Автор: 777

Re: Заказ индикаторов в TSLab - Thu Aug 05 2010 06:59 PM

Да ну, ерунда какая! Вы же знаете я индикаторами не пользуюсь, т.е. я их делаю для самообразования, я на него день потратил, пиво выпил....
...два литра.. grin
Автор: profit

Re: Заказ индикаторов в TSLab - Thu Aug 05 2010 07:05 PM

Понятно.
Автор: profit

Re: Заказ индикаторов в TSLab - Fri Aug 06 2010 01:09 PM

OBV такой же родственник Price Volume Trend.

Уже выложен ранее.
Автор: profit

Re: Заказ индикаторов в TSLab - Fri Aug 06 2010 09:01 PM

i == 1 ? 0 :(C-C[i-1])/(C[i-1]*V) + list[i-1]

в формулу записать

Price Volume Trend какой есть.
Автор: mrscorto

Re: Заказ индикаторов в TSLab - Sun Aug 08 2010 01:29 PM

Хаикен-Аши (heiken-ashi)
http://www.forexac.com/stati-po-techanalizu/heiken-ashi
Автор: 777

Re: Заказ индикаторов в TSLab - Mon Aug 09 2010 12:45 AM

Originally Posted By: mrscorto


+1. Такого примера еще не было, в этом индикаторе будет использоваться конструктор создания новой свечи для внешнего использования, было бы очень интересно посмотреть...

P.S. Что-то я мучал, мучал bar.bar так ничего и не смучал..
Автор: profit

Re: Заказ индикаторов в TSLab - Mon Aug 23 2010 11:33 AM

Такой надо сделать.

http://codebase.mql4.com/ru/714
Автор: Frend

Re: Заказ индикаторов в TSLab - Mon Aug 23 2010 02:05 PM

Просьба сделать следующий индикатор
R-квадрат
http://codebase.mql4.com/ru/4706

И еще один из этой же серии.
Linear Regression Slope
http://codebase.mql4.com/ru/3653#11647
Автор: TrendCatcher

Re: Заказ индикаторов в TSLab - Tue Aug 24 2010 04:33 PM

Предлагаю сделать основу основ - фракталы.

Фрактал на покупку – серия из N последовательных баров, в которой перед самым высоким максимумом и за ним находятся по (N-1)/2 бара с более низкими максимумами.

Фрактал на продажу – серия из N последовательных баров, в которой перед самым низким минимумом и за ним находятся по (N-1)/2 бара с более высокими минимумами.

N - нечётное число => 5


Код на mql4:
http://codebase.mql4.com/ru/285
Правда, там почему-то только до 9. А мне, например, нужно 21 (по 10 с каждой стороны). Реально сделать от N числа? В Квике и xTick такая штука есть:

Автор: 777

Re: Заказ индикаторов в TSLab - Tue Aug 24 2010 06:14 PM

Нафига бары, в таких кол-вах, после?

http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8879#Post8879
Во втором посте исправленный.
Автор: TrendCatcher

Re: Заказ индикаторов в TSLab - Tue Aug 24 2010 06:53 PM

Originally Posted By: 777
Нафига бары, в таких кол-вах, после?


Система такая, тут ничего не попишешь. smile
Автор: 777

Re: Заказ индикаторов в TSLab - Tue Aug 24 2010 07:11 PM

Ну так посмотри свою картинку - 10 бар после, это ж четверть движения прошло ... А потом только фрактал зафиксируется, нафиг он такой нужен то? smile
Автор: 777

Re: Заказ индикаторов в TSLab - Tue Aug 24 2010 07:15 PM

Хотя если только для отрисовки Фибо его использовать ...
Хорошая идея! По ним проверочку можно зарядить максимума, минимума, ща погляжу...
Автор: pmus

Re: Заказ индикаторов в TSLab - Wed Aug 25 2010 02:18 AM

Поделитесь рабочим Price Volume Trend, люди? Не получается почему-то в формулу вбить, чтоб работало.
Автор: TrendCatcher

Re: Заказ индикаторов в TSLab - Wed Aug 25 2010 07:36 AM

Originally Posted By: pmus
Поделитесь рабочим Price Volume Trend, люди? Не получается почему-то в формулу вбить, чтоб работало.


А чем этот плох? wink

http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=10552
Автор: pmus

Re: Заказ индикаторов в TSLab - Wed Aug 25 2010 01:18 PM

Ой, спасибо! А я рылся в поиске и не нашёл!
Автор: TrendCatcher

Heiken Ashi - Mon Aug 30 2010 02:47 PM

Реально ли сделать Heiken Ashi для ТСЛаб?

Описание: http://www.forex-indicators.ru/heiken-ashi/
MQL4 http://codebase.mql4.com/ru/246
MQL5: http://www.mql5.com/ru/code/33
Автор: 777

Re: Heiken Ashi - Mon Aug 30 2010 03:06 PM

Originally Posted By: TrendCatcher
Реально ли сделать Heiken Ashi для ТСЛаб?

Описание: http://www.forex-indicators.ru/heiken-ashi/
MQL4 http://codebase.mql4.com/ru/246
MQL5: http://www.mql5.com/ru/code/33


+2. Такого примера еще не было, в этом индикаторе будет использоваться конструктор создания новой свечи для внешнего использования, было бы очень интересно посмотреть...
Автор: trutenman

Re: Heiken Ashi - Sun Sep 05 2010 05:52 PM

Помогите написать Price Oscillator (Ценовой осциллятор). Price Oscillator показывает разность между двумя скользящими средними цены бумаги. Эта разность может быть выражена либо в пунктах, либо в процентах.
Автор: profit

Re: Heiken Ashi - Sun Sep 05 2010 06:33 PM

MACD тоже самое.
Автор: profit

Re: Heiken Ashi - Tue Sep 07 2010 12:00 PM

http://codebase.mql4.com/ru/3527

вот такой нам суждено увидеть?
Автор: profit

Re: Heiken Ashi - Wed Sep 08 2010 06:47 PM

вот такой хочю

Автор: profit

Re: Heiken Ashi - Wed Sep 08 2010 06:52 PM

вернее он у меня уже есть.надо что бы он был в тслаб.причём это встроенный индикатор.для общего пользования.
а точнее это три разных индикатора.очень интересный Sell Buy.-это отдельно живущий индикатор.красная линия похожая на стоп это ATRX.ну и гистограммы прямо на графике цены это линейный управляюший-тренд менеджер.
Автор: SysKreator

Re: Heiken Ashi - Thu Sep 09 2010 05:48 PM

Originally Posted By: trutenman
Помогите написать Price Oscillator (Ценовой осциллятор). Price Oscillator показывает разность между двумя скользящими средними цены бумаги. Эта разность может быть выражена либо в пунктах, либо в процентах.


так он уже есть
http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=10429#Post10429
Автор: profit

Re: Heiken Ashi - Fri Sep 10 2010 10:33 AM

http://codebase.mql4.com/ru/6411

вот что то интересное тоже мне думается.
Автор: profit

Re: Heiken Ashi - Fri Sep 10 2010 11:20 AM

http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8882#Post8882

вот этот индикатор сделайте стабильней и лучше одним файлом.я считаю его нужно в официальную сборку добавить.в таком виде оптимизация очень много времени занимает.его нужно улучшать однозначно.
Автор: Robotorgovetc

Re: Heiken Ashi - Fri Sep 10 2010 02:09 PM

Ребята, ну ткните носом, переустановил прогу, не могу найти где все пользовательские индикаторы одним архивом, на сайте? где скачать, а то половина скирптов не работает
Автор: usas

Re: Heiken Ashi - Fri Sep 10 2010 02:40 PM

Originally Posted By: Robotorgovetc
Ребята, ну ткните носом, переустановил прогу, не могу найти где все пользовательские индикаторы одним архивом, на сайте? где скачать, а то половина скирптов не работает


Держи...
Автор: Robotorgovetc

Re: Heiken Ashi - Fri Sep 10 2010 02:49 PM

Спасибо, а как должна называться папка в которой это все должно лежать в корневой папке тслаба?
Автор: usas

Re: Heiken Ashi - Fri Sep 10 2010 02:56 PM

Originally Posted By: Robotorgovetc
Спасибо, а как должна называться папка в которой это все должно лежать в корневой папке тслаба?

Handlers... но я с английским не в ладах.. grin
Автор: Takinava

Re: Heiken Ashi - Fri Sep 10 2010 03:05 PM

Приветствую.
Разрабатывался ли индикатор ZigZag в Tslab?
Если есть у кого, прошу поделиться. спасибо.

P.S. или поставить в пожелания по разработке)
Автор: profit

Re: Heiken Ashi - Fri Sep 10 2010 03:11 PM

давно пишу про него.ни кто не может сделать.его здесь нэт.
Автор: Takinava

Re: Heiken Ashi - Fri Sep 10 2010 03:30 PM

код зигзага из метатрейдера
Code:
Name := ZigZag

Separate Window := No
First Color := Blue
First Draw Type := Line
Use Second Data := No
]]*/
Inputs: depth(12),deviation(5),backstep(3);
Variables : shift(0),lasthigh(-1),lastlow(-1),lasthighpos(0),lastlowpos(0);
Variables : val(0),back(0),res(0);
Variables : curlow(0),curhigh(0);

SetLoopCount(0);
lasthigh=-1; 
lastlow=-1;

for shift = Bars-300 downto 0
{
//--- low
val=Low[Lowest(MODE_LOW,shift+depth-1,depth)];
if val==lastlow then val=0
else 
{ 
lastlow=val; 
if (Low[shift]-val)>(deviation*Point) then val=0
else
{
for back=1 to backstep
{
res=GetIndexValue(shift+back);
if res!=0 and res>val then SetIndexValue(shift+back,0); 
};
};
}; 
SetIndexValue(shift,val);
//--- high
val=High[Highest(MODE_HIGH,shift+depth-1,depth)];
if val==lasthigh then val=0
else 
{
lasthigh=val;
if (val-High[shift])>(deviation*Point) then val=0
else
{
for back=1 to backstep
{
res=GetIndexValue2(shift+back);
if res!=0 and res<val then SetIndexValue2(shift+back,0); 
}; 
};
};
SetIndexValue2(shift,val);
};

// final cutting 
lasthigh=-1; lasthighpos=-1;
lastlow=-1; lastlowpos=-1;

for shift = Bars-300 Downto 0
{
curlow=GetIndexValue(shift);
curhigh=GetIndexValue2(shift);
if curlow==0 & curhigh==0 then continue;
//---
if curhigh!=0 then
{
if lasthigh>0 then 
{
if lasthigh<curhigh then SetIndexValue2(lasthighpos,0)
else SetIndexValue2(shift,0);
};
//---
if lasthigh<curhigh then
{
lasthigh=curhigh;
lasthighpos=shift;
};
lastlow=-1;
};
if curlow!=0 then
{
if lastlow>0 then
{
if lastlow>curlow then SetIndexValue(lastlowpos,0)
else SetIndexValue(shift,0);
};
//---
if curlow<lastlow | lastlow<0 then
{
lastlow=curlow;
lastlowpos=shift;
}; 
lasthigh=-1;
};
};

for shift = Bars-300 Downto 0
{
res=GetIndexValue2(shift);
if res!=0 then SetIndexValue(shift,res);
};



надеюсь поможет smile

P.S.и вот тут описание http://ta.mql4.com/ru/indicators/trends/zigzag и код для метатрейдера в файле http://codebase.mql4.com/ru/source/12910
Автор: Croll69

Re: Заказ индикаторов в TSLab - Sat Sep 11 2010 06:40 PM

Доброго времени суток!!!! очень бы хотелось поработать с таким индикатором как Awesome Oscillator (AO)это разница, полученная вычитанием 34-периодного простого скользящего среднего, построенного по центральным значениям баров (H+L)/2, из 5-периодной SMA по центральным значениям баров (H+L)/2.
Автор: Croll69

Re: Заказ индикаторов в TSLab - Sun Sep 12 2010 12:05 PM

Доброго времени суток!!!! очень бы хотелось поработать с таким индикатором как Awesome Oscillator (AO)это разница, полученная вычитанием 34-периодного простого скользящего среднего, построенного по центральным значениям баров (H+L)/2, из 5-периодной SMA по центральным значениям баров (H+L)/2.
Автор: SysKreator

Re: Заказ индикаторов в TSLab - Sun Sep 12 2010 08:53 PM

Originally Posted By: Croll69
Доброго времени суток!!!! очень бы хотелось поработать с таким индикатором как Awesome Oscillator (AO)это разница, полученная вычитанием 34-периодного простого скользящего среднего, построенного по центральным значениям баров (H+L)/2, из 5-периодной SMA по центральным значениям баров (H+L)/2.


Есть такой
http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=12625#Post12625
И такой
http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8611#Post8611
Автор: profit

Re: Заказ индикаторов в TSLab - Sun Sep 12 2010 09:50 PM

http://codebase.mql4.com/ru/4785

может для полного счастья сразу вот это подвинтить?
Автор: TrendCatcher

Re: Заказ индикаторов в TSLab - Mon Sep 13 2010 12:58 PM

Originally Posted By: profit
http://codebase.mql4.com/ru/4785

может для полного счастья сразу вот это подвинтить?


+1.
Автор: Takinava

Re: Заказ индикаторов в TSLab - Tue Sep 14 2010 09:26 PM

вот ещё по зигзагу инструкция индикатора:
http://www.linnsoft.com/tour/techind/zigzag.htm

если не трудно сделайте пожалуйста
Автор: SysKreator

Re: Заказ индикаторов в TSLab - Wed Sep 15 2010 03:44 PM

ZigZag

http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=12930#Post12930
Автор: SPLsd

Re: Заказ индикаторов в TSLab - Sun Sep 19 2010 02:59 AM

А можно попросить Вас сделать вот эти индикаторы?
http://www.virtuosclub.ru/main/ind/K/kaufmansadaptivemovingaveragei2f/
http://www.virtuosclub.ru/main/ind/K/kaufmansadaptivemovingaverageii/
http://www.virtuosclub.ru/main/ind/K/kaufmansmovingaverage/
Автор: AvataR

Re: Заказ индикаторов в TSLab - Sat Sep 25 2010 11:01 PM

Господа разрабочики! Не возможно ли оказать любеность и разработанные индикаторы включать в следующие сборки во избежании путаницы и повторных запросов?
Автор: Avis

Re: Заказ индикаторов в TSLab - Tue Sep 28 2010 09:07 AM

Originally Posted By: AvataR
Господа разрабочики! Не возможно ли оказать любеность и разработанные индикаторы включать в следующие сборки во избежании путаницы и повторных запросов?

Присоединяюсь к предложению! По крайней мере это должно касаться разработок, выполненных членами команды TSLab. Невозможно знать о появлении новых возможностей, которые появляются, а читать регулярно форум - на это не всегда хватает времени.
Автор: Avis

Дивергенция/Конвергенция CCI - Tue Sep 28 2010 09:20 AM

Дивергенция/Конвергенция CCI
Исходник в формате MT4
Автор: ZSE

Re: Заказ индикаторов в TSLab - Tue Sep 28 2010 09:27 AM

Originally Posted By: Avis

Присоединяюсь к предложению! По крайней мере это должно касаться разработок, выполненных членами команды TSLab. Невозможно знать о появлении новых возможностей, которые появляются, а читать регулярно форум - на это не всегда хватает времени.

Все изменения, которые появились в программе, описываются в анонсах новой версии.
Автор: Avis

Re: Заказ индикаторов в TSLab - Tue Sep 28 2010 01:50 PM

Originally Posted By: ZSE
Originally Posted By: Avis

Присоединяюсь к предложению! По крайней мере это должно касаться разработок, выполненных членами команды TSLab. Невозможно знать о появлении новых возможностей, которые появляются, а читать регулярно форум - на это не всегда хватает времени.

Все изменения, которые появились в программе, описываются в анонсах новой версии.

Так вы читаете не внимательно! То что попадает - да, описывается, а речь тут идет о том, ЧТО НЕ ПОПАДАЕТ!
Автор: Djin

Re: Заказ индикаторов в TSLab - Wed Sep 29 2010 01:52 PM

Хотелось бы по возможности иметь под руками индикатор WATR

=======================================================
Трендовый индикатор прорыва динамического ценового канала на основе WATR
в формате Omega TradeStation.
Code:
{Volatility Trend Indicator based on Smoothed True Range
and dynamic period of trend calculation. Copyright (c) konkop 2001}
Inputs:
Len(21), {WATR Lenght}
M(3), {WATR Multiplier}
Max_per(50); {Max. Dynamic Period for Trend Calculation}
Vars: TrueHi(H), TrueLo(L), TrueRng(0), WATR(0), Trend(C), Period(0) ;
{Calculate Smoothed TR}
If Close[1] > High Then TrueHi = Close[1] Else TrueHi = High;
{Calculate TrueHigh}
If Close[1] < Low Then TrueLo = Close[1] Else TrueLo = Low;
{Calculate TrueLow}
TrueRng = TrueHi — TrueLo; {Calculate TrueRange}
WATR = WAverage(TrueRng,Len); {Calculate WATR}
{Trend Calculation}
Condition1= C > Trend[1]; {UpTrend}
Condition2= C <= Trend[1]; { DownTrend}
{SetUp Period When New Trend Begin}
If C Cross over Trend[1] or C Cross Below Trend[1] Then Period = 0;
If Period < Max_per Then Begin {Counting UpTrends with dynamic period}
If Condition1 Then Begin
Period = Period +1;
Trend = Highest(C,Period) — M∗WATR;
End ; {Counting DownTrends with dynamic period}
If Condition2 Then Begin
Period = Period + 1;
Trend = Lowest(C,Period) + M∗WATR;
End;
End Else Begin {Counting UpTrends with constant period}
If Condition1 Then Trend = Highest(C,Max_Per)[1] — M∗WATR;
{Counting DownTrends with constant period}
If Condition2 Then Trend = Lowest(C,Max_per)[1] + M∗WATR;
End; {Plotting Indicator}
Plot1(Trend,»Trend»);

=============================================

Тоже самое под MetaTrader
Code:
//+------------------------------------------------------------------+
//| WATR.mq4
//| Written WizardSerg under article konkop in "Modern trading" #4/2001
//| http://www.wizardserg.inweb.ru
//| wizardserg@gmail.com
//+------------------------------------------------------------------+
#property copyright "Written WizardSerg under article konkop in  #4/2001"
#property link      "http://www.wizardserg.inweb.ru"
 
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Coral
#property indicator_color2 DodgerBlue
 
//---- input parameters
extern int       WATR_K = 10;
extern double    WATR_M = 4.0;
extern int       ATR = 21;
 
//---- buffers
double ExtMapBufferUp[];
double ExtMapBufferDown[];
 
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
{  
    IndicatorBuffers(2);  
    SetIndexBuffer(0, ExtMapBufferUp); 
    ArraySetAsSeries(ExtMapBufferUp, true);      
    SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2);
    SetIndexBuffer(1, ExtMapBufferDown); 
    ArraySetAsSeries(ExtMapBufferDown, true);      
    SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 2);
    IndicatorShortName("WATR(" + WATR_K + ", " + WATR_M + ")"); 
    return(0); 
}
  
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
{
   return(0);
}
 
//+------------------------------------------------------------------+
//| Custom indicator function                                        |
//+------------------------------------------------------------------+
bool AntiTrendBar(int i)
{
    bool res = (TrendUp(i) &amp;&amp; (Close[i] &lt; Open[i])) ||         
              (!TrendUp(i) &amp;&amp; (Close[i] &gt; Open[i]));    
    return(res);
}
 
//+------------------------------------------------------------------+
//| Custom indicator function                                        |
//+------------------------------------------------------------------+
double CalcIndicValue(int i, bool trend)
{
    double res = Close[i];  
    if(trend)
        res -= (WATR_K*Point + WATR_M*iATR(NULL, 0, ATR, i));
    else
        res += (WATR_K*Point + WATR_M*iATR(NULL, 0, ATR, i));        
    return(res);
}
 
//+------------------------------------------------------------------+
//| Custom indicator function                                        |
//+------------------------------------------------------------------+
bool TrendUp(int i)
{
    return((Close[i+1] &gt; ExtMapBufferUp[i+1]) &amp;&amp; (ExtMapBufferUp[i+1] != EMPTY_VALUE));
}
     
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
{
    int limit;
    int counted_bars = IndicatorCounted();
    //---- последний посчитанный бар будет пересчитан
    // if(counted_bars &gt; 0) counted_bars--;
    //---- первое значение индикатора == цене-1 point, т.е. считает тренд восходящим
    ExtMapBufferUp[Bars] = Close[Bars] - WATR_K*Point;     
    // limit = (counted_bars &gt; 0) ? (Bars - counted_bars) : (Bars - 1);
    limit = Bars - counted_bars;
    //if(limit == Bars) limit--;
    //---- основной цикл
    for(int i = limit; i &gt;= 0; i--)
    {
        if( AntiTrendBar(i) )
        {
            ExtMapBufferUp[i] = ExtMapBufferUp[i+1];            
            ExtMapBufferDown[i] = ExtMapBufferDown[i+1];            
        }
        else
        {
            if(TrendUp(i))
            {
                ExtMapBufferUp[i] = CalcIndicValue(i, true);
                if(ExtMapBufferUp[i] &lt; ExtMapBufferUp[i+1])
                    ExtMapBufferUp[i] = ExtMapBufferUp[i+1];                                 
                ExtMapBufferDown[i] = EMPTY_VALUE; 
            }
            else
            {
                ExtMapBufferDown[i] = CalcIndicValue(i, false);                        
                if(ExtMapBufferDown[i] &gt; ExtMapBufferDown[i+1])
                    ExtMapBufferDown[i] = ExtMapBufferDown[i+1];                                             
                ExtMapBufferUp[i] = EMPTY_VALUE;
            }
        }
        // пересечения с ценой                 
        if(TrendUp(i) &amp;&amp; (Close[i] &lt; ExtMapBufferUp[i]))
        {
            ExtMapBufferDown[i] = CalcIndicValue(i, false);  
            ExtMapBufferUp[i] = EMPTY_VALUE;
        }
        if((!TrendUp(i)) &amp;&amp; (Close[i] &gt; ExtMapBufferDown[i]))
        {
            ExtMapBufferUp[i] = CalcIndicValue(i, true);                  
            ExtMapBufferDown[i] = EMPTY_VALUE; 
        }
    }
    return(0);
}
//+------------------------------------------------------------------+
Автор: TrendCatcher

Re: Заказ индикаторов в TSLab - Thu Sep 30 2010 03:00 PM

Originally Posted By: Djin
Хотелось бы по возможности иметь под руками индикатор WATR


+1. Хорошая штука, судя по описанию (pdf!)



Quote:
Процентный Трендовый индикатор прорыва динамического ценового канала
в формате Omega TradeStation. {Percentage Trend Indicator with correction
filter and dynamic period of trend calculation. Copyright (c) konkop 2001}
Inputs:
K(15), {%Coeff. of correction}
Max_per(50); {Max. Dynamic Period for Trend Calculation}
Vars: Trend(C), Period(0) ; {Trend Calculation}
Condition1= C > Trend[1]; {UpTrend}
Condition2= C <= Trend[1]; { DownTrend}
{SetUp Period When New Trend Begin}
If C Cross over Trend[1] or C Cross Below Trend[1] Then Period = 0;
If Period < Max_per Then Begin {Counting UpTrends with dynamic period}
If Condition1 Then Begin
Period = Period +1;
Trend = Highest(C,Period)[1]∗(1 — (K/100));
End ; {Counting DownTrends with dynamic period}
If Condition2 Then Begin
Period = Period + 1;
Trend = Lowest(C,Period)[1]∗(1 + (K/100));
End;
End Else Begin {Counting UpTrends with constant period}
If Condition1 Then Trend = Highest(C,Max_per)[1]∗(1 — (K/100));
{Counting DownTrends with constant period}
If Condition2 Then Trend = Lowest(C,Max_per)[1]∗(1 + (K/100));
End; {Plotting Indicator}
Plot1(Trend, «Trend»);
Трендовый индикатор прорыва динамического ценового канала на основе WATR
в формате Omega TradeStation.
{Volatility Trend Indicator based on Smoothed True Range
and dynamic period of trend calculation. Copyright (c) konkop 2001}
Inputs:
Len(21), {WATR Lenght}
M(3), {WATR Multiplier}
Max_per(50); {Max. Dynamic Period for Trend Calculation}
Vars: TrueHi(H), TrueLo(L), TrueRng(0), WATR(0), Trend(C), Period(0) ;
{Calculate Smoothed TR}
If Close[1] > High Then TrueHi = Close[1] Else TrueHi = High;
{Calculate TrueHigh}
If Close[1] < Low Then TrueLo = Close[1] Else TrueLo = Low;
{Calculate TrueLow}
TrueRng = TrueHi — TrueLo; {Calculate TrueRange}
WATR = WAverage(TrueRng,Len); {Calculate WATR}
{Trend Calculation}
Condition1= C > Trend[1]; {UpTrend}
Condition2= C <= Trend[1]; { DownTrend}
{SetUp Period When New Trend Begin}
If C Cross over Trend[1] or C Cross Below Trend[1] Then Period = 0;
If Period < Max_per Then Begin {Counting UpTrends with dynamic period}
If Condition1 Then Begin
Period = Period +1;
Trend = Highest(C,Period) — M∗WATR;
End ; {Counting DownTrends with dynamic period}
If Condition2 Then Begin
Period = Period + 1;
Trend = Lowest(C,Period) + M∗WATR;
End;
End Else Begin {Counting UpTrends with constant period}
If Condition1 Then Trend = Highest(C,Max_Per)[1] — M∗WATR;
{Counting DownTrends with constant period}
If Condition2 Then Trend = Lowest(C,Max_per)[1] + M∗WATR;
End; {Plotting Indicator}
Plot1(Trend,»Trend»);
Автор: TrendCatcher

Pivot - Thu Sep 30 2010 04:23 PM

Уровни Пивот может быть стоит сделать, как думаете? smile

- - - - - - - - - - - - - - - - - - - - - - -

Есть много вариантов расчета уровней пивот. Но самый распространенный это стандартный метод расчета pivot points. Берутся цены предыдущего дня High, Low и Close. Формула расчета простая:

R2 = P + (H – L) = P + (R1 – S1)
R1 = (P x 2) – L
P = (H + L + C) / 3
S1 = (P x 2) – H
S2 = P – (H – L) = P – (R1 – S1)


В данном случае “S” – это уровни сопротивления (support), а “R” – уровни поддержки (resistnace). High, Low и Close – это “H”, “L” и “C” соответственно.

- - - - - - - - - - - - - - - - - - - - - - -

Есть также вариант расчета уровней пивот с учетом цены открытия сегодняшнего дня (today’s opening price):

P = ((Today’s O) + Yesterday’s (H + L + C)) / 4

А уровни поддержки и сопротивления (S1, S2, R1, R2) в данном случае рассчитываются так же как и в первом варианте, только с учетом “модифицированного” пивота (“P”).


http://www.mql5.com/ru/code/102
Автор: profit

Re: Pivot - Fri Oct 15 2010 11:58 PM

http://forum.mql5.su/viewtopic.php?f=17&t=64

вот это у нас есть?
Автор: Stanley

Re: Pivot - Sat Oct 16 2010 02:04 PM

Что-то не нашёл индикатор Волатильность Чайкина.((( Может, кто-нибудь сможет сваять на досуге...Очень-очень надо...
http://www.stockvest.ru/indicator/chaikin_volatility.html
Автор: 777

Re: Pivot - Sat Oct 16 2010 04:48 PM

. Это не Чайкин. Этот индикатор где-то на форуме был.
Автор: Stanley

Re: Pivot - Sun Oct 17 2010 07:04 AM

Большое спасибо!)А шде можно почитать интерпритацию индикатора которого вы выложили?
Автор: 777

Re: Pivot - Sun Oct 17 2010 10:28 AM

Originally Posted By: Stanley
Большое спасибо!)А шде можно почитать интерпритацию индикатора которого вы выложили?


Ай! Это и есть Чайкин :
http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8770&Searchpage=1&Main=842&Words=%2AVolatility%2A&Search=true#Post8770
Автор: aisle

Re: Pivot - Thu Oct 21 2010 02:18 PM

Я считаю что уровни Pivot point необходимы

Формула расчета Пивот Поинт
Существуют великое множество уже модернизированных формул пивота, но все они имеют под собой классическую формулу пивота. Т.е сумма максимума, минимума и цены закрытия деленное на 3.

Разворотный уровень Pivot =(Z+X+Close)/3
Z – максимальное значение за вчеашний день.
X – минимальное значение за вчерашний день.
Close - цена закрытия

После того как разворотная точка посчитана, можно расчитать и второстепенные уровни поддержки, сопротивления.

R1=2Pivot - Low
S1=2Pivot - High
R2=Pivot + (R1 - S1)
S2=Pivot - (R1-S1)
R3=High + 2*(Pivot - Low)
S3=Low - 2*(High - Pivot)
R1,R2,R3 - уровни сопротивления;
S1,S2,S3 - уровни поддержки


и модифицированные варианты по ссылке http://www.mql5.com/ru/code/102

P.S. Считаю индикатор просто необходимым
Автор: Alexander

Re: Заказ индикаторов в TSLab - Wed Nov 03 2010 03:58 PM

Подскажите плз. ссылочку на AROON
Автор: ViL

Re: Заказ индикаторов в TSLab - Wed Nov 03 2010 04:48 PM

Здесь: http://www.tslab.ru/ubb/ubbthreads.php?ubb=download&Number=1620&filename=NewIndicators.zip
Автор: Artem

Re: Заказ индикаторов в TSLab - Thu Nov 18 2010 07:58 PM

Столько всяких MACD, а MACD гистограмы нету. Сделаете?
Автор: 777

Re: Заказ индикаторов в TSLab - Thu Nov 18 2010 08:32 PM

Уже сделали smile
Нажмите на связь, справа стиль-стиль графика ...
Автор: Alexei

Re: Заказ индикаторов в TSLab - Mon Nov 22 2010 10:08 AM

Хотелось бы классический NRTR. Может быть кто сделает :-) ...
Автор: profit

Re: Заказ индикаторов в TSLab - Mon Nov 22 2010 10:09 AM

был специалист,промахнулся один раз,так его в кипятке и сварили. smile
Автор: Alexei

Re: Заказ индикаторов в TSLab - Mon Nov 22 2010 10:11 AM

Originally Posted By: profit
был специалист,промахнулся один раз,так его в кипятке и сварили. smile


Люди иногда бывают очень странные ... Но индикатор действительно очень интересный. Умел бы программить, сделал бы его. А на базе стандартных блоков у меня не получается его создать.
Автор: profit

Re: Заказ индикаторов в TSLab - Tue Nov 23 2010 06:45 PM

Толку то смотреть.Здесь ни кто ничего больше не делает.Эту ветку вообще можно удалить уже.
Своих идей не мало.Не кому реализовывать.
Автор: Alexei

Re: Заказ индикаторов в TSLab - Wed Nov 24 2010 08:20 AM

Originally Posted By: profit
Толку то смотреть.Здесь ни кто ничего больше не делает.Эту ветку вообще можно удалить уже.
Своих идей не мало.Не кому реализовывать.


Все кому надо научились и все? Или почему?
Автор: profit

Re: Заказ индикаторов в TSLab - Wed Nov 24 2010 09:57 AM

Кому надо как раз таки не умеют либо некогда а кто умеет тому не надо и тоже некогда.Вот такой вот порочный круг получается.
А вообще просто нет специалиста в тслаб который бы этим занимался.
Автор: profit

Re: Заказ индикаторов в TSLab - Wed Nov 24 2010 10:12 AM

Если добавить новый кубик-запоминающий значения(индикаторов,формул,лог формул,ОЗ) который будет запоминать эти параметры и ставить точку(например) на графике скрипта,тогда надобность в новых индикаторах просто отпадёт.либо с такими кубиками можно сотворить всё что угодно.
Эту фишку можно сравнить с трудами художников.
Очень давно много веков назад люди рисовали в двухмерном пространстве(площадь).Сейчас в трёхмерном(объём).
Так вот этот кубик примерно такой же по значимости.
Автор: usas

Re: Заказ индикаторов в TSLab - Wed Nov 24 2010 11:37 AM

Originally Posted By: profit
Если добавить новый кубик-запоминающий значения(индикаторов,формул,лог формул,ОЗ) который будет запоминать эти параметры и ставить точку(например) на графике скрипта,тогда надобность в новых индикаторах просто отпадёт.либо с такими кубиками можно сотворить всё что угодно.
Эту фишку можно сравнить с трудами художников.
Очень давно много веков назад люди рисовали в двухмерном пространстве(площадь).Сейчас в трёхмерном(объём).
Так вот этот кубик примерно такой же по значимости.

Что-то не догнал... разверни поширше, пож..
Автор: usas

Re: Заказ индикаторов в TSLab - Wed Nov 24 2010 11:54 AM

Кажется понял..
Ты имеешь ввиду мнгновенный срез ситуации из наличествующих параметров с тем, чтобы далее этот скан использовать для конкретной оценки и применения..
Что-то в этом есть.. неуловимое.. smile
Автор: profit

Re: Заказ индикаторов в TSLab - Wed Nov 24 2010 11:59 AM

да примерно так.вы строите свои формулы какие угодно а кубик по ним рисует точки линии что бы получался своего рода бинарный индикатор.для симбиоза нескольких видов индикаторов динамических и осциляторов или средних.динамических у нас пока два всего ZZ и Фракталы.
Автор: Sukhov

Re: Pivot - Thu Nov 25 2010 11:37 AM

Originally Posted By: TrendCatcher
Уровни Пивот может быть стоит сделать, как думаете? smile

- - - - - - - - - - - - - - - - - - - - - - -

Есть много вариантов расчета уровней пивот. Но самый распространенный это стандартный метод расчета pivot points. Берутся цены предыдущего дня High, Low и Close. Формула расчета простая:

R2 = P + (H – L) = P + (R1 – S1)
R1 = (P x 2) – L
P = (H + L + C) / 3
S1 = (P x 2) – H
S2 = P – (H – L) = P – (R1 – S1)


В данном случае “S” – это уровни сопротивления (support), а “R” – уровни поддержки (resistnace). High, Low и Close – это “H”, “L” и “C” соответственно.

- - - - - - - - - - - - - - - - - - - - - - -

Есть также вариант расчета уровней пивот с учетом цены открытия сегодняшнего дня (today’s opening price):

P = ((Today’s O) + Yesterday’s (H + L + C)) / 4

А уровни поддержки и сопротивления (S1, S2, R1, R2) в данном случае рассчитываются так же как и в первом варианте, только с учетом “модифицированного” пивота (“P”).


http://www.mql5.com/ru/code/102



Да мне бы тоже хотелось узнать можно ли для ТСлаба реализовать эти уровни! smile
Автор: serg

Re: Pivot - Thu Nov 25 2010 03:09 PM

Присоединяюсь к просьбе ! да и Фибо не помешало бы))))
Автор: Croll69

Re: Pivot - Thu Nov 25 2010 04:02 PM

хотелось бы иметь адаптивную скользящую среднюю, что то не нашел на форуме!!!
АМА строится на основе ЕМА и представляет собой более чувствительный к тренду и волатильности рыночный инструмент. Формула АМА следующая:

AMA = C * (closet-AMA(t-1)) + AMA(t-1)

Разница между вычислением АМА и ЕМА заключается в адаптивном аспекте постоянной сглаживания, который обозначен в формуле буквой С. Чтобы получить С мы должны предпринять несколько шагов. Первый из них заключается в вычислении коэффициента эффективности (ER), который представляет собой отношение направления движения цены к волатильности цены.

1. Direction = closet - closet-n

где,

Direction = направление движения
closet = текущее закрытие
closet-n = закрытие n баров назад.

2. Volatility = sum (absolute value (closet – close(t-1)),n)

(Формула суммирует абсолютные значения разниц от закрытия к закрытию по барам для периода в n баров. Кауфман предлагал брать период равный 10).

Например, если валютная пара закрылась с повышением 10 раз подряд ER будет равен 1, поскольку направление движения и волатильность будут равны. Если цена не изменилась в течение 10 баров, ER будет равен 0. Таким образом, чем сильнее тренд, тем больше значение ER, чем меньше тренд и больше флэта, тем меньше будет значение ER.

Коэффициент используется в качестве шкалированной постоянной, основанной на степени тренда, варьирующейся от 0 до 1. Однако речь идет не о степени восходящего или нисходящего тренда, а просто о степени тренда. Поскольку направление тренда может быть отрицательным, мы используем абсолютное значение направления/волатильности, чтобы наша шкала не задавала диапазон от -1 до 1.

Следующий шаг заключается в установлении границ длины периода для АМА – т.е. для самого короткого (быстрого) и длинного (медленного) периодов (хотя с технической точки зрения они могут быть не лимитированы). Для создания постоянной диапазона сглаживания средней (SSC) используется следующая формула:

SSC = ER * (FastSC – SlowSC) + SlowSC
где:
ER = Коэффициент эффективности
FastSC = постоянная сглаживания быстрой ЕМА
SlowSC = постоянная сглаживания медленной ЕМА.

Напомним, что в постоянной сглаживания ЕМА используется формула 2/(n+1) для аппроксимации количества баров в SMA с периодом n-баров. Кауфман предлагает использовать диапазон АМА от периода 2 (быстрый) до периода 30 (медленный) баров.

В данном случае результат постоянных сглаживания для быстрой и медленной средних будет следующий:

Fast = 2/(2 + 1) = 0.6667
Slow = 2/(30 + 1) = 0.0645

Таким образом, SSC = ER * (0.6667 - 0.0645) + 0.0645. Если рынок находится в состоянии тренда, то ER будет приближаться к 1, и соответственно SSC будет взвешиваться к быстрой постоянной сглаживания. Если рынок будет двигаться в боковом тренде, тогда ER будет приближаться к 0, и соответственно SSC будет взвешиваться к медленной постоянной сглаживания.

Наконец, Кауфман отмечает, что при сильном боковом движении, когда АМА будет вести себя примерно как 30-дневная ЕМА, АМА все же будет двигаться вверх и вниз. Возведение в квадрат позволяет избавиться от этого эффекта.

Таким образом,

C = SSC2

Наконец, формула АМА:

AMA = C * (closet-AMA(t-1) ) + AMA(t-1)
Автор: ViL

Re: AMA - Thu Nov 25 2010 04:23 PM

AMA: http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=2422#Post2422
Автор: usas

Re: Pivot - Thu Nov 25 2010 04:28 PM

Давно есть в "пользовательских" и AMA i MAMA i FAMA i DEMA.. и все адаптивные.. поищите чуть в соответствующих ветках..
Автор: Croll69

Re: Pivot - Thu Nov 25 2010 05:03 PM

спасибо!!!! еа форуме не работает поиск - это значительно усложняет работу((((((
Автор: SergRus

Re: Заказ индикаторов в TSLab - Fri Nov 26 2010 03:59 PM

Очень нужен индикатор Элдера Elders Force Index. Описание есть на http://enc.fxeuroclub.ru/417.
Автор: captian

Re: Заказ индикаторов в TSLab - Fri Nov 26 2010 06:53 PM

Originally Posted By: SergRus
Очень нужен индикатор Элдера Elders Force Index. Описание есть на http://enc.fxeuroclub.ru/417.
Эту штуку легко можно нарисовать при помощи простой формулы, вот только зачем? и как её использовать?
Автор: profit

Re: Заказ индикаторов в TSLab - Tue Nov 30 2010 10:47 PM

Эта ветка в последние пару месяцев вообще не работает.
И всё же напишу.
Читал сегодня алгоритмус и вот что нашёл.
Почему бы нам не сделать такой индикатор.

http://algoritmus.ru/?page_id=2944
Автор: profit

Re: Заказ индикаторов в TSLab - Sun Dec 05 2010 09:00 PM

Вот код индикатора на C# для Wealth-Lab Developer с моими комментариями:

int FirstValidValue = Period;
double rangePeriod; // Значение периода
double highValue, lowValue; // Значения границ флета
for (int bar = FirstValidValue; bar < Bars.Count; bar++) // Пробегаемся по всем свечкам
{
rangePeriod = 100d; // Для каждой свечки изначально считаем, что она - трендовая
highValue = double.MinValue;
lowValue = double.MaxValue;
for (int i = bar - 1; i > bar - 1 - Period; i--) // Для каждой свечки будем пробегаться по истории на величину Period
{
if (highValue < Bars.High[i]) highValue = Bars.High[i]; // Поднимаем верхнюю границу
if (lowValue > Bars.Low[i]) lowValue = Bars.Low[i]; // Опускаем нижнюю границу
if (Bars.High[bar] <= highValue && Bars.Low[bar] >= lowValue) // Нашли флет, в который вписываем текущую свечку
{
rangePeriod = 100d / Period * (bar - i - 1);
break;
}
}
this[bar] = 100d - rangePeriod;// Значение Осцилятора флета
}


http://community.livejournal.com/ru_traders/1397307.html?view=13786939#t13786939
Автор: Nektodron

Re: Заказ индикаторов в TSLab - Mon Dec 06 2010 11:14 AM

Приведенный индикатор достаточно вставить в обрамление:

Code:

using System;
using System.Collections.Generic;
using TSLab.Script;
using TSLab.Script.Handlers;
using TSLab.Script.Helpers;

public class MyIndic: BasePeriodIndicatorHandler, IBar2DoubleHandler
{
  public IList<double> Execute(ISecurity source)
  {
    var Bars = source.Bars;
    var res = new double[Bars.Count];

    int FirstValidValue = Period;
    double rangePeriod; // Значение периода
    double highValue, lowValue; // Значения границ флета
    for (int bar = FirstValidValue; bar < Bars.Count; bar++) // Пробегаемся по всем свечкам
    {
      rangePeriod = 100d; // Для каждой свечки изначально считаем, что она - трендовая
      highValue = double.MinValue;
      lowValue = double.MaxValue;
      for (int i = bar - 1; i > bar - 1 - Period; i--) // Для каждой свечки будем пробегаться по истории на величину Period
      {
        if (highValue < Bars[i].High) highValue = Bars[i].High; // Поднимаем верхнюю границу
        if (lowValue > Bars[i].Low) lowValue = Bars[i].Low; // Опускаем нижнюю границу
        if (Bars[bar].High <= highValue && Bars[bar].Low >= lowValue) // Нашли флет, в который вписываем текущую свечку
        {
          rangePeriod = 100d / Period * (bar - i - 1);
          break;
        }
      }
      res[bar] = 100d - rangePeriod;// Значение Осцилятора флета
    }
    return res;
  }
}

Автор: profit

Re: Заказ индикаторов в TSLab - Mon Dec 06 2010 12:31 PM

ОК.Сделали файл .cs расширение


очень хороший пример как переписать в тслаб индикаторы из ветлаба.
Автор: profit

Re: Заказ индикаторов в TSLab - Mon Dec 06 2010 12:39 PM

предлагаю сделать ветку с такой школой описания постройки индикаторов.

в данном примере детально описано каждое значение.

с такими примерами уже может и не программист работать.

к вам опять же меньше тупых вопросов будет.
Автор: Frend

Re: Заказ индикаторов в TSLab - Mon Dec 06 2010 04:46 PM

А соберите кто нибуть в DLL а то удалил уже все программы по c## за ненадобностью.
Автор: profit

Re: Заказ индикаторов в TSLab - Mon Dec 06 2010 04:54 PM

да и примерчик сразу не помешает как это делается.
Автор: serg

Re: Заказ индикаторов в TSLab - Mon Dec 06 2010 05:07 PM

Уважаемый profit!
Осмелюсь спросить - где посмотреть процесс перекодировки данного индикатора из велса в TSlab ?
Автор: Nektodron

Re: Заказ индикаторов в TSLab - Mon Dec 06 2010 05:16 PM

А вот выше сравните два кода на С#. Исходный и поправленный.
Автор: Tuonela

Re: Заказ индикаторов в TSLab - Wed Dec 15 2010 01:19 PM

Товарищи наверняка уже кто-то реализовывал в пользовательских, но поиск по форуму не дал вменяемых результатов. Очень нужен downside deviation (с параметрами N,MAR). Описание:
L = R I - R MAR (Если RI - R MAR < 0) или 0 (Если R I - R MAR >= 0)
Где R I = Доходность за период I
Где N = Число периодов N
где R MAR = Минимально требуемая доходность для периода.
DownSide Deviation = √ (( Σ (L)2) / N )

Я думаю, что тут не возникнет проблем с реализацией в C#.
Спасибо!
Автор: profit

Re: Заказ индикаторов в TSLab - Tue Dec 21 2010 12:32 PM

GANN-HiLo2


HLd:=If(CLOSE>Ref(Mov(H,3,E),-1),
{then}1,
{else}If(CLOSE<Ref(Mov(L,3,E),-1),
{then}-1,
{else}0));
HLv:=ValueWhen(1,HLd<>0,HLd);
HiLo:=If(HLv=-1,
{then}Mov(H,3,E),
{else}Mov(L,3,E));
HiLo;

Роюсь в метастоке.Нашёл вот такую формулу.
У нас нет такого индикатора ещё.
Автор: profit

Re: Заказ индикаторов в TSLab - Tue Dec 21 2010 12:35 PM

плюс к нему

Gann-Trend2


{Swing Direction}
Sd:= FmlVar("GANN-Swing2","TD1") ;
{Swing Change High}
Sch:=If(Sd=1 AND Ref(sd,-1)=-1,
{then}1,
{else}0);
{Swing Change Low}
Scl:=If(Sd=-1 AND Ref(Sd,-1)=1,
{then}1,
{else}0);
{Peak Value}
Pv:=If(Scl=1,
{then}HighestSince(1,Sch=1,H),
{else}0);
{Trough Value}
Tv:=If(Sch=1,
{then}LowestSince(1,Scl=1,L),
{else}0);
{Trend Direction}
Td:=If(H>ValueWhen(1,Pv>0,Pv),
{then}1,
{else}If(L<ValueWhen(1,Tv>0,Tv),
{then}-1,
{else}0));
{UpTrend=1 DownTrend =-1}
Tdv:=ValueWhen(1,Td<>0,Td);
Tdv;


вопче адьюхмантьевские индикаторы.хавают асфальт. cool
Автор: profit

Re: Заказ индикаторов в TSLab - Tue Dec 21 2010 12:39 PM

Уважаемый Nektodron плиз сделайте пример перекодировки в формат ТСЛаб.
Автор: backdoor_64

Re: Заказ индикаторов в TSLab - Sat Feb 12 2011 10:14 PM

а про линейную регрессию забыли?(
сделайте пожалуйста, вот есть какое-то описание http://gordago.ru/forex/indicators/linear-regression.html
Автор: котя

Re: Заказ индикаторов в TSLab - Fri Feb 18 2011 11:36 PM

вот индекс силы
using System;
using System.Collections.Generic;
using TSLab.Script;
using TSLab.Script.Handlers;
using TSLab.Script.Helpers;

namespace TSLab.ElderForceIndex
{
public class EFI : IBar2DoubleHandler, IContextUses
{

[HandlerParameter(true, "13", Min = "2", Max = "20", Step = "2")]
public int Period { get; set; }


public IList<double> Execute(ISecurity source)
{
double FI;
double Vol, PrevP;
double Price;

IList<double> list = new List<double>(source.Bars.Count);

Vol = source.Volumes[0];
Price = source.ClosePrices[0];

for (int bar = 0; bar < source.Bars.Count; bar++)
{

#region calculate values
Vol = source.Volumes[bar];
PrevP = Price;
Price = source.ClosePrices[bar];
FI = (1 - PrevP / Price) * Vol;

// значение EFI


#endregion
//--------------------------------------------------------------------------------
// добавление нового значения в последовательность


list.Add(FI);
}
var emafi = Series.EMA(list, Period);

return emafi;

}
public IContext Context { get; set; }
}
}
Автор: Wesley Trader

Re: Заказ индикаторов в TSLab - Fri Feb 25 2011 03:56 PM

Помогит пожалуйста!
есть индикатор "фракталы" вот в этой ветке http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=11310#Post11310

Не могли бы внести небольшое дополнение в него, пожалуйста.
А дополнение вот такое:
-формировать фрактал на покупку, только тогда, когда минимум среди баров слева до фрактала будет ниже минимума
среди баров, которые справа до фрактала.
Соответсвенно наоборот для фрактала на продажу:
-формировать фрактал на продажу, только тогда, когда максимум среди баров слева до фрактала будет выше максимума
среди баров, которые справа до фрактала.

Таким образом мы получим фрактал, с некоторой "трендовой" компонентой.
как я понимаю нужно просто добавить в код проверку на максимум\минимум за период. Это вас не затруднит? очень нужно
Может кто-нибудь еще может помочь?
Автор: Dikk

Re: Заказ индикаторов в TSLab - Thu Mar 03 2011 03:28 PM

Всем привет! Очень нужен индикатор такой же как MedianPrice но чтобы от отображался на копеек 40 выше и ниже от реального или может есть другой способ добиться этого?
Автор: ViL

Re: Заказ индикаторов в TSLab - Thu Mar 03 2011 03:43 PM

Блок формула MedianPrice + 0.40
Автор: Dikk

Re: Заказ индикаторов в TSLab - Thu Mar 03 2011 04:36 PM

Благодарю!!!))
Автор: Роман

Re: Заказ индикаторов в TSLab - Tue Mar 22 2011 09:45 AM

Вот в этой ветке ЗигЗаг скачал замечательный индикатор ЗигЗаг, на котором торгую уже не один год в МТ4. Но сейчас столкнулся с ситуацией, что нет никакой возможности применить его в визуальном конструкторе для автоматизации торгового процесса. Дело в том, что я использую ЗигЗаг таким образом, что мне важны только уровни нескольких последних экстремумов, находящихся на переломах ЗигЗага. То есть по факту я использую фракталы, образованные индикатором ЗигЗаг, а не то значение(кстати, так и не понял какое и что оно из себя представляет), которое на выходе у ЗигЗага.

Так вот, нельзя ли сделать индикатор Фрактал по переломам ЗигЗага, причем таким образом чтоб на выходе у индикатора, и, соответственно, в распоряжении у пользователя, было хотя бы 3-4 значения последних переломов, а не только один последний. Я думаю, такая вещь пригодилась бы очень многим. По крайней мере пробежался по форуму, очень многие просят нечто подобное в той или иной форме.
Автор: profit

Re: Заказ индикаторов в TSLab - Tue Mar 22 2011 10:45 AM

Буквально позавчера набрёл на эту идею которой уже давно пользуются.Это приносит доход вообще?

Посмотрел на текущий фьючерс-вроде шикарно пашет в рамках месяца.А как в более длинной перспективе.
Кстати я сейчас вручную забиваю данные в график что бы выставить комфортный стоп и профит путём оптимизации.
Время много надо на такую рутину.

Я торгую зиг загом уже много лет.Автоматизировать пока не получилось эффективно,но у меня вообще другой подход,я торгую против пиков.

Я этот индикатор zz. считаю косячным.Вот там же в ветке есть zzMS два штуки,они бодрые.
Автор: Роман

Re: Заказ индикаторов в TSLab - Tue Mar 22 2011 01:44 PM

При торговле на шумах внутри дня ZZ вообще незаменимая вещь. Я в свое время чего только неперепробовал, но устойчиво во времени работают только зигзаг и фракталы. Этим более менее можно доверять.

Это собственно единственные 2 индюка, которые я пользую
Автор: profit

Re: Заказ индикаторов в TSLab - Tue Mar 22 2011 05:41 PM

Здесь на форуме раньше был SysKreator,весьма не плохой специалист по кодам.Очень много хороших индикаторов выложил в ветке.
Исчез после работы над зиг загами на самом интересном месте.Когда подошли к самому главному-заморозке на графике всех пиковых значений зиг зага.То есть новые рисует но старые не отменяет.
Наверное косит сейчас бабульки успешно.

Я со своими скудными познаниями в программировании методом тыка сделал нечто подобное только без пиков и с формулой пол метра длинны.То есть у меня он после появления нового пикового значения рисует все подряд уровни.В принципе уже стало не плохо.Во всяком случае не хуже классики стал работать скрипт,стабильно.Но результата который он должен давать мощного пока таким не хитрым способом не добиться.

Надо Креатора короче искать,он вроде как в финаме проживал по последним данным.

Либо альтернативу.Самое загадочное это то что именно после этой информации на форуме прекратили выкладывать новые индикаторы.А зиг заг сюда за уши тянули месяцев 8 где то.

Автор: profit

Re: Заказ индикаторов в TSLab - Tue Mar 22 2011 05:48 PM

По факту здесь целая рота программистов сидит молчунов и все идеи хорошие снимает.Бывает ещё через засланных казачков уточняют детали.Не буду называть ники но они знают о ком речь идёт.

Это моё личное мнение составленное на основании опытных наблюдений.
Так действительно лучше из засады работать.
Только человеческий материал надо привлекать как то,а он по ходу уменьшается.
Автор: alexds

Re: Заказ индикаторов в TSLab - Thu Mar 24 2011 04:47 PM

И все таки про JMA. Уже писалось раньше. Тогда комплект кривых будет примерно полным.

Ссылки:
http://www.jurikres.com/faq/faq_ama.htm#betterthan
http://strategy4you.ru/strategii-foreks-...jma-system.html - там индюк для MT4

http://codebase.mql4.com/ru/1523 - а это так
Автор: ViL

Re: Заказ индикаторов в TSLab - Thu Mar 24 2011 06:42 PM

Originally Posted By: alexds
И все таки про JMA. Уже писалось раньше. Тогда комплект кривых будет примерно полным.

Ссылки:
http://www.jurikres.com/faq/faq_ama.htm#betterthan
http://strategy4you.ru/strategii-foreks-...jma-system.html - там индюк для MT4

http://codebase.mql4.com/ru/1523 - а это так


А чем не устраивает тот, который уже есть?
http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8353#Post8353
Автор: usas

Re: Заказ индикаторов в TSLab - Fri Mar 25 2011 03:19 PM

Ув.Вил!
Вот здесь http://www.docstoc.com/docs/21540818/Jurik-Moving-Average-(JMA)
лежит толкОвое описание этого индикатора Юрика-жмурика на русском языке, только вот вытащить его оттуда отдельно у меня не получается.
У кого получится просьба запостить сюда, индикатор имхо хороший..
Автор: alexds

Re: Заказ индикаторов в TSLab - Sat Mar 26 2011 03:36 AM

Originally Posted By: ViL

А чем не устраивает тот, который уже есть?
http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8353#Post8353


Да, вполне. Сенкс
Автор: vvkg

Re: Заказ индикаторов в TSLab - Sat Mar 26 2011 10:23 AM

Originally Posted By: usas
...У кого получится просьба запостить сюда, индикатор имхо хороший..
чтобы скачать потребовалась регистрация в Фейсбуке - зарегился, а она требует 19,95 $ в месяц абонентки, но наш советский ум привык бороться с трудностями, а закалка последних лет позволила мне за 2 часа непрерывного использования клавиши "Prt Scr" и обеих кнопок мышы привели к конечному результату, выложенному здесь
http://narod.ru/disk/8443673001/%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%B7%D1%8F%D1%89%D0%B0%D1%8F%20JMA%20%D0%BF%D0%BE%D0%BB%D0%BD%D0%B0%D1%8F.doc.html
промежуточный результат (урезанные скрины для проверки склеивания) вот здесь
http://narod.ru/disk/8444286001/%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%B7%D1%8F%D1%89%D0%B0%D1%8F%20JMA%20%D1%81%D0%BA%D1%80%D0%B8%D0%BD%D1%8B.doc.html
ежели чё не так - напишите
Автор: usas

Re: Заказ индикаторов в TSLab - Sat Mar 26 2011 12:06 PM

Всё ОК! Спасибо.. полагаю калиффтиф оценит Ваш титанический труд!
А индюк хороший...
Автор: vvkg

Re: Заказ индикаторов в TSLab - Sat Mar 26 2011 08:21 PM

признаюсь честно: первоначально делал для себя, но и для других товаристчей не жалко
Автор: oxotn1k

Re: Заказ индикаторов в TSLab - Sun Mar 27 2011 06:51 PM

Originally Posted By: backdoor_64
а про линейную регрессию забыли?(
сделайте пожалуйста, вот есть какое-то описание http://gordago.ru/forex/indicators/linear-regression.html


Присоединяюсь к просьбе, сделайте плиз. Интересует именно LINEAR REGRESSION LINE.
Автор: ViL

Re: Заказ индикаторов в TSLab - Sun Mar 27 2011 07:07 PM

Originally Posted By: oxotn1k
Originally Posted By: backdoor_64
а про линейную регрессию забыли?(
сделайте пожалуйста, вот есть какое-то описание http://gordago.ru/forex/indicators/linear-regression.html


Присоединяюсь к просьбе, сделайте плиз. Интересует именно LINEAR REGRESSION LINE.


http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=12544#Post12544
Автор: oxotn1k

Re: Заказ индикаторов в TSLab - Wed Mar 30 2011 01:31 PM

Originally Posted By: ViL
Originally Posted By: oxotn1k
Originally Posted By: backdoor_64
а про линейную регрессию забыли?(
сделайте пожалуйста, вот есть какое-то описание http://gordago.ru/forex/indicators/linear-regression.html


Присоединяюсь к просьбе, сделайте плиз. Интересует именно LINEAR REGRESSION LINE.


http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=12544#Post12544

Спасибо большое, но это не совсем то. LINEAR REGRESSION LINE - это скользящая средняя. Могу, если нужно, вечерком описание из книжки приложить.
Автор: oxotn1k

Re: Заказ индикаторов в TSLab - Sun Apr 03 2011 11:55 AM

Описание
Автор: sss

Боллинджер со сдвигом - Mon Apr 11 2011 07:58 AM

Боллинджер уже есть. Если можно добавьте к нему сдвиг.
Автор: silverman

Re: Боллинджер со сдвигом - Sat Apr 16 2011 02:49 PM

Господа, доброго времени суток. Интересует разработка индикатора ADXR. ссылка с описанием http://www.alortrade.ru/terminals/at/help/Help%20AlorTrade%204.0/R/inds/dm.htm
Автор: 777

Re: Боллинджер со сдвигом - Sun Apr 17 2011 01:06 AM

silverman В фрмуле пишите: (ADX + ADX[i-1])/2
Автор: farik

Re: Боллинджер со сдвигом - Tue Apr 19 2011 11:32 PM

также нужен Linear Regression Indicator
Автор: Saturn

Re: Боллинджер со сдвигом - Thu Apr 21 2011 11:50 PM

777 может вы сможете помочь? http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=26255#Post26255 а то больше расчитывать не на кого!
Автор: SergeySal

Re: Заказ индикаторов в TSLab - Tue May 03 2011 11:00 AM

Подскажите пожалуйста как сделать условием без входа в позицию "вход в позицию по условию, но ни тейк профит ни стоп лосс не достигнуты".?
Автор: aisle

Re: Заказ индикаторов в TSLab - Wed May 04 2011 10:08 PM

Здравствуйте! АО/АС на основе экспоненты можно сделать?
Автор: Роман

Re: Заказ индикаторов в TSLab - Fri May 06 2011 12:00 PM

Необходимо сделать отдельный блок "Проскальзывание", который бы цеплялся к блокам "Открытие если..." и "Закрытие по...".
Тогда бы решилась проблема невозможности настроить свое индивидуальное проскальзывание для входа в рынок и для выхода по стопу.

Свою систему с помощью кубиков мне удалось собрать, гоняю уже неделю на реале и очень удручен, что автоматический вариант системы в ТСЛаб недобирает около 50% прибыли из-за этого пустячка.
Автор: Popai

Re: Заказ индикаторов в TSLab - Tue May 24 2011 11:58 AM

Добрый день, сделайте пожалуйста свечи heiken ashi.
Спасибо.
Автор: ViL

Re: Заказ индикаторов в TSLab - Tue May 24 2011 12:24 PM

Originally Posted By: Popai
Добрый день, сделайте пожалуйста свечи heiken ashi.
Спасибо.


http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=12299#Post12299
Автор: depak

Re: Заказ индикаторов в TSLab - Wed May 25 2011 10:33 PM

Помогите пожалуйста. У меня есть идея усовершенствовать индикатор уровней «Максимум за/Минимум за», чтобы в моменты резкого изменения цен уровни Hi/Lo ускорялись вслед за ценой. Необходимо, чтобы уровни Hi/Lo находились от цены закрытия последней свечи не дальше определенной величины. Этого можно добиться введением в индикатор переменной N. То есть, когда разность между ценой Hi/Lo и ценой закрытия последней свечи становится больше N, уровни Hi/Lo должны переместиться на расстояние N от цены закрытия последней свечи, тем самым подтягивая уровни Hi/Lo ближе к цене. Получается своеобразный трейлинг стоп, интегрированный в канал Дончиана. По моему мнению, с помощью этой модификации канал Дончиана должен более четко отслеживать тренды при большой волатильности рынка, делая входы и выходы по более выгодным ценам. О результатах тестирования этой идеи обязательно отпишусь.
Идею продемонстрирую на следующем примере:
На Рис.1. показаны стандартные каналы «Максимум за/Минимум за» на получасовках. Примерно 8.10.2010 цена резко пошла вниз, а индикатор очень сильно отстал, поэтому покупка произошла по цене 136,91р, а могла произойти по цене 133,75р при наличии параметра ускорения, аналогичная ситуация и с продажей (см. нижний канал).


Автор: ViL

Re: Заказ индикаторов в TSLab - Thu May 26 2011 12:42 AM

Мне кажется это можно сделать и существующими блоками в визуальном редакторе. Цену закрытия можно сохранить в обновляемом значении, если Hi/Lo - цена закрытия > N
Автор: depak

Re: Заказ индикаторов в TSLab - Thu May 26 2011 12:47 AM

А как это будет выглядеть? Покажите пожалуйста на примере скрипта.
Автор: ViL

Re: Заказ индикаторов в TSLab - Thu May 26 2011 01:05 AM

/
Автор: depak

Re: Заказ индикаторов в TSLab - Sun Jun 05 2011 04:04 PM

Originally Posted By: ViL
/
Спасибо за помощь, посмотрел ваш скрипт. Но к сожалению получилось совсем не то что я описал в посте #27942. Если вас не затруднит, не могли бы Вы модифицировать индикатор Максимум/Минимум как я описал в посте #27942.
Автор: ViL

Re: Заказ индикаторов в TSLab - Sun Jun 05 2011 06:14 PM

По-моим чисто математическим убеждениям будет то же самое, что Вы эту переменную запихнете в цикл расчета максим за, что Вы эту переменную в отдельном цикле. От перемены мест, сумма не поменяется, либо тогда я не догнал, что Вам нужно.
Автор: depak

Re: Заказ индикаторов в TSLab - Sun Jun 05 2011 07:21 PM

Я согласен, должно получиться то-же самое. Но я прошу модифицировать индикатор для того чтобы иметь наглядное представление (графическое) о том как движутся линии Min/Max, только так я смогу оценить правильно ли мы друг друга поняли, и правильно ли реализован алгоритм. К сожалению через блок схемы мне это трудно понять, но я смотрю на график цены и вижу что сделки проходят совершенно не так как я задумал.
Автор: captian

Re: Заказ индикаторов в TSLab - Sun Jun 05 2011 07:31 PM

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

Click to reveal..


фьюч сбера 60 мин.
Автор: depak

Re: Заказ индикаторов в TSLab - Sun Jun 05 2011 08:19 PM

Ребят, я согласен, может получиться очень любопытно. К сожалению на свою беду у меня совершенно нет способности к программированию, даже в школе со всеми этими Паскалевскими блок-схемами я мягко говоря плавал. Но у меня куча торговых алгоритмов в голове, реализовать которые я могу только с вашей помощью. Помогите пожалуйста!
Автор: aisle

Re: Заказ индикаторов в TSLab - Mon Jun 06 2011 03:51 PM

Что-то никто не реагирует!
АО/АС на основе экспоненты можно сделать?
Автор: depak

Re: Заказ индикаторов в TSLab - Mon Jun 06 2011 05:56 PM

Originally Posted By: aisle
Что-то никто не реагирует!
АО/АС на основе экспоненты можно сделать?

Хочется верить что никто не реагирует по причине того, что заняты помощью в реализации моей идеи.
Автор: aisle

Re: Заказ индикаторов в TSLab - Mon Jun 06 2011 11:13 PM

smile Надеюсь, что вашу идею реализуют быстро, а я - следующий ))
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Jun 06 2011 11:20 PM

depak, просим понять правильно, идей у людей сотни тысяч, реализовывать каждую мы просто не в состоянии. Если люди делают, но что-то не получается, мы стараемся помочь. Но делать за Вас мы не можем. На форуме достаточно материала, для того, что бы то, что Вы хотите попробовать, сделать самому.
Автор: 777

Re: Заказ индикаторов в TSLab - Tue Jun 07 2011 12:03 AM

Originally Posted By: depak
Я согласен, должно получиться то-же самое. Но я прошу модифицировать индикатор для того чтобы иметь наглядное представление (графическое) о том как движутся линии Min/Max, только так я смогу оценить правильно ли мы друг друга поняли, и правильно ли реализован алгоритм. К сожалению через блок схемы мне это трудно понять, но я смотрю на график цены и вижу что сделки проходят совершенно не так как я задумал.

Можно попробывать реализовать, не просто конечно, еще бы понять, что хотите в итоге smile , ... nagvalru @ rambler.ru
Автор: depak

Re: Заказ индикаторов в TSLab - Tue Jun 07 2011 12:15 AM

Проверьте почту
Автор: Tanat

Re: Заказ индикаторов в TSLab - Wed Jun 08 2011 12:12 AM

Originally Posted By: depak
Помогите пожалуйста. У меня есть идея усовершенствовать индикатор уровней «Максимум за/Минимум за», чтобы в моменты резкого изменения цен уровни Hi/Lo ускорялись вслед за ценой. Необходимо, чтобы уровни Hi/Lo находились от цены закрытия последней свечи не дальше определенной величины. Этого можно добиться введением в индикатор переменной N. То есть, когда разность между ценой Hi/Lo и ценой закрытия последней свечи становится больше N, уровни Hi/Lo должны переместиться на расстояние N от цены закрытия последней свечи, тем самым подтягивая уровни Hi/Lo ближе к цене. Получается своеобразный трейлинг стоп, интегрированный в канал Дончиана. По моему мнению, с помощью этой модификации канал Дончиана должен более четко отслеживать тренды при большой волатильности рынка, делая входы и выходы по более выгодным ценам. О результатах тестирования этой идеи обязательно отпишусь.
Идею продемонстрирую на следующем примере:
На Рис.1. показаны стандартные каналы «Максимум за/Минимум за» на получасовках. Примерно 8.10.2010 цена резко пошла вниз, а индикатор очень сильно отстал, поэтому покупка произошла по цене 136,91р, а могла произойти по цене 133,75р при наличии параметра ускорения, аналогичная ситуация и с продажей (см. нижний канал).

На стандартных блоках на вскидку могу предложить такие варианты.
В принципе, из Вашего описания не совсем ясно, как считать индикатор в период после "подтягивания" и когда возвращаться к обычному каналу.

Опишите поподробней, можно будет и в C# сделать.

А вообще, это все, конечно, оффтоп whistle
Автор: Tanat

Re: Заказ индикаторов в TSLab - Wed Jun 08 2011 01:20 PM

Вот еще.
Делал, когда только начал с TSLab работать и ковырял пример HiLow. Вот только визуализацию не делал и не сразу сообразил, что это похоже на то, что вы хотите.
Автор: depak

Re: Заказ индикаторов в TSLab - Wed Jun 08 2011 03:15 PM

Originally Posted By: Tanat
Вот еще.
Делал, когда только начал с TSLab работать и ковырял пример HiLow. Вот только визуализацию не делал и не сразу сообразил, что это похоже на то, что вы хотите.

Нет к сожалению это не то. У меня намного все проще.
Автор: Kayur

Re: Заказ индикаторов в TSLab - Sat Jun 11 2011 10:19 AM

Спасибо за объяснение работы JMA. Искал несколько недель объяснение параметров "период и фаза". Хотелось бы знать принципы фильтрации JMA. Фильтр Кальмана (его функционал) математиками описан и используется боле 40 лет. Кубические "сплайны", как основа фильтрации - тоже, и т.д. Где-то читал, что в основу JMA заложена фильтрация сигнала при наведении оружия на движущуюся и "уворачивающуюся" цель. У кого-нибудь есть описание внутренней логики JMA/
Автор: aisle

Re: Заказ индикаторов в TSLab - Mon Jun 13 2011 08:29 PM

Кто-нибудь! АО/АС на основе экспоненты сделайте!

Или скажите, что не будете делать, а то все молчат, а я тут бомбардирую форум просьбами!!!!
Автор: icc

Re: Заказ индикаторов в TSLab - Tue Jun 14 2011 07:41 AM

Добрый день.
Просьба, помочь с созданием пары блоков для работы со стаканом.
Требуется, блок который на момент пересчета скрипта выдавал бы цифру - суммарное количество лотов от края спреда до установленной глубины.
Например, берем наш блок, устанавливаем в нем значение 150, и на каждый пересчет скрипта в нем будет значение суммарного количества лотов которые выставлены на расстояние 150 пунктов от края спреда, (спред 191900 / 191910 первый блок показывал бы сумму лотов от 191910 до 192060, а второй от 191750 до 191900).
Автор: Max

Re: Заказ индикаторов в TSLab - Tue Jul 19 2011 09:48 PM

Добрый день.
Подскажите пожалуйста где можно скчать индикатор Ишомоку для ТС лаб?
Спасибо.
Автор: ViL

Re: Заказ индикаторов в TSLab - Tue Jul 19 2011 10:11 PM

http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8882#Post8882
Автор: alexds

Re: Заказ индикаторов в TSLab - Sun Aug 07 2011 06:59 AM

А можно FRAMA.
http://www.alpari-life.ru/article/2010/08/02.php
Автор: alexds

Re: Заказ индикаторов в TSLab - Sat Aug 27 2011 03:37 AM

И ZeroLag Stochs (Коль уже есть Zerolag MACD)
http://codebase.mql4.com/ru/721
Автор: sar

Re: Заказ индикаторов в TSLab - Mon Sep 12 2011 02:28 PM

Очень хотелось бы получить блок отвечающий за суммирование элементов.
по факту я хочу найти факториал котировок за пол часа. то есть 1мин+2мин+3мин и тд итп. на выходе получаю одно большое число.
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Sep 12 2011 02:42 PM

Хм-м. А чем блок "Сумма За" не угодил?
Или я чего-то не понял?
Автор: sar

Re: Заказ индикаторов в TSLab - Mon Sep 12 2011 04:00 PM

Не встречал такого блока, и на форуме как то может не заметил, можно ссылку на него?
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Sep 12 2011 04:35 PM

Он в поставке программы в индикаторах.
Автор: sar

Re: Заказ индикаторов в TSLab - Mon Sep 12 2011 04:41 PM

блин... Спасибо, я эту вкладку никогда не открываю))
Автор: Sonic

Re: Заказ индикаторов в TSLab - Thu Sep 22 2011 02:20 PM

Поделитесь пожалуйста индиктором Гистограммой MACD
http://enc.fxeuroclub.ru/423/
это не тоже самое что MACD представленный в виде гистограммы.
Автор: ViL

Re: Заказ индикаторов в TSLab - Thu Sep 22 2011 02:55 PM

Не уверен, что кто-нибудь такую формулу в отдельный блок загонял. smile
Возьмите блок формулы и напишите SMA-Macd и выведите на график, нажмите на точку соединителя и справа, в свойствах, укажите гистограмму.
Автор: Sonic

Re: Заказ индикаторов в TSLab - Thu Sep 22 2011 03:19 PM

Пробовал, в формуле ставить MACD гистограмма = MACD – Signal (и наоброт) их разница не существенная для отрисовки в виде гистограммы, в результате получаю лес smile
Оно и логично, так как на примере Газпрома, в точке его SMA=~17k а значение MACD=~83

Пойду по-гуглю...

upd: Гистограмму MACD можно получить по следующей формуле блоков:
MACD=MA(fast)-MA(slow)
MACD Гистограмма=MACD-MA(сигнальная, из MACD)
smile


Спасибо за советы, надо приучить себя сначала подумать, а потом спросить)
Автор: ViL

Re: Заказ индикаторов в TSLab - Thu Sep 22 2011 03:48 PM

Рад, что помог. smile
Автор: R2D224RUS

Re: Заказ индикаторов в TSLab - Mon Sep 26 2011 07:12 PM

Доброго времени суток!
Скорее всего Уважаемый 777 сотворил индикатор "Профит Последней/Предпоследней Закрытой позиции"..
Возможно ли добыть этот код индикатора в открытом виде что бы переработать его в индикатор "Профит i-n закрытой позиции". Т.е. требуется получить "Профит N закрытой позиции назад от последней"
Или может уже есть такой готовый...
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Sep 26 2011 07:31 PM

Думаю открытый код в ветке там где этот индикатор, если кода там нет, то тут только к 777 обращаться.
Автор: doctoralexus2

Re: Заказ индикаторов в TSLab - Fri Oct 14 2011 11:46 PM

Доброго всем времени суток!!! Неоднократно просил разработчиков написать наконец-то нормально работающий, НЕ ПЕРЕРИСОВЫВАЮЩИЙ фрактал. Чтобы когда нарисовались на графике 5 свечей, (если по классике) то все, сигнал нарисовался, и дальше бы не отменялся, вне зависимости от значений шестой свечи.Очень хочеться иметь этот индикатор в арсенале. Заранее спасибо
Автор: Avis

Re: Заказ индикаторов в TSLab - Sat Oct 22 2011 04:57 PM

Доход за N сделок; Доход за N дней, часов, минут; С закрытия последней сделки прошло N баров. Первые два кубика являются логичным продолжением и развитием уже существующих кубиков. В сочетании с блоком "С закрытия последней сделки прошло N баров" будет возможно просчитать периоды затишья после серьезных движений на рынке, в течение которых неизбежно пилится заработанная ранее прибыль. При какой полученной прибыли и за какой период сколько необходимо времени выждать до вхождения в следующую сделку. Интуитивные ручные остановки дюжины скриптов с ручной фиксацией прибыли на одном инструменте на 1-2 суток позволяют избегать практически всегда неизбежной рыночной консолидации. Хотелось бы иметь статистически подтвержденный срок "выдержки" и автоматизировать эту процедуру для реальной торговли.
Автор: vito333

Re: Заказ индикаторов в TSLab - Mon Oct 31 2011 06:03 PM

Heikin-Ashi наверное невозможная вещь для TSLab в графическом виде?
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Oct 31 2011 06:35 PM

http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=12299#Post12299
Автор: vito333

Re: Заказ индикаторов в TSLab - Tue Nov 01 2011 12:15 AM

вау! спасибо!
Автор: Sewa

Re: Заказ индикаторов в TSLab - Tue Nov 01 2011 03:13 PM

А можно ли сделать индикатор на основе АТR.
Такой уже реализован в МТ4. Называется NRTR_ATR_STOP. Вот ссылка:
http://codebase.mql4.com/ru/600
Слабое бодобие я видел в Метастоке и еще в каких то прогах.
Имхо, очень полезный индикатор. Можно использовать и как стоп и как тренд следящий.
Автор: Evrika

Re: Заказ индикаторов в TSLab - Fri Nov 04 2011 02:56 PM

Originally Posted By: Alexei
Хотелось бы классический NRTR. Может быть кто сделает :-) ...


Тоже заинтересовался! Не достали?

Загрузил отсюда
Дополнительные индикаторы
все что было, но NRTR там нет!

Кто знает где взять? Может разработчики сделают?
Автор: dddforum

Re: Заказ индикаторов в TSLab - Mon Nov 07 2011 06:42 PM

Здравствуйте,
подскажите а уровни поддержки-спопротивления (S/R levels), или Свинг(Swing) уровни , или пивоты уже сделали? что-то поиском не нашел. произвольный таймфрейм, мак или мин на нем. Как мультичарт или нинзе или везде smile
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Nov 07 2011 07:34 PM

PivotPoint был где-то на форуме. А вообще этот вопрос решается просто Блоком формула., сжатием, и ценами close high low. в приложении пивот пойт.
По подобию сможете сделать любой уровень.
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Nov 07 2011 07:46 PM

Кстати именно этот вопрос можно решить проще, от сжатия просто взять TypicalPrice
Автор: Andrej

Re: Заказ индикаторов в TSLab - Wed Nov 09 2011 08:45 AM

Прошу создать блок логического ОЗ, который будет запоминать кратковременные логические сигналы. Это позволит создавать более сложные алгоритмы, запоминать предыдущее значение ОЗ, делать различные счетчики и т.п.
С помощью имеющегося ОЗ построить такой элемент крайне сложно.

Логику работы можно посмотреть по ссылке:

http://www.radioforall.ru/2010-01-11-19-05-54/298-2010-01-14-13-01-56

Прошу не отмалчиваться, ответить, будете делать или нет?
Автор: Nektodron

Re: Заказ индикаторов в TSLab - Wed Nov 09 2011 01:43 PM

Триггер по импульсу переключает свое состояние с 0 на 1 и наоборот. Все это можно сделать с помощью блока ОЗ.
Автор: Andrej

Re: Заказ индикаторов в TSLab - Mon Nov 14 2011 06:05 PM

Да, теоретически можно. Вы пробовали?

В ОЗ есть 2 входа, вход данных и вход условия, поэтому, чтобы сохранить "1" нужно на вход данных подать "1" и на вх. условия тоже "1", а, чтобы сбросить ОЗ теперь нужно на вх. данных подать "0", а на вход условия - "1". Т.е. это куча логики на входах и преобразование числовых значений ОЗ на выходе в логические. Т.Е. ОЗ не предназначено изначально под это.
С нормальным триггером, который заточен именно под работу с логическими значениями это сделать гораздо проще.

В очередной раз "натыкаюсь" на то, что вам по барабану удобство работы пользователей с вашей программой...
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Nov 14 2011 06:38 PM

Originally Posted By: Andrej
Да, теоретически можно. Вы пробовали?

В ОЗ есть 2 входа, вход данных и вход условия, поэтому, чтобы сохранить "1" нужно на вход данных подать "1" и на вх. условия тоже "1", а, чтобы сбросить ОЗ теперь нужно на вх. данных подать "0", а на вход условия - "1". Т.е. это куча логики на входах и преобразование числовых значений ОЗ на выходе в логические. Т.Е. ОЗ не предназначено изначально под это.
С нормальным триггером, который заточен именно под работу с логическими значениями это сделать гораздо проще.

В очередной раз "натыкаюсь" на то, что вам по барабану удобство работы пользователей с вашей программой...


Пример простого триггера есть вот здесь:
http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=33333#Post33333
В примере оз принимает 1 если было одно пересечение и -1, если другое.
Автор: Andrej

Re: Заказ индикаторов в TSLab - Tue Nov 15 2011 12:02 PM

Спасибо за пример, оказался полезным)))
Автор: ViL

Re: Заказ индикаторов в TSLab - Tue Nov 15 2011 01:21 PM

Рад помочь. Вопрос с триггерами решен надеюсь теперь навсегда? smile
Как видно из примера вместо 4 триггеров, можно использовать только один, а всю логику уместить в одну формулу.
Автор: GRust

Re: Заказ индикаторов в TSLab - Mon Nov 21 2011 12:26 PM

Можно сделать ASCTrend, как в SmartX АйТи-инвеста?
Правда описание расчета индикатора сколько искал, так и не нашёл.
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Nov 21 2011 12:52 PM

Originally Posted By: GRust
Можно сделать ASCTrend, как в SmartX АйТи-инвеста?
Правда описание расчета индикатора сколько искал, так и не нашёл.


Первый пост в этой ветке:

Originally Posted By: andy
1. Вы можете в этой ветке заказать разработку необходимого вам индикатора.
2. В заказе нужно указать четкое описание индикатора.
3. Мы собираем заказы, разбираем, выставляем приоритеты и реализуем.

"Классика" пойдет в поставку TSLab. "Экзотика" будет размещена на форуме в соответствующей ветке.
Автор: GRust

Re: Заказ индикаторов в TSLab - Mon Nov 21 2011 02:47 PM

Я знал что ответ примерно такой будет, и из-за этого написал что не смог найти описание.
Люди добрые, у кого есть описание, скиньте сюда, или ссылку.
Автор: Sveta7171

Re: Заказ индикаторов в TSLab - Tue Nov 22 2011 12:36 PM

Здравствуйте. Помогите пожалуйста построить индикаторы. Я в этом деле вообще ничего не понимаю. Индикаторы стандартные такие, как Параболик, MFI, FI, Ichimoki, Индикатор Чайкина, ATR. (разрешение xml)
Автор: captian

Re: Заказ индикаторов в TSLab - Tue Nov 22 2011 12:47 PM

Originally Posted By: Sveta7171
Здравствуйте. Помогите пожалуйста построить индикаторы. Я в этом деле вообще ничего не понимаю. Индикаторы стандартные такие, как Параболик, MFI, FI, Ichimoki, Индикатор Чайкина, ATR. (разрешение xml)

Некоторые, такие как ATR есть в стандартных. Другие можно поискать здесь http://www.tslab.ru/ubb/ubbthreads.php?ubb=postlist&Board=12&page=1
И только если не нашли нужные, стоит их заказать. Из перечисленного на форуме не видел только Чайкина. Но не уверен, что он подходит для автоматической торговли (впрочем не мне решать)))
Автор: ViL

Re: Заказ индикаторов в TSLab - Tue Nov 22 2011 04:33 PM

Originally Posted By: Sveta7171
Здравствуйте. Помогите пожалуйста построить индикаторы. Я в этом деле вообще ничего не понимаю. Индикаторы стандартные такие, как Параболик, MFI, FI, Ichimoki, Индикатор Чайкина, ATR. (разрешение xml)

ATR и параболик - идут с программой.
Ichimoki - http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8882#Post8882
MFI - http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8848#Post8848 (если это тот что нужен , потому-что с этой абривиатурой очень много разных индикаторов существует)
Чайкин здесь: http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8615#Post8615
FI - это что?

Как подгрузить в программу индикаторы?
Ответ здесь: http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8382#Post8382
Автор: Sveta7171

Re: Заказ индикаторов в TSLab - Tue Nov 22 2011 09:57 PM

FI-это индекс силы. MFI-индекс денежных потоков.
Автор: Sveta7171

Re: Заказ индикаторов в TSLab - Tue Nov 22 2011 10:00 PM

.Индекс силы (Force Index Short Term - FI)
Технический Индикатор Индекс Силы (Force Index, FRC) был разработан Александром Элдером и измеряет силу быков при каждом подъеме и силу медведей при каждом спаде. Он связывает основные элементы рыночной информации: направление цены, ее перепады и объем сделок. Данный индекс можно использовать в чистом виде, однако, лучше его сгладить с помощью скользящей средней. Сглаживание с помощью короткой скользящей средней (автор предлагает использовать 2 периода) помогает найти благоприятные моменты для открытия и закрытия позиций. Если же сглаживание производится с помощью длинной скользящей средней (например, 13-периодной), то индекс выявляет перемены тенденций.
Покупать желательно тогда, когда во время тенденции к повышению Force Index станет минусовым (упадет ниже нулевой линии);
Поднимаясь до новой высоты, индикатор сигнализирует о продолжении тенденции к повышению;
Сигнал к продаже поступает, когда во время тенденции к понижению Force Index становится положительным;
Падая на новую глубину, Индикатор Силы сигнализирует о силе медведей и продолжении тенденции к понижению;
Если изменения цен не подкреплены аналогичным изменением объема, то Force Index остается на одном уровне, что предупреждает о близком развороте тенденции.


Сила каждого движения рынка определяется его направлением, размахом и объемом. Если цена закрытия текущего бара выше, чем предыдущего, то сила положительна. Если текущая цена закрытия ниже, чем предыдущая, то сила отрицательна. Чем больше различие в ценах, тем больше сила. Чем больше объем сделок, т ем больше сила.
RAW FORCE INDEX = VOLUME (i) * (CLOSE (i) - CLOSE (i - 1))
FORCE INDEX = MA (RAW FORCE INDEX, N)
Где:
RAW FORCE INDEX — "сырой" Индекс Силы;
FORCE INDEX — Индекс Силы;
VOLUME (i) — объем текущего бара;
CLOSE (i) — цена закрытия текущего бара;
CLOSE (i - 1) — цена закрытия предыдущего бара;
MA — любая скользящая средняя: простая, экспоненциальная, взвешенная или усредненная (сглаженная);
N — период сглаживания.
Автор: Sveta7171

Re: Заказ индикаторов в TSLab - Tue Nov 22 2011 10:32 PM

MFI нужен который индекс денежных потоков.чайкин, RVI и кстати MFI( http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8848#Post8848 ) почему-то не работают.ошибок нет, но линия индикатора не отображается.Извиняюсь,что завалила вопросами)))
Автор: ViL

Re: Заказ индикаторов в TSLab - Wed Nov 23 2011 01:34 AM

Originally Posted By: Sveta7171
.Индекс силы (Force Index Short Term - FI)
Технический Индикатор Индекс Силы (Force Index, FRC) был разработан Александром Элдером и измеряет силу быков при каждом подъеме и силу медведей при каждом спаде. Он связывает основные элементы рыночной информации: направление цены, ее перепады и объем сделок. Данный индекс можно использовать в чистом виде, однако, лучше его сгладить с помощью скользящей средней. Сглаживание с помощью короткой скользящей средней (автор предлагает использовать 2 периода) помогает найти благоприятные моменты для открытия и закрытия позиций. Если же сглаживание производится с помощью длинной скользящей средней (например, 13-периодной), то индекс выявляет перемены тенденций.
Покупать желательно тогда, когда во время тенденции к повышению Force Index станет минусовым (упадет ниже нулевой линии);
Поднимаясь до новой высоты, индикатор сигнализирует о продолжении тенденции к повышению;
Сигнал к продаже поступает, когда во время тенденции к понижению Force Index становится положительным;
Падая на новую глубину, Индикатор Силы сигнализирует о силе медведей и продолжении тенденции к понижению;
Если изменения цен не подкреплены аналогичным изменением объема, то Force Index остается на одном уровне, что предупреждает о близком развороте тенденции.


Сила каждого движения рынка определяется его направлением, размахом и объемом. Если цена закрытия текущего бара выше, чем предыдущего, то сила положительна. Если текущая цена закрытия ниже, чем предыдущая, то сила отрицательна. Чем больше различие в ценах, тем больше сила. Чем больше объем сделок, т ем больше сила.
RAW FORCE INDEX = VOLUME (i) * (CLOSE (i) - CLOSE (i - 1))
FORCE INDEX = MA (RAW FORCE INDEX, N)
Где:
RAW FORCE INDEX — "сырой" Индекс Силы;
FORCE INDEX — Индекс Силы;
VOLUME (i) — объем текущего бара;
CLOSE (i) — цена закрытия текущего бара;
CLOSE (i - 1) — цена закрытия предыдущего бара;
MA — любая скользящая средняя: простая, экспоненциальная, взвешенная или усредненная (сглаженная);
N — период сглаживания.


Вот это легко собирается в блоке формула, считайте это своим первым заданием.
http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8149#Post8149
Автор: ViL

Re: Заказ индикаторов в TSLab - Wed Nov 23 2011 01:46 AM

Originally Posted By: Sveta7171
MFI нужен который индекс денежных потоков.чайкин, RVI и кстати MFI( http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8848#Post8848 ) почему-то не работают.ошибок нет, но линия индикатора не отображается.Извиняюсь,что завалила вопросами)))

MFI загрузил отсюда: http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=10060#Post10060 У меня работает.

А RVI это кто?
Автор: Sveta7171

Re: Заказ индикаторов в TSLab - Sat Nov 26 2011 08:11 PM

Спасибочки за ответы)))
Автор: akamorsh

Re: Заказ индикаторов в TSLab - Wed Nov 30 2011 12:03 AM

День добрый!

Очень бы хотелось увидеть в TSLab индикатор Ишимоку (естественно в его правильной интерпритации - облако впереди свечного графика, т.е. в будущем). Тот код, который есть на форуме, к сожалению не совсем верен (т.е. облако не смотрит в будущее), но для понимания данного индикатора это очень важно.

Ниже дано его описание, взятое с
http://www.forex-indicators.ru/description-indicator-ichimoku/

Индикатор Ишимоку определяет уровни поддержки и сопротивления, а также точный временной интервал входа в рынок при пробое уровней.

Также имеется толковая книга, описывающая работу с индикатором: «Индикатор Ишимоку как основа торговой системы», Терехов А.Ю. http://www.koob.ru/terehov_a_y/indikator_ishimoku_kak_osnova

Описание индикатора Ишимоку

Индикатор Ишимоку Кинко Хайо представляет из себя набор из пяти линий (Тенкан-сен, Кинджун-Спен, Сенкоу-Спен «B», Чикоу-Спен). Он довольно эффективно работает при начале начинающейся новой тенденции, т.е четко выялвяет начало, направление и точки входа в рынок.
Опишем кратко линии индикатора и какую функцию они выполняют.

1. Тенкан-Сен (разворотная линич) (красная линия) определяет краткосрочную линию тенденции, сигнализирующая начало «быстрой» тенденции. Показывает направление текущей краткосрочной тенденции и являясь средним значением за первый промежуток времени (high +low)/2 (high, low – максимум, минимум). Если линия Тенкан-Сен находится в восходящей направлении, то на рынке присутствует повышательная тенденция, если же линия направлена вниз- то на рынке присутствует нисходящий тренд. Если же линия параллельна оси времени – то на рынке затишься.

2. Киджун сен – (основная линия) (синяя линия) – долгосрочная линия тенденции. Показывает тренд более старшего временного промежутка, его направление. Т.е если линия киджун сен идет вверх- то рынок бычий, если же направлена вниз- то рынок медвежий.

3. Сенкоу-Спен «А» - (опережающая линия) определяется как середина торгового диапазона линий тенкан-сен и Кинжун-сен и сдвинутого вперед на величину второго временного промежутка. Линия сенкоу-спен является верхней границей «облака», а также сопротивлением и поддержкей.

Сенкоу-Спен «В» - (опережающая линия) – определяется как середина максимума и минимума за длинный (третий) временной интервал и сдвинутый вперед на величину второго временного промежутка Сенкоу Спен «В». Также является нижней границе облака Ишимоку.

4 . Чикоу-Спен – (запаздывающая линия) это график цен закрытия, сдвинутый на некоторый временной промежуток. Обычно составляет 5, 9, 26, 34

Облако ишимоку.

Облаком Ишимоку является промежуток между линиями Сенкоу-А и Сенкоу В и обычно штрихуется в другой цвет.

Параметры индикатора ишимоку

Параметрами по-умолчанию индикатора Ишимоку является:
Тенкан-Сен: 9
Киджун-Сен: 26
Сенкон-Спен В: 52

Важная особенность индикатора состоит в том, что если цена располагается выше, так называемого, «облака, то на рынке повышательная тенденция. Если же цена располагается ниже «облака», то рынок медвежий. А если цена располагается внутри самого «облака», то это боковая тенденция и стоит находиться вне рынка.
Автор: akamorsh

Re: Заказ индикаторов в TSLab - Sun Dec 04 2011 05:30 PM

А вот еще код Ишимоку из не менее извесного софта:
Click to reveal..

using System;
using System.Collections.Generic;
using System.ComponentModel;
using OEC.UI;
using OEC.Chart;
using OEC.Chart.Indicators;
using OEC.Chart.Details;
using OEC.Chart.BaseSeries;
using OEC.Chart.Custom.Import;
using System.Runtime.InteropServices;
using System.Drawing.Drawing2D;
using System.Drawing;

namespace OEC.Chart.Custom.Sandbox
{

enum IchimokuSeries { TenkanSen = 0, KijunSen = 1, SenkouSpanA = 2, SenkouSpanB = 3, ChinkouSpan = 4 }

[TimeSeries("Ichimoku Kinko Hyo", "Ichimoku", "Samples", AreaScale.Any, SourceScale = AreaScale.Price)]
public sealed class IchimokuKinkoHyoIndicator : OEC.Chart.Custom.CustomIndicator
{
HighestLowest highest_1 = new HighestLowest(HighestLowest.CompareMode.Highest);
HighestLowest lowest_1 = new HighestLowest(HighestLowest.CompareMode.Lowest);
HighestLowest highest_2 = new HighestLowest(HighestLowest.CompareMode.Highest);
HighestLowest lowest_2 = new HighestLowest(HighestLowest.CompareMode.Lowest);
HighestLowest highest_3 = new HighestLowest(HighestLowest.CompareMode.Highest);
HighestLowest lowest_3 = new HighestLowest(HighestLowest.CompareMode.Lowest);

protected override void Initialize()
{
base.Initialize();
UpdateOffset();
}

void UpdateOffset()
{
SubSeries[(int)IchimokuSeries.SenkouSpanA].Offset = SecondPeriod;
SubSeries[(int)IchimokuSeries.SenkouSpanB].Offset = SecondPeriod;
SubSeries[(int)IchimokuSeries.ChinkouSpan].Offset = -SecondPeriod;
OnChanged(DataChangedMode.Insert);
}

public override void Recalculate(RecalculateArg arg)
{
if (arg.End < SecondPeriod)
return;

highest_1.Start(0, FirstPeriod);
lowest_1.Start(0, FirstPeriod);
highest_2.Start(0, SecondPeriod);
lowest_2.Start(0, SecondPeriod);
highest_3.Start(0, ThirdPeriod);
lowest_3.Start(0, ThirdPeriod);

for (int i = 0; i < arg.End; ++i)
{
double high = arg.High[i, 0];
double low = arg.Low[i, 0];
double close = arg.Input[i, 0];

highest_1.Add(i, high);
highest_2.Add(i, high);
highest_3.Add(i, high);
lowest_1.Add(i, low);
lowest_2.Add(i, low);
lowest_3.Add(i, low);

double TenkanSen = (lowest_1.Result + highest_1.Result) / 2;
double KijunSen = (lowest_2.Result + highest_2.Result) / 2;
double SenkouSpanA = (TenkanSen + KijunSen) / 2;
double SenkouSpanB = (lowest_3.Result + highest_3.Result) / 2;
double ChinkouSpan = close;

if (i >= FirstPeriod)
arg.RArray[i, (int)IchimokuSeries.TenkanSen] = TenkanSen;

if (i >= SecondPeriod)
arg.RArray[i, (int)IchimokuSeries.KijunSen] = KijunSen;

if (i >= ThirdPeriod)
{
arg.RArray[i, (int)IchimokuSeries.SenkouSpanA] = SenkouSpanA;
arg.RArray[i, (int)IchimokuSeries.SenkouSpanB] = SenkouSpanB;
}

if (i >= SecondPeriod)
arg.RArray[i, (int)IchimokuSeries.ChinkouSpan] = ChinkouSpan;
}
}

[Browsable(true), Description("First Period, Tenkan-sen"), DisplayName("First, Tenkan-sen"), Category("Periods"), XmlSerializable]
public int FirstPeriod
{
get
{
return _FirstPeriod;
}
set
{
if (_FirstPeriod != value && value > 0)
{
_FirstPeriod = value;
OnChanged(DataChangedMode.Insert);
}
}
}
int _FirstPeriod = 9;

[Browsable(true), Description("Second Period, Kijun-sen"), DisplayName("Second, Kijun-sen"), Category("Periods"), XmlSerializable]
public int SecondPeriod
{
get
{
return _SecondPeriod;
}
set
{
if (_SecondPeriod != value && value > 0)
{
_SecondPeriod = value;
UpdateOffset();
}
}
}
int _SecondPeriod = 26;

[Browsable(true), Description("Third Period, Senkou Span B"), DisplayName("Third, Senkou Span B"), Category("Periods"), XmlSerializable]
public int ThirdPeriod
{
get
{
return _ThirdPeriod;
}
set
{
if (_ThirdPeriod != value && value > 0)
{
_ThirdPeriod = value;
OnChanged(DataChangedMode.Insert);
}
}
}
int _ThirdPeriod = 52;

protected override DataSeries[] DefaultSubseries
{
get
{
CustomDrawDataSeries a = new CustomDrawDataSeries(this, "Senkou Span A", new ChartStyle(SeriesChartType.Area, System.Drawing.Color.SandyBrown, 1, DashStyle.Dash));
CustomDrawDataSeries b = new CustomDrawDataSeries(this, "Senkou Span B", new ChartStyle(SeriesChartType.Area, System.Drawing.Color.Thistle, 1, DashStyle.Dash));
a.opposite = b;
b.opposite = a;
return new DataSeries[]{
new DataSeries(this, "Tenkan sen", new ChartStyle(SeriesChartType.Line,System.Drawing.Color.Red,1,DashStyle.Solid)),
new DataSeries(this, "Kijun sen", new ChartStyle(SeriesChartType.Line,System.Drawing.Color.Blue,1,DashStyle.Solid)),
a,
b,
new DataSeries(this, "Chinkou Span", new ChartStyle(SeriesChartType.Line,System.Drawing.Color.Lime,1,DashStyle.Solid))
};
}
}
}

class CustomDrawDataSeries : DataSeries
{
public CustomDrawDataSeries opposite;
public CustomDrawDataSeries(TimeSeriesBase TimeSeries, string Name, ChartStyle Style)
: base(TimeSeries, Name, Style)
{

}

public override void Draw(Graphics g, int fromIndex, int toIndex)
{
if (Style.ChartType == SeriesChartType.Area)
DrawCustomLines(g, fromIndex, toIndex, 0);
else
base.Draw(g, fromIndex, toIndex);
}

protected void DrawCustomLines(Graphics g, int fromIndex, int toIndex, int i_subseries)
{
PointF[] pnts = GetPoints(fromIndex, toIndex, i_subseries);
PointF[] pnts_o = opposite.GetPoints(fromIndex, toIndex, i_subseries);
if (pnts.Length > 1)
{
int len = pnts.Length - 1;
for (int i = 0; i < len; ++i)
{
g.DrawLine(CurrentPen, pnts[i].X, pnts[i].Y, pnts[i + 1].X, pnts[i + 1].Y);
if (pnts[i + 1].Y < pnts_o[i + 1].Y)
g.DrawLine(CurrentPen, pnts[i + 1].X, pnts[i + 1].Y, pnts_o[i + 1].X, pnts_o[i + 1].Y);
if (i == 0 && pnts[i].Y < pnts_o[i].Y)
g.DrawLine(CurrentPen, pnts[i].X, pnts[i].Y, pnts_o[i].X, pnts_o[i].Y);
}
}
}
}
}
Автор: 51ru

Re: Заказ индикаторов в TSLab - Mon Dec 26 2011 07:06 PM

добрый день!
плз, можно сделать кубики, выполняющие запись данных с онлайна на диск и чтение с диска в стратегию? причина вопроса - получить возможность использовать в скрипте данные, доступные только в реатайме (спрос, заявки и тп)
Автор: tslab.trader

Re: Заказ индикаторов в TSLab - Fri Jan 20 2012 05:57 AM

Очень прошу blush реализовать одним кубиком RMO (Rahul Mohindar Oscillator).

Сделал XML с реализацией "кубиками".


http://www.tslab.ru/ubb/ubbthreads.php?ubb=download&Number=4842&filename=RMO.xml

Так он выглядит в работе:



Так он описывается в Метасток:

SwingTrd1 = 100 * (Close - ((MA(C,2)+
MA(MA(C,2),2)+
MA(MA(MA(C,2),2),2) +
MA(MA(MA(MA(C,2),2),2),2) +
MA(MA(MA(MA(MA(C,2),2),2),2),2) +
MA(MA(MA(MA(MA(MA(C,2),2),2),2),2),2) +
MA(MA(MA(MA(MA(MA(MA(C,2),2),2),2),2),2),2)+
MA(MA(MA(MA(MA(MA(MA(MA(C,2),2),2),2),2),2),2),2)+
MA(MA(MA(MA(MA(MA(MA(MA(MA(C,2),2),2),2),2),2),2), 2),2)+
MA(MA(MA(MA(MA(MA(MA(MA(MA(MA(C,2),2),2),2),2),2), 2),2),2),2))
/10))/(HHV(C,10)-LLV(C,10));
RMO = Mov (SwingTrd1, 81, E);

Автор: tslab.trader

Re: Заказ индикаторов в TSLab - Fri Jan 20 2012 06:02 AM

Originally Posted By: akamorsh
А вот еще код Ишимоку из не менее извесного софта:


Ишимоку уже давно сделали, лежит в сборниках индикаторов. Могу выслать.
Автор: akamorsh

Re: Заказ индикаторов в TSLab - Mon Jan 23 2012 09:24 PM

Originally Posted By: tslab.trader
Originally Posted By: akamorsh
А вот еще код Ишимоку из не менее извесного софта:


Ишимоку уже давно сделали, лежит в сборниках индикаторов. Могу выслать.


Не откажусь
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Jan 23 2012 09:52 PM

http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8882#Post8882
Автор: bankir

Re: Заказ индикаторов в TSLab - Tue Jan 31 2012 10:41 PM

Здравствуйте.
Возможно ли модифицировать индикатор AMkA, написанный Nektodron?

http://www.tslab.ru/ubb/ubbthreads.php?u...h=true#Post2422

Хочется видеть отдельный "кубик" ER (коэфициент эффективности), получающий постоянно обновляемое значение данного коэффициента. Это нужно, чтобы сравнивать рассчитываемое ER с некоторой константой. Кауфман предлагает 2 типа выхода: разворот+фильтр и превышение ER порогового значения (задается в ручную). Насколько я понял из кода, этот момент не учтен.
http://depositfiles.com/files/jmguyx7ww
И еще: AMkAUp и AMkADown это разделение индикатора на растущую и падающую часть.
Что означает AMkASignal и как использовать этот "кубик"?
Автор: KUK

Re: Заказ индикаторов в TSLab - Sat Feb 04 2012 09:57 PM

Вечер добрый.
Модифицируйте стандартный Максимум и минимум ЗА, чтоб Период из вне задавать можно было (переменным)
Автор: Land

Re: Заказ индикаторов в TSLab - Sat Feb 04 2012 10:35 PM

Здравствуйте! Очень прошу реализовать индикатор "Адаптивное скользящее среднее Кауфмана" - Kaufman's Adaptive Moving Average (KAMA)
Автор: ViL

Re: Заказ индикаторов в TSLab - Sat Feb 04 2012 11:04 PM

Originally Posted By: Land
Здравствуйте! Очень прошу реализовать индикатор "Адаптивное скользящее среднее Кауфмана" - Kaufman's Adaptive Moving Average (KAMA)

http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=13360#Post13360
http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=13455#Post13455
http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=13388#Post13388
http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=13499#Post13499
Автор: kirillshi

Re: Заказ индикаторов в TSLab - Sat Feb 04 2012 11:35 PM

Здравствуйте всем! Незавалялся случаем канал Кельтнера, у кого-нить? Спасибо!
Автор: kirillshi

Re: Заказ индикаторов в TSLab - Sat Feb 04 2012 11:43 PM

Хочу выразить сжатие волатильности через полосы боллинджера и канал кельтнера(может у кого есть другие наработки по работе с циклами волы, буду рад общению) Руками торговал, в Alortick строил. Хотелось бы здесь потестить и запустить возможно.
Если кого интересует в чем соль, то после сжатия волы, происходит разжатие т.е. частенько происходит неплохой импульс.
Жду покуда кельтнер незайдет в боллинджера, что случается конечно не часто. А там уже прострел.
Автор: tslab.trader

Re: Заказ индикаторов в TSLab - Sun Feb 05 2012 04:50 AM

Есть готовое решение.

Даже не спрашивайте, почему так назван скрипт. Оригинальное название утеряно. (то ли "не прессуй", то ли "быкуй аккуратно").

Короче, Келтнер и Боллинджер, как по заказу. Играйтесь!

p.s. После сжатия волатильности нет четкого сигнала - в какую сторону будем валить, но то что скоро будет тренд - оно показывает.
Автор: profit

Re: Заказ индикаторов в TSLab - Sun Feb 05 2012 02:17 PM

Прикольная работа.Узнаю по почерку уже. smile
Автор: Land

Re: Заказ индикаторов в TSLab - Sun Feb 05 2012 04:07 PM

ViL, спасибо! Я пользовался только 64-х битной версией, поэтому эти индикаторы и не видел :(( А есть ли перекомпилированные индикаторы под 64-бит версию, а то у самого не получилось перекомпилировать( не разобрался я с этим делом) -или просьба более-менее подробно описать шаги, как это делается. Очень жду . Заранее спасибо.
Автор: 51ru

Re: Заказ индикаторов в TSLab - Sun Feb 05 2012 04:10 PM

Кемерово, привет! я уже неделю собираюсь скинуть тебе, как любителю боллинджера, ссылку на эту самую стратегию! понравилось условие входа по полосам келтнера-хотел предложить тебе посмотреть. а у тебя уже есть готовый скрипт на эту тему...

Паш, а ты не мог бы сделать готовый блок по обратке фишера? в принципе в стандартных индюках лабы есть стохастик rsi - это по сути своей тот же фишер, только стохастик вносит запаздывание...

вот тут про фишера пара слов:
http://fx-profit.at.ua/forum/6-95-1
Автор: ViL

Re: Заказ индикаторов в TSLab - Sun Feb 05 2012 08:22 PM

Originally Posted By: Land
ViL, спасибо! Я пользовался только 64-х битной версией, поэтому эти индикаторы и не видел :(( А есть ли перекомпилированные индикаторы под 64-бит версию, а то у самого не получилось перекомпилировать( не разобрался я с этим делом) -или просьба более-менее подробно описать шаги, как это делается. Очень жду . Заранее спасибо.

http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=15490#Post15490
http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=36504#Post36504
Автор: kirillshi

Re: Заказ индикаторов в TSLab - Sun Feb 05 2012 10:23 PM

Спасибо, респект и мегауважуха!
Автор: Sarych

Re: Заказ индикаторов в TSLab - Sun Feb 05 2012 11:36 PM

Плиз: 1) Очень нужен VAMA, если его нет (не нашел).
2) И еще такой, чтобы установить как бы наклон скользяшей средней: Точка 1 какой-то МА больше (или меньше) точки 2 на той же МА, более ранней, на некоторое число или больше.
3) И еще типа fractals но лучше: ближайшая точка где некоторая Low (бар 0) < Low (бар 0-1) и Low (бар 0) < Low (бар0+1) и при этом какая-то после (бара -1) другого бара Close (n) > Close (n-1). Это может оказаться и бар 0, и бар 0+1, и бар 0+2 - любой после бара 0-1.
То есть то что называется Swing Low. И аналогично для Swing High. И еще надо предусмотреть доплнительный зазор прочности: LOW минус некоторое число и HIGH плюс число. Идеальное место для стопов. Для Fractals такой зазор тоже весьма желателен. Картинку для SWING LOW прилагаю. fomit@mail.ru [img]http://http://narod.ru/disk/39785569001/%D1%82%D1%80%D0%B5%D0%B9%D0%BB%D0%B8%D0%BD%D0%B3-%D1%81%D1%82%D0%BE%D0%BF%20%D0%B2%20%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D1%83%D0%BC%D0%B5.png.html[/img]
Автор: tslab.trader

Re: Заказ индикаторов в TSLab - Mon Feb 06 2012 02:36 PM

Originally Posted By: 51ru
Паш, а ты не мог бы сделать готовый блок по обратке фишера? в принципе в стандартных индюках лабы есть стохастик rsi - это по сути своей тот же фишер, только стохастик вносит запаздывание...

вот тут про фишера пара слов:
http://fx-profit.at.ua/forum/6-95-1


Фишер уже готовый выкладывал в обменнике скриптов.
Готовый блок - а что в нем должно быть, StochRSI+Фишер или просто Фишер, цепляемый на кубик StochRSI, например?
Автор: 51ru

Re: Заказ индикаторов в TSLab - Mon Feb 06 2012 05:15 PM

мне кажется, что лучше сделать блок в виде RSI+EMA(или другое среднее)+фишер, с настройками периода для rsi и ма. применять фишера к stochrsi мне кажется не совсем верно, так как в этом случае мы преобразование rsi делаем дважды, а это не гуд - то есть должно быть что-то одно - или фишер+rsi или stochrsi. с другой стороны, был бы полезен и просто фишер, которого можно было бы попробовать навесить на чайкина или любой другой подобный осциллятор
Автор: tslab.trader

Re: Заказ индикаторов в TSLab - Mon Feb 06 2012 06:09 PM

Originally Posted By: Sarych
Плиз: 1) Очень нужен VAMA, если его нет (не нашел).
2) И еще такой, чтобы установить как бы наклон скользяшей средней: Точка 1 какой-то МА больше (или меньше) точки 2 на той же МА, более ранней, на некоторое число или больше.
3) И еще типа fractals но лучше: ближайшая точка где некоторая Low (бар 0) < Low (бар 0-1) и Low (бар 0) < Low (бар0+1) и при этом какая-то после (бара -1) другого бара Close (n) > Close (n-1). Это может оказаться и бар 0, и бар 0+1, и бар 0+2 - любой после бара 0-1.
То есть то что называется Swing Low. И аналогично для Swing High. И еще надо предусмотреть доплнительный зазор прочности: LOW минус некоторое число и HIGH плюс число. Идеальное место для стопов. Для Fractals такой зазор тоже весьма желателен. Картинку для SWING LOW прилагаю. fomit@mail.ru [img]http://http://narod.ru/disk/39785569001/%D1%82%D1%80%D0%B5%D0%B9%D0%BB%D0%B8%D0%BD%D0%B3-%D1%81%D1%82%D0%BE%D0%BF%20%D0%B2%20%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D1%83%D0%BC%D0%B5.png.html[/img]


Заказы здесь принимают с точным описанием. Что такое VAMA никто не знает.

2) делается кубиками
3) вряд ли кто-то будет это делать. фракталы уже есть.
Автор: tslab.trader

Re: Заказ индикаторов в TSLab - Tue Feb 07 2012 05:34 PM

Originally Posted By: 51ru
с другой стороны, был бы полезен и просто фишер, которого можно было бы попробовать навесить на чайкина или любой другой подобный осциллятор


Благодаря jhgjrht, теперь есть и такой кубик.

http://depositfiles.com/rmv/6478771361654241
Автор: tslab.trader

Re: Заказ индикаторов в TSLab - Wed Feb 08 2012 12:53 AM

Originally Posted By: kirillshi
Здравствуйте всем! Незавалялся случаем канал Кельтнера, у кого-нить? Спасибо!


Нашел Келтнера кубиком: http://depositfiles.com/rmv/6479419796217544
Автор: uuzzeerr

Re: Заказ индикаторов в TSLab - Fri Feb 10 2012 02:34 PM

ребята, ваши ссылки на депозит не пашут
Автор: uuzzeerr

Re: Заказ индикаторов в TSLab - Thu Feb 16 2012 07:36 PM

Originally Posted By: Nektodron
стандартное отклонение вроде давно есть - StDev.

в обновлении перекомпелите его под x64 plz
Автор: Belt777

Re: Заказ индикаторов в TSLab - Sat Mar 03 2012 12:29 AM

А никто не видел тут не совсем индикатора, скорее блочка, чтобы можно было узнать открыта позиция применимо к блоку или нет.

Ну то есть, проще говоря, если есть несколько блоков открытия позиций неплохо было бы знать - какие сейчас открыты, а какие закрыты.
Автор: ViL

Re: Заказ индикаторов в TSLab - Sat Mar 03 2012 12:44 AM

Originally Posted By: Belt777
А никто не видел тут не совсем индикатора, скорее блочка, чтобы можно было узнать открыта позиция применимо к блоку или нет.

Ну то есть, проще говоря, если есть несколько блоков открытия позиций неплохо было бы знать - какие сейчас открыты, а какие закрыты.

http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=21982#Post21982
Автор: Evrika

Re: Заказ индикаторов в TSLab - Sat Apr 14 2012 01:15 PM

Originally Posted By: KUK
Вечер добрый.
Модифицируйте стандартный Максимум и минимум ЗА, чтоб Период из вне задавать можно было (переменным)


Тоже нужен!
Причем нужна возможность загнать и вМинимумЗа и МаксимумЗа один и тотже период - например подключив Константу.
Подскажите пожалуйста где взять если сделали?!
Автор: ViL

Re: Заказ индикаторов в TSLab - Sat Apr 14 2012 02:10 PM

В версии 1.2 есть блок связанный параметр.
В версии 1.1 такого блока не будет.
Автор: alexagap

Re: Заказ индикаторов в TSLab - Wed Apr 18 2012 04:26 PM

Просьба написать простенький индикатор.
Называется Levels, поскольку помогает определить уровни поддержки и сопротивления.
На минутном графике по формуле (High – Open) – (Open - Low) * Параметр1 = Целое число(после запятой все отбрасываем)
Устанавливая индикатор например на часовой график мы должны сложить получившиеся 60 целых чисел (поскольку 1час = 60минут) и по закрытию часа отобразить получившийся импульс в соответствии со знаком относительно нуля в отдельном окне под графиком. Если на четырех часовой, то складываем 240 результатов. Линия 0 индикатора постоянно будет смещаться то вверх то вниз в зависимости от мощьности импульсов с положительным или отрицательным знаком.
Можно вместе с импульсом чертить горизонтальные линии на самом графике цены по максимуму или минимуму свечи. Желательно по цветам отображать возраст этих уровней. Например самый свежий красным, а самый старый почти в цвет фона чтобы не отвлекал. Еще можно к этим цветам подмешать силу уровней, если импульс был мощьный то он дольше остается ярким на графике.
Автор: ViL

Re: Заказ индикаторов в TSLab - Wed Apr 18 2012 06:43 PM

Для этого не нужно делать индикатор. Возьмите блок формула в нем и напишите (High – Open) – (Open - Low) * Параметр1
где параметр1 это блок константа.
что касается целых чисел, можно воспользоваться http://msdn.microsoft.com/ru-ru/library/7d101hyf.aspx
Для этого в блоке формула пишите, например:

1000* Math.Truncate( (High – Open) – (Open - Low) * Параметр1)/1000 )
Автор: alexagap

Re: Заказ индикаторов в TSLab - Wed Apr 18 2012 06:54 PM

А как же складывать эти целые числа. Мне нужно смотреть график 60 минут, а складывать по формуле нужно на минутках?
Автор: ViL

Re: Заказ индикаторов в TSLab - Wed Apr 18 2012 07:08 PM

не понял вопроса.
Автор: uuzzeerr

Re: Заказ индикаторов в TSLab - Wed Apr 18 2012 07:20 PM

со скобками напутал
Math.Truncate(((High-Open)-(Open-Low))*Параметр1)


to alexagap как трактуется этот зверъ?
Автор: alexagap

Re: Заказ индикаторов в TSLab - Wed Apr 18 2012 08:11 PM

Что-то он не так выглядит вот как он должен смотреться.

А трактуется очень просто. Нужно подобрать значение параметра1 так чтобы импульсы шли не очень часто. Эти импульсы показывают где была повышенная активность, обычно это указывает на уровень поддержки или сопротивления. Только вот распознать что это было поддержка или сопротивление не так то просто, нужно использовать дополнительные индикаторы.
Автор: alexagap

Re: Заказ индикаторов в TSLab - Wed Apr 18 2012 08:41 PM

Давайте еще раз по пунктам посмотрим.

1. Берем часовую свечу. В нее входит 60 минутных свечек.
2. к каждой 1минутной свече нужно пременить эту формулу (High – Open) – (Open - Low) * Параметр1 = Целое число(после запятой все отбрасываем)
3. Получаем массив 60 значений отрицательных и положительных.
4. Складываем эти 60 полученных значений и получаем сумму. Это будет отрицательное или положительное число.
5. Показываем это число под графиком по закрытию часовой свечи.
6. Повторяем для каждой часовой свечи на часовом графике.
Автор: ViL

Re: Заказ индикаторов в TSLab - Wed Apr 18 2012 10:37 PM

Есть такой блок СуммаЗа , его и используйте.
Автор: alexagap

Re: Заказ индикаторов в TSLab - Wed Apr 18 2012 11:27 PM

Hемогу, я только начал изучать работу с TSLab. Вот и прошу помочь, никак не могу врубится в эти блоки.
Автор: uuzzeerr

Re: Заказ индикаторов в TSLab - Thu Apr 19 2012 11:45 AM

Originally Posted By: ViL
Есть такой блок СуммаЗа , его и используйте.


в стандартных такого блока нет frown
Автор: ViL

Re: Заказ индикаторов в TSLab - Thu Apr 19 2012 01:08 PM

Индикаторы 9-ый сверху
Автор: uuzzeerr

Re: Заказ индикаторов в TSLab - Thu Apr 19 2012 01:47 PM

Originally Posted By: ViL
Индикаторы 9-ый сверху

упс, ссоррии, надо иногда отдыхать....


и что мы имеем?

Автор: alexagap

Re: Заказ индикаторов в TSLab - Thu Apr 19 2012 04:07 PM

То же не плохо получилось, незнаю как его теперь назвать. Но дивергенции нижней панели и цены очень хорошо видно.
Автор: uuzzeerr

Re: Заказ индикаторов в TSLab - Thu Apr 19 2012 05:36 PM

осталось найти правельное условие входа... wink
Автор: alexagap

Re: Заказ индикаторов в TSLab - Fri Apr 20 2012 11:00 AM

Originally Posted By: ViL
Индикаторы 9-ый сверху


Как обнулять эту сумму после сложения заданного периода?
Как данные брать с минуток а выводить результат на текущий график(таймфрейм)?

Возможно ли это с помощью блоков?
Автор: ViL

Re: Заказ индикаторов в TSLab - Fri Apr 20 2012 11:05 AM

Originally Posted By: alexagap

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

Что значит "после сложения заданного периода"? Обнуляют обычно по какому-либо заданному условию с помощью блока Обновляемое значение.
Originally Posted By: alexagap

Как данные брать с минуток а выводить результат на текущий график(таймфрейм)?
Возможно ли это с помощью блоков?

Блок Сжатие.
Автор: alexagap

Re: Заказ индикаторов в TSLab - Fri Apr 20 2012 11:39 AM

Условием обнуления будет являтся закрытие свечи текущего графика.

Про сжатие понятно, но разве можно в источнике данных на часовом графике поставить брать с минуток данные?
Автор: ViL

Re: Заказ индикаторов в TSLab - Fri Apr 20 2012 12:48 PM

Можно и тики. Тогда брать блок "Сжать в секунды".
Автор: alexagap

Re: Заказ индикаторов в TSLab - Fri Apr 20 2012 05:23 PM

Originally Posted By: ViL
Можно и тики. Тогда брать блок "Сжать в секунды".


Тагда получается нужно разжимать, а не сжимать. Я хочу видеть только часовой график, а расчет делать по минутному, но визуально он мне не нужен. Как я понял можно брать два источника данных для двух инструментов, но нельзя брать два источника данных одного инструмента но с разных таймфреймов.
Автор: Shara

Re: Заказ индикаторов в TSLab - Sat Apr 28 2012 09:00 PM

Уважаемые профессионалы! Помогите плиз начинающему. Где посмотреть, простую как грабли стратегию, скриптом, или визуально? - При пересечении обычным Стохастиком 20 - покупаем, 80 - продаем. Чтоб параметры можно было менять. Здесь находил стохастики, но со всякими наворотами. Нужен обычный. Форум очень разросся, новичку трудно найти, почему то
кнопки на форуме англицкие и весь текст по ширине не влазит в монитор. Приходится каждую строчку двигать в право. Может у меня чо не так? В других местах нормуль.
Автор: ViL

Re: Заказ индикаторов в TSLab - Sat Apr 28 2012 09:25 PM

Две константы 80 и 20, остальное так же как и во встроенных скриптах, где есть пересечения. простейший стохастик во встроенных индикаторах: Индикаторы - StochK
Под форумом слева есть выбор языка.
Автор: Shara

Re: Заказ индикаторов в TSLab - Sun Apr 29 2012 08:17 PM

Спасибо. У меня русский выбран, все равно все кнопки аглицкие.
А гдето можно пример посмотреть, а то я программу только поставил, еще не врубаюсь.
Автор: ViL

Re: Заказ индикаторов в TSLab - Sun Apr 29 2012 08:46 PM

Откройте "управление скриптами".
Увидите скрипты, поставляемые с программой.
Автор: Shara

Re: Заказ индикаторов в TSLab - Tue May 01 2012 09:03 PM

А есть такой стохастик?
Автор: ViL

Re: Заказ индикаторов в TSLab - Wed May 02 2012 10:46 AM

от StochK возьмите SMA и будет такой же
Автор: Shara

Re: Заказ индикаторов в TSLab - Wed May 02 2012 05:01 PM

А как это сделать не подскажете, а то я ноль.
Автор: ViL

Re: Заказ индикаторов в TSLab - Wed May 02 2012 05:33 PM

Вытащите в редактор два блока StochK и SMA.
StochK натяните на Источник, а SMA натяните на StochK.
Автор: Shara

Re: Заказ индикаторов в TSLab - Wed May 02 2012 05:51 PM

Спасибо, сейчас попробую.
Попробовал,график не стал показывать (пустое окно).
Пишет ошибка - 19:42:30.29 120 e:\Documents and Settings\1\Local Settings\Application Data\TSLab\TSLab\temp\code2.cs(22,32) : error CS0012: Тип "TSLab.Script.Handlers.BasePeriodIndicatorHandler" определен в сборке, ссылка на которую отсутствует. Следует добавить ссылку на сборку "TSLab.Script.Handlers, Version=1.1.24.58, Culture=neutral, PublicKeyToken=null".

Вот как кубики расположил, на скриншоте.
Автор: ViL

Re: Заказ индикаторов в TSLab - Wed May 02 2012 08:34 PM

Ругается на Ваш StochK, этот блок точно не из папки "Индикаторы".
Это какой-то самодельный либо обратитесь, к тому, кто его сделал, либо возьмите индикатор, входящий в поставку с программой. И на график выводите значение со StochK, а хотели выводить с SMA.
Автор: vito333

Re: Заказ индикаторов в TSLab - Wed May 02 2012 08:46 PM

по postSmooth видно, что из моего сборника smile
полагаю, Vil, что его у вас нет

на скрине вроде всё ОК, осталось SMA на панель протянуть

и сборку TSLab обновить до последней
Автор: ViL

Re: Заказ индикаторов в TSLab - Wed May 02 2012 10:17 PM

Вы бы иногда cs файлы своего сборника выкладывали бы, мне то же интересно иногда глазком одним взглянуть на код. smile
Автор: vito333

Re: Заказ индикаторов в TSLab - Thu May 03 2012 04:27 AM

да чего их смотреть, код как код, ещё и не самый правильный наверное
запозорите ещё smile

но если что интересует - пишите
Автор: Shara

Re: Заказ индикаторов в TSLab - Thu May 03 2012 08:33 PM

Господа, растолкуйте плиз новичку в чем у меня ошибка.Для тех кто понимает делов наверно на 5 минут. Может где уже был такой пример? Сам понять ни чего не могу, в програмировании ноль. Где ж еще помощи просить, как не на форуме.
Автор: vito333

Re: Заказ индикаторов в TSLab - Fri May 04 2012 12:44 AM

Originally Posted By: Shara
Спасибо, сейчас попробую.
Попробовал,график не стал показывать (пустое окно).
Пишет ошибка - 19:42:30.29 120 e:\Documents and Settings\1\Local Settings\Application Data\TSLab\TSLab\temp\code2.cs(22,32) : error CS0012: Тип "TSLab.Script.Handlers.BasePeriodIndicatorHandler" определен в сборке, ссылка на которую отсутствует. Следует добавить ссылку на сборку "TSLab.Script.Handlers, Version=1.1.24.58, Culture=neutral, PublicKeyToken=null".

Вот как кубики расположил, на скриншоте.


вот в этом случае - для простоты, чтобы не было этой ошибки - возьми StochK из вкладки "Индикаторы" (то есть из встроенных в ТСЛаб индикаторов)
Автор: TSA48

Re: Заказ индикаторов в TSLab - Sun May 06 2012 07:21 AM

Вот несложный прмер применения стохастика:
Автор: Shara

Re: Заказ индикаторов в TSLab - Sun May 06 2012 03:32 PM

Attachments
VAR4 Стохастик .xml (3 downloads)


Скажите плиз, а как этот пример посмотреть? Можно пошагово?
Автор: Shara

Re: Заказ индикаторов в TSLab - Sun May 06 2012 04:11 PM

Построил такой стохастик, а как в нем изменить уровни 40 и 80?
Автор: TSA48

Re: Заказ индикаторов в TSLab - Sun May 06 2012 05:53 PM

Как на форуме посмотреть(загрузить) файлы с расширением .xml?

1. Кликаете левой кнопкой на строку с именем скрипта (обычно синего цвета) с расширением .xml
2. Появляется табличка в которой надо нажать кнопку "сохранить" ; Выбираем, куда будем сохранять этот файл, ну,
например, на рабочий стол.
3. В появийшейся табличке "Сохранить как" сохраняем имя файла нажимая на кнопку "Сохранить"
4. Наш файл появляется на рабочем столе! Ну,правда, вместо того названия, что было в сохраняемом файле может
появится какая-то абракадабра из каких-то значков! Не пугайтесь - это наш сохраненный файл! Запомните его!
5. Загружаете TSLab.
6. Заходите в "Скрипты" (Самая верхняя строчка на панели)
7. Выбираете "Управление скриптами"
8. В списке справа нажимаете "Загрузить из файла"
9. В появившейся табличке "Открыть" выбираем место, куда мы сохранили наш файл - в нашем примере "Рабочий стол"
10. На рабочем столе находим наш сохраненный файл (не забываем про абракадабру!) и кликаем по нему левой кнопкой мыши.
11. Жмем кнопку "Открыть" внизу справа.
12. Наш скрипт появляется в окне "Управление скриптами" (то же самое имя (абракадабра) как и на рабочем столе)
13. Наводим на него курсор и активируем его, нажимая левую кнопку мышки.
14. Справа на панели нажимаем "Редактировать"
15. В появившемся окне выбираем " Редактор".
16. Должен появится наш скрипт в виде "кубиков".
17. Смотрим, анализируем разбираемся - если у вам другой брокер то настраиваемся через "Свойства" на него.
18. Если через какое-то время вы, вдруг, сваяли некий скрипт, зарабатывающий ничего себе так, то его можно сохранить
через: "Управление скриптами" -- "Сохранить в файл". Файл - где вам удобно, например на диске С - "Скрипты"(создать такую папочку)


А что касается конкретно скрипта "VAR4 Стохастик" то там "Стохастик" из штатного набора индикаторов дважды сглаженный (EMA. SMA1)
Уровни меняем изменяя значения констант "константа" и "константа1"
Автор: Shara

Re: Заказ индикаторов в TSLab - Sun May 06 2012 05:57 PM

Спасибо большое.
Автор: Shara

Re: Заказ индикаторов в TSLab - Sun May 06 2012 07:00 PM

А подскажите плиз где находятся значения констант "константа" и "константа1", что бы их поменять. В самом Стохастике не нашел,
нашел в кнопочке"Торговая математика"- "константа" загрузил на график 2шт. Поставил нужные мне значения- 80 и 20, а старые 80 и 40 остались на месте. Или их нужно как то удалить?
Автор: TSA48

Re: Заказ индикаторов в TSLab - Mon May 07 2012 08:22 AM

Значения констант остались после оптимизации. Посмотреть их можно (и старые и новые ваши) если на панели инструментов открыть окно "Свойства). Изменить значения констант можно если кликнуть левой кнопкой по кубику "константа". В появившемся справа окне ставим какое нужно значение. Здесь же можно изменить и имя константы. Далее жмем на панели инструментов кнопку "Выполнить" (такой зеленый треугольник) Кстати, кнопку "Выполнить" надо нажимать при любом изменении в скрипте!
Чтобы удалить ненужные кубики жмем правой кнопкой на ненужный кубик и в появившемся окне выбираем "Удалить" Не забываем нажать кнопку "Выполнить" Все!
И ещё.. У меня такое ощущение, что вы совсем не читаете руководство пользователя? Почитаете, плиз! Там много чего есть!
Автор: Shara

Re: Заказ индикаторов в TSLab - Tue May 08 2012 10:01 AM

Спасибо большое. Руководство пользователя у меня распечатано на бумаге. Там все так заумно написано, что я плохо понимаю. Если бы там описывалось с примерами, тогда другое дело. А так можно читать подробный учебник по ядерной физике для высшей школы, и ни чего не понять, потому что не физик ядерщик.
Автор: TSA48

Re: Заказ индикаторов в TSLab - Tue May 08 2012 01:44 PM

Руководство, конечно, не самое понятное! Но с пятого раза, ну, или с седьмого кое-что становится понятным! Мой вариант изучения: открываешь TSLab, открываешь новый скрипт, перетаскиваешь в него тот кубик, который собираешся изучать, читаешь все что про него написано (Руководство, примеры из форума и т.п.) и пытаешся его как-то использовать, к чему-то прилепить, пробуешь разные варианты соединения с другими кубиками и уж когда не получается никак задаешь вопрос на форуме.
Заведите в каком-нибудь текстовом редакторе папочку в которую
складывайте куски готовых решений скриптов, ответы с форумов( кроме этого есть еще ФИНАМ-TSLab, COMON- TSLab, You Tube, Google) по разным темам,рассортируйте их по темам, по направлениям и т. п.
например, у меня это выглядит так: http://s019.radikal.ru/i604/1205/af/88d1551df967.jpg постоянно дополняйте, просматривайте и скоро вы начнете все гораздо лучше понимать!

Кстати, эта ветка для ИНДИКАТОРОВ! Ваши вопросы лучше задавать в другой ветке: "Создание алгоритма при помощи визуального редактора"


Автор: Shara

Re: Заказ индикаторов в TSLab - Tue May 08 2012 07:10 PM

Спасибо, больше не буду. А неможете поделиться своей папочкой. Там у Вас уже много понять можно, много вами разжевано. Если не жалко своих нароботок скинте плиз на sw20@inbox.ru
Автор: Sarych

Re: Заказ индикаторов в TSLab - Fri Jun 08 2012 03:12 PM

VAMA - volume adjusted moving average. Чтобы скользящая средняя взвешивалась по объемам. Может, это уже есть?
Автор: Sarych

Re: Заказ индикаторов в TSLab - Tue Jun 12 2012 04:28 PM

Здравствуйте!
На форуме натыкался на утверждение, что фракталы (fractals) уже есть. Но не смог их найти. Не подскажете, в какой ветке искать?
Автор: ViL

Re: Заказ индикаторов в TSLab - Tue Jun 12 2012 04:52 PM

http://www.tslab.ru/ubb/ubbthreads.php?ubb=postlist&Board=26&page=1
Автор: ury

Re: Заказ индикаторов в TSLab - Sat Jul 21 2012 09:05 PM

Здравствуйте. Возоможно-ли сделать такой индикатор из МТ4. Называется SSRC.
http://www.forexfactory.com/attachment.p...mp;d=1293057105
Автор: zxc

Re: Заказ индикаторов в TSLab - Sun Jul 22 2012 12:17 AM

интересно. а теоретическое обоснование?
Автор: ury

Re: Заказ индикаторов в TSLab - Mon Jul 23 2012 06:03 PM

Основан на SpearmanRankCorrelation(Корреляция по Спеармену)
Там в коде ссылка на формулу. В остальном не силён, хотя моя ТС основана на этом индикаторе и даёт снимать тренды. Нужно только правильно использовать. Вот и приходится делать анализ на МТ4.
Автор: uuzzeerr

Re: Заказ индикаторов в TSLab - Mon Jul 23 2012 06:43 PM

Коэффициент корреляции Спирмена (Spearman rank correlation coefficient) — мера линейной связи между случайными величинами. Корреляция Спирмена является ранговой, то есть для оценки силы связи используются не численные значения, а соответствующие им ранги. Коэффициент инвариантен по отношению к любому монотонному преобразованию шкалы измерения.

тут Коэффициент корре...on coefficient)

а картинки просто мечта
Автор: nik

Re: Заказ индикаторов в TSLab - Tue Aug 28 2012 08:32 AM

Здравствуйте! Можно заказать разработку индикатора (блока визуального редактора) максимум/минимум в позиции лонг/шорт? Нужен для адекватного трейлинг стопа.
Автор: ViL

Re: Заказ индикаторов в TSLab - Tue Aug 28 2012 12:07 PM

Используйте блоки MAE и MFE
Автор: Роман

Re: Заказ индикаторов в TSLab - Tue Aug 28 2012 08:06 PM

Добрый день! Индикатор Пивот Пойнтс где можно скачать, дайте пожалуйста ссылку.
Автор: ViL

Re: Заказ индикаторов в TSLab - Tue Aug 28 2012 09:23 PM

Его в блоке формула можно построить.
Автор: Роман

Re: Заказ индикаторов в TSLab - Tue Aug 28 2012 09:37 PM

очень объемно получается
Автор: vvkg

Re: Заказ индикаторов в TSLab - Wed Aug 29 2012 12:43 AM

Originally Posted By: Роман
очень объемно получается
не так и сильно и я уже выкладывал, посмотрите http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=39410#Post42263
Автор: Venzel

Re: Заказ индикаторов в TSLab - Thu Sep 06 2012 08:56 PM

Добрый вечер.

Возможно сделать блок Доход (за день) без учета коэффициента в блоке Открытие позиции?
Автор: captian

Re: Заказ индикаторов в TSLab - Thu Sep 06 2012 09:17 PM

Originally Posted By: Venzel
Добрый вечер.

Возможно сделать блок Доход (за день) без учета коэффициента в блоке Открытие позиции?

Пока будешь ждать заказанный блок, можешь сделать дополнительный блок входа на 1 лот. И от него смотреть искомую прибыль.
Для этого берёшь логическую формулу и цепляешь её к лог формуле на открытие основной позиции. в поле условие пишешь основнаяформула==true И уже к этой формуле цепляешь блок открытия позиции. С блоком закрытие позиции аналогично.
Автор: Venzel

Re: Заказ индикаторов в TSLab - Fri Sep 07 2012 11:00 AM

Обычный блок Доход дает информацию только на время позиции и на каждую отдельно, а надо именно доход по всем сделкам в течении дня
Автор: ViL

Re: Заказ индикаторов в TSLab - Fri Sep 07 2012 02:27 PM

Есть же блок Доход(за день) его и используйте.
Автор: Venzel

Re: Заказ индикаторов в TSLab - Fri Sep 07 2012 02:46 PM

Я его и использую, только Доход(за день) цепляется к источнику, а не к открытию позиции )
Автор: 2outZ

Re: Заказ индикаторов в TSLab - Sun Sep 16 2012 10:10 PM

Хотелось бы очень видеть индикатор Morning_Fibonacci

http://codebase.mql4.com/ru/5752

Если котротко, то:
1. Устанавливается вручную как параметр время открытия рынка и время окончания формирования начального диапазона (как правило, открытие европейских бирж).
2. Чертятся уровни, как максимум и минимум начального диапазона.
3. От этих уровней откладываются вверх, и соответственно, вниз 3 уровня, 161, 261, 423% от начального диапазона.
Автор: Serhg

Re: Заказ индикаторов в TSLab - Thu Oct 25 2012 10:03 AM

Добрый день, тут скачал сборку индикаторов, там есть кубик: "баров с закрытия посл. позиции" - мне нужно условие с ним - открывать позицию, если с закрытия прошло 15 баров(БарСЗакПосПоз>15)- это мы прописали в логической формуле. Но теперь не открывается ни одной сделки, так как не было первой. Как сделать, что бы первая сделка открылась в независимости от этого условия или подскажите еще решение плз.
Автор: ViL

Re: Заказ индикаторов в TSLab - Thu Oct 25 2012 06:31 PM

Баров с закрытия, сохраните в ОЗ, по условию, нет позиции. И это значениее уже используйте для сравнения.
Автор: relict

Re: Заказ индикаторов в TSLab - Fri Nov 16 2012 01:30 PM

Добрый день.
Можно ли сделать индикатор StochD?
http://www2.wealth-lab.com/WIKI/StochD.ashx
Автор: ViL

Re: Заказ индикаторов в TSLab - Fri Nov 16 2012 01:36 PM

StochD is a smoothed version of the Stochastic %K, StochK
К StochK прикрепите SMA эта SMA и будет StochD
Автор: Shappy

=) - Sat Nov 24 2012 11:24 AM

Добрый день, очень хотелось бы увидеть кубик "Количество тиков в баре" за 10 сек или за 1 мин например... Спасибо;)
Автор: Irma

Re: =) - Fri Dec 21 2012 10:51 AM

Добрый день,

нужен индикатор "наклон средней скользящей":

1) сравниваются значения заданной средней скользящей на последнем баре и на n баров баров назад.

2) если если последнее значение МА > предыдущего, то наклон положительный (восходящий), если < то отрицательный (нисходящий).

может просто есть блок готовый? очень срочно, а у самой не получается(

Заранее благодарна...
Автор: ZooR

Re: =) - Fri Dec 21 2012 11:09 AM

куда ж вы так торопитесь? рынок никуда не убежит smile
Originally Posted By: Irma
Добрый день,

нужен индикатор "наклон средней скользящей":

1) сравниваются значения заданной средней скользящей на последнем баре и на n баров баров назад.

2) если если последнее значение МА > предыдущего, то наклон положительный (восходящий), если < то отрицательный (нисходящий).

может просто есть блок готовый? очень срочно, а у самой не получается(

Заранее благодарна...


куда ж вы так торопитесь? рынок никуда не убежит smile
Автор: ast

Re: =) - Fri Dec 21 2012 11:23 AM

а чем такая конструкция не подходит?
MA[i] - MA[i-1]
будет больше или меньше
Автор: Irma

Re: =) - Fri Dec 21 2012 12:03 PM

наверное подходит как формула)) Но как это в кубиках в ТСЛабе нарисовать?
Автор: ZooR

Re: =) - Fri Dec 21 2012 12:49 PM

кубик наз-ся лог.формула
в нём пишете MA[i] > MA[i-n] - когда условие истинно - наклон восходящий

во втором кубике пишете MA[i] < MA[i-n]- когда условие истинно - наклон нисходящий
Автор: Irma

Re: =) - Fri Dec 21 2012 01:08 PM

я видимо слишком мало понимаю пока, но не не получается(( пишет "индекс за пределами диапазона"...

мне нужно для сделки просто выполнение 2х условий: 1) пересечение средних и 2) одна из средних имеет нужный наклон...

может еще какие то кубики надо?
Автор: Irma

Re: =) - Fri Dec 21 2012 01:15 PM

Можно объяснить на уровне "для особо одаренных"? ))
Автор: SupportTSLab

Re: =) - Fri Dec 21 2012 01:35 PM

Irma, Начинать с в формуле должно быть не меньше, чем в значении [i-x], в данном случае 1
Автор: SupportTSLab

Re: =) - Fri Dec 21 2012 01:41 PM

В формуле как выше подсказали определяете значение наклона, то есть получится либо полодительное, либо отрицательное значение. Дальше подаете это значение на Логформулу. Там сравниваете это значение с Константой например (если хотите оптимизировать это число). Получается в итоге например, Если угол наклона > Константы и произошло пересечение, то совершается сделка.
+ учитывайте что при цене Газпрома в 300 и 100 рублей, будет и разницы в наклоне средней, так как она считается от цены.
Автор: Irma

Re: =) - Fri Dec 21 2012 01:51 PM

не поняла про константу... мне только угол наклона нужно, он любое знаечение, главное знак определить. Можно как совсем для чайников?? я беру объект "логическая формула", пишу туда выражение, напр EMA[]<EMA[-2] (то бишь, та же средняя, тока 2 бара назад), соединяю на входе с объектом "EMA", на выходе соединяю с объектом "и", объект "и" соединяю с объектом "пересечение сверху/снизу", объект "и" соединяю с объектом открытие сделки. Так?
Автор: SupportTSLab

Re: =) - Fri Dec 21 2012 02:01 PM

Тогда в формуле сравниваете EMA<EMA[i-2], начинать с 2. Далее на логформулу подаете эту Формулу, где пишите Формула>0 либо <0 и блоком И соединяете с пересечением.
Автор: ZooR

Re: =) - Fri Dec 21 2012 02:20 PM

пример
Автор: Irma

Re: =) - Fri Dec 21 2012 03:36 PM

вроде получилось..
Автор: Irma

Re: =) - Sat Dec 22 2012 12:08 PM

Спасибо огромное!
Автор: doctoralexus2

Re: =) - Sun Dec 23 2012 12:51 PM

Добрый день всем!!! Давно пытаю разработчиков насчет возможности использования индикатора,который смог бы связывать к примеру два экстремума на графике и проецировать в настоящее( в виде прямой линии). Самостоятельно реализовать не получается но есть идея как это сделать.
Итак:1) имеем две оси. Абсцисса -Х,ордината-У.
2)Имеем две точки с координатами: точка А(х,у)и В(х1,у1)
3)Надо найти на графике точку С(х2,у2)
Используя линейную функцию и зная значение х2 на текущий момент (х2=х+х1) остается вычислить У2 и прочертить линию.
Формула: у2=х2:((х1-х):(у1-у))
На бумаге все выходит, но ввиде скрипта или индикатора никак не получается:(
Если идея заинтересует,было бы здорово ее реализовать, очень на это надеюсь..
Автор: usas

Re: =) - Wed Jan 30 2013 05:17 PM

Красиво отрабатывает трейл по теням от Вито, третий день тренд тащит..
Вито - респект!
Автор: andy

Re: =) - Wed Jan 30 2013 05:19 PM

Красиво :-)
Автор: usas

Re: =) - Wed Jan 30 2013 05:42 PM

Сглазил, сработал трейл...:-))
Автор: captian

Re: =) - Wed Jan 30 2013 06:11 PM

Originally Posted By: usas
Вито - респект!
+++
Автор: UberVasya

Re: =) - Mon Feb 25 2013 05:40 PM

Возможно сделать индикатор показывающий количество сделок на покупку и продажу отдельно по определенному инструменту из таблицы всех сделок за время t?
Или подскажите где копать.
Автор: ra81

Re: =) - Tue Feb 26 2013 07:22 AM

Originally Posted By: UberVasya
Возможно сделать индикатор показывающий количество сделок на покупку и продажу отдельно по определенному инструменту из таблицы всех сделок за время t?
Или подскажите где копать.

Уже давно сделано. ТикДельты всякие это как раз оно. Плохо смотрели smile
Автор: UberVasya

Re: =) - Wed Feb 27 2013 08:41 PM

Originally Posted By: ra81

Уже давно сделано. ТикДельты всякие это как раз оно. Плохо смотрели smile

Посмотрел получше и нашел. Спасибо.
Автор: mitya041

Re: Заказ индикаторов в TSLab - Thu Mar 07 2013 02:31 PM

Добрый день, можно сделать данный индикатор? Основанный на SAR. Формулы расчета TSLab и QUIK различаются. Нашел формулу расчета для QUIK и хотел бы применить в TSLab.
Автор: mitya041

Re: Заказ индикаторов в TSLab - Tue Mar 12 2013 08:27 AM

Originally Posted By: mitya041
Добрый день, можно сделать данный индикатор? Основанный на SAR. Формулы расчета TSLab и QUIK различаются. Нашел формулу расчета для QUIK и хотел бы применить в TSLab.


Поможете?
Автор: 777

Re: Заказ индикаторов в TSLab - Fri Mar 15 2013 11:22 PM

Originally Posted By: mitya041
Добрый день, можно сделать данный индикатор? Основанный на SAR. Формулы расчета TSLab и QUIK различаются. Нашел формулу расчета для QUIK и хотел бы применить в TSLab.

У vito333 в сборнике есть SAR один в один как у Вас в txt.
В doc у Вас не индикатор, а торговый алгоритм.
Автор: mitya041

Re: Заказ индикаторов в TSLab - Sat Mar 16 2013 11:12 AM

В сборке у vito333 есть похожий индикатор, но не один в один. Некоторые сигналы отличаются в TSLab от QUIK.
Автор: vito333

Re: Заказ индикаторов в TSLab - Sat Mar 16 2013 02:44 PM

Originally Posted By: mitya041
В сборке у vito333 есть похожий индикатор, но не один в один. Некоторые сигналы отличаются в TSLab от QUIK.

http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=53173#Post53173
Автор: mitya041

Re: Заказ индикаторов в TSLab - Sat Mar 16 2013 03:02 PM

там же ответил
Автор: mitya041

Re: Заказ индикаторов в TSLab - Wed Apr 03 2013 11:19 AM

Может за денежку вы готовы были бы произвести данный индикатор на свет?
Автор: din24@mail.r

Re: Заказ индикаторов в TSLab - Tue Apr 16 2013 12:44 PM

1.Линия на основном графике с возможностью задания двух точек,возможность регулировать толщину и цвет.
2. Индикатор канала, две линии по локальным максимумам и минимумам
3. ФИБО как индикатор с возможностью менять параметры уровней, хотя бы добавлять.
confused
Автор: dengaz

Re: Заказ индикаторов в TSLab - Thu Jun 06 2013 10:12 AM

Всем привет.

У мну вопрос. При заказе индюка/робота я смогу получить код на С#/VB .NET. Использовать планирую в Мультичартс.
Индюк/робот за деньги заказываются ?

Спс.
Автор: Dictum Factum

Re: Заказ индикаторов в TSLab - Mon Jun 24 2013 07:01 AM

Уважаемые админы, не могли бы вы пополнить раздел форума "статьи, примеры", скриптом и примером того, как можно было бы экспортировать значения баров и индикаторов в excel (где уже можно было бы уже рассчитывать корреляции, проводить регрессионный анализ и пр.)?
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Jun 24 2013 12:18 PM

Такого функционала не предусмотрено.
Я же Вам в соседней ветке дал ссылку на пример, как это реализовал 777.
Автор: Dictum Factum

Re: Заказ индикаторов в TSLab - Sat Jun 29 2013 11:24 PM

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

http://www.moneyshow.com/trading/article...k-Payoff-Index/

http://www.metastock.com/Customer/Resources/TAAZ/?c=3&p=61
Автор: ViL

Re: Заказ индикаторов в TSLab - Sun Jun 30 2013 07:33 PM

По-моему можете сами сделать в блоке формула.
Автор: Prival

Re: Заказ индикаторов в TSLab - Tue Jul 02 2013 06:32 PM

Открытый интерес.
Нет возможности отобразить в виде свечей (я не смог, может не нашол). В квике есть.

З.Ы. Может кому то будет интересно. Видео как анализировать ОИ и использовать его в торговле, там же видно что ОИ лучше отображать в виде свечек.
http://www.youtube.com/watch?v=OLWPhgUCbQo
Автор: micstura

Re: Заказ индикаторов в TSLab - Mon Sep 23 2013 12:26 AM

Присоединяюсь к вопросу как вывести ОИ в виде свечей или может быть в виде не однотонной а разноцветной гистограммы.
Автор: ra81

Re: Заказ индикаторов в TSLab - Mon Sep 23 2013 10:01 AM

Originally Posted By: micstura
Присоединяюсь к вопросу как вывести ОИ в виде свечей или может быть в виде не однотонной а разноцветной гистограммы.

такой возможности нет сейчас.хотя можно попробовать через бэкдор smile. Может быть нарисую smile
Автор: ra81

Re: Заказ индикаторов в TSLab - Mon Sep 23 2013 02:20 PM

Гатова.

Вот так выглядит картинка итоговая

Сверху инструмент, снизу ОИ с объемом за свечку.

Пользуйтесь wink
Автор: micstura

Re: Заказ индикаторов в TSLab - Mon Sep 23 2013 05:11 PM

ra81 Спасибо.
Автор: ra81

Re: Заказ индикаторов в TSLab - Mon Sep 23 2013 06:15 PM

Originally Posted By: micstura
ra81 Спасибо.

в принципе можно применять все теже кубики что применимы к инструменту.
Автор: ra81

Re: Заказ индикаторов в TSLab - Wed Sep 25 2013 04:58 AM

индикатор открытого интереса в виде свечек, переехал сюда http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=58262#Post58262

все вопросы по нему писать туда же.
Автор: komissar

Re: Заказ индикаторов в TSLab - Sun Oct 13 2013 06:16 PM

Добрый день. А можно исходный код (C#.cs) кубиков FootprintVolume и
FootprintDelta?
Автор: Evgeny_z

Re: Заказ индикаторов в TSLab - Wed Nov 06 2013 04:26 AM

Originally Posted By: andy
1. Вы можете в этой ветке заказать разработку необходимого вам индикатора.
2. В заказе нужно указать четкое описание индикатора.
3. Мы собираем заказы, разбираем, выставляем приоритеты и реализуем.

"Классика" пойдет в поставку TSLab. "Экзотика" будет размещена на форуме в соответствующей ветке.


Добрый день всем!
Дело в следующем. Не знаю к кому обратиться с ... "Уровнями Фибоначи" (см. топик в этой ветке чуть ниже http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=58454#Post58454) спустили все на тормозах..., верней послали на... кнопку "Предложи идею" - купился и написал.
Оказалось, что это "отстойник для Лохов" - ни одна работа не делается с апреля, мое предложение тоже отлежалось уже месяц в "запланированных" (что само по себе порадовало, включили в запланированные очень быстро. Но на этом все и кончилось)

Однако к делу. Может я опять не там пишу? Но выбора нет...

В TSLab есть штатные инструменты (примитивы - как они названы в меню) - их не много (линии 3-х видов, уровни Фибоначи и т.д)

Пытаюсь пользоваться и вспоминаю все время разработчика этих "примитивов" - вам не икалось?
Из приличных слов нашел одно - халтура (извините за прямоту)

Перечислю недостатки, которые "достают":

1. Для всех инструментов - выставляю на одном графике, они появляются на всех графиках этого инструмета с разныими таймфреймами и во всех открытых скриптах - и на реальном счету и лаборатории (представте себе уровни Фибоначи на М1 и на Н1 или на дневном... одновременно)- только не говорите, что так задумано - это ОШИБКА разработчика.
2. Конкретно по "Уровням Фибоначи" -
а) п.1
б) цифры находятся справа от линий и при попытке наложить на бары графика уходят за "горизонт", т.е. за правую рамку окна - как пользоваться? Они должны быть СЛЕВА.
в) Нет уровней, выходящих за 100%, а это сильно ограничивает пользование инструментом... (посмотрите хотя бы, как сделано в Quik, не говорю уже о Metatrader)

Все это - недоделки и ОШИБКИ разработчика! (Ну, или его уровень - если хотите)

3. В комплекте примитивов TSLab не хватает 2-х простых инструментов
а) Отрезков (в дополнение к линиям) - когда много уровней на графике, то линии излишне затеняют, а отрезки - нет.
б) Расширения Фибоначи - широко применяется в теханализе

И последнее. TSLab ориентирован на автотрейдинг и разработку МТС.
Однако, стратегии и алгоритм торговли советника часто отрабатывается вручную. Здесь и нужны соответствующие инструменты для проведения теханализа... Что же, для этого еще кучу программ устанавливать с наличием простых инструментов?

Заранее благодарен за понимание, Евгений.
Ждем Ваших ответов, а лучше - действий.
Автор: Prival

Re: Заказ индикаторов в TSLab - Tue Nov 12 2013 07:09 PM

Количество заявок на покупку
Количество заявок на продажу
В Квике они выглядят вот так (рисунок прилагаю).
В сборнике в разделе vvTrade нашол кубики (Сейчас заявок на покупку. Сейчас заявок на продажу).
Это тоже самое что транслирует биржа или нет ? (см. рисунок квика)
Помогите подскажите как получить эту информацию для анализа и построения алгоритма. К сожалению кубики в vvTrade не работают, выдается ошибка.

З.Ы. Хотелось бы иметь стандартные кубики для работы с этой информацией

З.Ы. Для разработчиков пожалуйста сделайте возможность отображать эту информацию в виде свечей, и добавте эту возможность к открытому интересу (это будет правильно). Заранее спасибо
Автор: ViL

Re: Заказ индикаторов в TSLab - Tue Nov 12 2013 08:39 PM

http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=35632&page=6
Автор: Stan

Re: Заказ индикаторов в TSLab - Mon Nov 18 2013 03:28 PM

Создать Кластерный боковой объем как в Volfix, то есть количество сделок чем больше на определенном уровне тем сильнее этот уровень!!!!!!?????
Автор: Vegas

Re: Заказ индикаторов в TSLab - Wed Dec 04 2013 03:00 PM

удалил
Автор: ra81

Re: Заказ индикаторов в TSLab - Sat Dec 07 2013 10:44 AM

Originally Posted By: Stan
Создать Кластерный боковой объем как в Volfix, то есть количество сделок чем больше на определенном уровне тем сильнее этот уровень!!!!!!?????

а как вы предполагаете использовать данный кластерный объем в визуальном редакторе? Прежде чем чтото делать нужно для начала понять сможете ли вы применить результат своей деятельности smile

Попробуйте написать как вы будете извлекать данные и по какому принципу. У вас ведь кубики и сделать анализ того что набилось в кластеры вам будет сложновато smile
Автор: barrimor

Re: Заказ индикаторов в TSLab - Sun Dec 29 2013 12:24 AM

Добрый день!
Сделайте, пожалуйста, кубик с индикатором VWAP. Описание тут: http://support.marketdelta.com/entries/188633-Volume-Weighted-Average-Price-VWAP-VWAPI
Заранее благодарен...
Автор: KDG

Re: Заказ индикаторов в TSLab - Wed Jan 22 2014 12:09 PM

Уважаемые, скомпилируйте пожалуйста DLL с индикатором:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TSLab.Script.Handlers;

namespace SomeIndicators
{
public IList<double> Execute(IList<double> src)
{
if (src.Count < 141) return null;
var Close = src;
double[] FATLX = new double[Close.Count];
double[] SATLX = new double[Close.Count];
double[] FATLXTable =
{+0.561502034657, +0.365741768344, +0.1246283836945, -0.01473961436490, -0.0371325723306};
double[] SATLTXable =
{ +0.1562539741407,
+0.1544433970055,
+0.1490876447087,
+0.1404107375158,
+0.1287733541965,
+0.1146548833881,
+0.0986297098048,
+0.0813388630116,
+0.0634586670988,
+0.0456681224862,
+0.02861686283596,
+0.01289512910231,
-0.000992478135273,
-0.01264800909568,
-0.02179536921844,
-0.02828884295089,
-0.0321146253528,
-0.0333852375805,
-0.0323273732493,
-0.02926465534010,
-0.02459582768226,
-0.01876975990526,
-0.01225894355651,
-0.00553281646021,
+0.000967174802483,
+0.00685003796724,
+0.01179369930414,
+0.01555830124952,
+0.01799461556330,
+0.01904668516080,
+0.01874894020431,
+0.01721801688746,
+0.01463993028818,
+0.01125459367281,
+0.00733763300160,
+0.00318087935980,
-0.000926801922595,
-0.00471774192679,
-0.00796092857942,
-0.01047476408738,
-0.01213594301454,
-0.01288361015678,
-0.01272018083043,
-0.01170778972996,
-0.00996104895990,
-0.00763675336606,
-0.00492103058867,
-0.002016289386101,
+0.000872939162694,
+0.00355390195125,
+0.00585747288703,
+0.00764840512816,
+0.00883222157032,
+0.00935962815646,
+0.00922769618096,
+0.00847716366416,
+0.00718837485383,
+0.00547415811171,
+0.00347055233582,
+0.001326605368544,
-0.000806719824469,
-0.002785836761966,
-0.00448401064434,
-0.00579964428988,
-0.00666132595239,
-0.00703167838460,
-0.00690798786235,
-0.00632104684001,
-0.00533179977363,
-0.00402495648139,
-0.002503345245875,
-0.000880087263664,
+0.000730195249791,
+0.002218937436180,
+0.00349113956791,
+0.00446988930426,
+0.00510125383363,
+0.00535793738349,
+0.00523887905871,
+0.00476898763060,
+0.00399593154370,
+0.002985810201174,
+0.001818076034901,
+0.000578252401766,
-0.000646224003017,
-0.001772245840240,
-0.002727817016846,
-0.00345553301851,
-0.00391643160326,
-0.00409039519682,
-0.00397772888982,
-0.00359969167443,
-0.002993746934053,
-0.002211628435205,
-0.001314761837386,
-0.000369127377991,
+0.000558550729740,
+0.001406986914220,
+0.002121243142798,
+0.002657364006468,
+0.002987808522460,
+0.003100002889405,
+0.002997191243154,
+0.002695525507340,
+0.002223832745960,
+0.001623345770635,
+0.000939873775901,
+0.0002239840860133,
-0.000472884170996,
-0.001104187009498,
-0.001629186070703,
-0.002018510579268,
-0.002250637245687,
-0.002315813722960,
-0.002221546829407,
-0.001982879862156,
-0.001622887980301,
-0.001169356680720,
-0.000655833024595,
-0.0001241845626550,
+0.000390069694387,
+0.000851126328017,
+0.001226762050913,
+0.001499281358892,
+0.001656090481647,
+0.001695919286756,
+0.001615482962289,
+0.001419486991918,
+0.001139651356128,
+0.000797473098013,
+0.000414928819383,
+0.00001411405079434,
-0.000383936281445,
-0.000739954089522,
-0.001069589563903,
-0.001383231016033,
-0.001682613821817,
-0.002087847179392,
-0.002715468728000,
-0.00386997590639,
-0.00606845403406,
+0.00509721300047};
//---- начальные значения
for (int i = 0; i < 141; i++)
FATLX[i] = SATLX[i] = Close[i];
//---- расчёт
int start = DrawSATLX ? 141 : 5;
for (int i = start; i < Close.Count; i++)
{
for (int q = 0; q < start; q++)
{
if (DrawSATLX)
SATLX[i] += SATLXTable[q] * Close[i - q];
else
FATLX[i] += FATLXTable[q] * Close[i - q];
}
}
return DrawSATLX ? SATLX : FATLX;
}
Автор: SupportTSLab

Re: Заказ индикаторов в TSLab - Wed Jan 22 2014 12:11 PM

Просьба такие сообщения выкладывать в виде текстовых файлов в дальнейшем.
Автор: KDG

Re: Заказ индикаторов в TSLab - Wed Jan 22 2014 12:49 PM

понял. извиняюсь за простыню.
Автор: KDG

Re: Заказ индикаторов в TSLab - Thu Jan 23 2014 08:10 AM

Народ, ну скомпилите пожалуйста файлик выше.
А то смотришь - скачало 5 человек исходник и ни одного ответа.
Автор: KDG

Re: Заказ индикаторов в TSLab - Thu Jan 23 2014 08:11 AM

или я может не в ту ветку пишу? тогда скажите куда или кому написать.
Автор: ra81

Re: Заказ индикаторов в TSLab - Thu Jan 23 2014 08:12 AM

Originally Posted By: KDG
понял. извиняюсь за простыню.

Невозможно скомпилировать. У вас ошибки в коде. Некоторые переменные (DrawSATLX) не объявлены но используются. Поэтому сначала исправьте этот недочет.
Автор: KDG

Re: Заказ индикаторов в TSLab - Thu Jan 23 2014 08:29 AM

Ура. Ура. Ура. Есть ответ.
Вы наверное сами понимаете по вопросам и просьбам уровень моего программирования )))
Код переделывал по любезно предоставленному первичному от vito333.
Но видимо, что позволено Юпитеру .....
Может такой зайдет?
Автор: ra81

Re: Заказ индикаторов в TSLab - Thu Jan 23 2014 04:27 PM

Так тоже не пойдет. Переменная та же самая не определена. В коде явная ошибка и пытаться тяп ляп чет приставить чтобы скомпилировалось не есть хороший ход. Надо понять где бага поправить и потом собирать
Автор: KDG

Re: Заказ индикаторов в TSLab - Thu Jan 23 2014 04:35 PM

Эх. Мое развитие на Паскале остановилось. ((((
Я код не переделывал практически. Только коэфф поменял в SATLXTable (ошибка кстати в коде закралась "SATLTXable") и FATLXTable.
А у Вас нет случаем исходника простой скользящей средней? Ее код проще было бы переделать.
Либо придется ждать ответ vita.
Автор: ra81

Re: Заказ индикаторов в TSLab - Thu Jan 23 2014 04:37 PM

Вот здесь код всех индюков включая SMA
http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8511#Post8511
Автор: KDG

Re: Заказ индикаторов в TSLab - Thu Jan 23 2014 04:57 PM

Я смотрел в этом архиве. Даже в самом проекте копался. Никакого кода кроме этого не нашел.

[HandlerCategory("Indicators")]
public class SMA : BasePeriodIndicatorHandler, IDouble2DoubleHandler
{
public IList<double> Execute(IList<double> source)
{
return Series.SMA(source, Period);
}
}

Может у Вас сам код есть?
Автор: KDG

Re: Заказ индикаторов в TSLab - Thu Jan 23 2014 04:58 PM

Вот достать бы как это Series.SMA рассчитывается.
Автор: jhgjrht

Re: Заказ индикаторов в TSLab - Thu Jan 23 2014 09:57 PM

Originally Posted By: KDG
Народ, ну скомпилите пожалуйста файлик выше.
А то смотришь - скачало 5 человек исходник и ни одного ответа.
Все ушли на срамлаб с#$ть в каменты. )
Остались неск. человек и то, среди них половина - околорыночники. smile

Ошибки исправил, скомпилировал, см. вложение.
Что такого особенного в этих двух фильтрах?
Автор: captian

Re: Заказ индикаторов в TSLab - Thu Jan 23 2014 10:48 PM

Originally Posted By: jhgjrht
Все ушли на срамлаб с#$ть в каменты. )
Остались неск. человек и то, среди них половина - околорыночники. smile
Смартлаб уже почти окончательно превратился в помойку, околорыночную, а теперь и околополитическую. Ни читать, ни писать там не интересно. Так что скорее всего "все" ушли в себя из за сложного рынка в последнее время.
Автор: KDG

Re: Заказ индикаторов в TSLab - Thu Jan 23 2014 10:57 PM

jhgjrht: Ответил в личку.
Автор: ra81

Re: Заказ индикаторов в TSLab - Fri Jan 24 2014 10:08 AM

Originally Posted By: jhgjrht

Ошибки исправил, скомпилировал, см. вложение.
Что такого особенного в этих двух фильтрах?

Надеюсь поправили правильно, а то я не рискнул свои фантазии вставлять в код smile.
Автор: nikifor

Re: Заказ индикаторов в TSLab - Fri Jan 24 2014 01:41 PM

Скажи плз, а как он по науке называется?

не Медленная адаптивная линия тренда (Slow Adaptive Trend Line) ли это?
Автор: Frend

Re: Заказ индикаторов в TSLab - Wed Jan 29 2014 12:31 PM

Может ли кто ни будь оптимизировать блок PosActiveName, есть активная позиция с именем. а то текущий очень сильно грузит систему если используется несколько таких блоков в одном алго. Спасибо
Автор: Ilya Komissarov

Re: Заказ индикаторов в TSLab - Fri Jan 31 2014 11:15 AM

Добрый день, могли бы Вы сделать индикатор MACD в виде гистограммы с периодами 3,33,3?
Пробовал сделать сам, как написано в одной из веток форума - вычесть из MACD Ext MACD Signal...не получается
Буду очень благодарен)
Автор: ViL

Re: Заказ индикаторов в TSLab - Sat Feb 01 2014 03:58 AM

Приложите скрипт, который не получается
Автор: barrimor

Re: Заказ индикаторов в TSLab - Tue Feb 04 2014 06:23 PM

Добрый день!
Сделайте, пожалуйста, кубик с индикатором VWAP. Описание тут: http://support.marketdelta.com/entries/188633-Volume-Weighted-Average-Price-VWAP-VWAPI
Заранее благодарен...
Автор: Ilya Komissarov

Re: Заказ индикаторов в TSLab - Wed Feb 05 2014 10:19 AM

Как вы и сказали, я приложил скрипт
Автор: ViL

Re: Заказ индикаторов в TSLab - Thu Feb 06 2014 04:17 PM

//
Автор: Ilya Komissarov

Re: Заказ индикаторов в TSLab - Thu Feb 06 2014 09:14 PM

спасибо большое!
Автор: Ilya Komissarov

Re: Заказ индикаторов в TSLab - Mon Mar 10 2014 02:31 PM

Добрый день.
Могли бы Вы сделать индикатор Price Channel?
Автор: ViL

Re: Заказ индикаторов в TSLab - Tue Mar 11 2014 06:21 AM

Блоки Максимум За и МинимумЗа взятые от Закрытия бара нарисуют канал цены.
Автор: Frend

Re: Заказ индикаторов в TSLab - Fri Mar 14 2014 03:06 PM

Думаю всем пригодятся блоки Доход за день/ за все время по отдельности для длинных позиций и для коротких. Сейчас есть такие блоки общие, а лучше по раздельности.
По крайней мере я не раз с этим сталкивался когда себе что т о делал, и когда кому либо помогал, приходилось разделять по разным скриптам, отдельно лонг и отдельно шорт. Можно конечно и в отдельности посчитать за сколько надо, но когда на одной свече несколько выходов сразу и входов то уже не то. Поэтому очень надо
Спасибо
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Mar 31 2014 06:16 PM

Originally Posted By: Evgeny_z
[quote=andy]1. Вы можете в этой ветке заказать разработку необходимого вам индикатора.
2. В заказе нужно указать четкое описание индикатора.
3. Мы собираем заказы, разбираем, выставляем приоритеты и реализуем.

"Классика" пойдет в поставку TSLab. "Экзотика" будет размещена на форуме в соответствующей ветке.


Добрый день всем!
Originally Posted By: Evgeny_z
Дело в следующем. Не знаю к кому обратиться с ... "Уровнями Фибоначи" (см. топик в этой ветке чуть ниже http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=58454#Post58454) спустили все на тормозах..., верней послали на... кнопку "Предложи идею" - купился и написал.
Оказалось, что это "отстойник для Лохов" - ни одна работа не делается с апреля, мое предложение тоже отлежалось уже месяц в "запланированных" (что само по себе порадовало, включили в запланированные очень быстро. Но на этом все и кончилось)

Запланировано, значит будет сделано. Явно не в версии программы 1.2 Когда запланировано - значит в работе для следующей версии программы. Если программисты явно не написали "Будет в следующей сборке". Что означает следует ждать в ночных сборках.
Originally Posted By: Evgeny_z

Однако к делу. Может я опять не там пишу? Но выбора нет...

В TSLab есть штатные инструменты (примитивы - как они названы в меню) - их не много (линии 3-х видов, уровни Фибоначи и т.д)

Пытаюсь пользоваться и вспоминаю все время разработчика этих "примитивов" - вам не икалось?
Из приличных слов нашел одно - халтура (извините за прямоту)

Перечислю недостатки, которые "достают":

1. Для всех инструментов - выставляю на одном графике, они появляются на всех графиках этого инструмета с разныими таймфреймами и во всех открытых скриптах - и на реальном счету и лаборатории (представте себе уровни Фибоначи на М1 и на Н1 или на дневном... одновременно)- только не говорите, что так задумано - это ОШИБКА разработчика.
2. Конкретно по "Уровням Фибоначи" -
а) п.1
б) цифры находятся справа от линий и при попытке наложить на бары графика уходят за "горизонт", т.е. за правую рамку окна - как пользоваться? Они должны быть СЛЕВА.
в) Нет уровней, выходящих за 100%, а это сильно ограничивает пользование инструментом... (посмотрите хотя бы, как сделано в Quik, не говорю уже о Metatrader)

Все это - недоделки и ОШИБКИ разработчика! (Ну, или его уровень - если хотите)

3. В комплекте примитивов TSLab не хватает 2-х простых инструментов
а) Отрезков (в дополнение к линиям) - когда много уровней на графике, то линии излишне затеняют, а отрезки - нет.
б) Расширения Фибоначи - широко применяется в теханализе

Изменения будут в 1.3. Вплоть до того, что конструировать фибо сможет сам пользователь

Originally Posted By: Evgeny_z

И последнее. TSLab ориентирован на автотрейдинг и разработку МТС.
Однако, стратегии и алгоритм торговли советника часто отрабатывается вручную. Здесь и нужны соответствующие инструменты для проведения теханализа... Что же, для этого еще кучу программ устанавливать с наличием простых инструментов?

Заранее благодарен за понимание, Евгений.
Ждем Ваших ответов, а лучше - действий.

Так и есть, TSLab всегда был ориентирован на автоматическую торговлю. Хотя скальперский стакан сделали в 1.2, в 1.3 будут примитивы.
Автор: IgorZhukov

Re: Заказ индикаторов в TSLab - Thu Apr 24 2014 07:26 PM

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

Понятно объяснил))))

Спасибо заранее
Автор: jhgjrht

Re: Заказ индикаторов в TSLab - Sat Apr 26 2014 02:48 PM

Был, по моему, уже такой кубик, поиском не находится?
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Apr 28 2014 09:56 AM

Originally Posted By: IgorZhukov
Всем доброго дня!!!
Прошу помощи в создании кубика!!! Нужен кубик дохода за день или доход за торговую сессию. Что бы считал доход за день или сессию, отдельно для дневной сессии и отдельно для вечерней сессии для фьючерсов.

Понятно объяснил))))

Спасибо заранее


http://screencast.com/t/MTNKm3QX
Автор: Sir Jet

Re: Заказ индикаторов в TSLab - Mon Apr 28 2014 03:26 PM

Добрый день. Прошу Вас реализовать индикацию горизонтальных уровней поддержки/сопротивления. Я думаю данный индикатор пришелся бы по душе 99,9% трейдеров и выгодно бы отличал Ваш программный продукт.
По этим ссылкам один из алгоритмов нахождения уровней:
http://articles.mql4.com/ru/233
http://articles.mql4.com/ru/237
Горизонтальные уровни одна из немногих адекватных возможностей осуществить привязку позиции ( Точка входа, размер стопа, цель...)
Заранее спасибо большое!!!!
Автор: ra81

Re: Заказ индикаторов в TSLab - Mon Apr 28 2014 04:05 PM

Originally Posted By: Sir Jet
Добрый день. Прошу Вас реализовать индикацию горизонтальных уровней поддержки/сопротивления. Я думаю данный индикатор пришелся бы по душе 99,9% трейдеров и выгодно бы отличал Ваш программный продукт.
По этим ссылкам один из алгоритмов нахождения уровней:
http://articles.mql4.com/ru/233
http://articles.mql4.com/ru/237
Горизонтальные уровни одна из немногих адекватных возможностей осуществить привязку позиции ( Точка входа, размер стопа, цель...)
Заранее спасибо большое!!!!

боюсь что никто по такой мутной схеме делать не будет. Ищите инструкцию попроще.

Попробуйте использовать МаксимумЗа и МинимумЗа. Вот и будет вам поддержка и сопротивление.
Автор: Sir Jet

Re: Заказ индикаторов в TSLab - Mon Apr 28 2014 04:24 PM

Минимум максимум - хорошо, но как их запомнить?они обновляются. Вот если бы 3-4 ближайших к цене можно было бы запомнить.... А то что мутная, ну проще не нашел, там вроде все расписано с комментариями. Можно еще по горизонтальным объемам , но я так понял в Тслабе нет такого функционала. Зато есть куча всяких алигаторов, зиг загов и т.д. которые только вводят в заблуждение новичков.
Автор: ra81

Re: Заказ индикаторов в TSLab - Mon Apr 28 2014 07:50 PM

Originally Posted By: Sir Jet
Минимум максимум - хорошо, но как их запомнить?они обновляются. Вот если бы 3-4 ближайших к цене можно было бы запомнить.... А то что мутная, ну проще не нашел, там вроде все расписано с комментариями. Можно еще по горизонтальным объемам , но я так понял в Тслабе нет такого функционала. Зато есть куча всяких алигаторов, зиг загов и т.д. которые только вводят в заблуждение новичков.

макс и мин не обновляются. с появлением новых цен они смещаются на новые хаи и лои. А вы как хотите? чтобы вечно висл один уровень? тогда плохо понимаю в чем алготрейдинг smile
Автор: Sir Jet

Re: Заказ индикаторов в TSLab - Mon Apr 28 2014 09:21 PM

скорей Вы плохо понимаете уровни.
Автор: SupportTSLab

Re: Заказ индикаторов в TSLab - Mon Apr 28 2014 10:45 PM

Линию проведите и введите константу, ее и используйте в расчетах. Пока это единственное решение.
Автор: Sir Jet

Re: Заказ индикаторов в TSLab - Tue Apr 29 2014 01:03 PM

А может Вы знаете как запоминать хай/лоу и перезаписывать его только после пробития?Заранее спасибо!
Автор: ra81

Re: Заказ индикаторов в TSLab - Tue Apr 29 2014 04:46 PM

Originally Posted By: Sir Jet
А может Вы знаете как запоминать хай/лоу и перезаписывать его только после пробития?Заранее спасибо!

это и делают индикаторы МаксимумЗа, МинимумЗа.
Автор: Sir Jet

Re: Заказ индикаторов в TSLab - Tue Apr 29 2014 08:21 PM

максимумЗа 20 через 20 баров перезапишется, независимо был пробит уровень или нет, а при восходящем движении независимо от периода на каждом следующем уровне будет пробитие, и называть это уровнями поддержки и сопротивления - убыточно. Уровень это проторговка или экстремум. Как найти сегодняшние экстремумы и запомнить их? Помогите плз добрые алгоритмщики!)
Автор: SupportTSLab

Re: Заказ индикаторов в TSLab - Wed Apr 30 2014 03:36 AM

Вы тогда точнее опишите, о чем Вы говорите.
Автор: Sir Jet

Re: Заказ индикаторов в TSLab - Wed Apr 30 2014 01:04 PM

Вар. 1: искать хай/лоу в промежутке времени,а не за кол-во баров. Т.е. например искать хай/лоу внутри дня или внутри часа.
Вар. 2: искать ближайшие к текущей цене круглые цены с кратностью: 250, 500, 1000 (прим для РТС).
Как-то так, но я думаю если совместно поучаствовать в этом вопросе - будет результат. Большое спасибо.
Автор: Sir Jet

Re: Заказ индикаторов в TSLab - Wed Apr 30 2014 02:59 PM

Добавлю: горизонтальные объемы тоже было бы круто, как в волфиксе. На их основе также возможно строить поддержку/сопротивление.
Автор: Serg777

Re: Заказ индикаторов в TSLab - Tue May 13 2014 07:19 PM

Добрый день уважаемые коллеги!
Помогите сделать кубик
Есть позиция переворотная, допустим эксперт купил,потом перевернул
и так несколько раз. В кубике три входа, инструмент, от блока Бай и от блока Селл, Не могу посчитать прибыль общую от всей серии
Заранее благодарен
Автор: ViL

Re: Заказ индикаторов в TSLab - Tue May 13 2014 10:56 PM

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

в текущей версии программы.
Автор: ra81

Re: Заказ индикаторов в TSLab - Wed May 14 2014 09:03 AM

Originally Posted By: Sir Jet
Добавлю: горизонтальные объемы тоже было бы круто, как в волфиксе. На их основе также возможно строить поддержку/сопротивление.

сие реализовать то можно. Но применять в виз редакторе скорее невозможно чем возможно. Либо будет совсем неудобно и геморно. Так что скорее можно поставить крест на таких кубиках для виз редактора. В АПИ нет проблем.
Автор: Serg777

Re: Заказ индикаторов в TSLab - Wed May 14 2014 11:10 AM

В АПИ тоже пойдет,это даже лучше, но вот беда- знаю только самые основы, готов оплатить разумную цену, возьметесь?
Автор: ra81

Re: Заказ индикаторов в TSLab - Wed May 14 2014 01:16 PM

Originally Posted By: Serg777
В АПИ тоже пойдет,это даже лучше, но вот беда- знаю только самые основы, готов оплатить разумную цену, возьметесь?

Если только индикатор то нет. Если у вас алгоритм то пишите на robots@rusalgo.com свое ТЗ. Делать буду не я лично, так как времени как обычно мало а дел много.
Автор: Serg777

Re: Заказ индикаторов в TSLab - Wed May 14 2014 02:42 PM

ОК, приготовлю тех задание и вышлю
Автор: Prival

Re: Заказ индикаторов в TSLab - Wed May 14 2014 11:44 PM

К сожалению по ссылке это не то.
Эта информация не должна рассчитываться, она достается из квика то томуже принципу что и ОИ (открытый интерес)
Повторю просьбу. Нужен кубик (два) который позволяет вытащит из квика следующую информацию

Количество заявок на покупку
Количество заявок на продажу
и отразить в виде свечек (что бы параметры можно было использовать в роботе)
В Квике это делается достаточно просто
Автор: ra81

Re: Заказ индикаторов в TSLab - Thu May 15 2014 09:50 AM

во первых - что за количество заявок на покупку? Это достаточно сферическая информация в факууме. Нужно больше конкретики.
Автор: MikeT

Re: Заказ индикаторов в TSLab - Sat May 17 2014 06:12 PM

Originally Posted By: Frend
Думаю всем пригодятся блоки Доход за день/ за все время по отдельности для длинных позиций и для коротких. Сейчас есть такие блоки общие, а лучше по раздельности.
По крайней мере я не раз с этим сталкивался когда себе что т о делал, и когда кому либо помогал, приходилось разделять по разным скриптам, отдельно лонг и отдельно шорт. Можно конечно и в отдельности посчитать за сколько надо, но когда на одной свече несколько выходов сразу и входов то уже не то. Поэтому очень надо
Спасибо


Здесь есть то что просили

http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=62260#Post62260
Автор: Prival

Re: Заказ индикаторов в TSLab - Fri Jun 06 2014 10:55 PM

Originally Posted By: ra81
во первых - что за количество заявок на покупку? Это достаточно сферическая информация в факууме. Нужно больше конкретики.

Эту информацию достаточно просто отразить с помощью Квика в виде графика.
Она выводиться на график, также как Открытый интерес (Количество открытых позиций)

Очень хочется увидеть такой же график в TSlabe
Автор: ra81

Re: Заказ индикаторов в TSLab - Tue Jun 10 2014 06:46 AM

Originally Posted By: Prival
Originally Posted By: ra81
во первых - что за количество заявок на покупку? Это достаточно сферическая информация в факууме. Нужно больше конкретики.

Эту информацию достаточно просто отразить с помощью Квика в виде графика.
Она выводиться на график, также как Открытый интерес (Количество открытых позиций)

Очень хочется увидеть такой же график в TSlabe

Ну если я верно понял, это видимо число заявок в стакане походу. Есть еще число заявок на бирже вообще. КОроче говоря вам тут поможет ЛИБО http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=62546#Post62546
ЛИБО http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=62547#Post62547
Автор: Maximus2017

Re: Заказ индикаторов в TSLab - Tue Jun 24 2014 09:49 PM

Хотелось бы увидеть Adaptive Price Channel

http://www.training.com.ua/live/release/Adaptivnyi_tsenovoi_kanal


Вот что-то похожее на исходный код:
http://www.wisestocktrader.com/indicators/1971-adaptive-price-channel

Если кто знает как это засунуть в TSLab буду благодарен smile


И можно еще один Adaptive Moving Average
http://www.metatrader5.com/ru/terminal/help/analytics/indicators/trend_indicators/ama
Автор: ViL

Re: Заказ индикаторов в TSLab - Tue Jun 24 2014 10:42 PM

Originally Posted By: Maximus2017
Хотелось бы увидеть Adaptive Price Channel

http://www.training.com.ua/live/release/Adaptivnyi_tsenovoi_kanal


Вот что-то похожее на исходный код:
http://www.wisestocktrader.com/indicators/1971-adaptive-price-channel

Если кто знает как это засунуть в TSLab буду благодарен smile


И можно еще один Adaptive Moving Average
http://www.metatrader5.com/ru/terminal/help/analytics/indicators/trend_indicators/ama

http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=58490#Post58490

AMA - встроена в программу.
Автор: ra81

Re: Заказ индикаторов в TSLab - Wed Jun 25 2014 07:12 AM

Originally Posted By: Maximus2017
Хотелось бы увидеть Adaptive Price Channel

http://www.training.com.ua/live/release/Adaptivnyi_tsenovoi_kanal

Посмотрите в индикаторах от вито333. Там точно нет? Мне казалось там уже есть все.
Автор: Mich

Re: Заказ индикаторов в TSLab - Fri Jun 27 2014 02:57 PM

Господа,
А с кем можно пообщаться чтобы написали нормальный Parabolic? Так как который в TSLabе он все-таки какой-то не такой как в других системах теханализа.
Автор: Andrey Beliakov

Re: Заказ индикаторов в TSLab - Mon Jul 07 2014 11:50 AM

Originally Posted By: barrimor
Добрый день!
Сделайте, пожалуйста, кубик с индикатором VWAP. Описание тут: http://support.marketdelta.com/entries/188633-Volume-Weighted-Average-Price-VWAP-VWAPI
Заранее благодарен...


я себе сделал. выложить?
Автор: nikifor

Re: Заказ индикаторов в TSLab - Mon Jul 07 2014 01:53 PM

выкладывай, ждем с нетерпением
Автор: Andrey Beliakov

Re: Заказ индикаторов в TSLab - Tue Jul 08 2014 10:15 AM

Originally Posted By: nikifor
выкладывай, ждем с нетерпением

http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=63141&#Post63141 выложил
Автор: Bearcub

Re: Заказ индикаторов в TSLab - Thu Aug 14 2014 08:44 PM

приветствую !
Помогите найти индикатор GannHiloActivator или подобный
Автор: galaxy

Re: Заказ индикаторов в TSLab - Sun Aug 31 2014 06:55 PM

Здравствуйте! Возможна ли реализация в TSLab такой вещи - на индикаторе (пусть будет MACD) вырисовывается трендовая линия (линия сопротивления) и происходит пробой этой линии - и через определенный промежуток времени мы входим в позицию после пробоя.

рисунок рисунок
Автор: uuzzeerr

Re: Заказ индикаторов в TSLab - Sun Aug 31 2014 10:36 PM

друг мой, а вы поробуйте свою идею в кубиках изложить. Мне кажется она не реалезуема.
Автор: Igor_T

Re: Заказ индикаторов в TSLab - Mon Sep 01 2014 12:54 AM

Вы математически задайте линию, которую вы хотите пробивать. Опишите функцию линии сопротивления.

Далее через условие: если ...... время до текущего момента линия была под линией сопротивления (описанная вашей функцией), а на предшествующем графике вдруг линия MACD больше значения этой линии(функции), значит true => открываем позицию...

Обычное пробитие одной линии другой. Просто вы будете линию сопротивления пробивать линией макди, а не ценой инструмента.


Для сложность в том, чтобы задать фукцию, которая будет расчитывать линию сопротивления. В Вашем случае она должна брать для своего расчета показатели индикатора MACD.
Автор: galaxy

Re: Заказ индикаторов в TSLab - Mon Sep 08 2014 09:12 AM

подскажите пожалуйста как в тслаб рассчитать угол наклона средней скользящей?
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Sep 08 2014 12:38 PM

Математика везде одинаковая. Есть ось X и ось Y, между ними прямой угол. Очевидно Катет и угол рассчитать возможно в блоке формула.
Автор: doctoralexus2

Re: Заказ индикаторов в TSLab - Tue Sep 09 2014 12:06 PM

Как вариант.. можно сделать обновляемое значение. на вход идет фрактал(или что вам нравиться), условие ставите нужный обьем. Вот вам уровень на обьеме. Очистить при появления нового сигнала
Автор: doctoralexus2

Re: Заказ индикаторов в TSLab - Tue Sep 09 2014 12:14 PM

если будете использовать фрактал, не забудьте там ноль поставить перед Left и Right, иначе перерисовывает
версии для 64 и 32 бит
http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=11494&page=7
Автор: doctoralexus2

Re: Заказ индикаторов в TSLab - Tue Sep 09 2014 02:50 PM

попробовал сам, фрактал и повышение обьема, совпадают далеко не часто,в итоге, мне не понравилось)))
Автор: galaxy

Re: Заказ индикаторов в TSLab - Thu Sep 11 2014 03:16 PM

Originally Posted By: ViL
Математика везде одинаковая. Есть ось X и ось Y, между ними прямой угол. Очевидно Катет и угол рассчитать возможно в блоке формула.


Ось Х у нас равна 1. А ось Y равна изменению цены, которое может варьироваться в самых широких пределах. В итоге угол получается либо очень маленький (0), либо очень большой (90). Получается соотношение этих самих катетов нарушено.
Автор: goodwill

Re: Заказ индикаторов в TSLab - Thu Sep 11 2014 08:27 PM

индикатор тренда
Автор: ViL

Re: Заказ индикаторов в TSLab - Fri Sep 12 2014 02:13 AM

Originally Posted By: galaxy
Originally Posted By: ViL
Математика везде одинаковая. Есть ось X и ось Y, между ними прямой угол. Очевидно Катет и угол рассчитать возможно в блоке формула.


Ось Х у нас равна 1. А ось Y равна изменению цены, которое может варьироваться в самых широких пределах. В итоге угол получается либо очень маленький (0), либо очень большой (90). Получается соотношение этих самих катетов нарушено.


Ось Х у нас равна кол-ву рассматриваемых баров.
Автор: vito333

Re: Заказ индикаторов в TSLab - Fri Sep 12 2014 05:16 AM

Originally Posted By: goodwill
индикатор тренда


это Hull's MA
Автор: ra81

Re: Заказ индикаторов в TSLab - Fri Sep 12 2014 07:43 AM

Originally Posted By: ViL

Ось Х у нас равна кол-ву рассматриваемых баров.

так тоже плохо. если ТФ большой, то свечек будет мало а изменение по У будет большое. Наклон будет всегда почти одинаковый. Тут либо пересчитывать ось Х всегда в минутки либо еще как-то. В общем угол наклона штука сложная и должно быть сначала понимание всех моментов.
Автор: ViL

Re: Заказ индикаторов в TSLab - Fri Sep 12 2014 11:29 AM

да хоть кол-во пикселей монитора. smile
Автор: Vladimir2803

Re: Заказ индикаторов в TSLab - Thu Oct 16 2014 04:34 AM

Здравствуйте, подскажите пожалуйста как добавить в код расчет индикатора ADX. Строчка в коде:

IList<double> nADX = ctx.GetData("ADX", new[] {_periodADX.ToString()},
delegate { return Series.ADX(source.ClosePrices, _periodADX); });

Ошибка: TSLab.Script.Halpers.Series не содержит определения для ADX. Код индикатора нашел, но что дальше делать не пойму.

Спасибо!
Автор: HEHyA4O

Re: Заказ индикаторов в TSLab - Wed Oct 22 2014 05:51 PM

Здравствуйте! Очень хочется увидеть канал Кельтнера. Только не тот, который уже есть, а тот, который строится по оригинальной методике:

https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%BD%D0%B0%D0%BB_%D0%9A%D0%B5%D0%BB%D1%8C%D1%82%D0%BD%D0%B5%D1%80%D0%B0
Автор: ViL

Re: Заказ индикаторов в TSLab - Wed Oct 22 2014 08:08 PM


http://screencast.com/t/cAnD7Hx6vU
Автор: HEHyA4O

Re: Заказ индикаторов в TSLab - Thu Oct 23 2014 08:12 AM

Спасибо! Сижу и не понимаю, почему самому в голову не пришло сделась все кубиками
Автор: HEHyA4O

Re: Заказ индикаторов в TSLab - Thu Oct 23 2014 08:12 AM

Originally Posted By: HEHyA4O
Спасибо! Сижу и не понимаю, почему самому в голову не пришло сделать все кубиками
Автор: galaxy

Re: Заказ индикаторов в TSLab - Tue Nov 18 2014 10:17 PM

Подскажите пож-та как сделать индикатор отклонения цены в пунктах в течение дня? За точку отсчета берем цену закрытия в 10.00.
Автор: GAW

Re: Заказ индикаторов в TSLab - Mon Dec 01 2014 08:09 PM

Сделайте пожалуйста TVI (Tick Volume Index) - Описан Уильямом Блау. Книга прилагается Глава 4. С осцилятором и сигнальной линией пожалуйста.
Автор: sar

Re: Заказ индикаторов в TSLab - Mon Dec 01 2014 08:34 PM

готовые решения имеются, но надо шерстить форум
Автор: Stan

Re: Заказ индикаторов в TSLab - Mon Dec 01 2014 09:47 PM

Originally Posted By: sar
готовые решения имеются, но надо шерстить форум


Да саро их тут столько что глаза разбегаются, когда начинаешь индикаторы выбирать в тслабе для нового скрипта!!! И каждый раз открываешь все новый и новый индюк!!
Автор: GAW

Re: Заказ индикаторов в TSLab - Tue Dec 02 2014 09:26 PM

Хм видимо я близорук стал... Можете указать на реализацию того что я прошу?
Автор: Sobako

Re: Заказ индикаторов в TSLab - Mon Dec 29 2014 02:19 PM

Индикатор Ишимоку - и классика и экзотика
Думаю рассказывать про него не имеет смысла но очень хотелось бы его видеть
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Dec 29 2014 03:02 PM

Originally Posted By: Sobako
Индикатор Ишимоку - и классика и экзотика
Думаю рассказывать про него не имеет смысла но очень хотелось бы его видеть

http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8882
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Dec 29 2014 03:07 PM

Originally Posted By: GAW
Сделайте пожалуйста TVI (Tick Volume Index) - Описан Уильямом Блау

Вроде уже было, но найти не могу даже с поисковиком.
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Dec 29 2014 03:09 PM

Originally Posted By: galaxy
Подскажите пож-та как сделать индикатор отклонения цены в пунктах в течение дня? За точку отсчета берем цену закрытия в 10.00.

Есть индикаторы http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=2425#Post2425 .
Сессию ставьте 0. Тогда индикаторы будут отдавать с 10 утра сегодняшнего дня.
Автор: hell0men

Re: Заказ индикаторов в TSLab - Tue Jan 13 2015 10:37 AM

Хотел бы заказать индикитор Adaptive Parabolic на основе уже готового на MT5 https://www.mql5.com/ru/code/9227
На форуме был какой-то адаптивный, но не понятно как он работает и работает ли. Нужен готовый блок, куда можно задавать 4 параметра и от чего будет зависеть изменение параметра Step.
За работу готов заплатить. Прошу отвечать в личку.
Автор: SP++

Re: Заказ индикаторов в TSLab - Wed Mar 25 2015 06:38 PM

Доброго времени суток!
"Бюро добрых услуг" еще работает? ) Оч. нужен тэйк профит с ATR! Исполнение любое. А то стоп лоссов на ATR полно, а тэйк профита не нашел...
Автор: ra81

Re: Заказ индикаторов в TSLab - Wed Mar 25 2015 07:25 PM

возьмите атр и сделайте тейкпрофит. Вообще неясно что тут делать. Все уж сделано.
Автор: SP++

Re: Заказ индикаторов в TSLab - Wed Mar 25 2015 08:03 PM

Из кубиков не сделаешь, API не умею пока, готовый не нашел.
И вроде ветка называется "Заказ индикаторов"... и вроде спросил вежливо...
Originally Posted By: ra81
возьмите атр и сделайте тейкпрофит. Вообще неясно что тут делать. Все уж сделано.
Автор: Igor_T

Re: Заказ индикаторов в TSLab - Wed Mar 25 2015 08:13 PM

Вопрос в другом: кубик АТР + кубик формула + стрелочка к кубику закрытие позиции по тейк профиту.... Ну еще константа к формуле для множителя АТР:)
Автор: ra81

Re: Заказ индикаторов в TSLab - Thu Mar 26 2015 07:04 AM

Originally Posted By: Igor_T
Вопрос в другом: кубик АТР + кубик формула + стрелочка к кубику закрытие позиции по тейк профиту.... Ну еще константа к формуле для множителя АТР:)

Да вы волшебник!
Автор: Igor_T

Re: Заказ индикаторов в TSLab - Thu Mar 26 2015 11:02 AM

Родион, это тебе кубик сделать (на API начертать что-то) - фигня вопрос, а когда с программой еще на Вы все иначе:) я еще помню!
Автор: ra81

Re: Заказ индикаторов в TSLab - Thu Mar 26 2015 12:10 PM

Originally Posted By: Igor_T
Родион, это тебе кубик сделать (на API начертать что-то) - фигня вопрос, а когда с программой еще на Вы все иначе:) я еще помню!

Я имел ввиду выше, что то что просит SP++ делается в кубиках без больших трудов. Писать ничего не предлагалось. Просто человек даже не попробовал, очевидно.
Автор: SP++

Re: Заказ индикаторов в TSLab - Fri Mar 27 2015 06:47 PM

Igor_T, спасибо за помощь! А то некоторые забыли, как сами были новичками и теперь самоутверждаются упражняясь в острословии ))

Originally Posted By: ra81
Originally Posted By: Igor_T
Вопрос в другом: кубик АТР + кубик формула + стрелочка к кубику закрытие позиции по тейк профиту.... Ну еще константа к формуле для множителя АТР:)

Да вы волшебник!
Автор: Igor_T

Re: Заказ индикаторов в TSLab - Fri Mar 27 2015 09:04 PM

Originally Posted By: SP++
Igor_T, спасибо за помощь! А то некоторые забыли, как сами были новичками и теперь самоутверждаются упражняясь в острословии ))

Originally Posted By: ra81
Originally Posted By: Igor_T
Вопрос в другом: кубик АТР + кубик формула + стрелочка к кубику закрытие позиции по тейк профиту.... Ну еще константа к формуле для множителя АТР:)

Да вы волшебник!


Вы уж извините - это они не в острословии упражняются, а удивляются как своими силами не попытавшись сразу просят о помощи!.. И их удивление мне понятно.

Прежде чем писать на форум я даю своей проблеме "помучать мой" мозг 1 день!.. Попробуйте также. 90% проблем получается решить самостоятельно.
Автор: Evgenii_Kr

Re: Заказ индикаторов в TSLab - Fri Apr 17 2015 05:33 PM

Можете доделать блок ЕМА, чтобы он при сжатии из мелких периодов отдавал значения внутри своей большой свечи по окончании каждого мелкого периода? Например, если ЕМА сжато из 1-минуток, то чтобы блок ЕМА не только пересчитывал, но и отдавал значение внутри одной 4-хчасовой свечи 240 раз, по мере закрытия каждой 1-минутки внутри большой 4-хчасовой свечи. А в конце 4-часовой свечи уже отдавал значение закрытия всей 4-хчасовой свечи (оно, думаю, совпадет с ценой закрытия последней 1-минутки внутри 4-часовой свечи!).
Автор: Bing

Re: Заказ индикаторов в TSLab - Mon May 25 2015 08:20 PM

Уважаемые форумчане! Прошу сделать индикатор RSI для TsLab, который рассчитывается так же как и в терминале МТ5, QIUK и т.д
Представленные версии индикаторов в TsLab совершенно другие. Или если есть уже на форуме такой индикатор. Сразу скажу, что в ветке "классические индикаторы" такого нет. Спасибо за помощь!
Автор: ra81

Re: Заказ индикаторов в TSLab - Tue May 26 2015 01:03 PM

посмотрите набор от vito333. Там вагон индикаторов.
Автор: Bing

Re: Заказ индикаторов в TSLab - Tue May 26 2015 02:22 PM

А где его можно найти, подскажите пожалуйста?
Автор: Igor_T

Re: Заказ индикаторов в TSLab - Tue May 26 2015 03:20 PM

Есть такая штука как поиск по форуму...
http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=37120

Не халявим;)
Автор: Nepall

Re: Заказ индикаторов в TSLab - Fri May 29 2015 09:55 PM

TriggerLines очень не хватает, хотя как я понял его можно самому собрать из скользящих ?
Только вот толкового описания этого индикатора не нашел..
Автор: russia4us

Re: Заказ индикаторов в TSLab - Fri May 29 2015 11:07 PM

сделайте пожалуйста этот индикатор, а то я вообще не шарю)))):

////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 25/07/2014
// This simple indicator gives you a lot of useful information - when to enter, when to exit
// and how to reduce risks by entering a trade on a double confirmed signal.
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
////////////////////////////////////////////////////////////
study(title="FX Sniper: T3-CCI Strategy", shorttitle="T3-CCI")
CCI_Period = input(14, minval=1)
T3_Period = input(5, minval=1)
b = input(0.618)
hline(0, color=purple, linestyle=line)
xPrice = close
b2 = b*b
b3 = b2*b
c1 = -b3
c2 = (3*(b2 + b3))
c3 = -3*(2*b2 + b + b3)
c4 = (1 + 3*b + b3 + 3*b2)
nn = iff(T3_Period < 1, 1, T3_Period)
nr = 1 + 0.5*(nn - 1)
w1 = 2 / (nr + 1)
w2 = 1 - w1
xcci = cci(xPrice, CCI_Period)
e1 = w1*xcci + w2*nz(e1[1])
e2 = w1*e1 + w2*nz(e2[1])
e3 = w1*e2 + w2*nz(e3[1])
e4 = w1*e3 + w2*nz(e4[1])
e5 = w1*e4 + w2*nz(e5[1])
e6 = w1*e5 + w2*nz(e6[1])
xccir = c1*e6 + c2*e5 + c3*e4 + c4*e3
cciHcolor = iff(xccir >= 0 , green,
iff(xccir < 0, red, black))
pos = iff(xccir > 0, 1,
iff(xccir < 0, -1, nz(pos[1], 0)))
barcolor(pos == -1 ? red: pos == 1 ? green : blue )
plot(xccir, color=blue, title="T3-CCI")
plot(xccir, color=cciHcolor, title="CCIH", style = histogram)


это с tradingview
Автор: Artemunak

Re: Заказ индикаторов в TSLab - Fri Jun 05 2015 01:24 PM

Прошу сделать кубик чтобы можно было всегда видеть глобальное количество открытых позиций инструмента (говорят что так можно через isecurityrt).
Существующий кубик Портфель.ТекущаяПозиция не годится, поскольку как только открываешь позицию внутри скрипта то он перестаёт видеть глобальную позицию и мониторит открытую в скрипте. Очень опечален данной ситуацией и по-хорошему такой кубик должен был быть в стандартной поставке.
Автор: Sergio87

Re: Заказ индикаторов в TSLab - Mon Jun 08 2015 12:17 PM

А есть кубик в TSLab для расчёта коэффициента Хёрста? Если нет, то может кто-то его сделать?
Автор: ra81

Re: Заказ индикаторов в TSLab - Mon Jun 08 2015 01:57 PM

Сначала нужно алгоритм расчета а потом уже считать. Почитайте как считается херст и поймете что никто не знает как smile. В общем, утром алгоритм, вечером - возможно будут стулья.
Автор: russia4us

Re: Заказ индикаторов в TSLab - Tue Jun 09 2015 03:01 AM

ну сделайте пожалуйста этот индикатор, ну очень прошу.
я на нем в ручную очень успешно торгую
Автор: nickez

Re: Заказ индикаторов в TSLab - Tue Jun 09 2015 12:01 PM

Originally Posted By: russia4us
ну сделайте пожалуйста этот индикатор, ну очень прошу.
я на нем в ручную очень успешно торгую


Есть в сборке у vito333
Автор: Kadet

Re: Заказ индикаторов в TSLab - Mon Jul 13 2015 01:46 PM

Как то писал о том что нужен индикатор линии поддержки и так же сопротивления особенно наклонные я так понимаю это очень сложно сделать что бы линии поддержки сами строились и по ним можно было программировать робота Если этим все таки будут заниматься ответьте я опишу как это должно строиться
Автор: Andy7065

Re: Заказ индикаторов в TSLab - Tue Aug 18 2015 02:34 PM

Можно попросить пару кубиков в торговую математику :
"Общий спрос/предложение", и
"Количество заявок на покупку/продажу"
Автор: Stan

Re: Заказ индикаторов в TSLab - Tue Aug 18 2015 05:12 PM

Это все есть, воспользуйтесь поиском по форуму!
Автор: bist

Re: Заказ индикаторов в TSLab - Thu Aug 20 2015 02:53 PM

Добрый день.
Интересует простой кубик "счетчик". Видел на форуме много топиков с описанием как и что с использованием ОЗ, но хотелось бы просто получить один кубик для подсчета срабатываний, который кинул в лабораторию и получил результат (красиво, занимает мало места и не отвлекает взгляд).
Автор: Denver

Re: Заказ индикаторов в TSLab - Wed Sep 09 2015 01:36 PM

Здравствуйте. Существует свечной индикатор Heike Ashi Smoot, но он не выдает значения открытия и закрытия после сжатия. Нужен работающий индикатор после сжатия. http://www.screencapture.ru/file/D055918D
Автор: vito333

Re: Заказ индикаторов в TSLab - Wed Sep 09 2015 03:02 PM

Originally Posted By: Denver
Здравствуйте. Существует свечной индикатор Heike Ashi Smoot, но он не выдает значения открытия и закрытия после сжатия. Нужен работающий индикатор после сжатия. http://www.screencapture.ru/file/D055918D


правильно разжимать пробовал?
Автор: yurys

Re: Заказ индикаторов в TSLab - Tue Oct 20 2015 08:13 PM

Присоединюсь к вопросу Denver.. а правильно РАЗжимать как?
И самое главное зачем и в какой момент, если в примере необходимо только Сжимать?

Спасибо.
Автор: Stan

Re: Заказ индикаторов в TSLab - Tue Oct 20 2015 08:24 PM

разжимать надо иначе данные которые поступают, на блок сжатие не будут правильно расчитыватся, и их нельзя будет использовать в обыкновенном интервале!! Об этом в документации к ТСлабу подробно написано!! И так к слову: Если какие то хитрые индикаторы, то блоки сжать разжать используются в паре.
Автор: AKIR

Re: Заказ индикаторов в TSLab - Mon Nov 02 2015 07:09 PM

Коллеги, не нашел индикатор Donchian Channel на форуме. Подскажите как сделать его в ТСЛабе? или где взять?

Код там - 2 строчки. Элементарный. Есть в МТ4 коде (приложил).
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Nov 02 2015 07:34 PM

Вместе с установленной программой в управлении скриптами есть несколько скриптов, Вам нужен скрипт HiLo.
Если удалили его, либо вместе с программой их не было, эти скрипты доступны в документации.
На форуме так же в огромном кол-ве примеры HighLow.
Есть даже в видео-обучающих роликах на сайте.
Автор: AKIR

Re: Заказ индикаторов в TSLab - Mon Nov 02 2015 08:29 PM

Там реализована стандартная классическая ТС по каналам дончиана. Я торгую кастомный вариант. И там есть условия типа касания ценой линии индикатора. Получается, что не не подходит HiLo.

Я еще только начинаю работу с ТС Лаб, поэтому если кто может помочь создать торгующего робота (алгоритм уже есть. Руками работаю), буду благодарен. Если кто может - пишите в личку.
Спасибо!
Автор: uuzzeerr

Re: Заказ индикаторов в TSLab - Mon Nov 02 2015 10:30 PM

дочиан сайчас почти не работает в реале, я делал его в нескольких вариантах, потом забросил. если хочешь неспешно помогу.
Автор: doctoralexus2

Re: Заказ индикаторов в TSLab - Tue Nov 03 2015 12:21 PM

Коллеги, кто-нибудь знает где найти индикатор "доход за N баров", но чтобы считался не по портфелю, а по конкретному скрипту? Очень надо(
Автор: uuzzeerr

Re: Заказ индикаторов в TSLab - Tue Nov 03 2015 02:58 PM

да они все считают по скрипту,
Автор: doctoralexus2

Re: Заказ индикаторов в TSLab - Tue Nov 03 2015 04:22 PM

Вот,блин!! А я кубище с формулами сочинять уже умаялся))так что же они все находятся в папке "портфель"? С толку сбили. А есть кубик дохода чтоб только по факту закрытия сделки рисовался, а не бродил туда сюда? Хотя, через ОЗ ,видимо, просто должно выйти.
Огромное спасибо, буду пробовать)
Автор: doctoralexus2

Re: Заказ индикаторов в TSLab - Tue Nov 03 2015 04:41 PM

Да, все работает, но не совсем то(. А можно этот блок дохода как-то прикрутить к виртуальной позиции или к поименованной?? Блок дохода последней закрытой поименованной позиции есть, а вот чтобы "доход за" поименованной позиции считал есть где-нибудь?
Автор: Ab16

Re: Заказ индикаторов в TSLab - Thu Jan 28 2016 11:28 AM

Требуется помощь, помогите кто может. Срочно необходим индикатор Williams'AD по формуле как в Квике.

Вычисление:
CumWADn = CumWadn-1 + WADn,

где:

WADn = PRICEn - TL, если PRICEn > PRICEn-1,
WADn = PRICEn - TH, если PRICEn < PRICEn-1,
WADn = 0, если PRICEn = PRICEn-1,
TH = max(PRICEn-1, HIGHn) - истинный диапазон пиков,
TL = min(PRICEn-1, LOWn) – истинный диапазон донышек,
PRICEn – цена закрытия в n-ом интервале,
HIGH – максимальное значение цены в n-ом интервале,
LOW – минимальное значение цены в n-ом интервале.
Автор: ViL

Re: Заказ индикаторов в TSLab - Thu Jan 28 2016 11:37 AM

На вид можно сделать в блоке формула.
Автор: Ab16

Re: Заказ индикаторов в TSLab - Thu Jan 28 2016 12:10 PM

У меня в сборке тслабе есть такой индикатор, но данные разнятся в квике и тслабе этого индикатора, техподдержка тслаба ответила что проверить нужно формулы, а я не знаю как в тслабе это сделать. Думал может у кого есть уже готовый индикатор
Автор: ViL

Re: Заказ индикаторов в TSLab - Thu Jan 28 2016 12:53 PM

Может и есть у кого-то. Сами сделайте. Сразу программу узнаете. Синтаксис блока формула здесь: http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8149#Post8149
Начните с видео уроков: http://www.tslab.ru/soft/video/
Автор: ViL

Re: Заказ индикаторов в TSLab - Thu Jan 28 2016 12:55 PM

есть еще премиум поддержка, которая может помочь разобраться в программе.
Автор: Ab16

Re: Заказ индикаторов в TSLab - Thu Jan 28 2016 01:45 PM

Спасибо, будем пробовать. Вот только ещё один вопрос, а какие ещё программы поддерживают история как тслаб? Что бы проверить стратегию на прошлом, подойдет вариант и в ручном режиме
Автор: ViL

Re: Заказ индикаторов в TSLab - Thu Jan 28 2016 02:35 PM

не понял вопроса.
Автор: Ab16

Re: Заказ индикаторов в TSLab - Thu Jan 28 2016 04:50 PM

Использую TSLab для проверки стратегий, скачиваю исторические данные котировок с финама, вставляю в TSLab, добавляем в скрипте пару индикаторов (вот сейчас допустим Williams'AD) и смотрю например были ли сделки по данной стратегии выгодные или нет, допустим в ручную или добавляем в скрипт условия, проводим оптимизацию, да и программа выдаёт разные результаты. Допустим в Квике вот нет такой возможности добавить историю допустим фьюч ртс 14 года, там только действующие фьюч отображается. Вот я и спрашиваю в каких еще есть прогах функция просмотры истории, например в метатрейдере есть такая возможность или нет, или в других программах?
Автор: ViL

Re: Заказ индикаторов в TSLab - Thu Jan 28 2016 04:58 PM

Программ много, лучшая TSLab.
Вопрос не в своей теме, задайте здесь: http://forum.tslab.ru/ubb/ubbthreads.php?ubb=postlist&Board=31&page=1
Автор: Stan

Re: Заказ индикаторов в TSLab - Thu Jan 28 2016 05:00 PM

Скорее всего вопрос не сюда. И уж тем более не в этой ветке. Спросите за метатрейдер на форуме метатрейдера или велслаба и стокшарпа!!!
Автор: Ab16

Re: Заказ индикаторов в TSLab - Thu Jan 28 2016 05:05 PM

спасибо
Автор: Ab16

Re: Заказ индикаторов в TSLab - Thu Jan 28 2016 06:37 PM

ффф
Автор: Ab16

Re: Заказ индикаторов в TSLab - Thu Jan 28 2016 07:03 PM

Originally Posted By: ViL
На вид можно сделать в блоке формула.



А про это можете объяснить? что такое блок формулы?
Автор: ViL

Re: Заказ индикаторов в TSLab - Thu Jan 28 2016 07:06 PM

Синтаксис блока формула здесь: http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8149#Post8149
начните с видео уроков, там всё есть.
Автор: Ab16

Re: Заказ индикаторов в TSLab - Thu Jan 28 2016 07:08 PM

открыл я то что написано в тслабе:
using System;
using System.Collections.Generic;
using TSLab.Script;
using TSLab.Script.Handlers;
using TSLab.DataSource;
using TSLab.Script.Helpers;

namespace WAD_
{
public class WAD : IBar2DoubleHandler, IContextUses
{
public IList<double> Execute(ISecurity source)
{
var Close = source.ClosePrices;
var High = source.HighPrices;
var Low = source.LowPrices;
IList<double> wad1 = new List<double>(Close.Count);
double wad_v=0;
double AD, TRH, TRL;

wad1.Add(wad_v);

for (int i = 1; i < Close.Count; i++)
{
TRH = Math.Max(High[i], Close[i-1]);
TRL = Math.Min(Low[i], Close[i-1]);
if(Close[i] > Close[i-1])
AD = Close[i] - TRL;
else
if(Close[i] < Close[i-1])
AD = Close[i] - TRH;
else
AD = 0;
wad_v=wad1[i-1]+AD;
wad1.Add(wad_v);
}
return wad1;
}

public IContext Context { get; set; }
}
}


это тоже самое (всё правильно или нет) как написано в квике:

Вычисление:
CumWADn = CumWadn-1 + WADn,

где:

WADn = PRICEn - TL, если PRICEn > PRICEn-1,
WADn = PRICEn - TH, если PRICEn < PRICEn-1,
WADn = 0, если PRICEn = PRICEn-1,
TH = max(PRICEn-1, HIGHn) - истинный диапазон пиков,
TL = min(PRICEn-1, LOWn) – истинный диапазон донышек,
PRICEn – цена закрытия в n-ом интервале,
HIGH – максимальное значение цены в n-ом интервале,
LOW – минимальное значение цены в n-ом интервале.
Автор: leshikvtumane

Re: Заказ индикаторов в TSLab - Sun Jan 31 2016 10:40 AM

Описание индикатора (двух индикаторов).

Входные параметры - N , В
N - параметр для X[i-N], где X это значение открытия или закрытия бара
В - временной интервал в барах (глубина анализа периода)

Первый индикатор должен дать на выход среднее значение Close[i]-Open[i-N] для i от 0 до B

Второй индикатор должен дать на выход среднее значение Open[i-N]-Close[i] для i от 0 до B
Автор: leshikvtumane

Re: Заказ индикаторов в TSLab - Tue Feb 02 2016 08:02 AM

Кто может написать такой несложный индикатор?
Автор: Stan

Re: Заказ индикаторов в TSLab - Tue Feb 02 2016 06:02 PM

Можно его в визуале сделать!!! Пробуйте
Автор: leshikvtumane

Re: Заказ индикаторов в TSLab - Thu Feb 04 2016 09:14 AM

Originally Posted By: Stan
Можно его в визуале сделать!!! Пробуйте


в визуалке его можно сделать для фиксированных В и N
а мне нужно для очень большого числа вариантов.И мне нужно оптимизировать по В и N
Автор: Stan

Re: Заказ индикаторов в TSLab - Thu Feb 04 2016 01:19 PM

и это тоже можно сделать! посмотрите видео уроки!!
Автор: leshikvtumane

Re: Заказ индикаторов в TSLab - Sat Feb 06 2016 09:17 AM

Originally Posted By: Stan
и это тоже можно сделать! посмотрите видео уроки!!


был бы вам благодарен за ссылку на хотя бы один такой урок.

все же я считаю, что использование [i-n] при обращении к функциям бара никак не даст мне в визуальном редакторе использовать n в цикле !!!
Автор: Bairom

Re: Заказ индикаторов в TSLab - Thu Feb 11 2016 05:52 PM

Доброго времени суток! Подскажите пожалуйста, может у кого есть кубик позволяющий брать объемы на покупку и продажу из тикового графика (текстовик) ? очень надо! есть стандартный кубик в TSLab по футпринту, но с него нельзя взять данные, и он не суммирует объемы за свечу ((
Автор: Stan

Re: Заказ индикаторов в TSLab - Thu Feb 11 2016 08:05 PM

Это дельта заявок, есть в сборке от ТиРу!! Но она будет показывать только на графике из кэша, или онлайн график. Из текстовика не будет показывать! В случае если на исторических данных посмотреть дельту- данные только из бинов.
Автор: Evgeny_NN

Re: Заказ индикаторов в TSLab - Fri Mar 04 2016 11:07 AM

Коллеги, кто сможет написать 2 индикатора:
- регрессия: на входе 2 функции Х и У, задаем период,а выходе
функция регрессии, коэффицент бетта, остатки
- фильтр Ходрика-Прескотта (http://www.web- reg.de/hp_addin.html#) описание.

за деньги.
Автор: ra81

Re: Заказ индикаторов в TSLab - Fri Mar 04 2016 11:24 AM

регрессия есть в кубиках от русалго.
Автор: Evgeny_NN

Re: Заказ индикаторов в TSLab - Sat Mar 05 2016 04:08 PM

подскажи где найти???? может посоветуешь кто может помочь с фильтром Хедрика-Прескотта, exel его вычислять умеет???
Автор: Evgeny_NN

Re: Заказ индикаторов в TSLab - Sat Mar 05 2016 04:08 PM

Originally Posted By: ra81
регрессия есть в кубиках от русалго.



подскажи где найти???? может посоветуешь кто может помочь с фильтром Хедрика-Прескотта, exel его вычислять умеет???
Автор: ra81

Re: Заказ индикаторов в TSLab - Sat Mar 05 2016 05:18 PM

поиск рулит нереально.

по другой штуке не знаю что это вообще. Но полюбому это умеет делать R. Можно сделать кубик отправляющий данные в R на вычисление и забирающий назад. Но это уже работа.
Автор: Stan

Re: Заказ индикаторов в TSLab - Sat Mar 05 2016 06:51 PM

Originally Posted By: Evgeny_NN
Originally Posted By: ra81
регрессия есть в кубиках от русалго.



подскажи где найти???? может посоветуешь кто может помочь с фильтром Хедрика-Прескотта, exel его вычислять умеет???

на чем он хоть основан, или инфу какую то можно скинуть?
Автор: Evgeny_NN

Re: Заказ индикаторов в TSLab - Wed Mar 09 2016 09:50 PM

Originally Posted By: Stan
Originally Posted By: Evgeny_NN
Originally Posted By: ra81
регрессия есть в кубиках от русалго.



подскажи где найти???? может посоветуешь кто может помочь с фильтром Хедрика-Прескотта, exel его вычислять умеет???

на чем он хоть основан, или инфу какую то можно скинуть?



https://university.prognoz.ru/biu/ru/%D0%A4%D0%B8%D0%BB%D1%8C%D1%82%D1%80_%D0%A5%D0%BE%D0%B4%D1%80%D0%B8%D0%BA%D0%B0-%D0%9F%D1%80%D0%B5%D1%81%D0%BA%D0%BE%D1%82%D1%82%D0%B0

почитать можно сдесь
Автор: Evgeny_NN

Re: Заказ индикаторов в TSLab - Thu Mar 17 2016 07:00 PM

есть код на basic
Option Explicit
Option Base 1

Function HP(data As Range, lambda As Double)
Dim nobs As LONG, nseries As LONG
Dim i As LONG, k As LONG
Dim a() As Double, b() As Double, c() As Double, HPout() As Double
Dim H1() As Double, H2() As Double, H3() As Double, H4() As Double, H5() As Double
Dim HH1() As Double, HH2() As Double, HH3() As Double, HH4() As Double, HH5() As Double
Dim Z() As Double, HB() As Double, HC() As Double

nseries = data.Columns.Count
nobs = data.Rows.Count

ReDim HPout(nobs, nseries)
For i = 1 To nseries Step 1
For k = 1 To nobs Step 1
HPout(k, i) = data(k, i)
Next k
Next i

If nobs <= 3 Then

HP = HPout

Else
'Pentadiagonale Matrix erstellen'
'creates pentadiagonal Matrix'
ReDim a(nobs, nseries)
ReDim b(nobs, nseries)
ReDim c(nobs, nseries)


For k = 1 To nseries Step 1
a(1, k) = 1 + lambda
b(1, k) = -2 * lambda
c(1, k) = lambda

For i = 2 To nobs - 1 Step 1
a(i, k) = 6 * lambda + 1
b(i, k) = -4 * lambda
c(i, k) = lambda
Next i

a(2, k) = 5 * lambda + 1
a(nobs, k) = 1 + lambda
a(nobs - 1, k) = 5 * lambda + 1
b(1, k) = -2 * lambda
b(nobs - 1, k) = -2 * lambda
b(nobs, k) = 0
c(nobs - 1, k) = 0
c(nobs, k) = 0
Next k

'Lцsen des linearen Gleichungssystemes'
'Solving system of linear equations'

ReDim H1(nseries)
ReDim H2(nseries)
ReDim H3(nseries)
ReDim H4(nseries)
ReDim H5(nseries)
ReDim HH1(nseries)
ReDim HH2(nseries)
ReDim HH3(nseries)
ReDim HH4(nseries)
ReDim HH5(nseries)
ReDim Z(nseries)
ReDim HB(nseries)
ReDim HC(nseries)
'Vorwдrts'
'Forward'
For k = 1 To nseries Step 1

For i = 1 To nobs Step 1
Z(k) = a(i, k) - H4(k) * H1(k) - HH5(k) * HH2(k)
HB(k) = b(i, k)
HH1(k) = H1(k)
H1(k) = (HB(k) - H4(k) * H2(k)) / Z(k)
b(i, k) = H1(k)
HC(k) = c(i, k)
HH2(k) = H2(k)
H2(k) = HC(k) / Z(k)
c(i, k) = H2(k)
a(i, k) = (HPout(i, k) - HH3(k) * HH5(k) - H3(k) * H4(k)) / Z(k)
HH3(k) = H3(k)
H3(k) = a(i, k)
H4(k) = HB(k) - H5(k) * HH1(k)
HH5(k) = H5(k)
H5(k) = HC(k)
Next i

H2(k) = 0
H1(k) = a(nobs, k)
HPout(nobs, k) = H1(k)

'Rьckwдrts'
'Backward'

For i = nobs To 1 Step -1
HPout(i, k) = a(i, k) - b(i, k) * H1(k) - c(i, k) * H2(k)

H2(k) = H1(k)
H1(k) = HPout(i, k)

Next i
Next k

HP = HPout
End If
End Function
Автор: Nikolai

Re: Заказ индикаторов в TSLab - Fri Mar 25 2016 04:50 PM

Добрый день!
Подскажите пожалуйста, на форуме через поиск не могу найти сборку индикатора Gann Hilo Activator, есть ли сборка этого индикатора или что-то подобного ему для TSLab?
Заранее благодарю!
Автор: ViL

Re: Заказ индикаторов в TSLab - Fri Mar 25 2016 07:50 PM

если и есть, скорее всего только у vito333
Автор: ra81

Re: Заказ индикаторов в TSLab - Sat Mar 26 2016 11:50 AM

да в сборке у вито валяется такой. качайте ее smile
Автор: BoYuR

Re: Заказ индикаторов в TSLab - Wed Jun 08 2016 01:55 PM

Добрый день!
где можно найти классический (с параметрами как в квике) прайс ченел и стохастик?
Автор: ilai

Re: Заказ индикаторов в TSLab - Fri Jun 10 2016 02:31 PM

Добрый день. Нужен индикатор который позволит измерять расстояние от хая до лоя свечей на любом расстоянии друг от друга на графике. Такое честь в обычных терминалах, зажимая кнопку мыши и протягивая нужное расстояние, отображается значение этого расстояния в пунктах.
Индикатор позволит тратить меньше сил на измерение различных растояний на графике.
Автор: ViL

Re: Заказ индикаторов в TSLab - Fri Jun 10 2016 02:59 PM

Originally Posted By: BoYuR
Добрый день!
где можно найти классический (с параметрами как в квике) прайс ченел и стохастик?

можно сделать самому на кубиках. ничего сложного нет в них.
Автор: ViL

Re: Заказ индикаторов в TSLab - Fri Jun 10 2016 03:01 PM

Originally Posted By: ilai
Добрый день. Нужен индикатор который позволит измерять расстояние от хая до лоя свечей на любом расстоянии друг от друга на графике. Такое честь в обычных терминалах, зажимая кнопку мыши и протягивая нужное расстояние, отображается значение этого расстояния в пунктах.
Индикатор позволит тратить меньше сил на измерение различных растояний на графике.

В той ветке я возможно неверно выразился. Вот так, что бы руками делать измерения, не получится сделать даже на API. Ra81 поправит меня, если возможность есть.
А индикатор создать можно, который по определенным правилам будет находить нижнюю точку, верхнюю и выдавать кол-во пунктов.
Автор: ra81

Re: Заказ индикаторов в TSLab - Sat Jun 11 2016 10:35 AM

да даже на апи руками не получится. а посчитать на длине в Х баров можно и в виз редакторе.
Автор: ruben

Re: Заказ индикаторов в TSLab - Sun Jun 12 2016 05:54 PM

Добрый день, дорогие разработчики.

Предлагаю сделать индикаторы, которые будут сохранять и выгружать из КЭШа потоковые и последовательные данные, для обмена между скриптами.
Автор: Kadet

Re: Заказ индикаторов в TSLab - Wed Jun 29 2016 08:51 PM

Дорогие разработчики необходим индикатор для автоматического рисования трендовых линий вот статья с описанием как это сделать https://www.mql5.com/ru/articles/1995?ut...5editor+article
Автор: alexqem

Re: Заказ индикаторов в TSLab - Mon Jul 04 2016 11:38 AM

Нужно переписать индикатор с MQL5 под TSLab, пирложу его в ЛС разработчику. Индикатор не сложный. Бюджет $10-15
Автор: Barda4ok

Re: Заказ индикаторов в TSLab - Sat Jul 09 2016 05:49 PM

Добрый день! В квике на график можно вывести в виде свечей практически любой параметр из таблицы параметров, в тслабе это не реализовано. Сделайте пожалуйста кубик, который на вход будет получать данные типа double (например ОИ, BidQty, AskQty и тд.), а на выходе выдавать данные типа bar, чтобы на графике отображались свечи.
Автор: jhgjrht

Re: Заказ индикаторов в TSLab - Sat Jul 09 2016 07:07 PM

Кубиком тут дело не может ограничится, надо на более глубоком уровне такую возможность закладывать, это влечет существенные переделки программы. Хотя если разработчики сделают такое, я только поаплодирую. Но, думаю, вряд ли. Им слабо. smile
Автор: vito333

Re: Заказ индикаторов в TSLab - Sun Jul 10 2016 09:02 AM

из double кубиком - свечи без теней
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Jul 11 2016 08:44 AM

http://tslab.reformal.ru/proj/?ia=466699
Автор: ra81

Re: Заказ индикаторов в TSLab - Mon Jul 11 2016 11:23 AM

нельзя просто так взять и сделать из чего то свечу с тенями. Потому что нельзя. Данные идут с определенной дискретизацией и проблема больше в этом а не в разработчиках.
Автор: Barda4ok

Re: Заказ индикаторов в TSLab - Tue Jul 12 2016 04:45 PM

почему тогда в квике можно просто взять и сделать?
Автор: ra81

Re: Заказ индикаторов в TSLab - Wed Jul 13 2016 10:21 AM

Originally Posted By: Barda4ok
почему тогда в квике можно просто взять и сделать?

Потому что либо там делается криво, либо используются тиковые данные. А в тслабе у вас они не всегда имеются. Если вы хотите на пальцах, то я могу пояснить. Правда для этого предоставьте что именно делается в квике? Тогда я смогу на конкретном примере описать.
Автор: Surfer

Re: Заказ индикаторов в TSLab - Thu Aug 18 2016 11:39 AM

Здравствуйте. Может кто-нибудь переделать стандартный Zig-zag, чтобы он не выдавал последний луч, который перерисовывается, а выдавал уже на 100% зафиксированное значение?
Автор: ra81

Re: Заказ индикаторов в TSLab - Thu Aug 18 2016 11:57 AM

ищите. было на форуме
Автор: Surfer

Re: Заказ индикаторов в TSLab - Thu Aug 18 2016 01:14 PM

Originally Posted By: ra81
ищите. было на форуме


Если речь идет о ZigZagMS, то выдает ошибку "Не удалось загрузить файл или сборку "ZigZagMS.dll" либо одну из их зависимостей. не является приложением Win32. (Исключение из HRESULT: 0x800700C1)". Посмотреть не удалось, к сожалению. А другие не могу найти на форуме.
Автор: DavSerM

Re: Заказ индикаторов в TSLab - Thu Aug 18 2016 01:38 PM

Я здесь впервые и имею вопрос: Есть ли где описание приведёных в сборке
vvTSLtools индикаторов; как их использовать и т.п. Гугл в помощь не идёт некоторые находятся, а большинство отсылает или сюда или к продавцам роботов.
Автор: ra81

Re: Заказ индикаторов в TSLab - Thu Aug 18 2016 06:37 PM

нет. по набору от вито нет описания.
Автор: DavSerM

Re: Заказ индикаторов в TSLab - Thu Aug 18 2016 10:57 PM

Что же делать бедному студенту?
Автор: ra81

Re: Заказ индикаторов в TSLab - Sun Aug 21 2016 01:50 PM

догадываться.
Автор: DavSerM

Re: Заказ индикаторов в TSLab - Tue Aug 30 2016 01:51 PM

А нельзя ли сделать под TSLab вот этот индикатор"shved_supply_and_demand" или "зоны спроса и предложения"
Click to reveal..
//+------------------------------------------------------------------+
//| shved_supply_and_demand.mq4 |
//+------------------------------------------------------------------+
#property copyright "Shved"
#property link "http://ruforum_mt5_com/members/11434-shved"
#property description "edited by eevviill"
#property description "on-off zones,build 600+,nearest zones in buffers"

#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 Red
#property indicator_color2 Red
#property indicator_color3 DodgerBlue
#property indicator_color4 DodgerBlue

extern int BackLimit=1000;

extern string pus1="/////////////////////////////////////////////////";
extern bool zone_show_weak=true;
extern bool zone_show_untested = true;
extern bool zone_show_turncoat = false;
extern double zone_fuzzfactor=0.75;

extern string pus2="/////////////////////////////////////////////////";
extern bool fractals_show=false;
extern double fractal_fast_factor = 3.0;
extern double fractal_slow_factor = 6.0;
extern bool SetGlobals=true;

extern string pus3="/////////////////////////////////////////////////";
extern bool zone_solid=true;
extern int zone_linewidth=1;
extern int zone_style=0;
extern bool zone_show_info=true;
extern int zone_label_shift=4;
extern bool zone_merge=true;
extern bool zone_extend=true;

extern string pus4="/////////////////////////////////////////////////";
extern bool zone_show_alerts = false;
extern bool zone_alert_popups = true;
extern bool zone_alert_sounds = true;
extern int zone_alert_waitseconds=300;

extern string pus5="/////////////////////////////////////////////////";
extern int Text_size=8;
extern string Text_font = "Courier New";
extern color Text_color = White;
extern string sup_name = "Sup";
extern string res_name = "Res";
extern string test_name= "Retests";
extern color color_support_weak = DarkSlateGray;
extern color color_support_untested = SeaGreen;
extern color color_support_verified = Green;
extern color color_support_proven = LimeGreen;
extern color color_support_turncoat = OliveDrab;
extern color color_resist_weak = Indigo;
extern color color_resist_untested = Orchid;
extern color color_resist_verified = Crimson;
extern color color_resist_proven = Red;
extern color color_resist_turncoat = DarkOrange;

double FastDnPts[],FastUpPts[];
double SlowDnPts[],SlowUpPts[];

double zone_hi[1000],zone_lo[1000];
int zone_start[1000],zone_hits[1000],zone_type[1000],zone_strength[1000],zone_count=0;
bool zone_turn[1000];

#define ZONE_SUPPORT 1
#define ZONE_RESIST 2

#define ZONE_WEAK 0
#define ZONE_TURNCOAT 1
#define ZONE_UNTESTED 2
#define ZONE_VERIFIED 3
#define ZONE_PROVEN 4

#define UP_POINT 1
#define DN_POINT -1

int time_offset=0;

double ner_lo_zone_P1[];
double ner_lo_zone_P2[];
double ner_hi_zone_P1[];
double ner_hi_zone_P2[];
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(4);

SetIndexBuffer(0,SlowDnPts);
SetIndexBuffer(1,SlowUpPts);
SetIndexBuffer(2,FastDnPts);
SetIndexBuffer(3,FastUpPts);

if(fractals_show==true)
{
SetIndexStyle(0,DRAW_ARROW,0,3);
SetIndexStyle(1,DRAW_ARROW,0,3);
SetIndexStyle(2,DRAW_ARROW,0,1);
SetIndexStyle(3,DRAW_ARROW,0,1);
SetIndexArrow(0,218);
SetIndexArrow(1,217);
SetIndexArrow(2,218);
SetIndexArrow(3,217);
}
else
{
SetIndexStyle(0,DRAW_NONE);
SetIndexStyle(1,DRAW_NONE);
SetIndexStyle(2,DRAW_NONE);
SetIndexStyle(3,DRAW_NONE);
}

SetIndexBuffer(4,ner_hi_zone_P1);
SetIndexBuffer(5,ner_hi_zone_P2);
SetIndexBuffer(6,ner_lo_zone_P1);
SetIndexBuffer(7,ner_lo_zone_P2);

SetIndexStyle(4,DRAW_NONE);
SetIndexStyle(5,DRAW_NONE);
SetIndexStyle(6,DRAW_NONE);
SetIndexStyle(7,DRAW_NONE);

SetIndexLabel(4,"ner up zone P1");
SetIndexLabel(5,"ner up zone P2");
SetIndexLabel(6,"ner dn zone P1");
SetIndexLabel(7,"ner dn zone P2");

IndicatorDigits(Digits);

return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int deinit()
{
DeleteZones();
DeleteGlobalVars();
return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
if(NewBar()==true)
{
int old_zone_count=zone_count;

FastFractals();
SlowFractals();
DeleteZones();
FindZones();
DrawZones();
if(zone_count<old_zone_count)
DeleteOldGlobalVars(old_zone_count);
}

if(zone_show_info==true)
{
for(int i=0; i<zone_count; i++)
{
string lbl;
if(zone_strength[i]==ZONE_PROVEN)
lbl="Proven";
else if(zone_strength[i]==ZONE_VERIFIED)
lbl="Verified";
else if(zone_strength[i]==ZONE_UNTESTED)
lbl="Untested";
else if(zone_strength[i]==ZONE_TURNCOAT)
lbl="Turncoat";
else
lbl="Weak";

if(zone_type[i]==ZONE_SUPPORT)
lbl=lbl+" "+sup_name;
else
lbl=lbl+" "+res_name;

if(zone_hits[i]>0 && zone_strength[i]>ZONE_UNTESTED)
{
if(zone_hits[i]==1)
lbl=lbl+", "+test_name+"="+zone_hits[i];
else
lbl=lbl+", "+test_name+"="+zone_hits[i];
}

int adjust_hpos;
int wbpc=WindowBarsPerChart();
int k=Period()*60+(20+StringLen(lbl));

if(wbpc<80)
adjust_hpos=Time[0]+k*4;
else if(wbpc<125)
adjust_hpos=Time[0]+k*8;
else if(wbpc<250)
adjust_hpos=Time[0]+k*15;
else if(wbpc<480)
adjust_hpos=Time[0]+k*29;
else if(wbpc<950)
adjust_hpos=Time[0]+k*58;
else
adjust_hpos=Time[0]+k*115;

//

int shift=k*zone_label_shift;
double vpos=zone_hi[i]-(zone_hi[i]-zone_lo[i])/2;

if(zone_strength[i]==ZONE_WEAK && zone_show_weak==false)
continue;
if(zone_strength[i]==ZONE_UNTESTED && zone_show_untested==false)
continue;
if(zone_strength[i]==ZONE_TURNCOAT && zone_show_turncoat==false)
continue;

string s="SSSR#"+i+"LBL";
ObjectCreate(s,OBJ_TEXT,0,0,0);
ObjectSet(s,OBJPROP_TIME1,adjust_hpos+shift);
ObjectSet(s,OBJPROP_PRICE1,vpos);
ObjectSetText(s,StringRightPad(lbl,36," "),Text_size,Text_font,Text_color);
}
}

CheckAlerts();

return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void CheckAlerts()
{
static int lastalert=0;

if(zone_show_alerts==false)
return;

if(Time[0]-lastalert>zone_alert_waitseconds)
if(CheckEntryAlerts()==true)
lastalert=Time[0];
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
bool CheckEntryAlerts()
{
// check for entries
for(int i=0; i<zone_count; i++)
{
if(Close[0]>=zone_lo[i] && Close[0]<zone_hi[i])
{
if(zone_show_alerts==true)
{
if(zone_alert_popups==true)
{
if(zone_type[i]==ZONE_SUPPORT)
Alert(Symbol()+TimeFrameToString(Period())+": Support Zone Entered");
else
Alert(Symbol()+TimeFrameToString(Period())+": Resistance Zone Entered");
}

if(zone_alert_sounds==true)
PlaySound("alert_wav");
}

return(true);
}
}

return(false);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void DeleteGlobalVars()
{
if(SetGlobals==false)
return;

GlobalVariableDel("SSSR_Count_"+Symbol()+Period());
GlobalVariableDel("SSSR_Updated_"+Symbol()+Period());

int old_count=zone_count;
zone_count=0;
DeleteOldGlobalVars(old_count);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void DeleteOldGlobalVars(int old_count)
{
if(SetGlobals==false)
return;

for(int i=zone_count; i<old_count; i++)
{
GlobalVariableDel("SSSR_HI_"+Symbol()+Period()+i);
GlobalVariableDel("SSSR_LO_"+Symbol()+Period()+i);
GlobalVariableDel("SSSR_HITS_"+Symbol()+Period()+i);
GlobalVariableDel("SSSR_STRENGTH_"+Symbol()+Period()+i);
GlobalVariableDel("SSSR_AGE_"+Symbol()+Period()+i);
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void FindZones()
{
int i,j,shift,bustcount=0,testcount=0;
double hival,loval;
bool turned=false,hasturned=false;

double temp_hi[1000],temp_lo[1000];
int temp_start[1000],temp_hits[1000],temp_strength[1000],temp_count=0;
bool temp_turn[1000],temp_merge[1000];
int merge1[1000],merge2[1000],merge_count=0;

// iterate through zones from oldest to youngest (ignore recent 5 bars),
// finding those that have survived through to the present___
for(shift=MathMin(Bars-1,BackLimit); shift>5; shift--)
{
double atr= iATR(NULL,0,7,shift);
double fu = atr/2 * zone_fuzzfactor;
bool isWeak;
bool touchOk= false;
bool isBust = false;

if(FastUpPts[shift]>0.001)
{
// a zigzag high point
isWeak=true;
if(SlowUpPts[shift]>0.001)
isWeak=false;

hival=High[shift];
if(zone_extend==true)
hival+=fu;

loval=MathMax(MathMin(Close[shift],High[shift]-fu),High[shift]-fu*2);
turned=false;
hasturned=false;
isBust=false;

bustcount = 0;
testcount = 0;

for(i=shift-1; i>=0; i--)
{
if((turned==false && FastUpPts[i]>=loval && FastUpPts[i]<=hival) ||
(turned==true && FastDnPts[i]<=hival && FastDnPts[i]>=loval))
{
// Potential touch, just make sure its been 10+candles since the prev one
touchOk=true;
for(j=i+1; j<i+11; j++)
{
if((turned==false && FastUpPts[j]>=loval && FastUpPts[j]<=hival) ||
(turned==true && FastDnPts[j]<=hival && FastDnPts[j]>=loval))
{
touchOk=false;
break;
}
}

if(touchOk==true)
{
// we have a touch_ If its been busted once, remove bustcount
// as we know this level is still valid & has just switched sides
bustcount=0;
testcount++;
}
}

if((turned==false && High[i]>hival) ||
(turned==true && Low[i]<loval))
{
// this level has been busted at least once
bustcount++;

if(bustcount>1 || isWeak==true)
{
// busted twice or more
isBust=true;
break;
}

if(turned == true)
turned = false;
else if(turned==false)
turned=true;

hasturned=true;

// forget previous hits
testcount=0;
}
}

if(isBust==false)
{
// level is still valid, add to our list
temp_hi[temp_count] = hival;
temp_lo[temp_count] = loval;
temp_turn[temp_count] = hasturned;
temp_hits[temp_count] = testcount;
temp_start[temp_count] = shift;
temp_merge[temp_count] = false;

if(testcount>3)
temp_strength[temp_count]=ZONE_PROVEN;
else if(testcount>0)
temp_strength[temp_count]=ZONE_VERIFIED;
else if(hasturned==true)
temp_strength[temp_count]=ZONE_TURNCOAT;
else if(isWeak==false)
temp_strength[temp_count]=ZONE_UNTESTED;
else
temp_strength[temp_count]=ZONE_WEAK;

temp_count++;
}
}
else if(FastDnPts[shift]>0.001)
{
// a zigzag low point
isWeak=true;
if(SlowDnPts[shift]>0.001)
isWeak=false;

loval=Low[shift];
if(zone_extend==true)
loval-=fu;

hival=MathMin(MathMax(Close[shift],Low[shift]+fu),Low[shift]+fu*2);
turned=false;
hasturned=false;

bustcount = 0;
testcount = 0;
isBust=false;

for(i=shift-1; i>=0; i--)
{
if((turned==true && FastUpPts[i]>=loval && FastUpPts[i]<=hival) ||
(turned==false && FastDnPts[i]<=hival && FastDnPts[i]>=loval))
{
// Potential touch, just make sure its been 10+candles since the prev one
touchOk=true;
for(j=i+1; j<i+11; j++)
{
if((turned==true && FastUpPts[j]>=loval && FastUpPts[j]<=hival) ||
(turned==false && FastDnPts[j]<=hival && FastDnPts[j]>=loval))
{
touchOk=false;
break;
}
}

if(touchOk==true)
{
// we have a touch_ If its been busted once, remove bustcount
// as we know this level is still valid & has just switched sides
bustcount=0;
testcount++;
}
}

if((turned==true && High[i]>hival) ||
(turned==false && Low[i]<loval))
{
// this level has been busted at least once
bustcount++;

if(bustcount>1 || isWeak==true)
{
// busted twice or more
isBust=true;
break;
}

if(turned == true)
turned = false;
else if(turned==false)
turned=true;

hasturned=true;

// forget previous hits
testcount=0;
}
}

if(isBust==false)
{
// level is still valid, add to our list
temp_hi[temp_count] = hival;
temp_lo[temp_count] = loval;
temp_turn[temp_count] = hasturned;
temp_hits[temp_count] = testcount;
temp_start[temp_count] = shift;
temp_merge[temp_count] = false;

if(testcount>3)
temp_strength[temp_count]=ZONE_PROVEN;
else if(testcount>0)
temp_strength[temp_count]=ZONE_VERIFIED;
else if(hasturned==true)
temp_strength[temp_count]=ZONE_TURNCOAT;
else if(isWeak==false)
temp_strength[temp_count]=ZONE_UNTESTED;
else
temp_strength[temp_count]=ZONE_WEAK;

temp_count++;
}
}
}

// look for overlapping zones___
if(zone_merge==true)
{
merge_count=1;
int iterations=0;
while(merge_count>0 && iterations<3)
{
merge_count=0;
iterations++;

for(i=0; i<temp_count; i++)
temp_merge[i]=false;

for(i=0; i<temp_count-1; i++)
{
if(temp_hits[i]==-1 || temp_merge[j]==true)
continue;

for(j=i+1; j<temp_count; j++)
{
if(temp_hits[j]==-1 || temp_merge[j]==true)
continue;

if((temp_hi[i]>=temp_lo[j] && temp_hi[i]<=temp_hi[j]) ||
(temp_lo[i] <= temp_hi[j] && temp_lo[i] >= temp_lo[j]) ||
(temp_hi[j] >= temp_lo[i] && temp_hi[j] <= temp_hi[i]) ||
(temp_lo[j] <= temp_hi[i] && temp_lo[j] >= temp_lo[i]))
{
merge1[merge_count] = i;
merge2[merge_count] = j;
temp_merge[i] = true;
temp_merge[j] = true;
merge_count++;
}
}
}

// ___ and merge them ___
for(i=0; i<merge_count; i++)
{
int target = merge1[i];
int source = merge2[i];

temp_hi[target] = MathMax(temp_hi[target], temp_hi[source]);
temp_lo[target] = MathMin(temp_lo[target], temp_lo[source]);
temp_hits[target] += temp_hits[source];
temp_start[target] = MathMax(temp_start[target], temp_start[source]);
temp_strength[target]=MathMax(temp_strength[target],temp_strength[source]);
if(temp_hits[target]>3)
temp_strength[target]=ZONE_PROVEN;

if(temp_hits[target]==0 && temp_turn[target]==false)
{
temp_hits[target]=1;
if(temp_strength[target]<ZONE_VERIFIED)
temp_strength[target]=ZONE_VERIFIED;
}

if(temp_turn[target] == false || temp_turn[source] == false)
temp_turn[target] = false;
if(temp_turn[target] == true)
temp_hits[target] = 0;

temp_hits[source]=-1;
}
}
}

// copy the remaining list into our official zones arrays
zone_count=0;
for(i=0; i<temp_count; i++)
{
if(temp_hits[i]>=0 && zone_count<1000)
{
zone_hi[zone_count] = temp_hi[i];
zone_lo[zone_count] = temp_lo[i];
zone_hits[zone_count] = temp_hits[i];
zone_turn[zone_count] = temp_turn[i];
zone_start[zone_count] = temp_start[i];
zone_strength[zone_count] = temp_strength[i];

if(zone_hi[zone_count]<Close[4])
zone_type[zone_count]=ZONE_SUPPORT;
else if(zone_lo[zone_count]>Close[4])
zone_type[zone_count]=ZONE_RESIST;
else
{
for(j=5; j<1000; j++)
{
if(Close[j]<zone_lo[zone_count])
{
zone_type[zone_count]=ZONE_RESIST;
break;
}
else if(Close[j]>zone_hi[zone_count])
{
zone_type[zone_count]=ZONE_SUPPORT;
break;
}
}

if(j==1000)
zone_type[zone_count]=ZONE_SUPPORT;
}

zone_count++;
}
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void DrawZones()
{
double lower_nerest_zone_P1=0;
double lower_nerest_zone_P2=0;
double higher_nerest_zone_P1=EMPTY_VALUE;
double higher_nerest_zone_P2=EMPTY_VALUE;

if(SetGlobals==true)
{
GlobalVariableSet("SSSR_Count_"+Symbol()+Period(),zone_count);
GlobalVariableSet("SSSR_Updated_"+Symbol()+Period(),TimeCurrent());
}

for(int i=0; i<zone_count; i++)
{
if(zone_strength[i]==ZONE_WEAK && zone_show_weak==false)
continue;

if(zone_strength[i]==ZONE_UNTESTED && zone_show_untested==false)
continue;

if(zone_strength[i]==ZONE_TURNCOAT && zone_show_turncoat==false)
continue;

//name sup
if(zone_type[i]==ZONE_SUPPORT)
string s="SSSR#S"+i+" Strength=";
else
//name res
s="SSSR#R"+i+" Strength=";

if(zone_strength[i]==ZONE_PROVEN)
s=s+"Proven, Test Count="+zone_hits[i];
else if(zone_strength[i]==ZONE_VERIFIED)
s=s+"Verified, Test Count="+zone_hits[i];
else if(zone_strength[i]==ZONE_UNTESTED)
s=s+"Untested";
else if(zone_strength[i]==ZONE_TURNCOAT)
s=s+"Turncoat";
else
s=s+"Weak";

ObjectCreate(s,OBJ_RECTANGLE,0,0,0,0,0);
ObjectSet(s,OBJPROP_TIME1,Time[zone_start[i]]);
ObjectSet(s,OBJPROP_TIME2,Time[0]);
ObjectSet(s,OBJPROP_PRICE1,zone_hi[i]);
ObjectSet(s,OBJPROP_PRICE2,zone_lo[i]);
ObjectSet(s,OBJPROP_BACK,zone_solid);
ObjectSet(s,OBJPROP_WIDTH,zone_linewidth);
ObjectSet(s,OBJPROP_STYLE,zone_style);

if(zone_type[i]==ZONE_SUPPORT)
{
// support zone
if(zone_strength[i]==ZONE_TURNCOAT)
ObjectSet(s,OBJPROP_COLOR,color_support_turncoat);
else if(zone_strength[i]==ZONE_PROVEN)
ObjectSet(s,OBJPROP_COLOR,color_support_proven);
else if(zone_strength[i]==ZONE_VERIFIED)
ObjectSet(s,OBJPROP_COLOR,color_support_verified);
else if(zone_strength[i]==ZONE_UNTESTED)
ObjectSet(s,OBJPROP_COLOR,color_support_untested);
else
ObjectSet(s,OBJPROP_COLOR,color_support_weak);
}
else
{
// resistance zone
if(zone_strength[i]==ZONE_TURNCOAT)
ObjectSet(s,OBJPROP_COLOR,color_resist_turncoat);
else if(zone_strength[i]==ZONE_PROVEN)
ObjectSet(s,OBJPROP_COLOR,color_resist_proven);
else if(zone_strength[i]==ZONE_VERIFIED)
ObjectSet(s,OBJPROP_COLOR,color_resist_verified);
else if(zone_strength[i]==ZONE_UNTESTED)
ObjectSet(s,OBJPROP_COLOR,color_resist_untested);
else
ObjectSet(s,OBJPROP_COLOR,color_resist_weak);
}


if(SetGlobals==true)
{
GlobalVariableSet("SSSR_HI_"+Symbol()+Period()+i,zone_hi[i]);
GlobalVariableSet("SSSR_LO_"+Symbol()+Period()+i,zone_lo[i]);
GlobalVariableSet("SSSR_HITS_"+Symbol()+Period()+i,zone_hits[i]);
GlobalVariableSet("SSSR_STRENGTH_"+Symbol()+Period()+i,zone_strength[i]);
GlobalVariableSet("SSSR_AGE_"+Symbol()+Period()+i,zone_start[i]);
}

//nearest zones
if(zone_lo[i]>lower_nerest_zone_P2 && Bid>zone_lo[i]) {lower_nerest_zone_P1=zone_hi[i];lower_nerest_zone_P2=zone_lo[i];}
if(zone_hi[i]<higher_nerest_zone_P1 && Bid<zone_hi[i]) {higher_nerest_zone_P1=zone_hi[i];higher_nerest_zone_P2=zone_lo[i];}
}

ner_hi_zone_P1[0]=higher_nerest_zone_P1;
ner_hi_zone_P2[0]=higher_nerest_zone_P2;
ner_lo_zone_P1[0]=lower_nerest_zone_P1;
ner_lo_zone_P2[0]=lower_nerest_zone_P2;
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
bool Fractal(int M,int P,int shift)
{
if(Period()>P)
P=Period();

P=P/Period()*2+MathCeil(P/Period()/2);

if(shift<P)
return(false);

if(shift>Bars-P)
return(false);

for(int i=1; i<=P; i++)
{
if(M==UP_POINT)
{
if(High[shift+i]>High[shift])
return(false);
if(High[shift-i]>=High[shift])
return(false);
}
if(M==DN_POINT)
{
if(Low[shift+i]<Low[shift])
return(false);
if(Low[shift-i]<=Low[shift])
return(false);
}
}
return(true);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void FastFractals()
{
int shift;
int limit=MathMin(Bars-1,BackLimit);
int P=Period()*fractal_fast_factor;

FastUpPts[0] = 0.0; FastUpPts[1] = 0.0;
FastDnPts[0] = 0.0; FastDnPts[1] = 0.0;

for(shift=limit; shift>1; shift--)
{
if(Fractal(UP_POINT,P,shift)==true)
FastUpPts[shift]=High[shift];
else
FastUpPts[shift]=0.0;

if(Fractal(DN_POINT,P,shift)==true)
FastDnPts[shift]=Low[shift];
else
FastDnPts[shift]=0.0;
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void SlowFractals()
{
int shift;
int limit=MathMin(Bars-1,BackLimit);
int P=Period()*fractal_slow_factor;

SlowUpPts[0] = 0.0; SlowUpPts[1] = 0.0;
SlowDnPts[0] = 0.0; SlowDnPts[1] = 0.0;

for(shift=limit; shift>1; shift--)
{
if(Fractal(UP_POINT,P,shift)==true)
SlowUpPts[shift]=High[shift];
else
SlowUpPts[shift]=0.0;

if(Fractal(DN_POINT,P,shift)==true)
SlowDnPts[shift]=Low[shift];
else
SlowDnPts[shift]=0.0;
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
bool NewBar()
{
static datetime LastTime=0;
if(iTime(Symbol(),Period(),0)+time_offset!=LastTime)
{
LastTime=iTime(Symbol(),Period(),0)+time_offset;
return (true);
}
else
return (false);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void DeleteZones()
{
int len=5;
int i;

while(i<ObjectsTotal())
{
string objName=ObjectName(i);
if(StringSubstr(objName,0,len)!="SSSR#")
{
i++;
continue;
}
ObjectDelete(objName);
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
string TimeFrameToString(int tf) //code by TRO
{
string tfs;

switch(tf)
{
case PERIOD_M1:
tfs="M1";
break;
case PERIOD_M5:
tfs="M5";
break;
case PERIOD_M15:
tfs="M15";
break;
case PERIOD_M30:
tfs="M30";
break;
case PERIOD_H1:
tfs="H1";
break;
case PERIOD_H4:
tfs="H4";
break;
case PERIOD_D1:
tfs="D1";
break;
case PERIOD_W1:
tfs="W1";
break;
case PERIOD_MN1:
tfs="MN";
}

return(tfs);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
string StringRepeat(string str,int n=1)
{
string outstr="";
for(int i=0; i<n; i++) outstr=outstr+str;
return(outstr);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
string StringRightPad(string str,int n=1,string str2=" ")
{
return(str + StringRepeat(str2,n-StringLen(str)));
}
//+------------------------------------------------------------------+
Автор: Stan

Re: Заказ индикаторов в TSLab - Tue Aug 30 2016 08:09 PM

надо побольше простыню выкладывать))))))))))
Автор: Nigel22

Re: Заказ индикаторов в TSLab - Wed Aug 31 2016 09:36 PM

Это тот самый индикатор..
Я как то слышал от гуру и профессионалов что только с помощью него можно зарабатывать стабильно и много.. в связке с тслаб творит чудеса. Вообщем...вам надо закончить вуз на программиста, потом пройти курсы от по апи, сесть и написать этот индикатор. Далее включаете тслаб он даже будет работать нормально к тому моменту. В монитор можно будет не смотреть, ввиду наличия полной стабильности, не надо писать в тех поддержку. Только не палите больше индикатор а то все увидят, сделают, начнут зарабатывать и рынок исчезнет
Автор: vito333

Re: Заказ индикаторов в TSLab - Fri Sep 02 2016 10:28 AM

не палите грааль
Автор: komissar

Re: Заказ индикаторов в TSLab - Fri Sep 02 2016 01:42 PM

Как два пальца ... Идеология понятна. Грубо - уровни поддержки и сопротивления, которые бьются на разных фремах - эдесь, я так понимаю - фракталы. И какие-то фильтры. Подобное пытался написать когда-то. Основу сделал - но крыша сьехала-гора переменных и вариантов. Штучка полезная, но грааль сидит у дяди кукла рядом с мешком денег.
Автор: DavSerM

Re: Заказ индикаторов в TSLab - Wed Sep 07 2016 12:57 PM

А что его палить? Он в открытом доступе в библиотеке МТ4 бесплатно доступен. Я спрашиваю кто то может такой кубик сделать? Я бы мог- не спрашивал бы.
Автор: DavSerM

Re: Заказ индикаторов в TSLab - Wed Sep 07 2016 01:01 PM

Более совершенный от автора доступен только в аренду за 10$ в месяц. Вот там уж наверное код не доступен.
Автор: ra81

Re: Заказ индикаторов в TSLab - Wed Sep 07 2016 01:04 PM

могут то много кто. Но видимо не все готовы бесплатно.
Автор: DavSerM

Re: Заказ индикаторов в TSLab - Sat Oct 01 2016 08:11 PM

Хорошо, тогда другой вопрос. Может кто помочьсделать индикатор HPI(индекс выплат Херрика)Для расчета HPI необходимо определить два входных параметра: коэффициент сглаживания, или «множитель», и «удельную стоимость изменения цены на 1 цент».

Множитель – это элемент механизма сглаживания. Он дает примерно тот же сглаживающий эффект, что и скользящее среднее. Так, результат применения множителя, равного 10, примерно соответствует результату сглаживания с помощью 10периодного скользящего среднего.

В качестве значения удельной стоимости изменения цены на 1 цент Дж. Херрик рекомендует число 50 для серебра и 100 для всех остальных товаров. HPI вычисляется по формуле:
Ky+((K'-Ky)x S)/10000
где

Кy = вчерашнее значение НР1;

К’= (С х V х (М – Мy ) ) [ 1 ± 2 * I / G ]

S = множитель;

С = удельная стоимость изменения цены на 1 цент;

V = сегодняшний объем торгов;

M = (Максимальная цена + минимальная цена) / 2

Мy = М (средняя цена) за вчерашний день;

± – «+», если М > М , и «–», если М < М ;

I = абсолютное значение разности между сегодняшним и вчерашним открытым интересом;

G = меньшее из значений сегодняшнего и вчерашнего открытого интереса.


Автор: SEW777

Re: Заказ индикаторов в TSLab - Mon Jan 16 2017 08:01 PM

Здравствуйте, подскажите, может кто подскажет где найти индикатор "Уровни Мюррея" для TSLab
Автор: uuzzeerr

Re: Заказ индикаторов в TSLab - Mon Jan 16 2017 10:38 PM

любые уровни достаточно легко реализуютсся в тслаб. надо только точный расчет их знать
Автор: SEW777

Re: Заказ индикаторов в TSLab - Tue Jan 17 2017 06:22 AM

у меня этот индикатор в мт4, хотелось бы перенести его в tslab
Автор: AceVenturaZH

Re: Заказ индикаторов в TSLab - Tue May 23 2017 07:20 AM

коллеги, необходим индикатор, вывод исторических уровней на график из ТХТ файла, с возможностью дальнейшей работы через кубики. Уровней 4. Направьте на API код или готов мотивировать разработчика.
Автор: ViL

Re: Заказ индикаторов в TSLab - Tue May 23 2017 10:13 AM

Originally Posted By: AceVenturaZH
Направьте на API код

http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=66939#Post66939
Автор: Kadet

Re: Заказ индикаторов в TSLab - Wed Jun 21 2017 01:42 PM

Дорогие специалисты подскажите может такое уже есть? Нужно делать скрин экрана каждые 20-30 минут и складывать в папку Может сделаете такой блок как фотоаппарат с возможностью делать не только скрин графика TSLab но всего экрана
Автор: Frend

Re: Заказ индикаторов в TSLab - Wed Jun 21 2017 02:30 PM

так
Автор: ViL

Re: Заказ индикаторов в TSLab - Wed Jun 21 2017 04:50 PM

Originally Posted By: Kadet
Дорогие специалисты подскажите может такое уже есть? Нужно делать скрин экрана каждые 20-30 минут и складывать в папку Может сделаете такой блок как фотоаппарат с возможностью делать не только скрин графика TSLab но всего экрана

В версии программы 2.0 в настройках программы можно настроить и googledrive и dropbox
Автор: Kadet

Re: Заказ индикаторов в TSLab - Thu Jun 22 2017 04:54 PM

у меня есть круче))) цена падает а бот только покупает результат с комиссией
Автор: Kadet

Re: Заказ индикаторов в TSLab - Thu Jun 22 2017 04:56 PM

спасибо бум искать
Автор: Sergio777

Re: Заказ индикаторов в TSLab - Thu Dec 21 2017 02:50 PM

Добрый день.
Многие ряды (цена, стохастик) слишком рваные что затрудняет торговлю (и сглаживание с помощью sma/ema часто не решают проблему). Мне кажется хорошим выходом был бы индикатор, который аппроксимирует исходный ряд (n его последних значений) полиномом m-степени (чтобы m - было настраиваемым параметром от 1 до 10). Таким образом индикатор из исходного ряда построит гладкий ряд значений, экстремумы которого будет удобно использовать. Об аппроксимации написано тут.
http://fs.nashaucheba.ru/docs/180/index-242476-6.html
Автор: ViL

Re: Заказ индикаторов в TSLab - Thu Dec 21 2017 04:59 PM

По факту получится лучше, если обработать ряд, модными усреднениями, например JMA. Обработайте ими ряды и потом в формуле напишите формулу стохастика.
Автор: Sergio777

Re: Заказ индикаторов в TSLab - Thu Dec 21 2017 09:26 PM

Обработал ряд стохастика модным усреднением - получилось вот что (нижняя зеленая - это стохастик с jma).
https://s14.postimg.org/p9z7l8sbl/jma.png
А хотелось бы так, как на втором рисунке красным smile
https://s14.postimg.org/yhrg1zwtt/image.png
Автор: ViL

Re: Заказ индикаторов в TSLab - Fri Dec 22 2017 12:21 PM

Да не ряд стохастика, а ряды цен, а уже из обработанных делать стохастик.
Автор: vladislav99980

Re: Заказ индикаторов в TSLab - Thu Jun 07 2018 10:42 AM

Подскажите индикатор АО - Awesome Oscillator можно где-то скачать? в стандартных не нашел его.
Автор: vladislav99980

Re: Заказ индикаторов в TSLab - Sat Jun 09 2018 09:55 AM

Вы можете сделать индикатор АО - Awesome Oscillator?э

Расчет индикатора Awesome Oscillator

Гистограмма Awesome Oscillator — это 34-периодное простое скользящее среднее, построенное по центральным значениям баров (H+L)/2, вычтенное из 5-периодного простого скользящего среднего по центральным точкам (Н+L)/2.

MEDIAN PRICE = (HIGH + LOW) / 2

AO = SMA (MEDIAN PRICE, 5) — SMA (MEDIAN PRICE, 34)

где:

MEDIAN PRICE — медианная цена;
HIGH — максимальная цена бара;
LOW — минимальная цена бара;
SMA — простая скользящая средняя.
Можно ли сделать 2 варианта с SMA и EMA. Или их в программе менять как то можно было бы? В квике он имеет 2 метода расчета простой и экспоненциальный.

Зeлeным цвeтoм oкpaшивaeтcя вcякий cтoлбeц, выcoтa кoтopoгo бoльшe пpeдыдущeгo, a в кpacный — вcякий cтoлбeц, выcoтa кoтopoгo мeньшe пpeдыдущeгo.

Сигнал на покупку происходит при смене цвета с красного на зеленый, на продажу смена цвета с зеленого на красный. Т.е. выход из индикатора смена с зеленого на красный пойдет к кубику открытие позиции(лонга) или закрытие позиции(шорта). выход индикатора смена цвета с красного на зеленый пойдет на кубик открытие позиции(шорта) или закрытие позиции(лонга)
Автор: vladislav99980

Re: Заказ индикаторов в TSLab - Tue Jun 12 2018 08:59 PM

Индикатор я сделал, подскажите как реализовать сигналы на покупку и продажу?
Автор: ViL

Re: Заказ индикаторов в TSLab - Wed Jun 13 2018 05:50 PM

http://forum.tslab.ru/ubb/ubbthreads.php?ubb=postlist&Board=10
здесь множество примеров.
Автор: R35

Re: Заказ индикаторов в TSLab - Mon Sep 17 2018 07:05 PM

Нужен индикатор VWAP для второй версии ТСлаб.Вознаграждение)
Автор: Maverick

Re: Заказ индикаторов в TSLab - Sat Mar 02 2019 06:49 AM

Здравствуйте, интересует реализация модели улыбки SABR или хотя бы Хестона или Бейтса. Возможно ли это ли это в виде кубика?
Автор: T33

Re: Заказ индикаторов в TSLab - Sun Mar 03 2019 02:19 PM

Здравствуйте! Может кто-то сделать кубик, смыслом которого является чтение из тиковой txt истории параметров BID ASK c последующем сложением бидов с бидами, асков с асками по типу объемов или дельт покупки/продажи. Так же очень важно иметь в кубике возможность выбора потока для вывода(переключатель BID/ASK)? Шапка тикового потока исторических данных <DATE>,<TIME>,<MSEC>,<TRADENO>,<LAST>,<VOL>,<DIRECTION>,<BID>,<ASK>,<INTEREST>. TS lab текущая версия 2,0,33,0
Сам только в Python совсем немного соображаю. Не под силу на C# написать самому.
Автор: ViL

Re: Заказ индикаторов в TSLab - Sun Mar 03 2019 03:01 PM

Программа сама читает.
создайте в менеджере подключений текстовый источник.
В лаборатории включите обновление в режиме реалтайм.(в агенте это работать не будет)
Выберите в источнике файл.
Если файл будет обновляться в режиме реал тайм - скрипт будет обновляться.
Из источника в редактор выводите бид/аск и дальше делать в блоках формула то, что хотите. язык знать вообще не обязательно.
Автор: T33

Re: Заказ индикаторов в TSLab - Sun Mar 03 2019 10:58 PM

Извините, но я не знаю как реализовать. Мне нужно значение бид одного тика складывать с бидом предыдущего, логика должна быть как у кубика 'Объем'. Тоесть логика 'Объем' для значения BID из тика и логика логика 'Объем' для значения ASK из тика.
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Mar 04 2019 09:03 AM

Что именно Вы хотите получить, у этого есть название ?
Автор: T33

Re: Заказ индикаторов в TSLab - Mon Mar 04 2019 09:12 PM

Нет, названия нет, просто хочу свою идею попробовать реализовать. Кубик который нужен: есть тиковая история txt формата, в ней данные <DATE>,<TIME>,<MSEC>,<TRADENO>,<LAST>,<VOL>,<DIRECTION>,<BID>,<ASK>,<INTEREST>; стандартный кубик Volume, берет тиковый объем в сделке, складывает и перерисовывает его для каждой свечи в зависимости от тайм фрейма который я выберу. Так вот мне нужен точно такой же только для BID и для ASK данных из тиковой строчки, с возможностью перебора для оптимизации. Самостоятельно я не смог найти код кубика объем, пробовал найти для дельты, но в том что я нашел, в переменные загоняются свечи а не тики.
P.S. Если это важно, то дельта из сборок которые на форуме, показывает сплошной ноль почему-то, может она для риал тайма. Но стандартные бид и аск кубики дату вытаскивают из данных истории и корректно отображают на графике.
Автор: ViL

Re: Заказ индикаторов в TSLab - Tue Mar 05 2019 10:12 AM

Я пока не понимаю, может кто-то поймет.
В конечном итоге это что, как собрать биды под таймфрейм, не меняя таймфрейм ?
Есть сжатие, его интервал подвластен оптимизации, от него уже биды с асками, только это на ум пришло из объяснения.
Автор: Rezident

Re: Заказ индикаторов в TSLab - Tue Mar 05 2019 11:27 AM

Теоретически на тике только бид или только аск, поэтому и дельты нету. Но это теоретически, а как там биржа метки присваивает? ...ХЗ.
Ну а если Вы хотите видеть динамическое суммирование бидов и асков в процессе движения вправо по шкале ТФ, то нужно простое суммирование делать, через ОЗ обычно такое, но сейчас уже есть кубик, кажется "сумма за ТФ" называется, можно его попробовать.
Автор: T33

Re: Заказ индикаторов в TSLab - Wed Mar 06 2019 11:44 PM

Попробовал... даже переделал все биды и аски в тиковой дате на объем проторгованный в покупку для бидо и продажу для асков, сделал синтетическую дельту чтоль, чтоб проверить как работает скрипт, но общий объем проьторгованный даже на 1 сек. свече не совпал. Вижу выход такой, взять код стандартного индикатора объем, и вместо переменной VOL из тика, сослаться на аск или бид. Но проблема в том, что не могу найти код индикатора Объем.
Автор: Rezident

Re: Заказ индикаторов в TSLab - Thu Mar 07 2019 09:13 AM

А Вы данные реал тайм подключите, что ждать-то от txt?! С ними уже можно легко суммировать биды и аски, как заблагорассудится.
Автор: T33

Re: Заказ индикаторов в TSLab - Thu Mar 07 2019 05:42 PM

История у меня только в таком виде доступна, а мне надо прогнать скрипт на исторических данных, вот я и ищу решение.
Автор: ViL

Re: Заказ индикаторов в TSLab - Thu Mar 07 2019 11:38 PM

На какие инструменты нужны данные ?
Автор: leon_mn

Re: Заказ индикаторов в TSLab - Wed Mar 13 2019 10:11 PM

Добрый день!
покажите плз, тыкните пальцем может, но я не могу найти индикатор JMA в котором корректно работает и length и phase.

я делаю стратегию которую необходимо запустить в последствии на tradingview.com а обкатать и прогнать по оптимизации можно только в среде TSLab..

и мне оч необходим индикатор который работает одинакового для обоих платформ с одинаковой математикой.
в крайнем случае помогите плз портировать кривой JMA в среду PINE...
Автор: ViL

Re: Заказ индикаторов в TSLab - Thu Mar 14 2019 05:51 PM

Сначала нужно выяснить какой из JMA.
Обе версии делали пользователи.
https://www.screencast.com/t/xRVBndw79x
Автор: leon_mn

Re: Заказ индикаторов в TSLab - Thu Mar 14 2019 10:11 PM

у меня они лежат среди пользовательских, несколько штук всяких я нашел, какие-то даже работают исключительно в версии х32 и не работают в х64
но у них у всех не работает phase.
Автор: leon_mn

Re: Заказ индикаторов в TSLab - Thu Mar 14 2019 10:14 PM

а можно статейку где описано как это сделать?
и кстати, в FAQ бы добавить данное знание, ведь многие могут захотеть использовать сервер для прогона оптимизации стратегий при разработке
Автор: ViL

Re: Заказ индикаторов в TSLab - Fri Mar 15 2019 10:38 AM

Не понял, что за знание.
Смотреть где-то на форуме, поиск.
Автор: leon_mn

Re: Заказ индикаторов в TSLab - Fri Mar 15 2019 04:17 PM

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

так что запрос все тот же самый.

во вложении индюки которые кладутся в папку С:\Program Files (x86)\TSLab 2.0\Handlers\
плюс индикатор для МетаТрейдер4 (я не слишком знаком с этой платформой)
а так же код индикатора в среде pine на платформе tradingview.com
Code:
//JMA calculation
JMA(src, len, p) =>
    beta = 0.45*(len-1)/(0.45*(len-1)+2)
    alpha = pow(beta, p)
    L0=0.0, L1=0.0, L2=0.0, L3=0.0, L4=0.0
    L0 := (1-alpha)*src + alpha*nz(L0[1])
    L1 := (src - L0[0])*(1-beta) + beta*nz(L1[1])
    L2 := L0[0] + L1[0]
    L3 := (L2[0] - nz(L4[1]))*((1-alpha)*(1-alpha)) + (alpha*alpha)*nz(L3[1])
    L4 := nz(L4[1]) + L3[0]
    L4

Автор: leon_mn

Re: Заказ индикаторов в TSLab - Sun Mar 17 2019 11:40 PM

И еще один JMA который так же не реагирует на phase но при этом еще и только в среде х32 работает..
в общем ограничение на ограничении...

в тслаб вообще можно что-то сделать не кубиками а кодом?
Автор: leon_mn

Re: Заказ индикаторов в TSLab - Mon Mar 18 2019 02:25 PM

гляньте плз, почему не работает...
в пане выглядит так:


Code:
//JMA calculation
JMA(src, len, p) =>
    beta = 0.45*(len-1)/(0.45*(len-1)+2)
    alpha = pow(beta, p)
    L0=0.0, L1=0.0, L2=0.0, L3=0.0, L4=0.0
    L0 := (1-alpha)*src + alpha*nz(L0[1])
    L1 := (src - L0[0])*(1-beta) + beta*nz(L1[1])
    L2 := L0[0] + L1[0]
    L3 := (L2[0] - nz(L4[1]))*((1-alpha)*(1-alpha)) + (alpha*alpha)*nz(L3[1])
    L4 := nz(L4[1]) + L3[0]
    L4
Автор: OldMo

Re: Заказ индикаторов в TSLab - Mon Mar 18 2019 05:19 PM

Originally Posted By: leon_mn
И еще один JMA который так же не реагирует на phase но при этом еще и только в среде х32 работает..
в общем ограничение на ограничении...

в тслаб вообще можно что-то сделать не кубиками а кодом?


Можно. Все что можно кубиками можно и на API + то чего в кубиках нет. Кубики же тоже на апи написаны.
Автор: OldMo

Re: Заказ индикаторов в TSLab - Mon Mar 18 2019 05:38 PM

Можно открыть в VS индикатор который вы скидывали и переделать его чтобы он считал как вам надо. Даже с TSlab API разбираться не надо. Оставляете всю "обертку" как было и меняете математику внутри.

Там конечно треш из 200+ строк кода типа num9 = (num24 - num10) * num27 + num26 * num9; Но если он вам так нужен разобраться можно. Даже интересно стало, что за индикатор так брутально высчитывается.

З.Ы. Не забудьте поделиться с нами правильным индикатором.
Автор: leon_mn

Re: Заказ индикаторов в TSLab - Mon Mar 18 2019 07:27 PM

Originally Posted By: OldMo
Можно открыть в VS

поподробнее плз
Автор: OldMo

Re: Заказ индикаторов в TSLab - Tue Mar 19 2019 01:43 PM

Ну я открывал при помощи ReSharper'a для VS. Наверное, существует много других способов декомпилировать dll, я не разбираюсь. Думаю это легко гуглится.
Во вложении код из вашего индикатора.
Автор: leon_mn

Re: Заказ индикаторов в TSLab - Fri Mar 22 2019 02:04 AM

у меня есть еще один индикатор который работает примерно по такой же схеме - ему надо чтобы формулы могли пересекаться друг на друга.. то-есть вот пример:
Code:
//JMA calculation
JMA(src, len, p) =>
    beta = 0.45*(len-1)/(0.45*(len-1)+2)
    alpha = pow(beta, p)
    L0=0.0, L1=0.0, L2=0.0, L3=0.0, L4=0.0
    L0 := (1-alpha)*src + alpha*nz(L0[1])
    L1 := (src - L0[0])*(1-beta) + beta*nz(L1[1])
    L2 := L0[0] + L1[0]
    L3 := (L2[0] - nz(L4[1]))*((1-alpha)*(1-alpha)) + (alpha*alpha)*nz(L3[1])
    L4 := nz(L4[1]) + L3[0]
    L4

L3 и L4 обращаются друг к другу в пайне, и так это работает вполне себе.
не могу сделать чтобы это работало в тслабе....
Автор: leon_mn

Re: Заказ индикаторов в TSLab - Fri Mar 22 2019 11:22 AM

поддержка со стороны администрации просто зашкаливает...
Автор: ViL

Re: Заказ индикаторов в TSLab - Fri Mar 22 2019 05:39 PM

Что требуется от администрации ?
Автор: leon_mn

Re: Заказ индикаторов в TSLab - Fri Mar 22 2019 08:37 PM

помочь с адаптацией кода в вашем приложении
неужто не понятно что расширение возможностей вашей платформы и введение максимального числа популярный и не оч популярный индикаторов ведет к большему распространению вашей платформы и увеличению конечный пользователей что как иток - к прибыли.
кажется логическая цепь понятна и ясна...

PS почему хотя бы вы не можете сделать какой общий пул индикаторов от пользователей не через кастыли как сейчас: "пойди на форуме найди, надейся что оно работает правильно.."
Автор: jhgjrht

Re: Заказ индикаторов в TSLab - Fri Mar 22 2019 09:34 PM

JMA вот отсюда
будет работать и в 64 битной среде.
По поводу фазы: здесь она, по моему, должна меняться в пределах от -100, до 100. Внутри кода индикатора она нормируется так: phase = phase/100 + 1.5
Автор: leon_mn

Re: Заказ индикаторов в TSLab - Fri Mar 22 2019 10:40 PM

он у меня есть, фаза работает только если -100 , 0 , 100
любые значения между этими тремя не работаю вовсе.

видимо индикатор внутри себя не понимает дробные значения
я где-то такое читал, нам надо бы сделать разделить не на 100 а на 100.000000000000

хотя хрен бы знает, возможно я ошибаюсь
Автор: jhgjrht

Re: Заказ индикаторов в TSLab - Fri Mar 22 2019 10:53 PM

Originally Posted By: leon_mn
он у меня есть, фаза работает только если -100 , 0 , 100
любые значения между этими тремя не работаю вовсе.

видимо индикатор внутри себя не понимает дробные значения
я где-то такое читал, нам надо бы сделать разделить не на 100 а на 100.000000000000

хотя хрен бы знает, возможно я ошибаюсь
Посмотрел, очень может быть, что так и есть. Попробуйте эту версию.
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Mar 25 2019 11:05 AM

Originally Posted By: leon_mn
помочь с адаптацией кода в вашем приложении
неужто не понятно что расширение возможностей вашей платформы и введение максимального числа популярный и не оч популярный индикаторов ведет к большему распространению вашей платформы и увеличению конечный пользователей что как иток - к прибыли.
кажется логическая цепь понятна и ясна...

PS почему хотя бы вы не можете сделать какой общий пул индикаторов от пользователей не через кастыли как сейчас: "пойди на форуме найди, надейся что оно работает правильно.."


Как определять, что правильный индикатор, не правильный ?
Пул создали здесь:
https://github.com/tslab-hub/handlers
Автор: leon_mn

Re: Заказ индикаторов в TSLab - Wed Apr 03 2019 03:23 PM

Кто может написать WMA (он же LWMA в тслабе) в виде кубиков?
Автор: leon_mn

Re: Заказ индикаторов в TSLab - Wed Apr 03 2019 03:25 PM

Originally Posted By: ViL

Как определять, что правильный индикатор, не правильный ?

обратиться к создателю наверное
Автор: Stan

Re: Заказ индикаторов в TSLab - Fri Apr 05 2019 06:43 AM

Originally Posted By: leon_mn
Кто может написать WMA (он же LWMA в тслабе) в виде кубиков?


Добрый день. не чего не надо писать он есть уже готовый, скрин ниже! Ищете сборку под 2.0 с индикаторами!
Автор: irinadmi

Re: Заказ индикаторов в TSLab - Mon Apr 08 2019 11:14 PM

Здравствуйте! Можете, пожалуйста, создать два кубика
1) в последних 5 закрытых сделок имеются 2 убыточные (последовательности сделок могут быть такими +--++ / +-++- /-+++-)
2) в последних 5 закрытых сделок имеются 3 убыточные (++---/+---+/-+--+)
Автор: Trader

Re: Заказ индикаторов в TSLab - Sun May 12 2019 06:44 PM

Добрый день.
Кто может помочь в создании индикатора за договорную плату?
Нужен индикатор:
Аналогичный индикотору созданный для платформы МТ5

altrtrend signal v2 2.mq5

Аналогичный есть.
Автор: MorganFrenk

Re: Заказ индикаторов в TSLab - Tue Sep 17 2019 02:02 AM

Доброго времени суток. Прошу помощи в написании индикаторов volatility stop. На форуме не нашел.

Code:
IndicatorName = "VStop";   
  
AddInput("I", Inputs.Candle);
AddSeries("vstop", DrawAs.Line, Color.Red, false);   
AddSeries("Up", DrawAs.Custom, Color.Green);   
AddSeries("Dn", DrawAs.Custom, Color.Red);

AddParameter("length", 20);
AddParameter("mult", 2);

AddGlobalVariable("is_uptrend", Types.Boolean, false);
AddGlobalVariable("is_uptrend_prev", Types.Boolean, false);
AddGlobalVariable("max_", Types.Double, 0.0);
AddGlobalVariable("min_", Types.Double, 0.0);
AddGlobalVariable("c", Types.Int, 0);

var atr_ = ATR(I, length);

double max1 = Math.Max(max_, I.Close[0]);
double min1 = Math.Min(min_, I.Close[0]);

is_uptrend_prev = is_uptrend;

double stop = is_uptrend_prev ? max1 - mult * atr_[0] : min1 + mult * atr_[0];
double vstop_prev = CurrentIndex > length ? vstop[1] : 0.0;
double vstop1 = is_uptrend_prev ? Math.Max(vstop_prev, stop) : Math.Min(vstop_prev, stop);
is_uptrend = (I.Close[0] - vstop1) >= 0;
bool is_trend_changed = is_uptrend != is_uptrend_prev;
max_ = is_trend_changed ? I.Close[0] : max1;
min_ = is_trend_changed ? I.Close[0] : min1;
vstop = is_trend_changed ? is_uptrend ? max_ - mult * atr_ : min_ + mult * atr_ : vstop1;

c += is_uptrend != is_uptrend_prev ? -c : 1;
if (is_uptrend)
   { Up[0] = vstop[0]; if (c > 0) Up.DrawLine(); }
   else
   { Dn[0] = vstop[0]; if (c > 0) Dn.DrawLine(); }


С программой только начал знакомится. Перенес несколько индикаторов из пайн кубиками. Этот никак не получается. Все ли индикаторы кубиками можно собрать? Выдает ошибку "Cannot use local variable before it is declared" когда переношу этот.

Еще нужна помощь с индикатором SSL channel:

Code:
study("SSL channel", overlay=true)
period=input(title="Period", defval=10)
len=input(title="Period", defval=10)
smaHigh=sma(high, len)
smaLow=sma(low, len)
Hlv = na
Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : Hlv[1]
sslDown = Hlv < 0 ? smaHigh: smaLow
sslUp   = Hlv < 0 ? smaLow : smaHigh

plot(sslDown, linewidth=2, color=red)
plot(sslUp, linewidth=2, color=lime)


Подскажите, где можно посмотреть как правильно из кубиков индикаторы делать, где я косячу. Простите, если спрашиваю все не в той теме.
Автор: ViL

Re: Заказ индикаторов в TSLab - Tue Sep 17 2019 06:36 PM

Это занимает прилично времени.
Я вчера делал пример, тоже индикатор не из простых.
Посмотрите тему, это не такой как у Вас, но сам подход к написанию кубиками похож
https://forum.tslab.pro/index.php?/topic/118-vervoort-heiken-ashi-candlestick-oscillator/
Ваш точно можно сделать кубиками.
А в 2.1 версии, которая доступна здесь
https://blog.tslab.pro/display/KB/Beta+2.1
можно сделать любой, там есть циклы.
https://blog.tslab.pro/pages/viewpage.action?pageId=20185303
Автор: Atomik100

Re: Заказ индикаторов в TSLab - Tue Dec 17 2019 06:25 PM

Здравствуйте. Нужна скользящая Хала. HMA. Классическая, со сменой цвета которую тслаб должен учитывать. Я здесь новичок, не знаю как правильно заявку сделать. Вот нужна HMA? куда лбращаться?
Автор: Atomik100

Re: Заказ индикаторов в TSLab - Tue Dec 17 2019 06:35 PM

Господа HMA требуется позарез. Со сменой цвета и что бы тслаб это учитывал
Автор: ViL

Re: Заказ индикаторов в TSLab - Tue Dec 17 2019 06:45 PM

Есть в этой ветке HMAdn
http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=77649&page=5
не знаю, то не то, похож вроде.
Но цветами не разукрашивается.
Автор: Atomik100

Re: Заказ индикаторов в TSLab - Wed Dec 18 2019 11:54 PM

Спасибо. Нашел, но без смены цвета. А это очень важно. При повороте она идет по свечам, она не отдаляется от цены. Цвет нужен обязательно. Или хотя бы что бы направление тслаб определял-вверх или вниз!!! Формула HMA известна . Но мне и уверен многим пользователям нужна расширеная HMA. С настройкой параметров, сдвигом вверх, вниз и самое самое главное: это мое ноу. При развороте например вверх она должна отклоняться не линейно а квадратично. Что это значит?. Тренд идет вверх. Обычный мувинг отстает от нее и идет справа. а HMA должна идти слева. Отклониться в квадрате. Если интересно зачем это- поясню в личке
Автор: Atomik100

Re: Заказ индикаторов в TSLab - Wed Dec 18 2019 11:56 PM

Спасибо. Нашел, но без смены цвета. А это очень важно. При повороте она идет по свечам, она не отдаляется от цены. Цвет нужен обязательно. Или хотя бы что бы направление тслаб определял-вверх или вниз!!! Формула HMA известна . Но мне и уверен многим пользователям нужна расширеная HMA. С настройкой параметров, сдвигом вверх, вниз и самое самое главное: это мое ноу. При развороте например вверх она должна отклоняться не линейно а квадратично. Что это значит?. Тренд идет вверх. Обычный мувинг отстает от нее и идет справа. а HMA должна идти слева. Отклониться в квадрате. Если интересно зачем это- поясню в личке
Автор: Stan

Re: Заказ индикаторов в TSLab - Thu Dec 19 2019 09:29 AM

Уверяю все индикаторы отстают!
Автор: ViL

Re: Заказ индикаторов в TSLab - Thu Dec 19 2019 11:40 AM

Originally Posted By: Atomik100
Спасибо. Нашел, но без смены цвета.


Так напишите это все в формулах самостоятельно.
Мне лично не интересны индикаторы, которые меняют цвет, что с этим цветом делать роботу )))
Автор: MorganFrenk

Re: Заказ индикаторов в TSLab - Sun Dec 22 2019 03:07 AM

Здравствуйте, никак индикатор не получается перенести. Может кто-нибудь своим опытным взглядом заметит, где я косячу?
В результате одно из значений(down) просто на 0 стоит. Второе (up) колбасит от 0 до цены
[img]https://ibb.co/sPXMkWf[/img]
Click to reveal..
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
double lowprice,highprice,lowma,highma,zone;

if(prev_calculated==0)
int limit=rates_total-Length-1;
if(prev_calculated>0)
limit=rates_total-prev_calculated;

for(int i=limit; i>=0; i--)
{
lowprice=iLow(NULL,0,iLowest(NULL,0,MODE_LOW,Length,i));
highprice=iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,Length,i));

lowma=iMA(NULL,0,Length,0,MODE_SMA,PRICE_LOW,i);
highma=iMA(NULL,0,Length,0,MODE_SMA,PRICE_HIGH,i);


maxlo=MathMax(lowprice,maxlo);
minhi=MathMin(highprice,minhi);

map[i]=map[i+1];

if(highma<maxlo && close[i]<low[i+1])
{
map[i]=-1;
maxlo=lowprice;
}
if(lowma>minhi && close[i]>high[i+1])
{
map[i]=1;
minhi=highprice;
}

if(map[i]>0 && map[i+1]<0)
{
up[i]=down[i+1];
up[i+1]=up[i];
}

if(map[i]>0 && map[i+1]>0)
{
up[i]=MathMax(maxlo,up[i+1]);
}

if(map[i]<0 && map[i+1]>0)
{
down[i]=up[i+1];
down[i+1]=down[i];
}

if(map[i]<0 && map[i+1]<0)
{
down[i]=MathMin(minhi,down[i+1]);
}
Автор: Artemunak

Re: Заказ индикаторов в TSLab - Sun Dec 29 2019 04:34 PM

Добрый день! Помогите пожалуйста.
У меня куча роботов работала в 1.2 со старым индикатором cci. Я бы и дальше работал с 1.2 но из-за недавних проблем с алором пришлось перейти на 2.0.
Новый индикатор cci в куче роботов показывает хуже результаты. Возможно он теперь сделан "правильно" но хотелось бы иметь дополнительно старый индикатор, или хотя бы иметь формулу чтобы написать его самому.
Автор: Artemunak

Re: Заказ индикаторов в TSLab - Mon Dec 30 2019 09:59 PM

ок, мне сделали CCI 1.2, спасибо ещё раз.
а вообще CCI поинтереснее на мой взгляд чем разные стохастики и рси. Жалко что их много наделали а разных CCI для тслаба ещё нет.
Автор: AlekseyG

Re: Заказ индикаторов в TSLab - Tue Jan 07 2020 10:17 PM

Доброго времни суток!
Скажите, можно ли сделать?
RSI
CCI
BB
BB %B

На Трейдингвью есть эти индикаторы, но тут найти не могу
Смотрел уроки по созданию индикаторов, но в программировании я "зеро" и ни чего не понял, точнее я не тупой))) но все же...уроки созданы под версию 1.2, а у меня версия 2.0.37.0

По индикаторам есть некоторые наблюдения и соображения
Был бы рад Вашей помощи
Ниже приложил скрины необходимых индикаторов
Всех с Новым годом и Рождеством!
Автор: AleksandrGanov

Re: Заказ индикаторов в TSLab - Wed Jan 08 2020 02:06 PM

Вы можете собрать любые нужные Вам индикаторы посредством кубиков, как и что делать расписано вот здесь:
https://blog.tslab.pro/pages/viewpage.action?pageId=10748649
http://support.tslab.ru/index.php?/Knowl...nogo-indikatora
Автор: AlekseyG

Re: Заказ индикаторов в TSLab - Wed Jan 08 2020 04:06 PM

Originally Posted By: AleksandrGanov
Вы можете собрать любые нужные Вам индикаторы посредством кубиков, как и что делать расписано вот здесь:
https://blog.tslab.pro/pages/viewpage.action?pageId=10748649
http://support.tslab.ru/index.php?/Knowl...nogo-indikatora


Спасибо, полезный материал...попробую, но........
я думаю смогу написать RSI, CCI и возможно BB %B, но пока ума не приложу как написать индикатор BB
Автор: AlekseyG

Re: Заказ индикаторов в TSLab - Wed Jan 08 2020 04:47 PM

Originally Posted By: AleksandrGanov
Вы можете собрать любые нужные Вам индикаторы посредством кубиков, как и что делать расписано вот здесь:
https://blog.tslab.pro/pages/viewpage.action?pageId=10748649
http://support.tslab.ru/index.php?/Knowl...nogo-indikatora


и тут же вопрос...ниже в скрине формула для расчета RSI
а теперь пару вопросов:
1. как пользоваться высшей математикой без знания высшей математики?
2. как это все упаковать в программу и получить из нее индикатор?

И еще момент...тема ведь имеет название "Заказ индикаторов в TSLab", а ваше сообщение больше подходит под тему "Создание индикаторов"

Вы сами можете собрать индикатор RSI в TSLab? Если да, то сделайте пожалуйста со скринами и описанием что да как....Вам много новичков с форума скажут Большое спасибо!
Автор: AlekseyG

Re: Заказ индикаторов в TSLab - Wed Jan 08 2020 04:49 PM

скрин
Автор: AleksandrGanov

Re: Заказ индикаторов в TSLab - Thu Jan 09 2020 10:30 AM

Вы совершенно правы в одном: чтобы чем-то воспользоваться, надо либо понимать как это работает, либо использовать того, кто понимает. ИМХО - если не понимаешь как сделать, то вряд ли сможешь понять как использовать.

Привожу пример на основе Вашей формулы.
Индикатор создавать не стал, просто сделал скрипт расчета индикатора (прилагаю), дальше уже можете сами поколдовать и сделать индикатор в соответствии с инструкциями выше

p.s. надеюсь, в формуле не ошибся, вроде все проверил и на графиках на всякий случай значения сверил.

И еще есть пару моментов:
-- из формулы не очень понятно нужно ли учитывать период, если в нем одно из значений будет равно Нулю. Например, имеем 1, 2, 3, 0, 3, в этом случае берем 5 периодов для расчета CU или четыре? то есть (1+2+3+0+3)/5 или (1+2+3+0+3)/4. В общем, в примере период где значение равно нулю тоже будет считаться, если надо чтобы не считался, нужно ввести еще одно доп.условие
-- также есть вопрос к тому как рассчитывать среднее значение за N-периодов; применительно к положительным и отрицательным значениям что значит N-периодов? то есть просто N последних свечей или же среднее значение за те N периодов, в которых значения были положительными или отрицательными соответственно? Сделал просто за последние N периодов
-- если будет такая ситуация что, CU и CD будут равны между собой, но разные по знаку, тогда в знаменателе будет НОЛЬ, что приведет к ошибке вычисления, что в этом случае должен показать индикатор? Пример, 100-100(1+(5/-5))=100-100/0

В любом случае, думаю, что принцип понятен что и как делать. Дальше можно самостоятельно пробовать и учиться
Автор: ViL

Re: Заказ индикаторов в TSLab - Thu Jan 09 2020 11:18 AM

Перечисленные индикаторы есть во встроенных, в готовом виде.
Автор: AleksandrGanov

Re: Заказ индикаторов в TSLab - Thu Jan 09 2020 02:46 PM

пример индикатора тоже прилагаю для общего обзора
Автор: AleksandrGanov

Re: Заказ индикаторов в TSLab - Thu Jan 09 2020 02:48 PM

Originally Posted By: ViL
Перечисленные индикаторы есть во встроенных, в готовом виде.

изобретать свой велосипед - великое дело :-)
Автор: Stan

Re: Заказ индикаторов в TSLab - Thu Jan 09 2020 06:35 PM

Originally Posted By: AlekseyG
скрин

То что привели оочень легко написать формулами, то есть кубами
Автор: AlekseyG

Re: Заказ индикаторов в TSLab - Thu Jan 09 2020 11:16 PM

Originally Posted By: AleksandrGanov
Originally Posted By: ViL
Перечисленные индикаторы есть во встроенных, в готовом виде.

изобретать свой велосипед - великое дело :-)


Да! Спасибо!
Я не так давно начал пользоваться программой и многое еще не знаю)))
Действительно, нашел в стандартных индикаторах необходимое
ВВ взял в стандартных, SMA для ВВ тоже в стандартных
RSI более по душе подошел с архива vvRSI...я наблюдаю за графиком в 14 дневном периоде, но опять велосипед...кому верить? Трейдингвью или Бинансу? В общем чтобы добиться очень схожего результата пришлось период увеличить аж до 28...
CCI тоже не особо удовлетворил...читал форум и помню пост о старой версии CCI, в общем скачал CCI1.2...с этим все ок...танцевать с бубном у периода не пришлось, хотя есть небольшая разница в графике, пока не заморачиваюсь по этой проблеме

Теперь вопрос остался с индикатором BB %B, ткните плиз носом есть ли он готовый? Где лежит и как его...точнее через что подключить? На сколько знаю на Трейдингвью он работает через SMA

Заранее спасибо!

Мой "велик" будет немного в другом)))
Автор: AlekseyG

Re: Заказ индикаторов в TSLab - Thu Jan 09 2020 11:19 PM

Originally Posted By: Stan
Originally Posted By: AlekseyG
скрин

То что привели оочень легко написать формулами, то есть кубами


Сорри за оф.топ.... как-то мне в школе математика не давалась и на каждой перемене слышал крик свой фамилии с уст директора)))
По этой причине не силен...разобраться можно, как говориться было бы желание)
Автор: Atomik100

Re: Заказ индикаторов в TSLab - Sun Jan 12 2020 06:43 PM

Господа специалисты широкого профиля по всем вопросам1:) Нужен индикатор-трендовая линия. Куда бежать, кому кланяться?
Автор: AlekseyG

Re: Заказ индикаторов в TSLab - Wed Jan 15 2020 01:01 AM

Уважаемые господа...ну весь форум перешерстил)))
Ну где же он? или он не существует?
Ищу индикатор Процентная полоса пропускания (% B) Боллинджера
Подскажите плиз где он лежит? или его вообще нет?)))
Надеюсь все же на то, что я его пропустил)
А выглядит он как на скрине ниже
Автор: AlekseyG

Re: Заказ индикаторов в TSLab - Wed Jan 15 2020 05:21 PM

Originally Posted By: AlekseyG
Уважаемые господа...ну весь форум перешерстил)))
Ну где же он? или он не существует?
Ищу индикатор Процентная полоса пропускания (% B) Боллинджера
Подскажите плиз где он лежит? или его вообще нет?)))
Надеюсь все же на то, что я его пропустил)
А выглядит он как на скрине ниже


В итоге собрал индикатор самостоятельно по формуле из Трейдингвью
Ниже скрин со схемой скрипта, настройки использовал стандартные, ничего не менял, все идеально работает
Автор: Atomik100

Re: Заказ индикаторов в TSLab - Thu Jan 16 2020 11:43 AM

Как же с трендовой??? Помогите сделать!!!
Автор: ViL

Re: Заказ индикаторов в TSLab - Thu Jan 16 2020 04:01 PM

Originally Posted By: Atomik100
Как же с трендовой??? Помогите сделать!!!

В редакторе есть "Интерактивная линия", используйте ее.
Автор: Atomik100

Re: Заказ индикаторов в TSLab - Fri Jan 17 2020 03:45 PM

Спасибо. Подскажите пож. куда выход подключать к логике?
Автор: Atomik100

Re: Заказ индикаторов в TSLab - Sat Jan 18 2020 06:33 PM

Как же она работает эта интерактивная линия. В инете и на ютубе ни одного видоса про нее нет
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Jan 20 2020 07:02 PM

Ну, она вроде как ручная. Прямо на графике ее передвигаете.
Автор: AleksandrGanov

Re: Заказ индикаторов в TSLab - Tue Jan 21 2020 03:03 AM

ее можно привязать к контрольной панели и двигать через панель и втч через API, кубиками вроде нельзя, но если есть возможность через API двигать, то можно написать кубик, который будет этим заниматься. также в целях оптимизации можно связать с другим кубиком. В общем, если покумекать, то можно замутить то, что хочется
Автор: YaD

Re: Заказ индикаторов в TSLab - Sat Feb 22 2020 02:16 PM

Добрый день!

На второй страничке этой темы (пост #3878), товарищ "777" просил индикатор "Индекс ритма (Swing Index)". Не могу найти его в сборках. Был ли он вообще реализован кем нибудь ?

И вопрос по индикатору "SineWave". Строится только одна кривая, а должно две, ставлю галочку "leadsine" не меняется ничего, что неправильно делаю ? И что за параметр в нем "alhpa" ? Подскажите пожалуйста.
Автор: Atomik100

Re: Заказ индикаторов в TSLab - Tue Sep 29 2020 11:40 AM

Здравствуйте. Мне надо перевести с MQL5 для тслаб индикатор gann-high-low-activator-ssl-alert без алерта. И еще вопрос. Очень был бы полезен кубик в котором была бы формула заложенная в вышеуказанный индикатор.
Суть такая. При смене цвета любой скользящей или по любому другому сигналу меняется способ расчета например с хай на лой как это сделано в данном инд. Сделав подобный кубик мы можем например на вход подать изменение цвета или пробой уровня или выход из зоны перекуп. перепрод. и т. д. а на выходе-способ расчета. Например в данном инд. вверх линия идет по лоям а вниз по хаям
Автор: Atomik100

Re: Заказ индикаторов в TSLab - Wed Sep 30 2020 03:22 AM

Добрейший вечерок! Господа специалисты широкого профиля по всем вопросам! Очень уж хочется протестировать вышеуказанный индикатор Gann hig lou aktivator SSL. Кто сможет перевести его с MQL5 ??? Это же не индикатор а просто пестня:) Вот его оригинал для МТ5. Здесь не вставляется файл
Автор: bananose

Re: Заказ индикаторов в TSLab - Wed Sep 30 2020 02:21 PM

Добрый день, требуется перенос 3 индикаторов из tradingview в Tslab. (платно)
Если кому-то интересно, пишите в личку, скину ТЗ.
------
upd. решено, не актуально
Автор: Rezident

Re: Заказ индикаторов в TSLab - Thu Oct 01 2020 10:13 AM

Добрый день! О чём примерно речь идёт?
Автор: bananose

Re: Заказ индикаторов в TSLab - Thu Oct 01 2020 11:22 PM

Спасибо за внимание, уже решено. Пофиксил оригинальное сообщение.
Автор: sidormatrasych

Re: Заказ индикаторов в TSLab - Thu Nov 12 2020 12:20 PM

Доброго дня всему сообществу. Необходимо написать индикатор пивотов для. Имеется готовое ТЗ. Кто бы мог за вознаграждение взяться за эту задачу?
Автор: ViL

Re: Заказ индикаторов в TSLab - Fri Dec 04 2020 05:28 PM

обычные пивот пойнты?
они не сложно реализуются с помощью блоков формула.
Автор: k050785

Re: Заказ индикаторов в TSLab - Thu Feb 18 2021 10:16 PM

Добрый день. Интересует перенос из tradingview скрипта - показатель Херста за вознаграждение.
кому интересно - пишите в личку.
Возможно на форуме уже кто-то делал его?
Автор: MS_quantum

Re: Заказ индикаторов в TSLab - Wed Jun 02 2021 03:34 PM

Здравствуйте.
spreadk" не работает в 2.1, выдает ошибку System.TypeLoadException: Не удалось загрузить тип "TSLab.Script.Bar" из сборки "TSLab.Script, Version=2.1.12.57, Culture=neutral, PublicKeyToken=null".

Помогите исправить.
Автор: yurys

Re: Заказ индикаторов в TSLab - Sun Sep 03 2023 09:03 PM

Коллеги, добрый день, кто возьмется за создание блока Сжать, который бы отображал равные по размеру свечи для любых сжатых интервалов? Базовый интервал 1 минута, можно только под него. Привязка должна быть только к номеру бара(i) базового тайм-фрейма. Если это возможно и вы готовы, добро пожаловать в ЛС с ценой, сроком и если нужно что то уточнить по ТЗ.
Автор: ViL

Re: Заказ индикаторов в TSLab - Mon Sep 04 2023 09:28 AM

https://t.me/tslabprorugroup/145151
Вот здесь лучше написать.
Автор: Sol

Re: Заказ индикаторов в TSLab - Wed Nov 22 2023 03:53 AM

Извините пришлось удалить просьбу, индикатор начал себя странно вести. Надеюсь создатель исправит и можно будет повторить посьбу.
Автор: Sol

Re: Заказ индикаторов в TSLab - Wed Nov 22 2023 12:57 PM

Здравствуйте! Можно ли создать индикатор
ALMA Smoothed Gaussian Moving Average
_https://www.tradingview.com/script/9kZxqmzH-ALMA-Smoothed-Gaussian-Moving-Average/
Есть ли возможность сделать параметр offset так же настраиваемым?

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © profitprotrading

//@version=5
indicator("ALMA Smoothed Gaussian Moving Average", shorttitle = "ASGMA", overlay=true)

//ALMA Smoothing
src = input(close, title='Source', group = "ALMA Smoothing")
smooth = input.int(1, title='Smoothing', minval=1, group = "ALMA Smoothing")
length1 = input.int(25, title='Lookback', minval=1, group = "ALMA Smoothing")
offset = 0.85
sigma1 = 7
pchange = ta.change(src, smooth) / src * 100
avpchange = ta.alma(pchange, length1, offset, sigma1)

//RSI
rsi = ta.rsi(close, 14)
rsiL = rsi > rsi[1]
rsiS = rsi < rsi[1]

//Chande Momentum
length11 = 9
src1 = close
momm = ta.change(src1)
f1(m) => m >= 0.0 ? m : 0.0
f2(m) => m >= 0.0 ? 0.0 : -m
m1 = f1(momm)
m2 = f2(momm)
sm1 = math.sum(m1, length11)
sm2 = math.sum(m2, length11)
percent(nom, div) => 100 * nom / div
chandeMO = percent(sm1-sm2, sm1+sm2)
cL = chandeMO > chandeMO[1]
cS = chandeMO < chandeMO[1]

//GAMA credit to author: © LeafAlgo https://www.tradingview.com/v/th7NZUPM/
length = input.int(14, minval=1, title="Length", group = "Gaussian Adaptive Moving Average")
adaptive = input.bool(true, title="Adaptive Parameters", group = "Gaussian Adaptive Moving Average")
volatilityPeriod = input.int(20, minval=1, title="Volatility Period", group = "Gaussian Adaptive Moving Average")

// Calculate Gaussian Moving Average
gma = 0.0
sumOfWeights = 0.0
sigma = adaptive ? ta.stdev(close, volatilityPeriod) : input.float(1.0, minval=0.1, title="Standard Deviation", group = "Gaussian Adaptive Moving Average")

for i = 0 to length - 1
weight = math.exp(-math.pow(((i - (length - 1)) / (2 * sigma)), 2) / 2)
value = ta.highest(avpchange, i + 1) + ta.lowest(avpchange, i + 1)
gma := gma + (value * weight)
sumOfWeights := sumOfWeights + weight

gma := (gma / sumOfWeights) / 2
gma:= ta.ema(gma, 7)
gmaColor = avpchange >= gma ? color.rgb(0, 161, 5) : color.rgb(215, 0, 0)

// Color bars based on signals until the next signal occurs
var int currentSignal = 0
currentSignal := avpchange >= gma ? 1 : -1//le_final ? -1 : currentSignal

var color barColor = na
if currentSignal == 1
barColor := color.rgb(0, 186, 6)
else if currentSignal == -1
barColor := color.rgb(176, 0, 0)

barcolor(barColor)
plotcandle(open, high, low, close, "Bar Color", barColor, barColor, bordercolor = barColor)

//Plotting
ema = ta.ema(close, 7)
plot(ema, color=gmaColor, linewidth=3, title="Gaussian Moving Average")


plotshape(ta.crossover(avpchange,gma) and barstate.isconfirmed, "Buy Signal", text = "B", textcolor = color.white, style = shape.labelup, location = location.belowbar, color = color.rgb(0, 161, 5), offset = -1)
plotshape(ta.crossunder(avpchange,gma) and barstate.isconfirmed, "Sell Signal", text = "S", textcolor = color.white, style = shape.labeldown, location = location.abovebar, color = color.rgb(215, 0, 0), offset = -1)

bgcolor(ta.crossover(avpchange,gma) and barstate.isconfirmed and rsiL and cL ? color.rgb(0, 162, 5, 85): na, offset = -1)
bgcolor(ta.crossunder(avpchange,gma) and barstate.isconfirmed and rsiS and cS ? color.rgb(207, 0, 0, 85): na, offset = -1)
barcolor(gmaColor)

alertcondition(ta.crossover(avpchange,gma) and barstate.isconfirmed, title="Buy Signal", message="Go Long! {{exchange}}:{{ticker}}")
alertcondition(ta.crossunder(avpchange,gma) and barstate.isconfirmed, title="Sell Signal", message="Go Short! {{exchange}}:{{ticker}}")