Для поддержания исторических данных в актуальном "горячем" состоянии, необходимо раз в две минуты обращаться к этим данным при помощи любой из функций CopyXXX, iXXX, например CopyTime(), iTime(), и т.д...
Не знаю каких объёмов у вас не выдаёт в тестере. Есть объёмы реальные, и есть тиковые. Без кода нет возможности ответить по существу.
Код тот же , который скидывал ранее (немного измененный). Копирование тиков:
MqlTick tick_array[];
uint start = GetTickCount();
int received = CopyTicks(_Symbol, tick_array, COPY_TICKS_TRADE, periodStartTime*1000, ticksSizeToCopy);
if(received != -1) {
PrintFormat("%s: received %d ticks in %d ms", _Symbol, received, GetTickCount() - start);
if(GetLastError() != 0)
PrintFormat("%s: таймер Ticks are not synchronized yet, %d ticks received for %d ms. Error=%d",
_Symbol, received, GetTickCount() - start, _LastError);
}
Далее идёт запрос объемов. Например (упрощенно):
int ticks = ArraySize(tick_array);
for (int i = 0; i < ticks; i ++) {
if((tick_array[i].flags&TICK_FLAG_BUY) == TICK_FLAG_BUY) {
if(tick_array[i].volume > max) max = tick_array[i].volume;
}
}
Если цеплять просто на график, то норм. Если в тестере, то почему-то объемов нету...
[in] Количество запрашиваемых тиков. Если параметры from и count не указаны, то в массив ticks_array[] будут записаны все доступные последние тики, но не более 2000. Первый вызов CopyTicks() инициирует синхронизацию базы тиков, хранящихся на жёстком диске по данному символу. Если тиков в локальной базе не хватает, то недостающие тики...
Ваши слова из предыдущего поста :" Для составления алгоритмов, мне кажется, нужна логика. А это далеко не математика. И вот с ней я никак не дружу - только нужный справочный материал и помощь тех, кто дружит".
Artyom Trishkin: Для составления алгоритмов, мне кажется, нужна логика. А это далеко не математика. И вот с ней я никак не дружу - только нужный справочный материал и помощь тех, кто дружит.
Задача программиста не решать сложные задачи, а заставить компьютер это делать за него. Но для этого может понадобиться решать другие сложные задачи, что программист послушно исполняет. :)
ANDREY: Ваши слова из предыдущего поста :" Для составления алгоритмов, мне кажется, нужна логика. А это далеко не математика. И вот с ней я никак не дружу - только нужный справочный материал и помощь тех, кто дружит".
Нет, не так. Вот так:
" Для составления алгоритмов, мне кажется, нужна логика. А это далеко не математика. И вот с ней я никак не дружу - только нужный справочный материал и помощь тех, кто дружит".
По смыслу даже два предложения стоят рядом друг с другом. Но вы свой смысл нашли...
Задача программиста не решать сложные задачи, а заставить компьютер это делать за него. Но для этого может понадобиться решать другие сложные задачи, что программист послушно исполняет. :)
Постановщик задачи конечно рулит. Но он должен быть программистом, чтобы с курса не сбиться))))
Подскажите,пожалуйста. Есть советник, который берет данные (время) из индикатора и считает разницу в миллисекундах между тиками.
Вывожу через алерт и получаю следующее (см. картинку). Как понимаю сначала идет значение общего количества миллисекунд, а потом значения в миллисекундах между 4-мя последними тиками (между 1 и 2, 2 и 3, 3 и 4).
Почему так? Мне нужны только значения по 4-м тикам.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Для поддержания исторических данных в актуальном "горячем" состоянии, необходимо раз в две минуты обращаться к этим данным при помощи любой из функций CopyXXX, iXXX, например CopyTime(), iTime(), и т.д...
Не знаю каких объёмов у вас не выдаёт в тестере. Есть объёмы реальные, и есть тиковые. Без кода нет возможности ответить по существу.
Код тот же , который скидывал ранее (немного измененный). Копирование тиков:
Далее идёт запрос объемов. Например (упрощенно):
Если цеплять просто на график, то норм. Если в тестере, то почему-то объемов нету...
Код тот же , который скидывал ранее (немного измененный). Копирование тиков:
Далее идёт запрос объемов. Например (упрощенно):
Если цеплять просто на график, то норм. Если в тестере, то почему-то объемов нету...
Примечание по функции CopyTicks() прочтите. Насчёт флагов.
Коллеги подскажите почему нельзя поставить 2 или 3 одновременно индикатора ATR с разным временным периодом на один график?
Даже меняя Offset чтобы не было визуальных накладок работает и показывается на графике только один индикатор?
input int InpOffsetX = 10; // Offset X
input int InpOffsetY = 80; // Offset Y
Точнее если поменять ТФ то второй появляется но первый исчезает, поочередно на разных тф все три видны но не все вместе. Порядок не отследить.
Примечание по функции CopyTicks() прочтите. Насчёт флагов.
Где я говорил что не дружу с логикой?
Для составления алгоритмов, мне кажется, нужна логика. А это далеко не математика. И вот с ней я никак не дружу - только нужный справочный материал и помощь тех, кто дружит.
Задача программиста не решать сложные задачи, а заставить компьютер это делать за него. Но для этого может понадобиться решать другие сложные задачи, что программист послушно исполняет. :)
Ваши слова из предыдущего поста :" Для составления алгоритмов, мне кажется, нужна логика. А это далеко не математика. И вот с ней я никак не дружу - только нужный справочный материал и помощь тех, кто дружит".
Нет, не так. Вот так:
" Для составления алгоритмов, мне кажется, нужна логика. А это далеко не математика. И вот с ней я никак не дружу - только нужный справочный материал и помощь тех, кто дружит".
По смыслу даже два предложения стоят рядом друг с другом. Но вы свой смысл нашли...
Задача программиста не решать сложные задачи, а заставить компьютер это делать за него. Но для этого может понадобиться решать другие сложные задачи, что программист послушно исполняет. :)
Постановщик задачи конечно рулит. Но он должен быть программистом, чтобы с курса не сбиться))))
Постановщик задачи конечно рулит. Но он должен быть программистом, чтобы с курса не сбиться))))
В том то и дело, что постановщик он же и исполнитель. Хотя, далеко не всегда.
Подскажите,пожалуйста. Есть советник, который берет данные (время) из индикатора и считает разницу в миллисекундах между тиками.
Вывожу через алерт и получаю следующее (см. картинку). Как понимаю сначала идет значение общего количества миллисекунд, а потом значения в миллисекундах между 4-мя последними тиками (между 1 и 2, 2 и 3, 3 и 4).
Почему так? Мне нужны только значения по 4-м тикам.