Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1246

 
Alexey Viktorov:

А зачем что-то переводить гуглой, если в документации всё по русски написано

И я-бы ваш комментарий перевёл так: «Перемещает указатель файла от начала на 0 байт. Другими словами, в начало файла»

Идентификатор

Описание

SEEK_SET

Начало файла

SEEK_CUR

Текущая позиция файлового указателя

SEEK_END

Конец файла

Здравствуйте, Алексей!

Гуглом переводил смысл словосочетания FileHandle. Хотел понять, что это такое и откуда оно взялось. Хелп не помог, поэтому пришлось обратиться к Гуглу. Когда разобрался, оказалось, что это автор кода сам создал переменную для хранения файла с уникальным указателем. В плане FileSeek и SEEK_SET хелп помог, но только не был понятен смысл всей строки. Теперь, с помощью Вашей подсказки стало ясно для чего это делается в файле с уникальным указателем.

Спасибо Вам большое за то, что помогаете!!!

С уважением, Владимир.

Документация по MQL5: Константы, перечисления и структуры / Константы ввода/вывода / Позиционирование внутри файла
Документация по MQL5: Константы, перечисления и структуры / Константы ввода/вывода / Позиционирование внутри файла
  • www.mql5.com
Большая часть файловых функций связана с операциями чтения/записи информации. При этом с помощью функции FileSeek() можно указывать положение файлового указателя на позицию внутри файла, с которой будет...
 
MrBrooklin:

Здравствуйте, Алексей!

Гуглом переводил смысл словосочетания FileHandle. Хотел понять что это такое и откуда оно взялось. Хелп не помог, поэтому пришлось обратиться к Гуглу. В плане FileSeek и SEEK_SET хелп помог, но только не был понятен смысл всей строки. Теперь, с помощью Вашей подсказки стало ясно для чего это делается в файле с уникальным указателем.

Спасибо Вам большое за то, что помогаете!!!

С уважением, Владимир.

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

Уникальным считается handle файла. Это можно назвать ещё идентификатором. А по сути это обычная переменная. Можете её назвать хоть abrakadabra и присвоить ей хендл файла.

 
Sergey:

Добрый день!

Разбираю код индикатора. Застрял на одной строчке.

Что значит последняя строка и как ее можно переписать проще (понятнее) ?

Она написана куда проще, чем любая другая конструкция. Называется: тернарный оператор

