I'm wonder what is the difference between iCustom and IndicatorCreate functions which give a handle of home made indicator both.
In which condition shall I use one or other ?
The description on this page answers your question.
What Alain said, and to make it a little more precise:
IndicatorCreate is better suited when you want to set the number of parameters and their types and values at runtime (it's a dynamic option of creating indicators because it always uses the same MqlParam which encapsulates the actual parameters).
While iCustom has to state all parameters at the compilation time (which fixes their number and type, only the values can be changed at runtime) - which makes it less flexible when you want to call many different indicators with the same code.
It's clear !
Many thanks for your help :)