This document describes the configuration of the system. There are basically 2 ways to do so:

  • via start parameter
  • via config file(s)

Both will be covered within this document. A sample config file is listed at the end of the document.
Please note that this file deals only with the configuration of the trading system. How you can add markets to the system, the content and syntax of the symbol file is described in /docs/config_markets.md

program start parameters

  • -?, --help show help page
  • -c, --configfile select configfile within /config (default is /config/ichinscratchy.conf)
  • -V, --version shows version number
  • -s, --setup_db setup necessary database (db is cleared if exists), root password needed! Note that this is exclusive to the other command line options
  • -r, --reports skip signal evaluation/execution, do statistics based on orderbook in database; note that this is exclusive to the other command line options
  • -p, --portfolio skip signal evaluation/execution, print out current portfolio in database; note that this is exclusive to the other command line options
  • -v, --verbose be verbose (flood terminal with status messages)

Config file parameters

This chapter describes the various parameters if the config file ichinscratchy.conf As the config file is separated into different sections, this document follows this separation.

General Settings

CONFIGSYMBOLFILE
With this parameter you set the file that holds the symbols that are to be used. This file defines the .csv data file(s), a symbol name that will be used internally and some market information. How you can add markets to the system, the content and syntax of the symbol file is described in /docs/configmarkets.md
Syntax:
CONFIG_SYMBOLFILE = symbols.conf

ACCOUNT_CURRENCY
This parameter sets the currency of your account. As the software can trade many independent markets in different currencies (symbols in different currencies than your account), there has to be internal conversion to your account currency when determining position sizes, profit/losses and so on. Currently implemented and valid values are:

  • EUR (Euro)
  • USD (US Dollar)
  • YPY (Japanese Yen)

Syntax:
ACCOUNT_CURRENCY = EUR


DBHOSTNAME
Sets the hostname of the mySQL server you want to use. You can specify localhost or an IP adress like 192.168.5.300 Note that the server has to be up and running, the program will not start it by itself.
_Syntax:
DB_HOSTNAME = localhost

DBUSERNAME
Sets the user for the database. Note that the program will try to connect with this username, so the user must exist. Starting the program with the -s or --setup_db will create the user, the database and grants the user access with the specified password.
_Syntax:
DB_USERNAME = username

DBPASSWORD
Sets the password for the user access to database. Starting the program with the -s or --setup_db will create the user, the database and grants the user access with the specified password.
_Syntax:
DB_PASSWORD = yoursecretpassword

DBNAME
Specifies the name of the database. The program will try to connect to this database, so it must exist or the program will terminate. Starting the program with the -s or --setup_db will create the user, the database and grants the user access with the specified password.
_Syntax:
DB_NAME = yourdatabasename

DBPORT
Specifies the port that the mySQL server is running. Usually you don't need this parameter, uncomment and set only if you need to.
_Syntax:
#DB_PORT =

DBSOCKET
If you need a socket to connect to the mySQL server, you can set it here. Usually you don't need this parameter, uncomment and set only if you need to.
_Syntax:
#DB_SOCKET =

DBFLAGS
If you need any specific connection flags to connect to the mySQL server, you can specify them here. Usually you don't need this parameter, uncomment and set only if you need to.
_Syntax:
#DB_FLAGS =


Terminal output settings

