Hi:
Interestingly, my first suspect is a coolant temperature sensor (ECT). The ECT indicates to the computer the coolant's temp at a given time. Now, based on that temperature, the computer adjusts the air fuel mixture. When it's cold, the fuel mixture must include more fuel for the engine to run. If the sensor isn't indicating the correct temp, the computer may be allowing the mixture to be too lean and the engine can't run in the ambient temperatures.
The easiest way to test the sensor is to simply get your hands on a live data scanner. Plug it in and go to live data and see what temperature the sensor is indicating. If, for example, it says it's 10°c and in reality it is -10°c, the fuel mixture may not allow the engine to start or continue running.
If the sensor is working but providing the wrong info, the computer doesn't set a code because it has no idea what the temp is. Thus, no codes are found.
If you check this and find it is bad, I attached a picture of its location.
This is where I would start. Let me know if it helps or if you have other questions.
Take care,
Joe
Image (Click to make bigger)
Wednesday, November 13th, 2019 AT 8:27 PM