Interfaces vs Objects  [SOLVED]

Questions about MultiCharts .NET and user contributed studies.
tradetree
Posts: 81
Joined: 29 Apr 2013
Location: www.threefoldmarkets.com
Has thanked: 12 times
Been thanked: 16 times
Contact:

Interfaces vs Objects

Postby tradetree » 12 Nov 2013

In the Multicharts.NET help, there are often descriptions of C# interfaces, but not a corresponding object that implements the interface. I have been converting strategies from another platform and this has been a real problem. I have read the programming guide, and that is certainly a big help, but it is not a definitive reference. The editor help is a more complete reference, but here is an example of where it breaks down:

1) If I click on the IOrderCreator interface in the help, it has a section, "Types that implement IOrderCreator", and an example given is "OrderCreator". This at least ties the interface to an object you may reference in your code.

2) If I click on IMarketPosition, it does not have a section that points to objects that implement this interface. Slogging through the Programming guide I finally found "CurrentPosition" as the object that implements the interface. Why not connect the dots in all the documentation?

It is really quite hard to navigate the documentation in MC. This is because there are EasyLanguage references as well as .NET references, and then interfaces that are not connected to corresponding objects. I appreciate all the documentation that does exists, and I see that everything I need is ultimately there in the different resources in various places, it just is missing a final step of bringing it together.

I would appreciate some thoughts on why these items are not tied together or made more searchable, or even better if I'm missing the "Rosetta Stone" for MC I'd like to see that.

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

Re: Interfaces vs Objects

Postby Henry MultiСharts » 13 Nov 2013

Hello tradetree,

Thank you for your feedback. Your suggestions will be taken into consideration for the future improvements of the documentation.

lavalampmj
Posts: 8
Joined: 14 Nov 2013
Has thanked: 1 time
Been thanked: 1 time

Re: Interfaces vs Objects

Postby lavalampmj » 19 Nov 2013

I have to agree, as a new C# developer. (I have a great deal of experience with trading scripting languages, so I contextually I get all the nuances of trading platforms etc).

But I needed to venture into c#.Net to accomplish important aspects that could not be accomplished in say EasyLanguage. At present I have the choice of NT or this platform. I have to say, most everything about MC looks to be well thought out and the rate of innovation appears to be very good (major releases come quickly).

The main thing holding me back is when you compare the level of documentation between the two platforms, basically NT wins hands down. Both the formal documentation and the stuff you can find on the forum. The programming guide is a good first step. Its focus however, is mostly on how the platform works from a programmers point of view, it does not do a very good job of providing programming context (why and how you do things) or provide examples.

Its extremely difficult to contextually understand how the various collections relate to one another or how to use them. I'd recommend that you publish some code examples of how to use collections and events in sample projects. A UML class overview would be handy. In the indicator and strategy code, I do not believe I have seen a single line of code documentation.

Climbing up the C# knowledge curve is quite difficult, it would be very helpful for MC to throw a few more ropes down, so its easier to climb the hill...

Hope you take this feedback in the spirit is offered.

tradetree
Posts: 81
Joined: 29 Apr 2013
Location: www.threefoldmarkets.com
Has thanked: 12 times
Been thanked: 16 times
Contact:

Re: Interfaces vs Objects

Postby tradetree » 26 Nov 2013

When you evaluate NT and MC keep in mind what you can't find out about NT until you own it: robustness. MC is far better, it just doesn't have the documentation. This surprises me, because documentation is not very expensive to create. I know, as I'm in the software industry.

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

Re: Interfaces vs Objects

Postby JoshM » 27 Nov 2013

(...)
The programming guide is a good first step. Its focus however, is mostly on how the platform works from a programmers point of view, it does not do a very good job of providing programming context (why and how you do things) or provide examples.

Its extremely difficult to contextually understand how the various collections relate to one another or how to use them. I'd recommend that you publish some code examples of how to use collections and events in sample projects. A UML class overview would be handy. In the indicator and strategy code, I do not believe I have seen a single line of code documentation.
(...)
For which concrete questions/situations would you like to see an example? Perhaps if someone, including me, has already programmed such a thing they might help by sharing an example. (That will probably be quicker than "waiting" for new documentation).

tradetree
Posts: 81
Joined: 29 Apr 2013
Location: www.threefoldmarkets.com
Has thanked: 12 times
Been thanked: 16 times
Contact:

Re: Interfaces vs Objects

Postby tradetree » 03 Dec 2013

Thanks for the offer. Right now I've muddled through most issues, but when one comes up I'll be sure to ask. The thing I'm working on right now is how to get data from NT into MC. I am struggling with the expected CSV format of each field.

Here is the C# code in NT:

Code: Select all

string format = "u";
sw.WriteLine(Time[0].ToString(format) + ", " + Open[0] + ", " + High[0] + ", " + Low[0] + ", " + Close[0]);
The time format I think is not right.

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

Re: Interfaces vs Objects  [SOLVED]

Postby JoshM » 04 Dec 2013

Here is the C# code in NT:

Code: Select all

string format = "u";
sw.WriteLine(Time[0].ToString(format) + ", " + Open[0] + ", " + High[0] + ", " + Low[0] + ", " + Close[0]);
The time format I think is not right.

Code: Select all

sw.WriteLine(Bars.Time[0].ToString("dd-MM-yyyy") +
"," + Bars.Open[0] + "," + Bars.High[0] + "," +
Bars.Low[0] + "," + Bars.Close[0]);
See here for more examples on formatting DateTime to string, since you might need to adjust it to your Windows regional settings.


Return to “MultiCharts .NET”