АвторСообщение
Anatoliy



Сообщение: 2
Зарегистрирован: 13.07.14
Репутация: 0
ссылка на сообщение  Отправлено: 21.07.14 21:22. Заголовок: Я новичок.


Пишу пользовательский индикатор на основе пересечение уровни 20 и 80. Если главная линия Stochastic пересекла уровень 80 (сверху - вниз), то выводит стрелка Sell на ценовых графиках, а если главная линия Stochastic пересекла уровень 20 (снизу - верх), то стрелка Buy на ценовых графиках.

#property strict
#property indicator_chart_window
#property indicator_buffers 2
//--- plot Buy
#property indicator_type1 DRAW_ARROW
#property indicator_color1 clrGreen
#property indicator_style1 STYLE_SOLID
#property indicator_width1 1
//--- plot Sell
#property indicator_type2 DRAW_ARROW
#property indicator_color2 clrRed
#property indicator_style2 STYLE_SOLID
#property indicator_width2 1
//--- input parameters

//--- indicator buffers
double BuyBuffer[];
double SellBuffer[];
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//+------------------------------------------------------------------+
//| Функция инициализации пользовательского индикатора |
//+------------------------------------------------------------------+
int init()
{
//---
SetIndexBuffer(0,BuyBuffer);
SetIndexArrow(0,233);
SetIndexStyle(0,DRAW_ARROW);
//---
SetIndexBuffer(1,SellBuffer);
SetIndexArrow(1,234);
SetIndexStyle(1,DRAW_ARROW);
//---
SetIndexEmptyValue(0,80.0);
SetIndexEmptyValue(1,20.0);
//---
return(0);
}
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//+------------------------------------------------------------------+
//| Функция пользовательского индикатора итерации |
//+------------------------------------------------------------------+
int start()
{
//---
int i, Counted_bars;

double mainStoc_1 = iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,1); // бар 1
double mainStoc_2 = iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,2); // бар 2

Counted_bars=IndicatorCounted(); // Количество просчитанных баров
i=Bars-Counted_bars-1;

for(i=0;i>=0;i--)
{
if (mainStoc_2 > 80.0 && mainStoc_1 < 80.0)
SellBuffer = Low-5*Point;
else
SellBuffer = 0.0;

if (mainStoc_2 < 20.0 && mainStoc_1 > 20.0)
BuyBuffer = High+5*Point;
else
BuyBuffer = 0.0;
}
//---
return(0);
}

И в результатах индикатор вообще не работает.
Как его исправит?



Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 All [только новые]


Scriptong





Сообщение: 1250
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 03.03.15 18:52. Заголовок: Balbesik пишет: На ..


Balbesik пишет:

 цитата:
На мой взгляд в индикаторе BearBullBalance при построении отсутствует точка отсчета (база),
т.е. построение на каждом баре происходит, как бы в «воздухе» (без привязки к соседям).


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

В новом индикаторе будет точно такая же точка отсчета - время открытия бара. Изменится лишь алгоритм подсчета тиков. К быкам будут относиться тики с ценой bid выше цены открытия, а к медведям - ниже цены открытия. Тики, равные цене открытия свечи, в учет не пойдут.

Спасибо: 0 
Профиль
Balbesik



Сообщение: 182
Зарегистрирован: 13.03.13
Репутация: 0
ссылка на сообщение  Отправлено: 03.03.15 19:13. Заголовок: Scriptong пишет: Пр..


Scriptong пишет:

 цитата:
Привязка производится ко времени открытия бара. Как только открылся новый бар, то происходит обнуление счетчика тиков быков и медведей. Это же очевидно.



Это понятно.
Не смог объяснить.

Scriptong пишет:

 цитата:
В новом индикаторе будет точно такая же точка отсчета - время открытия бара. Изменится лишь алгоритм подсчета тиков. К быкам будут относиться тики с ценой bid выше цены открытия, а к медведям - ниже цены открытия. Тики, равные цене открытия свечи, в учет не пойдут.



Вот связка, через цену Открытия и получается.



Спасибо: 0 
Профиль
Scriptong





Сообщение: 1255
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 03.03.15 19:35. Заголовок: Balbesik пишет: Вот..


Balbesik пишет:

 цитата:
Вот связка, через цену Открытия и получается.


Это, как бы, само собой.

Спасибо: 0 
Профиль
Balbesik



Сообщение: 183
Зарегистрирован: 13.03.13
Репутация: 0
ссылка на сообщение  Отправлено: 07.03.15 14:28. Заголовок: Добрый день, Игорь! ..


