Хочется обсудить реализацию системы манименеджмента - страница 2

 
Koldun Zloy:

Зачем нужен этот класс, если он ничего не делает?

Его легко можно заменить одной функцией.

Используем:

Необходимость класса NextLotWillBeIncreaseByTwoBasedLot тоже под сомнением.

Типа как wrapper для всех будущих классов с системами ММ, которые будут использоваться во всех ботах.

Как я написал выше, в каждом боте будут настройки такие:

// =======================================================================================  Input переменные  =====================================================================================+
input string   __toRealizeMoneyManagement  =  "Input parameters of money-managment";
input ENUM_INITIAL_LOT_SIZE         i_initialLotSize = LOT_FIXED_SIZE;    // Переключатель первоначального размера лота для торговли
input ENUM_MONEY_MANAGMENT_SYSTEM   i_moneyManagementSystem = NONE;       // Переключатель систем мани-менеджмента
input double   i_lot = 0.1;    // Объём позиции

Выбрал что нужно, и дальше вызываю лишь:

lot = prMoneyManagement.getLotToTrade();

Больше ничего. Если его убрать, придётся работать с одной системой ММ, а мне это не интересно. Проще раз написать каркас и добавляя туда другие, смогу пользоваться с любом боте любым ММ. Так доходчиво объяснил?

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

Ну а NextLotWillBeIncreaseByTwoBasedLot это одна из систем ММ. Дальше будт другие. Я показал лишь структуру, о которой писал изначально. Системы ММ мы же не обсуждаем..

 
Viktar Dzemikhau:
Типа как wrapper для всех будущих классов с системами ММ, которые будут использоваться во всех ботах.

Как я написал выше, в каждом боте будут настройки такие:

Выбрал что нужно, и дальше вызываю лишь:

Больше ничего. Если его убрать, придётся работать с одной системой ММ, а мне это не интересно. Проще раз написать каркас и добавляя туда другие, смогу пользоваться с любом боте любым ММ. Так доходчиво объяснил?

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

Ну а NextLotWillBeIncreaseByTwoBasedLot это одна из систем ММ. Дальше будт другие. Я показал лишь структуру, о которой писал изначально. Системы ММ мы же не обсуждаем..

Я Вам уже показал, как сделать это при помощи одной функции.

Даже прокладка или wrapper должны хоть что-то делать.

Ваш класс не делает абсолютно ничего.

 
Koldun Zloy:

Я Вам уже показал, как сделать это при помощи одной функции.

Даже прокладка или wrapper должны хоть что-то делать.

Ваш класс не делает абсолютно ничего.

Как это ничего. Делает.. Вы не внимательны. Оболочка рассчитывает согласно input-переменным минимальный лот, который может быть либо процентный, либо фиксированный. Посколько это лишь минимальный лот, в отдельный класс манименеджмента выводить этот расчёт не логично, поэтому я решил, что это будет рассчитано в классе-посреднике. Понимаете о чём я?

 
Viktar Dzemikhau:

Понимаете о чём я?

Вас поймут только те - кто пишет в ООП стиле. Привыкайте
 
Viktar Dzemikhau:

Как это ничего. Делает.. Вы не внимательны. Оболочка рассчитывает согласно input-переменным минимальный лот, который может быть либо процентный, либо фиксированный. Посколько это лишь минимальный лот, в отдельный класс манименеджмента выводить этот расчёт не логично, поэтому я решил, что это будет рассчитано в классе-посреднике. Понимаете о чём я?

Это Вы невнимательны. Что делает Ваш класс по сравнению с одной функцией? Ничего!

 
A100:
Вас поймут только те - кто пишет в ООП стиле. Привыкайте

Бессмысленное нагромождение классов это не ООП.

 
A100:
Вас поймут только те - кто пишет в ООП стиле. Привыкайте

Полностью согласен.

 
Koldun Zloy:

Бессмысленное нагромождение классов это не ООП.

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

Паттерн Factory Method - Фабрика
  • www.javenue.info
Factory Method - это паттерн создания объектов (creational pattern). Данный шаблон проектирования предоставляет интерфейс для создания экземпляров некоторого класса. В момент создания наследники могут определить, какой класс инстанциировать. Иными словами, Фабрика делегирует создание объектов наследникам родительского класса. Это позволяет...