TERMINALEVALRESULT
If you want an overview of the trending status of your symbols, including the last three strong signals, you can set this config parameter. Note that the evaluated time period is from ICHI_DAYS_TO_ANALYZE until the last date in your data set.
Valid options are:

  • none: no terminal output
  • text: print a human readable table to terminal (default)
  • html: throw html code into the terminal (note that this option was meant to be used for the weekly Ichimoku analysis/ overview as regularly posted on https://www.spare-time-trading.de

Syntax:
TERMINAL_EVAL_RESULT = text

TERMINAL_STATISTICS
Prints statistical evaluation to the terminal. Statistics are based on the sell entries in the db table orderbook_daily. Note that this makes sense for backtesting, less so for daily use.
Statistic report can also be generated when starting the program using the -r or --report parameter. When doing so, the signal generation/execution part of the program will be skipped, only the statistics will be calculated and the db will not be altered. WithTERMINAL_STATISTICS = text on the contrary, the program behaves normally, will import new quotes, calculate indicators and signals, execute them and present the statistics after that.

Valid options are:

  • none: no statistics in terminal (default)
  • text: print statistics to terminal after completion

Syntax:
TERMINAL_STATISTICS = none


General indicator settings

INDIDAYSTOUPDATE
This option specifies for which period the indicators (like highest highs, true range or the Ichimoku components) in the database should be updated. Usually this should match the number of data points in your price .csv files, can be less but MUST NOT be larger (as then you would try to calculate indicators based on non-existing price data). 200 periods is a reasonable default, for backtesting you can increase that number accordingly.
_Syntax:
INDI_DAYS_TO_UPDATE = 200

INDIADXPERIOD
This option specifies the period, over which the ADX shall be smoothed. Basically, the ADX is an exponential average of the DMI, which in turn contains the ATR, an exponential average of the True Range. INDI_ADX_PERIOD specifies the number of periods in those exponential moving averages. Default is 14 days.
Syntax:
INDI_ADX_PERIOD = 14


ICHIDAYSTOANALYZE
This option specifies, for which period the Ichimoku components should be evaluated for signals. Note that this period MUST be smaller than INDIDAYSTOUPDATE, as some Ichimoku components need some past data to be calculated. At the time if writing this is not checked at runtime, so ignoring this rule will make the program abort. Usually
ICHI_DAYS_TO_ANALYSE = INDI_DAYS_TO_UPDATE - ICHI_PERIOD_LONG
should work as a rule of thumb. Default is 40 days, for backtesting you can increase that number accordingly.
Syntax: ICHI_DAYS_TO_ANALYZE = 40

ICHIPERIODSHORT
This sets the short term period for Ichimoku to the given bars. As the Ichimoku default is 9, you can experiment with this value. Note that is must be shorter than ICHI_PERIOD_MID and ICHI_PERIOD_LONG
Syntax:
ICHI_PERIOD_SHORT = 9

ICHIPERIODMID
This sets the medium term period for Ichimoku to the given bars. As the Ichimoku default is 26, you can experiment with this value. Note that is must be shorter than ICHI_PERIOD_LONG and larger than ICHI_PERIOD_SHORT
Syntax:
ICHI_PERIOD_MID = 26

ICHIPERIODLONG
This sets the long term period for Ichimoku to the given bars. As the Ichimoku default is 52, you can experiment with this value. Note that is must be larger than ICHI_PERIOD_SHORT and ICHI_PERIOD_MID
Syntax:
ICHI_PERIOD_LONG = 52

ICHICHIKOUCONFIRM
This uses the Chikou Span as confirmation/trend filter for all ichimoku strong signals. If e.g. a strong long signal occurs, turning this option on will check if the chikou span is above the price (which means if price today is higher than ICHIPERIODMID days ago, which is a symptom of an uptrend. Vice versa for strong short signals. Note that this filter is not applied to neutral and weak signals. It is also not applied to the Chikou Cross Signal (which wouldn't make sense, as this Signal triggers the filter)
Default is true.
Syntax:
ICHI_CHIKOU_CONFIRM = true

ICHIKUMOCONFIRM
If set to true, for a Kumo breakout to be valid the price has to make a higher high/lower low on close above/below previous (horizontal) reaction high/ reaction low. This drastically improves signal quality of Kumo breakouts at the cost of making a Kumo breakout a pretty rare event.
Default is true.
Syntax:
ICHI_KUMO_CONFIRM = true

ICHIEXECUTIONSENKOUX
This option defines if the Ichimoku signal Senkou Span Cross will be executed. Note that even if set to false, the Indicators Senkou Span A and B and the Signal will still be calculated and stored in the database. The execution management part will just not execute the signal if it occurs. Default is true.
_Syntax:
ICHI_EXECUTION_SENKOU_X = true

ICHIEXECUTIONKIJUNX
This option defines if the Ichimoku signal Kijun Cross will be executed. Note that even if set to false, the indicator Kijun-Sen and the signal will still be calculated and stored in the database. The execution management part will just not execute the signal if it occurs. Default is true.
_Syntax:
ICHI_EXECUTION_KIJUN_X = true

ICHIEXECUTIONCHIKOUX
This option defines if the Ichimoku signal Chikou Span Cross will be executed. Note that even if set to false, the indicator Chikou Span and the signal will still be calculated and stored in the database. The execution management part will just not execute the signal if it occurs. Default is true.
_Syntax:
`ICHIEXECUTIONCHIKOU_X = true'

ICHIEXECUTIONTKX
This option defines if the Ichimoku signal Tenkan/Kijun Cross will be executed. Note that even if set to false, the indicators Tenkan-Sen and Kijun-Sen (and their crossing as signal) will be calculated and stored in the database. The execution management part will just not execute the signal if it occurs. Default is true.
_Syntax:
ICHI_EXECUTION_TK_X = true

ICHIEXECUTIONKUMOBREAK
This option defines if the Ichimoku signal Kumo breakout will be executed. Note that even if set to false, the indicators Senkou Span A and B and the Signal will still be calculated and stored in the database. The execution management part will just not execute the signal if it occurs. Default is true.
Syntax:
ICHI_EXECUTION_KUMOBREAK = true


Signal execution settings

SIGNALREGIMEFILTER
This option switches the market regime filter on (and choses which one to use). In sideways/non- trending markets signals will not be executed, resulting in lower trading frequency but higher quality signals.
Following options are valid:

  • none Turn market regime filter off
  • ADX Use Average Directional Index
  • TNI Trend Normality Indicator by @tasciccac, usable only in conjunction with ichimoku-based systems; check https://twitter.com/tasciccac/status/867392176296210432

Syntax:
SIGNAL_REGIME_FILTER = none

SIGNALREGIMEADXTHRESH
When SIGNAL_REGIME_FILTER is set to ADX, this option specifies the threshhold under which a market will be considered as sideways (=trendless). In this case signals in this specific market won't be executed. Default is 30.
_Syntax: SIGNAL_REGIME_FILTER = 30

SIGNALDAYSTOEXECUTE
This option defines how many days backward signals in the database should be executed. The program takes the last available date in the database as a reference for each symbol and looks back the specified number of days. Note that only existing date/quote pairs in the database are considered, so weekend and holidays do not count.
_Syntax:
SIGNAL_DAYS_TO_EXECUTE = 1

SIGNALEXECUTIONDATE
Specifies when a found signal or stop loss should be executed. Three options are valid:

  • real_date Use the date when the program is run to execute all found signals; use the open price for this day
  • signal_date Use the date when the signal/SL was triggered; use the close price for this day
  • signal_next Use the next date after the signal/SL was triggered; use the open price for this day

Usually when doing live trading, you would use realdate. When doing backtests you can use signaldate/signalnext with the latter emulating the behaviour of execution based on eod data (normally you could not execute a signal using eod data, because the markets have already closed, but do it the next day).
_Syntax:

SIGNAL_EXECUTION_DATE = signal_date

SIGNALMANUALCONFIRM
When set to true the user will be asked to confirm the execution of each signal/stop loss. When set to false (default), it will be executed automatically. This at the moment is without much functionality besides the confirmation, the idea is to implement manual input of the manually executed trade into the database like the actual price, commission and so on.
Syntax:
SIGNAL_MANUAL_CONFIRM = false

SIGNALEXECUTIONPYRAMID
Determines if the system should use pyramiding, e.g. buy more than 1 position for the same symbol/market in the same direction (long/short). This has influence on your risk management and the commisions when executing/ backtesting the trading system.
Valid options are:

  • none: do not pyramid at all, buy only 1 position per symbol and direction
  • daily: execute only 1 long or short signal, when multiple signals occure at at the same day
  • full: do not impose any limits, buy every single signal

Syntax:
SIGNAL_EXECUTION_PYRAMID = full

SIGNALEXECUTIONWEAK
This option determines if weak signals should be executed. Currently only the implementation of the Ichimoku rule set uses the concept of weak/ neutral/ strong signals. Note that when set to false (default) the signals still will be available in the database, but not executed by the system.
Syntax:
SIGNAL_EXECUTION_WEAK = false

SIGNALEXECUTIONNEUTRAL
This option determines if neutral signals should be executed. Currently only the implementation of the Ichimoku rule set uses the concept of weak/ neutral/ strong signals. Note that when set to false (default) the signals still will be available in the database, but not executed by the system.
Syntax:
SIGNAL_EXECUTION_NEUTRAL = false

SIGNALEXECUTIONSTRONG
This option determines if strong signals should be executed (default: true). Currently only the implementation of the Ichimoku rule set uses the concept of weak/ neutral/ strong signals. Note that when set to false the signals still will be available in the database, but not executed by the system.
Syntax:
SIGNAL_EXECUTION_STRONG = true

SIGNALEXECUTIONLONG
This option determines if long signals should be executed (default: true). Note that when set to false the signals still will be available in the database, but not executed by the system.
Syntax:
SIGNAL_EXECUTION_LONG = true

SIGNALEXECUTIONSHORT
This option determines if short signals should be executed (default: true). Note that when set to false the signals still will be available in the database, but not executed by the system.
Syntax:
SIGNAL_EXECUTION_SHORT = true

SIGNALEXECUTIONSUNDAYS
This option determines if signals are executed that are based on quotes that were pulled in on sundays. This may happen if you work with futures quote data, when some markets open on monday morning (their local time) and your home time/date is still sunday. Default is false.
Sytax:
SIGNAL_EXECUTION_SUNDAYS = false


Portfolio related settings

PORTFOLIO_ALLOCATION
This option determines how the portfolio allocation is done. Currently there are two ways implemented:

  • equal: no special allocation, all positions have the same size (default)
  • spearman: use SPEARMAN correlation to determine position size

More methods will be added in the future. In cases equal is NOT selected, the following algorithm is used:

    loop through all portfolio entries, calc correllation and position
    size using the following formula:
    P_N = \frac[\sum{_i=0}{^N-1} P_i * \Rho_iN * d_iN ]  [N-1]
        with    P_N     new position size
    P_i     Position sizes of existing portfolio entries
    Rho_iN  Correlation between new entry and existing entreis
    d_iN    weight, =1 for long/long or short/short; -1 if otherwise

Syntax:
PORTFOLIO_ALLOCATION = spearman

PORTFOLIOSPEARMANPERIOD
This option determines the period, for which the Spearman correlation
(https://en.wikipedia.org/wiki/Spearman'srankcorrelationcoefficient) should be calculated. Default is 52, which means that the correlation is calulated based on the price of the last 52 days. _Syntax:
PORTFOLIO_SPEARMAN_PERIOD = 52

PORTFOLIOCORINTVXMIN/MAX
This is a bunch of options which allow to split the correlation intervall [-1;1] into five sub-intervalls:

    PORTFOLIO_COR_INTV_1_MIN =
    PORTFOLIO_COR_INTV_1_MAX =
    ...
    PORTFOLIO_COR_INTV_5_MIN =
    PORTFOLIO_COR_INTV_5_MAX =

The sub-intervalls can then receive individual weights (see PORTFOLIO_INTV_X_WEIGHT). This way it is possible to tailor the allocation algorithm in a way that favors positive correlation, negative correlation or no correlation at all. Syntax: PORTFOLIO_COR_INTV_1_MIN = -1

PORTFOLIOCORINTVXWEIGHT
There are 5 different options, according to the 5 different sub-intervalls of the correlation factor [-1;1] (see PORTFOLIO_COR_INTV_X_MIN/MAX).

    PORTFOLIO_COR_INTV_1_WEIGHT = 
    ...
    PORTFOLIO_COR_INTV_5_WEIGHT =


Each of the 5 sub-intervalls can be weighted differently. This way the user can tailor the allocation algorithm in a way that favors positive correlation, negative correlation or no correlation at all (even a mix is possible, though this doesn't make much sense to me...). The weights can be a floating number from [0;1], meaning values closer to 0 weighting less and values closer to 1 weighting more the specific correlation interval. Syntax: PORTFOLIO_COR_INTV_1_WEIGHT = 1

PORTFOLIOPNINTVXMIN/MAX
The portfolio allocation algorithm gives a float number in the intervall [0;1] for the position size of the new position. In most situation it makes no sense e.g. to buy a 0.371213 fraction of the usual position size. With this options the position size intervall [0;1] can be split into 4 sub intervalls:

    PORTFOLIO_PN_INTV_1_MIN = 0     
    PORTFOLIO_PN_INTV_1_MAX = 0.25  
    ...
    PORTFOLIO_PN_INTV_4_MIN = 0.75  
    PORTFOLIO_PN_INTV_4_MAX = 1     


which then a common position size can be assigned to (see PORTFOLIO_PN_INTV_1_WEIGHT).
Syntax:
PORTFOLIO_PN_INTV_1_MIN = 0

PORTFOLIOPNINTVXWEIGHT
This option sets the weights for the position size intervalls (see PORTFOLIO_PN_INTV_X_MIN/MAX). If for example you want to assign a common position size of 0.25 to all outcomes of the allocation algorithm within the intervall [0; 0.25] you would set

    PORTFOLIO_PN_INTV_1_MIN = 0     
    PORTFOLIO_PN_INTV_1_MAX = 0.25 
    PORTFOLIO_PN_INTV_1_WEIGHT = 0.25

you can do the same for the other 3 sub-intervalls

    PORTFOLIO_PN_INTV_2_WEIGHT=0.5 
    PORTFOLIO_PN_INTV_3_WEIGHT= 0 
    PORTFOLIO_PN_INTV_4_WEIGHT = 0  

Syntax:
PORTFOLIO_PN_INTV_1_WEIGHT = 0.25


Stop Loss settings

SL_TYPE
This option determines the type of stop loss the system uses.
Valid options are:

  • percentage: use a fixed percentage of the buy price to determine SL (default)
  • chandelier: use a stop loss based on volatility (Average True Range) to determine SL

More types of SL might be added in future versions.
Syntax:
SL_TYPE = percentage

SLPERCENTAGERISK
When using SL_TYPE = percentage this option specifies the percentage you want to risk, based on the buy price (default is 0.02).
Syntax:
SL_PERCENTAGE_RISK = 0.02

SLCHANDELIERATRFACTOR
When using SL_Type = chandelier this option specifies the factor that the ATR will be multiplied with (in other words place the SL x-times the ATR away from current price). Default is 3.
_Syntax:
SL_CHANDELIER_ATR_FACTOR = 3

SLCHANDELIERATRPERIOD
When using SL_type = chandelier this option specifies the _Average-part of ATR (in other words the period for averaging the true range). Based on this option the ATR will be calculated and stored in the db table indicators_daily. You can choose your period freely, using the same period as the mid term period for Ichimoku should give a good starting point. NOTE: SIGNALDAYSTOEXECUTE must be at least SLCHANDELIERATRPERIOD days shorter than INDIDAYSTOUPDATE, because the first ATR calculation needs SLCHANDELIERATRPERIOD days.
If earlier ATR values are queried, mysql will return 0 for the ATR so when using chandelier stop the calculation of the stop might be wrong!
Syntax:
SL_CHANDELIER_ATR_PERIOD = 26

SL_ADJUST
This option specifies how the the stop loss will be adjusted from day to day/ bar to bar.
Valid options are:

  • fixed: do not adjust the SL at all, keep the initial SL. This might be useful if you plan to sell manually and use price targets (currently the software does not support this).
  • trailing: Default behaviour, adjust the SL in the direction of the trade (when bought long only raise the SL, when short lower it)
  • updown: move the SL with price, this makes little sense with SL_TYPE = percentage as the SL will only be reached when a daily movement is bigger than SL_PERCENTAGE_RISK. More useful when using SL_TYPE = chandelier as SL will get closer to price in times of lower volatility.

Syntax:
SL_ADJUST = trailing


Risk Management settings

STARTINGBALANCE
This option sets the account balance at the start of the backtest/of the live trading.
_Syntax: STARTING_BALANCE = 1000000

RISKPERPOSITION
This option specifies the risk of a new position in % of current equity. In conjunction with the calculated initial stop loss this determines the size of the new position (in terms of how many units will be bought).
Syntax: RISK_PER_POSITION = 0.02


CHARTPLOT
Specifies if a .plot-File should be generated within /data/charts/ which can be plotted using _GNUPLOT (http://gnuplot.sourceforge.net/). Note that even when set to true (default) you have to run gnuplot afterwards to actually create an image. See https://spare-time-trading.de for examples of the generated charts.
Syntax:
CHART_PLOT = true

CHART_COLORSCHEME
Currently two color schemes are available for the charts:

  • light (default)
  • contrast

Syntax:
CHART_COLORSCHEME = contrast

CHARTDAYSTOPLOT
This option specifies how many days should be plotted in the charts. Default is 120 which translates roughly to six months.
_Syntax:
CHART_DAYS_TO_PLOT = 120


Example config file

#################################################
# Config file for main program ichinscratchy    #
# example file- remove '.EXAMPLE' from filename #
# to use it, fit to your needs                  #
#                                               #
# comments start with #, in line                #
# comments are allowed                          #
#################################################

###############################################################################
# General Settings
###############################################################################
CONFIG_SYMBOLFILE = symbols.conf    # file that holds symbols
ACCOUNT_CURRENCY = EUR              # atm EUR/USD/JPY

###############################################################################
# Database related settings
###############################################################################
DB_HOSTNAME = 123.123.123.123
DB_USERNAME = youruser 
DB_PASSWORD = yourpassword
DB_NAME = yourdatabasename
#DB_PORT = 
#DB_SOCKET = 
#DB_FLAGS = 

###############################################################################
# terminal output settings
###############################################################################
TERMINAL_EVAL_RESULT = none    # text, html, none
TERMINAL_STATISTICS = none      # text, none

###############################################################################
# General indicator settings
###############################################################################
INDI_DAYS_TO_UPDATE = 200    # default 200
INDI_ADX_PERIOD = 14            # number of periods in ADX' EMAs, default: 14

###############################################################################
# Ichimoku related settings
###############################################################################
ICHI_DAYS_TO_ANALYZE = 40    # default 40
ICHI_PERIOD_SHORT = 9        # default 9 
ICHI_PERIOD_MID = 26        # default 26
ICHI_PERIOD_LONG = 52          # default: 52
ICHI_CHIKOU_CONFIRM = true      # use chikou span as confirmation/filter for 
                                # trend (default true)
ICHI_KUMO_CONFIRM = true        # check whether Kumo breakout is higher/lower 
                                # than last reaction high/low
ICHI_EXECUTION_SENKOU_X = true  # execute Signal Senkou Cross, default true
ICHI_EXECUTION_KIJUN_X = true   # execute Signal Kijun Cross, default true
ICHI_EXECUTION_CHIKOU_X = true  # execute Chikou Cross, default true
ICHI_EXECUTION_TK_X = true      # execute Tenkan/Kijun Cross, default true
ICHI_EXECUTION_KUMOBREAK = true # execute Kumo breakout, default true       

###############################################################################
# Signal execution settings
###############################################################################
SIGNAL_REGIME_FILTER = ADX      # Market regime filter: ADX, TNI,none (default)
SIGNAL_REGIME_ADX_THRESH = 30   # ADX market filter threshold, default 30
SIGNAL_DAYS_TO_EXECUTE = 5    # how many days backwards should signals in 
                                # database be considered? default 5
SIGNAL_EXECUTION_DATE=real_date # when to execute signal: 
                                # signal_date (date when signal was triggered),
                                # real_date (date when program is run)
SIGNAL_MANUAL_CONFIRM = true    # true: confirm execution of signals (default); 
                                # false: auto buy/sell
SIGNAL_EXECUTION_PYRAMID= none  # pyramid buy/sell signals, e.g. buy more than 
                                # 1 position in same direction?
                                # none: buy max 1 position in long/short, 
                                # daily: execute only 1 long/ 1 short per day, 
                                # pyramid on consecutive days, full: do not
                                # impose any limits, buy every single signal
SIGNAL_EXECUTION_WEAK = false    # default false
SIGNAL_EXECUTION_NEUTRAL= false    # default false
SIGNAL_EXECUTION_STRONG = true    # default true
SIGNAL_EXECUTION_LONG = true    # default true
SIGNAL_EXECUTION_SHORT = true    # default true
SIGNAL_EXECUTION_SUNDAYS =false # execute signals that occur on Sundays? (can 
                                # happen when pulling in futures quotes)

###############################################################################
# Portfolio related settings
###############################################################################
PORTFOLIO_ALLOCATION = equal    # Model to perform portfolio allocation: 
                                # equal (equal position sizes),
                                # spearman (use spearman correlation)
PORTFOLIO_SPEARMAN_PERIOD = 52  # Period to calculate Spearman Correlation
PORTFOLIO_COR_INTV_1_MIN = -1   # INTV_1_MIN <= RHO < INTV_1_MAX, default: -1
PORTFOLIO_COR_INTV_1_MAX = -0.5 # INTV_1_MIN <= RHO < INTV_1_MAX, default: -0.5
PORTFOLIO_COR_INTV_2_MIN = -0.5 # INTV_2_MIN <= RHO < INTV_2_MAX, default: -0.5
PORTFOLIO_COR_INTV_2_MAX =-0.25 # INTV_2_MIN <= RHO < INTV_2_MAX, default:-0.25
PORTFOLIO_COR_INTV_3_MIN =-0.25 # INTV_3_MIN <= RHO < INTV_3_MAX, default:-0.25
PORTFOLIO_COR_INTV_3_MAX = 0.25 # INTV_3_MIN <= RHO < INTV_3_MAX, default: 0.25
PORTFOLIO_COR_INTV_4_MIN = 0.25 # INTV_4_MIN <= RHO < INTV_4_MAX, default: 0.25
PORTFOLIO_COR_INTV_4_MAX = 0.5  # INTV_4_MIN <= RHO < INTV_4_MAX, default: 0.5
PORTFOLIO_COR_INTV_5_MIN = 0.5  # INTV_5_MIN <= RHO < INTV_5_MAX, default: 0.5
PORTFOLIO_COR_INTV_5_MAX = 1    # INTV_5_MIN <= RHO < INTV_5_MAX, default: 1
PORTFOLIO_COR_INTV_1_WEIGHT = 1 # weight for cor. in 1st intervall, default 1
PORTFOLIO_COR_INTV_2_WEIGHT=0.8 # weight for cor. in 2nd intervall, default 0.8
PORTFOLIO_COR_INTV_3_WEIGHT=0.6 # weight for cor. in 3rd intervall, default 0.6
PORTFOLIO_COR_INTV_4_WEIGHT=0.4 # weight for cor. in 4th intervall, default 0.4
PORTFOLIO_COR_INTV_5_WEIGHT=0.2 # weight for cor. in 5th intervall, default 0.2
PORTFOLIO_PN_INTV_1_MIN = 0     # INTV_1_MIN <= PN < INTV_1_MAX, default: 0
PORTFOLIO_PN_INTV_1_MAX = 0.25  # INTV_1_MIN <= PN < INTV_1_MAX, default: 0.25
PORTFOLIO_PN_INTV_2_MIN = 0.25  # INTV_2_MIN <= PN < INTV_2_MAX, default: 0.25
PORTFOLIO_PN_INTV_2_MAX = 0.5   # INTV_2_MIN <= PN < INTV_2_MAX, default: 0.5
PORTFOLIO_PN_INTV_3_MIN = 0.5   # INTV_3_MIN <= PN < INTV_3_MAX, default: 0.5
PORTFOLIO_PN_INTV_3_MAX = 0.75  # INTV_3_MIN <= PN < INTV_3_MAX, default: 0.75
PORTFOLIO_PN_INTV_4_MIN = 0.75  # INTV_4_MIN <= PN < INTV_4_MAX, default: 0.75
PORTFOLIO_PN_INTV_4_MAX = 1     # INTV_4_MIN <= PN < INTV_4_MAX, default: 1
PORTFOLIO_PN_INTV_1_WEIGHT=0.25 # weight for PN in 1st intervall, default 0.25
PORTFOLIO_PN_INTV_2_WEIGHT=0.5  # weight for PN in 2nd intervall, default 0.5
PORTFOLIO_PN_INTV_3_WEIGHT=0.75 # weight for PN in 3rd intervall, default 0.75
PORTFOLIO_PN_INTV_4_WEIGHT = 1  # weight for PN in 4th intervall, default 1

###############################################################################
# Stop Loss settings
###############################################################################
SL_TYPE    = percentage            # percentage (percentage stop, default), 
                                # chandelier (Chandelier Stop)
SL_PERCENTAGE_RISK = 0.02       # percent for SL_TYPE= percentage, default 0.02
SL_CHANDELIER_ATR_FACTOR = 3    # SL_TYPE=chandelier: Place SL x-times the ATR
                                # away (default 3)
SL_CHANDELIER_ATR_PERIOD = 26   # SL_TYPE=chandelier: Period for Averaging the 
                                # True Range (default 26)
SL_ADJUST = trailing            # fixed (use initial SL only), 
                                # trailing (adjust SL in trend direction only)
                                # updown (adjust SL in both directions), 
                                # default: trailing

###############################################################################
# Risk management settings
###############################################################################
STARTING_BALANCE = 10000        # starting account balance at begin of 
                                # backtest/live trading
RISK_PER_POSITION = 0.02        # Risk of a new position in % of current Equity                                

###############################################################################                                
# Chart related settings
###############################################################################
CHART_PLOT = true               # plot the chart, true/false
CHART_PLOT_WEAK = false            # plot weak signals; default false
CHART_PLOT_NEUTRAL = false    # plot neutral signals; default false
CHART_PLOT_STRONG = true    # plot strong signals; default true
CHART_COLORSCHEME = contrast    # light/ contrast
CHART_DAYS_TO_PLOT = 120        # default: 120

#eof

Comments powered by CComment