MakarFX Опубликовано 23 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 23 января, 2020 56 минут назад, 0ll сказал: но можно с помощью графических фигур - отрезков Спасибо. Такой вариант не устраивает. Вопрос закрыт Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rever27 Опубликовано 24 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 24 января, 2020 В 21.01.2020 в 16:43, Blakjek сказал: Большое спасибо. Просто моя стратегия основана именно на пробое уровня, но нет возможности отслеживать каждую свечу. А вы можете сделать индикатор в котором можно выставить уровень вручную и алерт при пробое этого уровня по цене закрытия свечи? Я многое могу, был бы стимул многое делать ) Попробуй такой вариант. Индикатор посылает всевозможные уведомления, когда цена либо пересечет заданную линию, либо свеча закроется выше/ниже линии (опционно). Может кому еще будет полезен, либо кто то придумает, как его доработать до идеала. Price Notification Indicator v1.0.ex4 3 Ссылка на сообщение Поделиться на другие сайты More sharing options...
awals Опубликовано 25 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 25 января, 2020 Здравствуйте, помогите мне дописать этот Индикатор не как не могу решить проблему. Идея такая когда появляется сигнал (if(barUp >= EMAYelow)) на определенном баре то на этом бар должен нарисоваться прямоугольник за (н) количества баров. Что только не пробивал, не пойму, где Ошибка. Стрелки работают, а прямоугольники нет. Спасибо. candle-size-alert-mt4-indicator.mq4 PZ Volatmeter.ex4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rever27 Опубликовано 25 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 25 января, 2020 7 часов назад, awals сказал: Что только не пробивал, не пойму, где Ошибка.Стрелки работают, а прямоугольники нет. Спасибо. У меня не работает индикатор PZ, выдает ошибку. Если создавать прямоугольники, то каждому нужно давать оригинальное имя, в нашем случае можно к имено прибавлять текущее i Вообще код сразу выдают ошибку размера массива. Если массив создается динамический, то его размер нужно менять через ArrayResize, либо же создавать обычный hi[10000], если известно, сколько именно нужно туда вставлять переменных. Теперь какая то вакханалия на графике рисуется. candle-size-alert-mt4-indicator.mq4 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
MakarFX Опубликовано 26 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 26 января, 2020 Подскажите как реализовать Lots=NormalizeDouble(AccountBalance()/CheckLots,2); округление в меньшую сторону, т.е. если AccountBalance()/CheckLots = 0,019 округляло до 0,01 Нашел решение Lots=NormalizeDouble(AccountBalance()/CheckLots-0.005,2); Изменено 26 января, 2020 пользователем MakarFX Вопрос решен. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 26 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 26 января, 2020 6 часов назад, MakarFX сказал: Нашел решение Поздравляю! Это решение у программистов называется "костыль". Если идти через MathFloor, то получится долго и запутанно, костыль - сразу и просто! ( я не шучу ) Ссылка на сообщение Поделиться на другие сайты More sharing options...
awals Опубликовано 27 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 27 января, 2020 Здравствуйте помогите найти мне в чём причина, никак не могу удалить Прямоугольник созданным Индикаторам, если я сам нанесу Прямоугольник на График он удаляется, а вот созданный индикатором (Indi.ex4) нет. Для того чтобы удалить надо навести мышку на Прямоугольник и нажать Клавиша (Shift). Indi.ex4 ShiftDel.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
MakarFX Опубликовано 27 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 27 января, 2020 10 часов назад, 0ll сказал: Поздравляю! Спасибо. Я не программист, поэтому только "костылями" пользуюсь) Ссылка на сообщение Поделиться на другие сайты More sharing options...
MakarFX Опубликовано 27 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 27 января, 2020 Пожалуйста помогите, вроде простой вопрос ObjectSetText("Lev",StringConcatenate("Lev: ",DoubleToStr(MarketInfo(Symbol(),MODE_STOPLEVEL),0)),SizeInfo,"Times New Roman",InfoColor); Как задать толщину шрифта FW_BOLD, точнее как связать с TextSetFont( "Time New Roman",9,FW_BOLD,0); Очень прошу показать в коде, а то боюсь на словах не пойму. P.S. Справочник MQL4 не помог.( Ссылка на сообщение Поделиться на другие сайты More sharing options...
kvn.1965 Опубликовано 27 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 27 января, 2020 Добрый день! Нужен индикатор , алгоритм очень простой - кто то возьмется? Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rever27 Опубликовано 27 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 27 января, 2020 23 часа назад, MakarFX сказал: округление в меньшую сторону, т.е. если AccountBalance()/CheckLots = 0,019 Lots=NormalizeDouble(AccountBalance()/CheckLots,2); if (MarketInfo(Symbol(), MODE_LOTSTEP) != 0) Lots = MathFloor(Lots/MarketInfo(Symbol(), MODE_LOTSTEP))* MarketInfo(Symbol(), MODE_LOTSTEP); //округление полученного лота вниз Lots = MathMin(MathMax(Lots, MarketInfo(Symbol(), MODE_MINLOT)), MarketInfo(Symbol(), MODE_MAXLOT)); //сравнение полученнго лота с минимальным/максимальным. Ссылка на сообщение Поделиться на другие сайты More sharing options...
MakarFX Опубликовано 27 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 27 января, 2020 26 минут назад, Rever27 сказал: Спасибо. Я уже решил этот вопрос Изменено 27 января, 2020 пользователем MakarFX Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rever27 Опубликовано 27 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 27 января, 2020 14 минут назад, MakarFX сказал: Спасибо. Я уже решил этот вопрос там еще в конце важное сравнение идет с минимальный и максимальным лотом текущего счета, бывает, что округляет до 0, поэтому проверка будет не лишней. 6 часов назад, MakarFX сказал: Как задать толщину шрифта FW_BOLD, точнее как связать с походу никак, тут тоже не нашли ответа: https://www.mql5.com/ru/forum/212818 Можно изучить Canvas, через него можно мутить супер сложные фигуры и с текстом тоже посложнее есть работа, но я запарился его изучать, забил ) 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
MakarFX Опубликовано 27 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 27 января, 2020 6 минут назад, Rever27 сказал: походу никак, тут тоже не нашли ответа Для себя вопрос решил https://www.mql5.com/ru/forum/160683/page1051#comment_14736160 Ссылка на сообщение Поделиться на другие сайты More sharing options...
MakarFX Опубликовано 27 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 27 января, 2020 11 минут назад, Rever27 сказал: там еще в конце важное сравнение идет Смотри скрин выше. Первое число без округления, а второе с округлением. Ссылка на сообщение Поделиться на другие сайты More sharing options...
awals Опубликовано 28 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 28 января, 2020 23 часа назад, awals сказал: Здравствуйте помогите найти мне в чём причина, никак не могу удалить Прямоугольник созданным Индикаторам, если я сам нанесу Прямоугольник на График он удаляется, а вот созданный индикатором (Indi.ex4) нет. Для того чтобы удалить надо навести мышку на Прямоугольник и нажать Клавиша (Shift). Indi.ex4 17 \u043a\u0411 · 1 загрузка ShiftDel.mq4 16 \u043a\u0411 · 1 загрузка Привет всем , разобрался условия был не дописал в проверке на Прямоугольник. Ссылка на сообщение Поделиться на другие сайты More sharing options...
awals Опубликовано 28 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 28 января, 2020 Подскажите пожалуйста, где можно Деокмпилировать (.ex4), может кто-нибудь знает где или у кого есть Деокмпилятор? 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
MakarFX Опубликовано 29 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 29 января, 2020 Всем доброго времени суток. Скажите, как прикрутить свой звук к "Alert()"? Меня интересует в коде как прописать, т.к.в индикаторе прописан Алерт по нескольким событиям, то хочу разделить для каждого события свой звук. Изменено 29 января, 2020 пользователем MakarFX Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 29 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 29 января, 2020 @MakarFX у "Alert()" звук закреплен жестко, его не изменить. @awals если .ex4 написан в программе до 600 билда то можно поискать декомпилятор в сети. И даже людей у кого он есть на этом форуме. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
awals Опубликовано 30 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 30 января, 2020 Подскажите пожалуйста, как написать проверку на то что объект существует, у меня выдаёт ошибку код 4200 что объект уже существует. Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 30 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 30 января, 2020 6 часов назад, awals сказал: Подскажите пожалуйста, как написать проверку на то что объект существует, у меня выдаёт ошибку код 4200 что объект уже существует. Полагаю проблема не в том, что объект уже существует, а в том, что Имя которое вы задаете объекту, уже существует. Поэтому если посмотрим на линии которые создаются программой они будут нумероваться : Vertical Line 46413 Vertical Line 46570 Horizontal Line 46449 Horizontal Line 46602 Trendline 46467 Trendline 46551 Fibo 46478 Fibo 46590 Тоже правило и для человека. Когда создаем объекты, мы их должны нумеровать 1,2,3,4 и т.д. Все это для того, чтобы можно было к ним обращаться. Проверка на существование. Берем все объекты ObjectsTotal() И проверяем на совпадение. Имя, которое хотим дать в имеющихся ObjectName() Ссылка на сообщение Поделиться на другие сайты More sharing options...
awals Опубликовано 30 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 30 января, 2020 21 минуту назад, MikR0ReR сказал: Полагаю проблема не в том, что объект уже существует, а в том, что Имя которое вы задаете объекту, уже существует. Поэтому если посмотрим на линии которые создаются программой они будут нумероваться : Vertical Line 46413 Vertical Line 46570 Horizontal Line 46449 Horizontal Line 46602 Trendline 46467 Trendline 46551 Fibo 46478 Fibo 46590 Тоже правило и для человека. Когда создаем объекты, мы их должны нумеровать 1,2,3,4 и т.д. Все это для того, чтобы можно было к ним обращаться. Проверка на существование. Берем все объекты ObjectsTotal() И проверяем на совпадение. Имя, которое хотим дать в Спасибо Ссылка на сообщение Поделиться на другие сайты More sharing options...
Дервиш Опубликовано 30 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 30 января, 2020 Доработка индикатора Круглых уровней (Key Levels) - их нумерация Порядковая нумерация круглых уровней Нумеруются только уровни в 1000 пунктов (новых) В настройках индикатора, входные параметры: Show_00_ Levels (true/false) Show_50_ Levels (true/false) Show_20_30_40_60_70_80_90_Levels (true/false) Level_00_Color (Цветовая палитра (1000пп) уровней) Level_50_Color (Цветовая палитра (1000пп) уровней) Level_20_30_40_60_70_80_90_Color (Цветовая палитра (1000пп) уровней) Level_№_distance_x (расстояние от правой границы) Возможность устанавливать сколько (1000пп) уровней показывать (по умолчанию 30 (30 х 1000пп)) Отсчет круглых уровней ведется от уровня где находится текущая цена Круглый уровень, в котором находится текущая цена - не берется в расчет, по-умолчанию будет "ноль" Нумерация порядковых уровней начинается от 1001 (1)и далее. Масштаб порядкового номера =90% от уровня (900пп), размещен по центру уровня. Если что-то упустил, дайте знать, при желании взяться за доработку. Заранее благодарю Изменено 30 января, 2020 пользователем Дервиш Ссылка на сообщение Поделиться на другие сайты More sharing options...
awals Опубликовано 30 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 30 января, 2020 7 часов назад, MikR0ReR сказал: Полагаю проблема не в том, что объект уже существует, а в том, что Имя которое вы задаете объекту, уже существует. Поэтому если посмотрим на линии которые создаются программой они будут нумероваться : Vertical Line 46413 Vertical Line 46570 Horizontal Line 46449 Horizontal Line 46602 Trendline 46467 Trendline 46551 Fibo 46478 Fibo 46590 Тоже правило и для человека. Когда создаем объекты, мы их должны нумеровать 1,2,3,4 и т.д. Все это для того, чтобы можно было к ним обращаться. Проверка на существование. Берем все объекты ObjectsTotal() И проверяем на совпадение. Имя, которое хотим дать в имеющихся ObjectName() А как должен выглядеть это в Коде? A то что-то пробую никак не могу понять. if(open > close && barUp >= EMAYelow && open[i-1] > close[i-1]) { ObjectCreate(0, "Rect" + (string)i, OBJ_RECTANGLE, 0, mytime + 60 * 60, hi, mytime - 60 * 60, low); ObjectSetInteger(0, "Rect" + (string)i, OBJPROP_COLOR, clrRed); ObjectSetInteger(0, "Rect" + (string)i, OBJPROP_BACK, true); } else(open < close && barUp >= EMAYelow && open[i-1] < close[i-1]) { ObjectCreate(0, "Rect" + (string)i, OBJ_RECTANGLE, 0, mytime + 60 * 60, hi, mytime - 60 * 60, low); ObjectSetInteger(0, "Rect" + (string)i, OBJPROP_COLOR, clrGreen); ObjectSetInteger(0, "Rect" + (string)i, OBJPROP_BACK, true); } Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 30 января, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 30 января, 2020 @awals Идите на страницы и пройдите курс, слишком много вопросов которые там объясняются. «Программирование на MQL4» — Курс молодого бойца Обучение языку MQL4 под MetaTrader 4 Я смотрю у вас есть "i" в "Rect" + (string)i. Если при создании объекта выдает ошибку, что такой объект существует, значит такое имя уже есть. Это также значит что "i" не оригинальное. Я предлагаю как вариант сделать счетчик. Так как ни этот случай где нужно проводит проверку по именам. int count_obj; это пишем где входные настройки определяем. { ObjectCreate(0, "Rect" + count_obj, OBJ_RECTANGLE, 0, mytime + 60 * 60, hi, mytime - 60 * 60, low); ObjectSetInteger(0, "Rect" + count_obj, OBJPROP_COLOR, clrRed); ObjectSetInteger(0, "Rect" + count_obj, OBJPROP_BACK, true); count_obj+=1; } 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти