Discussion of high-frequency trading on MT5 - page 83

 
serferrer:

http://forum.alpari.ru/showthread.php?p=3217175#post3217175


I assume this is for MetaTrader 4, how would the developers comment on this?

And about the limitation of MetaTrader 5 architecture , I would also like to know.

There is no limit to the speed of the tick stream and it all depends on the speed of the data sources.

But it often happens that brokers filter price flows themselves and do stabilization/quantization, limiting the flow of quotes per second, so as not to create problems with requotes due to fast flow.

 

I would like to understand the following thing

There are liquidity providers, there is a broker with ECN who has implemented channels to these providers. They can be close or far away (in msec)

I connect to this broker through MT4 and through it I can go to the real liquid. (Ideally)

But the liquidation providers are connected to other ECNs.

I want to enter the market well on news which for example according to statistics has a move of 30-40p.

What happens. I send an order on the market to my broker, he in turn to the liquidity provider, which has the best price at the moment, but without taking into account distance to him and the volume available (in the worst case may be on the other side of the globe with a ping at about 100 ms).

The order has gone there but that liquidity provider has already chosen it (for these 100ms) and the price has become much worse but the order is unable to be cancelled and executes with a significant slippage.

as a consequence when trading on the news you should not choose an esn with a large available volume (which is usually seen around 5 levels or FIX from 20 levels and above) and connect directly to the liquidation provider with a minimum distance and an acceptable volume.

The thinking is right?

I do not understand why forex market limit orders can not be placed with knowingly worse price but slippage is under control. If they are sent to the trading floor they instantly transform into a market order but with control of the execution price. At most you can set a limit so as to narrow down the spread to 0.

There is such a thing on futures.

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 

A little about the nature of slippage:


Forum on trading, automated trading systems and trading strategy testing

Discussion on high frequency trading on MT5

hrenfx, 2013.02.20 00:04

Even if FOREX has a daily turnover of 400 trillion per day, your thousand-bucks trades will slide. For some reason the concept of latency is misunderstood by some.

Imagine that you saw the price, closed your eyes for 5 seconds, and then pressed the BUY button, wanting to buy at the price you saw 5 seconds ago. Would there be a slippage?

Now imagine that your robot on a zero ping to a broker via MQL4 immediately sends a BUY request when it sees the price. Would there be slippage? I will answer here, it will. Because I wrote in my posts about lifetime of ticks and slowness of the whole cycle from tick birth before your request arrives. And the most slow in this chain will be MT4 - hundreds of msec.

And even if you trade through a broker, where I trade, putting MT4 limiters untied in advance, there will either be positive slippages (if the aggregator has time), or redirects - failures (if the aggregator has no time, or rejects the request for other reasons on the tick birth side).

Let's say my broker has cross connect - the aggregator is located in a certain data centre in New York, where the main technical part of the whole spot-FOREX is located. That's where the execution will be best - you'll be in time more often. But here comes LMAX, for example, whose prices turn out to be better at some point than the others. The aggregator sends your request to LMAX. This takes hundreds of msecs since LMAX has servers in Europe. That means there is lag and possibility of re-jack even for limit which you set in aggregator beforehand.

Now let's have all LP aggregators on cross-connect. If at least one of the LPs has a retarded LP (like LMAX when trading from New-York) on their_LP list, the situation will repeat itself as I wrote above. But let's say that generally in the whole chain everyone is on cross-connect. Is it possible to redirect your pre-positioned limiter? The answer is that it is possible. And it's not about lag (even though every aggregator in a chain slows down by one or two ms), but about elementary lack of liquidity even for one thousand dollars, because together with your limiters there could be other limiters which ate all liquidity on prices which arrived momentarily before you. Up to fake prices from LPs and lastlook-the right of some LPs to cancel their bids-doesn't guarantee execution at their prices.

You have to understand that prices both on the exchange and even more so in the dark pool (a FOREX aggregator - much more complex than the exchange) are indicative. Probably, someone will shout that everything is super at stock exchanges. So, even the simplest HFT-algorithms, putting and immediately removing their bids inside spread, create the appearance of great prices, which is almost unrealistic for an ordinary exchange client - there is no time to trade. As a result, you will see great prices, but cannot trade them.

I would recommend reading the FAQ again carefully. Unfortunately, some information had to be shredded (the rest is enough), but the fact is that the developers of trading platforms (not all) do a great job to REAL trading conditions were the best - your TS gave the maximum return.

In FOREX there has never been and never has been a limit setting restriction.

 
Yours is the same.

A competent algotrader uses a different one:

OrderSend(OP_BUYLIMIT, PriceOpen - MaxSlipPage); // ограничивает максимальное проскальзывание величиной MaxSlipPage. В MT4/5 такое не прокатит - 13 лет успешных разработок платформ порешали, что не нужно

I meant OrderSend( OP_BUYLIMIT,ASK+SlipPage)

Look atТrander where a STP slip is implemented (it's called MarketRange) and if no suitable price is found in 5 seconds, the order is returned without execution.

 

Right, I got the sign wrong - thanks for pointing that out.

Just because the plafthorma is limiting doesn't mean the market can't.

On the same GKFX in the STP variant, it seems you can set the MT4 market to slip. I.e. actually send a limit at a price worse than the current one.

 
hrenfx:

Right, I got the sign wrong - thanks for pointing that out.

Just because the plafthorma is limiting doesn't mean the market can't.

On the same GKFX in the STP variant, it seems you can set the MT4 market to slip. I.e. actually send a limiter at a price worse than the current one.

I have seen it for esn accounts, but it is inconvenient to change it via Personal Area. It would be easier to use the regular SlipPage.

 

It seems to be implemented, but only on STP accounts. I can't confirm it practically - I haven't traded.

In general, the platform developers have been talking about limiters at a price worse than the current one for a very long time.

 
papaklass:
For example the execution in Integral (40 msec average) and Lmax (3.5 msec).

Yes, but further, other suppliers are connected to the USN and it just redirects them according to an algorithm (at the best prices) to the liquidity provider.

Unlike at the stock exchange where the liquidity is already in place.

For example, the performance of Integral (average 40 ms) and Lmax (3.5 ms)

feel the difference ...

 

Среднее время исполнения отложенных ордеров на стороне сервера 1 ms, на стороне LP 50 ms, вместе с МТ 600-700 ms.

http://forexsystems.ru/obsuzhdenie-raboty-i-uslovii-brokerov/64628-obsuzhdaem-fxopen-54.html#post674744

Unfortunately, some vendors do not execute fast. Moreover, the few that do it quickly.

For example, such as the notorious Integral, often performs 700-900 milliseconds, not counting company bridges and the like. And that does not prevent it from being one of the most popular.

Our ECNs execute less than 10 milliseconds on average, the rest are vendors.

We will gradually try to shift the turnover towards fast performers, but this will take time, given that adding a supplier takes several weeks (tests, development, account opening).

http://forum.gkfx.ru/index.php/topic/202-вопросы-по-исполнению/page-2#entry4697


on 2013.04.23 10:27:55:140 activated and
on 2013.04.23 10:27:55:655 executed

execution time 515 milliseconds


2013.04.23 10:27:55:203 activated and

on 2013.04.23 10:27:55:733 executed

execution time 530 mill iseconds

http://forum.gkfx.ru/index.php/topic/202-вопросы-по-исполнению/page-1#entry3585

I "pulled" orders from the system today, without any logic, to see how fast the orders of mere mortals are executed through Zen-Fire )

Looks like a spread of 600 microseconds to 1 millisecond, although I've seen around 500 microseconds before. No guarantee of course, but overall seems decent.

http://forex.kbpauk.ru/showflat.php/Cat/0/Number/272621/page/0/fpart/2/vc/1#Post279593

And you were up on the unemployment news at 7:34 Chicago time on gold, so expected... The order itself filled in 0.014 sec. Look at other brokers, probably active time too.

http://jc-trader.livejournal.com/150481.html?thread=1704401#t1704401

Ahh, they have stops not on the exchange...understandable then.
(Reply) (Level up) (Discussion thread)

(Anonymous)

2011-06-15 20:04 (UTC)

Could it be that the broker puts the stops wherever he wants ? ))


Well, in Russia here are standard stops on broker servers. Here, who has the technical ability, put them on the exchange, all the same execution is much faster than from their server. I'm honestly surprised that they keep them, there is an awful lot of responsibility, as well as potential nagging (like "the broker sees all the stops"). What's more, I don't even know anyone else in the west who does that...although I might just not know.

http://jc-trader.livejournal.com/210625.html?thread=2766785#t2766785


Slippage of 400 ticks 1 tick = $15.63

http://jc-trader.livejournal.com/38225.html

Принимаю поздравления
Принимаю поздравления
  • 2010.02.25
  • jc_trader
  • jc-trader.livejournal.com
Сразу и не заметил пополнение в трендследящий портфель -- 10 летние ноты. Но пополнение, мягко говоря, совсем не радует. Из 9000 контрактов в минуту мой почему-то оказался в очереди самым последним...
 

http://smart-lab.ru/blog/143219.php - the author suggests a model potentially useful for hft. There is some example in c++/perl.

What do you think?

Алготрейдерские размышления о market impact / Блог им. glencore / Клуб трейдеров sMart-Lab. Мы делаем деньги на бирже.
  • smart-lab.ru
Всем привет! Некоторое время назад я активно занимался HFT, но по ряду причин был вынужден сменить класс активно развиваемых стратегий.