PAIRS
(Setting can only be used in the PAIRS config)DCA
(Setting can only be used in the DCA config)COIN
(Setting can be specified per coin)DCA_123
(Setting can be specified per DCA level)GLOBAL
(Setting applies to all PAIRS and cannot be specified per COIN
)DYN
(Setting can use Dynamic logic)Settings that start with DEFAULT_
can be made coin specific.
If a setting has a coin specific override this has priority over default.
# By default you buy 10 worth but for ETH you buy 15 worth.
DEFAULT_initial_cost = 10
ETH_initial_cost = 15
Most DCA settings can be tuned per DCA level.
Say the deeper you go into DCA the less risky you want to get for example.
DEFAULT_DCA_buy_percentage_1 = 100
DEFAULT_DCA_buy_percentage_2 = 50
DEFAULT_DCA_buy_percentage_3 = 10
DEFAULT_DCA_buy_percentage_4 = 10
Dynamic logic turns your setting from a static setting to a dynamically calculated setting
You use the values of your buy and sell strategies to create these dynamic logic
DEFAULT_A_buy_strategy = ATRPERCENTAGE
DEFAULT_B_buy_strategy = RSI
# Calculate initial cost based on the ATR volatility indicator
DEFAULT_initial_cost = (SA * 2) + 10
# Check if the value of strategy B times 2 is less than 70
DEFAULT_buy_strategy_formula = (SB * 2) < 70
# Other possible comparison operators.
# == (Equal to), != (Not Equal), > (Greater than), < (Less than),
# >= (Greater than or equal to), <= (Less than or equal to)
SA would be the value of DEFAULT_A_buy_strategy
The S
indicates you want to use the Strategy Value of A
If you are dealing with a setting that sells a position.
You would need to use a sell_strategy
All properties that support Dynamic logic can also make use of conditional statements.
In the bot we make use of the so called ternary operator to define this type of logic.
You can read more on ternary on this page:
Ternary explained 1
Ternary explained 2
# If my TCV is more than 2000 use 20 USDT for initial cost.
# Otherwise use 10
DEFAULT_initial_cost = TCV > 2000 ? 20 : 10
# If value of RSI is less than 40 use 1.5 trailing_buy
# Otherwise use 0.5
DEFAULT_B_strategy = RSI
DEFAULT_trailing_buy = SB < 40 ? 1.5 : 0.5
# We can also nest the conditionals to make more than 2 checks
# We can do this by adding a condition in our else part of the statement
# If my balance is more than 700 max trading pairs is 10
# If my balance is more than 300 max trading pairs is 5
# If my balance is more than 200 max trading pairs is 3
max_trading_pairs = (BAL > 700) ? 10 : (BAL > 300) ? 5 : 3
Dynamic logic turns your setting from a static setting to a dynamically calculated setting
Below you can find a list of all the possible options
Any method that has 2 or more parameters we use the |
instead of a ,
in our properties formula. See example.
Example usage:
DEFAULT_buy_formula = Math.abs(SA) > 2 ? B && C: D && E
DEFAULT_initial_cost = Math.max(SPNL | PCOST) * 0.1
max_trading_pairsPAIRS
GLOBAL-DYN
DCA_max_trading_pairsDCA
GLOBAL-DYN
GLOBAL_(X)_strategy PAIRS
GLOBAL_(X)_strategy_pair PAIRS
auto_leverage_calculation PAIRS
LEVERAGE
pair_expires_after_days PAIRS
LEVERAGE
PAIRS
DYN
PAIRS
DYN
PAIRS
DYN-LIMITED
LEVERAGE
DCA_123
DYN
LEVERAGE
DCA_123
DCA_123
DCA_123
DCA_123
DCA_123
DCA
DCA_123
DYN
PAIRS
DYN
PAIRS
DYN
DCA_123
DCA_123
DCA_123
DCA_123
DCA
DCA_123
DYN
DCA
DCA_123
DYN
DCA
DCA_123
DYN
DCA
DYN
DCA_123
PAIRS
DCA
DYN
DCA_123
DCA_123
DCA_123
DCA_123
DCA_123
DCA_123
DCA_123
DCA_123
DYN
DCA_123
DYN
DCA_123
DCA_123
DCA_123
DYN
DCA_123
DYN
DCA_123
DCA_123
DYN
DCA_123
DYN
DCA_123
DYN
DCA_123
DCA_123
DYN
DCA_123
DYN
DCA_123
DYN
DCA_123
DYN
DCA_123
DCA_123
DYN
DCA_123
DYN
DCA_123
DYN
PAIRS
DCA
DCA_123
DYN
DCA
DCA
DCA_123
PAIRS
DCA
DYN
DCA_123
DCA_123
DCA_123
DCA_123
DCA_123
DCA_123
DCA_123
DCA_123
DYN
DCA_123
DYN
DCA_123
DCA_123
DCA_123
DYN
DCA_123
DYN
DCA_123
DCA_123
DYN
DYN
DYN
Explanation of some of the indicator properties you will encounter
- candle_period
The time frame. candle_period is defined in seconds. 300 = 5 minute time frame
- length
The amount of candles used to calculate the indicator value.