devalpha-io / devalpha-node

A stream-based approach to algorithmic trading and backtesting in Node.js
https://devalpha.io
GNU General Public License v3.0
246 stars 40 forks source link

API Documentation #11

Closed unsaved closed 6 years ago

unsaved commented 6 years ago

It would be really helpful if there were API spec docs. I'm a Java developer and I'm used to working from API docs and having a reference stating the purpose of each method and input parameter and output value.

If you think it worth the effort and want a hand, I could fork and add annotations/symbols/whatever (tool-specific) for what I know (in hopes that somebody more knowledgeable about devalpha would fill in what I don't know), and add script for generating the docs, if you tell me what library you like. Several choices at https://www.npmjs.com/search?q=api%20documentation .

fhqvst commented 6 years ago

I think the last time I had a look at it, I didn't find any nice tool for TypeScript API docs generation. I'll try and look into it some more to see if I can find a good option.

Also, thanks a bunch for your input - really appreciated!

unsaved commented 6 years ago

Thanks for the kind words.

I understand it can take more effort to select and integrate and learn a tool than you get out of it. In this situation I'll manually make up Markdown tables for my own reference. If they're useful to anybody else, so much the better. I'll probably badger you to fill in some essential holes. :)

(Probably a day or two before I'll have time to work up the tables).

unsaved commented 6 years ago

I made a go, but Markdown isn't up to the task. I'll think about writing it in JCreole and posting to my own site. JCreole is a wikitext engine I wrote some years back and it supports cell spanning, nesting code blocks within cells, etc. Or maybe I'll bit the bullet, learn an API-generating tool and post the output on my own site. Enough time spent on documentation today though.

unsaved commented 6 years ago

I tried jsdoc, but it's not up to the task. It doesn't recurse enough to be useful. For example, it sees that the strategy param to createTrader is a Strategy, but it can't build docs for createStrategy.js.

Guess I'll probably document this with JCreole, but now I'm working on strategies that use ticker/Time&Sales events instead of bars as input, so using my own driver. (Since the DevAlpha dashboard only works with OHLC/candlestick-like timeslice inputs).

fhqvst commented 6 years ago

I'm currently looking into if it is possible to leverage Documentalist. Will keep you posted on the progress!

fhqvst commented 6 years ago

Documentalist proved to be even less mature than Typedoc, so I gave Typedoc one more chance. An API reference for devalpha-node can now be found at https://devalpha-io.github.io/website/api/. Enjoy!