Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // my "usings"
- using System;
- using System.Collections.Generic;
- using System.Threading.Tasks;
- //using System.Linq;
- //using System.Text;
- using TaiPanRTLib;
- using System.Text.RegularExpressions;
- //using System.Collections.ObjectModel;
- using System.Runtime.InteropServices;
- // a plublic class which runs our stream
- public class run_stream
- {
- private TaiPanRealtime m_tpr = null;
- private DataStream m_datastream = null;
- public string ex_name = null;
- public void start()
- {
- var logger = new logger();
- if (m_tpr == null)
- {
- m_tpr = new TaiPanRealtime();
- m_datastream = m_tpr.DataStream as DataStream;
- var datastreamEx = m_datastream as IDataStreamEx;
- datastreamEx.EnableExEvent();
- m_datastream.ExEvent += M_datastream_ExEvent;
- }
- // random sleep
- Random rnd = new Random(); int sleep = 0;
- if (global.primarys.Contains(ex_name))
- { sleep = rnd.Next(10, 20); } else { sleep = rnd.Next(100, 120); } // jet another getho soulution - just ignmore me ;)
- // Add symbols to Strem
- foreach (int db_num in global.dict["data"][ex_name]["dbnum"])
- {
- logger.log( db_num.ToString() ); // dbnums are correct i double-tripple-ultrachecked em
- m_datastream.Add(db_num, 0); // at first just bezahlt kurse
- }
- // output okay
- logger.log(ex_name + " launched.");
- // while exchange is open, chill your base
- var wd = new stream_handle();
- while (wd.ex_open(ex_name))
- {
- System.Threading.Thread.Sleep(sleep);
- }
- // remove symbols now from Stream
- foreach (int db_num in global.dict["data"][ex_name]["dbnum"])
- {
- m_datastream.Remove(db_num);
- }
- // Close connection
- m_tpr.Quit();
- }
- private void M_datastream_Bezahlt(int SymbolNr, float Kurs, float Volume, DateTime Zeit)
- {
- var logger = new logger();
- // ignore me - just where i insert the Data
- int g_spot = global.dict["data"][ex_name]["dbnum"].IndexOf(SymbolNr);
- // never produces any output
- logger.log("event for " + ex_name + " index= " + g_spot);
- }
- private void M_datastream_ExEvent([System.Runtime.InteropServices.ComAliasName("TaiPanRTLib.TPRStreamEventID")] TPRStreamEventID nEventID, int SymbolNr, float Kurs, float Volume, DateTime Zeit, int LongValue)
- {
- var logger = new logger();
- // never produces any output
- logger.log("event: " + nEventID);
- switch (nEventID)
- {
- case TPRStreamEventID.TPRStreamEvent_Price:
- M_datastream_Bezahlt(SymbolNr, Kurs, Volume, Zeit);
- break;
- case TPRStreamEventID.TPRStreamEvent_Bid:
- break;
- case TPRStreamEventID.TPRStreamEvent_Ask:
- break;
- case TPRStreamEventID.TPRStreamEvent_MDBid:
- break;
- case TPRStreamEventID.TPRStreamEvent_MDAsk:
- break;
- case TPRStreamEventID.TPRStreamEvent_OI:
- break;
- case TPRStreamEventID.TPRStreamEvent_OpenCorrection:
- break;
- case TPRStreamEventID.TPRStreamEvent_HighCorrection:
- break;
- case TPRStreamEventID.TPRStreamEvent_LowCorrection:
- break;
- case TPRStreamEventID.TPRStreamEvent_VolumeCorrection:
- break;
- case TPRStreamEventID.TPRStreamEvent_AuctionPrice:
- break;
- case TPRStreamEventID.TPRStreamEvent_Status:
- break;
- default:
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement