Среда, 19.12.2018, 12:03
Игрушки от Vinin
Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Советники и индикаторы » Мои индикаторы » Уважаемый Vinin! Помогите доработать индюк на основе тиков. (если это можно конечно сделать, я не знаю.)
Уважаемый Vinin! Помогите доработать индюк на основе тиков.
Oskar1Дата: Пятница, 21.11.2008, 10:40 | Сообщение # 1
Рядовой
Группа: Проверенные
Сообщений: 15
Репутация: 0
Статус: Offline
Уважаемый Vinin наткнулся случайно на интрадейщика с нашего форума Вы ему доделали индюк hma добавили алерт и сигнал на нулевом баре. Решил тоже попробовать попросить помощи если не откажете, или хотя бы объясните что это не возможно сделать. Заранее спасибо за любой ответ smile
Можно ли добавить дополнительное условие для сигнала алерта??? А то индюк подает сигналы, большая часть не правильная я бы хотел отфильтровать их, вот таким условием.
Условие такое - это повторяющийся одинаковый уровень цены допустим 150,00 три раза был такой уровень в промежутке последних 10 секунд, .

И тоже вывести во внешние переменные, для этого условия.

Y= 3; // сколько раз был уровень одинаковый в промежутке t 2
t 2=10; // промежуток времени для Y

Если это не возможно все равно спасибо.

Code
#property indicator_chart_window

extern int taim=120;//ceк запоминать данные
extern int S=30;//пп пройденное расстояние в промежутке t

double TiksBase[]; // Массив цен
int gTimeLeft;
// -- добовляем тик в базу

int fAddTiks(int TimeLeft)
{

for (int e=ArraySize(TiksBase)-1;e>TimeLeft;e--)
{
TiksBase[e]=TiksBase[e-1];
}
for (int s=0;s<TimeLeft;s++)
{
TiksBase[s]=Bid;
}

}
// -- получаем разницу за промежуток

int fdCost()
{
int MIN=ArrayMinimum(TiksBase);
int MAX=ArrayMaximum(TiksBase);

if (TiksBase[MIN]!=EMPTY_VALUE && TiksBase[MAX]!=EMPTY_VALUE )
{

if (MIN<MAX){return( ((TiksBase[MAX]-TiksBase[MIN])/Point)*(-1) );}
if (MIN>MAX){return( ((TiksBase[MAX]-TiksBase[MIN])/Point) );}
}
return(0);
}

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators

ArrayResize(TiksBase,taim);
ArrayInitialize(TiksBase,EMPTY_VALUE);
gTimeLeft=TimeLocal();
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{

// -- дбовляем тик в базу
fAddTiks((TimeLocal()-gTimeLeft));

gTimeLeft=TimeLocal();

if (MathAbs(fdCost())>S)
{
if (fdCost()>0){Alert("Sell импульс",MathAbs(fdCost()),"пипс от",TiksBase[ArrayMinimum(TiksBase)]," до ",Bid);}
if (fdCost()<0){Alert("Buy импульс",MathAbs(fdCost()),"пипс от",TiksBase[ArrayMaximum(TiksBase)]," до ",Ask);}
ArrayInitialize(TiksBase,EMPTY_VALUE);
}

//----
return(0);
}
//+------------------------------------------------------------------+
 
vininДата: Четверг, 18.12.2008, 11:11 | Сообщение # 2
Admin
Группа: Администраторы
Сообщений: 299
Репутация: 12
Статус: Offline
Ближайшее время ничего особо делать еще не буду.
 
Oskar1Дата: Пятница, 19.12.2008, 02:01 | Сообщение # 3
Рядовой
Группа: Проверенные
Сообщений: 15
Репутация: 0
Статус: Offline
Quote (vinin)
Ближайшее время ничего особо делать еще не буду.

Спасибо если будет время может посоветуете возможности создания такого индикатора.

То что сделали там видно в коде что он запоминает ценовой уровень каждую секунду, а надо что бы запоминал именно тики........
Но мне кажется что это не возможно по крайней мере не один программист не смог сделать то что я просил, наверно не все можно прописать в код....

Суть индикатора была в следующем:
1) Индюк запоминает каждый тик (по биду) и создает массив значений 1000 последних тиков, выглядит это вот так - время тика, и цена тика. (10ч. 00м. 00 сек. цена 132.50)
2) Индюк подает сигнал в виде стрелки в верхнем левом углу, при двух условиях
а) условия для сигнала стрелки, если цена тиков была в промежутке 120 секунд более 40 пипсов верх, то стрелка должна показывать вниз, и наоборот если цена тиков была в промежутке 120 секунд более 40 пипсов вниз, то стрелка должна показывать верх. -это первое условие
б) если произошло скопление мелких тиков например:
10ч.00м.00сек. 132,00
10ч.00м.00сек. 132,02
10ч.00м.01сек. 132,00
10ч.00м.01сек. 132,02
10ч.00м.01сек. 132,00
10ч.00м.02сек. 132,02
Это второе условие, если два условия есть то подается сигнал в виде стрелки