Добрый день, Игорь!

Scriptong пишет:

 цитата:
К быкам будут относиться тики с ценой bid выше цены открытия, а к медведям - ниже цены открытия. Тики, равные цене открытия свечи, в учет не пойдут.



Кажется все сделал – оказалось очень просто.
Т.к привязка к цене (сравнение по цене) с учетом спреда (разници Бид Аск), переделка в твоем индикаторе,
приводила в «реале» к «перерисовки» графика – не мог понять проблему –
оказалось всего лишь необходима нормализация.

Тебе, Игорь, наверное минут 5 надо было на переделку.

Что получилось – посмотрю – нужна история (буду собирать на другом компе – «песня та жа» - ПАМЯТЬ ).

Все равно твой вариант интересен и буду ждать.

Ну и наверное самое сложное – старинный вопрос – как «скинуть» ПАМЯТЬ.

Появилось ли что-либо а этом плане?

Насколько я понял, это не проблема компов, а проблема самого терминала имеющего 32 разряда и
терминал просто долго не позволяет использовать «тики», оптимизацию советника в «реале» и т.д.,
кроме этого разработчики МТ5 сами дают ограничения на фондовке до 2000 (или 5000 – не помню, на день только).

Соответственно, если на долгосрок, то про тики, оптимизацию и т.д. (без перезагрузки) можно забыть,
как обращал внимание Genry "ручками оно надежней" (шутка).

Наработок много по тикам, оптимизации советников и т.д.,
все равно вопрос рано или поздно возникнет.

Появляются же в Кодебазе скрипты –
– для быстрого удаления индикатора из окна текущего графика
– для переинициализации всех индикаторов
– для быстрого доступа к свойствам индикатора
– для автоматизации процедуры переинициализации индикатора
– после перключения таймфрейма или символа скрипт будет запускать повтороно автоматически....

Что-то типа скрипта, что бы «снял» с графика индикатор, советник («скинул» память) и
опять поставил туда же сохраняя установки.

Скажи, Игорь, что – либо в этом плане.



Спасибо: 0 
Профиль
Scriptong





Сообщение: 1285
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 07.03.15 23:00. Заголовок: Смотри сюда...


Смотри сюда.

Спасибо: 0 
Профиль
Balbesik



Сообщение: 184
Зарегистрирован: 13.03.13
Репутация: 0
ссылка на сообщение  Отправлено: 08.03.15 17:03. Заголовок: Во первых женщин с п..


Во первых женщин с праздником!
Во вторых они являются продолжателями рода и против только дурак скажет.
Когда они много говорят это только плюс - они детей учат (инстинкт однако).
Успеха им и счастья!

По работе - Да!
Сравнил (у меня без спреда решалась – без проблем, решение на нормировки NormalizeDouble(MarketInfo(Symbol(), MODE_SPREAD) * Point, 5),
что-то дало (перерисовка исчезла), а это бред, возможно спред на тик быть не должен - это не важно).

Игорь, интересно, а у тебя тоже спреда нет (он может быть?, а то как-то у меня "криво" получилось в сравнении)

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

P.S.
Хотя интересно, что такое «тик» и в этом плане связка с некими значениями,
как Бид, Аск, спреды на Тике и нужна ли связка?

Прсто Игорь, если биржа отображает экономику, то, с точки зрения любой системы - нельзя делать "жесткий "0"" (система всегда разнесена - иначе невозможно создать корректирующий контур - пойдут автоколебания и "разнос").
Поэтому "попытался включить "спред".





Спасибо: 0 
Профиль
Balbesik



Сообщение: 185
Зарегистрирован: 13.03.13
Репутация: 0
ссылка на сообщение  Отправлено: 08.03.15 17:47. Заголовок: И еще - вот если под..




Спасибо: 0 
Профиль
Scriptong





Сообщение: 1290
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 09.03.15 13:48. Заголовок: Balbesik пишет: Сра..


Balbesik пишет:

 цитата:
Сравнил (у меня без спреда решалась – без проблем, решение на нормировки NormalizeDouble(MarketInfo(Symbol(), MODE_SPREAD) * Point, 5),
что-то дало (перерисовка исчезла), а это бред, возможно спред на тик быть не должен - это не важно).


Евгений, в который раз прошу тебя: излагай мысли максимально ясно, не мешай все в кучу. Вот, к примеру, о сравнении каких программ ты сейчас пишешь? Ведь нет ничего сложного в том, чтобы дописать: "по поводу сравнения программ такой-то и такой-то".

