Hi,
I have a question about using standard library indicators and which one is superior in terms of performance(both RAM and CPU).
for example the MACD indicator handle can be created both by:
and by the normal
and then later copying the buffers from the handle. I mean it seem the first method is superior since we don't create an two arrays for the values, what's your idea? which one do you use?
in the real world, you would barely notice the difference between the 2 methods.
My recomendation is to first write the code you need, worry about optimization later and only if you experience problems with performance.
Internally CiMACD is using handles and the CopyBuffer function, in theory it's performance should be worse because it is an extra layer but
in the real world, you would barely notice the difference between the 2 methods.
My recomendation is to first write the code you need, worry about optimization later and only if you experience problems with performance.
Thanks for the clear answer. I wrote it with CiMACD and for all the other indicators I used this method since it's easier to access the values (I mean skipping the copy buffer from my side), but sometimes I see CPU usage goes to 100 for a fraction of time during testing and I doubted it might be the reason, or the trailing function is causing it as it's runs on every tick.
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hi,
I have a question about using standard library indicators and which one is superior in terms of performance(both RAM and CPU).
for example the MACD indicator handle can be created both by:
CiMACD* MACDhandle; MACDhandle=new CiMACD()
and by the normal
handle=iMACD(.....); copybuffer(...);
and then later copying the buffers from the handle. I mean it seem the first method is superior since we don't create an two arrays for the values, what's your idea? which one do you use?