Внешние параметры:
extern int taim=120;//ceк
extern int S=40;//пп пройденное расстояние в промежутке taim

extern int Y = 8; // сколько было скопленных коротких тиков с одинаковыми уровнями верх вниз.

К примеру это выглядит так был импульс тиков в промежутке 120 секунд более 40 пипсов - это может быть и 70, и 100 пипсов, главное не меньше 40 пипсов, после цена остановилась, и произошло скопление пипсов как показано на скрине.

Прикрепления: 4563604.gif(64.8 Kb)


Сообщение отредактировал Oskar1 - Пятница, 19.12.2008, 02:07
 
vininДата: Пятница, 19.12.2008, 07:29 | Сообщение # 4
Admin
Группа: Администраторы
Сообщений: 299
Репутация: 12
Статус: Offline
Для корректной работы тиковых индикаторов стоит всегда только одна проблема - тиковая история.
Поэтому вопрос надо начинать решать с нее. Ее надо сохранить. Тогда можно использовать.
Это нужно для корректной работы индикатора, советника или скрипта при старте (не ждать, когда сформируется необходимое число тиков). Также это нужно для прогона по истории. Для подбора оптимальных параметров. Иначе это получается что все значения берутся с потолка. Почему S должно равняться 40, а не 50 или 25.

Для начала можно познакомиться со статьей компостера http://articles.mql4.com/ru/537
Анализом тиковой истории занимался Сергей Привалов (Prival) на форуме метаквотов.

А я пока не совсем готов к таким проектам. Хотя реализовать можно.

Для наиболее эффективной работы с тиками желательно их хранить в какой-либо СУБД, организовывать интерфейс (связь МТ и СУБД) и возможно нужно в рамках СУБД проводить анализ и результат выдавать в МТ.

 
Oskar1Дата: Пятница, 19.12.2008, 16:42 | Сообщение # 5
Рядовой
Группа: Проверенные
Сообщений: 15
Репутация: 0
Статус: Offline
Спасибо за полный развернутый ответ, очень профессионально.
Да эти значения взяты с потолка так как нет оптимизации параметров, и нет истории как Вы заметили. Насчет того что бы не ждал индикатор необходимых чисел тиков верное замечание, попробую почитать статью компостера.
Еще раз благодарю за развернутый ответ, теперь я хоть понимаю в чем суть проблемы, за надежду спасибо что это возможно, я уже думал что это нельзя сделать.
ЗЫ: Извините за то что отнял у Вас время smile
 
Oskar1Дата: Пятница, 19.12.2008, 18:03 | Сообщение # 6
Рядовой
Группа: Проверенные
Сообщений: 15
Репутация: 0
Статус: Offline
Можно еще вопрос вот этот индикатор нельзя его сделать так что бы тики не размазывались у него, а то они растягиваются, и получается как то не понятно, что бы он показывал как в МТ тики скомпоновано

Прикрепления: 4554967.gif(25.3 Kb) · TickPulse_v2.mq4(6.0 Kb)
 
vininДата: Пятница, 19.12.2008, 18:16 | Сообщение # 7
Admin
Группа: Администраторы
Сообщений: 299
Репутация: 12
Статус: Offline
Quote (Oskar1)
Можно еще вопрос вот этот индикатор нельзя его сделать так что бы тики не размазывались у него, а то они растягиваются, и получается как то не понятно, что бы он показывал как в МТ тики скомпоновано

Тут есть один неприятный момент. Масштаб графика. Если сжать основной, то и этот сожмется. Но лучше не станет.

 
vininДата: Пятница, 19.12.2008, 18:17 | Сообщение # 8
Admin
Группа: Администраторы
Сообщений: 299
Репутация: 12
Статус: Offline
Quote (Oskar1)
Можно еще вопрос вот этот индикатор нельзя его сделать так что бы тики не размазывались у него, а то они растягиваются, и получается как то не понятно, что бы он показывал как в МТ тики скомпоновано

Тут есть один неприятный момент. Масштаб графика. Если сжать основной, то и этот сожмется. Но лучше не станет.

 
Oskar1Дата: Пятница, 19.12.2008, 23:17 | Сообщение # 9
Рядовой
Группа: Проверенные
Сообщений: 15
Репутация: 0
Статус: Offline
Спасибо за ответ, я сейчас тестирую его но он глючит по тик трендам показывает не правильно, буду искать что нибудь оптимальное может даже приближенное.........
 
