SierraChart - developer's choice

I have studied many trading platforms with programming capabilities. Starting from most popular (like MT4/5, ThinkOrSwim, OpenECry, WelathLab, AmiBroker e.t.c. ) and ending some exotic like QuantShare. All of them have some serious restrictions, especially from my developers point of view. As a result, I chose SierraChart. Later I will describe here advantages and disadvantages of these platforms, but now I am using SierraChart, and this site section will be devoted to SierraChart and developing custom studies for it.

C++ source codes

Here you can find information about C++ development for SierraChart, sample codes, header files e.t.c.

SierraChart installation

SierraChart installation process is described in all details here. If you want to produce custom studies for SC, you may use it's internal editor, but… it is only editor with built-in compiler (which must be installed separately). If you want to create complex studies, you must use more powerful IDE like Microsoft Visual Studio. You can get free version of Visual Studio from Microsoft site and use it jointly with SierraChart.

SierraChart site have a good guide how to use Microsoft Visual Studio with SierraChart. But I have found that some tasks can be done more flexible and more user-friendly. Here my template, project configuration guide and some of my Tips & tricks about configuring Microsoft Visual Studio.

Colors settings

It's easy to set up colors in Hue-Sat-Lum color model.

  • Hue - it's a color code (from 0 to 360). The best choice to set it with step 30 (or 15). Using this values you will get all rainbow colors.
  • Sat - it's a saturation value (from 0 - totally uncolored to 240 - fully colored hue). Depends on Hue value optimal Sat varies from 60 to 90.
  • Lum - it's a luminosity value (from 0 - totally dark/black to 240 - totally bright/white. Middle value 120 - is for pure Hue color). Depends on Hue value optimal Lum varies may be 40, 60, 80.

Initial colors is too bright for me, so at first I'm going to Global settings / Graphics settings and setup colors (in HSL):

  • background - 160, 0, 30
  • white - 160, 0, 80
  • red - 0, 200, 80
  • green - 90, 200, 40

Cursor cross-hair color, Price and Time values boxes can be change on Global Settings / Tool Settings on tab Chart Values.

Multiply configurations

Ordinary trader have only one working SierraChart installation. But developer need at least 2 or even more separate installations. One - for developing process. Here he create new studies, debug them, optimize old ones. This installation can't be used for real trading - any mistype or error in modified codes can produce huge losses. So good practice - do not keep all eggs in one basket.

But how to work with multiply installations in most effective way? You have some directories with SierraChart and need to have fast switch between them. Automatize this process can be done with below cmd-file. When you run it, you will see text menu with choices. Enter one symbol, press enter and corresponding subdirectory will by mounted as a virtual drive S:1) and then, immediately starting SierraChart from drive S:

Copy-paste this code to any text editor and save in the text file with extension .cmd (for example SierraChartSelector.cmd). To switch to another installation - simply run it and make you choice.

@echo off
set drive_letter=S

echo -------------------------------------------------------------
echo  Select SierraChart to mount into drive %drive_letter%: 
echo -------------------------------------------------------------
echo  I - Initial (clean fresh install without any modifications) 
echo  D - Develop (used for current developing process) [default]
echo  W - Working (working copy for test before real trading)
echo  T - Trading (copy for real trading)
echo -------------------------------------------------------------
if exist %drive_letter%: (echo  U - Unmount drive %drive_letter%:)
echo  X - Exit
echo -------------------------------------------------------------

set config_name={EMPTY}
set /P INPUT=">"

if /I '%INPUT%' EQU '' set INPUT=D
if /I '%INPUT%' EQU 'U' (
echo Unmounting:
if exist %drive_letter%: (subst & subst %drive_letter%: /d) 
pause & exit /b

if /I '%INPUT%' EQU 'I' set config_name=d:\ATS\SC\initial
if /I '%INPUT%' EQU 'D' set config_name=d:\ATS\SC\develop
if /I '%INPUT%' EQU 'W' set config_name=d:\ATS\SC\working
if /I '%INPUT%' EQU 'T' set config_name=d:\ATS\SC\trading
if /I '%INPUT%' EQU 'X' exit /b

if /I '%config_name%' EQU '{EMPTY}' goto :begin

if not exist %config_name% (
echo Directory '%config_name%' not found. Aborting . . .
pause & exit /b

if exist %drive_letter%: subst %drive_letter%: /d 
rem echo Mount '%config_name%' to %drive_letter%:
subst %drive_letter%: %config_name%

start %drive_letter%:\SierraChart.exe

As you see all my SierraCharts located in one directory d:\ATS\SC\. If your's ones located in other places - simply type correct path. Also you can remove unnecessary lines or add new one.


When new version of SC arrives, you must upgrade all your's instances of SC. Just start once more selector cmd-file and check that started SC have previous version (version is written in the title bar or in dialog Help / About). Then exit SC and run previously downloaded installer of new version. In the dialog box you must type folder with SC. In our case installation folder is the root dir of disk S: (set drive_letter=S). Unfortunately, installation does not allow path “S:\” (which is correct!) so, you must add a dot2) and type “S:\.” (without double quotes).

1) dive letter can be changed to any other you like
2) dot is a synonym of the current directory
Copyright © 2014 AlgoTrading.Solutions