The current implementation of the handover is very simple, by setting the parameter LTE_config.keep_UEs_still = false and LTE_config.support_handover = true; based on the user speed and walking model, in each TTI user position will change. The handover will happen for the following cases when with the new position:
1) the user gets assigned to a new eNodeB_sector (see LTE_sim_main.m, function move_all_UEs(LTE_config,UEs,networkPathlossMap,eNodeBs)), based on the SINR map
2) the user gets outside the region of interest (ROI), in that case, the user is teleported to e new position within the ROI and assigned to a base station.
The parameters UEs.cell_change.requested and UEs.cell_change.target_eNodeB are not really used in the simulator, they are given only as helper variables to give an idea how the handover could be implemented. This is the reason why always cell_change.requested = 0 and cell_change.target_eNodeB =  (see construcor with default UE parameters in +network_elements/UE.m).
If you want to define a different handover procedure, changes have to be done in the function move_all_UEs() of the LTE_sim_main.m file.