In that case just show us the proper code because I suspect that there are many steps that you are just skipping.
Do you mean the source code for the Buy/Sell signal indicator I'm trying to use? If so, I do not have the source code.
Thank you for your reply!
From the information I've gathered, all I would need is this code placed into my new *.mq4 file and then ran as a normal indicator:
string NULL, // symbol
int PERIOD_CURRENT=0, // timeframe
string "BuySell", // path/name of the custom indicator compiled program
... // custom indicator input parameters (if necessary)
int 1, // line index
int 0 // shift
Here are the inputs that I want for the indicator:
That's as far as I've gotten, unfortunately.
Thank you so much for your help!
I'm sorry. I have no idea what you mean by outputting it?
I mean "How are you checking the result of the iCustom call?"
or What are you doing with the result?
To check that you are getting the correct valuse a simple Print() will telly you that.
What are you expecting to happen?
Does that code compile?
You don't put 3 dots in instead of parameters.
double value = iCustom(NULL,PERIOD_CURRENT,"BuySell",1,0);
Ohhhhhh, I see now. I am just dragging the made custom indicator onto a chart to see if the buy/sell signal pops up like it would with the .ex4 file. I will put the Print() in and see what happens.
adub206: From the information I've gathered, all I would need is this code placed into my new *.mq4 file and then ran as a normal indicator:
NO! That is NOT ALL you will need! That is only a definition of a line of code that you can use in an EA which can easily consist of several tens if not hundreds of lines of code, so it will be easier for us to help you if you show ALL those lines of code and not just the iCustom() definition. There has to be at least a OnTick() handler and there has be some verification of the conditions based on the iCustom() values you collect and some lines to handle the placement of the orders, and many other things that you have not mentioned.
If all you have is a single line calling iCustom() then I am afraid you are very far from being able to code an EA with your Indicator. You will have to learn more about EA's by having a look at the many examples available in the CodeBase and by consulting the documentation about all of the functionality that is required.
If all you have is a single line calling iCustom() then I am afraid are very far from being able to code an EA with your Indicator. You will have to learn more about EA's by having a look at the many examples available in the CodeBase and by consulting the documentation about all of the functionality that is required.
I'm sorry, all I'm wanting right now is for the iCustom indicator to properly open my .ex4 file under a .m4 source file. After I've completed that step, I will then move onto producing my EA with that.
At this time, I'm halted by having only the .ex4 file to work with, and since an EA cannot use the .ex4 file, I'm having to use the iCustom indicator as a mediator.
The straight to the point end goal is... have my buysell signal indicator (that is currently in .ex4) to open with the iCustom indicator in .mq4
adub206: I'm sorry, all I'm wanting right now is for the iCustom indicator to properly open my .ex4 file under a .m4 source file. After I've completed that step, I will then move onto producing my EA with that.
Unfortunately, that is not how things work.
You cannot just create an Expert Advisor (.mq4) file consisting of only the iCustom() function call. You have to create the bare minimum of an EA skeleton with the OnTick() event handler and maybe also a new bar detection and also output a few debug lines of text on the values returned by the iCustom() function call (see example below).
How else do you expect to verify that you are using the iCustom() correctly?
Irrespective of whether an indicator is a "ex4" file or a "mq4" files, you will always need to use the iCustom() in an EA in order to retrieve data from it. Also, you don't even need to place the indicator on the Chart in order for iCustom() to work.
// Attention: Untested and uncompiled code to serve only as an example
// Check for New Bar (Compatible with both MQL4 and MQL5)
static datetime dtBarCurrent = WRONG_VALUE;
datetime dtBarPrevious = dtBarCurrent;
dtBarCurrent = (datetime) SeriesInfoInteger( _Symbol, _Period, SERIES_LASTBAR_DATE );
boolNewBarFlag = ( dtBarCurrent != dtBarPrevious );
if( boolNewBarFlag )
dblValIdx0 = iCustom( NULL, PERIOD_CURRENT, "BuySell", 0, 1 ),
dblValIdx1 = iCustom( NULL, PERIOD_CURRENT, "BuySell", 1, 1 );
Print( "Value of Index 0 of Previous Bar: ", dblValIdx0 );
Print( "Value of Index 1 of Previous Bar: ", dblValIdx1 );