ForexTrading ブローカーの FIX API に接続して、取引をしようとしています。
私は .net の 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のページでは、threadedacceptor を socketinitiatorに置き換えるだけでよいと書かれています。しかし、この開始線を通過することはできません。