Мой подход. Ядро - Движок. - страница 50

 
Georgiy Merts:

Виталий, проблема в том, что Петер - титан запоминания. Он не забывает, где и какие индексы у него, что они значат, какие связи они имеют и где.

С такой шикарной памятью - ООП-навороты - это только лишние телодвижения, да и некоторое снижение производительности. Зачем оно ?

ООП - это для тех, кто через неделю уже не помнит, почему в данном месте можно менять переменную, а в соседнем - уже нет. Это как раз им нужна инкапсуляция, паблик, протектед и привейт-секции классов, виртуальные интерфейсы, полиморфизм... А когда у тебя все в памяти, как у компьютера - куда проще обращаться к каждому объекту напрямую, безо всяких ООП-надстроек.

Предложи Петеру класс смартпоинтеров, которые учитывают количество ссылок при передаче объектов, а потом, когда на них никто не ссылается - их удаляют ! Петер удивится, он хорошо помнит, когда создается каждый объект, сколько у него пользователей, какова должна быть продолжительность его существования, и когда он должен быть удален. Смысл в их использовании ?


Нет, так - тоже можно. Вопрос у меня лишь один - ДЛЯ КОГО ? Петер утверждает, что "он создаст прослойку таких пользователей". Ну-ну... Посмотрим.

Хорошая память это конечно хорошо :) Но у памяти есть такое свойство, что с возрастом она ухудшается или становиться избирательной. Что то помнишь очень хорошо, а что то, что считаешь незначительным тут же вылетает из головы. :)

 
Yury Kulikov:

У вас странный соревновательный дух :)

Вот ради интереса, а вы сможете с помощью вашего гуи создать аналог такой программы:


Программа была написана за два месяца в 2013 году, при этом был еще в реализации другой параллельный проект.

Программа последний раз компилировалась в 2014 году, возможны казусы :)

Программу лучше запускать на биржевых инструментах.

Уточнение для модераторов: этой программы нет в маркете.

Хороший, мощный GUI. 85% его механики я могу воспроизвести с помощью конструктора. У меня тоже есть "drag&drop", динамичные окна. Остальное - задача программы (мелькание цифр в ячейках, вызываемые функции).

Что касается окон с инструкциями - это тоже воспроизводимо. Короче, в моем варианте, внешний вид будет немного отличатся, но функциональность будет практически такой же.

Но, шкала и цифры у меня не реализованы. И масштабирования нет.

Однако, в отличии это этого GUI, моя графика будет красивее. Градиенты, иконки, красивые рамки, тени... Элементы все рисованные. 

Но, для современного маркета - ваше изделие очень мощное. Пожалуй, одно из самых мощных.

А то, что его купило мало человек - скажите спасибо тестерным граалям. Они лишили смысла все продукты, кроме самих себя.

 
Igor Makanu:

и с чего вот это новый стиль?

Вам же писали, что на 30-100 заказов попадается один заказ на разработку панели, чаще не бывает, реже бывает

хотите во фрилансе поищите https://www.mql5.com/ru/search#!keyword=%D0%BF%D0%B0%D0%BD%D0%B5%D0%BB%D1%8C&module=mql5_module_jobs

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

ЗЫ: анекдот про неуловимого Джо слышали? при всем уважении, но Ваш GUI хорош, но мало кому интересен, меньшими усилиями можно получить любой результат с помощью dll, сделайте панель, которая по Вашему мнению нужна пользователям и в Маркет, через месяц будет статистика...

PS: никогда не было желания с C# .Net разбираться, но раз разработчики сделали поддержку, пришлось потратить один час на поиск простого компилятора c с дизайнером форм - SharpDevelop (14 Мб) и прогуглить как запустить форму из .dll, все работает и все "крутится", самого кода, что прописал руками в буквальном смысле  - 3 строки!!!

разработчики MQL сделали вообще простой работу с .dll на С#, просто бросил в папку Libraries готовую dll и написал в первых строках эксперта имя .dll - вот и все ;)

Вот Вы никак не хотите понять. Какая разница? Ваш вариант не для масс.

Люди ищут прибыль. В этом поиске они зациклились на одних и тех же тестерных граалях. То есть программках, обещающим обогащение на основе показаний тестера. Все. Дальше тупик. 

Неужели это будет длится бесконечно? Неужели они всегда будут верить тестеру? Неужели никогда не разочаруются, глядя на десятки тысяч "мертвых" роботов?

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

Думаете, это никому не нужно? Ошибаетесь.

 
Алексей Тарабанов:

Петр, да в том - то и дело, что нечего там пользовать. Любое окно - либо просто украшательство, либо точка диалога. Точка диалога подразумевает потребность в этом диалоге. 

Вот, представьте, что Вы - трейдер, а программа Вас о чем-то спрашивает. Ей это необходимо от Вас узнать. О чем она Вас может спросить, а Вы сможете на этот вопрос ответить кнопкой, или формой? Я всерьез интересуюсь Вашим мнением на этот счет,- ответьте, если не влом. 

И вторая ситуация: Вы считаете необходимым вмешаться в работу программы - какая кнопка/форма позволит Вам это сделать эффективно? 

Я абсолютно согласен с Вами в том, что автоматизация деятельности - задача тех, кто эту деятельность автоматизирует, но Вы претендуете на роль создателя инструментария для разработки человеко-машинного интерфейса в этой области. Интерфейса кнопочек и форм, или нормального GUI, допускающего полноценную работу со всеми графическими объектами МТ; интерфейса объектов, или и прерываний тоже? 

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

Любое окно может иметь несколько возможных функций:

  1. Точка диалога (диалоговое окно).
  2. Окно настроек.
  3. Окно уведомлений.
  4. Окно вывода информации (таблицы).
  • Программа может спросить например, о переоптимизации текущей стратегии. 
  • О прекращении выполнения торгового алгоритма в связи с плохой статистикой за последние дни. 
  • О настройки параметров при изменении рыночной ситуации. 
  • Можно придумать еще много-много всего. 
Я считаю, трейдинг - пустая трата времени и денег. Но как считают другие - это их дело. Какая разница? Всегда найдутся те, кто считает что нужно вмешиваться в работу программы, и те, которые считают что не нужно. Зачем забивать себе этими вопросами голову? Лучше сделать программы  для первых и вторых и продавать им.
 
Реter Konow:

Любое окно может иметь несколько возможных функций:

  1. Точка диалога (диалоговое окно).
  2. Окно настроек.
  3. Окно уведомлений.
  4. Окно вывода информации (таблицы).
  • Программа может спросить на пример, о переоптимизации текущей стратегии. 
  • О прекращении выполнения торгового алгоритма в связи с плохой статистикой за последние дни. 
  • О настройки параметров при изменении рыночной ситуации. 
  • Можно придумать еще много-много всего. 
Я считаю, трейдинг - пустая трата времени и денег. Но как считают другие - это их дело. Какая разница? Всегда найдутся те, кто считает что нужно вмешиваться в работу программы, и те, которые считают что не нужно. Зачем забивать себе этими вопросами голову? Лучше сделать программы  для первых и вторых и продавать им.

Вот и причина и ответ!

 
Vitalii Ananev:

Хорошая память это конечно хорошо :) Но у памяти есть такое свойство, что с возрастом она ухудшается или становиться избирательной. Что то помнишь очень хорошо, а что то, что считаешь незначительным тут же вылетает из головы. :)

Это у тебя такая память (ну и у меня тоже).

У Петера - она совсем другая, и с возрастом только улучшается, как хорошее вино. Петер всегда помнит все, что написал, и как и зачем, и что при этом думал. Так что ему ООП, и в самом деле, не нужно.

Я памяти Петера завидую.

 
Реter Konow:

 85% его механики я могу воспроизвести с помощью конструктора. 

Сомнения берут :) Если только окна, кнопки, контролы ... Но это меньшее, что там есть.

Ваш интерфейс даже не сможет переработать трафик стакана, а еще надо отрисовывать несколько индикаторов.

Да, и  это первая версия gui-библиотеки, с минимальным использованием канваса, сейчас уже все реализовано на канвасе, за исключением текстового ввода.

 
Реter Konow:
 

Люди ищут прибыль. В этом поиске они зациклились на одних и тех же тестерных граалях. То есть программках, обещающим обогащение на основе показаний тестера. Все. Дальше тупик. 

Неужели это будет длится бесконечно? Неужели они всегда будут верить тестеру? Неужели никогда не разочаруются, глядя на десятки тысяч "мертвых" роботов?

С чего бы это "мертвых" ???

ЛЮБОЙ робот имеет периоды заработка. ЛЮБОЙ. Даже самые отстойные из моих ТС в Лиге - имеют короткие периоды заработка. Так что - их никак нельзя назвать "мертвыми".

Тут как с одеждой. Безусловно, шорты, шлепанцы и панама мало подходят для жизни где-нибудь в Архангельске. Но, ты ж не будешь утверждать, что это "мертвая одежда" ! Более того, в отдельные дни ее можно надеть даже в Архангельске.

И наоборот - на берегу Черного моря тулуп и меховые унты летом выглядят глупо. Хотя, иногда они очень даже нужны и на берегу Черного Моря.

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


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

Ручная же торговля - и вовсе может быть стабильно прибыльной только при наличии огромного опыта. Как раз для понимания, когда и какую технику применить. Думаешь, он есть у многих ?

 
Yury Kulikov:

Сомнения берут :) Если только окна, кнопки, контролы ... Но это меньшее, что там есть.

Ваш интерфейс даже не сможет переработать трафик стакана, а еще надо отрисовывать несколько индикаторов.

Да, и  это первая версия gui-библиотеки, с минимальным использованием канваса, сейчас уже все реализовано на канвасе, за исключением текстового ввода.

Конструктор предназначен для универсальных решений. Ваша программа заточена под конкретные задачи.

На конструкторе можно сделать и запустить стакан и он будет работать. Но рисование всяких индикаторов - пока не входит в задачи Конструктора.

Это может делать пользователь у себя в программе.


А насчет того, что не потянет траффик стакана:



Нажмите на картинку, чтобы посмотреть гиф. Как на нем видно, скорость перерисовки элементов таблицы достаточно велика, чтобы потянуть траффик стакана (там даже ячеек больше). 

 
Реter Konow:

А насчет того, что не потянет траффик стакана:

Нажмите на картинку, чтобы посмотреть гиф. Как на нем видно, скорость перерисовки элементов таблицы достаточно велика, чтобы потянуть траффик стакана (там даже ячеек больше). 

Я говорил не о скорости отрисовки, а о трафике(обмене) между вашим гуи и пользовательской программой.

Конечно любая программа заточена под конкретную задачу, но с помощью например, стандартной библиотеки, можно добавить анимированный объект в окно, а в ваш гуи нет, надо вас просить об этом :(

Причина обращения: