Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Fx-VladMih _ Тусовка программистов и их гостей _ Самоделкин

Автор: VladMih 28.9.2007, 7:02

Часто бывает, что индикатор всем хорош, но есть нюансы,
которые нас не устраивают, нервируют из-за того, что

- не тот цвет линий
- не та толщина
- он, гад, не хочет подавать сигнал или подаёт, но не в том месте
- прочие жалобы общественности

Ищем здесь как с этим бороться, если не находим - задаём вопрос.
При необходимости - выкладываем индикатор и друзья-программисты поясняют как с этим бороться.

Первым суперпрограммистом выступлю сам, пока все спят. ab.gif

Автор: VladMih 28.9.2007, 8:29

Итак, приступим. Изменение цвета и толщины линий индикаторов.
Я заметил, что почему-то именно "мой" http://fx-vladmih.ru/forum/index.php?showtopic=6&view=findpost&p=1301 скачивают больше, но он "левый"
Цвета линий подходят не для любого фона,
а при переключении таймфреймов они сбиваются с настроенных на предустановленные.

Чтобы поставить нужные цвета делаем следующее:
1. Открываем МетаЕдитор (при запущенном терминале - жмём F4),
через меню "Файл/открыть" находим нужный индикатор, в данном случае это MACD+OsMA.mq4.

2. В коде находим:

Цитата
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1,Red);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1,Black);
SetIndexStyle(2,STYLE_SOLID,DRAW_HISTOGRAM,2,Red);
Первые две строчки - это линии индикатора, а третья - гистограмма (тоже в виде линии, но это не важно).
- Меняем, например красный цвет в первой строчке.
Для этого выделяем его двойным кликом и жмём F1 - внизу появляется палитра цветов.
Копируем оттуда название выбранного цвета, например White и вставляем на место выделенного.
- если не устраивает толщина линии, значит заменяем цифру перед названием цвета на бОльшую или меньшую.
Например - в последней строчке выделенную двоечку меняем на единицу - гистограмма будет рисоваться тонкой линией.

3. Жмём F5 (компилляция) и смотрим на чарт.
Переключение по разным Тф не убивает ваши любимые цвет и толщину линий. ab.gif

P.S. Если после компилляции в нижнем окошке получите сообщение об ошибках -
значит случайно задели что-то лишнее, но это не страшно.
Жмите Ctrl-Z и пошагово вернётся назад всё, что вы "натворили" - теперь можно начать сначала ad.gif

Автор: VladMih 29.9.2007, 13:03

Понятно, что на форумах разработчиков информации гораздо больше, чем будет у нас.
Поэтому кто хочет серьёзней разобраться с терминалом и индикаторами, вам сюда:

http://www.metaquotes.ru - сайт разработчика

http://www.metaquotes.ru/forum - соответственно, форум. Основное направление - терминал

http://www.mql4.com/ru/ - то же, основное направление - программирование на MQL

А если честно, то по терминалу там уже давно нет ничего нового и интересного.
"Терминальный" форум тоже уже стал программистским, простых трейдеров оттуда вытеснили.
Так что по теме этого нашего раздела нужно смотреть и там и там.

Связано это с тем, что разработчик давно "забил" на интересы трейдеров.
Совершенствуются язык, тестер и всё, что с этим связано.

P.S. Оффтоп - многие ДЦ сильно запаздывают с обновлением версий МТ4.
Поэтому, если увидите в новостях разработчика, что есть критические обновления,
то лучше скачивать терминал напрямую с сайта разработчика.
Устанавливаете прямо поверх имеющегося - и всё ОК, теряете только логотип своего ДЦ.

Автор: VladMih 20.10.2007, 14:43

Есть у нас очень хорошая тема и суперлидер этой темы Валия.
И есть там Стохастик. Самый обыкновенный 8.5.3

Вот и закидываю я сюда просьбу:
надо бы сделать для МИНИ-таможенников Стоха с сигналом о развороте главной линии.
Желательно взять на сайте Метаквотов из статьи по переделке индюков сигнального стоха
и чуток его переделать (там сигнал по перекупленности/перепроданности).

Наш Стох должен сигналить в настраиваемом диапазоне значений (вывести в настройки).
По жизни этот диапазон в пределах от 0(100) до 30-40(70-60).

