基于数据的基于交易算法

时间:2016-05-31 17:01:55

标签: finance trading algorithmic-trading mql4 forex

Q1:是否有可能创建一个纯粹放置 BUY SELL 所选订单的脚本/算法货币对,取决于是否例如利率公告是否高于(或低于)预测数字?

我知道在购买和出售金融工具之前必须考虑许多其他技术和基本因素,但纯粹作为实验,我想确定这种方法是否可行。

如果可以实现这一目标, Q2:如何将利率公告直接嵌入到脚本中,以便一旦数字被释放, 卖出订单立即执行?

注意:这仅用于模拟交易账户。

以前的替代尝试基于基本数据价格反应执行头寸:

  • 在利率公告之前设置自动买入 卖出订单,并允许价格大幅上涨或下跌一个方向自动打开一个位置(缺点是位置通常打开得太晚)。

1 个答案:

答案 0 :(得分:1)

A1: IF ...是的,它是:

这个想法是可行的,但是有几个外部因素使得它对你的代码可以控制范围之外的因素非常敏感。

网络传输延迟不是您最大的敌人。这些会占一些 0.1 - 200 ms ,具体取决于您尝试获取某些远程/远程信息并在本地处理它们的位置(通过哪些连接/服务)。对于共置主机,这将在此间隔的较短端,对于COTS办公设备,这将是较长的一端。

基于应用程序的事务处理延迟是下一个更危险的问题。每个XTO交易都不会在零时间内发生。通常定期记录/监视相应的延迟(延迟),以便具有各个市场准入代理/经纪人办公室的体内等待时间包络。 enter image description here 数字各不相同,因此在黑天鹅事件期间或在高交易负荷期间/ {过度放宽的数量级也是几个数量级的数量/ { {1}} - 交通风暴。 enter image description here

虚假的扩散爆炸是你最糟糕的,虽然仍然隐藏着许多观点,但敌人。 enter image description here 在基本新闻公告中,正如您上面报道的那样,您感受到时间,但隐藏的危险不是线性时间刻度,而是价差扩散,即PriceDOMAIN区域,没有人可以放置/执行交易( XTO )如果在这段时间内有一个公平面临市场风险,那么任何人都必须携带,或者是一个经过探索的交易者的保证金攻击。< / p>

enter image description here

翻译成简单的英语 - 没有人主要能够点击按钮&#34;及时&#34; 美国国家联络点和类似的地震新闻公告。

XTO算法将与新闻提供者

进行通信

嵌入不是正确的表达方式,您的算法交易必须成为分布式处理系统的一部分,这将完全形成交易基础设施。

市场数据Feed - 为您的本地处理提供报价流更新 市场准入 - 您放置/取消A2: HOW ...指示的地方 新闻Feed - 您从

中获取宏观经济新闻的地方

用于采购新闻Feed数据的技术手段通常基于/取决于代理商业产品/ API规范。虽然其中一个常见的外汇交易平台, MetaTrader终端确实提供了一个由经纪人调解的新闻服务,但人们迟早会意识到等待经纪人重新发布新闻是一个双刃剑剑,因为如果您的经纪人/他们的风险管理控制交易&#34;反对&#34;在一个人的职位上,他们有不公平的优势,即延迟公告,没有任何相关的风险,这对于那些股票面临市场风险的交易者而言,并不能平衡为一个公平的决策者。接下来,您的算法工具没有新闻阅读API /接口,可以在完全无条件地处理这些事件,一旦传送到 MetaTrader终端的本地主机领域,所以在任何一种情况下您都将依赖于外部新闻流处理器,在 MetaTrader终端 XTO - 代码的情况下,以分布式系统的方式与您的代码进行通信。

说到这里,您的算法交易策略可以与News Feed合作并根据内容执行决策,自动发布(通常比同一个公告获取/评估/(延迟)/重新处理/重新发布后更快通过其他三级加工商出版。)

这方面的关键是可行MQL4&amp;失败补救策略,以逃避时间陷阱和爆炸扩散陷阱。

  

市场不会等待一个[ms] 查看 XTO 详细信息,了解有多少数百万FIX-Protocol API 计价值已经从EUR只有一些 L2-DoM删除了所以这是一个显微镜,这是如何巨大的漏洞出现在PriceDOMAIN地图中(由Bid-pencil绘制,而间隙的Ask侧边缘不是那么容易看到,除非如上所示发生特殊情况)

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公告,此说明性示例仍然非常出色战场。对&#34;变化密度&#34; 进行了一些定量的实证观察后,您附上了NFP数据集合,其中包含多少 LDF() -messages包含 FIX 10..380 单位:

aMarketDataUpdateACTION

祝你好运&amp;瞄准这一点最终惊心动魄的狩猎!