示例#1
0
        private MT4SettingPacket SaveSetting()
        {
            MT4SettingPacket SettingPck = new MT4SettingPacket();

            SettingPck.Port1      = m_txtPortNo1.Text;
            SettingPck.AccountNo1 = m_txtLoginID1.Text;
            SettingPck.Password1  = m_txtPassword1.Text;
            SettingPck.MT4Server1 = m_txtMT4Server1.Text;
            SettingPck.slippage1  = m_numSloppage1.Value.ToString();

            SettingPck.Port2      = m_txtPortNo2.Text;
            SettingPck.AccountNo2 = m_txtLoginID2.Text;
            SettingPck.Password2  = m_txtPassword2.Text;
            SettingPck.MT4Server2 = m_txtMT4Server2.Text;
            SettingPck.slippage2  = m_numSloppage2.Value.ToString();

            SettingPck.SpreadToOpen          = m_numSpreadOpenThreshold.Value.ToString();
            SettingPck.SpreadToClose         = m_numSpreadCloseThreshold.Value.ToString();
            SettingPck.CurrencyPair          = m_comboCurrencyPairs.Text;
            SettingPck.MarginTargetPercent   = m_txtRemainMarginTarget.Text;
            SettingPck.LowLimitMarginPercent = m_txtLowLimitPercent.Text;
            SettingPck.SpliteCount           = m_numSplitCnt.Value.ToString();
            SettingPck.UsernameToRebalance   = m_txtUAGTRADE_Username.Text;
            SettingPck.PasswordToRebalance   = m_txtUAGTRADE_Password.Text;
            SettingPck.WithdrawRetryCount    = m_numWithrawRetryCount.Text;
            SettingPck.DepositeRetryCount    = m_numDepositeRetryCount.Text;
            SettingPck.MagicNumbersToClose   = m_txtMagicNumbersToClose.Text;

            WriteToXmlFile("SettingData.xml", SettingPck);

            return(SettingPck);
        }
示例#2
0
        public void ProcessDataReceived(string RcvData)
        {
            SocketPacket SP      = JsonConvert.DeserializeObject <SocketPacket>(RcvData);
            string       typeVal = SP.type;
            object       dataVal = SP.data;

            MT4SettingPacket MT4Setting = new MT4SettingPacket();

            switch (typeVal)
            {
            case "userid":
                UserConnected(dataVal.ToString());
                break;

            case "DisconnectedUser":
                UserDisconnected();
                break;



            case "TryLogin":
                MT4Setting = JsonConvert.DeserializeObject <MT4SettingPacket>(dataVal.ToString());
                MT4SettingReceived("TryLogin", MT4Setting);
                break;

            case "TryDisconnect":
                MT4SettingReceived("TryDisconnect", null);
                break;

            case "TrySelectCurrency":
                MT4Setting = JsonConvert.DeserializeObject <MT4SettingPacket>(dataVal.ToString());
                MT4SettingReceived("TrySelectCurrency", MT4Setting);
                break;

            case "TryReBalance":
                MT4Setting = JsonConvert.DeserializeObject <MT4SettingPacket>(dataVal.ToString());
                MT4SettingReceived("TryReBalance", MT4Setting);
                break;

            case "TryStartToOpen":
                MT4Setting = JsonConvert.DeserializeObject <MT4SettingPacket>(dataVal.ToString());
                MT4SettingReceived("TryStartToOpen", MT4Setting);
                break;

            case "TryStartToClose":
                MT4Setting = JsonConvert.DeserializeObject <MT4SettingPacket>(dataVal.ToString());
                MT4SettingReceived("TryStartToClose", MT4Setting);
                break;

            case "TrySaveSetting":
                MT4Setting = JsonConvert.DeserializeObject <MT4SettingPacket>(dataVal.ToString());
                MT4SettingReceived("TrySaveSetting", MT4Setting);
                break;
            }
        }
示例#3
0
        private void LoadSetting(MT4SettingPacket SettingPck)
        {
            RunOnUiThread(() =>
            {
                if (SettingPck.Port1 != null || SettingPck.Port1 != "")
                {
                    m_txtPortNo1.Text = SettingPck.Port1;
                }

                m_txtLoginID1.Text   = SettingPck.AccountNo1;
                m_txtPassword1.Text  = SettingPck.Password1;
                m_txtMT4Server1.Text = SettingPck.MT4Server1;
                m_numSloppage1.Value = decimal.Parse(SettingPck.slippage1);

                if (SettingPck.Port2 != null || SettingPck.Port2 != "")
                {
                    m_txtPortNo2.Text = SettingPck.Port2;
                }

                m_txtLoginID2.Text   = SettingPck.AccountNo2;
                m_txtPassword2.Text  = SettingPck.Password2;
                m_txtMT4Server2.Text = SettingPck.MT4Server2;
                m_numSloppage2.Value = decimal.Parse(SettingPck.slippage2);

                m_numSpreadOpenThreshold.Value  = decimal.Parse(SettingPck.SpreadToOpen);
                m_numSpreadCloseThreshold.Value = decimal.Parse(SettingPck.SpreadToClose);
                m_comboCurrencyPairs.Text       = SettingPck.CurrencyPair;
                m_txtRemainMarginTarget.Text    = SettingPck.MarginTargetPercent;
                m_txtLowLimitPercent.Text       = SettingPck.LowLimitMarginPercent;
                m_numSplitCnt.Value             = decimal.Parse(SettingPck.SpliteCount);
                m_txtUAGTRADE_Username.Text     = SettingPck.UsernameToRebalance;
                m_txtUAGTRADE_Password.Text     = SettingPck.PasswordToRebalance;
                m_numWithrawRetryCount.Value    = decimal.Parse(SettingPck.WithdrawRetryCount);
                m_numDepositeRetryCount.Value   = decimal.Parse(SettingPck.DepositeRetryCount);
                m_txtMagicNumbersToClose.Text   = SettingPck.MagicNumbersToClose;
            });
        }
示例#4
0
        private void m_btnSaveSettings_Click(object sender, EventArgs e)
        {
            MT4SettingPacket SettingPck = SaveSetting();

            WSNode.SendDataToUser("MT4Settings", SettingPck);
        }
示例#5
0
        /// <summary>
        /// Functions From UI!!!
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>

        private void TerminalManager_Load(object sender, EventArgs e)
        {
            MT4SettingPacket SettingPck = ReadFromXmlFile <MT4SettingPacket>("SettingData.xml");

            LoadSetting(SettingPck);
        }
示例#6
0
        private void OnMT4Setting(string strCommand, MT4SettingPacket MT4SettingPck)
        {
            if (strCommand == "TryLogin")
            {
                int.TryParse(m_txtPortNo1.Text, out nPort1);
                int.TryParse(m_txtPortNo2.Text, out nPort2);

                strlogin1     = MT4SettingPck.AccountNo1.ToString();
                strPassword1  = MT4SettingPck.Password1;
                strMT4Server1 = MT4SettingPck.MT4Server1;
                strlogin2     = MT4SettingPck.AccountNo2.ToString();
                strPassword2  = MT4SettingPck.Password2;
                strMT4Server2 = MT4SettingPck.MT4Server2;

                TryLogin();
            }
            else if (strCommand == "TryDisconnect")
            {
                TryDisconnect();
            }
            else if (strCommand == "TrySelectCurrency")
            {
                strCurrentSymbol = MT4SettingPck.CurrencyPair;
                TrySelectCurrency();
            }
            else if (strCommand == "TryReBalance")
            {
                UAGTRADE_Username   = MT4SettingPck.UsernameToRebalance;
                UAGTRADE_Password   = MT4SettingPck.PasswordToRebalance;
                nWithrawRetryCount  = int.Parse(MT4SettingPck.WithdrawRetryCount);
                nDepositeRetryCount = int.Parse(MT4SettingPck.DepositeRetryCount);
                TryReBalance();
            }
            else if (strCommand == "TryStartToOpen")
            {
                nSlippage1           = int.Parse(MT4SettingPck.slippage1);
                nSlippage2           = int.Parse(MT4SettingPck.slippage2);
                nSpreadOpenThreshold = int.Parse(MT4SettingPck.SpreadToOpen);
                dMarginTarget        = double.Parse(MT4SettingPck.MarginTargetPercent);
                nSplitCnt            = int.Parse(MT4SettingPck.SpliteCount);

                string strSymbol1 = MT4Ctrl1.currentQuote.Instrument;
                string strSymbol2 = MT4Ctrl2.currentQuote.Instrument;

                if (strSymbol1 == strSymbol2 && strSymbol1 != "")
                {
                    strCurrentSymbol = strSymbol1;
                    bWorking         = true;
                }
            }
            else if (strCommand == "TryStartToClose")
            {
                dLowLimitMargin               = double.Parse(MT4SettingPck.LowLimitMarginPercent);
                nSpreadCloseThreshold         = (int)m_numSpreadCloseThreshold.Value;
                m_txtMagicNumbersToClose.Text = MT4SettingPck.MagicNumbersToClose;

                listMagicNumberToClose.Clear();
                foreach (string strMagicNumber in m_txtMagicNumbersToClose.Text.Split(','))
                {
                    listMagicNumberToClose.Add(int.Parse(strMagicNumber));
                }

                bCloseOrderWorking = true;
            }
            else if (strCommand == "TrySaveSetting")
            {
                LoadSetting(MT4SettingPck);
                SaveSetting();
            }
        }