Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Также не нужно создавать объект заново при каждом тике, это приведет к появлению в журнале ошибок сообщения 4200 Object already exists, поэтому вместо этого создайте объект в функции on init один раз, а затем вы можете переместить его на нужную дату позже.
чтобы избежать этой проблемы:
Или дополнительно можно предварительно проверить, существует ли уже объект:
ObjectFind(...
Марко, Пол
Большое спасибо за ответ и помощь.
Однако, проблема, с которой я столкнулся сейчас, заключается в том, чтобы преобразовать информацию (дату), которую я получаю из файла и использовать ее для рисования линий.
В коде файл сохраняется как # Lines в разделе файлов MT4, а дата сохраняется, например, 2019.05.18 05:30:00, первым шагом я удаляю последние 3 цифры из даты и рисую линии.
последние 3 цифры из даты и конвертирую ее в 2019.05.18 05:30 ... теперь следующий шаг - то, чего я не могу достичь, чтобы сделать время в формате D'.
Я попробовал следующее
но это не сработало, поэтому я преобразовал строку во время.
В обоих случаях линия создается в 1970.01.01 00:00, так что проблема в том, чтобы преобразовать дату из файла во что-то значимое, что MT4 может использовать для создания v-линии.
Я прилагаю код, возможно вы сможете заметить мою ошибку. В коде я создал две линии, но ни одна из них не создается в дату, которую я получаю из файла.
вы делаете это неправильно, записывая дату между кавычками
как есть:
D'2019.05.18 05:30'
И то, и другое - это время даты. Так же, как
оба являются двойниками.вы делаете это неправильно, записывая дату между кавычками
как есть:
D'2019.05.18 05:30'
Я делаю это, потому что я преобразовываю текст в формат времени, какУильям Редер проиллюстрировал выше. Я не уверен, где моя ошибка, поскольку я сохраняю дату правильно и преобразовываю ее в формат D', но все еще не могу создать строку, хотя если я скопировал дату из файла и вручную создал строку, она переходит в правильную дату.
Я думаю, что вам больше повезет с сохранением и чтением времени как длинных целочисленных значений, таких как секунды с эпохи, вместо этих преобразований строки в дату.
Дата сохраняется с учетом секунд, например, это время, извлеченное из файла 2019.05.19 15:00:00.
Однако во время тестирования я обнаружил, что если я использую дату с секундами, то создается строка1970.01.01, поэтому я удаляю секунды, но все равно не могу создать файл с правильным расположением даты.
В этом случае, я думаю, вы также можете посмотреть на структуру времени:
Вы можете использовать
TimeToStruct()
функцию следующим образом:
Затем вы можете извлечь из нее все желаемые значения.
Это целочисленные значения, поэтому нет необходимости возиться со строками.