Вот так! Программистов нет, а заказ есть ag.gif Ну и пусть полежит.
Не найдутся асы, со временем сам сделаю, а этот пост будет напоминанием. ad.gif

Автор: Alex-com 6.11.2007, 23:45

Цитата(VladMih @ 20.10.2007, 13:43) *
Вот и закидываю я сюда просьбу:
надо бы сделать для МИНИ-таможенников Стоха с сигналом о развороте главной линии.
Желательно взять на сайте Метаквотов из статьи по переделке индюков сигнального стоха
и чуток его переделать (там сигнал по перекупленности/перепроданности).

Наш Стох должен сигналить в настраиваемом диапазоне значений (вывести в настройки).
По жизни этот диапазон в пределах от 0(100) до 30-40(70-60).


Здравствуй VladMih, не совсем понятно что тебе нужно, но есть у меня вот такие версии стохастика,
сигналы подаются стрелочками на графике




 iStochTxt_komposter_.rar ( 1,19 килобайт ) : 146
на этом сигналы по пересечению сигнальных линий стохастика

 iStochTxt_komposter__level.rar ( 1,19 килобайт ) : 148
а здесь сигнал будет по пересечению стохастика уровней, уровни можно установить

Автор: VladMih 7.11.2007, 9:54

Цитата(AlexandrV @ 7.11.2007, 8:29) *
Не понял это предложение... Как должен отображаться сигнал на графике, если стрелок не будет?

Зачем его отображать на графике???
Где-то я описывал подробно (в другой ветке) -
должно выскакивать окно с сообщением и подаваться звуковой сигнал.
При этом для принятия решения нужно видеть сам индикатор.
Стрелки на графике только загромождают чарт.

P.S. Ты тоже программист?

Автор: VladMih 7.11.2007, 10:50

Цитата(AlexandrV @ 7.11.2007, 9:32) *
Я только учусь... ab.gif
Ради интереса переделываю несложные индюки и советники.
Пытался сигналы стоха по МИНИ запихать в советник.
Но пока я сам толком не разобрался с сигналами мини. Советник сливает.
Самая распространённая ошибка программистов, в т.ч. "продвинутых".
Никогда в жизни не получится советник из системы, которую не освоил вручную.
Пытаешься запихнуть в советника то, что не понимаешь... Интересно...

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

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

Автор: AlexandrV 7.11.2007, 17:36

Цитата(VladMih @ 7.11.2007, 12:44) *
Условие сигнала нижнего разворота выглядеть будет примерно так:
b2 > b1 >= b0, вариант - b3 >= b2 > b0 (надо будет посмотреть что лучше)
b - значения главной линии Stochastic
цифры - номера баров


1. Не нашел статью, про которую ты писал. Можешь ссылку кинуть, если помнишь?
2. Ты сигналы правильно описал? Может так? b2>b1<=b0 и соответственно b3>=b2<b0
3. Возможно забыл еще указать, что эти сигналы должны быть в зонах перекупленности или перепроданности.

Что не так поправь. Если я правильно все описал, то во вложении пробный индюк. Не стал в нем стоха копировать, просто запрограммировал твои сигналы командами SELL (верхний разворот) и BUY (нижний разворот).

 МИНИ_1.rar ( 625 байт ) : 156

Автор: VladMih 7.11.2007, 18:49

С сигналами я упорол косяк, конечно. "Стрелочки" на одной стороне забыл повернуть ab.gif Спешка.

Надеюсь ты не забыл учесть, что вверху тоже развороты есть?
и там обе "стрелки" больше/меньше должны быть перевёрнуты наоборот!
Т.е. ДВА условия должны работать. Одно при меньше 50, другое - при больше 50.
(точней - надо будет подбирать - вынести во внешние границу. М/быть 40/60, например)

Ссылку искать лень. Глянь сам,
на днях я ложил её в тему Сашкена "Индикаторы и советники по Вашим идеям"