cancl[i] = (acD==1 && aoD==1) ? 0 : (acD==2 && aoD==2) ? 1 : (acD==1 && aoD==2)? 2 : 3;
cancl[i] = if(acD==1 && aoD==1) { 0 } else { if(acD==2 && aoD==2) { 1 else { (acD==1 && aoD==2)? 2 : 3;
Код показал условно, надеюсь, разберётесь дальше 
Документация по MQL5: Основы языка / Операторы / Условный оператор ?:
Документация по MQL5: Основы языка / Операторы / Условный оператор ?:
  • www.mql5.com
В качестве первого операнда – "выражение1" – может быть использовано любое выражение, результатом которого является значение типа bool. Если результат равен , то выполняется третий операнд – "выражениеЗ". Второй и третий операнды, то есть "выражение2" и "выражениеЗ", должны возвращать значения одного типа и не должны иметь тип void. Результатом...
 
Sergey:

Добрый день!

Разбираю код индикатора. Застрял на одной строчке.

Что значит последняя строка и как ее можно переписать проще (понятнее) ?

// cancl[i] = (acD==1 && aoD==1) ? 0 : (acD==2 && aoD==2) ? 1 : (acD==1 && aoD==2)? 2 : 3;

if      (acD==1 && aoD==1)   { cancl[i]=0; }
else if (acD==2 && aoD==2)   { cancl[i]=1; }
else if (acD==1 && aoD==2)   { cancl[i]=2; }
else                         { cancl[i]=3; }

но такое на мой взгляд не проще и не понятней. Зато почти в стиле MT :-) чтобы совсем совсем в стиль попасть - строк должно быть больше и идти должны "лесенкой" :-)

 
Sergey:

Добрый день!

Разбираю код индикатора. Застрял на одной строчке.

Что значит последняя строка и как ее можно переписать проще (понятнее) ?

В документации нормально описано.

Документация по MQL5: Основы языка / Операторы / Условный оператор ?:
Документация по MQL5: Основы языка / Операторы / Условный оператор ?:
  • www.mql5.com
В качестве первого операнда – "выражение1" – может быть использовано любое выражение, результатом которого является значение типа bool. Если результат равен , то выполняется третий операнд – "выражениеЗ". Второй и третий операнды, то есть "выражение2" и "выражениеЗ", должны возвращать значения одного типа и не должны иметь тип void. Результатом...
 
Vitaly Muzichenko:

Она написана куда проще, чем любая другая конструкция. Называется: тернарный оператор

Код показал условно, надеюсь, разберётесь дальше 

Благодарю за пояснения.

 

Всем привет!

Продолжаю изучение языка программирования MQL5. Абсолютно загадочные для меня функции, команды, переменные, массивы и всё тому подобное, из китайских иероглифов постепенно стали превращаться в китайские палочки – уже примерно начинаю представлять для чего они, но пока ещё пользоваться ими не умею.

На данном этапе составил подробное техническое задание для написания простенького советника. При помощи Мастера MQL5 создал шаблон советника и начал постепенно заполнять его кодом. Каждую строчку кода комментирую, чтобы всё постепенно откладывалось в памяти.

Сегодня столкнулся с одной проблемой, а именно: в локальной папке клиентского терминала \Terminal\Common\Files создал файл csv. В ячейке А1 этого файла вручную записал слово «купить». Далее, согласно технического задания, советнику нужно как-то указать, чтобы он считал это слово, преобразовал это слово во что-то удобоваримое и понятное в виде программного кода, понял, что от него требуется, а уж только затем открыл позицию «BUY».

Вот никак не могу подобрать и написать такие ключевые слова в поисковике сайта MQL5, чтобы появились ссылки на нужные статьи или примеры.

Прошу, помогите, пожалуйста, только не готовым кодом, потому что так никогда не пойму язык MQL5, а именно ключевыми словами для поиска! Что написать, как сформулировать запрос для поисковика?

С уважением, Владимир.

Знакомство с MQL5: написание простого советника и индикатора
Знакомство с MQL5: написание простого советника и индикатора
  • www.mql5.com
Язык программирования MetaQuotes Language 5 (MQL5), входящий в торговый терминал MetaTrader 5, обладает новыми возможностями и более высоким быстродействием, по сравнению с языком MetaQuotes Language 4 (MQL4). Эта статья поможет познакомиться с новым языком программирования. В ней приведен пример написания простого советника и индикатора, также...
 
MrBrooklin:

Всем привет!

Продолжаю изучение языка программирования MQL5. Абсолютно загадочные для меня функции, команды, переменные, массивы и всё тому подобное, из китайских иероглифов постепенно стали превращаться в китайские палочки – уже примерно начинаю представлять для чего они, но пока ещё пользоваться ими не умею.

На данном этапе составил подробное техническое задание для написания простенького советника. При помощи Мастера MQL5 создал шаблон советника и начал постепенно заполнять его кодом. Каждую строчку кода комментирую, чтобы всё постепенно откладывалось в памяти.

Сегодня столкнулся с одной проблемой, а именно: в локальной папке клиентского терминала \Terminal\Common\Files создал файл csv. В ячейке А1 этого файла вручную записал слово «купить». Далее, согласно технического задания, советнику нужно как-то указать, чтобы он считал это слово, преобразовал это слово во что-то удобоваримое и понятное в виде программного кода, понял, что от него требуется, а уж только затем открыл позицию «BUY».

Вот никак не могу подобрать и написать такие ключевые слова в поисковике сайта MQL5, чтобы появились ссылки на нужные статьи или примеры.

Прошу, помогите, пожалуйста, только не готовым кодом, потому что так никогда не пойму язык MQL5, а именно ключевыми словами для поиска! Что написать, как сформулировать запрос для поисковика?

С уважением, Владимир.

Сразу из файла торговые приказы читать) это не простенький уже изначально. Поиск работа с файлами первая статья. И третья, но это уже сложнее.

Работа с файлами

Поиск - MQL5.community
Поиск - MQL5.community
  • www.mql5.com
Поиск выполняется с учетом морфологии и без учета регистра. Все буквы, независимо от того, как они введены, будут рассматриваться как строчные. По умолчанию наш поиск показывает страницы...
 
Valeriy Yastremskiy:

Сразу из файла торговые приказы читать) это не простенький уже изначально. Поиск работа с файлами первая статья. И третья, но это уже сложнее.

Работа с файлами

Спасибо, Валерий, за совет, только он получился почему-то в усеченном виде: поиск "Работа с файлами" - это первая статья, потом "бах!" и сразу третья. А какая должна быть вторая статья и третья статья собственно о чём?  Можно поподробнее?

Статью "Работа с файлами" уже изучаю.

С уважением, Владимир.

 
MrBrooklin:

Спасибо, Валерий, за совет, только он получился почему-то в усеченном виде: поиск "Работа с файлами" - это первая статья, потом "бах!" и сразу третья. А какая должна быть вторая статья и третья статья собственно о чём?  Можно поподробнее?

Статью "Работа с файлами" уже изучаю.

С уважением, Владимир.

Поиск ведется не только по статьям, а так же по форуму, кодобазе, блогам. Ранжирование не знаю как. В результатах поиска и статьи, и ветки форума с поисковым запросом выдаются. Сейчас видимо работы на сайте и он часто неадекватно себя ведет. У меня 

https://www.mql5.com/ru/articles/2720  первая статья 2016 года Дмитрия Федосеева. Ее надо читать.

https://www.mql5.com/ru/articles/1382  третья статья 2006 года на МТ4, про работу с файлами и графическими объектами, и логику прочитать не лишне.

Вторая про управление оптимизацией, это откровенно еще рано.

Основы программирования на MQL5: Файлы
Основы программирования на MQL5: Файлы
  • www.mql5.com
Функции для работы с файлами есть почти во всех языках программирования, и MQL5 в этом смысле — не исключение. Хотя при программировании советников и индикаторов на MQL5 работать с использованием файлов приходится не всегда, (а скорее даже — очень редко), но тем не менее, каждый экспертописатель рано или поздно с этим сталкивается. Диапазон...