How Gunbot works

Easy to install
With these five easy steps you can get started with Gunbot as your crypto trading bot.
Multiplatform: runs on Windows, Linux and Mac
Step 1

Launch Your Crypto Trading Bot in Minutes

Begin by installing Gunbot on your desktop or VPS. Gunbot runs smoothly on Windows, Linux, macOS, and Raspberry Pi.

Unpack the zip file and start instantly without complicated setups. Access your bot easily through the intuitive browser interface.

Connect Gunbot with exchange API
Step 2

Quickly Connect to Your Exchange

Link Gunbot with your exchange by entering your API key and secret. Your API secret stays secure on your device, and Gunbot only requires permissions to read data and execute trades — no withdrawal access needed.

Add pairs manually or with filter rules
Step 3

Select the Right Trading Pairs

Choose the cryptocurrencies Gunbot should trade and assign the strategies to use on each pair. Manually select or use filter rules such as "Top 10 volume USDC" for selecting trading pairs. Gunbot supports all coin pairs available on your exchange, whether BTC-ETH or USDT-BTC.

Easily set up trading strategies
Step 4

Customize Your Bot Trading Strategy

Modify your trading strategy effortlessly. Adjust the trading limit, defining Gunbot's investment per trade.

Explore various approaches like grid trading, trend following, or using indicators like Bollinger Bands. Even manually bought coins can be optimized for profit with Gunbot’s smart selling.

Learn about different ways to use Gunbot.

Dashboard with overview of active trading pairs
Step 5

Automate and Monitor Your Trading

Let Gunbot automate routine trading tasks while you concentrate on refining strategies. The comprehensive dashboard clearly tracks your active trades and strategy performance.<br/><br/>Gunbot handles daily tasks, freeing your time for strategy adjustments. Our dedicated support team is here whenever you need assistance. Enjoy Automated 24/7 trading.

Customize Gunbot with JSON and JavaScript

Prefer coding? Configure Gunbot directly through a JSON config file or create personalized strategies using JavaScript. All changes immediately take effect without restarting the bot. See practical examples of customizing Gunbot without the graphical interface.
Config example: trading pairs
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
{
  pairs: {
    binanceFutures: {
      'USDT-BTC': {
        strategy: 'SMACROSS',
        enabled: true,
        override: {
          TRADING_LIMIT: 1000,
          BUY_ENABLED: false,
          SELL_ENABLED: true,
          ROE: 10
        }
      },
      'USDT-ETH': {
        strategy: 'SMACROSS',
        enabled: true,
        override: {
          TRADING_LIMIT: 500,
          BUY_ENABLED: false,
          SELL_ENABLED: true,
          ROE: 5
        }
      }
    }
  }
}
Config example: strategy
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
{
  strategies: {
    mm: {
      BUY_METHOD: 'Market_Maker',
      BUY_ENABLED: true,
      SELL_METHOD: 'Market_Maker',
      SELL_ENABLED: true,
      TRADING_LIMIT: 10,
      STOP_LIMIT: 15,
      ROE: 5,
      bitRage: false,
      REBATES_BUSTER: false,
      MAX_BUY: 3,
      MAX_SELL: 3,
      BUY_LEVEL: 99,
      GAIN: 99,
      DOUBLE_CHECK_GAIN: false,
      NBA: 0,
      BUYLVL1: 0.1,
      BUYLVL2: 2,
      BUYLVL3: 70,
      SELLLVL1: 0.1,
      SELLLVL2: 2,
      SELLLVL3: 70,
      BUYLVL: 1,
      SELLLVL: 1,
      XTREND_ENABLED: false,
      BUY_RANGE: 0.1,
      SELL_RANGE: 0.1,
      TSSL_TARGET_ONLY: false,
      PP_BUY: 0,
      PP_SELL: 99999,
      SHORT_LEVEL: 0.1,
      LONG_LEVEL: 0.2,
      ROE_TRAILING: false,
      ROE_LIMIT: 0.1,
      LEVERAGE: 0,
      STOP_BUY: 0,
      STOP_SELL: 0,
      TAKE_PROFIT: false,
      TP_PROFIT_ONLY: false,
      TP_RANGE: 0.6,
      TAKE_BUY: false,
      TBUY_RANGE: 0.5,
      FUNDS_RESERVE: 0,
      KEEP_QUOTE: 0,
      TL_ALLIN: false,
      TL_PERC: 0,
      PERIOD: 5,
      USE_RENKO: false,
      RENKO_PERIOD: 15,
      RENKO_BRICK_SIZE: 0.0001,
      RENKO_ATR: false,
      ADX_ENABLED: false,
      ADX_LEVEL: 25,
      DI_PERIOD: 14,
      ATRX: 0.5,
      ATR_PERIOD: 14,
      BTC_PND_PROTECTION: false,
      BTC_MONEY_FLOW: 50,
      BTC_PND_PERIOD: 14,
      CANDLES_LENGTH: 99,
      EMA1: 8,
      EMA2: 4,
      EMA_LENGTH: 50,
      EMASPREAD: false,
      EMAx: 0.5,
      FAST_SMA: 1,
      SLOW_SMA: 2,
      SINGLE_BUY: false,
      HIGH_BB: 0,
      LOW_BB: 0,
      SMAPERIOD: 50,
      STDV: 2,
      KUMO_SENTIMENTS: false,
      ICHIMOKU_PROTECTION: false,
      KIJUN_PERIOD: 26,
      TENKAN_PERIOD: 9,
      SENKOUSPAN_PERIOD: 52,
      DISPLACEMENT: 26,
      KUMO_CLOSE: false,
      KIJUN_CLOSE: false,
      TENKAN_STOP: false,
      KIJUN_STOP: false,
      TENKAN_CLOSE: false,
      ROE_CLOSE: false,
      KUMO_STOP: false,
      KIJUN_BUY: false,
      KIJUN_SELL: false,
      KUMO_BUY: false,
      KUMO_SELL: false,
      TENKAN_BUY: false,
      TENKAN_SELL: false,
      MACD_LONG: 20,
      MACD_SHORT: 5,
      MACD_SIGNAL: 10,
      MFI_ENABLED: false,
      MFI_BUY_LEVEL: 30,
      MFI_SELL_LEVEL: 70,
      MFI_LENGTH: 14,
      RSI_BUY_ENABLED: false,
      RSI_SELL_ENABLED: false,
      RSI_BUY_LEVEL: 30,
      RSI_SELL_LEVEL: 70,
      RSI_LENGTH: 14,
      RSI_METHOD: 'oscillator',
      STOCH_ENABLED: false,
      STOCH_BUY_LEVEL: 20,
      STOCH_SELL_LEVEL: 80,
      SLOW_STOCH_K: 3,
      STOCH_D: 3,
      STOCH_K: 14,
      STOCH_METHOD: 'oscillator',
      STOCHRSI_ENABLED: false,
      STOCHRSI_BUY_LEVEL: 0.1,
      STOCHRSI_SELL_LEVEL: 0.9,
      STOCHRSI_LENGTH: 14,
      STOCHRSI_METHOD: 'oscillator',
      DOUBLE_UP: false,
      DOUBLE_UP_CAP: 1,
      DU_BUYDOWN: 0.5,
      DU_CAP_COUNT: 2,
      DU_METHOD: '1',
      RSI_DU_BUY: 99,
      RT_ENABLED: false,
      RT_BUY_LEVEL: 0.2,
      RT_GAIN: 0.1,
      RT_MAXBAG_PROTECTION: 99,
      RT_ONCE: false,
      RT_ONCE_AND_CONTINUE: false,
      RT_SELL_UP: 0.5,
      RT_BUY_UP_LEVEL: 0,
      RT_TREND_ENABLED: false,
      TRAIL_ME_BUY: false,
      TRAIL_ME_SELL: false,
      TRAIL_ME_DU: false,
      TM_RT_SELL: false,
      TRAIL_ME_RT: false,
      TRAIL_ME_BUY_RANGE: 0.1,
      TRAIL_ME_SELL_RANGE: 0.1,
      TRAIL_ME_RT_SELL_RANGE: 0.1,
      IGNORE_TRADES_BEFORE: 0,
      MIN_VOLUME_TO_BUY: 5,
      MIN_VOLUME_TO_SELL: 0.00001,
      PANIC_SELL: false,
      SL_DISABLE_BUY: false,
      COUNT_SELL: 9999,
      TRADES_TIMEOUT: 0,
      MARKET_BUY: false,
      MARKET_SELL: false,
      MARKET_CLOSE: false,
      MARKET_STOP: false,
      MARKET_RTBUY: false,
      MARKET_RTSELL: false,
      MARKET_BUYBACK: false,
      MARKET_DU: false,
      MARKET_FOK: false,
      PRE_ORDER: false,
      PRE_ORDER_GAP: 0,
      MAKER_FEES: false,
      MEAN_REVERSION: true,
      IS_MARGIN_STRAT: true,
      PSAR_PERIOD: 360,
      PSAR_STEP: 0.02,
      PSAR_MAX: 0.2,
      AUTOSELL: true,
      BR_PANIC_SELL: false,
      MAIN_BASE: 'BTC'
    }
  }
}
Config example: AutoConfig automation
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
{
  'Add pairs': {
    pairs: {
      exclude: '',
      include: 'BTC-',
      maxPairs: 10,
      noCrossOver: false,
      exchange: 'binance'
    },
    filters: {
      price: {
        type: 'minPrice',
        target: 0.000002
      },
      spread: {
        type: 'maxSpreadPct',
        target: 0.4
      },
      volume: {
        type: 'minVolume24h',
        target: 140
      },
      linreg: {
        type: 'linearRegressionChannel',
        target: 35
      },
      maxChange: {
        type: 'maxVolatilityPct24h',
        target: 10
      },
      btcPnd: {
        type: 'variableExact',
        btcPnd: false
      },
      change: {
        type: 'maxPricePctChangeInterval',
        target: -0.2,
        lastSnapshots: 4
      },
      change2: {
        type: 'maxPricePctChangeInterval',
        target: -0.5,
        lastSnapshots: 12
      }
    },
    overrides: {
      BUY_ENABLED: false,
      SELL_ENABLED: false
    },
    schedule: '*/5 * * * *',
    type: 'addPairs',
    strategy: 'spot',
    snapshots: 100,
    setITB: true,
    resume: true,
    debug: false,
    muteTG: true,
    enabled: true,
    setPairVariable: {
      status: 'new'
    }
  },
  'Set targets and ranges': {
    pairs: {
      exclude: '',
      include: 'BTC-',
      exchange: 'binance'
    },
    filters: {
      hasDifference: {
        type: 'pairVariableExact',
        status: 'new'
      }
    },
    overrides: {
      targets: true,
      BUY_ENABLED: true,
      SELL_ENABLED: true,
      BUY_METHOD: 'pp',
      SELL_METHOD: 'gain',
      PP_BUY: ' this.pair.Bid * 0.9965',
      GAIN: 0.5,
      TRAIL_ME_BUY_RANGE: ' (((this.pair.R1 - this.pair.S1) / this.pair.Bid) * 100) * 0.1',
      DU_BUYDOWN: ' (((this.pair.R1 - this.pair.S1) / this.pair.Bid) * 100) * 0.5'
    },
    clearOverrides: false,
    schedule: '* * * * *',
    type: 'manageOverrides',
    setITB: true,
    debug: true,
    muteTG: true,
    enabled: true,
    setPairVariable: {
      status: 'hasTargets'
    }
  },
  'Remove pairs': {
    pairs: {
      exclude: '',
      noBag: true,
      removeDisabled: true,
      notRemoveBefore: 1,
      exchange: 'binance'
    },
    filters: {
      timeout: {
        type: 'minTimeInConfig',
        target: 30
      }
    },
    schedule: '*/3 * * * *',
    type: 'removePairs2',
    debug: true,
    enabled: true,
    muteTG: false
  },
  'Detect strong BTC movement': {
    pairs: {
      exclude: 'UP,DOWN',
      include: 'USDT-BTC',
      maxPairs: 0,
      noCrossOver: false,
      exchange: 'binance'
    },
    filters: {
      pump: {
        type: 'minPricePctChangeInterval',
        target: 0.4
      }
    },
    overrides: {},
    schedule: '* * * * *',
    type: 'addPairs',
    strategy: 'gain',
    snapshots: 60,
    setITB: true,
    resume: true,
    debug: false,
    muteTG: true,
    enabled: true,
    setVariable: {
      btcPnd: true
    },
    resetVariable: {
      btcPnd: false
    },
    filters2: {
      dump: {
        type: 'maxPricePctChangeInterval',
        target: -0.4
      }
    }
  }
}
Custom JS strategy example
Use Gunbot as execution engine for your own strategies

Learn more about how trading with Gunbot really works.

,