ошибка в MTAPI !

 
ошибка в MTAPI !
я тут выяснил, что в описании TTradeRecord по моему вкралась неточность
там должно быть еще одно поле. Я его назвал LOSTFIELD, а размер его (8
байт). Не могли бы вы обьяснить зачем это поле ?

(Открытие принадлежит не мне)

PTradeRecord = ^TTradeRecord;
TTradeRecord = record
order:integer; // номер ордера
login:integer; // кому принадлежит
symbol:array[0..7]of char;// символ
digits:short; // кол-во знаков после запятой
cmd:short; // команда
volume:integer; // объем
open_time:time_t; // время открытия
open_price:double; // цена открытия
close_time:time_t; // время закрытия
close_price:double; // цена закрытия
sl,tp:double; // StopLoss TakeProfit
/////////////////////////////////////////////
LOSTFIELD:Double;// потерянное поле = tp
/////////////////////////////////////////////
commission:double; // комиссия
agent_commission:double; // агентская комиссия,
storage:double; // своп
profit:double; // профит
comment:array[0..31]of char; // коментарий
end;
 
ошибки нет
Ошибки нет.

#pragma pack(8) // выравнивание на 8 байт
struct TradeRecord
{
int order; // номер ордера
int login; // кому принадлежит
char symbol[8]; // символ
short digits; // кол-во знаков после запятой
short cmd; // команда
int volume; // объем

time_t open_time; // время открытия
double open_price; // цена открытия
time_t close_time; // время закрытия
double close_price; // цена закрытия

double sl,tp; // StopLoss TakeProfit

double commission; // комиссия
double agent_commission; // агентская комиссия, финальный расчет при закрытии позиции
double storage; // своп
double profit; // профит
char comment[32]; // коментарий
};
 
"лишний" дабл
в нотации языка си double sl,tp; эквивалентно double sl; double tp; то есть вышеприведённая запись должна выглядеть следующим образом:

sl:double; // StopLoss
tp:double; // TakeProfit