A1: IF ...
是的:
这个想法是可行的,但是一些外部因素使它对你的代码可以控制的范围之外的因素非常敏感。
网络传输延迟不是您最大的敌人。这些占了一些0.1 - 200 ms
,这取决于您尝试从哪个位置(通过哪个连接/服务)获取一些远程/远程信息并在本地处理它们。对于托管托管,这将在此间隔的较短一端,对于 COTS 办公设备,这将在较长的一端。
基于应用程序的事务处理延迟是下一个更危险的延迟。每笔XTO
交易都不是在零时间内发生的。通常会定期记录/监控相应的延迟(延迟),以便为相应的市场准入代理/经纪人办公室提供体内延迟包络。
数字各不相同,在黑天鹅事件期间或在高事务负载期间/交通风暴
期间,
它们的过度放松也
有几个数量级。
XTO
虚假的传播爆炸
是你最糟糕的,
虽然仍然隐藏
在许多视图中,
敌人。
在基本面新闻公告中,正如您在上面报道的那样,您感觉到了时间,但隐患不是线性时间滴答,而是点差的爆炸式增长,即 PriceDOMAIN 区域,没有人可以下单/执行交易(XTO
) 被填补,或任何人必须进行的爆炸性交易者保证金攻击,如果在此期间有股票面临市场风险。
翻译成简单的英语 - 基本上没有人能够“及时”点击after美国 NFP 和类似地震新闻公告的按钮。
A2: HOW ...
该算法将与新闻提供者通信
嵌入不是正确的表达方式,您的算法交易必须成为分布式处理系统的一部分,这将完全形成交易基础设施。
市场数据馈送——向您的本地处理提供报价流更新
市场准入——您放置/取消XTO
指令的位置
新闻馈送——您从中获取宏观经济新闻的位置
用于获取 News Feed 数据的技术手段通常基于/依赖于机构商业产品/API 规范。虽然是常见的外汇交易平台之一,但MetaTrader Terminal确实提供由经纪人调解的新闻服务,人们迟早会意识到等待经纪人重新发布新闻是一把双刃剑,因为如果您的经纪人 / 他们的风险管理控制交易“反对”一个人的头寸,他们具有延迟公告的不公平优势,没有任何相关风险,这不平衡为交易者的公平决策头寸,他们的股票面临市场风险。接下来,您的算法工具没有新闻阅读 API/接口,一旦交付到您的 localhost 领域,就无法完全以算法方式处理这些事件。MetaTrader TerminalMetaTrader Terminal因此,在任何一种情况下,您都将依赖于与您的代码通信的外部新闻流处理器,以防MQL4
-code 采用分布式系统方式。
话虽如此,您的算法交易策略可以与 News Feed 合作并根据自动发布的内容执行决策(通常比获取/评估/(延迟)/重新处理/通过其他方式重新发布相同的公告更快)三级处理器)。
这其中的关键是一个可行的XTO
失败补救策略,以摆脱时间陷阱和爆炸式的传播陷阱。
市场不会等待一个 [ms]详细了解在新闻公告的标称时间之前从某些地方删除FIX-Protocol API
了多少百万EUR
计价价值的详细信息:所以这是一个显微镜观察,这些巨大的洞是如何出现的在 PriceDOMAIN 地图中(由 Bid-pencil 绘制,而缺口的 Ask-side 边缘并不那么容易看到,除非发生如上图所示的特殊情况)L2-DoM
47 ms
14:29:59,953 <121402 MarketDataIncrementalRefresh (8=FIX.4.29=31135=X34=12140249=***52=20131206-13:29:51.55156=*****************62=20131206-12:37:09.000268=4279=0269=0278=264655=EUR/USD270=1.3654115=EUR271=2000000346=1279=2269=0278=265055=EUR/USD15=EUR279=0269=1278=265555=EUR/USD270=1.365615=EUR271=2000000346=1279=2269=1278=267755=EUR/USD15=EUR10=217)
|-------------------------------------------------(
8=FIX.4.2 ________FIX.8.BeginString .aMessageHeaderBEGIN________________________________________<<HEADER>>
9=311 FIX.9.BodyLength .aMessageBodyLENGTH
35=X FIX.35.MsgType .aTypeOfMESSAGE
34=121402 FIX.34.MsgSeqNum .aMessageSeqNUMBER 121402
49=*** FIX.49.SenderCompID .aSenderHostID
52=20131206-13:29:51.551 FIX.52.SendingTime .aSenderTimeSTAMP 20131206-13:29:51.551
56=************* FIX.56.TargetCompID .aTargetHOST
________________________________________________________________________________________________<<HEADER>>
262=20131206-12:37:09.000 FIX.262.MDReqID .aMarketDataRqstUUID 20131206-12:37:09.000 asString .aMarketDataRqstUUID
-----------------------------------------------------------------[*]----------------------------------------------
268=4 FIX.268.NoMDEntries .aMarketDataEntriesNUMBER 4
-----------------------------------------------------------------[1]----------------------------------------------
279=0 FIX.279.MDUpdateAction .aMarketDataUpdateACTION 0 { 0: New, 1: Change, 2: Delete }
269=0 FIX.269.MDEntryType .aMarketDataEntryTYPE 0 { 0: Bid, 1: Offer, 2: Trade, 3: IndexVALUE, 4: aPriceOPEN, 5: aPriceCLOSE, 6: aPriceOfSETTLEMENT, 7: aTradingSessionPriceHIGH, 8: aTradingSessionPriceLOW, 9: aTradingSessionPriceVWAP }
278=2646 FIX.278.MDEntryID .aMarketDataEntryUUID 2646
55=EUR/USD FIX.55.Symbol .aSYMBOL EUR/USD
270=1.36541 FIX.270.MDEntryPx .aMarketDataEntryPRICE 1.36541
15=EUR FIX.15.Currency .anExplicitlyStatedCURRENCY EUR
271=2000000 FIX.271.MDEntrySize .aMarketDataEntrySIZE 2.000.000 UoM/pieces
346=1 FIX.346.NumberOfOrders .aMarketDataEntryNumberOfORDERs 1
-----------------------------------------------------------------[2]----------------------------------------------
279=2 FIX.279.MDUpdateAction .aMarketDataUpdateACTION 2 {} 2: Delete
269=0 FIX.269 . 0 {} 0: Bid
278=2650 FIX.278 . 2650
55=EUR/USD FIX.55 . EUR/USD
15=EUR FIX.15 . EUR
-----------------------------------------------------------------[3]----------------------------------------------
279=0 FIX.279 . 0 {} 0: New
269=1 FIX.269 . 1 {} 1: Ask/Offer
278=2655 FIX.278 . 2655
55=EUR/USD FIX.55 . EUR/USD
270=1.3656 FIX.270 . 1.36560
15=EUR FIX.15 . EUR
271=2000000 FIX.271 . 2.000.000 UoM/pieces
346=1 FIX.346 . 1
-----------------------------------------------------------------[4]----------------------------------------------
279=2 FIX.279 . 2 {} 2: Delete
269=1 FIX.269 . 1 {} 1: Ask/Offer
278=2677 FIX.278 . 2677
55=EUR/USD FIX.55 . EUR/USD
15=EUR FIX.15 . EUR
10=217 ________FIX.10.CheckSum______________________________________<<TRAILER>> aTripleBYTE, asChar, ALGO ref. below
)
这个说明性的样本仍然非常特别,因为它只有改变了预告战场的4
物品。在对“变化的密度”进行了一些定量的经验观察后,附上您收集了有关单元之间包含多少- 消息的数据:EUR/USD
NFP
LDF()
FIX
10..380
aMarketDataUpdateACTION
max. value in FIX.268 ...== FIX.268.NoMDEntries .aMarketDataEntriesNUMBER
|
1: 38774 x, i.e. ~< 10 .. 19 > FIX.268.NoMDEntries per one FIX-Message delivered
2: 64764 x, i.e. ~< 20 .. 29 >
3: 27805 x, i.e. ~< 30 .. 39 >
4: 41307 x, i.e. ~< 40 .. 49 >
5: 17182 x, i.e. ~< 50 .. 59 >
6: 13640 x, i.e. ~< 60 .. 69 >
7: 5914 x, i.e. ~< 70 .. 79 >
8: 6544 x, i.e. ~< 80 .. 89 >
9: 3205 x, i.e. ~< 90 .. 99 >
10: 3150 x, i.e. ~< 100 .. 109 >
11: 1767 x, i.e. ~< 110 .. 119 >
12: 1432 x, i.e. ~< 120 .. 129 >
13: 1120 x, i.e. ~< 130 .. 139 >
14: 794 x, i.e. ~< 140 .. 149 >
15: 792 x, i.e. ~< 150 .. 159 >
16: 748 x, i.e. ~< 160 .. 169 >
17: 636 x, i.e. ~< 170 .. 179 >
18: 589 x, i.e. ~< 180 .. 189 >
19: 545 x, i.e. ~< 190 .. 199 >
20: 503 x, i.e. ~< 200 .. 209 >
21: 453 x, i.e. ~< 210 .. 219 >
22: 422 x, i.e. ~< 220 .. 229 >
23: 400 x, i.e. ~< 230 .. 239 >
24: 354 x, i.e. ~< 240 .. 249 >
25: 231 x, i.e. ~< 250 .. 259 >
26: 489 x, i.e. ~< 260 .. 269 >
27: 168 x, i.e. ~< 270 .. 279 >
28: 144 x i.e. ~< 280 .. 289 >
29: 48 x, i.e. ~< 290 .. 299 >
30: 42 x, i.e. ~< 300 .. 309 >
31: 16 x, i.e. ~< 310 .. 319 >
32: 6 x, i.e. ~< 320 .. 329 >
33: 8 x, i.e. ~< 330 .. 339 >
34: 5 x, i.e. ~< 340 .. 349 >
35: 2 x, i.e. ~< 350 .. 359 >
36: 4 x, i.e. ~< 360 .. 369 >
37: 1 x i.e. ~< 370 .. 379 >
祝你好运,并
在这个
最终令人兴奋的狩猎中瞄准!