#define .... This is not a buffer, this is just a constant definition that is available in the indicator only.
input ... These are the input parameters. Each one of these must be defined in fxDreema.
Now, there are some issues that can cause problems:
Here...
input int barSizeInTicks = 100; // Bars size (in ticks)
double customBarSize = barSizeInTicks * Point();
barSizeInTicks is an input parameter, but customBarSize is not. It only appears in the middle of all input parameters, which is kinda bad structure. Don't add customBarSize to the list of input parameters.
input MaMethodType MA1method = Exponential; // 1st MA metod
input BufferDataType MA1applyTo = Close; //1st MA apply to
MaMethodType and BufferDataType are defined inside the indicator file. If someone knows how the EA can see these, let me know. But I don't know. What I know is that the EA don't have a clue what these mean. The EA knows only those data types and enumerations that are defined by the system (that exist in MQL natively) or those defined in the EA itself. But the indicator is a separate program that connects with the EA via some function called "iCustom".
So, instead of MaMethodType use "int". The possible values are 0, 1, 2 and 3, but not Simple, Exponential, Smoothed or LinearWeighted.
Again, if someone knows how the EA can see those enumerations in the indicator, let me know.