Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2289

 
Alexey Viktorov #:

Зачем правое ухо чесать мизинцем левой ноги¿¿¿ Гораздо проще писать в общую папку. Достаточно прописать FILE_COMMON

ну у каждого свои понятия об идеальном порядке. Коммон это как то жестко из своей песочницы вылезать, к тому же когда пишут несколько терминалов, еще и префиксы различия нужны будут, которые автоматом тоже заковыка получить. Имя брокера конечно можно прочитать из ини файла, но туда добраться штатно не получится.

для одного терминала конечно выход общая папка для всех песочниц)))

 

Подскажите как попроще организовать чтение сигнала прописанного в файле по времени бара для тестера.

Есть кастомный символ на своих данных и в столбце объема прописан сигнал +1 0 -1. Ордера выставляются при смене сигнала. 0 1 бай, 0 -1 селл, 1 -1 закрыть бай позицию, открыть селл

Можно конечно запрашивать вольюм и не парится. 

Но хочется продумать как попроще сделать алгоритм чтения из файла сигнала записанного по времени бара.

Сходу как то громоздко получается. 

Читаем время, если время раньше читаем дальше время, если время равно, читаем сигнал, если полученное из файла время позже, то на следующем баре читаем на той же позиции . т.е. возвращаем позицию чтения на начало строки. или записываем это время в переменную и ждем условия равенства или когда станет меньше время из файла с текущим.

Как то сложно.

<DATE>          <TIME>          <OPEN>  <HIGH>  <LOW    <CLOSE> <TICKVOL>       <VOL>   <SPREAD>
2023.10.11      14:14:00        1.06036 1.06045 1.06022 1.06022 114              0      0
2023.10.11      14:15:00        1.06022 1.06027 1.0601  1.06027 102             -1      0
 
Valeriy Yastremskiy #:

ну у каждого свои понятия об идеальном порядке. Коммон это как то жестко из своей песочницы вылезать, к тому же когда пишут несколько терминалов, еще и префиксы различия нужны будут, которые автоматом тоже заковыка получить. Имя брокера конечно можно прочитать из ини файла, но туда добраться штатно не получится.

для одного терминала конечно выход общая папка для всех песочниц)))

Абсолютно никаких проблем не составляет создать в коммон папку\подпапку\ещё подпапку и до тех пор пока не будешь понимать от какого советника где лежит файл. И всё это НЕ В РУЧНУЮ!

 
Valeriy Yastremskiy #:

Подскажите как попроще организовать чтение сигнала прописанного в файле по времени бара для тестера.

Наверное проще не только для тестера, но и для online при запуске переписать файл в bd SQLite. 

 
Alexey Viktorov #:

Наверное проще не только для тестера, но и для online при запуске переписать файл в bd SQLite. 

Пока не готов) можно в массив также кусками. Не, вопрос как легче с чтением из файла. Синхронизация пр времени и поддержка этой синхронизации) 
 
Valeriy Yastremskiy #:
Пока не готов) можно в массив также кусками. Не, вопрос как легче с чтением из файла. Синхронизация пр времени и поддержка этой синхронизации) 

в чём конкретно проблема ?

прочли csv (или sql), отсортировали по времени, все что было в прошлом удалили...ждём первого наступившего отсчёта и действуем

проблемы могут быть разве что от разницы часовых поясов (GMT) и по которому времени отмерятся (по localtime по servertime по time[0])

в какие-то древние времена публиковал код Scheduler - планирование действий на будущее время. Можете поискать (хотя в CodeBase и Блогах помойка, бесполезно, есть ощущение что ещё и периодично удаляют)..

проще написать поновой, это несложно

 
Alexey Viktorov #:

Абсолютно никаких проблем не составляет создать в коммон папку\подпапку\ещё подпапку и до тех пор пока не будешь понимать от какого советника где лежит файл. И всё это НЕ В РУЧНУЮ!

Это уже вручную, одинаковый код создаст те же папки от разных брокеров. Так и префиксы имён файлов с названиями брокеров легче прописать. Каммон папка это все таки для меж терминального общения или с внешним миром общение. Тогда уж название папки, где лежит екзешник терминала более логичное решение от Третьякова Ростислава будет. 
 
Maxim Kuznetsov #:

в чём конкретно проблема ?

прочли csv (или sql), отсортировали по времени, все что было в прошлом удалили...ждём первого наступившего отсчёта и действуем

проблемы могут быть разве что от разницы часовых поясов (GMT) и по которому времени отмерятся (по localtime по servertime по time[0])

в какие-то древние времена публиковал код Scheduler - планирование действий на будущее время. Можете поискать (хотя в CodeBase и Блогах помойка, бесполезно, есть ощущение что ещё и периодично удаляют)..

проще написать поновой, это несложно

Дельно) спасибо, туплю) прошлое ж нам не нужно, можно и нужно удалить)  
Мне для теста кастома нужно. Планировщик Реала как раз проблем не вызывает) 
 
Valeriy Yastremskiy #:
Это уже вручную, одинаковый код создаст те же папки от разных брокеров. Так и префиксы имён файлов с названиями брокеров легче прописать. Каммон папка это все таки для меж терминального общения или с внешним миром общение. Тогда уж название папки, где лежит екзешник терминала более логичное решение от Третьякова Ростислава будет. 

А кто запрещает в путь файла написать имя брокера? И получится

c:\Users\ИМЯ_КОМПА\AppData\Roaming\MetaQuotes\Terminal\Common\Files\имя брокера\номер счёта\имя советника\магик\валютная пара\имя любимой собачки\имя любимой кошечки и так далее… 

FileOpen(имя брокера\номер счёта\имя советника\магик\валютная пара\имя любимой собачки\имя любимой кошечки\имя файла.csv, ………………); Соответственно не забыть прописать все необходимые флаги.

НО!!! Окончательное решение вы принимаете сами. Так в случае неудачи некого будет ругать.
 
Alexey Viktorov #:

А кто запрещает в путь файла написать имя брокера? И получится

c:\Users\ИМЯ_КОМПА\AppData\Roaming\MetaQuotes\Terminal\Common\Files\имя брокера\номер счёта\имя советника\магик\валютная пара\имя любимой собачки\имя любимой кошечки и так далее… 

FileOpen(имя брокера\номер счёта\имя советника\магик\валютная пара\имя любимой собачки\имя любимой кошечки\имя файла.csv, ………………); Соответственно не забыть прописать все необходимые флаги.

НО!!! Окончательное решение вы принимаете сами. Так в случае неудачи некого будет ругать.

я про это и говорю, префикс различия по брокеру в имени файла. Но это вручную прописывать. Брокера можно узнать так же из ини файла в корне песочницы, но вот штатно его прочитать не получится. Остальное штатно получить можно.

Причина обращения: