Чего не хватает? или не заметил в свойствах...
Это передача на сервер не файла, точнее не копирования а формирования.
Ну, так пишем функцию с входными параметрами TXT и FIleName и пользуем ее ;)
Чего не хватает? или не заметил в свойствах...
Это передача на сервер не файла, точнее не копирования а формирования.
Ну, так пишем функцию с входными параметрами TXT и FIleName и пользуем ее ;)
А подробнее?
-
Верно ли понял что пишем функцию которая пишет файл который потом копируем на сервер?
Смысл? тем более это таки и не проблема реализовать... ;)
-
А вот заслать инфу напрямую, без промежуточного файла, который мы по сути просто копируем,
этого хочется видеть...
Например:
int start() { SendFTP(MarketInfo(Symbol(),MODE_SPREAD), "httpd/publ/spread.html"); GetLastError(); return(0); } // скрипт НЕ для работы !!!
на сервере бы появился файл spread.html
в котором записана посланая инфа, в данном случае величина спреда, например 3
-
Попутно. Решил таки и вопрос почты...
https://www.mql5.com/ru/forum/52554
Оказалось всё проще простого:
после ввода\смены данных в настройках
надо обязательно перезагрузить терминал!
Верно ли понял что пишем функцию которая пишет файл который потом копируем на сервер?
Смысл? тем более это таки и не проблема реализовать... ;)
Верно. А смысл в том, чтоб не перегружать терминал одинаковыми функциями.
Хотя, было бы удобно создавать/редактировать/удалять файлы прямо на сервере. Но тут может встать вопрос безопасности.
ок!
разложим по полочкам...
Основное: терминал своим внутренним клиентом копирует файл на сервер фтп.
Это уже есть, и работает отлично. Проверено.
-
А вот что предложено по расширению функции SendFTP()
1. Добавить третий парамер "имя файла на сервере"
где любое строковое значение будет флагом что на сервер терминал будет копировать
виртуальный файл с указаным в этом парамере именем... а в первом парамете находится переменная
с внутреним содержимым самого файла, по сути некий текст...
0, NULL и пустое значение это флаг терминалу на простое копирование файла из первого параметра.
Напрмер:
// обычное копирование, как это сейчас SendFTP("имяфайла.тхт", "путь/на/сервер/фтп") // предложение по развитию фукционала SendFTP(TXT, "путь/на/сервер/фтп", "имяфайла.тхт")
2. Серверу фтп же без разницы откуда идёт копирование...
напрямую с диска источника или с виртуального диска виртуальный файл. ;)))
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
На фоне заморочек с отсылкой почты средствами МТ4
хотелось бы отметить великолепную и гибкую работу функции SendFTP()
-
Предварительные настройки терминала.
Начнём с вкладки Меню-Сервис-Настройки-Публикация,
где разрешим собственно публикацию выставлением птички в чекбоксе "Разрешить".
Что и куда вводить хорошо видно на рисунке, лишь добавлю несколько замечаний.
- Если не указывать номер счёта, то публикаций отчёта не будет,
тем самым разгрузив терминал от лишнего, продолжив работу сервиса...
! окно выбора периода обновления относится только к публикации отчёта!
- В поле FTP сервер как правило не вызывает затруднений что туда вписать
- Поле FTP каталог, ну здесь несколько особенностей, пробуйте это не сложно из вариантов:
0:/ или / или httpd или каталог название домена domen.net
так мы попадём в корневую папку на сервере, однако посоветую указать путь к папке "заглушке"
имеющую внутри два обязательных для своей роли файла: .htaccess и на всяк пожарный index.html
На рисунке указан именно такой путь... тем самым обезопасив себя от неконтролируемой публикации...
Путь по умолчанию указаный в настройках не влияет на указаный другой в скриптах!
-
Вы спросите: а как-же публикация отчёты?
Да просто, из советника или скрипта !
Плюс в том, что этот отчёт может иметь нестандартный формат...
- Логин и Пароль тоже не проблема.
- Пассивный режим. Его включение позволяет работать практически со всеми серверами...
- Кнопка "Тест". Очень полезная кнопка!
Вот собственно и всё по настройкам...
Использование SendFTP()
Разберём на примере самого простого скрипта осуществляющего отправку указанного файла.
Функция имеет в своих свойствах два параметра:
- путь к файлу относительно папки ..\MetaTrader 4\experts\files\
В которой вы можете завести свои папки, которые и вклюсаете в путь
(лидирующий слеш указывать не надо !!! )
на примере выше, файл находится тут: ..\MetaTrader 4\experts\files\services\Text.txt
Если же файл находится в папке \files то указываем просто его имя и всё...
- путь на сервере указывается относительно его корня, лидирующий и закрывающий слеши
не влияют на правильность, т.е. пути:
/httpd/publ/ или httpd/publ/ или httpd/publ или /httpd/publ
будут абсолютно одинаковы, за исключением редчайшего случая когда сервер
не слешит автоматом завершение адреса...
Этой темой попытался расширить кругозор применения возможностей МТ4.
Чего не хватает? или не заметил в свойствах...
Это передача на сервер не файла, точнее не копирования а формирования.
Проясню...
Допустим имеется некая текстовая информация в переменной TXT, а на сервер
передаем с указанием имени файла, например так:
где вдобавок есть переменная nameFile позволяющая динамично менять имя,
например по дате, номеру счёта и т.д...