我正在尝试连接到Forex交易经纪商FIX API并做一些交易。
我尽力阅读.net的Quickfix。并且几乎了解quickfix如何工作的过程。但是,当我尝试启动socketinitiator时,我没有这样做,并且VS 2012没有任何投诉和例外。它只是卡在那里。
这是我的代码:
private void iFind_ItemClick(object sender, ItemClickEventArgs e)
{
try
{
QuickFix.SessionSettings settings = new QuickFix.SessionSettings("C:\\Users\\Administrator\\Documents\\My Box Files(shewenhao@hotmail.com)\\Work With Mr.Liu\\ForexAutoTradingSystem\\ForexAutoTradingSystem\\integralfix.cfg");
IntegralFixAPI integralFixAPIApplication = new IntegralFixAPI();
QuickFix.IMessageStoreFactory storeFactory = new QuickFix.FileStoreFactory(settings);
QuickFix.ILogFactory logFactory = new QuickFix.ScreenLogFactory(settings);
QuickFix.Transport.SocketInitiator initiator = new QuickFix.Transport.SocketInitiator(
integralFixAPIApplication, storeFactory, settings, logFactory);
MessageBox.Show(settings.ToString());
integralFixAPIApplication.MyInitiator = initiator;
initiator.Start();
while (true)
{
Thread.Sleep(200);
MessageBox.Show("true");
}
//initiator.Stop();
}
catch (System.Exception systeme)
{
Console.WriteLine(systeme.Message);
Console.WriteLine(systeme.StackTrace);
}
}
您可能会注意到我在SocketInitiator正下方有一个MessageBox,它会在此QuickFix.Transport.SocketInitiator行之前弹出。我不明白为什么我在这一点上失败了。在quickfix .Net http://quickfixn.org/tutorial/creating-an-application的页面上,它表示您只需要使用socketinitiator替换threadedacceptor。但是,我无法通过这条起始线。