function CEL_OrderChanged(Source, EventID, Change, Order, OldProperties, Fill, Cqgerr, varargin)

global m_OrderID;

try
    % Informing about order's status.
    if strcmp(m_OrderID, Order.get('GUID'))
        if (Change == 0)
            disp('The order has been placed.');
        end
        
        disp(['Order is ' Order.get('GWStatus')]);
        
        if (Order.get('IsFinal'))
            disp(['The order is final. Its GWStatus is: ', Order.get('GWStatus')]);
            
            tmpFill = Fill.Price(1);
            
            if (isscalar(tmpFill))
                disp 'SCALAR';
            else
                disp 'NOT SCALAR';
            end
            
            if (isvector(tmpFill))
                disp 'VECTOR';
            else
                disp 'NOT VECTOR';
            end
            ddeexec
            if (isa(tmpFill, 'double'))
                disp 'DOUBLE';
            else
                disp 'NOT DOUBLE';
            end
            
            if (isa(tmpFill, 'int'))
                disp 'INTEGER';
            else
                disp 'NOT INTEGER';
            end
            
            if (isnumeric(tmpFill))
                disp 'NUMERIC';
            else
                disp 'NOT NUMERIC';
            end
            
            tmpType = class(tmpFill);
            
            disp(['TYPE IS ' tmpType]);
            
            disp(['Fill.Price(1) = ' num2str(tmpFill)])

            m_OrderID = '';
        end
    end
catch
    CEL_ShutDown;
    disp('An error occurred in CEL_OrderChanged.m file.');
    disp(lasterror);
end