Discussion of article "Using WinInet.dll for Data Exchange between Terminals via the Internet"
Powerful! Very useful article. It is difficult for beginners to search the internet for all such information. And here everything is collected in one article.
In general, working with the internet is one of the most interesting topics. Create a fully automatic site (but better several sites or headings on several sites) for this terminal. Displaying the current market situation on the site. Displaying market analysis and trading signals on the site. "Interception" of trading signals by other terminals. Sending signals and messages to interested users. Adding/removing "interested" users to the list (database) for their further servicing by the terminal service. Collecting and analysing information from other sites, creating and publishing reports...
For beginners it is also important to have quite a lot of various simple examples using this technology.
what is meant by interception? do you mean to take a signal from the site and execute it in the terminal?
Sending signals and messages to interested users. Adding/removing "interested" users to the list (database) for their further servicing by the terminal service.
There are two options here - either to make an ordinary copier of deals. only exchange of information with an intermediate server.
Or make calculation of a hidden function on the server, and give the user the result of this function for his expert to make a decision.
What do you mean by interception? Do you mean to take a signal from the site and execute it in the terminal?
There are two options here - either to make an ordinary copier of trades, but only exchange information with an intermediate server.
Or make calculation of a hidden function on the server, and the user receives the result of this function so that his Expert Advisor can make a decision.
1) "Interception" - exactly receiving signals from this intermediate server (site) and execute in the user's terminal.
2) Access to server information (market signals, personal messages, market analysis) by personal access, according to user database. User database management via the master terminal and/or via server script (e.g. - script for payment for access to information via Webmani).
Rinng:
2) Access to server information (market signals, personal messages, market analyses) by personal access, according to user database. User database management through the leading terminal, and/or through server script (for example - script of payment for access to information via Webmani).
If you do the receipt of information about the state of "something" in the terminal, I think this is an interesting point.
As you write - messages from the service to which the user is connected.... But for this purpose the expert should be able to read and output it. hence it is a kind of individual development for some service.
If you have a variant or ideas of a generalised protocol that can be installed on any source server and that will be easy to connect in a terminal, we can discuss it. I am personally interested in the topic of globalisation of connections in terminals.
I am interested in publishing information from the Expert Advisor on several sites and access to the published information privately, by password from other terminals. And also user database management from the EA.
As for globalisation of links between terminals, I think that we can't do without a "remote" server. In general, it should look like this:
The tasks of the master terminal include preparation of all necessary information and administration of the remote server.
The tasks of the remote server includes the identification of slave terminals, management of the user database (slave terminals), receiving and sending the necessary information to the terminals, design and publication of the site(s).
The task of a slave terminal is to receive and process information intended for it and send a response to the server.
In a simple form, the server can be designed on PHP 5.0.
Data exchange can take place via FTP protocol, by exchanging files.
In general there should be three programmes: server, terminal-admin-server, terminal-client.
For this circuit, I have implemented two approaches.
1. The master terminal is the initiator.
In this case it puts the required information on the server itself, and the slaves just take it from there and process it according to the algorithm. This is no different from the usual processing of information except for the fact that its source is the master terminal under our control.
Application: transaction copiers, and systems that do not require the master to react to slave states.
2. Slave terminal initiator.
In this case the master acts only as a remote machine that knows more than the master. That is, for example, it contains conditions for entering the market by signals or hidden calculation formulas, which are requested by the slave.
Application: calculation of indicators. Getting trading signals.
Server functions in this case are really only in differentiation of access rights. i.e. checking whether the slave has the right to take or leave a request (by the way, similarly for the master). The database of terminals can be stored in MySQL or in a regular csv file.
All is realised through requests (POST / GET) as FTP in this case imposes difficulties on the server part.

- www.mql5.com
Metaarbitrage.mq5 is not working. It writes in the logs:
How to fix?
Everything is implemented through requests (POST / GET) as FTP in this case imposes difficulties on the server part.
.
Agreed. I suggest a bundle of php and MySql. With MySql it will be easy to organise a rating system, store data, make selections.
Metaarbitrage.mq5 is not working. In the logs it says:
How to fix it?
hmm. just checked - on my test the error crashes on the HttpOpenRequestW function with the line Access violation read to 0x003F0070 in'kernel32.dll'.
It seems to me that something has changed in DLL calls after the publication of the article
Agreed. I suggest a bundle of php and MySql. With MySql it will be easy to organise a rating system, store data, make selections.
hmm. just checked - on my test, the error crashes on the HttpOpenRequestW function with the line Access violation read to 0x003F0070 in'kernel32.dll'.
It seems to me that something has changed in DLL calls after the article was published.
The error numbers are different.
Ready to help with server side development and pcp scripts in my spare time.
The error numbers are different.
I sent it to servicedesk. let them check it too, I think the error is deeper, or really something has changed.
I'm ready to help with server side development and pcp scripts in my spare time.

- www.mql5.com

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
New article Using WinInet.dll for Data Exchange between Terminals via the Internet is published:
Author: Алексей Сергеев