Logo

Вход

Войти с помощью соц. сетей
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения
  • #1 Свернуть

    Нарисовать линию в советнике MT5

    Подскажите, как правильно и просто нарисовать линию на графике в советнике для MT5, например, по хаю предыдущего дня. Все уже перепробовал, не работает в MT5.
    Прошу простой и рабочий способ, пожалуйста.
  • <a href="https://www.instaforex.org/ru/?x=ruforum">InstaForex</a>
  • #2 Свернуть

    Интересно было бы глянуть на то, что вы называете "Все уже перепробовал".
     

    Комментарий

    • #3 Свернуть

      https://www.mql5.com/ru/docs/constan...ject/obj_hline

      У Вас есть работающий код?
       

      Комментарий

      • #4 Свернуть

        Сообщение от Skyrider60 Посмотреть сообщение
        https://www.mql5.com/ru/docs/constan...ject/obj_hline
        Не, ну где находится справочник и что в нем есть я знаю. Меня интересовал именно ваш код, в котором вы "все уже перепробовали".

        Сообщение от Skyrider60 Посмотреть сообщение
        У Вас есть работающий код?
        Конечно есть. За 5 минут набросал скрипт прям по вашей хотелке. И от того кода, что в справочнике, он практически ничем не отличается.
        MQL код:

        //+------------------------------------------------------------------+
        //| Test_HLineDraw.mq5 |
        //| Copyright 2020, ir0407 at forexdengi.com |
        //| https://forexdengi.com/members/6104-ir0407 |
        //+------------------------------------------------------------------+
        #property copyright "Copyright 2020, ir0407 at forexdengi.com"
        #property link "https://forexdengi.com/members/6104-ir0407"
        #property version "1.00"

        string LineName = "MyHLine";

        //+------------------------------------------------------------------+
        //| Script program start function |
        //+------------------------------------------------------------------+
        void OnStart()
        {
        //--- Получаем хай предыдущего дня
        double LinePrice = GetDayHighPrice(1);
        //--- сбросим значение ошибки
        ResetLastError();
        //--- создадим горизонтальную линию
        long chart_ID = ChartID();
        if(!ObjectCreate(chart_ID, LineName, OBJ_HLINE, 0, 0, LinePrice))
        {
        Print(__FUNCTION__, ": не удалось создать горизонтальную линию! Код ошибки = ", GetLastError());
        return;
        }
        //--- установим цвет линии
        ObjectSetInteger(chart_ID, LineName, OBJPROP_COLOR, clrRed);
        //--- установим стиль отображения линии
        ObjectSetInteger(chart_ID, LineName, OBJPROP_STYLE, STYLE_DASHDOT);
        //--- разрешим выделять линию мышом
        ObjectSetInteger(chart_ID, LineName, OBJPROP_SELECTABLE, true);
        }

        //+------------------------------------------------------------------+
        double GetDayHighPrice(int DayIndex)
        {
        double Result = 0.0, DaysHigh[];
        ArraySetAsSeries(DaysHigh, true);
        int Copied = CopyHigh(Symbol(), PERIOD_D1, 0, DayIndex + 1, DaysHigh);
        if(Copied > 0 && Copied > DayIndex) Result = DaysHigh[DayIndex];
        return(Result);
        }
           

        Комментарий

        • #5 Свернуть

          Как скрипт работает, но нужна эта функция в советнике.
             

          Комментарий

          • #6 Свернуть

            Сообщение от Skyrider60 Посмотреть сообщение
            Как скрипт работает, но нужна эта функция в советнике.
            А какая разница?
               

            Комментарий

            • #7 Свернуть

              Есть разница, не работает в советнике. Скрипт, как советник не устанавливается.
               

              Комментарий

              • <a href="https://www.instaforex.org/ru/?x=ruforum">InstaForex</a>
              • #8 Свернуть

                Сообщение от Skyrider60 Посмотреть сообщение
                Скрипт, как советник не устанавливается.
                Скрипт и не должен устанавливаться, как советник. Разберитесь в чем разница между советником и скриптом. Оформите код в виде советника(измените название всего одной функции) и будет вам счастье.
                Сообщение от Skyrider60 Посмотреть сообщение
                Есть разница, не работает в советнике.
                Уважаемый. Рзница между советником и скриптом только лишь в том, что скрипт выполняется только один раз, не зависимо от прихода тиков, а советник запускается с каждым тиком. Только и всего. И код из этого скрипта, без каких либо малейших изменений, будет прекрасно работать и в советнике.
                 

                Комментарий

                Сейчас онлайн

                working...
                X