Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Everything is explained here:
- // @link https://github.com/askmike/gekko/blob/stable/docs/Configuring_gekko.md
- var config = {};
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // GENERAL SETTINGS
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- config.debug = true; // for additional logging / debugging
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // WATCHING A MARKET
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // Monitor the live market
- config.watch = {
- exchange: 'bitfinex', // see gekko/docs/supported_exchanges.md
- currency: 'USD',
- asset: 'BTC'
- }
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // CONFIGURING TRADING ADVICE
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- config.tradingAdvisor = {
- enabled: true,
- method: 'MACD',
- candleSize: 15,
- historySize: 25,
- adapter: 'sqlite',
- talib: {
- enabled: false,
- version: '1.0.2'
- }
- }
- // Exponential Moving Averages settings:
- config.DEMA = {
- // EMA weight (α)
- // the higher the weight, the more smooth (and delayed) the line
- short: 10,
- long: 21,
- // amount of candles to remember and base initial EMAs on
- // the difference between the EMAs (to act as triggers)
- thresholds: {
- down: -0.025,
- up: 0.025
- }
- };
- // MACD settings:
- config.MACD = {
- // EMA weight (α)
- // the higher the weight, the more smooth (and delayed) the line
- short: 10,
- long: 21,
- signal: 9,
- // the difference between the EMAs (to act as triggers)
- thresholds: {
- down: -0.025,
- up: 0.025,
- // How many candle intervals should a trend persist
- // before we consider it real?
- persistence: 1
- }
- };
- // PPO settings:
- config.PPO = {
- // EMA weight (α)
- // the higher the weight, the more smooth (and delayed) the line
- short: 12,
- long: 26,
- signal: 9,
- // the difference between the EMAs (to act as triggers)
- thresholds: {
- down: -0.025,
- up: 0.025,
- // How many candle intervals should a trend persist
- // before we consider it real?
- persistence: 2
- }
- };
- // RSI settings:
- config.RSI = {
- interval: 14,
- thresholds: {
- low: 30,
- high: 70,
- // How many candle intervals should a trend persist
- // before we consider it real?
- persistence: 1
- }
- };
- // CCI Settings
- config.CCI = {
- constant: 0.015, // constant multiplier. 0.015 gets to around 70% fit
- history: 90, // history size, make same or smaller than history
- thresholds: {
- up: 100, // fixed values for overbuy upward trajectory
- down: -100, // fixed value for downward trajectory
- persistence: 0 // filter spikes by adding extra filters candles
- }
- };
- // StochRSI settings
- config.StochRSI = {
- interval: 3,
- thresholds: {
- low: 20,
- high: 80,
- // How many candle intervals should a trend persist
- // before we consider it real?
- persistence: 3
- }
- };
- // custom settings:
- config.custom = {
- my_custom_setting: 10,
- }
- config['talib-macd'] = {
- // FastPeriod, SlowPeriod, SignalPeriod
- parameters: [10, 21, 9],
- thresholds: {
- down: -0.025,
- up: 0.025,
- // How many candle intervals should a trend persist
- // before we consider it real?
- persistence: 1
- }
- }
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // CONFIGURING PLUGINS
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // Want Gekko to perform real trades on buy or sell advice?
- // Enabling this will activate trades for the market being
- // watched by `config.watch`.
- config.trader = {
- enabled: true,
- key: '',
- secret: '',
- username: '' // your username, only required for specific exchanges.
- }
- config.adviceLogger = {
- enabled: true
- }
- // do you want Gekko to calculate the profit of its own advice?
- config.profitSimulator = {
- enabled: false,
- // report the profit in the currency or the asset?
- reportInCurrency: true,
- // start balance, on what the current balance is compared with
- simulationBalance: {
- // these are in the unit types configured in the watcher.
- asset: 1,
- currency: 100,
- },
- // only want report after a sell? set to `false`.
- verbose: false,
- // how much fee in % does each trade cost?
- fee: 0.25,
- // how much slippage/spread should Gekko assume per trade?
- slippage: 0.05
- }
- // want Gekko to send a mail on buy or sell advice?
- config.mailer = {
- enabled: false, // Send Emails if true, false to turn off
- sendMailOnStart: true, // Send 'Gekko starting' message if true, not if false
- email: '', // Your Gmail address
- // You don't have to set your password here, if you leave it blank we will ask it
- // when Gekko's starts.
- //
- // NOTE: Gekko is an open source project < https://github.com/askmike/gekko >,
- // make sure you looked at the code or trust the maintainer of this bot when you
- // fill in your email and password.
- //
- // WARNING: If you have NOT downloaded Gekko from the github page above we CANNOT
- // guarantuee that your email address & password are safe!
- password: '', // Your Gmail Password - if not supplied Gekko will prompt on startup.
- tag: '[GEKKO] ', // Prefix all email subject lines with this
- // ADVANCED MAIL SETTINGS
- // you can leave those as is if you
- // just want to use Gmail
- server: 'smtp.gmail.com', // The name of YOUR outbound (SMTP) mail server.
- smtpauth: true, // Does SMTP server require authentication (true for Gmail)
- // The following 3 values default to the Email (above) if left blank
- user: '', // Your Email server user name - usually your full Email address 'me@mydomain.com'
- from: '', // 'me@mydomain.com'
- to: '', // 'me@somedomain.com, me@someotherdomain.com'
- ssl: true, // Use SSL (true for Gmail)
- port: '', // Set if you don't want to use the default port
- tls: false // Use TLS if true
- }
- config.ircbot = {
- enabled: false,
- emitUpdats: false,
- channel: '#your-channel',
- server: 'irc.freenode.net',
- botName: 'gekkobot'
- }
- config.xmppbot = {
- enabled: false,
- emitUpdats: false,
- client_id: 'jabber_id',
- client_pwd: 'jabber_pw',
- client_host: 'jabber_server',
- client_port: 5222,
- status_msg: 'I\'m online',
- receiver: 'jabber_id_for_updates'
- }
- config.campfire = {
- enabled: false,
- emitUpdates: false,
- nickname: 'Gordon',
- roomId: null,
- apiKey: '',
- account: ''
- }
- config.redisBeacon = {
- enabled: false,
- port: 6379, // redis default
- host: '127.0.0.1', // localhost
- // On default Gekko broadcasts
- // events in the channel with
- // the name of the event, set
- // an optional prefix to the
- // channel name.
- channelPrefix: '',
- broadcast: [
- 'candle'
- ]
- }
- config.candleWriter = {
- adapter: 'sqlite',
- enabled: true
- }
- config.webserver = {
- enabled: false,
- http: {
- port: 8080,
- host: 'localhost'
- },
- ws: {
- port: 8081,
- host: 'localhost'
- }
- }
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // CONFIGURING ADAPTER
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- config.adapters = {
- sqlite: {
- path: 'plugins/sqlite',
- dataDirectory: './history',
- version: 0.1,
- dependencies: [{
- module: 'sqlite3',
- version: '3.1.4'
- }]
- }
- }
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // CONFIGURING BACKTESTING
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // Note that these settings are only used in backtesting mode, see here:
- // @link: https://github.com/askmike/gekko/blob/stable/docs/Backtesting.md
- config.backtest = {
- adapter: 'sqlite',
- daterange: 'scan',
- batchSize: 50
- }
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- // CONFIGURING IMPORTING
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- config.importer = {
- daterange: {
- // NOTE: these dates are in UTC
- from: "2015-09-09 12:00:00"
- }
- }
- // set this to true if you understand that Gekko will
- // invest according to how you configured the indicators.
- // None of the advice in the output is Gekko telling you
- // to take a certain position. Instead it is the result
- // of running the indicators you configured automatically.
- //
- // In other words: Gekko automates your trading strategies,
- // it doesn't advice on itself, only set to true if you truly
- // understand this.
- //
- // Not sure? Read this first: https://github.com/askmike/gekko/issues/201
- config['I understand that Gekko only automates MY OWN trading strategies'] = true;
- module.exports = config;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement