+ Ответить в теме
Страница 2 из 4 ПерваяПервая 1 2 3 4 ПоследняяПоследняя
Показано с 11 по 20 из 33

Тема: Как получить объемы из индикатора Премиум в свой робот.

  1. #11
    daolien@mail.ru
    Гость
    Вот такая конструкция while работает стабильно:
    void CheckVOLUMES ()
    {
    int t;
    int RequestNum = 10;

    VOLUMES_SetData();
    while(t<RequestNum && !VOLUMES_INIT)
    {
    Sleep(200);
    VOLUMES_GetData();
    }
    if (VOLUMES_INIT) {Alert(Time[3]," ",DELTA_by_index(3));} // <-- for testing purposes
    // VOLUMES_INIT is a signal that we have first package of volumes
    }
    На всякий случай число запросов ограничено переменной. Данные получены четко по 3 бару! Пока полет нормальный, буду дальше творить. Спасибо большое Deniss!

  2. #12
    ClusterDelta.com Team
    Регистрация
    27.10.2011
    Сообщений
    4,258
    Сказал(а) спасибо
    473
    Поблагодарили 2,158 раз(а) в 1,129 сообщениях
    Цитата Сообщение от daolien@mail.ru Посмотреть сообщение
    Вот такая конструкция while работает стабильно:
    void CheckVOLUMES ()
    {
    int t;
    int RequestNum = 10;

    VOLUMES_SetData();
    while(t<RequestNum && !VOLUMES_INIT)
    {
    Sleep(200);
    VOLUMES_GetData();
    }
    if (VOLUMES_INIT) {Alert(Time[3]," ",DELTA_by_index(3));} // <-- for testing purposes
    // VOLUMES_INIT is a signal that we have first package of volumes
    }
    На всякий случай число запросов ограничено переменной. Данные получены четко по 3 бару! Пока полет нормальный, буду дальше творить. Спасибо большое Deniss!
    Будьте внимательны с функцией Sleep - она не всегда работает. Лучше отслеживать по таймеру самостоятельно.

  3. #13
    Пользователь
    Регистрация
    25.03.2017
    Сообщений
    2
    Сказал(а) спасибо
    1
    Поблагодарили 0 раз(а) в 0 сообщениях
    Всем доброго времени суток. Подскажите можно ли таким образом получить значения объема в свой индикатор, интересует больше история. Заранее спасибо.

  4. #14
    ClusterDelta.com Team
    Регистрация
    27.10.2011
    Сообщений
    4,258
    Сказал(а) спасибо
    473
    Поблагодарили 2,158 раз(а) в 1,129 сообщениях
    Цитата Сообщение от alexzt Посмотреть сообщение
    Всем доброго времени суток. Подскажите можно ли таким образом получить значения объема в свой индикатор, интересует больше история. Заранее спасибо.
    Можно получить, записать в файл и потом подтягивать из файла.

  5. Пользователь сказал cпасибо: alexzt
  6. #15
    Пользователь
    Регистрация
    28.08.2020
    Сообщений
    3
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    Do you have the code in mt5? i tried to load it but the code errors

  7. #16
    Пользователь
    Регистрация
    18.10.2015
    Сообщений
    2
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    Добрый вечер. Программист я так себе(((. Не совсем понимаю , как достать эти объемы (к примеру в другой индикатор) . Использую код который вы дали. Вставил шапку

    #property indicator_separate_window
    #property indicator_buffers 1
    #property indicator_color1 Red
    #property indicator_width1 1
    #property indicator_style1 0

    Вместо OnTick() вставил int OnCalculate(...) и SetIndexBuffer (0,VOLUME_Array);

    В результате индикатор рисует Объемы задом наперед. Попробовал в int ArrayBsearchCorrect() и void SortDictionary() изменить параметр MODE_ASCEND на MODE_DESCEND.
    Направление отрисовки стало совпадать, но в местах отсутствия данных по объему (с 12 до часу ночи) Индикатор выдает всё "одним пучком" - без пробелов, берет данные с предыдущего дня. НО это пол беды , в режиме тестирования всегда "0". Почему так.. не понимаю??? Подскажите , люди добрые
    Изображения

  8. #17
    ClusterDelta.com Team
    Регистрация
    27.10.2011
    Сообщений
    4,258
    Сказал(а) спасибо
    473
    Поблагодарили 2,158 раз(а) в 1,129 сообщениях
    Цитата Сообщение от Nikolass Посмотреть сообщение
    Добрый вечер. Программист я так себе(((. Не совсем понимаю , как достать эти объемы (к примеру в другой индикатор) . Использую код который вы дали. Вставил шапку
    Чтобы достать обьемы нужно взять весь код и перенести в свой индикатор.

    В данном случае VOLUME_Array нужен для того, чтобы по времени найти нужный объем, и к гистограмме этот массив не подойдет.
    Создайте другую таймсерию и тогда уже по каждому бару ищите обьем (на основании времени) из VOLUME_Array и заносите его в таймсерию.

  9. #18
    Пользователь
    Регистрация
    05.12.2016
    Сообщений
    4
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    Здравствуйте, а не могли бы привести код для mt5, чтобы была возможность через icustom цеплять объемы

  10. #19
    ClusterDelta.com Team
    Регистрация
    27.10.2011
    Сообщений
    4,258
    Сказал(а) спасибо
    473
    Поблагодарили 2,158 раз(а) в 1,129 сообщениях
    Цитата Сообщение от zloystudent Посмотреть сообщение
    Здравствуйте, а не могли бы привести код для mt5, чтобы была возможность через icustom цеплять объемы
    Через iCustom не получится, так как вызовы асинхронные. Лучше всего вставлять кусок кода себе.

  11. #20
    Пользователь
    Регистрация
    05.12.2016
    Сообщений
    4
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    Цитата Сообщение от deniss Посмотреть сообщение
    Через iCustom не получится, так как вызовы асинхронные. Лучше всего вставлять кусок кода себе.
    Немного не так выразился) фиг с ним с icustom, есть ли вариант кода для реализации всего этого непотребства на mt5?)

+ Ответить в теме
Страница 2 из 4 ПерваяПервая 1 2 3 4 ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
           

 


(C) 2009-2023 ClusterDelta.com.