Mirsildin
In the Attribute Wrangle i create a parameter with any value that Houdini "doesn't know"
Ok, yes.
Mirsildin
And this action already causes the channel and parameter to exist (I marked this in the picture).
What do you mean by 'already'? You created the parameter and also used the parameter to hold a value that you want. Neither the parameter or value held by the parameter could not have already existed before you created it, let alone hold a value.
If you mean you wrote in the wrangle the function itself, i.e. any form of a ch() function; Without also creating a parameter by pressing the button to do so, or creating it through the Edit Parameter Interface, or somewhere else with a Python...then that ch() function within the wrangle code window will just by default always return a value of 0 - If it doesn't see/find an actual parameter that the function is referring to( from which to 'grab' data from ). That is aside from the fact that a typical newly created parameter, like your example, without any overriding input targeting it's field or specific user defined default - will also start with a default value of 0; save too with something like a string parameter which basically starts with a 'null', and so on with all the other specific contexts of other types of parameters.
So, I don't know what your 'issue' is, i.e., what you are struggling with except maybe the relationship of the ch() function/s and the parameters they reference and the data they can contain.
Perhaps it may help to know that the behavior of the ch() function is such that it could have been written in that instead of returning a default value of 0 even if the parameter it is referring too still doesn't exist; Create a warning pop up window notifying you that you are referring to a non-existant parameter and as such cannot proceed until you 'rectify' the matter and create a parameter with said name given to the function.