Oskar1Дата: Среда, 21.01.2009, 22:05 | Сообщение # 10
Рядовой
Группа: Проверенные
Сообщений: 15
Репутация: 0
Статус: Offline
Здравтсвуйте vinin, нашел фильтр для индюкатора вроде не плохо фильтрует, сможете посмотреть можно ли их объединить сделать смесь из двух индюков? Вот таким можно его сделать из двух индюков?

1) Тик так индюк когда подает алерт бай, после если линии пересекаются индюкатора Тикер Траила в течении 120 секунд - появляется стрелка верх на графике вверху справа, по истечению секунд 30 стрелка исчезает.
Стрелки появляются всегда, если условия индюкаторов соблюдены, вне зависимости от направления сигналов стрелок.
Если был сигнал вниз стрелки, после стрелка через 30 секунд исчезла, потом через некоторое время появляется еще сигнал вниз по условию двух индюков, стрелка опять появляется вниз. Одним словом стрелки должны отражать все сигналы двух индюков.
Если получится можно его сделать без алерта тик така, а то он будет всегда вылазить, если будет просто стрелка на графике появляться этого хватает.

Внешние переменные индюка

extern int taim=120; //ceк запоминать данные
extern int S=400; //пп пройденное расстояние в промежутке t
extern int Y = 5; // сколько раз был уровень одинаковый в промежутке t2
extern int t2 = 10; // промежуток времени для Y
extern int Trail=110; // Трал
extern int TicksCount=1000; // Количество отображаемых тиков

extern int taimClose=120; //отмена сигнала если линии не пересеклись
extern int deact=30; //исчезновение стрелок

С уважением.

Добавлено (21.01.2009, 22:05)
---------------------------------------------
Пришла идея после теста индюка HMA vinin,
индюк vinin, хорош тем что не перерисовывается при изменении цвета имеется в виду моргание красный - зеленый, вместо мультитаймфреймности, хочу объединить со своими двумя индюками.
Выглядеть это будет так.
Первый индюк дает сигнал направления допустим верх, потом идет второе условие по второму индюку отфильтровка этого сигнала, третий индюк это hma который берет значение на ТФ Н1 он будет окончательным подтверждающим для сигнала верх, если он будет зеленым то появится стрелка верх на графике на определенное время секунд 30 примерно, что бы не запутать сигналы повтора мы обнулим значение для следующего сигнала, если он будет повторным в ту же сторону. Если же hma будет желтым то сигнал отменяется аналогично будет выглядеть с сигналом вниз.
Что скажете индикатор сам по себе будет интрадейный. Будет самый точный вход в рынок.

Прикрепления: Tic_Tac.mq4(3.1 Kb) · TickerTrail.mq4(3.6 Kb)
 
vininДата: Четверг, 22.01.2009, 06:49 | Сообщение # 11
Admin
Группа: Администраторы
Сообщений: 299
Репутация: 12
Статус: Offline
Вопрос один в тиках есть, и довольно каверзный. Систему на тиках можно проверить только на ДЕМО, в тестере никак. Они там моделируются. И всего лишь 4 тика на бар (минутный). А терять время на проверку мне вот как-то совсем не хочется. Хотя может быть я и не прав.
 
Oskar1Дата: Пятница, 23.01.2009, 23:45 | Сообщение # 12
Рядовой
Группа: Проверенные
Сообщений: 15
Репутация: 0
Статус: Offline
Не задача не в этом, ее я давно проверяю только индюк был с перерисовкой теперь уже выглядит по другому я Ваше детище применю, мне ее как раз не хватало hma имею в виду. Мой алгоритм прост хотя, и сложен для понимания.
 
vininДата: Суббота, 24.01.2009, 06:07 | Сообщение # 13
Admin
Группа: Администраторы
Сообщений: 299
Репутация: 12
Статус: Offline
Если делать комплексный индикатор, то в принципе можно.
 
Oskar1Дата: Суббота, 24.01.2009, 11:03 | Сообщение # 14
Рядовой
Группа: Проверенные
Сообщений: 15
Репутация: 0
Статус: Offline
да если он будет в комплексе, но он нужен мне не как просто индикатор, мне нужна его статистика что бы он собирал базу свою сигналов по времени когда и как что бы просмотреть историю его и уже там решать что менять в параметрах, я еще думаю над ним, так как он в основном состоит на тиковой основе его проверить, и настроить возможности не представляется если бы найти терминал такой где есть возможность теста на тиках, и оптимизции параметров его, но такое не возможно приходится подбирать в ручную основываясь на свой опыт в торговле, пойду думать дальше.
 
Форум » Советники и индикаторы » Мои индикаторы » Уважаемый Vinin! Помогите доработать индюк на основе тиков. (если это можно конечно сделать, я не знаю.)
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2018Бесплатный конструктор сайтов - uCoz