public TFComController() { var credential = _configuration.GetCredential(); var server = _configuration.GetServerInfo(); _tfcom = new TaiFexCom(server.Item1, server.Item2, "API"); Console.WriteLine(@"Initialization for TaiFexCom version {0}", _tfcom.version); _tfcom.OnRcvMessage += OnRcvMessage_EventHandler; _tfcom.OnGetStatus += OnGetStatus_EventHandler; _tfcom.OnRcvServerTime += OnRcvServerTime_EventHandler; _tfcom.OnRecoverStatus += OnRecoverStatus_EvenHandler; _tfcom.LoginDirect(server.Item1, server.Item2, credential.Item1, credential.Item2, ' '); }
static void Main(string[] args) { quotecom = new Intelligence.QuoteCom(host, port, SID, Token); //接收證券行情物件 quotecom.SourceId = SID; quotecom.OnRcvMessage += OnQuoteRcvMessage; quotecom.OnGetStatus += OnQuoteGetStatus; quotecom.OnRecoverStatus += OnRecoverStatus; tfcom = new Smart.TaiFexCom(host, port, SID); // 券證下單物件 tfcom.OnRcvMessage += OntfcomRcvMessage; //資料接收事件 tfcom.OnGetStatus += OntfcomGetStatus; //狀態通知事件 //tfcom.OnRcvServerTime += OntfcomRcvServerTime; //接收主機時間 //tfcom.OnRecoverStatus += OntfcomRecoverStatus; //回補狀態通知 tfcom.LoginDirect(host, port, id, pwd, ' '); tfcom.AutoSubReportSecurity = true; tfcom.AutoRecoverReport = true; Console.ReadLine(); quotecom.Connect2Quote(host, port, id, pwd, area, ""); Console.ReadLine(); quotecom.SubQuotesDepth("6223"); quotecom.SubQuotesMatch("6223"); Console.ReadLine(); TradeBotBase tb = new TradeBotQA("6223", brokerid, account, 1, quotecom, tfcom, 1.5, 109, 100, BuyMode.Auto, StopLossMode.Auto, LockGainMode.Auto); tb.StatusChange += ShowChanges; tb.Start(); //AddInfo(tfcom.Accounts); //Console.WriteLine(brokerid); //Console.WriteLine(account); Console.ReadLine(); tb.BuyStock(); Console.ReadLine(); tb.SellStock(); //quotecom.SubQuotesDepth("2317"); //quotecom.SubQuotesMatch("2317"); //Console.ReadLine(); //TradeBot tb2 = new TradeBot("2317", brokerid, account, 1, quotecom, tfcom,1.5); //tb2.StatusChange += ShowChanges; //tb2.Start(); }
public static void initial() { msg trademsg = new msg(); while (Login.kgitrade_test_mode == 2) Thread.Sleep(1000); if (Login.kgitrade_test_mode == 1) { Console.WriteLine("Study mode.\nDon't connect to Kgi server."); while (true) Thread.Sleep(1000); } else if (Login.kgitrade_test_mode == 0) // Real Trade { tfcom = new TaiFexCom(Login.Srv("T"), Login.Port, "API", false); tfcom.ConnectTimeout = 5000; //連線time out 時間 1/1000 秒 tfcom.AutoRetriveProductInfo = false; tfcom.AutoSubReport = false; tfcom.AutoRecoverReport = false; tfcom.AutoRecoverReportForeign = false; tfcom.OnRcvMessage += trademsg.OnRcvMessage; //資料接收事件 tfcom.OnGetStatus += trademsg.OnGetStatus; //狀態通知事件 tfcom.OnRcvServerTime += trademsg.OnRcvServerTime; //接收主機時間 tfcom.OnRecoverStatus += trademsg.OnRecoverStatus; //回補狀態通知 tfcom.LoginDirect(Login.Srv("T"), Login.Port, Login.ID, Login.PW(), ' '); while (msg.kgitradesrv == false) { msg.kgitradesrv_wdg = true; Thread.Sleep(1000); } Console.WriteLine("Check Qty"); checkqty(); //確認庫存 RequestId = tfcom.GetRequestId(); //取得送單序號 Console.WriteLine("Get Trade licence : " + RequestId.ToString()); fullsymbol = Login.tradeobj;// tfcom.GenFutSymbol(Login.tradeobj, Login.YM, ""); Console.WriteLine("Trade Obj : "+ fullsymbol); while (true) { while (msg.kgitradesrv == false) { tfcom.LoginDirect(Login.Srv("T"), Login.Port, Login.ID, Login.PW(), ' '); Console.WriteLine("Kgi Trade srv try con."); Thread.Sleep(3000); if (msg.kgitradesrv == true) { msg.kgitradesrv_wdg = true; Console.WriteLine("Kgi Trade srv connected"); } } Thread.Sleep(1000); while (msg.kgitradesrv_wdg) { msg.kgitradesrv_wdg = false; tfcom.GetAccountList(); Thread.Sleep(26000); } msg.kgitradesrv = false; Console.WriteLine("Kgi trade srv WDG false"); Thread.Sleep(1000); } } }