public MT4Cashback(IOptions <CashbackOption> option, ILoggerFactory loggerFactory) { this.option = option; pumping = new MT4Manager(this.option.Value.native); manager = new MT4Manager(this.option.Value.native); logger = loggerFactory.CreateLogger <MT4Cashback>(); }
public AccountManager( ILogger logger, MasterUserService masterUserService, ProductService productService, MT4Manager mt4Manager) { m_ptrLogger = new ServerLogger(logger, nameof(AccountManager)); _masterUserService = masterUserService; _productService = productService; _mt4Manager = mt4Manager; }
public void auto_reconnect_if_disconnected_in_request_returned_array() { var manager = new MT4Manager(options); manager.Connect(connect.server); manager.Login(connect.login, connect.password); manager.Disconnect(); Assert.NotEmpty(manager.TradesRequest(1251)); }
public static void BalanceOperation(this MT4Manager mt4, int login, double amount, int codePage, [Optional] string comment) { var operation = new MT4BalanceOperation() { Login = login, Amount = amount, Comment = comment }; mt4.BalanceOperation(operation, codePage); }
public void auto_reconnect_if_disconnected_in_request() { var manager = new MT4Manager(options); manager.Connect(connect.server); manager.Login(connect.login, connect.password); manager.Disconnect(); var ex = Record.Exception(() => manager.SymbolsRefresh()); Assert.Null(ex); }
public void auto_reconnect_if_disconnected_in_request_data() { var manager = new MT4Manager(options); manager.Connect(connect.server); manager.Login(connect.login, connect.password); manager.Disconnect(); var ex = Record.Exception(() => manager.CfgRequestCommon(1251)); Assert.Null(ex); }
public static void CreditOperation(this MT4Manager mt4, int login, double amount, int codePage, [Optional] string comment, [Optional] DateTime expiration) { var operation = new MT4CreditOperation() { Login = login, Amount = amount, Comment = comment, Expiration = expiration == DateTime.MinValue ? mt4.ServerTime().AddMonths(50) : expiration }; mt4.CreditOperation(operation, codePage); }
public void request_not_correspond_in_pumping() { var manager = new MT4Manager(options); manager.Connect(connect.server); manager.Login(connect.login, connect.password); manager.PumpingSwitch(code => { }, IntPtr.Zero, 0, 0); Assert.Throws <MT4RequestNotCorrespondException>(() => manager.Ping()); }
public static void BackupRestoreUsers(this MT4Manager mt4, IEnumerable <Int32> logins, int codePage) { var users = new List <UserRecord>(); foreach (var item in logins) { users.Add(new UserRecord(codePage) { Login = item }); } mt4.BackupRestoreUsers(users.ToArray()); }
public static List <TradeRestoreResult> BackupRestoreOrders(this MT4Manager mt4, IEnumerable <Int32> tickets, int codePage) { var orders = new List <TradeRecord>(); foreach (var item in tickets) { orders.Add(new TradeRecord(codePage) { Order = item }); } return(mt4.BackupRestoreOrders(orders.ToArray(), codePage)); }
public void check_pumping_functions() { var manager = new MT4Manager(options); manager.Connect(connect.server); manager.Login(connect.login, connect.password); manager.PumpingSwitchEx(0, 0); var newsTotal = manager.NewsTotal(); var news = manager.NewsGet(1251); var users = manager.GroupsGet(1251); Assert.True(true); }
public FollowingManager( ILogger logger, MasterUserSettingService masterSettingsService, FollowerService followerService, SignalService signalService, MT4Manager mt4Manager, MasterUserService masterUserService) { m_ptrLogger = new ServerLogger(logger, nameof(FollowingManager)); _masterSettingsService = masterSettingsService; _followerService = followerService; _signalService = signalService; _mt4Manager = mt4Manager; _masterUserService = masterUserService; }
protected virtual object CreateModel(MT4Manager manager, ModelBindingContext bindingContext) { var codePage = bindingContext.CodePage(); switch (bindingContext.ModelType.Name) { case "ConSymbol": var value = bindingContext.GetParameterValue("Name"); return(manager.CfgRequestSymbol(codePage).Where(p => p.Name == value).First()); default: break; } return(null); }
public static bool CheckConnection(this MT4Manager manager) { var result = manager.IsConnected(); if (!result) { return(result); } try { manager.Ping(); } catch { result = false; } return(result); }
/// <summary> /// Производит реконнект к серверу /// Функция используется в асинхронном режиме /// </summary> public static void ReconnectOnServer(this MT4Manager mt4Service, MT4ConnectOption setting) { while (true) { try { mt4Service.Connect(setting.server); mt4Service.Login(setting.login, setting.password); if (!mt4Service.CheckConnection()) { continue; } break; } catch (MT4NetworkProblemExeption) { } catch (MT4NoConnectionExeption) { } catch (MT4CommonErrorExeption) { } } }
public static List <TradeRecord> ReportsRequest(this MT4Manager manager, ReportGroupRequest reportRequest, IEnumerable <Int32> logins) { return(manager.ReportsRequest(reportRequest, logins.ToArray())); }
public static List <TradeRecord> ReportsRequest(this MT4Manager manager, ReportGroupRequest reportRequest, Int32 login) { return(manager.ReportsRequest(reportRequest, new Int32[] { login })); }
/// <summary> /// Создает на сервере указанные счета с указанными параметрами на счете /// </summary> /// <param name="users">Список счетов для создания</param> /// <returns></returns> public static IEnumerable <KeyValuePair <UserRecord, string> > UserRecordsNew(this MT4Manager mt4, IEnumerable <UserRecord> users) { if (users != null && users.Count() > 0) { var success = new Dictionary <UserRecord, string>(); var failed = new Dictionary <UserRecord, string>(); foreach (var user in users) { try { var newUser = mt4.UserRecordNew(user); success.Add(newUser, "ok"); } catch (Exception e) { failed.Add(user, e.Message); } } return(success.Union(failed)); } else { return(null); } }
/// <summary> /// Добавляет кредитную операцию на счет /// </summary> /// <param name="mt4"></param> /// <param name="operation">Операцию, которую необходимо добавить</param> /// <param name="tocken"></param> /// <returns></returns> public static void CreditOperation(this MT4Manager mt4, MT4CreditOperation operation, int codePage) { var transeInfo = operation.ToTradeTransInfo(codePage); transeInfo = mt4.TradeTransaction(transeInfo); }
public static List <UserRecord> UserRecordsRequest(this MT4Manager mt4, int codePage, params Int32[] logins) { return(mt4.UserRecordsRequest(logins.ToArray(), codePage)); }
/// <summary> /// Возвращает информацию по запрошенному ордеру /// </summary> /// <param name="order"></param> /// <returns></returns> public static TradeRecord TradeRequest(this MT4Manager mt4, Int32 order, int codePage) { return((mt4.TradeRecordsRequest(new Int32[] { order }, codePage)).FirstOrDefault()); }
public static List <DailyReport> DailyReportsRequest(this MT4Manager manager, DailyGroupRequest req, IEnumerable <Int32> logins) { return(manager.DailyReportsRequest(req, logins.ToArray())); }
//public static void BackupRestoreUsers(this MT4Manager mt4, Int32[] logins) //{ // mt4.BackupRestoreUsers(logins.ToList()); //} public static void BackupRestoreUsers(this MT4Manager mt4, Int32 login, int codePage) { mt4.BackupRestoreUsers(new Int32[] { login }, codePage); }
public static void Communication(this MT4Manager manager, MT4ConnectOption connection) { manager.Connect(connection.server); manager.Login(connection.login, connection.password); }
public static List <DailyReport> DailyReportsRequest(this MT4Manager manager, DailyGroupRequest req, Int32 login) { return(manager.DailyReportsRequest(req, new Int32[] { login })); }
//public static void BackupRestoreOrders(this MT4Manager mt4, Int32[] tickets) //{ // mt4.BackupRestoreOrders(tickets.ToList()); //} public static List <TradeRestoreResult> BackupRestoreOrders(this MT4Manager mt4, Int32 ticket, int codePage) { return(mt4.BackupRestoreOrders(new Int32[] { ticket }, codePage)); }
/// <summary> /// Возвращает данные о пользователе по его номеру счета /// </summary> /// <param name="login"></param> /// <returns></returns> public static UserRecord UserRequest(this MT4Manager mt4, Int32 login, int codePage) { return((mt4.UserRecordsRequest(codePage, new Int32[] { login })).FirstOrDefault()); }
public static void UsersGroupOp(this MT4Manager mt4, GroupCommandInfo info, IEnumerable <int> logins) { mt4.UsersGroupOp(info, logins.ToArray()); }
public static List <UserRecord> BackupRequestUsers(this MT4Manager mt4, string file, Int32[] logins) { var request = string.Join(",", logins); return(mt4.BackupRequestUsers(file, request)); }
public static void ChartUpdate(this MT4Manager mt4, string symbol, ChartPeriod period, IEnumerable <RateInfo> rates) { mt4.ChartUpdate(symbol, period, rates.ToArray()); }