Блог им. Replikant_mih
Немного порассуждаю про уровень абстракции в стратегиях и про ООП как инструмент для этого.
Да, чтобы войти на пересечении скользящих и выйти по трейлингу на основе параболика ООП нафиг не нужен. Но я мыслю более реальными, «физическими» категориям. В смысле более живыми. Импульс, консолидация, да тот же тренд. Да, теоретически я могу использовать стандартные индикаторы, но у меня всегда индикатор – всего лишь отражение какого-то физического процесса. Но об этом я частенько упоминал, сейчас не совсем об этом.
Когда ты дата-майнишь, рисечишь идеи для стратегий тебе позарез нужно конкурентное преимущество. Перебирать и комбинировать сигналы разных индикаторов – это давно не работает. Конкурентные преимущества бывают разные: преимущества могут быть у бога математики или физики, у бога статистики и аналогичных наук, преимущества могут быть у лютых технарей, которые могут покорить космические скорости вычислений и исполнения.
Сейчас попробую выделить ещё один вид преимущества, ну или вернее ниша, в которой, как мне кажется, пасется не так много народу. Я говорю про нишу высокоуровневых абстракций.
Что я имею в виду, зачем это надо, при чем здесь ООП.
Когда ты оперируешь «живыми» понятиями, сущностями, явлениями, ты можешь повышать уровень абстракции (прямо сейчас вот я подумал, что на самом деле высокий уровень абстракции можно использовать и отдельно от «физических» понятий, но не суть), выше и выше. Реальные закономерности могут быть разного уровня, порядка, затрагивать более или мене глубокие явления и процессы, быть более или мене высокоуровневыми. Когда ты копаешься на низких уровнях абстракции ты можешь намайнить только закономерности простых уровней. Если ты повышаешь уровень абстракции, теоретически тебе открывается пространства закономерностей более высоких порядков. Возможно, не все так красиво как звучит потому что диапазон разнообразия по идее должен расти с повышением уровней абстракции, а следовательно находить закономерности должно быть сложнее, хотя с другой стороны аргументом в пользу легкости будет меньшая конкуренция.
Немного расшифрую что подразумеваю под высоким уровнем абстракции (надо было в начале статьи, конечно, это сделать)) ). Допустим импульс – понятие «физического» мира. Импульс часто возникает в результате пробоя локальной консолидации, пробои бывают ложные. Консолидацией иногда заканчиваются коррекции трендовых движений, и импульс может быть началом возобновления трендового движения. Предположим, перед реальным возобновлением идет раздергивание, ложные пробои. Возможно ложные пробои часто выстраиваются в определенные формации, паттерны перед истинным возобновлением тренда. Можно дальше накручивать всю эту конструкцию, развивать и т.д., но понятно, что чем дальше тем сложнее углубляться в это (не теряя в вопросе диапазона возможностей на каждом уровне абстракции) если ты не работаешь с этими сущностями грамотно. В данном случае грамотно позволяет работать ООП. Красивое выстраивание конструкций нужной сложности, нужного порядка, не теряя контроля над элементами любого уровня. На таких уровнях намного интересней, из-за диапазона возможностей всегда есть направления для рисеча, всегда есть что проверить, куда копнуть.
Когда кто-то говорит, что что-то «не работает» в трейдинге, так и хочется сказать: серьезно? – ты прям проверил весь огромнейший диапазон дойдя до высочайших уровней абстракции и ничего не нашел. Уровни не работают. – Серьезно? Каналы не работают – Серьезно? Фигуры не работают – Уверен?
Красивой конструкции Громко заявить – Красиво доказать, конечно, не получилось, было желание скорее громко заявить нежели красиво доказать, доказательством поэтому сильно не заморачивался, сорри :).
С чего бы это? Под «высоким уровнем абстракции» понимается обобщение. Общих понятий больше чем частных, тем более конкретных по вашему?
То что Вы заявляете — это уровни сложности, а не уровни абстракции.
«абстракция» — понятие не совсем удачное, оно порождает путаницу.
В общем случае, это означает «умозрительное».
К сожалению, в обиходе, это не всегда означает обобщение, хотя в большинстве случаев это так.
То что в CS понимается под этим, означает именно обобщение, например тип, класс, множество.
Я бы предложил тут понятие «универсалия» вместо «абстракция»
Это понятие близкое к декомпозиции. Если задача сложная, ее нужно разбивать на подзадачи
Без фанатизма.
Если нас не интересует внутреннее устройство автомобиля, а интересует только его технические характеристики, не нужно собирать его из частей каждый раз, достаточно порождать автомобили целиком, и декларировать их характеристики. К примеру
Оба подхода одинаково полезны в различных ситуациях. Например, иногда нужно просто набросать прототип, и тогда детали излишни.
Все зависит от модели, короче говоря.
Для водителя важней чувствовать ходовые качества, иметь нужный ему «интерфейс» управления. Хороший автослесарь не становится автоматически хорошим гонщиком.
К примеру, здание состоит из кирпичей. Но кирпич не является подтипом здания.
Уровень сложности здания выше чем кирпича, но мы имеем дело с разными типами, одного уровня обобщенности, назовем их «здания», где подтипами будет «жилое здание», «административное здание», «культовое сооружение» и «строительный материал», где подтипами будут «кирпич», «доска», «брус», «пеноблок».
Да, эти 2 понятия часто путают даже «опытные», к сожалению
Ну, тогда-да, при чём она тут?..
Расшифровывать не надо, потому что любой разработчик это знает, а статья для разработчиков.