Establishing the Hierarchical Order of Chart Draws of Lines and Labels

 

Previous to MT4 Build 600 the establishment of the hierarchical order of lines and labels on a chart, drawn by different indicators and regardless of the order of the indicators as listed in the chart list of indicators, was a splendidly simple and exacting task. All it took was the addition of an alphabetical letter as a prefix to the name of the line or label. For example, prefixing a name with "a" assured it would be below anything with a prefix of "m", which would be below anything with a prefix of "z". It did not matter what indys created the lines/labels, nor in what order those indys appeared on the chart list of indicators. It did not matter in what sequence the drawing indicator drew any specific line/label relative to the others it drew. All that was needed to assure the intended hierarchical placement on a chart was the simple and effective use of an alphabetical prefix being added to the name assigned to the line or label!

But no more! The new Build 600 trashed this simple and exacting method to establish the hierarchical order in which lines/labels are placed on a chart. So, the question is, if we are given an improved product, then what is the equally simple and exacting new coding method to accomplish this objective?

-traderathome

 
traderathome: But no more! The new Build 600 trashed this simple and exacting method to establish the hierarchical order in which lines/labels are placed on a chart. So, the question is, if we are given an improved product, then what is the equally simple and exacting new coding method to accomplish this objective?
As a coder, its my responsibility to Think>Code>Test>Debug ... Repeat ... Repeat ... Repeat O-O.
 
ubzen:
As a coder, its my responsibility to Think>Code>Test>Debug ... Repeat ... Repeat ... Repeat O-O.

This is a bull shit answer if I ever heard one! You talk only about yourself and offer no solutions or assistance. I wonder if there are more folks like you working for MetaQuotes, because they have changed a lot and have not been forthcoming with readily available complete information on features added, changed and removed. This seems to be a feature removed. And to date, no one has provided a coding solution to prove otherwise.

If you want to be helpful, show me the replacement coding method, as simple and as exacting as before, that allows indy #2 on a chart (added after indy #1 on the chart) to place lines/labels both above and below some of the lines/labels placed on the chart by indy #1. What is the new coding method that exactingly establishes the hierarchical order of placement of lines/labels on a chart, across all indicators regardless of the order of the indicators in the chart list of indicators.

You claim to be a coder, so if this is such a simple thing to still do, then show the rest of us how.

 
traderathome: This is a bull shit answer if I ever heard one! You talk only about yourself and offer no solutions or assistance. I wonder if there are more folks like you working for MetaQuotes, because they have changed a lot and have not been forthcoming with readily available complete information on features added, changed and removed. This seems to be a feature removed. And to date, no one has provided a coding solution to prove otherwise. Not even you, Mr. "so called" coder!

Sorry, I do-not work for metaQuotes. I'm what known as a Social-Moderator.

You sound like an intelligent person. Thank you for letting our members know theres a different hierarchy to objects.

I do-not have the time/need currently to experiment with a solution.

Take care.

 

There does not seem to be a solution. This is an incredible oversight on the part of MetaQuotes, just like not having an assigned variable holding a value (0-5) representing the Chart Scale was an incredible oversight in the original MT4 MQL4. Is this company habitually prone to such oversights?

Look, MetaQuotes came out with _z_order to prioritize for another purpose. How hard can it be for them to add to MQL4/5 a simple object property that receives the coders input to prioritize the level on the chart that the draw creation is given, so across all chart indys, regardless of their order on the chart list of indys, lines and labels can be assigned values that will force them to be created at levels according to the coders hierarchical intent.

Call it OBJ_DRAW_LEVEL, to be followed with any integer number (0-99 should be far more than sufficient, but whatever it is not so difficult to do) that will determine the exact level of the draw, totally independent of draw sequence within an indicator and totally independent of indicator sequence on the chart list of indicators. Essentially, a chart is mapped with a certain number of levels for draws, and draws are made at the assigned levels they are given via this object property, regardless of all other considerations.

There. I have just done the hard part for MetaQuotes by thinking it out for them. Let's see if they are competent to complete the job! They should be, if only for a moment they would stop focusing on quantity and consider quality, like esthetics.

How about it, MetaQuotes? Are you up to adding this feature to MQL4/5. Do you really care? Or are you preoccupied with your "Store"?

 
traderathome:


How about it, MetaQuotes? Are you up to adding this feature to MQL4/5. Do you really care? Or are you preoccupied with your "Store"?

If you really want to make a suggestion you would be best doing it via the Service Desk
 
