A file monitor that reads signals from Amibroker and forwards them to Alphabots Signal Webhook.
- Amibroker installed and configured
- Alphabots webhook URL (get from alphabots.in)
- Windows OS (executable is Windows-only)
- Copy the plugin contents to a folder on your computer
- Run `signal_file_monitor.exe` by double-clicking it
Ensure these files are in the same directory as the executable:
- `signal_file_monitor.exe` - The main executable
- `alphabots_signal.json` - Configuration file (created automatically)
- `signal.json` - Signal output from your AFL script
- `symbol_map.json` - Symbol mapping (see below)
- `.env` - Environment file with webhook URL
Open `.env` in a text editor and add your webhook URL:
``` ALPHABOTS_WEBHOOK_URL=https://algoexestaging.alphabots.in/api/v1/signal/webhook-handler/YOUR_UUID ```
Your AFL script should write signals to `signal.json`. Example:
```c // Open file for writing fh_write = fopen("C:\\path\\to\\signal.json", "w");
// Prepare JSON signal json_string = '{"order":[{"type":"ENTRY","symbol":"NSE:NIFTY25APRFUT","quantity":1,"side":"B","ordertype":"MARKET","segment":"FUT","product":"N"}]}';
// Write to file fputs(json_string, fh_write); fclose(fh_write); ```
Map your internal Amibroker symbols to Alphabots format in `symbol_map.json`:
```json { "NIFTY-I": "NSE:NIFTY25APRFUT", "BANKNIFTY-I": "NSE:BANKNIFTY25APRFUT", "AXISBANK": "NSE:AXISBANK-EQ", "BAJFINANCE": "NSE:BAJFINANCE-EQ" } ```
The signal file monitor expects this JSON format:
```json { "order": [{ "type": "ENTRY", "symbol": "NSE:NIFTY25APRFUT", "quantity": 1, "side": "B", "ordertype": "MARKET", "segment": "FUT", "product": "N" }] } ```
| Field | Values | Required For |
|---|---|---|
| `type` | "ENTRY" or "EXIT" | All |
| `symbol` | "NSE:SYMBOL-EQ", "NSE:NIFTY25APRFUT" | All |
| `quantity` | Number (> 0) | All |
| `side` | "B" or "S" | All |
| `ordertype` | "MARKET", "LIMIT", "STOP", "STOPLIMIT" | All |
| `segment` | "EQ", "FUT", "OPT" | ENTRY only |
| `product` | "I", "D", "N" | ENTRY only |
| `limit_price` | Number (> 0) | LIMIT, STOPLIMIT |
| `stop_price` | Number (> 0) | STOP, STOPLIMIT |
- Your AFL script writes signals to `signal.json`
- The file monitor detects changes to `signal.json`
- It reads the JSON and forwards it to your Alphabots webhook
- Alphabots executes the order on your connected broker
- Ensure `signal.json` is writeable by Amibroker
- The monitor watches for file changes - no manual intervention needed
- Check logs for any errors or failed requests
- Test with paper trading first
- Email: help@alphabots.in
- Website: alphabots.in
- Blog: Webhook Integration Guide
Last updated: February 2026