Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1440
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Рад тому , что и я хоть чем то смог Вам помочь :=) :=) :=)
Теперь по поводу моего кода , который наверное настолько плох что в нем неприятно копаться. Но скажите хотя бы в чем было бы преимущество моего кода, если бы я записал единственный массив (со значениями цены) этого кода в файл, а потом программа читала бы его из этого файла и использовала его значения в дальнейших вычислениях ? Причем массив всего из 60 элементов. Что конкретно в моем коде стало бы оптимальнее?Спасибо за помощь.
Дело не в качестве кода. Я не смотрю любой чужой код. За исключением того, который нужен мне или в агонии приступа благотворительности, :=))) но это происходит всё реже и реже…
Если хотите, можете описать словами, что надо в результате и что для этого вы сделали. Тогда будет понятно на сколько правильно направление решения задачи.
или в агонии приступа благотворительности, :=))) ....
А когда будет очередной приступ ??? :=))) Я читал , что обострения бывают именно ранней весной. :=))) Хотелось бы , что бы Ваша ремиссия быстрее закончилась. :=)))
А приступы были как можно чаше..... :=)))
Спасибо за подсказку. Я уже начал читать раздел ФАЙЛОВЫЕ ОПЕРАЦИИ из учебника Ковалева . Действительно... кое что начинает по немного проясняться. Понял что все советники которых я тестирую читают текстовые файлы со значениями цен баров (созданные правда не моей программой) с расширением .cvv, которые лежат в Каталоге терминала Тестер.
То есть в файл записывается информация(данные) из любой программы и читаются эти данные из файла, так же любой программой. Как мне показалось в файлы записываются большие количества данных которые не целесообразно хранить в самой программе. Что то типа подключаемого файла mqh.
Если Вам не сложно можете мне объяснить что означает фраза Алексея Викторова ".... А вы хотите писать .csv и читать в массив....." из поста #14384 применительно к моему коду из поста #14382
Как мне показалось он имеет в виду текстовый файл .cvv, с ценами баров из каталога Тестер. А вот что конкретно он имеет в виду я пока не пониманию. Ведь эти файлы .cvv пишу не я, а программа дилера Альпари... Как программа читает ИЗ массива - я в общих чертах немного понимаю ... обращается к ячейке массива по ее адресу , проникает во внутрь ячейки и получает доступ к значению ячейки( то есть читает его). А как программа может читать В массив , а не ИЗ массива? Это какое то неразрешимое противоречие....как мне кажется на мой дилетантский взгляд. Мне почему то кажется что В массив можно только записывать какие то значения. А читать можно только ИЗ массива
Запись массива в бинфайл у Ковалева нет. Учебник 2009 года. Там только бинфайлы были. А массив в файл бин позже появилось. Бин файлы пишутся и читаются быстрее. В них нет переводов строк. Но они не читабельны для людей)
Запись массива в бинфайл у Ковалева нет. Учебник 2009 года. Там только бинфайлы были. А массив в файл бин позже появилось. Бин файлы пишутся и читаются быстрее. В них нет переводов строк. Но они не читабельны для людей)
Спасибо Вам большое за новую для меня информацию. И я ее понял процентов на 50.... и если буду уверен что мне это нужно на данном этапе моего развития , изучу эту тему досканально.
Но сейчас я зациклен на своем небольшом коде #14382 при помощи которого пытаюсь с наименьшими затратами времени и других ресурсов компьютера и программы, найти минимум цены между 2 соседними ордерами открытыми на одной минутной свече с разницей в 2 пункта. Для этого я создал массив. Меня здесь пытаются убедить, что этот массив нужно при помощи функции записывать в файл и потом при помощи другой функции получать данные из этого файла( то есть из массива) для последующих вычислений.
Но скажите в чем было бы преимущество именно моего кода, если бы я записал единственный массив (со значениями цены) этого кода в файл, а потом программа читала бы его из этого файла и использовала его значения в дальнейших вычислениях ? Причем массив всего из 60 элементов. Что конкретно в моем коде стало бы оптимальнее?
Естественно в ходе тестирования, таких ордеров внутри минутных свечей ,между которыми нужно будет вычислить минимум, будет много. В моем коде просто иллюстрация пришедшей мне идеи.
Алексей Викторов не может мне ответить на этот вопрос потому что к нему еще не пришел приступ благотворительности .... и с ним не случилась агония и конвульсии в связи с этим :=).
Может быть у Вас уже созрели все предпосылки для того что бы помочь мне продвинуться вперед.
Спасибо за помощь.
сложно понять создателя Грааля. Можно передать все расчёты Индикатору и получать сигнал в Эксперт.
Спасибо Вам большое за новую для меня информацию. И я ее понял процентов на 50.... и если буду уверен что мне это нужно на данном этапе моего развития , изучу эту тему досканально.
Но сейчас я зациклен на своем небольшом коде #14382 при помощи которого пытаюсь с наименьшими затратами времени и других ресурсов компьютера и программы, найти минимум цены между 2 соседними ордерами открытыми на одной минутной свече с разницей в 2 пункта. Для этого я создал массив. Меня здесь пытаются убедить, что этот массив нужно при помощи функции записывать в файл и потом при помощи другой функции получать данные из этого файла( то есть из массива) для последующих вычислений.
Но скажите в чем было бы преимущество именно моего кода, если бы я записал единственный массив (со значениями цены) этого кода в файл, а потом программа читала бы его из этого файла и использовала его значения в дальнейших вычислениях ? Причем массив всего из 60 элементов. Что конкретно в моем коде стало бы оптимальнее?
Естественно в ходе тестирования, таких ордеров внутри минутных свечей ,между которыми нужно будет вычислить минимум, будет много. В моем коде просто иллюстрация пришедшей мне идеи.
Алексей Викторов не может мне ответить на этот вопрос потому что к нему еще не пришел приступ благотворительности .... и с ним не случилась агония и конвульсии в связи с этим :=).
Может быть у Вас уже созрели все предпосылки для того что бы помочь мне продвинуться вперед.
Спасибо за помощь.
Немного не понятна логика. Зачем писать в массив пару данных. их можно в переменные записать. Массив это когда много однотипных переменных. А если из меньше 5, можно и в переменные запомнить. Зачем сохраненные данные в массиве писать в файл, что бы потом его считывать в этом же советнике. Они и так доступны. Пишут в файл для обмена между разными советниками, или дальнейшей обработки, не в этом советнике. К тому же массив всегда глобален, если не ошибаюсь.
Спасибо Вам большое за новую для меня информацию. И я ее понял процентов на 50.... и если буду уверен что мне это нужно на данном этапе моего развития , изучу эту тему досканально.
Но сейчас я зациклен на своем небольшом коде #14382 при помощи которого пытаюсь с наименьшими затратами времени и других ресурсов компьютера и программы, найти минимум цены между 2 соседними ордерами открытыми на одной минутной свече с разницей в 2 пункта. Для этого я создал массив. Меня здесь пытаются убедить, что этот массив нужно при помощи функции записывать в файл и потом при помощи другой функции получать данные из этого файла( то есть из массива) для последующих вычислений.
Но скажите в чем было бы преимущество именно моего кода, если бы я записал единственный массив (со значениями цены) этого кода в файл, а потом программа читала бы его из этого файла и использовала его значения в дальнейших вычислениях ? Причем массив всего из 60 элементов. Что конкретно в моем коде стало бы оптимальнее?
Естественно в ходе тестирования, таких ордеров внутри минутных свечей ,между которыми нужно будет вычислить минимум, будет много. В моем коде просто иллюстрация пришедшей мне идеи.
Алексей Викторов не может мне ответить на этот вопрос потому что к нему еще не пришел приступ благотворительности .... и с ним не случилась агония и конвульсии в связи с этим :=).
Может быть у Вас уже созрели все предпосылки для того что бы помочь мне продвинуться вперед.
Спасибо за помощь.
Начало уже так далеко, что ответить в подробностях достаточно сложно… Но всё-же попробую поумничать…
Если я правильно помню, надо определить когда образовался Low свечи на которой открылся ордер. Когда эта свеча текущая, то нет проблем: открылся ордер в переменную суём меньшее из двух чисел и это продолжаем до закрытия свечи. Но если надо будет определить это когда уже эта свеча стала 10ой, то это уже для mql4 проблема. Это в mql5 совсем просто сделать, достаточно скопировать тики «от и до» указанного времени и в этом массиве всё что надо есть. А для mql4 вам предложили писать тики в файл, чтобы потом можно было получить эти тики и в этом массиве тиков уже определить, если Low той свечи меньше минимального значения в массиве, значит Low был до открытия ордера. Если-же равны, то Low образовался после открытия ордера.
Хотя… если советник работает, то достаточно сразу определять в переменную, как сказано тут, для этого есть функция о которой можно прочесть в документации в разделе «Математические функции» А если советник по какой-то причине не работает, то и тики не запишет и даже не получит.
Начало уже так далеко, что ответить в подробностях достаточно сложно… Но всё-же попробую поумничать…
Если я правильно помню, надо определить когда образовался Low свечи на которой открылся ордер. Когда эта свеча текущая, то нет проблем: открылся ордер в переменную суём меньшее из двух чисел и это продолжаем до закрытия свечи. Но если надо будет определить это когда уже эта свеча стала 10ой, то это уже для mql4 проблема. Это в mql5 совсем просто сделать, достаточно скопировать тики «от и до» указанного времени и в этом массиве всё что надо есть. А для mql4 вам предложили писать тики в файл, чтобы потом можно было получить эти тики и в этом массиве тиков уже определить, если Low той свечи меньше минимального значения в массиве, значит Low был до открытия ордера. Если-же равны, то Low образовался после открытия ордера.
Хотя… если советник работает, то достаточно сразу определять в переменную, как сказано тут, для этого есть функция о которой можно прочесть в документации в разделе «Математические функции» А если советник по какой-то причине не работает, то и тики не запишет и даже не получит.
Спасибо Вам большое за новую для меня информацию....особенно по поводу возможностей mql4 в сравнении с mql5 применительно к данному случаю. Но , как это ни странно задачу которую Вы описываете я решил сам и способ ее решения поразил меня самого своей оригинальностью и оптимальностью.
После этого передо мной встала другая похожая задача сформулированная в этом посте #14373 Мне посоветовали записывать тики в файл #14375 , #14379
Вместо записи тиков в файл , я создал код который решает мою задачу без записи тиков в файл #14382 При помощи этого кода я пытаюсь с наименьшими затратами времени и других ресурсов компьютера и программы, найти минимум цены между 2 соседними ордерами открытыми на одной минутной свече с разницей в 2 пункта. Естественно в ходе тестирования, таких ордеров внутри минутных свечей ,между которыми нужно будет вычислить минимум, будет много. В моем коде просто иллюстрация пришедшей мне идеи.
И теперь меня интересует ответ на такой вопрос В чем было бы преимущество именно моего кода, если бы я записал тики в файл, как мне тут посоветовали в том числе и Вы ? Что конкретно в моем коде стало бы оптимальнее?
На этот вопрос пролил свет Valeriy Yastremskiy #14400 Но мне хотелось бы выслушать мнение того кто советовал мне записывать тики в файл.
Спасибо з помощь
Немного не понятна логика. Зачем писать в массив пару данных. их можно в переменные записать. Массив это когда много однотипных переменных. А если из меньше 5, можно и в переменные запомнить. Зачем сохраненные данные в массиве писать в файл, что бы потом его считывать в этом же советнике. Они и так доступны. Пишут в файл для обмена между разными советниками, или дальнейшей обработки, не в этом советнике. К тому же массив всегда глобален, если не ошибаюсь.
Спасибо за совет. Согласен, иногда тиков может быть 5 и меньше. Но в одной минутной свече тиков может быть намного больше чем секунд и их количество между соседними ордерами тоже может быть намного больше 5.
Особенно меня порадовало то, что мои мысли совпали с выделенным красным. Но я был в них не уверен, поскольку более опытные товарищи усиливали мою неуверенность.
Спасибо Вам большое за новую для меня информацию....особенно по поводу возможностей mql4 в сравнении с mql5 применительно к данному случаю. Но , как это ни странно задачу которую Вы описываете я решил сам и способ ее решения поразил меня самого своей оригинальностью и оптимальностью.
После этого передо мной встала другая похожая задача сформулированная в этом посте
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
ANDREY, 2021.04.09 14:38
Но у меня есть еще один вопрос по этой теме.
Вот открылся ордер на минутной свече по цене Х . Через несколько секунд на этой же свече открылся еще один ордер по цене Х+2 пункта. Между Х и Х+2 есть минимум цены.
И мне нужно узнать этот минимум. Если бы речь шла о разных свечах я воспользовался бы функциями iLow и iLowest
Но в этих функциях в качестве границ интервала нужно указывать бары. А у меня границы интервала не бары , а цены Х и Х+2 поскольку бар - только один.
Я знаю как выявить нужный мне минимум. Но для этого нужно на каждом тике отслеживать значение цены. Знаю так же как это сделать при помощи цикла в момент образования Х+2 А как это сделать сразу за один раз во время образования Х+2 как в случае с применением iLow и iLowest(сразу и за один раз).
Буду Вам очень признателен если научите меня этому.
Спасибо
Мне посоветовали записывать тики в файл
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
MakarFX, 2021.04.09 17:17
Записывать тики в файлФорум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Alexey Viktorov, 2021.04.09 18:33
Можно. Только надо писать в .bin файл функцией
и читать
Вместо записи тиков в файл , я создал код который решает мою задачу без записи тиков в файл
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
ANDREY, 2021.04.09 20:37
Спасибо за ценный совет. Сейчас я читаю документацию только параллельно написанием кода, когда сталкиваюсь с каким то вопросом на который не знаю ответ. По ходу написания прошлых кодов с необходимостью записи данных в файлы я никогда не сталкивался, поэтому для меня это абсолютно новая тема.
Скажите , а разве нельзя мою идею реализовать проще, без записи в файл? Как в моем коде. Это не рабочий код а для иллюстрации моей идеи того как найти минимум между соседними ордерами открывшимися на одной минутной свече
Спасибо за помощь
То есть я записывал цены каждого тика сразу в массив , а не в файл.
При помощи этого кода я пытаюсь с наименьшими затратами времени и других ресурсов компьютера и программы, найти минимум цены между 2 соседними ордерами открытыми на одной минутной свече с разницей в 2 пункта. Естественно в ходе тестирования, таких ордеров внутри минутных свечей ,между которыми нужно будет вычислить минимум, будет много. В моем коде просто иллюстрация пришедшей мне идеи.
И теперь меня интересует ответ на такой вопрос В чем было бы преимущество именно моего кода, если бы я записал тики в файл, как мне тут посоветовали в том числе и Вы ? Что конкретно в моем коде стало бы оптимальнее?
На этот вопрос пролил свет Valeriy Yastremskiy #14400 Но мне хотелось бы выслушать мнение того кто советовал мне записывать тики в файл.
Спасибо з помощь
Чтобы не напрягать пытающихся помочь, в частности меня, лучше положить сообщение «в карман» и вставить его вместо ссылки на него.
Теперь по поводу этой проблемы: Открылся ордер №1… в этот момент Low конечно ниже цены открытия ордера. Ну и флаг ему в руки…
Открылся ордер №2 и вот тут надо-бы контролировать цену……… Опять пользуясь математической функцией fmin() пишем в переменную значение до закрытия свечи. Как только свеча закрылась прекращаем контроль цены, он нам не нужен уже. А полученное значение будет минимальной ценой в промежутке времени от открытия второго ордера до закрытия свечи. Или я чего-то не так понял…