Индикатор смотреть не стал, т.к. он мне ничего не даст -
что толку с фиксированных сигналов индикатора, срабатывающего по нулевому бару???
На будущее - если не хочешь лишней работы - делай как я прошу.
Вишь как с первого тыка получилось? Я ж тут никак не виноват, просто его никак не применить.
Разве что из любопытства глянуть одним глазом, так и нету у меня его.
Любопытства. ab.gif Да и времени лишнего. Как и у тебя ad.gif

Автор: VladMih 14.1.2008, 17:43

Может кто-нибудь подскажет -

что нужно сделать, чтобы не записывались в журнал терминала сообщения о загрузке индикаторов?
(Custom хххХХХхххХХХ: Loaded successfully)
При этом сигналы индикаторов (любые) должны записываться!!!

Автор: VladMih 15.1.2008, 16:13

Стрелка вверх рисуется нормально, а вот эта (вниз):

ObjectCreate(Obj,OBJ_ARROW,0,Time[bar],price); - наползает на цену.

Как её поднять выше пунктов на 5-10? У неё ведь только одна координата.
Пробовал к этой координате

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

Автор: lega911 7.3.2008, 11:10

краткая инструкция по добавлению параметра "используемый ТФ" (отключалка индикатора)

1. в начале файла где идут перечисления параметров добавляем свой:
extern int TF = 30;

2. в каждом индикаторе есть 3 ф-ии init(), deinit(), start()
в самом начале этих функций добавляем одно и то-же условие.

if(Period() > TF) return(0); // Если ТФ выше выбранного, то не рисовать
if(Period() < TF) return(0); // Если ТФ ниже выбранного, то не рисовать
if(Period() != TF) return(0); // Если ТФ не совпадает с выбранным, то не рисовать
if(Period() == TF) return(0); // Если ТФ совпадает с выбранным, то не рисовать

если нужно 2 условия, максимальный и минимальный ТФ:
extern int maxTF = 60;
extern int minTF = 30;
....
if(Period() > maxTF) return(0); // Если ТФ выше выбранного, то не рисовать
if(Period() < minTF) return(0); // Если ТФ ниже выбранного, то не рисовать

TF задается в минутах

пример отключалки выше заданного ТФ:

Цитата(' date=)
extern int TF = 30;
....

init()
{
if(Period() > TF) return(0); // Если ТФ выше выбранного, то не рисовать
...
return(0);
}

deinit()
{
if(Period() > TF) return(0); // Если ТФ выше выбранного, то не рисовать
...
return(0);
}

start()
{
if(Period() > TF) return(0); // Если ТФ выше выбранного, то не рисовать
...
return(0);
}

Автор: VladMih 20.3.2008, 19:24

Цитата(Gilmerg @ 19.3.2008, 16:18) *
Здраствуйте. Можно ли в торговый терминал для КПК добавить индикаторы?

Земеля, я в этом деле не шибко грамотный (ноль!), но никто не отвечает, поэтому...
ИМХО лучше с таким вопросом заглянуть на форумы Метаквотов (оба).
Адреса есть в самом терминале и в редакторе (см. Справка/О программе)
_____________________________________
Может и мне за это ответят. ab.gif Не удивляйтесь м1, кручу-верчу - кой-чё выкрутить хочу.
Надо проверить хорошую идею.
Стандартный наш исторический двухфайловый (уровни точками) индикатор Мюррея временами не хочет рисовать историю на м1.
При переключении с м1 на старший ТФ и обратно получаю чистый график, на котором точки уровней Мюра только на последнем баре и появляются они только после прихода тика.
Абыдна, да?!... Оч уж идея хорошая... ac.gif

Подскажите чево с ним сделать? Хочу САМОДЕЛКИНЫМ способом,
т.к. он у меня уже слегка подрихтованый (нерасчётная часть).

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

Автор: VladMih 14.5.2008, 11:51

Почитал темку и почистил её.
Оказалось, что мой НЕОТВЕЧЕННЫЙ вопрос под номером 13. Вот в чем было дело... ab.gif
Глюк Мюррея продолжает иногда проявляться, причем иногда даже на старших ТФ (неделя, месяц).
Рестарт терминала помогает НЕ ВСЕГДА. ac.gif
______________
Олег, выше твой хороший пост по использованию ТФ. Хорошо бы написать такой же о том, как сделать,
чтобы индикатор брал данные ДЛЯ СИГНАЛОВ не только с текущего ТФ, а еще и с тех, которые задашь.
Я говорил, что вернулся ПЛОТНО к теме сигналов Stochastic и МАКД, беда - пропускаются сигналы нужных ТФ.
Не держать же для каждого ТФ свое окно со своим сигнальщиком?! (Умножить на кол. инструментов!) bm.gif
______________
Главное, чего я вспомнил об этой ветке:
1. Знаю, что можно задавать границы индикатора, например, вместо умолчальных 0 и 100 для Stochastic-а можно задать 5 и 95 - иногда это полезно, т.к. позволяет увеличить изображение индикатора без увеличения размера окна (занимаемой площади окна терминала)
2. Хочу узнать как закрепить по центру индикаторного окна нулевую линию. Очень надо.
Особенно это незаменимая штука когда используешь наложение в одном окне двух ненормируемых индикаторов.

Если бы кто описал ОБА пункта. Было бы здорово. Рано или поздно это может пригодиться почти всем.

Автор: VladMih 14.5.2008, 11:58

P.S. Совсем дикая мечта...
Если бы можно было закрепить границы индикатора так, чтобы они были закреплены на разных ТФ по-разному (комбинация п.1 и п.2 предыдущего поста)... Сбылась бы мечта идиота.... ab.gif
Например, МАКД если закрепить на Н1 по хорошо видимым границам так, чтобы ноль был посередине, то при переключении на другие ТФ он или прижмется к нулю или убежит за границу, эммигрант хренов. ag.gif
Получается, что надо ставить на каждый ТФ свой МАКД. В одном окне с одинаковыми настройками!
Бред сивой кобылы ac.gif

Автор: VladMih 15.5.2008, 8:33

Олег, спасибо! Выяснилось, что делать с моим МАКДом придется еще много чего.
Пришла идея сделать полностью свой индикатор на основе МАКДов.
Сейчас ломаю над ним голову. Боюсь, что убью на это и все выходные.

Пока что мне хотелось бы выяснить как исправлять баг недержания настроек свойств линий. Это бывает во многих пользовательских индикаторах, написанных видимо новичками. Формулу индикатора знают, а нюансы MQL - нет. В результате при переключении ТФ цвет и толщина линий сбрасываются на умолчальные. Нервы не выдерживают, особенно если в окне два одинаковых индикатора, а страшней всего, если умолчальные цвета совпадают с цветом фона, тогда некоторые линии вообще "пропадают". ac.gif

Хотелось бы уметь эту багу фиксить самолично. Хелп ми, необразованному. ab.gif
(кстати, в этом МАКДе та же проблемка)

2 All: Сюда не ложим этот МАКД, т.к. он нафиг никому не нужен -
комбинация из двух, с которой нужно уметь работать, да еще и недоделанная и с багами.
А мы договаривались, что мусор здесь не нужен. ab.gif

Автор: lega911 25.5.2008, 17:32

нашел как можно скрыть первоначальное отображение линии индикатора
#property indicator_style1 DRAW_NONE // скрыть первую линию

Автор: VladMih 25.5.2008, 17:43

Цитата(lega911 @ 25.5.2008, 18:32) *
нашел как можно скрыть первоначальное отображение линии индикатора
#property indicator_style1 DRAW_NONE // скрыть первую линию

Знаешь, Олег, я с тобой начинаю себя чувствовать тупым занудой... ah.gif
Столько вопросов все форумляне вместе взятые не задают, сколько я тебе задал.
Вот и сейчас на одно коротенькое сообщение у меня несколько вопросов
1. Что такое "первоначальное отображение", что такое второначальное?
2. Какая линия первая? Можно ли так скрыть уровень индикатора?
(дебильное отображение нулевого уровня, который я удалил в МАКДе, а он все равно рисуется пока его еще и в настройках не удалишь).
3. Может быть "DRAW_NONE (12) - Отсутствие какого-либо рисования" лучше использовать непосредственно в коде, а не в определении стиля над кодом? (Стиль линии может также использоваться для получения или установки свойства OBJPROP_STYLE объекта.)

Попутно нашел то, что нам может пригодиться - см. "bool ObjectSet( string name, int prop_id, double value)"
Цитата
// установка флага видимости объекта. Объект будет отрисован только на 15-минутном и 1-часовом периодах графика
ObjectSet("MyObject", OBJPROP_TIMEFRAMES, OBJ_PERIOD_M15 | OBJ_PERIOD_H1);

Автор: lega911 25.5.2008, 18:05

Цитата(VladMih @ 25.5.2008, 20:43) *
1. Что такое "первоначальное отображение", что такое второначальное?
2. Какая линия первая? Можно ли так скрыть уровень индикатора?
(дебильное отображение нулевого уровня, который я удалил в МАКДе, а он все равно рисуется пока его еще и в настройках не удалишь).
3. Может быть "DRAW_NONE (12) - Отсутствие какого-либо рисования" лучше использовать непосредственно в коде, а не в определении стиля над кодом? (Стиль линии может также использоваться для получения или установки свойства OBJPROP_STYLE объекта.)

1. т.е. настройка по умолчанию.
2. скрыть незнаю, но если его удалить из кода, то индикатор нужно заново добавлять к графику, что-б его небыло ( это особенность МТ имхо )
3. если использовать в коде, то при переключении ТФ эта настройка будет сбрасываться, ( как тот МАКД - MACD+osMA )

Автор: VladMih 25.5.2008, 18:30

1. Или я тебя не понял, или мы друг друга не поняли
2. Если его удалить из кода и индикатор заново установить на чарт, он БУДЕТ.
По крайней мере так в нашем МАКДе. Посмотри в коде, что я выкладывал - он или удален или под комментом.
Ни компилляция, ничего не помогает - только удаление нулевого уровня в настройках.
3. Понял. Что нифига не понял. Ну и фиг с ним. Не до того сейчас.

Автор: lega911 25.5.2008, 18:54

Цитата(VladMih @ 25.5.2008, 21:30) *
2. Если его удалить из кода и индикатор заново установить на чарт, он БУДЕТ.
По крайней мере так в нашем МАКДе. Посмотри в коде, что я выкладывал - он или удален или под комментом.
Ни компилляция, ничего не помогает - только удаление нулевого уровня в настройках.

я сделал вот так, и теперь все ок
Цитата
// #property indicator_level1 0
#property indicator_level1 0.0015
#property indicator_level2 -0.0015
...

т.е. если просто закоментировать уровень, то он становиться равным нулем ( ничего не присвоили ), а т.к. за ним ещё есть уровни ( 2, 3, 4...) то он тоже отображается

Автор: VladMih 25.5.2008, 19:30

Цитата(lega911 @ 25.5.2008, 19:54) *
я сделал вот так, и теперь все ок

О це друге дило! Без лишних премудростей все решается. ab.gif
А ты пытался меня ввести в заблуждение и лишние сложности. bm.gif
Спасибо!

Автор: VladMih 25.5.2008, 19:36

Опомнился я, что ты можешь и совсем по-человечески сделать. ab.gif
Мне ведь нулевой уровень обязательно нужен, он ведь главный, только я его выделяю намного сильней чем те штриховые.
Т.е. мне не удалять его фактически нужно, а сделать СПЛОШНОЙ линией, оставив все остальные как есть.

Сейчас я нулевой удаляю и наношу горизонтальную линию с координатой 0.0 - это ж тупо! ab.gif

Автор: VladMih 17.12.2009, 10:12

Цитата(DonPic @ 16.12.2009, 22:11) *
Используя этот индикатор получаем 1) подсказку правильной раскраски Вика, ВК и НК, 2) исключаем ошибку выбора параметров при переходе с тайма на тайм, 3) освобождаем внимание для планирования торговых действий.

Хотел попросить сделать Зиг одним цветом (напр., белым), но прочитал выделенное синим
и подумал - в этом что-то есть. Пусть будет ещё однин напоминальщик балбесам склерозным. biggrin.gif

Спасибо! friends.gif Вырезал ваш пост в отдельную тему:
http://fx-vladmih.ru/forum/index.php?showtopic=3491&hl=
Индикатор пошёл в обкатку, если время покажет, что он неглючный,
мы его утвердим как рекомендуемый и положим прямо в раздел Проб.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)