Balbesik пишет:

 цитата:
Хотя интересно, что такое «тик» и в этом плане связка с некими значениями,
как Бид, Аск, спреды на Тике и нужна ли связка?


Тик - это поступление двусторонней котировки (Bid и Ask). По сравнению с предыдущей она может:
    1. Не отличаться от предыдущей ни по цене Bid, ни по цене Ask. Это значит, что изменился объем по заявкам, представляющим текущие цены. В МТ4 мы это установить не можем - нет данных по реальным объемам.
    2. Отличаться по цене Bid. Ask - такой же.
    3. Отличаться по цене Ask. Bid - такой же.
    4. Отличаться по обеим ценам.


Если мы сейчас говорим об индикаторе BerBullBalance_OpenZero, то спред учитывать не нужно. Все построения производятся по цене Bid. Хотя никто не мешает немного изменить индикатор, переведя его показания по цене Ask. Но даже в этом случае спред нам не нужен. Ведь если построить свечной график сразу по двум ценам, то получим неприятную для глаз картинку - раздвоение свечей.

Спасибо: 0 
Профиль
Balbesik



Сообщение: 190
Зарегистрирован: 13.03.13
Репутация: -1
ссылка на сообщение  Отправлено: 13.03.15 15:16. Заголовок: Привет, Игорь! Scri..


Привет, Игорь!

Scriptong пишет:

 цитата:
...излагай мысли максимально ясно, не мешай все в кучу...



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

Scriptong пишет:

 цитата:
Если мы сейчас говорим об индикаторе BerBullBalance_OpenZero, то спред учитывать не нужно.



Тут я немного о другом.

Пытался разделить границу не просто Опен, а с учетом спреда – не смог –
постоянное изменение последнего у меня ведет к «перерисовки» всего графика
в твоем варианте алгоритма, да и, видимо, нет особого смысла (пока точно нет).

Все это время смотрел, что получилось в индикаторе BerBullBalance_OpenZero?

Мне нравится (правда я чуть переделал – вид, как у РСИ).

Окончательно, для себя, выводы сделаю после тестирования (если получится
твой архив тиковых данных преобразовать в график
равновысоких баров и его «загнать» в тестер).

Пока предварительно – появилась значимая дивергенция.

Это и следовало ожидать – вот тут я ее приемлю, она логична, т.к.

нормированы котировки, а это само по себе дает применение индикатора BerBullBalance_OpenZero
логично и он с ценой не связан (все в рамках одного инструмента),

есть привязка к единым точкам отсчета (базам) в виде твоего Зиг Зага и
относительно этой «базы» сравнение с

индикатором – производной от цены, который так же привязан к ЗигЗагу (сделан по ЗигЗагу) и

индикатором – волатильности, который так же привязан к ЗигЗагу (сделан по ЗигЗагу), а и

сам ЗигЗаг привязан к высоте бара (точнее 2-а ЗигЗага,
один по размаху равен высоте бара, а второй «рабочий» связан с первым).

В общем «картинка» получилась красивой.

Еще раз - спасибо за индикатор!


Спасибо: 0 
Профиль
Scriptong





Сообщение: 1326
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 15.03.15 17:05. Заголовок: Balbesik пишет: есл..


Balbesik пишет:

 цитата:
если получится
твой архив тиковых данных преобразовать в график
равновысоких баров и его «загнать» в тестер)


