forked from stellar-deprecated/kelp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsample_trader.cfg
128 lines (112 loc) · 7.21 KB
/
sample_trader.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# Sample config file for the kelp bot
# the trading account, this is the account that "owns" the trades (GCB7WIQ3TILJLPOT4E7YMOYF6A5TKYRWK3ZHJ5UR6UKD7D7NJVWNWIQV)
TRADING_SECRET_SEED="SAOQ6IG2WWDEP47WEJNLIU27OBODMEWFDN6PVUR5KHYDOCVCL34J2CUD"
# (optional) the source account, this is the account used to deduct fees and consume the sequence number (GBHXGGUD3LIAWJHFO7737C4TFNDDDLZ74C6VBEPF5H53XNRCVIUWZA5I)
SOURCE_SECRET_SEED="SDDAHRX2JB663N3OLKZIBZPF33ZEKMHARX362S737JEJS2AX3GJZY5LU"
# the base asset and issuer.
ASSET_CODE_A="XLM"
# uncomment the ISSUER_A if your base asset is not XLM
#ISSUER_A=""
# the counter (or quote) asset and issuer
ASSET_CODE_B="COUPON"
ISSUER_B="GBMMZMK2DC4FFP4CAI6KCVNCQ7WLO5A7DQU7EC7WGHRDQBZB763X4OQI"
# Issuer seed: SANPCJHHXCPRN6IIZRBEQXS5M3L2LY7EYQLAVTYD56KL3V7ABO4I3ISZ
# how often you want the bot to run
TICK_INTERVAL_SECONDS=300
# randomized interval delay in millis
MAX_TICK_DELAY_MILLIS=0
# the mode to use when submitting - maker_only, both (default)
# when trading on a non-SDEX exchange the only supported mode is "both"
SUBMIT_MODE="both"
# how many continuous errors in each update cycle can the bot accept before it will delete all offers to protect its exposure.
# this number has to be exceeded for all the offers to be deleted and any error will be counted only once per update cycle.
# any time the bot completes a full run successfully this counter will be reset.
# the bot will continue running even if it hits an error or deletes all offers.
# the typical use case for this config value is to keep the orders on your orderbook intact if your price feed is unreachable for a small amount of time.
# example: use -1 if you never want to delete all offers (this is not recommended).
# example: use 0 if you want to delete all offers on any error.
# example: use 2 if you want to tolerate 2 continuous update cycles with errors, i.e. 3 continuous update cycles with errors will delete all offers.
DELETE_CYCLES_THRESHOLD=0
# how many milliseconds to sleep before checking for fills again, a value of 0 disables fill tracking
# fill tracking is not supported when trading on a non-SDEX exchange (i.e. set it to 0)
FILL_TRACKER_SLEEP_MILLIS=0
# how many continuous errors in each fill-tracking cycle can the bot accept before it will delete all offers to protect its exposure.
# this number has to be exceeded for all the offers to be deleted and any error will be counted only once per cycle.
# any time the bot completes a full run successfully this counter will be reset.
# the bot will continue running even if it hits an error or deletes all offers.
# the typical use case for this config value is to keep the orders on your orderbook intact if you the endpoint to read fills is unreachable for a small amount of time.
# example: use -1 if you never want to delete all offers (this is not recommended).
# example: use 0 if you want to delete all offers on any error.
# example: use 2 if you want to tolerate 2 continuous cycles with errors, i.e. 3 continuous cycles with errors will delete all offers.
FILL_TRACKER_DELETE_CYCLES_THRESHOLD=0
# the url for your horizon instance. If this url contains the string "test" then the bot assumes it is using the test network.
HORIZON_URL="https://horizon-testnet.stellar.org"
# the URL to use for your CCXT-rest instance. Defaults to http://localhost:3000 if unset
#CCXT_REST_URL="http://localhost:3000"
# specify parameters for how we compute the operation fee from the /fee_stats endpoint
[FEE]
# trigger when "ledger_capacity_usage" in /fee_stats is >= this value
CAPACITY_TRIGGER=0.8
# percentile computation to use from /fee_stats (10, 20, ..., 90, 95, 99)
PERCENTILE=90
# max fee in stroops per operation to use
MAX_OP_FEE_STROOPS=5000
# uncomment below to add support for monitoring.
# type of alerting system to use, currently only "PagerDuty" is supported.
#ALERT_TYPE="PagerDuty"
#ALERT_API_KEY=""
# the port that the monitoring server should run on. Uncomment the following line to add monitoring server.
#MONITORING_PORT=8081
# tls certificate for the server to use if HTTPS is desired. If left empty, then the monitoring server will default to
# HTTP. A valid certificate and key file can be obtained from a Certificate Authority - an example of one is Let's Encrypt.
# If you would like to generate one for local testing, you can run `mkcert localhost` (mkcert can be installed on MacOs and Linux).
# Note that this does NOT allow you to run a publicly-accessible TLS server and is for local development only.
#MONITORING_TLS_CERT="./localhost.pem"
# tls key for the cert. If left empty, then the server will default to HTTP.
#MONITORING_TLS_KEY="./localhost-key.pem"
# If you would like to use Google OAuth for the monitoring server, you have to register your app with Google
# and request a client ID and secret. For more info see: https://developers.google.com/identity/protocols/OAuth2.
# When you register, you MUST configure the Authorized redirect URIs to something of the
# form "https://[hostname]:[MONITORING_PORT]/_googleauth". For testing locally, you can set it to "https://localhost:[PORT]/_googleauth"
# This gives the ability to secure monitoring endpoints by forcing clients to sign in using their Google accounts,
# and only acceptable emails will be allowed access (see below).
#GOOGLE_CLIENT_ID=""
#GOOGLE_CLIENT_SECRET=""
# a comma-separated list of emails (Google accounts) that are allowed access to monitoring endpoints that require
# Google authentication.
#ACCEPTABLE_GOOGLE_EMAILS=""
# minimum values for Kraken: https://support.kraken.com/hc/en-us/articles/205893708-What-is-the-minimum-order-size-volume-
# minimum order value for Binance: https://support.binance.com/hc/en-us/articles/115000594711-Trading-Rule
# (optional) number of decimal units to be used for price, which is specified in units of the quote asset, to place an order on the non-sdex (centralized) exchange
#CENTRALIZED_PRICE_PRECISION_OVERRIDE=6
# (optional) number of decimal units to be used for volume, which is specified in units of the base asset, to place an order on the non-sdex (centralized) exchange
#CENTRALIZED_VOLUME_PRECISION_OVERRIDE=1
# (optional) minimum volume of base units needed to place an order on the non-sdex (centralized) exchange
#CENTRALIZED_MIN_BASE_VOLUME_OVERRIDE=30.0
# (optional) minimum volume of quote units needed to place an order on the non-sdex (centralized) exchange
#CENTRALIZED_MIN_QUOTE_VOLUME_OVERRIDE=10.0
# uncomment lines below to use kraken. Can use "sdex" or leave out to trade on the Stellar Decentralized Exchange.
# can alternatively use any of the ccxt-exchanges marked as "Trading" (run `kelp exchanges` for full list)
#TRADING_EXCHANGE="kraken"
# you can use multiple API keys to overcome rate limit concerns for kraken
#[[EXCHANGE_API_KEYS]]
#KEY=""
#SECRET=""
#[[EXCHANGE_API_KEYS]]
#KEY=""
#SECRET=""
# if your exchange requires additional parameters during initialization, list them here (only ccxt supported currently)
# Note that some CCXT exchanges require additional parameters, e.g. coinbase pro requires a "password"
#[[EXCHANGE_PARAMS]]
#PARAM=""
#VALUE=""
#[[EXCHANGE_PARAMS]]
#PARAM=""
#VALUE=""
# if your exchange requires additional parameters as http headers, list them here (only ccxt supported currently)
#[[EXCHANGE_HEADERS]]
#HEADER=""
#VALUE=""
#[[EXCHANGE_HEADERS]]
#HEADER=""
#VALUE=""