Обсуждение статьи "Использование WinInet.dll для обмена данными между терминалами через Интернет"
Мощно! Очень полезная статья. Сложно начинающим искать по инету всю подобную информацию. А здесь всё собрано в одной статье.
Вообще, работа с инетом одна из самых интересных тем. Создание полностью автоматического сайта (но лучше нескольких сайтов или рубрик на нескольких сайтах) для данного терминала. Показ на сайте текущей рыночной ситуации. Вывод на сайт анализа рынков и вывод торговых сигналов. "Перехват" торговых сигналов другими терминалами. Рассылка сигналов и сообщений заинтересованным пользователям. Дабавление/удаление "заинтересованных" пользователей в список (базу данных) для последующего их обслуживания сервисом терминала. Сбор и анализ информации с других сайтов, создание и публикация отчётов...
Для начинающих так же важно иметь достаточно много разнообразных простых примеров с использованием данной технологии.
а что подразумевается под перехватом? имеется ввиду с сайта брать сигнал и исполнять в терминале?
Рассылка сигналов и сообщений заинтересованным пользователям. Дабавление/удаление "заинтересованных" пользователей в список (базу данных) для последующего их обслуживания сервисом терминала.
тут есть два варианта - или делать обычный копир сделок. только обмен инфы чере промежуточный сервак.
Или же делать вычисление скрытой функции на сервере, а пользователю результат этой функции, чтоб его эксперт принимал решение.
а что подразумевается под перехватом? имеется ввиду с сайта брать сигнал и исполнять в терминале?
тут есть два варианта - или делать обычный копир сделок. только обмен инфы чере промежуточный сервак.
Или же делать вычисление скрытой функции на сервере, а пользователю результат этой функции, чтоб его эксперт принимал решение.
1)"Перехват" - именно получение сигналов с данного промежуточного сервера (сайта) и исполнять в терминале пользователя.
2) Доступ к серверной информации (рыночные сигналы, личные сообщения, анализ рынка) по персональному доступу, согласно базы данных пользователей. Управление базой данных пользователей через ведущий терминал, и/или через серверный скрипт (например - скрипт оплаты доступа к инфе через Вебмани).
Rinng:
2) Доступ к серверной информации (рыночные сигналы, личные сообщения, анализ рынка) по персональному доступу, согласно базы данных пользователей. Управление базой данных пользователей через ведущий терминал, и/или через серверный скрипт (например - скрипт оплаты доступа к инфе через Вебмани).
Если делать получение инфы про состояние "чего-то" в терминал, то это думаю интересный момент.
Как вы и пишете - сообщения от сервиса, к которому подключен пользователь... но для этого и эксперт должен быть такой, чтоб это мог прочитать и выдать. следовательно это некая индивидуальная разработка для какого то сервиса.
Если у вас есть вариант или идеи обобщенного протокола, который можно будет ставить на Любой сервер-источник и который будет Легко подключатся в терминале, то можно обсудить. тема глобализации связей в терминалах лично меня интересует.
Меня интересует публикация инфы от советника на нескольких сайтах и доступ к опубликованной инфе приватно, по паролю с других терминалов. А также управление базой данных пользователей из советника.
Что касается глобализации связей между терминалами, то думаю, что без "выносного" сервера не обойтись. В общем виде это должно выглядеть так:
В задачи ведущего терминала входит подготовка всей необходимой информации и администрирование выносного сервера.
В задачи выносного сервера входит идентификация ведомых терминалов, управление базой данных пользователей (ведомых терминалов) , получение и отправка нужной информации на терминалы, оформление и публикация сайта(сайтов).
Задача ведомого терминала - получение и обработка предназначенной для него информации и посылка отклика на сервер.
В простом виде сервер может быть оформлен на PHP 5.0.
Обмен данными может происходить по протоколу FTP, путем обмена файлами.
В общем должно быть три программы: сервер, терминал-админ-сервер, терминал-клиент.
Для этой схемы я реализовал два подхода.
1. Ведущий терминал инициатор.
В этом случае он сам выкладывает требуемую информацию на сервер, а ведомые просто забирают её от туда и обрабатывают по алгоритму. Это ничем не отличается от обычной обработки инфы за исключением - что источником её является подконтрольный нам ведущий терминал
Применение: копировщики сделок, и системы, не требующие реагирования ведущего на состояния ведомого.
2. Ведомый терминал инициатор.
В этом случае ведущий выступает только в роли удаленной машины, которая знает больше чем ведущий. То есть например содержит условия входа по сигналам в рынок или же скрытые формулы расчета, за которыми обращается ведомый.
Применение: расчет индикаторов. Получение торговых сигналов.
Функции сервера в этом случае действительно только в разграничении прав доступа. то есть проверка имеет ли право ведомый брать или оставлять запрос (кстати аналогично и для ведущего). База терминалов может вестись как в MySQL так и в обычном csv файле.
Реализовано все через запросы (POST / GET) так как FTP в данном случае накладывает сложности на серверную часть.
![Документация по MQL5: Основы языка / Функции / Функции обработки событий Документация по MQL5: Основы языка / Функции / Функции обработки событий](/i/community/logo_mql5_small.png)
- www.mql5.com
Не работает metaarbitrage.mq5. В логах пишет:
Как исправить?
Реализовано все через запросы (POST / GET) так как FTP в данном случае накладывает сложности на серверную часть.
Согласен. Предлагаю связку php и MySql. C помощью MySql можно будет легко организовать систему рейтингов, хранить данные, делать выборки.
Не работает metaarbitrage.mq5. В логах пишет:
Как исправить?
хм. только что проверил - на моём тесте ошибка вылетает на функции HttpOpenRequestW. со строкой Access violation read to 0x003F0070 in 'kernel32.dll'
мне так кажется, что что то поменялось в вызовах DLL после публикации статьи
Согласен. Предлагаю связку php и MySql. C помощью MySql можно будет легко организовать систему рейтингов, хранить данные, делать выборки.
хм. только что проверил - на моём тесте ошибка вылетает на функции HttpOpenRequestW. со строкой Access violation read to 0x003F0070 in 'kernel32.dll'
мне так кажется, что что то поменялось в вызовах DLL после публикации статьи
Номера ошибок разные.
Готов помочь в разработке серверной части и пхп скриптов в свободное время.
Номера ошибок разные.
я отправил в сервисдеск. пусть проверят тоже, думаю что ошибка глубже, или действительно что то поменялось.
Готов помочь в разработке серверной части и пхп скриптов в свободное время.
![Общайтесь с разработчиками через Сервисдеск! Общайтесь с разработчиками через Сервисдеск!](/i/community/logo_mql5_small.png)
- www.mql5.com
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Использование WinInet.dll для обмена данными между терминалами через Интернет:
Автор: Алексей Сергеев