OnTradeTransaction () comment is missing !!

 

i am trying to capture latest closed position and print its info , everything is printing correctly but the comment is not at all , i tried to add small delay but no show !.

void OnTradeTransaction(const MqlTradeTransaction &trans, const MqlTradeRequest &request, const MqlTradeResult &result)
{
    if(trans.type == TRADE_TRANSACTION_DEAL_ADD)
    {
        ulong deal_ticket = trans.deal;

        if(HistoryDealSelect(deal_ticket))
        {
            ENUM_DEAL_TYPE deal_type = (ENUM_DEAL_TYPE)HistoryDealGetInteger(deal_ticket, DEAL_TYPE);
            ENUM_DEAL_ENTRY deal_entry = (ENUM_DEAL_ENTRY)HistoryDealGetInteger(deal_ticket, DEAL_ENTRY);

            if((deal_type == DEAL_TYPE_SELL || deal_type == DEAL_TYPE_BUY) && deal_entry == DEAL_ENTRY_OUT)
            {
                string comment = HistoryDealGetString(deal_ticket, DEAL_COMMENT);
                double lot_size = HistoryDealGetDouble(deal_ticket, DEAL_VOLUME);
                double profit = HistoryDealGetDouble(deal_ticket, DEAL_PROFIT);
                ENUM_POSITION_TYPE position_type = (deal_type == DEAL_TYPE_BUY) ? POSITION_TYPE_SELL : POSITION_TYPE_BUY;

                Print("Closed Position Details:");
                Print("Comment: ", comment);
                Print("Lot Size: ", lot_size);
                Print("Profit: ", profit);
                Print("Position Type: ", EnumToString(position_type));
            }
        }
    }
}