Logo

Вход

Войти с помощью соц. сетей
Пока нет объявлений.
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения
ТОП СООБЩЕНИЙ
02.10.2015, 11:27
Лучший ответ
Накопленные выплаты: 20203 RUB
Сообщение от coder-ex Посмотреть сообщение
МТ4 880 и 890
Интересно, как это у вас одновременно два билда? Ведь терминал всегда автоматически обновляется до последнего билда.

Сообщение от coder-ex Посмотреть сообщение
Про удаление объектов с графика - это ведь другая проблема
Говоря об удалении обьектов я просто привожу пример, который свидетельствует о том, как может измениться поведение терминала с выходом следующего билда, что-то может работать неправильно или вовсе не работать.
02.10.2015, 11:44
Лучший ответ
Накопленные выплаты: 9224 RUB
Mihey85,
Интересно, как это у вас одновременно два билда? Ведь терминал всегда автоматически обновляется до последнего билда.
вариантов много, один из них на VPS v890, на гостевой ОС v880 и v890 - поставил запрет на обновление и все... Кстати за это спасибо Microsoft, раньше постоянно отключал UAC теперь не отключаю и вижу плоды его использования...
Говоря об удалении обьектов я просто привожу пример, который свидетельствует о том, как может измениться поведение терминала с выходом следующего билда, что-то может работать неправильно или вовсе не работать.
ну на разных версиях платформы MetaTrader я вам массу глюков найду это ведь MetaQuotes, они решили стать первопроходцами и создать свой ЯП, им это удалось, только любой ЯП будет развиваться и совершенствоваться исправляя свои баги при большом числе разработчиков, а MQL все таки проприетарная и там программистов не так много как в C# к примеру...
PS. кстати ваш ответ как раз подтверждает то, что нужно использовать то что описано стандартом по описанным правилам, а если использовать описанное стандартом в нарушение этих правил, то в итоге мы наблюдаем неоднозначное поведение в разных билдах
28.09.2015, 18:55
Лучший ответ
Накопленные выплаты: 20203 RUB
Сообщение от nektomk Посмотреть сообщение
как ни бьюсь - ChartTimePriceToXY работает только для главного окна
Это вам лучше обратиться к разработчикам, наверняка в функции какой-нибудь глюк (побочный результат очередного билда)...
30.09.2015, 22:53
Лучший ответ
как ни бьюсь - ChartTimePriceToXY работает только для главного окна. То есть вне зависимости от параметра subwindow возвращает координаты соотв. основному окну. Билд MT4 840.
01.10.2015, 07:20
Лучший ответ
Накопленные выплаты: 9224 RUB
Сообщение от malevannyi Посмотреть сообщение
как ни бьюсь - ChartTimePriceToXY работает только для главного окна. То есть вне зависимости от параметра subwindow возвращает координаты соотв. основному окну. Билд MT4 840.
Думаю вы не правильно понимаете принципы программирования на MQL. По сути разработчики MQL - MetaQuotes закрыли свой API для пользователей. В связи с этим весь функционал написанный для MQL - это "обертки". Т.е. MQ нам предоставили готовые функции на основе которых программист пишет свои функции "обертки" либо классы "обертки", по принципу функций WinAPI и библиотеки MFC на C++. Я это разъяснил к тому, что нет прямого заменителя указанной вами функции. Ну и в довесок - эту функцию вы используете не правильно. Вот выдержка из справки:
MQL код:

ChartTimePriceToXY - преобразует координаты графика из представления время/цена в координаты по оси X и Y.

bool ChartTimePriceToXY(
long chart_id, // идентификатор графика
int sub_window, // номер подокна
datetime time, // время на графике
double price, // цена на графике
int& x, // координата X для времени на графике
int& y // координата Y для цены на графике
);

Параметры:
chart_id
[In] Идентификатор графика. 0 означает текущий график.
sub_window
[In] Номер подокна графика. 0 означает главное окно графика.
time
[In] Значение времени на графике, для которого будет получено значение в пикселах на оси X. Начало координат находится в левом верхнем углу главного окна графика.
price
[In] Значение цены на графике, для которого будет получено значение в пикселах на оси Y. Начало координат находится в левом верхнем углу главного окна графика.
x
[out] Переменная, в которую будет получено преобразование времени в координату X.
y
[out] Переменная, в которую будет получено преобразование цены в координату Y.

Возвращаемое значение - возвращает true в случае успешного выполнения, иначе false. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

