标签: fix-protocol

使用Excel VBA修复协议

我已经在Excel VBA中创建了代码,它通过dde链接收集数据并根据一些规则执行它们.不久,这个Excel VBA代码将向我发送有关我正在跟踪的买入或卖出股票的消息.

现在,我想通过使用修复协议来执行这些消息.是否可以使用Excel VBA创建连接到Web服务的修复协议引擎,并使您能够执行来自Excel VBA的操作?

谢谢你的帮助.

excel vba excel-vba dde fix-protocol

4
推荐指数
1
解决办法
2753
查看次数

FIX 安全定义请求 (MsgType=c) 和安全列表请求 (MsgType=x) 之间的差异

在 FIX 中,安全定义请求(MsgType=c)和安全列表请求(MsgType=x)有什么区别

fix-protocol

4
推荐指数
1
解决办法
1025
查看次数

QuickFIXJ 登录问题

QuickFixJ 出现问题。问题是我无法正确发送登录消息。此外,我很难理解如何设置消息流。我并不是要执行交易,只是检索市场数据。

错误:

20140123-22:55:56: No responder, not sending message:  
Run Code Online (Sandbox Code Playgroud)

这是我的所有详细信息:

传入:猫传入/*

8=FIXT.1.19=11035=A34=149=REDACTED-MD52=20140123-22:55:56.37256=NDXMD98=0108=30141=Y553=REDACTED100554=REDACTED1137=910=231?220140123-22:55:56.470
Run Code Online (Sandbox Code Playgroud)

传出:

20140123-22:55:50: Session FIXT.1.1:REDACTED-MD->NDXMD schedule is weekly, SUN 00:00:00-UTC - FRI 00:00:00-UTC
20140123-22:55:50: Created session: FIXT.1.1:REDACTED-MD->NDXMD
20140123-22:55:53: Initiated logon request
20140123-22:55:56: No responder, not sending message: 8=FIXT.1.19=11035=A34=149=REDACTED-MD52=20140123-22:55:56.37256=NDXMD98=0108=30141=Y553=REDACTED100554=REDACTED1137=910=231
8=FIXT.1.19=8135=A34=149=REDACTED-MD52=20140123-22:55:52.64356=NDXMD98=0108=30141=Y1137=910=114
8=FIXT.1.19=8335=549=NDXMD56=REDACTED-MD52=20140123-22:55:53.75134=158=Missing field. Type 55310=054
8=FIXT.1.19=11035=A34=149=REDACTED-MD52=20140123-22:55:56.37256=NDXMD98=0108=30141=Y553=REDACTED100554=REDACTED1137=910=231
Run Code Online (Sandbox Code Playgroud)

我的标准输出是:J

an 23, 2014 10:55:37 PM REDACTED.REDACTEDMain main
INFO: REDACTED startup
Jan 23, 2014 10:55:49 PM quickfix.SessionSchedule <init>
INFO: [FIXT.1.1:REDACTEDB-MD->NDXMD] weekly, SUN 00:00:00-UTC - FRI 00:00:00-UTC
Successfully called onCreate for sessionId : FIXT.1.1:REDACTEDB-MD->NDXMD
Jan 23, …
Run Code Online (Sandbox Code Playgroud)

java quickfix financial fix-protocol hft

4
推荐指数
1
解决办法
1万
查看次数

QuickFIX / n-启动程序在登录阶段反复抛出错误

我在下面的此链接上使用交易客户应用程序在我的VPS服务器和代理服务器之一之间建立连接。

http://www.quickfixn.org/tutorial/example-applications

经过一个星期的挣扎,我终于可以轻松地建立与代理服务器的连接。

但是,当我运行交易客户应用程序时,在登录阶段出现以下错误:

Unable to write data to the transport connection: An existing connection was forcibly   closed by the remote host

at QuickFix.SocketInitiatorThread.ReadSome(Byte[] buffer, Int32 timeoutMilliseconds) 
in ... SoecketInitiatorThread.cs:line 170 ......

at QuickFix.SocketInitiatorThread.Read() in ... SoecketInitiatorThread.cs:line 80
......
Run Code Online (Sandbox Code Playgroud)

贸易客户应用程序一直在重复登录尝试,但是,它始终仅获得相同的错误消息。

当然,对于像我这样的新手使用此QuickFix / n引擎,我真的无法弄清楚出了什么问题。我可以想到的一个可能的调查领域是,我对隧道程序(https://www.stunnel.org)也很陌生,因此我的隧道证书可能无效。我只是按照网站上的指示使用代理的ip地址配置pem证书,但是我不确定它的用途是100%。

这是我放在“ stunnel.conf”文件中的内容:

[FIXORDER]
client = yes
accept = external ip of VPS : port   eg.(10.160.103.65:22)
connect = broker ip address :port  eg.(102.12.124.9:444)
Run Code Online (Sandbox Code Playgroud)

这是来自Stunnel程序的已记录消息的一些记录:

2014.11.26 17:23:44 LOG5[3348]: Connection reset: 0 byte(s) sent to SSL, 0 …
Run Code Online (Sandbox Code Playgroud)

c# c++ quickfix fix-protocol quickfixj

4
推荐指数
1
解决办法
2980
查看次数

获取 QuickFix/n 的会话属性(用户名和密码)

我已将我的用户名和密码放在 FIX 配置文件中。所以我必须认为我应该能够从一些内部变量中获取用户名和密码,比如 session 变量或 SessionSetting 变量或 session.SessionDataDictionary 或其他一些变量。但是,我没有找到任何直接的解决方案来从内部变量中获取用户名和密码。

[SESSION]
BeginString=FIX.4.4
SenderCompID= xxxxx
Username= xxxx
Password= xxxx
Run Code Online (Sandbox Code Playgroud)

从逻辑上讲,这可能是非常可行的。但是,没有人建议这样做,或者我没有看到有人在谷歌上这样做。我从谷歌找到的唯一代码是这个。

String username = sessionSettings.getString(sessionId, "Username"); //only works for Java version of QuickFix
Run Code Online (Sandbox Code Playgroud)

然而,以上代码仅适用于 Java 版本的 QuickFix,并且此方法在 QuickFix 的 DotNet 版本(即 QuickFix/n)中不可用

getString(sessionId, "Username"); 
Run Code Online (Sandbox Code Playgroud)

我希望使用 QuickFix/n 为 FIX 4.4 实现类似的结果。如果有人熟悉 QuickFix,这可能是一项非常简单的任务。我将非常感谢您的提示或建议。我不介意你对 Java 或 C++ 版本有什么想法,因为它们都非常相似。我只需要知道这个用户名和密码存储在哪个变量中,以及如何使用 Csharp 代码获取它。

提前致谢。

c# quickfix fix-protocol quickfixj

4
推荐指数
1
解决办法
4076
查看次数

如何在FIX日志的UNIX命令中获取FIX标记之间的管道(|)分隔符?

我可以通过运行来获得标签之间的空格:

tail -f filename | tr '\001' ' '
Run Code Online (Sandbox Code Playgroud)

但我希望尾部输出有|分隔符,即

35 = d | 49 =发件人| 56 =收件人

谁知道怎么样?谢谢

unix fix-protocol

4
推荐指数
1
解决办法
2462
查看次数

QuickFix 可选字段检查值是否存在

我正在编写一个基于Quickfix/N的 FIX 引擎,它监听交易执行(ExecutionReport)并将其保存到数据库中。

如果接收到的消息中不存在该值,则从 API 请求字段值会引发 FieldNotFoundException。例如,如果帐户不存在,则调用executionReport.Account 将引发异常。

由于某些字段是可选的,因此我必须在获取字段值之前明确检查该字段值是否存在。我对此有两种可能性:

可能性一: executionReport.IsSetAccount() ? executionReport.Account : null;

可能性2:

  try
        {
            return executionReport.Account.getValue();
        }
        catch (Exception e)
        {
            return null;

        }
Run Code Online (Sandbox Code Playgroud)

第一个选项很干净,但我发现它真的很重,第二个选项可以概括为辅助函数,但它违背了 API 哲学,我感觉我做错了什么。

那么我的问题是:

  • 还有另一种干净/正确的方法来完成这项工作吗?
  • 或者我对协议/API的理解完全错误?我感觉我没有以正确的方式解决这个问题。

    多谢

field exception quickfix fix-protocol quickfixn

4
推荐指数
1
解决办法
3639
查看次数

使用 stunnel 建立与 DUKASCOPY 的连接

寻找一些帮助,通过 FIX4.4 协议使用 stunnel 和 quickfix python 与我的经纪人 DUKASCOPY 建立连接。

这是我的 stunnel 配置:

client = yes
cert = /etc/stunnel/stunnel.pem

[OKSERVER]
accept = 9443
connect = demo-api.dukascopy.com:10443
Run Code Online (Sandbox Code Playgroud)

我的 quickfix cfg 文件:

[DEFAULT]
ConnectionType=initiator
LogonTimeout=30
ReconnectInterval=30
ResetOnLogon=Y
FileLogPath=./Logs/

[SESSION]
BeginString=FIX.4.4
SenderCompID=SENDER_ID # replaced with anonymous value for this post
TargetCompID=TARGET_ID # replaced with anonymous value for this post
StartTime=00:00:00
EndTime=00:00:00
HeartBtInt=30
CheckLatency=N
MaxLatency=240
SocketConnectPort=10443
SocketConnectHost=demo-api.dukascopy.com
UseDataDictionary=Y
DataDictionary=/home/jaspal/qfsample/quickfix/spec/FIX44.xml
FileStorePath=./Sessions/
Run Code Online (Sandbox Code Playgroud)

当我尝试登录时,我得到:

20181002-22:26:23.972817000 : Created session
20181002-22:26:23.978505000 : Connecting to demo-api.dukascopy.com on port 10443 (Source …
Run Code Online (Sandbox Code Playgroud)

python quickfix stunnel fix-protocol

4
推荐指数
1
解决办法
699
查看次数

OUCH协议和FIX协议有什么区别。两个协议的消息看起来非常相似

我们之前正在使用修复,但客户说实施 OUCH 来进行交易,因为这样更快。我在网上查了一下,消息看起来很相似。它如何获得速度优势。请给我一些示例消息

fix-protocol

4
推荐指数
1
解决办法
3772
查看次数

是什么导致 QuickFIX/J 中出现“Disconnecting: E​​ncountered END_OF_STREAM”会话消息?

我在Apache Camel 2.17.0 中使用QuickFIX/J版本 1.6.4并且我收到会话消息。这不是错误,但在我的情况下,它会导致无意的LogoffDisconnecting: Encountered END_OF_STREAM

什么情况会导致此消息,我如何分析我的案例中的哪种情况是原因?

quickfix fix-protocol quickfixj camel-quickfix

4
推荐指数
2
解决办法
2097
查看次数