- please, help me with the code
- What to do with unprofitable positions?
- How to set 'first indicator data" setting in ea?
This is my personal opinion, but where possible, I try to do the most I can as "buffers". I use Objects on the chart as a last resort or when there is specific need for them.
I find that having too many objects on the chart can become really messy, both in code (to keep track of them all) and I suspect also with regards to resource usage (RAM & CPU).
It also becomes messy when you save it as a template since all those Chart Objects get saved to the template as well.
The rule I use for myself, is to use only "buffers" in Indicators and Chart Objects only in EA's.
Many objects do not affect the CPU very much, it's only a problem when theyre treated like its done with the MQL5 standard library. I deal with more than 1000 objects on every chart and cannot recognize any performance problems.
The other topic, with the presets, yes, totally agree. I cannot understand why there is no separation between objects created by an EA and such created manually. It makes no sense at all and its a problem in view of security that a user is allowed to modify and delete such objects.
It makes no sense at all and its a problem in view of security that a user is allowed to modify and delete such objects.
Not entirely true. There is a possibility of some separation that prevents the user from modifying or deleting them:
OBJPROP_HIDDEN:
Prohibit showing of the name of a graphical object in the list of objects from the terminal menu "Charts" - "Objects" - "List of objects". The true value allows to hide an object from the list. By default, true is set to the objects that display calendar events, trading history and to the objects created from MQL4 programs. To see such graphical objects and access their properties, click on the "All" button in the "List of objects" window.
I know that, but as you wrote as well: Click on the "All" .... makes it still unsafe with just one click more.
That is why I wrote "Not entirely true" and "possibility of some separation"! It is not ideal, but it helps reduce accidental changes to a degree.
-- The rule I use for myself, is to use only "buffers" in Indicators and Chart Objects only in EA's. --
this is exactly what I try to do but I just wanted to know the difference between the two methods, I believe that the indicators that require very complex calculations of the formulas must be used buffers while for simple indicator
or representation of objects on the chart I use the function ObjectCreate
If you use a buffer | If you use objects |
---|---|
You just set the buffer[] and are done. | You must use unique names for the objects, set every property every time. |
Read the buffer with one iCustom call. Perhaps in a loop to find the last set one. | Must loop through all objects, find names with a specific pattern, find the one with the last time. |
-- The rule I use for myself, is to use only "buffers" in Indicators and Chart Objects only in EA's. --
this is exactly what I try to do but I just wanted to know the difference between the two methods, I believe that the indicators that require very complex calculations of the formulas must be used buffers while for work of indicteur
single or representation of objects on the chart I use the function ObjectCreate
I recommend to not using Chart Objects if you can, even for simple situations. This does not mean that you cannot use them, just be aware of the limitations, and the possibility of accidental (or deliberate) changes made by the user.
For example, lets say that you are placing "HLines" and you accidentally double click on one and move it. If it were a "buffer" generated solution, you would no longer have to worry about that.
However, there are obviously times one must use Chart Objects and there is no other alternative.
For example, lets say that you are placing "HLines" and you accidentally double click on one and move it. If it were a "buffer" generated solution, you would no longer have to worry about that.
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use