Exemplo n.º 1
0
        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>();
        }
Exemplo n.º 2
0
 public AccountManager(
     ILogger logger, MasterUserService masterUserService, ProductService productService,
     MT4Manager mt4Manager)
 {
     m_ptrLogger        = new ServerLogger(logger, nameof(AccountManager));
     _masterUserService = masterUserService;
     _productService    = productService;
     _mt4Manager        = mt4Manager;
 }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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());
        }
Exemplo n.º 9
0
        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());
        }
Exemplo n.º 10
0
        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));
        }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 12
0
 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;
 }
Exemplo n.º 13
0
        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);
        }
Exemplo n.º 14
0
        public static bool CheckConnection(this MT4Manager manager)
        {
            var result = manager.IsConnected();

            if (!result)
            {
                return(result);
            }

            try
            {
                manager.Ping();
            }
            catch
            {
                result = false;
            }

            return(result);
        }
Exemplo n.º 15
0
        /// <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) { }
            }
        }
Exemplo n.º 16
0
 public static List <TradeRecord> ReportsRequest(this MT4Manager manager, ReportGroupRequest reportRequest, IEnumerable <Int32> logins)
 {
     return(manager.ReportsRequest(reportRequest, logins.ToArray()));
 }
Exemplo n.º 17
0
 public static List <TradeRecord> ReportsRequest(this MT4Manager manager, ReportGroupRequest reportRequest, Int32 login)
 {
     return(manager.ReportsRequest(reportRequest, new Int32[] { login }));
 }
Exemplo n.º 18
0
        /// <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);
            }
        }
Exemplo n.º 19
0
        /// <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);
        }
Exemplo n.º 20
0
 public static List <UserRecord> UserRecordsRequest(this MT4Manager mt4, int codePage, params Int32[] logins)
 {
     return(mt4.UserRecordsRequest(logins.ToArray(), codePage));
 }
Exemplo n.º 21
0
 /// <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());
 }
Exemplo n.º 22
0
 public static List <DailyReport> DailyReportsRequest(this MT4Manager manager, DailyGroupRequest req, IEnumerable <Int32> logins)
 {
     return(manager.DailyReportsRequest(req, logins.ToArray()));
 }
Exemplo n.º 23
0
        //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);
        }
Exemplo n.º 24
0
 public static void Communication(this MT4Manager manager, MT4ConnectOption connection)
 {
     manager.Connect(connection.server);
     manager.Login(connection.login, connection.password);
 }
Exemplo n.º 25
0
 public static List <DailyReport> DailyReportsRequest(this MT4Manager manager, DailyGroupRequest req, Int32 login)
 {
     return(manager.DailyReportsRequest(req, new Int32[] { login }));
 }
Exemplo n.º 26
0
        //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));
        }
Exemplo n.º 27
0
 /// <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());
 }
Exemplo n.º 28
0
 public static void UsersGroupOp(this MT4Manager mt4, GroupCommandInfo info, IEnumerable <int> logins)
 {
     mt4.UsersGroupOp(info, logins.ToArray());
 }
Exemplo n.º 29
0
        public static List <UserRecord> BackupRequestUsers(this MT4Manager mt4, string file, Int32[] logins)
        {
            var request = string.Join(",", logins);

            return(mt4.BackupRequestUsers(file, request));
        }
Exemplo n.º 30
0
 public static void ChartUpdate(this MT4Manager mt4, string symbol, ChartPeriod period, IEnumerable <RateInfo> rates)
 {
     mt4.ChartUpdate(symbol, period, rates.ToArray());
 }