Advertisement
Guest User

Untitled

a guest
Jul 24th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.13 KB | None | 0 0
  1. // my "usings"
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Threading.Tasks;
  5. //using System.Linq;
  6. //using System.Text;
  7. using TaiPanRTLib;
  8. using System.Text.RegularExpressions;
  9. //using System.Collections.ObjectModel;
  10. using System.Runtime.InteropServices;
  11.  
  12. // a plublic class which runs our stream
  13. public class run_stream
  14. {
  15.  
  16. private TaiPanRealtime m_tpr = null;
  17. private DataStream m_datastream = null;
  18. public string ex_name = null;
  19.  
  20. public void start()
  21. {
  22.  
  23. var logger = new logger();
  24.  
  25. if (m_tpr == null)
  26. {
  27. m_tpr = new TaiPanRealtime();
  28.  
  29. m_datastream = m_tpr.DataStream as DataStream;
  30. var datastreamEx = m_datastream as IDataStreamEx;
  31. datastreamEx.EnableExEvent();
  32. m_datastream.ExEvent += M_datastream_ExEvent;
  33. }
  34.  
  35. // random sleep
  36. Random rnd = new Random(); int sleep = 0;
  37. if (global.primarys.Contains(ex_name))
  38. { sleep = rnd.Next(10, 20); } else { sleep = rnd.Next(100, 120); } // jet another getho soulution - just ignmore me ;)
  39.  
  40. // Add symbols to Strem
  41. foreach (int db_num in global.dict["data"][ex_name]["dbnum"])
  42. {
  43. logger.log( db_num.ToString() ); // dbnums are correct i double-tripple-ultrachecked em
  44. m_datastream.Add(db_num, 0); // at first just bezahlt kurse
  45. }
  46.  
  47. // output okay
  48. logger.log(ex_name + " launched.");
  49.  
  50. // while exchange is open, chill your base
  51. var wd = new stream_handle();
  52. while (wd.ex_open(ex_name))
  53. {
  54. System.Threading.Thread.Sleep(sleep);
  55. }
  56.  
  57. // remove symbols now from Stream
  58. foreach (int db_num in global.dict["data"][ex_name]["dbnum"])
  59. {
  60. m_datastream.Remove(db_num);
  61. }
  62.  
  63. // Close connection
  64. m_tpr.Quit();
  65. }
  66.  
  67. private void M_datastream_Bezahlt(int SymbolNr, float Kurs, float Volume, DateTime Zeit)
  68. {
  69. var logger = new logger();
  70.  
  71. // ignore me - just where i insert the Data
  72. int g_spot = global.dict["data"][ex_name]["dbnum"].IndexOf(SymbolNr);
  73.  
  74. // never produces any output
  75. logger.log("event for " + ex_name + " index= " + g_spot);
  76. }
  77.  
  78. private void M_datastream_ExEvent([System.Runtime.InteropServices.ComAliasName("TaiPanRTLib.TPRStreamEventID")] TPRStreamEventID nEventID, int SymbolNr, float Kurs, float Volume, DateTime Zeit, int LongValue)
  79. {
  80. var logger = new logger();
  81.  
  82. // never produces any output
  83. logger.log("event: " + nEventID);
  84.  
  85. switch (nEventID)
  86. {
  87. case TPRStreamEventID.TPRStreamEvent_Price:
  88. M_datastream_Bezahlt(SymbolNr, Kurs, Volume, Zeit);
  89. break;
  90. case TPRStreamEventID.TPRStreamEvent_Bid:
  91. break;
  92. case TPRStreamEventID.TPRStreamEvent_Ask:
  93. break;
  94. case TPRStreamEventID.TPRStreamEvent_MDBid:
  95. break;
  96. case TPRStreamEventID.TPRStreamEvent_MDAsk:
  97. break;
  98. case TPRStreamEventID.TPRStreamEvent_OI:
  99. break;
  100. case TPRStreamEventID.TPRStreamEvent_OpenCorrection:
  101. break;
  102. case TPRStreamEventID.TPRStreamEvent_HighCorrection:
  103. break;
  104. case TPRStreamEventID.TPRStreamEvent_LowCorrection:
  105. break;
  106. case TPRStreamEventID.TPRStreamEvent_VolumeCorrection:
  107. break;
  108. case TPRStreamEventID.TPRStreamEvent_AuctionPrice:
  109. break;
  110. case TPRStreamEventID.TPRStreamEvent_Status:
  111. break;
  112. default:
  113. break;
  114. }
  115.  
  116. }
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement