Elexcel, Global variable: Memory overload problem

Questions about MultiCharts and user contributed studies.
arjfca
Posts: 1292
Joined: 23 Nov 2010
Has thanked: 725 times
Been thanked: 223 times

Elexcel, Global variable: Memory overload problem

Postby arjfca » 01 Mar 2013

Hello

The memory usage of a workspace is always increasing up to a point where I receive message of memory overloading from MC when the 1GB target is reached. It look like a memory leak from my indicator.

This workspace as an indicator that is used to send 8 strings of data to Excel. The strings are composed from Global variables data collected from 7 others workspaces.

I got many workspaces opened, only one is communicating with Excel, the other one are slaves and their data are sent to global variables. The master indicator, read global variables , compose strings and send them to Excel.

It work fine, but at least once per session, i need to close the master workspace ( with the Elexcel indicator) because the memory usage of it cause an alert for a potential memory overload.

What is most likely causing a memory leak
- Writing to Excel cell using Elexcel **
- Reading from a global variables
- Writing to a global variables

** Writing to excel is done for every new bar in any of the slave workspace

I can't move to MC 64 because I did not succeed to understand how to wrote a dll to replace Elexcel and adapt global variable to send data for Excel 32.

Is there a way to liberate memory?

Any information or comments appreciated

Martin

User avatar
Henry MultiСharts
Posts: 9165
Joined: 25 Aug 2011
Has thanked: 1264 times
Been thanked: 2957 times

Re: Elexcel, Global variable: Memory overload problem

Postby Henry MultiСharts » 15 Mar 2013

Hello Martin,

We can give you a hand in this situation in case you have the source code of the dll.

arjfca
Posts: 1292
Joined: 23 Nov 2010
Has thanked: 725 times
Been thanked: 223 times

Re: Elexcel, Global variable: Memory overload problem

Postby arjfca » 15 Mar 2013

Hello Martin,

We can give you a hand in this situation in case you have the source code of the dll.
Hello Henry

Thanks for the offer, but I don't have the source code for these.

I'm using ElXcel.dll and the regular Global variable from MC. All running under MC 32.

As mentioned. a workspace is loaded with one indicator. The loaded chart is Eur.Usd with a 8 minutes scale with an historical of 100 bars loaded.

This indicator is used as a master and is job is to communicate strings of data to Excel. The data are collected via Global Variable from others slaves indicators attached to other workspace.

My observation is the the master indicator see is memory utilization increasing much faster than the other one and at least 3 time per week, I need to close it after receiving the warning low memory from MC. I loaded it yesterday and now I'm already using nearly 900k of memory.

My indicator code is not using any other special dll others than does Elexcel and Global Variable.


Martin

Edit: I removed all Print comments that was used. Will see if it reduce the memory usage. Data was output for every data sent to Excel. Every tine a new bar is created in any charts using the slave indicator, a new string is sent to Excel

User avatar
Henry MultiСharts
Posts: 9165
Joined: 25 Aug 2011
Has thanked: 1264 times
Been thanked: 2957 times

Re: Elexcel, Global variable: Memory overload problem

Postby Henry MultiСharts » 19 Mar 2013

Martin, unfortunately there is nothing we can help with without the source code of the dll.

arjfca
Posts: 1292
Joined: 23 Nov 2010
Has thanked: 725 times
Been thanked: 223 times

Re: Elexcel, Global variable: Memory overload problem

Postby arjfca » 19 Mar 2013

Martin, unfortunately there is nothing we can help with without the source code of the dll.
I suppose that you have the source code for the global variable, since it is an MC integral part. Any known problem with memory usage using it?

The other one is Elexcel, an open source dll to communicate with Excel with link available on this forum

Have a good day

Martin

User avatar
furytrader
Posts: 354
Joined: 30 Jul 2010
Location: Chicago, IL
Has thanked: 155 times
Been thanked: 217 times

Re: Elexcel, Global variable: Memory overload problem

Postby furytrader » 20 Mar 2013

It would be really cool if someone could show how to write a very simple DLL using Visual Studio that is compatible with MultiCharts, either on a 32-bit or 64-bit basis.

I have done some experimenting with it, but quite honestly, I gave up because it's so hard to debug problems. The DLL will compile just fine in Visual Studio but then it won't load correctly in MultiCharts and I can't tell if the problem has to do with how the DLL is written or with how I'm invoking it in MultiCharts.

Help!

arjfca
Posts: 1292
Joined: 23 Nov 2010
Has thanked: 725 times
Been thanked: 223 times

Re: Elexcel, Global variable: Memory overload problem

Postby arjfca » 20 Mar 2013

It would be really cool if someone could show how to write a very simple DLL using Visual Studio that is compatible with MultiCharts, either on a 32-bit or 64-bit basis.

I have done some experimenting with it, but quite honestly, I gave up because it's so hard to debug problems. The DLL will compile just fine in Visual Studio but then it won't load correctly in MultiCharts and I can't tell if the problem has to do with how the DLL is written or with how I'm invoking it in MultiCharts.

Help!
Hello Furry

I found some information here, but I never succeed to wrote code in these language

Attached: How to create a dll ( extract from the site)

The site where i found it: http://www.powerbasic.com/files/pub/pbw ... -Bones.zip

Hope it help

Martin
Attachments
DLL, Where to Start.doc
(107 KiB) Downloaded 197 times

User avatar
JoshM
Posts: 2195
Joined: 20 May 2011
Location: The Netherlands
Has thanked: 1544 times
Been thanked: 1565 times
Contact:

Re: Elexcel, Global variable: Memory overload problem

Postby JoshM » 25 Mar 2013

It would be really cool if someone could show how to write a very simple DLL using Visual Studio that is compatible with MultiCharts, either on a 32-bit or 64-bit basis.

I have done some experimenting with it, but quite honestly, I gave up because it's so hard to debug problems. The DLL will compile just fine in Visual Studio but then it won't load correctly in MultiCharts and I can't tell if the problem has to do with how the DLL is written or with how I'm invoking it in MultiCharts.
There's a thread about DLL Programming here. Look for Dru's examples and comments in that thread.


Return to “MultiCharts”