А. Г.
А. Г. личный блог
25 октября 2022, 14:29

К вчерашней дискуссии об ОСЕ

Собственно ОСОй я не пользовался (и ниже станет ясно почему), а вот попытки использовать WealthLab и S# (до «кубиков», исключительно как библиотеку) были. Хотел написать, почему я отказался и в конце концов перенес системы с написанного мной на VB+Excel на собственный код в C# (+библиотека alglib), но лучше всего об этом «расскажет» картинка

К вчерашней дискуссии об ОСЕ


131 Комментарий
  • Андрей Возяков
    25 октября 2022, 14:44
    перенес системы с написанного мной на VB+Excel на собственный код в C#

    Так Вы сами программируете или есть программисты в команде?
      • Sergey
        25 октября 2022, 17:35
        А. Г., видимо поэтому и не используете готовые решения. Чем старше тех образованием, тем больше был упор в самостоятельности и меньше в социализации. Такое образование было в СССР. Есть свои за и против в таком подходе. Но в современном мире такой подход потерпел крах.

        А вчерашний текст был не про программиста, на мой взгляд, а про то, что человеку подсунули сырую программу, и взали с него деньги. По хорошему, за такие вещи должно быть какое-то расследование и анализ со стороны администрации сайта. Но… мы же все в России )
          • Sergey
            25 октября 2022, 18:41
            А. Г., с Осой именно баги. Я сам смотрел её, там действительно всё плохо сделано внутри. Создатель написал быстро и плохо, и сейчас тонет в массе ошибок. А как известно в трейдинге приоритет в качестве из-за специфики области. Видимо, автор когда писал этого не понимал. Может ещё есть шанс переделать и исправить. Хотя, в эпоху когда роботы уже предлагаются брокерами СконфигурируйМеня делать сейчас что-то подобное вызывает определенные сомнения. Никогда не окупятся вложения. Таргетируется для самоделкиных вроде вас, но самоделкинам нравится и привычнее сделать своё. Хуже, но своё.

            А сравнивать с WealthLab и S# без резонно. Это же компании с массой пользовательской базой за годы то на рынке. Разве можно сделать конкуренцию лишь выложив свои наработки в интернет. Ну нет же. Метаку на FX никто не пытается делать конкуренцию. Трейдеры не захотят переносить свои скрипты.
      • Errar
        25 октября 2022, 23:38
        А. Г., Так ведь и C++ и C# — это и есть «классы и всякое объектно-ориентированное программирование».
        • Кирилл Гудков
          25 октября 2022, 23:46
          Errar, FORTRAN-программы можно писать на любом языке программирования.
          • Errar
            26 октября 2022, 00:09
            Кирилл Гудков, Ну, котлеты можно жарить в кастрюле… Можно, но для этого должна быть причина.
          • Errar
            26 октября 2022, 00:02
            А. Г., Если собственный код занимает сотню-другую строк, сто чужих библиотек и повторно используется по минимуму — это нормально. 
          • Иван Портной
            26 октября 2022, 00:44
            А. Г., 
            хотите верьте, хотите нет, но в коде на C# моего торгового робота среди 6000+ кодов нет кода «сlass».

            Хотите верьте, хотите нет, но это не означает, что вы не используете уже готовые классы. Вы наверняка используете методы статического класса Math.

            В той же alglib большое количество статических классов. Всё отличие в том, что не нужно создавать объекты статических классов.

            Вас напугал пример из S#. Но там всего-то нужно было создать объект класса оператором new, а дальше обращаться к методам этого объекта точно также как в привычной вами alglib или Math.
              • ATS74
                26 октября 2022, 10:11
                А. Г., В 70-е классы назывались бы структура, в которой есть массив адресов подпрограмм, по которым делается CALL[ADR].  
                Представляете сколько человек работает над MSDN и какой у них бюджет. А тут ребята энтузиасты. Нормальная у него документация. Всем кто понимает ООП все понятно.
                  • ATS74
                    26 октября 2022, 10:58
                    А. Г., S#.API — библиотека для профессиональной разработки торговых роботов на языке C#. Для тех, кто программирует в Visual Studio, и является профессиональным программистом в области алготрейдинга.
                      • ATS74
                        26 октября 2022, 11:21
                        А. Г., Согласен. Ребятам надо наступить на горло своей алчности и продавать курсы только тем, кто в состоянии их осилить.
              • Sergey
                26 октября 2022, 10:40
                А. Г., doc.stocksharp.com/api/StockSharp.Algo.Connector.html это разве не то?

                MSDN как документация — прекратил свое сущестование. Теперь раздел Learn. Качество описания методов снизилось на порядки — learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.components.renderhandle.render?view=aspnetcore-6.0 Описание методов — ни о чем. Но появился другой тип описания документации learn.microsoft.com/en-us/aspnet/core/blazor/components/templated-components?view=aspnetcore-6.0 более обширный. У S# на мой личный опыт этот же подход.

                То что вы советуете — это как раз как про образование СССР. Оно когда-то было, но в эпоху глобализма потерпело крах. Надо было по другому строить.
              • Иван Портной
                26 октября 2022, 14:39
                А. Г., 
                не очень понимаю отличий между библиотекой и классом.

                Мы в обычной жизни имеет дела с законченными объектами (например, автомобилем), а не запчастями. Класс это чертеж какого-то объекта, который может что-то делать (по вашему, имеет функции), и имеет какие-то свойства (по вашему, переменные). Если нужно воспользоваться объектом, его следует создать из чертежа (класса) оператором new.

                Если класс статический (например, Math), то создавать его не нужно. Например, для вычисления корня просто обращаемся к методу статического класса Math.Sqrt(x). Если бы класс Math был не статический, пришлось бы сначала создать объект класса: Math m = new Math(); А только потом обращаться к его методу: m.Sqrt(x).

                Классы очень удобно использовать. Например, можно создать класс Order, который будет знать о себе некоторые свойства (инструмент, цену, направление, объем). И уметь что-то делать (например, отправлять себя на биржу, превращаться в сделку и т.д.). 

                Библиотеки (например, alglib) содержат несколько или даже много классов. Если классы статические, то вы их путаете с функциями, потому что они не требуют создания объектов.

                ООП очень простой и удобный механизм. Когда (и если) разберетесь в ООП, не будете понимать, как раньше программировали в процедурном стиле.
                  • Иван Портной
                    26 октября 2022, 17:42
                    А. Г., 
                    я все равно не понял
                    Это нормально. Если было бы по другому, я бы удивился ))

                     читал где-то, что там с использованием памяти компа
                    Это вам сейчас не надо. Вам надо ухватить концепт. Вот простейшая программа отправка заявки на биржу по условию:

                    Opder ord = new Order(p1,p2,p3); // Создаем заявку с параметрами p1,p2,p3
                    if (условие) ord.Send(); // Отправляем заявку методом Send() класса Opder

                    не понял принципиальных отличий класса и библиотеки.
                    Библиотека статических классов это гараж. Статические классы это автомобили. Нужен автомобиль, берете едите. Новый еще такой же автомобиль создать нельзя. Например, если бы класс Order был бы статический, то создать вторую заявку с другими параметрами нельзя. Статические классы удобны, например, для размещения мат.функций.

                    Библиотека обычных классов это склад чертежей домов. Нужен дом с определенными параметрам, берете подходящий чертеж, устанавливаете характеристики, создаете дом, пользуетесь. Нужен еще дом, пожалуйста, нет проблем. Например, удобно создавать множество заявок с разными параметрами, имея класс Order.
                    • Sprite
                      26 октября 2022, 17:56
                      Иван Портной, в дополнение для А.Г.: а еще в ООП автомобиль может сказать гаражу: «Я Камаз и я заехал», а гараж решить что дальше делать, сколько есть еще мест и не пора ли кого-нибудь выгонять. Ну или в контексте ордеров: ордер может сказать программе: «Я исполнился на 30% и я айсберг», а программа решить: «Ага, на этом инструменте исполнилось столько то объема, надо бы освободить средства и снять другие ордера». Разумеется всё это можно делать и процедурно-библиотечно, но тогда логика в результирующих простынях кода рано или поздно перестанет быть ясной.
                      • Иван Портной
                        26 октября 2022, 19:10
                        А. Г.,
                        сделать новую строку с другими параметрами вообще без проблем.
                        Вопрос ведь не про это. Вы жалуетесь, что не понимаете ООП. А ООП это очень удобно. Вы оперируете не функциями, переменными, массивами, а целыми объектами. Как в жизни. Вы же не на колесе ездите. А пользуетесь  объектом — автомобилем. И на биржу вы отправляете не текстовый файл, а объект — заявку. И биржа вам возвращает объект — сделку. 

                        Зачем мне команда Order, у которой:

                        а) какие-то ограничения (с Ваших же слов);
                        б) в хэлпе нет ни описания параметров p1,p2,p3,

                        Order это не команда, это класс. Вы можете сами его написать и сами определить нужные вам параметры. p1,p2,p3 это просто мой абстрактный пример. А можно воспользоваться каким-нибудь TSLab'ом. Там программисты написали кучу классов на все случае жизни. И хелп есть.

                        Почему не сделать аналог синтаксиса команды заявки в текстовом файле или на тех же qpile или lua  c простым примером кода, который заносится в программу копипастом и работает?

                        qpile умер. А вот на lua довольно много простых примеров. Причем как вы любите, в процедурном стиле. lua плохо приспособлен для ООП.

                        Я уже писал, что для хорошего программиста там все понятно и просто...
                        Вы даже не представляете какими абстракциями оперируют хорошие программисты ). А все эти торговые платформы для обычных пользователей с небольшим программистским бэкграундом.
                          • Иван Портной
                            26 октября 2022, 22:50
                            А. Г., вы начинали когда ООП еще было в зачатке. Поэтому стали процедурником. Научная мысль развивалась дальше, и придумали более простой и эффективный метод — ООП. Современные программисты начинают с ООП и смотрят на процедурников как на гиков, сверхчеловеков. Написать 6000+ строк «макаронным» стилем это ж ад адский. Уже после первой тысячи строк возникает непреодолимое желание разбить всё на классы, создать объекты и облегчить себе труд. Мысль моя проста как граненный стакан: ООП просто в освоении, пригодно для непрограммистов и существенно облегчает программирование.
                              • Иван Портной
                                27 октября 2022, 13:56
                                А. Г., 
                                Я же говорю о другом: для алготрейдера, не являющегося профессиональным программистом, любой класс, созданный другим(-и) программистом (-ами) без полного полного описания функций с примерами кодов — это бесполезный «сферический конь в вакууме».

                                Для S# не программировал. Открыл ваш пример. Первый раз вижу код. Всё ясно, вопросов особо нет. Создается заявка (объект). Прямо во время создания заявки в фигурных скобках устанавливаются её свойства. Какие свойства понятно из их названия (Type, Volume, Price, Direction и т.д.). Последняя строка в коде — созданная заявка отправляется на биржу. Там еще и описание на русском есть. Всё как вы хотели ).
          • UnembossedName
            26 октября 2022, 10:27
            А. Г., class Program
            Ключевое слово class в c++ от struct ничем не отличается кроме области видимости.
            В C# отличается, но не ориентированностью подхода.

            Объектно-ориентированный подход это не про ключевые слова, а про структуру программы, использование полиморфизма, инкапусляции и наследования.
  • К.О'Тяра
    25 октября 2022, 14:53
    Какой коннектор/API к торговой системе используете?
  • К.О'Тяра
    25 октября 2022, 14:59
    для Java не знает кто-нибудь торгового API?
  • ves2010
    25 октября 2022, 15:30
    давай к нам в тслаб...

    хоть в кубиках хоть в крестиках хоть на си...

    идея в том что функционал качественный… все эти конекторы с резервированием серверов и расписанием торгов...

    хоть акции хоть фьючерсы хоть опционы хоть хфт
      • ves2010
        25 октября 2022, 15:58
        А. Г., у тслаба есть доступ к каждому бару без векторов

        идея в том, что можно отдать тслабу подключение, расписание, реконект, преподключение к резервному серверу, хранение данных, контроль исполнения приказов и набор позы… а самому сваять код под с# какого нибудь отдельного особо важного индикатора… и вставить этот индикатор в бот
          • ves2010
            25 октября 2022, 16:06
            А. Г., там есть доступ к конекретному бару типа close[i-NN]
            вообще всегда есть возможность скопировать данные из вектора в любой удобный массив и делать с ним все что угодно по таймеру или внешнему событию
              • ves2010
                25 октября 2022, 16:12
                А. Г., там у них вменяемая техподдержка, форум, и канал в телеге… ответят втечении суток на конкретный вопрос...

                мне поэтому и нравится тслаб… что можно вопрос задать…

                таймфрейм можно делать искусственно… любой… из кратных… т.е из 1 мин можно сделать таймфрейм 1-2-3-...145мин… там есть блок сжать... 

                мне периодически хочется намисать что нибудь величественное на си… но имхо бот должен быть простым и в кубиках
            • SergeyJu
              25 октября 2022, 17:37
              ves2010, вот за что я неполюбил велслаб, так это (а) медленно (б) неудобно (в) есть скрытые ошибки.
              Мне поще написать индикатор, чем разбираться, что там неизвестный кодер напутал. 
              • ves2010
                25 октября 2022, 18:02
                SergeyJu, я тож пытался в ами… но неудобно вкрай
          • Носорог
            25 октября 2022, 21:05

            А. Г., несколько лет назад я тоже сидел на связке текстовых файлов и VBA.

            Потом понял, что как минимум при тестировании трачу слишком много времени на изобретение велосипеда + теряю в скорости расчетов, и поэтому решил изучить нормальную алго-прогу. Тогда из-за сырости ТСлаб 2.х я выбрал Multicharts с привлекательным мне (в том числе как упертому паскалевцу) Easy Language. И много лет жили мы с ней душа в душу, если бы не глюгнутый квик-коннектор.


            При этом я как it-шник несколько раз в жизни пытался изучить си шарп тем же методом что и английский в советской школе — «не фигово было бы» + бестолковая зубрежка слов. Даже придумывал себе небольшие практические задачки. Но все заканчивалось написанием 1-2 консолек, и все равно «в душу не западало». В смысле — как только появлялась какая-нибудь реальная потребность (не обязательно в трейдинге) — типа распарсить файл и т.п. — я мигом ее закрывал на связке Excel+VBA, которыми владею много лет — и меня это более чем устраивало.
            И котировки до недавнего времени качал на этой связке тоже без проблем.

            А потом мне подогнали ботов на ТС Лабе, настроили все за меня и запустили в работу на моем счете. И я из-за дня в день смотрел как ТС Лаб работает себе сволочь и работает. Нет ну было пару раз — длину номеров заявок на бирже меняли, финам чего-то там не обновил — не без этого. Но по сравнению с моим режимом постоянной боевой готовности с Multicharts — это было небо и земля. И моя вера пошатнулась...
            И я полез потихоньку грызть кубики. Времени было не много, грыз медленно.
             

            При этом я продолжал работать it-директором в крупной компании, и времена на работе пошли тяжелые — и по свободному времени, и по перспективам выживания. Понимая, что я носорог-мамонт :) — попытался освоить Питон — не пошел (хотя качалку на него таки переписал). Но это отдельная песня. 


            Вроде в ООП все одно и то же, и когда читаешь очередной учебник / смотришь курс — вроде бы все понятно. Лампочка светит, наследие наследит и т.п. Но утром уже все забывается как какая-нибудь формула из термодинамики, нахрен не нужная в реальной жизни или вызубренное вчера в короткой памяти английское слово.


            ТС Лаб тоже несколько курсов смотрел — тот же Саро неплох, до середины курса даже что-то понимаешь.

            НО мое ИМХО на текущий момент:



            1. ТС Лаб реально крут и удобен. Самый лучший курс по кубикам - курс Павла Целищева (вернее модуль в курсе маркет стат, который ради этого можно и вытерпеть, либо даже адаптировать под себя. Ну либо искать на скла… нах и смотреть только ТС Лаб). Модуль по ТС Лабу ОЧЕНЬ короткий — изучил его буквально за день. Павел объясняет очень кратко и толково, поэтому совершенно никаких проблем.


            2. Связка С# API TSLab реальна крута и удобна — если есть желание дополнительно чуток вложиться в новые знания. И здесь моя картина мира (в плане отношения к си шарпу) поменялась после древнего и валяющегося на всех ресурсах курса Родиона Скуратовского. Блин, он все те же сущности ООП C# объяснил буквально на пальцах. И главное — я их (в очередной раз :) понял не в режиме «зубрежки», а как практическую реальную потребность — на барах, индикаторах, ордерах.  Безусловно, есть некоторые заковырки и тупики — и иногда мне хочется поколотить ответственного за документацию TSLab (думаю его просто нет — это сейчас очень модно — типа сам код и есть документация — жми F12  и проваливайся в вызываемый код). Но я слишком олд-скульный чувак чтобы в это верить. Поэтому иногда матерюсь. Ну или еще проще — написать в чат техподдержки, где с вероятностью 80% помогут (20% — возможно уже моя наглость в ожиданиях). Ребята там реально классные и очень профессиональные!!! 

            Так или иначе, возможности * скорость * гибкость — этой связки, как говорится, the best. Даже для меня — откровенного новичка в си. Однозначно рекомендую! Excel и VBA вспоминаю как дошкольную любовь — с теплом в груди, но с четким пониманием что при объективном сравнении у них просто нет шансов.


            А.Г., буду прям на грани хамства — мне уже полтинник, т.е. мозги откровенно не те, что прежде. Но к моей неописуемой радости в реальности порог входа в «кубиковый» ТС Лаб оказался в разы ниже, чем я думал. Настолько, что я по инерции замахнулся и на c# (после своих  то многочисленных бестолковых попыток выучить его как классический язык программирования без привязки к реальной потребности, т.е. до курса Родиона). И снова — был приятно удивлен, что в реальности все гораздо проще, чем я боялся.

            Эх, жаль Родион куда то пропал :(. Впрочем, есть Дмитрий Власов, который хоть сейчас и не публичный, но тоже успел выдать целую гору материала уже для ТС лаб 2.х Так что — may be, may be… А.Г., если надо — готов Вам помочь чем смогу.

            • Дмитрий Овчинников
              25 октября 2022, 21:18
              Носорог, 
              примерно в это же время делал выбор между ТС-Лаб и МТ5. В итоге живу в МТ5, хотя пришлось во многочисленных косяках разбираться самостоятельно. 
              Легкость входа != правильный выбор :)
              • Носорог
                25 октября 2022, 21:24

                Дмитрий Овчинников, но и Тяжкость входа != правильный выбор :)

                Все зависит от того является ли данный критерий важным для выбирающего. Для меня — да.

                • Дмитрий Овчинников
                  25 октября 2022, 21:25
                  Носорог, 
                  да я тоже не стахановец ни разу. просто получилось сделать правильный выбор :)
                  • Носорог
                    25 октября 2022, 21:31
                    Дмитрий Овчинников, да у меня свои тараканы — иногда явно переинвестирую силы и ресурсы. По современным меркам я программист не очень. Поэтому то, что Вы изучили за год, я бы мусолил лет 5. Соответственно риск неокупаемости в 25 раз больше :)
              • Носорог
                25 октября 2022, 22:28
                А. Г., безусловно, не настаиваю. Но все же допускаю, что здесь есть эффект курицы и яйца, ну или аппетита, который приходит во время еды. У меня получилось так. Когда сидел на своем уникальном инструментарии у меня был один темп проверки идей. Когда пересел на внешний софт, выяснилось, что в интернете куча чужих разработок. Рассматривая чужой опыт, мои извилины стали работать совсем в другом темпе/режиме (ведь практически коллективный разум). И скорость проверки идей и их генерации (то самое яйцо, включая стыренные — полностью или частично) выросли в разы. Собственно, могу конечно показаться грубым, но сегодняшний профразработчик в первую очередь гуглит. Ибо 90% задач кто-то где-то уже решал.

                А с учётом того, что главный Грааль в трейдинге — иметь команду некоррелированных ТС, то высок шанс намыть требуемое количество золота уже не за счет уникальных слитков-идей, а банально за счет кратного увеличения скорости просева грунта идей, пусть и средненьких. А Кальмар команды из 20 середнячков порой может быть выше, чем у команды из 5 звездных идей. Особенно в наше уникальное и неповторимое время.

                Да и еще — велс я не осилил от слова совсем. До сих пор тошнит. В ТСлабе же мне не хватает только портфельного тестирования. Но по слухам (возможно уже устаревшим) он уже в бета-тесте.
                  • Носорог
                    26 октября 2022, 06:44
                    А. Г., в целом согласен — так оно и есть.

                    Но моя основная мысль была проста — никогда не говори никогда.

                    Пример из нетрейдерской жизни.
                    Раньше я ездил на механике и автомат считал, что для девочек. Короче точно не мой вариант — я же пацан :).

                    Но потом случился  незапланированный полет с зимней трассы — какая-то фура решила на полном ходу поиграть мной в кёрлинг. Хотя я мирно стоял на месте — правда поперек ее борозды (после 6 попыток вылететь с полотна в ходе ритмического заноса).

                    В следствии того, что первые следы приземления в кювете находились в 22м от полосы, автомобиль был «слегка помят». Поэтому я «временно» пересел на автомобиль жены, который был с автоматом. 

                    Ну а дальше всё как у многих — «временно» длится уже несколько лет. Недавно был в гостях у родителей, и батя щедро дал поюзать свою механику. Угадайте с трех раз кто глох как новичок после автошколы?  :)))

                    Причина/следствие: хрен кто меня сейчас стащит с автомата. Оказалось это офигеть как удобно!!!

                    К чему я написал такой длинный опус?
                    Исключительно к тому, что с ТС Лабом у меня получилось то же самое. Совершенно случайно заюзав его по бразильской системе (начав торговать уже готовых ботов) я постепенно, но безвозвратно вкусил все прелести цивилизации. И обратно даже не тянет, хотя навык никуда не делся. 

                    Самое большое препятствие которое у меня было — мой собственный таракан в голове. Звали его УбежденностьВТомЧтоНаЭтоНужноПотратитьСотниЧеловекоЧасов. 

                    Более того — фактически я их почти и потратил, но только потому что:
                    а) не знал правильного ответа (читай — правильных курсов);
                    б) я через чур люблю учиться — это ж легче чем работать :).

                    Видать придется запилить отдельный небольшой пост — может кому-то поможет сэкономить свое время.
  • ДРАКОН ★ ★ ★ ★ ★
    25 октября 2022, 15:47
    Помню времена, когда программеры были именно такими, как показано на картинке. Сейчас в основном это бездари, пишущие посредственный код «на коленке», «по учебнику», с кучей багов. При этом напрочь ох$%евшие на диких зарплатах, чётко понимающие, что если не этот работадатель, то другой наймёт.

    Очень жду, когда наши черные, азиаты, обучатся программингу и будут щемить белых выродков в этих, считающимися «высокотехнологичными» сегментах. В общем, примерно как в US узкоглазые и индусы щемят реднеков.

    Сегменту рынка программных разработок остро нужна встряска и здоровая свежая кровь. Поблажки и нытьё от госорганов лишь усугубляют ситуацию.

    Жду.
    • Андрей К
      25 октября 2022, 15:51
      Борян Филиппов, мощно заявили )
    • Дмитрий
      25 октября 2022, 15:54

      Борян Филиппов, вы очень сильно переоцениваете старых разработчиков. Современный подход и инструменты решают одни проблемы, а старые инструменты и технологии решали другие проблемы. 

       Сейчас в основном это бездари, пишущие посредственный код «на коленке», «по учебнику», с кучей багов


      А в старые добрые времена, люди сразу рождались с учебником по С++ в зубах и их учить не надо было, а на пятиэтажный дом они даже без разбега запрыгивали ?
      Чтобы такое смелое заявление делать,  нужно это видеть где-то изнутри. Поделитесь пожалуйста, в какой IT-компании вы работаете и на какой должности?

      • ДРАКОН ★ ★ ★ ★ ★
        25 октября 2022, 16:02
        Дмитрий, 

        1. Подход и инструменты ушли далеко вперед с тех пор. НЕ ушли — КАДРЫ! Кадры — ОТСТАЮТ! Взбадривать надо этих выродков. Лишь в единицах контор есть нормальные KPI, контроль качества, мотивационные планы.

        2. В «старые-добрые» это были энтузиасты. Эксперты. Пионеры. Горели глаза. Хотели — делать. Сейчас — совсем другое. Инфантильность и ох%ение (я о средней температуре по больнице). Почему так? Да потому, что разрабов стало требоваться на порядок больше, а такого кол-во светлых голов в реальности — нет. Поэтому в профессии просто КУЧА непрофпригодных.

        3. Не поделюсь.

        4. По вашему комментарию вижу, что вы побаиваетесь «острых углов». Видимо — старость. Посмотрите на ситуацию трезво, если вы в игре с прошлого века.
      • ДРАКОН ★ ★ ★ ★ ★
        25 октября 2022, 16:09
        А. Г., может криворукий какой писал, Х3. А может вы чего не догоняете. Прелесть сегодняшнего мира в том, что по большинству вопросов можно найти НЕСКОЛЬКО решений. :) Может имеет смысл погуглить больше помощи. :)
          • ДРАКОН ★ ★ ★ ★ ★
            25 октября 2022, 16:30
            А. Г., да, по трейдинговой и квиковской тематике очень мало инфы. Согласен.
      • Sprite
        25 октября 2022, 16:30
        А. Г., неудивительно что вы ничего не поняли в примере. Если вообще не разобравшись как работает фреймворк требовать от него ясности для собственных фантазий, то никакой опыт программирование не поможет, к сожалению даже ассебмблер ) Судя по приведенному вами примеру вы даже хелп не до конца дочитали, не говоря уже о минимальных попытках разобраться.
          • Sprite
            25 октября 2022, 16:59
            А. Г., не знаю, наверное это индивидуально ) Предположу что от одной минуты до бесконечности. По мне так пример однозначно описывает именно то, что должен — как выставлять заявку в фреймворке. По всей видимости вам нужно было не в коде разбираться, а что такое фреймворки вообще. Для меня ваш посыл звучит так: «Смотрите, вот 3 строчки кода из которых я ничего не понял, а так как под мои представления о задаче это не подходит, то библиотека не работает и надо искать другую».
              • А. Г., Мне в этом отношении нравится 1С. Сплошной LowCode
                Все в картинках









                Сосредотачиваюсь именно на алгоритмах а не на языке программирования



                • Prophetic
                  26 октября 2022, 09:21
                  Константин Чащегоров, Зачет! А я все думал, решит ли кто-нибудь создать конфу на 1С, под торговлю или нет...
                  У меня конечно все на C#, и переводить торговлю на 1С не планирую, но вот журнал сделок не так давно на 1С перевел.
                  • Prophetic, Спасибо. Ка программист у меня знания то есть. А вот как трейдер я не очень опытный. Если посмотрите документацию и скажете чего не хватает был бы признателен. В профиле есть ссылка на продукт. Прошу не считать рекламой, а обменом мнений.
                  • Андрей К
                    26 октября 2022, 11:31
                    Prophetic, история знает разных алго разрабов на 1С) Еще у Герчика в команде в Финаме парень сидел на 1С делал
                    • Андрей К, К сожаление ничего не знаю про Финам и не знаком ни с тем ни с другим.У меня брокер Сбербанк+QUIK+1C+Python
                      Как трейдер я самоучка.
                      • А. Г., Я в тему вписался потому, что у меня когда то был логин на форуме 1С ников где в качестве логотипа картинка из поста
                        forum.mista.ru/users.php?id=34349
                        Само собой пароль к тому нику я давно забыл и пользуюсь другим.
                        Но картинка вспомнилась и стал читать пост. Хоть он и по другой теме.
              • Sprite
                25 октября 2022, 17:37
                А. Г., Для кого написана такая программа: для пользователя или программиста, знающего, что такое фреймворк?
                Разумеется фрейворки пишутся для программистов, для которых они облегчают выполнение задач. Если вы не программист, то вам это а) не надо и б) не понятно. Если вы не программист, зачем тогда было писать что вы и на сях и на ассемблере. Если вы программист, то три строчки кода как выставлять заявку у вас не должны вызывать никаких проблем. Если вы думаете что вы программист, но хотите чтобы фреймворк был «пользователе-ориентирован», то подождите еще лет сто и всё будет.
                • Андрей К
                  25 октября 2022, 17:44
                  Sprite, 
                  Если вы не программист, зачем тогда было писать что вы и на сях и на ассемблере
                  программист не объект ориентированных языков, где то тут я прочитал в комменте. Хелп получается чисты ооп, так что сходу не сложилось
                  • Sprite
                    25 октября 2022, 17:48
                    Андрей К, exactly!
                    • Андрей К
                      25 октября 2022, 20:14
                      А. Г., 
                      И, главное, зачем.
                      могу ответить только из личного опыта, так то любое собеседование на тему шаблонов программирования я бы точно завалил )

                      из личного опыта, когда код робота переваливает тыщ за 15-20 строк кода, все таки ориентировать по проекту на основе классов будет полегче и наверняка уменьшит сам объем кода.
                      Хотя я вот сейчас очень много разрабатываю под ядро линукса (порядка 20т строк кода), там чистый Си, если руку набить, то навигацию и понимание кода тоже можно вытащить на хороший уровень, но классы бы не помешали )
                        • ATS74
                          25 октября 2022, 22:15
                          А. Г., «Я вообще не понимаю зачем нужны эти классы… „  знакомо, тоже начинал на ассемблере и даже первые проги под винду на Си под WinAPI. 
                          Но все современные ЯП объектно ориентированы, просто примите это как данность и изучите ООП, для человека с Вашим бэкграундом это не проблема.
                          Согласен, что для кодирования торговых алгоритмов ООП нужен как белке третий глаз.
                            • ATS74
                              26 октября 2022, 10:33
                              А. Г., Огород с ООП нужен затем, что ООП делает код более понятным, компактным и снижает вероятность ошибок. Все тоже самое можно запрограммировать на ассемблере, но большинству людей в 2022 году удобнее оперировать объектами. И Вам, когда разберетесь и привыкнете будет удобней. ООП, это как коробка — автомат, тут уже написали. 
                              А разрабы всех этих систем ориентируются на большинство пользователей и хотят сделать им удобно. Вот например MQL5 уже поддерживает ООП! А MQL это классика жанра.
                                • ATS74
                                  26 октября 2022, 12:42
                                  А. Г., На счет «механика намного удобнее,» это что то запредельное...
                                  Механика была экономичнее, но это в прошлом. Для обгона есть кнопочка «Sport», нажимаешь и она рвет с места.  А еще видел машинку Pajero Sport с автоматом, тоже удивился, как это. Оказалось вполне себе джип. Там есть кнопочка блокировки дифференциала и даже 3 колеса можно крутить.
                  • Sprite
                    25 октября 2022, 17:51
                    А. Г., вы продолжаете меня убеждать что ничего не поняли? Не надо, я это понял.
                      • Sprite
                        25 октября 2022, 18:20
                        А. Г., а по моему вы продолжаете жить в иллюзии что современный уровень развития цивилизации позволяет заниматься алготрейдингом без знания программирования. Всё что есть на рынке в виде «кубиков» для страждущих алготрейдеров (в том числе и то, что вы смотрели в виде OSEngine, S#Designer, TSLab) работает или в рекламе или до первой хотелки, которая приходит примерно через 5 минут использования.
                      • ATS74
                        25 октября 2022, 19:26
                        А. Г., Продукты для алготрейдеров имеют разную целевую аудиторию. Фреймворки — это для продвинутых пользователей со знанием основ программирования под винду.
                          • ATS74
                            25 октября 2022, 20:00
                            А. Г., Представление о том как устроено Win приложение в данном случае на C#. Т.е. Вы программист, пару десктопных программ на C# написали, но делать полноценную ТС с блэкджеком долго и опыта не хватает. Берете фреймворк и тратите время на выявление его багов.
                              • ATS74
                                25 октября 2022, 21:31
                                А. Г., ТС — торговая система, не в плане стратегия — алгоритм, а программа, позволяющая эти алгоритмы автоматизировать, т.е. фреймворк.
                                Под багами имелось в виду именно баги фреймворка, которых по определению овермного.
                                В теории фреймворки предоставляют расширенные возможности для тестирования и реализации чего нибудь эдакого. На практике можно и арбитраж в квике на lua запилить, а вот нейросеть наверное трудновато будет, а на s# попроще, т.к. есть какие нибудь библиотеки на c#, которые можно использовать в s#, а вот в wealthlab они не влезут. 
                                Посмотрел по Вашей ссылке мануал. На первый взгляд все не сложнее чем Trans2Quik API.Странно, что у Вас это вызывает вопросы, если с VB и c# работали работали. Может быть стоит проникнуться основами ООП…
                                  • ATS74
                                    26 октября 2022, 10:48
                                    А. Г., В Trans2Quik  надо было типы переменных на 64 битные поменять. Кстати, как Вы получаете обратную связь работая через текстовые файлы ?
                                    Документация по S# понятна программистам на C#. А этот продукт именно для них.
                      • Профиль удален
                        25 октября 2022, 20:34
                        А. Г., OpenQuant  не понравился?
                        • SergeyJu
                          25 октября 2022, 21:50
                          Матфизик, я писал на опенкванте. 
                          Мне проще на VBA+Exсel. Потому что могу делать что хочу, легко и непринужденно. А в опенкванте ты все равно чувствуешь себя как в клетке. Конечно, по сравнению в велслабом — круто. И явных ошибок я не нашел. Но неудобно было лично мне. Да и денег стоит, странно платить за неудобство.
    • ves2010
      25 октября 2022, 16:00
      Борян Филиппов, ну как бы счас  программисты пишут алгоритмы и структуры данных на бумаге… а быдлокодеры пишут быдлокод... 

      • ДРАКОН ★ ★ ★ ★ ★
        25 октября 2022, 16:06
        ves2010, такая трактовка тоже не очень крутая. Тренер должен быть — играющим. А вот эти понты — мол я крутой, пусть код пишут студенты — никогда ни к чему хорошему не приводит.

        Всегда было так: мизер элиты, создающей системы и множество обычных наймитов, решающих текучку.
    • Анатолий И.
      25 октября 2022, 16:04
      Борян Филиппов, зависть плохое чувство )
      • ДРАКОН ★ ★ ★ ★ ★
        25 октября 2022, 16:29
        Анатолий И., никогда не завидовал программерам. Ни в чём. Хорошего программиста — всегда положительно оценю.

        Ключевое: то, что я написал — это трезвая оценка сегмента рынка труда.
        Личные чувства и амбиции здесь ни при чём.
    • Носорог
      25 октября 2022, 21:33
      Борян Филиппов, среднестатистический ГБ съест до 30 индусов за год. Потому что те никогда не поймут правил креативной российской бухгалтерии.
  • Кто хранит базы по минуткам вопрос. Есть ли смысл хранить цены с интервалом меньше минуты? (сам храню поминутно, но читаю для одних с интервалом 15 сек (входящие в индекс) для других минута (русские акции) для остальных 6 минут(остальные акции облигации))
      • А. Г., Я минутки храню 3 дня (хотя могу настроить любой период но не знаю надо ли больше), а дневки неограниченно
        • SergeyJu
          25 октября 2022, 17:34
          Константин Чащегоров, минутки собираем примерно с 2006-7-8-9 года, с момента появления ликвидности у ликвидных  фьючей и акций. 
          • SergeyJu, у меня иногда появляется такая мысль что нет смысла долго хранить. Что фактически логи это не история срабатывания технических сигналов а история набегов роботов на текущий день. А набеги не повторяются. Пока торговали в яме и все учились на одной бирже все работало. А сейчас бои без правил.
            • SergeyJu
              25 октября 2022, 17:40
              Константин Чащегоров, если я тестирую Тс, я загоняю все доступные данные. Если нет данных хотя бы с 2009 года, грущу. А вообще, хочу чтобы были самые разные фазы рынка, поэтому и 2008 год, и 2012,  и 2020 надо  при тестировании обязательно использовать. 
              Я же не ХФТ, н и дневок или часовок мне мало. 
    • Андрей К
      25 октября 2022, 17:07
      Константин Чащегоров, если стратегии опустите ниже минутки, то хранить надо ) со всем вытекающим типа возросшего объема данных
  • Maxim Sheyko
    25 октября 2022, 17:37
    Тот случай, когда комментарии интереснее, чем сам пост)
  • Prophetic
    26 октября 2022, 09:23
     Картинки весьма красноречивы...  :)
  • Автор темы обладает авторитетом на форуме программистов 1С mista.ru. (Меня там отправили сюда и указали на авторитета с кем посоветоваться про нейросети в алготрединге ) В связи с этим просьба к автору темы посмотреть мой продукт (документацию) и подсказать чего не хватает моей поделке для звания «готовый продукт».
      • А. Г., Да точно пр Вас. 1С ники не только на 1С программируют. И бывают на разных форумах. Когда я там завел речь про свой продукт народ конечно с критикой был (но были и те кто положительно восприняли). И пришли несколько людей которые нашли меня на этом форуме и сказали что раз А.Г. ему ответил в обсуждении про нейросети, значит возможно и мой продукт чего то стоит. Авторитетность налицо.
  • smart-lab.ru/blog/736926.php

    Вот та тема где Вы мне ответили
  • unsafePtr
    02 декабря 2022, 00:57
    Насчёт фреймворков, что насчёт QuantConnect?

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн