コード例 #1
0
        public void ShowRobotHintsSafe(BaseRobot robot, List <RobotMark> hints)
        {
            foreach (var hint in hints)
            {
                // определить тикер и таймфрейм
                var ticker    = hint.Symbol;
                var timeframe = BarSettingsStorage.Instance.GetBarSettingsByName(hint.Timeframe);

                if (string.IsNullOrEmpty(ticker) && robot.Graphics.Count > 0)
                {
                    ticker = robot.Graphics[0].a;
                }

                if (timeframe == null && robot.Graphics.Count > 0)
                {
                    timeframe = robot.Graphics[0].b;
                }

                if (string.IsNullOrEmpty(ticker))
                {
                    continue;
                }

                // отыскать график
                foreach (var chart in Charts.Where(c => c.chart.Symbol == ticker && (
                                                       timeframe == null || c.chart.Timeframe == timeframe)))
                {
                    AddOrRemoveRobotHintOnChart(hint, chart);
                }
            }
        }
コード例 #2
0
        public override string ActivateScript(CandleChartControl chart, PointD worldCoords)
        {
            this.chart            = chart;
            scriptActivatedCoords = worldCoords;

            // найти робота / роботов на данный тикер / ТФ
            var robots = MainForm.Instance.RobotFarm.GetRobotCopies();

            robots = robots.Where(r => r.Graphics.Any(g => g.a == chart.chart.Symbol && g.b == chart.chart.Timeframe))
                     .ToList();
            if (robots.Count == 0)
            {
                return("Нет роботов для " + chart.Symbol + ":" + chart.Timeframe);
            }
            selectedBot = robots[0];
            // если роботов несколько - предложить пользователю выбрать интересующего
            if (robots.Count > 1)
            {
                object selectedRobot;
                string inputText;

                if (!Dialogs.ShowComboDialog("Укажите робота",
                                             robots.Cast <object>().ToList(), out selectedRobot,
                                             out inputText))
                {
                    return("робот не выбран из списка");
                }
                selectedBot = (BaseRobot)selectedRobot;
            }

            ShowRobotDataOnChart();

            return("");
        }
コード例 #3
0
 public void SubscribeRobot(BaseRobot robot)
 {
     if (listRobots.IndexOf(robot) == -1)
     {
         listRobots.Add(robot);
     }
 }
コード例 #4
0
 private void Reset()
 {
     tickerTextBox.Text = BaseRobot.GetStringFromTickerTimeframe(robot.Graphics);
     if (robot.Mode == Mt4Robot.RobotMode.УправлятьМТ4)
     {
         modeButton.TextImageRelation = TextImageRelation.TextBeforeImage;
         modeButton.ImageIndex        = 1;
     }
     else
     {
         modeButton.TextImageRelation = TextImageRelation.ImageBeforeText;
         modeButton.ImageIndex        = 0;
     }
     tradeSharpAccountComboBox.Items.Clear();
     if (GetUserOwnedAccounts != null)
     {
         tradeSharpAccountComboBox.Items.AddRange(GetUserOwnedAccounts().Select(a => a as object).ToArray());
     }
     tradeSharpAccountComboBox.Text  = robot.TradeSharpAccount.ToString();
     ignoreMagicCheckBox.Checked     = robot.ControlOrdersDisregardMagic;
     mt4ToTradeSharpRateTextBox.Text = robot.Mt4ToTradeSharpRate.ToString();
     mt4TickerSuffixTextBox.Text     = robot.Mt4TickerSuffix;
     ownPortNumericUpDown.Value      = robot.portOwn;
     mt4AddressTextBox.Text          = robot.HostMt4;
     mt4PortNumericUpDown.Value      = robot.PortMt4;
     percentScaleNumericUpDown.Value = robot.PercentScale;
     fixedVolumeTextBox.Text         = robot.FixedVolume.ToString();
 }
コード例 #5
0
 public void UnsubscribeRobot(BaseRobot robot)
 {
     if (listRobots.IndexOf(robot) != -1)
     {
         listRobots.Remove(robot);
     }
 }
