radioman Опубликовано 16 декабря, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 16 декабря, 2020 1 минуту назад, Rigal сказал: Если хочется знать, первый ли это запуск - проверяем prev_calculated == 0 Если лимит должен быть больше единицы - ну прибавляем к нему единицу по умолчанию и сравниваем limit > 1 честно, prev_calculated == 0 не рассматривал. Знаете, когда практически все индикаторы (у меня по крайней мере) идут с limit > 1, а иначе, поневоле ищешь ошибку в коде. Не находишь - обращаешься на форум Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rigal Опубликовано 16 декабря, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 16 декабря, 2020 1 час назад, radioman сказал: честно, prev_calculated == 0 не рассматривал. Знаете, когда практически все индикаторы (у меня по крайней мере) идут с limit > 1, а иначе, поневоле ищешь ошибку в коде. Не находишь - обращаешься на форум Ну фракталы, например, требуют больше одного бара с обеих сторон - фрактал просто не может появиться на последнем закрытом баре. Я не смотрел внимательно на алгоритм, но по наличию выделяемых на каждом тике массивов по триста элементов, ему тоже есть, чего посчитать Изменено 16 декабря, 2020 пользователем Rigal Ссылка на сообщение Поделиться на другие сайты More sharing options...
radioman Опубликовано 16 декабря, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 16 декабря, 2020 3 часа назад, Rigal сказал: массивов по триста элементов, ему тоже есть, чего посчитать триста элементов.. да, забыл уменьшить. Размерность выделена на случай увеличения периода индикатора. Я так думаю. За глаза хватит и 14. Ну 21, по желанию. И шкала от -100 до +100 смотрится лучше. Я еще сократил код, убрал булевые атавизмы. Голова посвежее будет - распринтовать все.. Спойлер //+----------------------------------------------+ //| K_II.mq4 | //+----------------------------------------------+ #property strict //---- indicator settings #property indicator_separate_window #property indicator_minimum -110 #property indicator_maximum 110 #property indicator_buffers 1 #property indicator_color1 clrGold //---- input parameters input uint Inp_K_Period = 3; // K_II Period //---- buffers double Ext_Buffer[]; //---- int nK_Period; //---- int nDraw_begin1=0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { string sShort_name; //---- IndicatorDigits(1); //---- nK_Period=int(Inp_K_Period < 3 ? 3 : Inp_K_Period); //---- indicator line SetIndexBuffer(0, Ext_Buffer); SetIndexStyle (0, DRAW_LINE); SetIndexLabel (0, "K_II ("+(string)nK_Period+")"); //---- name for indicator sShort_name="K_II"; IndicatorShortName(sShort_name); //---- nDraw_begin1=nK_Period; SetIndexDrawBegin(0,nDraw_begin1); //---- initialization done return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //---- if(rates_total<=nDraw_begin1) return(0); //---- double dCoefficient=0., dPeriodRatio=0., k, dTempValue, dPriceBag, dPriceToAbs, dPreValue, dValue; int nPeriod=0, A=0, B, C; double ArrayP[14]={0}, ArrayX[14]={0}, ArrayY[14]={0}, ArrayZ[14]={0}; //---- int limit=rates_total-prev_calculated; //---- if(limit=1)// limit>1 { limit=rates_total-nDraw_begin1-1; //---- ArrayInitialize(Ext_Buffer, 0.); } //---- K_II for(int i=limit; i>=0; i--) { dTempValue= 0.; //---- nPeriod=int(nK_Period-1 >= 2 ? nK_Period : 3); //---- k=nPeriod; dCoefficient= 12/(k*(k-1)*(k+1)); dPeriodRatio= (nPeriod+1)*0.5; //---- for(A=2; A<=nPeriod; A++) ArrayP[A-1]=ArrayP[A]; //---- ArrayP[nPeriod]=close[i]; //=========================================== // Price/ABS border for(B=1; B<=nPeriod; B++) { ArrayY[B]= B; ArrayZ[B]= B; ArrayX[B]= ArrayP[B]; } //---- for(B=1; B<=(nPeriod-1); B++) { dPriceBag= ArrayX[B]; C= B; A= B+1; //---- for(A=B+1; A<=nPeriod; A++) { if (ArrayX[A]<dPriceBag) { dPriceBag = ArrayX[A]; C = A; } } //---- dPriceToAbs= ArrayX[B]; ArrayX[B] = ArrayX[C]; ArrayX[C] = dPriceToAbs; dPriceToAbs= ArrayY[B]; ArrayY[B] = ArrayY[C]; ArrayY[C] = dPriceToAbs; } //---- dTempValue=0.; for(B=1; B<=nPeriod; B++) dTempValue=dTempValue+(ArrayZ[B]-dPeriodRatio)*(ArrayY[B]-dPeriodRatio); //---- dPreValue=dCoefficient*dTempValue; //---- dValue=dPreValue; if (dValue==0) dValue=0.00001; //---- Ext_Buffer[i]=dValue*100.; } //---- return(rates_total); } //+------------------------------------------------------------------+ K_II.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rigal Опубликовано 16 декабря, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 16 декабря, 2020 3 часа назад, radioman сказал: триста элементов.. да, забыл уменьшить. Размерность выделена на случай увеличения периода индикатора. Я так думаю. За глаза хватит и 14. Ну 21, по желанию. И шкала от -100 до +100 смотрится лучше. Я еще сократил код, убрал булевые атавизмы. Голова посвежее будет - распринтовать все.. Показать контент //+----------------------------------------------+ //| K_II.mq4 | //+----------------------------------------------+ #property strict //---- indicator settings #property indicator_separate_window #property indicator_minimum -110 #property indicator_maximum 110 #property indicator_buffers 1 #property indicator_color1 clrGold //---- input parameters input uint Inp_K_Period = 3; // K_II Period //---- buffers double Ext_Buffer[]; //---- int nK_Period; //---- int nDraw_begin1=0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { string sShort_name; //---- IndicatorDigits(1); //---- nK_Period=int(Inp_K_Period < 3 ? 3 : Inp_K_Period); //---- indicator line SetIndexBuffer(0, Ext_Buffer); SetIndexStyle (0, DRAW_LINE); SetIndexLabel (0, "K_II ("+(string)nK_Period+")"); //---- name for indicator sShort_name="K_II"; IndicatorShortName(sShort_name); //---- nDraw_begin1=nK_Period; SetIndexDrawBegin(0,nDraw_begin1); //---- initialization done return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //---- if(rates_total<=nDraw_begin1) return(0); //---- double dCoefficient=0., dPeriodRatio=0., k, dTempValue, dPriceBag, dPriceToAbs, dPreValue, dValue; int nPeriod=0, A=0, B, C; double ArrayP[14]={0}, ArrayX[14]={0}, ArrayY[14]={0}, ArrayZ[14]={0}; //---- int limit=rates_total-prev_calculated; //---- if(limit=1)// limit>1 { limit=rates_total-nDraw_begin1-1; //---- ArrayInitialize(Ext_Buffer, 0.); } //---- K_II for(int i=limit; i>=0; i--) { dTempValue= 0.; //---- nPeriod=int(nK_Period-1 >= 2 ? nK_Period : 3); //---- k=nPeriod; dCoefficient= 12/(k*(k-1)*(k+1)); dPeriodRatio= (nPeriod+1)*0.5; //---- for(A=2; A<=nPeriod; A++) ArrayP[A-1]=ArrayP[A]; //---- ArrayP[nPeriod]=close[i]; //=========================================== // Price/ABS border for(B=1; B<=nPeriod; B++) { ArrayY[B]= B; ArrayZ[B]= B; ArrayX[B]= ArrayP[B]; } //---- for(B=1; B<=(nPeriod-1); B++) { dPriceBag= ArrayX[B]; C= B; A= B+1; //---- for(A=B+1; A<=nPeriod; A++) { if (ArrayX[A]<dPriceBag) { dPriceBag = ArrayX[A]; C = A; } } //---- dPriceToAbs= ArrayX[B]; ArrayX[B] = ArrayX[C]; ArrayX[C] = dPriceToAbs; dPriceToAbs= ArrayY[B]; ArrayY[B] = ArrayY[C]; ArrayY[C] = dPriceToAbs; } //---- dTempValue=0.; for(B=1; B<=nPeriod; B++) dTempValue=dTempValue+(ArrayZ[B]-dPeriodRatio)*(ArrayY[B]-dPeriodRatio); //---- dPreValue=dCoefficient*dTempValue; //---- dValue=dPreValue; if (dValue==0) dValue=0.00001; //---- Ext_Buffer[i]=dValue*100.; } //---- return(rates_total); } //+------------------------------------------------------------------+ K_II.mq4 8 \u043a\u0411 · 2 загрузки Имхо можно выделять под период. double array[]; ArrayResize(array, UserSelectedNumberOfBars); Ссылка на сообщение Поделиться на другие сайты More sharing options...
bataka Опубликовано 17 декабря, 2020 Поделиться Доработка индикаторов: общая тема Опубликовано 17 декабря, 2020 В 07.12.2020 в 20:39, Sank сказал: Здравствуйте, уважаемые программисты! Помогите. Нужно поправить алерт в индикаторе. Пиликает на каждой свечке при касании гориз. уровня, а хотелось бы чтобы сигналил только при первом касании. Либо сделать так, что после первого касания он уровень не замечает. Либо (что предпочтительнее) чтобы уровень после первого касания дальше не отрисовывался. Support and Resistance Alert Revision 2.mq4 6 \u043a\u0411 · 2 загрузки Пока я нетрезв, выбросить все нафиг, сформулировать идею - и написать второй вариант прикрутить светосилы, что мне даже в нетрезвом состоянии нравиться меньше. т резом Ссылка на сообщение Поделиться на другие сайты More sharing options...
Страник Опубликовано 8 января, 2021 Поделиться Доработка индикаторов: общая тема Опубликовано 8 января, 2021 Всем привет! Сделайте пожалуйста отправку сообщение на почту и телефон от индюка Bar value (таймфрем, валютная пара, время). Желательно чтоб индюк не ждал закрытия свечи и делал отправку сообщений, а отсылал их сразу, как только сработало условие Bar value.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Сергей108 Опубликовано 9 января, 2021 Поделиться Доработка индикаторов: общая тема Опубликовано 9 января, 2021 Всем доброго часа. Можно ли сделать алерт на индикатор %WPR (Williams Percent Range) чтобы при касании линий -10 и -90, или -15 и -85, (смотря какие линии выставлены в настройках), подавался сигнал, и еще тогда, когда случается расхождение индикатора с ценой? Пример на скрине. Ссылка на сообщение Поделиться на другие сайты More sharing options...
iloirin Опубликовано 9 января, 2021 Поделиться Доработка индикаторов: общая тема Опубликовано 9 января, 2021 Ув. программисты mql5! Индикатор выдает ошибки при компиляции. Исправьте, пожалуйста. Заранее признательна за помощь. CandleColorMidPoint.mq5 Изменено 9 января, 2021 пользователем iloirin Ссылка на сообщение Поделиться на другие сайты More sharing options...
radioman Опубликовано 9 января, 2021 Поделиться Доработка индикаторов: общая тема Опубликовано 9 января, 2021 4 часа назад, iloirin сказал: Индикатор выдает ошибки при компиляции CandleColorMidPoint.mq5 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Страник Опубликовано 9 января, 2021 Поделиться Доработка индикаторов: общая тема Опубликовано 9 января, 2021 20 часов назад, Страник сказал: Всем привет! Сделайте пожалуйста отправку сообщение на почту и телефон от индюка Bar value (таймфрем, валютная пара, время). Желательно чтоб индюк не ждал закрытия свечи и делал отправку сообщений, а отсылал их сразу, как только сработало условие Bar value.mq4 3 \u043a\u0411 · 1 загрузка Нашёлся индикатор с мгновенным аллертом при срабатывании условия (только вместо цифр над/под свечой, теперь рисуются стрелки, что не очень удобно. Если возможно, то поправьте пожалуйста обратно на цифры), только вот без отправки сообщений на телефон и почту. Добавьте пожалуйста отправку сообщений Bar value v1.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
iloirin Опубликовано 9 января, 2021 Поделиться Доработка индикаторов: общая тема Опубликовано 9 января, 2021 3 часа назад, radioman сказал: CandleColorMidPoint.mq5 8 \u043a\u0411 · 1 загрузка Ув. @radioman, огромное спасибо! Прошу ответьте: если я правильно поняла, то это я, меняя код значка в 28 строке, "потеряла" запятую и из-за этого были ошибки? Изменено 9 января, 2021 пользователем iloirin Ссылка на сообщение Поделиться на другие сайты More sharing options...
radioman Опубликовано 9 января, 2021 Поделиться Доработка индикаторов: общая тема Опубликовано 9 января, 2021 3 часа назад, iloirin сказал: из-за этого были ошибки? Здравствуйте. Вы правы, дело было в запятой 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Страник Опубликовано 12 января, 2021 Поделиться Доработка индикаторов: общая тема Опубликовано 12 января, 2021 В 09.01.2021 в 20:14, Страник сказал: Нашёлся индикатор с мгновенным аллертом при срабатывании условия (только вместо цифр над/под свечой, теперь рисуются стрелки, что не очень удобно. Если возможно, то поправьте пожалуйста обратно на цифры), только вот без отправки сообщений на телефон и почту. Добавьте пожалуйста отправку сообщений Bar value v1.mq4 4 \u043a\u0411 · 2 загрузки Как оказалось обозначение цифрами осталось.. Нужно было просто отключить стрелки) Прикрепите плиз отправку сообщений Ссылка на сообщение Поделиться на другие сайты More sharing options...
sashbek Опубликовано 13 января, 2021 Поделиться Доработка индикаторов: общая тема Опубликовано 13 января, 2021 Здравствуйте, Уважаемые специалисты. Есть индикатор = Trendlinesday. Он довольно простой и рисует трендовые линии по хаям. Есть советник = TrendLine_Trading. Он открывает ордера при пересечении заданной нами трендовой линии. В настройках советника пишем название трендовых линии от индикатора. Получается один рисует линии, другой открывает ордера. Проблема в следующем: советник, при открытии ордера, задает комментарий в описании трендовой линии, и после этого новых ордеров не открывает. Не могли бы Вы подчистить код советника, чтобы: 1. Советник открывал ордера только при пересечении линии тренда в нужном направлении. Т.е. ордер на покупку открывался при пересечении ценой линии Trend UP-0 снизу вверх, а ордер на продажу при пересечении линии Trend DN-0 сверху вниз. 2. Советник не прописывал комментарий к названию линии тренда, или просто не проверял наличие таковых, чтобы он мог постоянно открывать ордера при пересечении ценой нужной линии. Спасибо! ИНД = Trendlinesday.mq4 СОВА = TrendLine_Trading.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Страник Опубликовано 14 января, 2021 Поделиться Доработка индикаторов: общая тема Опубликовано 14 января, 2021 В 12.01.2021 в 20:18, Страник сказал: Как оказалось обозначение цифрами осталось.. Нужно было просто отключить стрелки) Прикрепите плиз отправку сообщений Помогли на другом форуме. Может кому пригодится... Bar value v1(+).mq4 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Олег79 Опубликовано 20 января, 2021 Поделиться Доработка индикаторов: общая тема Опубликовано 20 января, 2021 Приветствую всех. Скажите, можно ли к индикатору добавить дэшборт? Индикатор показывает импульсные свечи (с большими телами). В условиях дэшборда, чтобы можно было указы вать пары и выбирать на каком ТФ показывать сигнал. Если это очень сложно, сколько это будет стоить? Заранее спасибо. momentum_candles_v1.2.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
selavie Опубликовано 25 января, 2021 Поделиться Доработка индикаторов: общая тема Опубликовано 25 января, 2021 Здравствуйте господа программисты, можно ли сделать так чтобы показания этого индикатора отображались на истории, чтобы на каждом предыдущем дне можно было увидеть показания индикатора (Hi/Lo пяти предыдущих дней) 5day_mod_txt.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
selavie Опубликовано 3 февраля, 2021 Поделиться Доработка индикаторов: общая тема Опубликовано 3 февраля, 2021 В 25.01.2021 в 16:34, selavie сказал: Здравствуйте господа программисты, можно ли сделать так чтобы показания этого индикатора отображались на истории, чтобы на каждом предыдущем дне можно было увидеть показания индикатора (Hi/Lo пяти предыдущих дней) 5day_mod_txt.mq4 9 \u043a\u0411 · 1 загрузка Парни кто сделает, а то пол года присматриваюсь к пятидневным зонам - отрабатывает , но хотелось бы посмотреть за больший период Ссылка на сообщение Поделиться на другие сайты More sharing options...
iloirin Опубликовано 3 февраля, 2021 Поделиться Доработка индикаторов: общая тема Опубликовано 3 февраля, 2021 Здравствуйте, уважаемые Программисты mql5 - добрые самаритяне! Измените, пожалуйста, алгоритм цветовой раскраски значков в данном индикаторе. Индикатор ставит значок на середине (средней цене) либо всей свечи, либо тела свечи - по выбору в настройках. Далее он раскрашивает этот значок в зависимости от типа свечи – бычья, медвежья… Мне нужно, чтобы он раскрашивал значки по другому алгоритму: если середина новой свечи выше середины предыдущей - то бычий цвет, ниже – медвежий, на одном уровне – нейтральный. Индикатор очень помогает как можно дольше находиться в сделке, следовать за трендом. Помогите, пожалуйста. Заранее признательна. CandleColorMidPoint.mq5 Изменено 3 февраля, 2021 пользователем iloirin Ссылка на сообщение Поделиться на другие сайты More sharing options...
dimon79ua Опубликовано 24 февраля, 2021 Поделиться Доработка индикаторов: общая тема Опубликовано 24 февраля, 2021 Уважаемые программисты! Помогите модифицировать индикатор RSI. Мне необходимо, чтобы вместо подвального отображения на графике он показывал в правом верхнем углу графика следующую информацию: зеленый квадратик, если RSI пересек и находиться выше уровня 50, красный квадратик, если RSI пересек и находиться ниже уровня 50. И самое главное, он должен быть мультитаймфреймовый. RSI.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rigal Опубликовано 25 февраля, 2021 Поделиться Доработка индикаторов: общая тема Опубликовано 25 февраля, 2021 20 часов назад, dimon79ua сказал: Уважаемые программисты! Помогите модифицировать индикатор RSI. Мне необходимо, чтобы вместо подвального отображения на графике он показывал в правом верхнем углу графика следующую информацию: зеленый квадратик, если RSI пересек и находиться выше уровня 50, красный квадратик, если RSI пересек и находиться ниже уровня 50. И самое главное, он должен быть мультитаймфреймовый. RSI.mq4 4 \u043a\u0411 · 0 загрузок А можно уточнить, что значит «пересек»? Если мы на минутке, значение 80, пересек 50 полчаса назад - он какого цвета? 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
dimon79ua Опубликовано 7 марта, 2021 Поделиться Доработка индикаторов: общая тема Опубликовано 7 марта, 2021 В 25.02.2021 в 07:26, Rigal сказал: А можно уточнить, что значит «пересек»? Если мы на минутке, значение 80, пересек 50 полчаса назад - он какого цвета? Цвет не меняется, пока на выбранном таймфрейме RSI не пересечет уровень 50 (подвальный индикатор для примера, он не должен отображаться на графике, только "квадратик" в углу). Ссылка на сообщение Поделиться на другие сайты More sharing options...
Vladislav.k Опубликовано 9 марта, 2021 Поделиться Доработка индикаторов: общая тема Опубликовано 9 марта, 2021 Здравствуйте, уважаемые программисты! Помогите, пожалуйста, модифицировать советник, который выводит на график статистику по всем работающим на счете советникам. Проблема в том, что советник берет всю инфу из истории терминала и выводит ее на график... А если советников было много, за всю историю существования счета, то высоты графика не хватает и статистику по многим советникам попросту не видно. В настройках у него есть переменная "S_13 Исключить из статистики MagicNumber." Но количество магиков ограничено четырьмя штуками... Т.е. я могу отключить показ статистики только четырех советников. А хотелось бы, что бы можно было отключать неограниченное число магиков. Или может есть аналог такого советника, в более совершенном варианте? Буду признателен, если подскажете. Statistics.mq4 Изменено 10 марта, 2021 пользователем Vladislav.k Ссылка на сообщение Поделиться на другие сайты More sharing options...
Сергей108 Опубликовано 13 марта, 2021 Поделиться Доработка индикаторов: общая тема Опубликовано 13 марта, 2021 Всем форумчанам хорошего дня. Есть хороший индикатор гистаграмма Вильямса, и у него встроенный алерт, который невозможно отключить, т.к. настроек у него нет. В процессе торговли он очень сильно беспокоит своими звонками, которые строчат как из пулемета. Можно ли сделать этот алерт отключаемым? William36histogram_6thc4.ex4 William36histogram_6thc4.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rever27 Опубликовано 14 марта, 2021 Поделиться Доработка индикаторов: общая тема Опубликовано 14 марта, 2021 21 час назад, Сергей108 сказал: Можно ли сделать этот алерт отключаемым? можно William36histogram_6thc4_1.mq4 4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти