示例#1
0
        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, ' ');
        }
示例#2
0
        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();
        }
示例#3
0
 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);
         }
     }
 }