Пользовательские роботы в отдельном классе

Пользовательские роботы в отдельном классе - это быстро и удобно

  1. Алексей Ван Команда форума

    Регистрация:
    02.02.13
    Сообщения:
    1172
    Был на сайте:
    19.04.24
    Цитата: mrmr

    Предлагаю создавать пользовательских роботов в отдельном классе. Вот видео с демонстрацией.

    Базовый класс

    Обучение уже написано. И в ближайшие год ничего меняться точно не будет.

    Хотите - используйте данный метод. Он тоже работает.

    Алексей Ван
    02.06.2017 07:45
    #1
  2. mrmr

    Регистрация:
    12.05.17
    Сообщения:
    8
    Был на сайте:
    16.10.23

    Предлагаю создавать пользовательских роботов в отдельном классе. Вот видео с демонстрацией.

    Базовый класс

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using OsEngine.Entity;
    using OsEngine.OsTrader.Panels.Tab;
    namespace OsEngine.OsTrader.Panels
    {
        public class MyRobot1 : BotPanel
        {
            public override string GetNameStrategyType()
            {
                return this.GetType().Name; 
            }
            public override void ShowIndividualSettingsDialog()
            {
                MessageBox.Show("Пока нет.");
            }
            // переменные
            private BotTabSimple tab1;
            public MyRobot1(string name) : base(name)
            {
                TabCreate(BotTabType.Simple);
                tab1 = TabsSimple[0];
                tab1.CandleFinishedEvent += tab1_CandleFinishedEvent;
                tab1.PositionOpeningSuccesEvent += tab1_PositionOpeningSuccesEvent;
            }
            void tab1_PositionOpeningSuccesEvent(Entity.Position position)
            {
            }
            void tab1_CandleFinishedEvent(List<entity.candle> candles)
            {
            }
        }
    }

    Куски кода для PanelCreator

    См. ниже.

    mrmr
    02.06.2017 12:16
    #2
  3. Grin

    Регистрация:
    24.01.17
    Сообщения:
    17
    Был на сайте:
    19.11.23

    Попробовал. Довольно удобно, особенно для однотипных стратегий в которых меняются только инструменты..

    Grin
    04.06.2017 19:42
    #3
  4. mrmr

    Регистрация:
    12.05.17
    Сообщения:
    8
    Был на сайте:
    16.10.23

    Небольшое улучшение.

    Теперь можно создавать пользовательских роботов с любым названием, главное, чтобы в названии было "MyRobot", например, "MyRobotSuperStrat" или "Test_MyRobot".

    public static List<string> GetNamesStrategy()
            {
                List<string> result = new List<string>();
                // пользовательские боты (должны иметь в  названии 'MyRobot')
                string _defaultName = "MyRobot";
                System.Reflection.Assembly myAssembly = System.Reflection.Assembly.GetExecutingAssembly();
                foreach (Type type in myAssembly.GetTypes())
                {
                    if (type.Name.Contains(_defaultName))
                    {
                        result.Add(type.Name);
                    }
                }
    public static BotPanel GetStrategyForName(string nameClass, string name)
            {
                BotPanel bot = null;
                // пользовательские боты (должны иметь в  названии 'MyRobot')
                string _defaultName = "MyRobot";
                System.Reflection.Assembly myAssembly = System.Reflection.Assembly.GetExecutingAssembly();
                foreach (Type type in myAssembly.GetTypes())
                {
                    if (type.Name.Contains(_defaultName))
                    {
                        bot = Activator.CreateInstance(type, name) as BotPanel;
                    }
                }
    mrmr
    09.06.2017 21:14
    #4
  5. DennisNN

    Регистрация:
    17.01.17
    Сообщения:
    31
    Был на сайте:
    08.11.18

    Поддерживаю! Это явное улучшение

    DennisNN
    26.05.2018 22:37
    #5
  6. RobotsCreator

    Регистрация:
    05.12.18
    Сообщения:
    11
    Был на сайте:
    18.07.21

    Спасибо за дополнительное удобство!
    Сейчас буду пробовать.
    При обновлении Os.Engine в самый раз переносить файлы с ботами.

    RobotsCreator
    15.02.2019 21:43
    #6