You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Dear Codes GURU,
I have got the following scenario....
1) Indicator A which has all the following attributes coded in the file
a) comments
b) drawings line for divergence
c) sound and alert - set to true
If I use iCustom to call indicator A and make some calculation to produce another indicator B, would all of the attributes in the indicators A be showing and triggering in indicator B... this is what is happening to my indicator B...
Is this the case were I have got to REVISIT my codes again SIR....
Your advice and expertise is always highly appreciated....
yours truly
AZRUL...AZRUL,
If all the attributes are text created in indicator A, they will be printed when indicator A is used in iCustom. iCustom suppresses only the graphic output, e.g. lines or histograms, but does not suppress text displayed by objectcreate.
The best thing to do is to create an input bool, DisplayText, as the first input item and set it to false. Then use "if(DisplayText) ..." to surround all the text printing in indicator A to turn it on or off based on either using indicator A directly on the screen or when called through iCustom
Good Luck, Tzuman
AZRUL,
If all the attributes are text created in indicator A, they will be printed when indicator A is used in iCustom. iCustom suppresses only the graphic output, e.g. lines or histograms, but does not suppress text displayed by objectcreate.
The best thing to do is to create an input bool, DisplayText, as the first input item and set it to false. Then use "if(DisplayText) ..." to surround all the text printing in indicator A to turn it on or off based on either using indicator A directly on the screen or when called through iCustom
Good Luck, TzumanDear Tzuman,
Thanks a lot for the advice, In this case there is nothing wrong with my Indicator B with is CALLING and calculating indicator A using iCustom.....
I got to learn to familiaries myself with the iCustom parameters to do that... never used them....
Would this HELP....??? by setting it to false...ect
yours truly
AZRUL...
There is nothing wrong with your indicator B. I am saying that if indicator A prints text on the screen and you use it in an iCustom Call in indicator B, MQ will suppress the graphic output but you must make a "switch" for indicator A to tell it when to print the text and when not to print the text.
double iCustom(
string symbol, // symbol
int timeframe, // timeframe
string name, // path/name of the custom indicator compiled program
... // custom indicator input parameters (if necessary)
int mode, // line index
int shift // shift
);
This is the iCustom definition from the documentation. It is in the custom indicator input parameters that you will place a boolean "false" that is the switch to turn off the text printing.
For example, this is the first few lines of one of my indicators that can be directly placed on a chart or called from iCustom. Notice the two booleans, Display and DisplayText. I use them to turn on drawing a breakout box and also displaying a text message on the screen.
#property indicator_chart_window
#property strict
extern bool Display = false;
extern int boxbarperiods = 16;
extern int boxbarmode = MODE_EMA;
extern int boxbaroffset = 0;
extern bool DisplayText = true;
extern string symbol = "";
extern int MoveHorizontal = 0;
extern int MoveVertical = 10;
so the iCustom call would be somenthing like this
data=iCustom(symbol,0,indicatorA,false,16,1,0,true,"XAGUSD",0,20,0,bar);
to print text for XAGUSD on a chart for EURUSD at the position 0,20.
Notice that you only need to specify as many input parameters as you wish to use in the iCustom call to your indicatorA. For my indicator there are 20 more parameters that are not specified as I chose to let them assume their default values. If you want to change the 10th parameter, you must specify all nine preceeding parameters. If you want to use all the indicator default settings, you do not need to specify any optional parameters.
Make sure when specifying the optional parameters they match the indicators parameter definitions exactly or you will receive errors and a very slow running indicator. For my example, specifying "false" or 3.14 for the first boolean parameter would cause an error as the first example is a string and the second is a double.
Good Luck
There is nothing wrong with your indicator B. I am saying that if indicator A prints text on the screen and you use it in an iCustom Call in indicator B, MQ will suppress the graphic output but you must make a "switch" for indicator A to tell it when to print the text and when not to print the text.
double iCustom(
string symbol, // symbol
int timeframe, // timeframe
string name, // path/name of the custom indicator compiled program
... // custom indicator input parameters (if necessary)
int mode, // line index
int shift // shift
);
This is the iCustom definition from the documentation. It is in the custom indicator input parameters that you will place a boolean "false" that is the switch to turn off the text printing.
For example, this is the first few lines of one of my indicators that can be directly placed on a chart or called from iCustom. Notice the two booleans, Display and DisplayText. I use them to turn on drawing a breakout box and also displaying a text message on the screen.
#property indicator_chart_window
#property strict
extern bool Display = false;
extern int boxbarperiods = 16;
extern int boxbarmode = MODE_EMA;
extern int boxbaroffset = 0;
extern bool DisplayText = true;
extern string symbol = "";
extern int MoveHorizontal = 0;
extern int MoveVertical = 10;
so the iCustom call would be somenthing like this
data=iCustom(symbol,0,indicatorA,false,16,1,0,true,"XAGUSD",0,20,0,bar);
to print text for XAGUSD on a chart for EURUSD at the position 0,20.
Notice that you only need to specify as many input parameters as you wish to use in the iCustom call to your indicatorA. For my indicator there are 20 more parameters that are not specified as I chose to let them assume their default values. If you want to change the 10th parameter, you must specify all nine preceeding parameters. If you want to use all the indicator default settings, you do not need to specify any optional parameters.
Make sure when specifying the optional parameters they match the indicators parameter definitions exactly or you will receive errors and a very slow running indicator. For my example, specifying "false" or 3.14 for the first boolean parameter would cause an error as the first example is a string and the second is a double.
Good LuckDear Tzuman,
Thank YOU for your time very-very much for this very clear explanation....
All the best
yours truly
AZRUL...