RaptorUK:
If you really want to make a suggestion you would be best doing it via the Service Desk


Fine, I will be most happy to. When I go to Service Desk, there is no panel that opens to allow me to enter a new topic nor to reply to anything already posted. I also "searched" this url for instructions on how to post to the Service Desk and received nothing for my effort! It appears to be a forum closed to the riffraff and only "privileged" folks are permitted to spout off there!

So, RaptorUK, since you seem to be one of the "privileged" why don't you just copy/paste the essence of my reply that is here onto the Service Desk for me. Either that, or why not be helpful in a different way and simply explain just how someone new is to gain access to post on the Service Desk!

RaptorUK, you made a suggestion which you knew would be a blind alley for me. Thank you so much for your "help".




 

traderathome:

Look, MetaQuotes came out with _z_order to prioritize for another purpose. How hard can it be for them to add to MQL4/5 a simple object property that receives the coders input to prioritize the level on the chart that the draw creation is given, so across all chart indys, regardless of their order on the chart list of indys, lines and labels can be assigned values that will force them to be created at levels according to the coders hierarchical intent.

Call it OBJ_DRAW_LEVEL, to be followed with any integer number (0-99 should be far more than sufficient, but whatever it is not so difficult to do) that will determine the exact level of the draw, totally independent of draw sequence within an indicator and totally independent of indicator sequence on the chart list of indicators. Essentially, a chart is mapped with a certain number of levels for draws, and draws are made at the assigned levels they are given via this object property, regardless of all other considerations.

Isn't that what they call gobledegook in some parts of the workd ? What the hell are you talking about... lol

"... a simple object property that receives the coders input to prioritize the level on the chart that the draw creation is given, so across all chart indys, regardless of their order on the chart list of indys, lines and labels can be assigned values that will force them to be created at levels according to the coders hierarchical intent. "

I've read this 5 times and it still makes no sense to me at all lol.

"Call it OBJ_DRAW_LEVEL, to be followed with any integer number (0-99 should be far more than sufficient, but whatever it is not so difficult to do) that will determine the exact level of the draw, totally independent of draw sequence within an indicator and totally independent of indicator sequence on the chart list of indicators. Essentially, a chart is mapped with a certain number of levels for draws, and draws are made at the assigned levels they are given via this object property, regardless of all other considerations."

What do you mean by the exact level of the draw ? objects already have the level explicitly assigned in ObjectCreate() x,y (price, time) co-ordinates, you want to assign an objects position on the chart by an arbitrary 0 - 99 instead ? Why ? and why is the draw sequence of an indicator an issue with anything, it draws them in whatever sequence it calls the ObjectCreate() function, what other sequence can it draw them ? Your post really makes no sense.

 
SDC:

Isn't that what they call gobledegook in some parts of the workd ? What the hell are you talking about... lol

"... a simple object property that receives the coders input to prioritize the level on the chart that the draw creation is given, so across all chart indys, regardless of their order on the chart list of indys, lines and labels can be assigned values that will force them to be created at levels according to the coders hierarchical intent. "

I've read this 5 times and it still makes no sense to me at all lol.

"Call it OBJ_DRAW_LEVEL, to be followed with any integer number (0-99 should be far more than sufficient, but whatever it is not so difficult to do) that will determine the exact level of the draw, totally independent of draw sequence within an indicator and totally independent of indicator sequence on the chart list of indicators. Essentially, a chart is mapped with a certain number of levels for draws, and draws are made at the assigned levels they are given via this object property, regardless of all other considerations."

What do you mean by the exact level of the draw ? objects already have the level explicitly assigned in ObjectCreate() x,y (price, time) co-ordinates, you want to assign an objects position on the chart by an arbitrary 0 - 99 instead ? Why ? and why is the draw sequence of an indicator an issue with anything, it draws them in whatever sequence it calls the ObjectCreate() function, what other sequence can it draw them ? Your post really makes no sense.

+1

If some one understand why all this fuss, please explain, thank you.

 
angevoyageur:

+1

If some one understand why all this fuss, please explain, thank you.


It's about placing Objects on top of each other and controlling the position of the Objects in terms of the "Z axis" . . .
 
RaptorUK:
It's about placing Objects on top of each other and controlling the position of the Objects in terms of the "Z axis" . . .

Thank you.

Isn't exactly the usage of OBJPROP_ZORDER ?

Why placing objects on top of each other, seems weird to me.

Reason: