У вас не стоит Flash Player
Page 2 of 40 < 1 2 3 4 ... 39 40 >
Настройки
#4311 - Wed Apr 14 2010 07:20 PM Re: Заказ индикаторов в TSLab [Re: andy]
Frend Offline
Pooh-Bah

Registered: Sat Jan 09 2010
Записи: 2054
Просьба сделать следующий индикатор
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)))))
_________________________
Помогу с реализацией вашей идеи, оценкой системы. Консультации
frendwork@rambler.ru

Наверх
#4425 - Fri Apr 16 2010 06:12 PM Re: Заказ индикаторов в TSLab [Re: Frend]
pal Offline
stranger

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

Наверх
#4441 - Fri Apr 16 2010 11:12 PM Re: Заказ индикаторов в TSLab [Re: pal]
Craft Offline
enthusiast

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

Наверх
#4445 - Sat Apr 17 2010 03:19 AM Re: Заказ индикаторов в TSLab [Re: pal]
777 Offline
Carpal Tunnel

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


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


Attachments
Fractal.zip (501 downloads)

_________________________
«Существует 3 типа лжи: ложь, наглая ложь и статистика»
Дизраэли.

Наверх
#4450 - Sat Apr 17 2010 10:24 AM Re: Заказ индикаторов в TSLab [Re: 777]
andy Offline

Pooh-Bah

Registered: Mon Feb 16 2009
Записи: 2130
T3 Indicator. Фракталы.

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

Наверх
#4565 - Mon Apr 19 2010 06:06 PM Re: Заказ индикаторов в TSLab [Re: andy]
ipdipd Offline
newbie

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

Наверх
#4594 - Tue Apr 20 2010 01:10 AM Re: Заказ индикаторов в TSLab [Re: ipdipd]
777 Offline
Carpal Tunnel

Registered: Thu Apr 01 2010
Записи: 2564
Loc: г. Дзержинский
Чего проще:

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


Отредактировано 777 (Tue Apr 20 2010 01:11 AM)
_________________________
«Существует 3 типа лжи: ложь, наглая ложь и статистика»
Дизраэли.

Наверх
#4608 - Tue Apr 20 2010 10:38 AM Re: Заказ индикаторов в TSLab [Re: 777]
ipdipd Offline
newbie

Registered: Sun Feb 28 2010
Записи: 38
Originally Posted By: 777
Чего проще:

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



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

Наверх
#4635 - Tue Apr 20 2010 02:14 PM Re: Заказ индикаторов в TSLab [Re: ipdipd]
777 Offline
Carpal Tunnel

Registered: Thu Apr 01 2010
Записи: 2564
Loc: г. Дзержинский
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); //готово
}
//+------------------------------------------------------------------+
_________________________
«Существует 3 типа лжи: ложь, наглая ложь и статистика»
Дизраэли.

Наверх
#4643 - Tue Apr 20 2010 03:54 PM Re: Заказ индикаторов в TSLab [Re: andy]
mayak Offline
stranger

Registered: Tue Apr 20 2010
Записи: 1
Все-таки без фракталов как-то не то...
Очень жду возможность применения фракталов. Прям днем и ночью )))

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

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

Наверх
#5002 - Tue Apr 27 2010 02:25 AM Re: Заказ индикаторов в TSLab [Re: mayak]
depak Offline
enthusiast

Registered: Sat Apr 17 2010
Записи: 254
А как установить индикаторы в TSlab скачанные с этого форума?

Наверх
#5008 - Tue Apr 27 2010 10:23 AM Re: Заказ индикаторов в TSLab [Re: depak]
ZSE Offline
TSLab
veteran

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

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

Наверх
#5051 - Tue Apr 27 2010 10:18 PM Re: Заказ индикаторов в TSLab [Re: ZSE]
BUBEN Offline
stranger

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

Я прошу перевести в язык, понятный для 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


Заранее благодарен.

Наверх
#5287 - Mon May 03 2010 02:11 AM Re: Заказ индикаторов в TSLab [Re: BUBEN]
Frend Offline
Pooh-Bah

Registered: Sat Jan 09 2010
Записи: 2054
Прошу создать RSI на основе SMA как он был раньше в вашей программе.
_________________________
Помогу с реализацией вашей идеи, оценкой системы. Консультации
frendwork@rambler.ru

Наверх
#5300 - Mon May 03 2010 03:43 PM Re: Заказ индикаторов в TSLab [Re: Frend]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Хорошо, добавим второй вариант "Cutler's RSI"

Наверх
#5318 - Tue May 04 2010 02:50 AM Re: Заказ индикаторов в TSLab [Re: Nektodron]
Frend Offline
Pooh-Bah

Registered: Sat Jan 09 2010
Записи: 2054
Спасибо. А когда примерно ждать? А то сижу на 1.1.4


Отредактировано Frend (Tue May 04 2010 03:09 AM)
_________________________
Помогу с реализацией вашей идеи, оценкой системы. Консультации
frendwork@rambler.ru

Наверх
#5330 - Tue May 04 2010 11:11 AM Re: Заказ индикаторов в TSLab [Re: Frend]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
будет в сегодняшней ночной сборке

Наверх
#5362 - Tue May 04 2010 03:29 PM Re: Заказ индикаторов в TSLab [Re: Nektodron]
Frend Offline
Pooh-Bah

Registered: Sat Jan 09 2010
Записи: 2054
Зер гуд, спасибо
_________________________
Помогу с реализацией вашей идеи, оценкой системы. Консультации
frendwork@rambler.ru

Наверх
#5555 - Thu May 06 2010 08:38 PM Re: Заказ индикаторов в TSLab [Re: Nektodron]
uprav Offline
addict

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


Наверх
#5559 - Thu May 06 2010 09:36 PM Re: Заказ индикаторов в TSLab [Re: uprav]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
"чтобы заявки не выставлялись на сервер" - что имеется в виду? зачем открывать позицию, если нет заявки?

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

Наверх
Page 2 of 40 < 1 2 3 4 ... 39 40 >


Moderator:  ViL, sar