Plugins & Snippets

Author: Mark Fric

May 5th, 2015

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)

Page contents

Since version 4 all programs (Quant Analyzer, StrategyQuant) are based on extendable architecture that allows users to add / modify the functionality by developing or modifying code.

There are two possibilities how to extend the application:


plugins are java projects that implement some bigger functionality. In the new Quant Analyzer or StrategyQuant almost everything is plugin. For example Monte Carlo simulator is a plugin, Analyzer displaying strategy report results is a plugin and it contains other plugins that implement Overview tab, Equity chart and so on.

We will be working on upgrading documentation on plugin architecture and possibilities of custom plugin development.


snippets are objects/functions that implement one particular function. A snippet is a single Java code implementing a small part of functionality. Snippets can be added or edited in QuantEditor, and they are automatically recompiled on program start.

There are different categories of snippets, for example one category of snippets computes statistical values (Net Profit, Number of trades, Sharpe ratio, Drawdown etc.), another category of snippets provides Monte Carlo simulation methods, and yet another implements different possibilities in What-If scenarios.

The source code of every snipped can be viewed and edited in QuantEditor, so you can:

  • see how some functionality works (for example how Sharpe ratio is computed)
  • modify the function
  • create new function that will add new statistical value, What-If option or something else.

What’s the difference between Plugins and Snippets?

Plugins implement a major functionality and consist of multiple classes, user interface, dialogs etc. Plugin itself can use its own snippets,for example plugin for What-If uses What-If snippets to dynamically load the available options.

Snippets are simple functions that usually perform one computation and store or return the value that is later used by the program.

< Previous: Getting started extending the programsNext: Understanding report objects >

Inline Feedbacks
View all comments