Свойства кнопок и ООП

 

Приветствую. В ходе написания небольшого помощника в ручной торговле возникла следующая проблема:
К графику прикручено 4 кнопки для выставления/снятия отложенных ордеров разных типов. То есть пока кнопка в состоянии "нажата" - ордер висит, если ее переключить - ордер снимается (если, конечно, не был исполнен). Появилась задача запоминания тикета, типа, даты истечения каждого висящего ордера для их дальнейшего отслеживания и автоматического изменения SL и TP. Причем запоминать именно в связке с кнопкой.

Примерно, в моем представлении, это выглядит так:

Если кнопка "Button_Name" нажата, тогда Button_Name.SL=1.1

Естественно, таких свойств у кнопок, нет) Поэтому хотелось бы спросить у знатоков: возможно ли это исполнить? Я, к сожалению, не силен в ООП и классах, поэтому хочется верить, что с их помощью может получиться. Буду благодарен за подсказку)
P.S. Надеюсь, доступно объяснил проблему)

 
Aleksandr01:

Приветствую. В ходе написания небольшого помощника в ручной торговле возникла следующая проблема:
К графику прикручено 4 кнопки для выставления/снятия отложенных ордеров разных типов. То есть пока кнопка в состоянии "нажата" - ордер висит, если ее переключить - ордер снимается (если, конечно, не был исполнен). Появилась задача запоминания тикета, типа, даты истечения каждого висящего ордера для их дальнейшего отслеживания и автоматического изменения SL и TP. Причем запоминать именно в связке с кнопкой.

Примерно, в моем представлении, это выглядит так:

Если кнопка "Button_Name" нажата, тогда Button_Name.SL=1.1

Естественно, таких свойств у кнопок, нет) Поэтому хотелось бы спросить у знатоков: возможно ли это исполнить? Я, к сожалению, не силен в ООП и классах, поэтому хочется верить, что с их помощью может получиться. Буду благодарен за подсказку)
P.S. Надеюсь, доступно объяснил проблему)

Само собой, нужно сделать наследование от CButton. Ниже примерный код, не проверял

#include <Controls\Button.mqh>

class CMyButton: public CButton // CMyButton наследует все от CButton в полном объеме и без изменений доступа
{
public:
    int ticket;
    int type;
    double sl;
// и так далее
}

 ***

 
Aleksandr01:

Приветствую. В ходе написания небольшого помощника в ручной торговле возникла следующая проблема:
К графику прикручено 4 кнопки для выставления/снятия отложенных ордеров разных типов. То есть пока кнопка в состоянии "нажата" - ордер висит, если ее переключить - ордер снимается (если, конечно, не был исполнен). Появилась задача запоминания тикета, типа, даты истечения каждого висящего ордера для их дальнейшего отслеживания и автоматического изменения SL и TP. Причем запоминать именно в связке с кнопкой.

Примерно, в моем представлении, это выглядит так:

Если кнопка "Button_Name" нажата, тогда Button_Name.SL=1.1

Естественно, таких свойств у кнопок, нет) Поэтому хотелось бы спросить у знатоков: возможно ли это исполнить? Я, к сожалению, не силен в ООП и классах, поэтому хочется верить, что с их помощью может получиться. Буду благодарен за подсказку)
P.S. Надеюсь, доступно объяснил проблему)

лучше не запоминать , а находить в любой момент нужный ордер программно и обращаться к реальным данным. Тогда при ручном изменении все данные будут актуальны и при перезапуске советник не потеряет данные. А снижение скорости будет незаметно при таком решении
 
Alexandr Gavrilin:
лучше не запоминать , а находить в любой момент нужный ордер программно и обращаться к реальным данным. Тогда при ручном изменении все данные будут актуальны и при перезапуске советник не потеряет данные. А снижение скорости будет незаметно при таком решении
Будет, да еще как, померяйте как-нибудь. Считывать имеет смысл только profit (для данного топика). Конечно, если ТП и СЛ не изменяются какой-то внешней программой или трейлингом.
Причина обращения: