Indicator Debugger

From FxCodeBaseWiki
Jump to: navigation, search

Indicator Debugger

The Indicator Debugger is located in the root folder of the SDK and is called debugger.exe. You can use the shortcut "Indicator Debugger" created in Start->Programs->IndicoreSDK.

You can use the Indicator Debugger to:

  • Execute an indicator step-by-step (see Debugging Indicator)
  • Check indicator performance
  • Compile an indicator
  • Backtest a strategy step-by-step

File Locations

In the default configuration:

  • The price data is located in the data subfolder of the IndicoreSDK folder.
  • User indicators are located in the indicators subfolder of the IndicoreSDK folder.
  • Standard indicators are located in the indicators\standard folder of the IndicoreSDK folder.

You can change default folder locations in the Lua Editor configuration.

Using Debugger

Debugging Indicator

For common debugging, see Lua Debugging.

For indicator specific issues, see Debugging Indicator.

Check Indicator Performance

Performance is an ability of an indicator to process a lot of data fast. You cannot estimate real performance when you debug an indicator because running indicators in the debugging mode has a big overhead and is much slower than real execution of the same indicators in Marketscope.

Indicator performance can be checked using the Check Performance command (Tools->Check Performance). Indicator configuration is the same as for Debugging Indicator. The debugger executes the indicator as quickly as Marketscope and prints statistics into the Output page of the debugger.

Recommended performance for bar indicators: not less than 100,000 bars per second. Slower indicators may significantly slow down the backtesting/optimizing process.

See also Indicator Optimization.

Compiling Indicator

An indicator can be distributed in two forms:

  • As source code (.lua, .jsl and, optionally, .rc file).
  • As a compiled (.bin) file.

If the indicator is distributed as a compiled file, other users cannot see or change its code. The compilation does not affect the further performance of the indicator because the same LuaJIT (just-in-time) compiler is used for executing Lua code. The compilation of the code into a virtual machine is much faster than data loading, so there is no effect even during indicator loading. So, the only reason to compile is to hide the source code to protect your business idea or to prevent others from changing the code.

This Article in Other Languages

Language: English  • español • français • русский • 中文 • 中文(繁體)‎