Appearance

Personalize your experience

Mode
Accent Color
Layout
Direction
MarketplacebotsGrid Trader Bot

Grid Trader Bot

Admin's Choice499/mo

Automated grid trading for crypto and F&O markets

4.6(88)
1.1k installs 420 2 comments
Q
42 listings12400 followers

Official QuaTick team — building advanced charting & trading tools for the Indian market.

View Profile
gridautomationcryptomarket-neutral
499 /month
Open in QuaTick IDE Edit in IDE
Version2.1.0
Updated2025-11-05
Compatiblecandlestick

Rating Distribution

5
1
4
0
3
0
2
0
1
0

Preview

Chart preview
1 / 2

Chart preview

About

Places buy and sell orders at regular price intervals above and below a mid-price. Profits from oscillating (range-bound) markets.


How it works

1. Define upper/lower bounds and number of grid levels

2. Bot buys at each grid level when price dips to it

3. Sells at the next grid level above

4. Optionally re-centres the grid dynamically

Bot Details

Supported Brokers

Binance, Delta Exchange, Zerodha

Risk Level

medium

Strategy

Market-neutral grid with dynamic re-centering

Source Code

Edit in IDE
typescript
1// Grid Trader Bot — Quatick IDE
2// Visualises grid efficiency as a single oscillator series.
3// SDK math globals available: sma, ema, atr, rsi, macd, bollingerBands, vwap, etc.
4 
5const metadata = { id: 'grid-bot', name: 'Grid Trader Bot', version: '1.0.0', category: 'bot' };
6 
7interface BarData {
8 time: number;
9 open: number;
10 high: number;
11 low: number;
12 close: number;
13 volume?: number;
14}
15 
16const defaultParams = {
17 gridLevels: 10,
18 lookback: 50,
19};
20 
21/**
22 * Grid Bot Efficiency Oscillator.
23 * Measures how often price crosses grid levels relative to range.
24 * Values near 1 = high chop (ideal for grids); near 0 = trending.
25 */
26function calculate(bars: BarData[], params = defaultParams): { time: number; value: number }[] {
27 const closes = bars.map(b => b.close);
28 const highs = bars.map(b => b.high);
29 const lows = bars.map(b => b.low);
30 const result: { time: number; value: number }[] = [];
31 
32 for (let i = params.lookback; i < bars.length; i++) {
33 const slice = bars.slice(i - params.lookback, i + 1);
34 const sliceHigh = Math.max(...slice.map(b => b.high));
35 const sliceLow = Math.min(...slice.map(b => b.low));
36 const range = sliceHigh - sliceLow;
37 if (range === 0) continue;
38 
39 const step = range / params.gridLevels;
40 let crossings = 0;
41 for (let j = 1; j < slice.length; j++) {
42 const levels = Math.floor(Math.abs(slice[j].close - slice[j - 1].close) / step);
43 crossings += levels;
44 }
45 
46 // Normalise: ideal grid bot churns through many levels per bar
47 const efficiency = Math.min(crossings / (params.lookback * 0.5), 1);
48 result.push({ time: bars[i].time, value: efficiency });
49 }
50 
51 return result;
52}
Read-only preview. Open in the QuaTick IDE to edit and deploy.

Reviews

No reviews yet. Be the first to review this listing.

Discussion

Sign in to join the discussion. Your posts and replies show up on your profile.