Virtual Dealer Plugin

Pharaoh

Colonel
Messages
19,777
Oh cool. This, plus what ECNJesus showed in Scam Alerts is slowly, but surely showing that MetaQuotes is providing what their clients want, even if what's provided allows their clients to cheat. Their clients aren't us. Their clients are brokers.
 

hyper

Corporal
Messages
93
Oh cool. This, plus what ECNJesus showed in Scam Alerts is slowly, but surely showing that MetaQuotes is providing what their clients want, even if what's provided allows their clients to cheat. Their clients aren't us. Their clients are brokers.
Here is ECNJesus' thread which covers the Virtual Dealer Plugin as well as other features available to brokers that are built into the Metatrader Manager: http://www.forexpeacearmy.com/forex-forum/scam-alerts-folder/18130-metaquotes.html

Here are his videos that kept getting deleted due to MetaQuotes' legal threats to each of the various hosting web sites:

[video=youtube;hlIBn7Rxkk8]
[/video]

Download the video using a YouTube video downloader before it gets taken down again.
 
Last edited by a moderator:

hyper

Corporal
Messages
93
If enough traders who use a particular MetaTrader broker report that execution of their orders always take longer than 1 or 2s and they never get slippage in their favor, then I think that's enough to conclude that the broker is using the Virtual Dealer Plugin and should therefore be avoided.

Even if the broker does not actually use the Virtual Dealer Plugin, such a broker who has bad execution and keeps the savings due to slippage that is in your favor should still be avoided. The broker is simply scalping off the trader.
To record execution duration and slippage for every trade, you can use my code that I posted in this thread: MQL code to record order execution duration and slippage
 

Pharaoh

Colonel
Messages
19,777
For those who missed it, read the thread started by ECNJesus. There's a broker rep there who started out by saying that the complaints were mostly baseless and that there probably wasn't really a malicious plugin for MT4. Once he saw the manual for the plugin, he changed his mind. You can see the whole thing here:

http://www.forexpeacearmy.com/forex-forum/scam-alerts-folder/18130-metaquotes.html

He also asked MetaQuotes to talk about the issue. He reports that they've remained silent so far.
 

PaladinFX

Private
Messages
26
To record execution duration and slippage for every trade, you can use my code that I posted in this thread: MQL code to record order execution duration and slippage
Hi hyper,

after having read this thread, and especially the PDF manual of the VD plugin, I'd very much like to have a way to monitor my broker's execution speed and slippage.

Unfortunately I'm better at trading than at coding (actually I can't code worth crap, hehe), so I don't really know how to make use of the code you've provided.

I'd be very grateful for some instructions on how to go about it.

Cheers,
P.
 

hyper

Corporal
Messages
93
I'd very much like to have a way to monitor my broker's execution speed and slippage.
It seems that MetaQuotes do not want end users of their MetaTrader client to monitor execution duration and slippage, as it would have been simple for them to program such featuers into their software, yet they have not done so.

Without being involved with any code, the only way to monitor execution duration would be to look in the Journal log. You can either see it in the "Journal" tab in the program window, or in the .log files under the logs directory of your MetaTrader installation. There are some differences between the two:

The lines in the Journal tab are in descending date order
The Journal tab will only show lines since the time that the terminal was opened.

The lines in the .log file are in ascending order
The .log records all lines that appeared in the Journal tab, but the latest lines may not appear. This is due to the way file flushing is handled - data that is destined for a file is kept in memory until there is enough data to do a flush to the file. Closing Metatrader automatically flushes the data.

For each trade execution there are four lines in the Journal, each prefixed with a time stamp (local time). The first contains details of the order, including requested price. The second is an acknowledgement that the "request was accepted by server". The third is an acknowledgement that the server accepted the order and started processing it. The fourth line shows the end result with actual transaction price. Here is an example:

2012.02.27 11:26:47 '1244313': instant order sell 0.01 EURUSD at 1.34570 sl: 0.00000 tp: 0.00000
2012.02.27 11:26:48 '1244313': request was accepted by server
2012.02.27 11:26:48 '1244313': request in process
2012.02.27 11:26:51 '1244313': order was opened : #18629762 sell 0.01 EURUSD at 1.34566 sl: 0.00000 tp: 0.00000

The total trade duration in this example is 4s. Often the lines will have exactly the same time stamp, because the precison is only in seconds and not milliseconds.
By using the prices in the first and fourth lines and looking at the difference, the net slippage is 0.4 pips against the trader.
 

PaladinFX

Private
Messages
26
It seems that MetaQuotes do not want end users of their MetaTrader client to monitor execution duration and slippage, as it would have been simple for them to program such featuers into their software, yet they have not done so.
Yep, concur; that's pretty obvious.


Without being involved with any code, the only way to monitor execution duration would be to look in the Journal log. You can either see it in the "Journal" tab in the program window, or in the .log files under the logs directory of your MetaTrader installation.
Yes, I've always used journal or log so far to determine execution time and slippage.
This is unsatisfactory for two reasons: 1) the journal isn't permanent, so I'd have to copy/paste the info to a text file to have a lasting record and 2) both journal and log only state times in full seconds, so they aren't exactly precise. In addition, the log does not provide prices for the request but only for the actual execution, which makes it useless to determine slippage.

That is why I'd hoped for some instruction on how to use the code you've provided ... something along the lines of 'Copy/paste the whole code to MetaEditor and use it as an indicator/ea/script' or 'incorporate this and that part of the code at this location into an existing ea/script to open and close positions'.

Would something like this be possible?


Cheers,
P.
 

Pharaoh

Colonel
Messages
19,777
I was going to make a stab at installing Hyper's script, but I think I'll wait for the easier instructions. :cool:
 
Top