т.е. параметр sub_window это подокно на конкретном чарте. Поэтому уточните какой результат вы хотите получить, по всей видимости не правильно применяете функцию, т.к. этой функцией работаю с координатами на основном чарте и на соседних чартах, проблем не наблюдал.
01.10.2015, 11:42
Лучший ответ
Накопленные выплаты: 20203 RUB
Сообщение от coder-ex Посмотреть сообщение
т.е. параметр sub_window это подокно на конкретном чарте. Поэтому уточните какой результат вы хотите получить, по всей видимости не правильно применяете функцию, т.к. этой функцией работаю с координатами на основном чарте и на соседних чартах, проблем не наблюдал.
Параметр chart_id, это идентификатор чарта, ставим 0, работаем с текущим чартом, независимо то его настоящего id. sub_window - номер подокна, 0 - текущее окно, 1 и более - окна индикаторов в подвале. Так вот, у него функция не работает с подокном. Странно...
  • #1 Свернуть

    ChartTimePriceToXY для подокна

    как ни бьюсь - ChartTimePriceToXY работает только для главного окна. То есть вне зависимости от параметра subwindow возвращает координаты соотв. основному окну. Билд MT4 840.

    Поделитесь функцией (наверняка у кого-то есть) которая (в отличии от оригинала) работает корректно.
  • <a href="https://www.instaforex.org/ru/?x=ruforum">InstaForex</a>
  • #2 Свернуть

    Сообщение от nektomk Посмотреть сообщение
    как ни бьюсь - ChartTimePriceToXY работает только для главного окна
    Это вам лучше обратиться к разработчикам, наверняка в функции какой-нибудь глюк (побочный результат очередного билда)...
    Программы для трейдинга
    Harmonic ABCD Monitor - все сигналы на одном экране
    Опережающий индикатор Super Bollinger Bands

    Комментарий

    • #3 Свернуть

      как ни бьюсь - ChartTimePriceToXY работает только для главного окна. То есть вне зависимости от параметра subwindow возвращает координаты соотв. основному окну. Билд MT4 840.

      Комментарий

      • #4 Свернуть

        Сообщение от malevannyi Посмотреть сообщение
        как ни бьюсь - ChartTimePriceToXY работает только для главного окна. То есть вне зависимости от параметра subwindow возвращает координаты соотв. основному окну. Билд MT4 840.
        Думаю вы не правильно понимаете принципы программирования на MQL. По сути разработчики MQL - MetaQuotes закрыли свой API для пользователей. В связи с этим весь функционал написанный для MQL - это "обертки". Т.е. MQ нам предоставили готовые функции на основе которых программист пишет свои функции "обертки" либо классы "обертки", по принципу функций WinAPI и библиотеки MFC на C++. Я это разъяснил к тому, что нет прямого заменителя указанной вами функции. Ну и в довесок - эту функцию вы используете не правильно. Вот выдержка из справки:
        MQL код:

        ChartTimePriceToXY - преобразует координаты графика из представления время/цена в координаты по оси X и Y.

        bool ChartTimePriceToXY(
        long chart_id, // идентификатор графика
        int sub_window, // номер подокна
        datetime time, // время на графике
        double price, // цена на графике
        int& x, // координата X для времени на графике
        int& y // координата Y для цены на графике
        );

        Параметры:
        chart_id
        [In] Идентификатор графика. 0 означает текущий график.
        sub_window
        [In] Номер подокна графика. 0 означает главное окно графика.
        time
        [In] Значение времени на графике, для которого будет получено значение в пикселах на оси X. Начало координат находится в левом верхнем углу главного окна графика.
        price
        [In] Значение цены на графике, для которого будет получено значение в пикселах на оси Y. Начало координат находится в левом верхнем углу главного окна графика.
        x
        [out] Переменная, в которую будет получено преобразование времени в координату X.
        y
        [out] Переменная, в которую будет получено преобразование цены в координату Y.

        Возвращаемое значение - возвращает true в случае успешного выполнения, иначе false. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

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

        Комментарий

        • #5 Свернуть

          Сообщение от coder-ex Посмотреть сообщение
          т.е. параметр sub_window это подокно на конкретном чарте. Поэтому уточните какой результат вы хотите получить, по всей видимости не правильно применяете функцию, т.к. этой функцией работаю с координатами на основном чарте и на соседних чартах, проблем не наблюдал.
          Параметр chart_id, это идентификатор чарта, ставим 0, работаем с текущим чартом, независимо то его настоящего id. sub_window - номер подокна, 0 - текущее окно, 1 и более - окна индикаторов в подвале. Так вот, у него функция не работает с подокном. Странно...
          Программы для трейдинга
          Harmonic ABCD Monitor - все сигналы на одном экране
          Опережающий индикатор Super Bollinger Bands

          Комментарий

          • #6 Свернуть

            Сообщение от Mihey85 Посмотреть сообщение
            Параметр chart_id, это идентификатор чарта, ставим 0, работаем с текущим чартом, независимо то его настоящего id. sub_window - номер подокна, 0 - текущее окно, 1 и более - окна индикаторов в подвале. Так вот, у него функция не работает с подокном. Странно...
            У меня все работает и с окнами и с подокнами, пусть код свой приведет сюда, тогда и будет разговор.
            И кстати не мешало бы все таки сам вопрос уточнить, что именно не работает и какой хочет получить результат. Мы же не телепаты В общем код в студию и будем обсуждать.

            Комментарий

            • #7 Свернуть

              Сообщение от coder-ex Посмотреть сообщение
              У меня все работает и с окнами и с подокнами
              Тогда, хотелось бы узнать, какой у вас билд? А то, была у меня одна проблема с удалением объектов с графика. С выходом очередного билда, моя функция стала удалять не все объекты. Я предоставил код разработчикам, в результате они порекомендовали мне сделать обратный цикл, чтобы объекты удалялись в обратном порядке. Так, что проблема может быть не только в коде.
              Программы для трейдинга
              Harmonic ABCD Monitor - все сигналы на одном экране
              Опережающий индикатор Super Bollinger Bands

              Комментарий

              • #8 Свернуть

                Сообщение от Mihey85 Посмотреть сообщение
                Тогда, хотелось бы узнать, какой у вас билд? А то, была у меня одна проблема с удалением объектов с графика. С выходом очередного билда, моя функция стала удалять не все объекты. Я предоставил код разработчикам, в результате они порекомендовали мне сделать обратный цикл, чтобы объекты удалялись в обратном порядке. Так, что проблема может быть не только в коде.
                МТ4 880 и 890, но и с другими билдами подобной проблемы не наблюдал, МТ5 1150 и то же касается других билдов - проблем в этой функции не наблюдал.
                Про удаление объектов с графика - это ведь другая проблема, у нас есть конкретный вопрос правда не четко сформулированный

                Комментарий

                • #9 Свернуть

                  Сообщение от coder-ex Посмотреть сообщение
                  МТ4 880 и 890
                  Интересно, как это у вас одновременно два билда? Ведь терминал всегда автоматически обновляется до последнего билда.

                  Сообщение от coder-ex Посмотреть сообщение
                  Про удаление объектов с графика - это ведь другая проблема
                  Говоря об удалении обьектов я просто привожу пример, который свидетельствует о том, как может измениться поведение терминала с выходом следующего билда, что-то может работать неправильно или вовсе не работать.
                  Программы для трейдинга
                  Harmonic ABCD Monitor - все сигналы на одном экране
                  Опережающий индикатор Super Bollinger Bands

                  Комментарий

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

                    Mihey85,
                    Интересно, как это у вас одновременно два билда? Ведь терминал всегда автоматически обновляется до последнего билда.
                    вариантов много, один из них на VPS v890, на гостевой ОС v880 и v890 - поставил запрет на обновление и все... Кстати за это спасибо Microsoft, раньше постоянно отключал UAC теперь не отключаю и вижу плоды его использования...
                    Говоря об удалении обьектов я просто привожу пример, который свидетельствует о том, как может измениться поведение терминала с выходом следующего билда, что-то может работать неправильно или вовсе не работать.
                    ну на разных версиях платформы MetaTrader я вам массу глюков найду это ведь MetaQuotes, они решили стать первопроходцами и создать свой ЯП, им это удалось, только любой ЯП будет развиваться и совершенствоваться исправляя свои баги при большом числе разработчиков, а MQL все таки проприетарная и там программистов не так много как в C# к примеру...
                    PS. кстати ваш ответ как раз подтверждает то, что нужно использовать то что описано стандартом по описанным правилам, а если использовать описанное стандартом в нарушение этих правил, то в итоге мы наблюдаем неоднозначное поведение в разных билдах

                    Комментарий

                    X