М-м, серьезный вопрос, нужно будет как-то подумать насчет тестирования нестандартных ТФ в тестере на основании реальных тиков. Когда-то уже такое делал (нужно смотреть статьи на Admiral'e), но там не было реальных тиков, просто минутные свечи.
В будущем проработаем вопрос.

Спасибо: 0 
Профиль
Balbesik



Сообщение: 191
Зарегистрирован: 13.03.13
Репутация: -1
ссылка на сообщение  Отправлено: 15.03.15 17:49. Заголовок: Scriptong пишет: ....


Scriptong пишет:

 цитата:
...насчет тестирования нестандартных ТФ в тестере на основании реальных тиков...



Я сейчас жду твой архив за прошедшую неделю.
Есть вопрос по преобразовании истории "в лоб" не идет, надо проверить.
Историю твою я преобразовал в равновысокие и да "загнать" не удается тиковый,
"загнал" скриптом от Синбара, но не тики зато есть объем, чего не было на синбаре.
Пока жду историю за эту неделю.

Спасибо: 0 
Профиль
Scriptong





Сообщение: 1327
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 15.03.15 18:58. Заголовок: Balbesik пишет: Пок..


Balbesik пишет:

 цитата:
Пока жду историю за эту неделю.


Еще вчера добавил - 14.03.2015.

Спасибо: 0 
Профиль
Balbesik



Сообщение: 192
Зарегистрирован: 13.03.13
Репутация: -1
ссылка на сообщение  Отправлено: 16.03.15 01:24. Заголовок: Доброй ночи, Игорь! ..


Доброй ночи, Игорь!

Я совершенно не понимаю в этих форматах данных и в их формировании (всякие там разделители и прочее).

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


Что-то я делаю не так?

1. Скрипт ConvertTicksFile - файл- Excel «Как есть» похоже привязан к терминалу – какой-то полтергейст.
Файл сформированный на терминале для тестирования «не понимается» другим терминалом хотя и загружается в него.
В общем на котором терминале нужен равновысокий график истории на том и делать файл «Как есть» временного графика.

2. Запустить в реале с историей не удается. Похоже, все таки, идет конфликт с барами временного графика.
Требуется похоже некое переформатирование. Но так или иначе историю мы получаем,
правда не понятно – возможно это некая смесь,
т.к. .tks не разделяется и новый не переписывается (user.tks), хотя график похож.

Ничего не понятно.

3. В тестере «зашиты» только стандартные Т.Ф. и что-то «мудрить» думаю смысла нет.
Все равно проще использовать терминал для тестирования, а следовательно нужен только скрипт,
который формирует данные, по аналогии как у Синбара, но только тиковые.

Скрипт Синбара у тебя есть, но прикрепляю, чтобы не искать
(переделан, по твоей рекомендации, чтобы не было разрывов на графике – работает как надо) –
просто на подумать – я сам смутно представляю, как можно, на многих инструментах,
реализовать тики – никакой ПАМЯТИ не хватит – лучше подумать (мне кажется более актуально), как память «скидывать».

click here

http://dropmefiles.com/nQjuV

P.S.

Зто просто предупреждение.




Спасибо: 0 
Профиль
Scriptong





Сообщение: 1337
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 16.03.15 10:27. Заголовок: Balbesik пишет: 1. ..


Balbesik пишет:

 цитата:
1. Скрипт ConvertTicksFile - файл- Excel «Как есть» похоже привязан к терминалу – какой-то полтергейст.
Файл сформированный на терминале для тестирования «не понимается» другим терминалом хотя и загружается в него.
В общем на котором терминале нужен равновысокий график истории на том и делать файл «Как есть» временного графика.


Итоговый файл этого скрипта - просто файл тиков, а терминал использует совершенно другой формат - свечной. Поэтому ничего удивительного в том, что импорт не состоялся, нет.

Balbesik пишет:

 цитата:
2. Запустить в реале с историей не удается.


Запустить что?

Balbesik пишет:

 цитата:

Похоже, все таки, идет конфликт с барами временного графика.
Требуется похоже некое переформатирование. Но так или иначе историю мы получаем,
правда не понятно – возможно это некая смесь,
т.к. .tks не разделяется и новый не переписывается (user.tks), хотя график похож.


Подключить к терминалу тиковую историю (из файлов tks) можно только одним способом - через TicksCollector. Других способов нет. Подключить тиковую историю к тестеру можно через FXTFileMaker, но пока ограничиваемся стандартными ТФ. Как сделать тестирование на нестандартных ТФ пока думаю.

Спасибо: 0 
Профиль
Balbesik



Сообщение: 193
Зарегистрирован: 13.03.13
Репутация: -1
ссылка на сообщение  Отправлено: 16.03.15 11:08. Заголовок: Все ни так. Script..


Все ни так.

Scriptong пишет:

 цитата:
Поэтому ничего удивительного в том, что импорт не состоялся, нет.



Импорт идет - через временной график - график равновысоких строится (TicksCollector )!
История по тикам временного графика - строим временной - по нему строим равновысокие.
Если "... - просто файл тиков.." получен с другого терминала,
у меня график истории равновысоких не строится

Scriptong пишет:

 цитата:
Запустить что?



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

Scriptong пишет:

 цитата:
Как сделать тестирование на нестандартных ТФ пока думаю.



Сделать, на отдельном терминале для тестировании, просто "закачку" -
на любой ТФ (1мин, 5 мин и т.д.) закачать историю равновысоких.
Через FXTFileMaker - неудается, а чере скрипт Синбара - лехко.

Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  2 час. Хитов сегодня: 2
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет