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

 
Aliaksandr Hryshyn:
А 3D зачем? Сначала придумайте назначение. 3d-графики? Сомнительная штука. Для чего 3d?

Чтоб профит был больше, и прибыльность торговли в целом)!

 
Реter Konow:

Потом открывается мир 3D.  Нужно, конечно, поломать голову над технологией, но сделаю. Объемные трехмерные формы будут крутиться-вертется.

Петр, тебя снова понесло в неведомые дали. Сосредоточься на текущем функционале, иначе твой движок никогда не выйдет в релиз. Выкати базовую функиональность, а потом реализовывай свои новые идеи: 3d, 4d, 6d, Power Surround и т.д.

 
Aliaksandr Hryshyn:
А 3D зачем? Сначала придумайте назначение. 3d-графики? Сомнительная штука. Для чего 3d?

Рынок существовал еще до появления компьютеров. Представьте, что на машине времени вы перенеслись в 20-ые годы в Америку. Зная современную электронику и программирование, вы решили строить компьютер, написать платформу и продавать всем торговых роботов.

Если бы вы бы обращались к трейдерам с описанием того, что хотите создать, вас посчитали бы сумасшедшем. Никто бы не понимал, что вы говорите. Ни единого слова. Потому, что тогда небыло таких понятий. Вам не удалось бы ничего никому объяснить.  Примерно, до середины 40-х годов. Потом появилась вычислительная машина Алана Тьюринга, и рассказав ему о своих планах, вы бы получили малую долю понимания. Ближе к 80-ым, вас бы стали понимать еще лучше... 

Вы должны понять, что прибыль с рынка - это фикция. Настоящая прибыль, -  это завоевание новой территории. В данном случае, территория - это MQL-технологии. Чем больше технологий я создам, тем большую территорию я завоюю. А там, на этой территории, можно найти свои золотые жилы....

Поэтому, я стремлюсь сделать как можно больше.

 
Vasiliy Sokolov:

Петр, тебя снова понесло в неведомые дали. Сосредоточься на текущем функционале, иначе твой движок никогда не выйдет в релиз. Выкати базовую функиональность, а потом реализовывай свои новые идеи: 3d, 4d, 6d, Power Surround и т.д.

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

Остальное можно доделывать еще месяцами. Исправлять баги, добавлять возможности...

 
Реter Konow:

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

Остальное можно доделывать еще месяцами. Исправлять баги, добавлять возможности...

Так и сосредоточься на связи движка с советником. Другие задачи вроде 3d, 4d, 6d - оставь на потом. Сейчас цель - релиз. Все остальное потом. 

 
Vasiliy Sokolov:

Так и сосредоточься на связи движка с советником. Другие задачи вроде 3d, 4d, 6d - оставь на потом. Сейчас цель - релиз. Все остальное потом. 

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

 
Реter Konow:

Поэтому, я стремлюсь сделать как можно больше.

Подход странный).

 
Реter Konow:

Ребята, со всем уважением, программируйте как душе угодно. Я буду программировать по своему. 

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

Простая анимация не требует ООП. Также, при охоте на зайца, не нужно брать с собой базуку.))

Ты не прав, Петер.

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

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

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

 
Vitaly Muzichenko:

Чтоб профит был больше, и прибыльность торговли в целом)!

Именно !

Советник, который выводит результаты в виде трехмерной поверхности а-ля трехмерный график в МетаТрейдере - сразу становится на порядок более прибыльным !

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

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

Ну что ж... Ждем !

 
Реter Konow:

Эту анимацию с CCanvas не реализовать. Там нет механизма подключения одного канваса к разным ресурсам. А без этого, нужно перерисовывать исходное содержание канваса на каждом сдвиге анимации. Иначе, получится мертвая картинка. 

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

Более того, класс CCanvas предназначен для работы только с одим канвасом. А у меня можно рисовать на разных одновременно.

Именно для этого ООП и удобно !

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

Но главное, даже не в этом. Если надо организовать несколько канвасов - создаешь несколько экземпляров объекта. Если тебе надо работать с "внутренностями" объекта - наследуешься от него, и работаешь.


Нет, можно делать и так, как делаешь ты. Но при этом - опасность нарваться на ошибку куда выше - ведь ты не писал сам класс, и не знаешь всех тонкостей его работы. "Выдирание" кода из класса - это весьма опасная практика. Представь, если бы я взял пару функций из твоей библиотеки - думаешь, у меня бы что-то получилось ? Очень врядли, ведь с функциями пришлось бы "тащить" все глобальные переменные, каких у тебя немало. Да и связи между внутренними объектами - не факт, что я их всех учту.  У меня для этого не хватает памяти. 

Но, тебе тут повезло. Память у тебя отменная. Завидую тебе.

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