コード例 #6
0
 protected AbnormalState(BaseRobot br, string stataName, int time)
 {
     BR        = br;
     StataName = stataName;
     keep_time = time;
     //todo 可能存在问题
 }
コード例 #7
0
 static void Main(string[] args)
 {
     try
     {
         _robot = new BaseRobot <Program>(args);
         _robot.Start();
     }
     catch (Exception Ex) { Console.WriteLine(Ex.Message); }
 }
コード例 #8
0
        private void TickerButtonClick(object sender, EventArgs e)
        {
            var dlg = new RobotTimeframesForm(BaseRobot.ParseTickerTimeframeString(tickerTextBox.Text));

            if (dlg.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            tickerTextBox.Text = BaseRobot.GetStringFromTickerTimeframe(dlg.UpdatedGraphics);
        }
コード例 #9
0
ファイル: Program.cs プロジェクト: juannoirega/test
 static void Main(string[] args)
 {
     try
     {
         _oRobot    = new BaseRobot <BPO.PACIFICO.PROCESARDATOS.APP.Program>(args);
         _Funciones = new Functions();
         _oRobot.Start();
     }
     catch (Exception Ex) { Console.WriteLine(Ex.Message); }
 }
コード例 #10
0
 static void Main(string[] args)
 {
     try
     {
         _oRobot    = new BaseRobot <RobotProcesarTicket.Program>(args);
         _Funciones = new Functions();
         _oRobot.Start();
     }
     catch (Exception Ex) { Console.WriteLine(Ex.Message); }
 }
コード例 #11
0
 static void Main(string[] args)
 {
     try
     {
         _Funciones = new Functions();
         _robot     = new BaseRobot <Program>(args);
         _robot.Start();
     }
     catch (Exception Ex) { Console.WriteLine(Ex.Message); }
     finally { Environment.Exit(0); }
 }
コード例 #12
0
ファイル: RobotController.cs プロジェクト: DerMave/HexCode
 public RobotController(GameController gameController, BaseRobot robot, Team team, Location location, RobotType robotType, RcRandom random, byte id)
 {
     _gameController = gameController;
     Robot           = robot;
     Team            = team;
     Location        = location;
     RobotType       = robotType;
     Random          = random;
     Health          = robotType.MaxHealth;
     Energy          = robotType.MaxEnergy;
     Id = id;
     robot.SetRobotController(this);
 }
コード例 #13
0
 private bool TryStore(BaseRobot baseRobot, Bag bag, out Ticket ticket)
 {
     try
     {
         ticket = baseRobot.Store(bag);
         return(true);
     }
     catch (InvalidOperationException)
     {
         ticket = null;
         return(false);
     }
 }
コード例 #14
0
        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            var timeFramesString = value as string;

            if (string.IsNullOrEmpty(timeFramesString))
            {
                return(value);
            }
            var timeFrames = BaseRobot.ParseTickerTimeframeString(timeFramesString);
            var dlg        = new RobotTimeframesForm(timeFrames);

            if (dlg.ShowDialog() != DialogResult.OK)
            {
                return(value);
            }
            return(dlg.UpdatedGraphics.Count == 0 ? string.Empty :
                   BaseRobot.GetStringFromTickerTimeframe(dlg.UpdatedGraphics));
        }
コード例 #15
0
        private void OkButtonClick(object sender, EventArgs e)
        {
            robot.Graphics = BaseRobot.ParseTickerTimeframeString(tickerTextBox.Text);
            robot.Mode     = Mode;
            var account           = tradeSharpAccountComboBox.SelectedItem as Account;
            var tradeSharpAccount = account != null ? account.ID : tradeSharpAccountComboBox.Text.ToIntSafe();

            robot.TradeSharpAccount           = tradeSharpAccount.HasValue ? tradeSharpAccount.Value : 0;
            robot.ControlOrdersDisregardMagic = ignoreMagicCheckBox.Checked;
            var mt4ToTradeSharpRate = mt4ToTradeSharpRateTextBox.Text.ToIntSafe();

            robot.Mt4ToTradeSharpRate = mt4ToTradeSharpRate.HasValue ? mt4ToTradeSharpRate.Value : 0;
            robot.Mt4TickerSuffix     = mt4TickerSuffixTextBox.Text;
            robot.portOwn             = (int)ownPortNumericUpDown.Value;
            robot.HostMt4             = mt4AddressTextBox.Text;
            robot.PortMt4             = (int)mt4PortNumericUpDown.Value;
            robot.PercentScale        = (int)percentScaleNumericUpDown.Value;
            var fixeVolume = fixedVolumeTextBox.Text.ToIntSafe();

            robot.FixedVolume = fixeVolume.HasValue ? fixeVolume.Value : 0;
        }
コード例 #16
0
        private static void ShowRobotEventsSafe(BaseRobot robot, List <string> robotEvents)
        {
            var hints = new List <RobotMark>();

            foreach (var eventStr in robotEvents)
            {
                var hint = RobotMark.ParseString(eventStr);
                if (hint != null)
                {
                    hints.Add(hint);
                }
                else
                {
                    MainForm.Instance.ProcessRobotMessage(DateTime.Now, eventStr);
                }
            }
            if (hints.Count == 0)
            {
                return;
            }
            // показать хинты на графике
            MainForm.Instance.ShowRobotHintsSafe(robot, hints);
        }
コード例 #17
0
        /// <summary>
        /// настроить киборгов
        /// </summary>
        private void ShowRobotParamsDialog(BaseRobot robot)
        {
            var chgRobots = robot == null
                                ? grid.GetBoundValuesFromSelectedRows().Select(r => r.Robot).ToArray()
                                : new [] { robot };

            if (chgRobots.Length == 0)
            {
                return;
            }
            var dlg = GetRobotPropertiesForm(chgRobots.ToList());

            if (chgRobots.Length == 1)
            {
                dlg.Text = Localizer.GetString("TitleSettings") + " " + chgRobots[0].TypeName;
            }
            if (dlg.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            gridRobot.DataBind(grid.GetBoundValues().ToList());
            gridRobot.Invalidate();
        }
コード例 #18
0
 public RobotChartBinding(BaseRobot robot)
 {
     Robot          = robot.TypeName;
     RobotCharts    = robot.HumanRTickers;
     SelectedCharts = EmptyChartsPlaceholder;
 }
コード例 #19
0
 public RobotGridItem(BaseRobot robot)
 {
     Robot = robot;
 }
コード例 #20
0
 public RobotGridItem(BaseRobot robot, bool initialized)
 {
     Robot       = robot;
     Initialized = initialized;
 }
コード例 #21
0
 public RobotLogEntry(BaseRobot robot, DateTime time, List <string> messages)
 {
     Robot    = robot;
     Time     = time;
     Messages = messages;
 }
コード例 #22
0
 public AbnormalState_Frozen(BaseRobot br, int time) : base(br, "冰冻", time)
 {
     temp_speed   = BR.MoveSpeed;
     BR.MoveSpeed = FROZEN_SPEED_PRASENT * br.MoveSpeed;
 }
コード例 #23
0
 protected BaseRobotDecorator(BaseRobot robot)
 {
     _robot = robot;
 }
コード例 #24
0
 public static void SetBaseRobotLocal(BaseRobot <T> robotAux)
 {
     BaseRobotUtil = robotAux;
 }
コード例 #25
0
 private void LogRobotMessages(BaseRobot robot, DateTime time, List <string> messages)
 {
     robotLogEntries.Add(new RobotLogEntry(robot, time, messages));
 }
コード例 #26
0
ファイル: Program.cs プロジェクト: juannoirega/test
        //variable temporal
        //private static bool _esPortalBcp = false;

        #endregion

        static void Main(string[] args)
        {
            _Funciones = new Functions();
            _robot     = new BaseRobot <Program>(args);
            _robot.Start();
        }
コード例 #27
0
 public AbnormalState_Burn(BaseRobot br, int time) : base(br, "燃烧", time)
 {
 }