Refactored MTApiService and connectors projects

This commit is contained in:
DW
2017-09-07 17:46:25 +03:00
parent 3a62ff56d7
commit 1f72b2b790
12 changed files with 181 additions and 413 deletions
+47 -13
View File
@@ -36,12 +36,48 @@ namespace MTApiService
#region Public Methods
public void InitExpert(int expertHandle, int port, string symbol, double bid, double ask, IMetaTraderHandler mtHandler)
{
if (mtHandler == null)
throw new ArgumentNullException(nameof(mtHandler));
//public void InitExpert(int expertHandle, int port, string symbol, double bid, double ask, IMetaTraderHandler mtHandler)
//{
// if (mtHandler == null)
// throw new ArgumentNullException(nameof(mtHandler));
Log.InfoFormat("InitExpert: begin. symbol = {0}, expertHandle = {1}, port = {2}", symbol, expertHandle, port);
// Log.InfoFormat("InitExpert: begin. symbol = {0}, expertHandle = {1}, port = {2}", symbol, expertHandle, port);
// MtServer server;
// lock (_servers)
// {
// if (_servers.ContainsKey(port))
// {
// server = _servers[port];
// }
// else
// {
// server = new MtServer(port);
// server.Stopped += server_Stopped;
// _servers[port] = server;
// server.Start();
// }
// }
// var expert = new MtExpert(expertHandle, new MtQuote { Instrument = symbol, Bid = bid, Ask = ask, ExpertHandle = expertHandle }, mtHandler);
// lock (_experts)
// {
// _experts[expert.Handle] = expert;
// }
// server.AddExpert(expert);
// Log.Info("InitExpert: end");
//}
public void AddExpert(int port, MtExpert expert)
{
if (expert == null)
throw new ArgumentNullException(nameof(expert));
Log.InfoFormat("AddExpert: begin. expert = {0}", expert);
MtServer server;
lock (_servers)
@@ -60,8 +96,6 @@ namespace MTApiService
}
}
var expert = new MtExpert(expertHandle, new MtQuote { Instrument = symbol, Bid = bid, Ask = ask, ExpertHandle = expertHandle }, mtHandler);
lock (_experts)
{
_experts[expert.Handle] = expert;
@@ -69,12 +103,12 @@ namespace MTApiService
server.AddExpert(expert);
Log.Info("InitExpert: end");
Log.Info("AddExpert: end");
}
public void DeinitExpert(int expertHandle)
public void RemoveExpert(int expertHandle)
{
Log.InfoFormat("DeinitExpert: begin. expertHandle = {0}", expertHandle);
Log.InfoFormat("RemoveExpert: begin. expertHandle = {0}", expertHandle);
MtExpert expert = null;
@@ -93,10 +127,10 @@ namespace MTApiService
}
else
{
Log.WarnFormat("DeinitExpert: expert with id {0} has not been found.", expertHandle);
Log.WarnFormat("RemoveExpert: expert with id {0} has not been found.", expertHandle);
}
Log.Info("DeinitExpert: end");
Log.Info("RemoveExpert: end");
}
public void SendQuote(int expertHandle, string symbol, double bid, double ask)
@@ -111,7 +145,7 @@ namespace MTApiService
if (expert != null)
{
expert.Quote = new MtQuote { Instrument = symbol, Bid = bid, Ask = ask, ExpertHandle = expertHandle };
expert.SendQuote(new MtQuote { Instrument = symbol, Bid = bid, Ask = ask, ExpertHandle = expertHandle });
}
else
{