Имеются некоторые структуры, которые у меня были структурами, но, на данный момент, я так и не решил как это будет выглядеть. Этот вопрос я и хочу задать. Вот что имеется, на данный момент:
| Код | struct Position_Properties { datetime gdt_Expiration; // Срок истечения отложенного ордера datetime gdt_OpenTime; // Время открытия выбранной позиции double gd_OpenPrice; // Цена открытия double gd_Lots; // Объём позиции на открытие double gd_CurSL; // Текущий Stop Loss выбранной позиции double gd_NewSL; // Новый Stop Loss выбранной позиции double gd_CurTP; // Текущий Take Profit выбранной позиции double gd_NewTP; // Новый Take Profit выбранной позиции int gi_CurTicket; // Тикет выбранного ордера int gi_Type; // Тип торговой операции int gi_Slippage; // Максимально допустимое отклонение цены для рыночных ордеров int gi_Magic; // Магический номер string gs_Comment; // Комментарий string gs_Symbol; // Наименование фин. инструмента, с которым производится операция ulong gu_Duration; // Длительность позиции в секундах }
|
Когда я планировал при написании структуру, я понимал, что придётся некоторые вещи дорабатывать. И все поля структуры будут массивами по ходу. Ситуация такая, что я думал, чтоб каждое поле было в виде массива типа:
| Код | struct Position_Properties { datetime [gi_Ticket][gdt_Expiration]; // Срок истечения отложенного ордера datetime [gi_Ticket][gdt_OpenTime[; // Время открытия выбранной позиции double [gi_Ticket][gd_OpenPrice[; // Цена открытия double [gi_Ticket][gd_Lots[; // Объём позиции на открытие double [gi_Ticket][gd_CurSL[; // Текущий Stop Loss выбранной позиции double [gi_Ticket][gd_NewSL[; // Новый Stop Loss выбранной позиции double [gi_Ticket][gd_CurTP[; // Текущий Take Profit выбранной позиции double [gi_Ticket][gd_NewTP[; // Новый Take Profit выбранной позиции int [gi_Ticket][gi_CurTicket[; // Тикет выбранного ордера int [gi_Ticket][gi_Type[; // Тип торговой операции int [gi_Ticket][gi_Slippage[; // Максимально допустимое отклонение цены для рыночных ордеров int [gi_Ticket][gi_Magic[; // Магический номер string [gi_Ticket][gs_Comment[; // Комментарий string [gi_Ticket][gs_Symbol[; // Наименование фин. инструмента, с которым производится операция ulong [gi_Ticket][gu_Duration[; // Длительность позиции в секундах }
|
Но тут есть нестыковка. В том, что в массивах данные должны быть одного типа. Общее для всех измерение gi_Ticket имеет тип int. Кроме того есть ещё измерения с типом double, string, datetime и ulong. Выходит что в виде массива данную структуру преобразовать не выйдет. Какие ещё есть способы реализации подобной задачи?
Я думал, сделать в виде кучи объектов одной структуры (класса), но это не совсем вариант. Т.к. с массивом то удобнее работать. |