Skip to content
/ raytrade Public

Собственная реализация графического торгового терминала на базе raylib

License

Notifications You must be signed in to change notification settings

nlkli/raytrade

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

raytrade

C��бственная реализация торгового терминала на базе raylib.

Проект находится в разработке. До релеиза как до луны. Код не является безопасным. Использовать на свой страх и риск.

Установка

git clone --depth 1 https://github.com/nlkli/raytrade
cd raytrade
go run .

Авторизация API

Ключи API указываются в файле .env:

BYBIT_API_KEY=your_api_key_here
BYBIT_API_SECRET=your_api_secret_here

На данный момент поддерживается только биржа Bybit.
Для добавления других бирж необходимо реализовать интерфейс internal/broker/broker.go

Конфигурация

Команды

Вход в режим ввода команд — клавиша :
Доступные команды и их обработка: internal/app/core/cmd.go

Команды можно объединять в последовательность через | В команды подставляются переменные из конфига

Переменные конфигурации

Используются для подстановки в команды (например, sub chart 0 F.$symbol.1$symbol заменяется на BTCUSDT).
Переменная может содержать команду (до двух уровней вложенности).
Переменные можно назначать и менять через команды.

Бинды клавиш

По умолчанию задан только вход в режим команд. Все остальные ��инды настраиваются в конфиге.
Поддерживаются последовательности клавиш (как в vim) и сочетания с Ctrl (например, <C-a>).

bind: char(s) - command prompt

Обработка нажатий: internal/app/core/controller.go

Сочетание биндов, переменных и команд даёт гибкую систему для настройки любого действия.

Demo

Watch Config

1 марта 2026, 18:09

Динамическое изменение конфигурации без перезагрузки. watch-config-o

Chart Increase

1 марта 2026, 4:30

Добавлена прокрутка orderbook, автоматическое расширение начала графика (мелкий шаг для демонстрации) и регенерация графика после падения стрима.

Реализована слежка за изменениями файла конфигурации во время работы — параметры (тема, чувствительность мыши и др.) подгружаются на лету без перезагрузки.

Фоновые задачи теперь выполняются в отдельных потоках и не блокируют отправку новых. chart-increase-o

Matrix Demo

27 февраля 2026, 3:14

matrix-demo-o

Lines and Levels

26 февраля 2026, 4:32

Добавлена возможность рисовать на графике и выставлять уровни цены. lines-and-levels-o

Binds and Move

24 февраля 2026, 22:04

Добавлен вертикальный orderbook, перемещение графика мышкой и управление с клавиатуры.

Бинды и команды настраиваются в конфиге. Поддерживаются последовательности клавиш (как в vim), переменные из конфига ($symbol → BTCUSDT) и пайплайн команд (|). Переменные могут содержать команды (до 2 уровней, без рекурсии). binds-and-move

Custom Layout

18 февраля 2026, 15:25

Первые шаги в кастомизации разметки — возможность собирать интерфейс из доступных компонентов. custom-layout-o

First Orderbook

18 февраля 2026, 5:04

Стрим и первая отрисовка Orderbook. first-orderbook-o

First Chart

12 февраля 2026, 17:20

Стрим свечей и первая отрисовка графика. first-chart-o


recol (change colorscheme)

git clone https://github.com/nlkli/recol.git
cd recol
cargo build --release
cp target/release/recol /usr/local/bin/

SCC

Mon Mar  2 00:05:55 MSK 2026
───────────────────────────────────────────────────────────────────────────────
Language                 Files     Lines   Blanks  Comments     Code Complexity
───────────────────────────────────────────────────────────────────────────────
Go                          34      7317     1327       355     5635        774
JSON                         1       179        0         0      179          0
License                      1        21        4         0       17          0
Makefile                     1        15        5         0       10          0
Markdown                     1       107       36         0       71          0
Shell                        1        12        3         1        8          1
───────────────────────────────────────────────────────────────────────────────
Total                       39      7651     1375       356     5920        775
───────────────────────────────────────────────────────────────────────────────
Estimated Cost to Develop (organic) $174,796
Estimated Schedule Effort (organic) 7.09 months
Estimated People Required (organic) 2.19
───────────────────────────────────────────────────────────────────────────────
Processed 168588 bytes, 0.169 megabytes (SI)
───────────────────────────────────────────────────────────────────────────────

Tree

Mon Mar  2 00:07:11 MSK 2026
.
├── LICENSE
├── Makefile
├── README.md
├── config.json
├── go.mod
├── go.sum
├── internal
│   ├── app
│   │   ├── app.go
│   │   ├── comps
│   │   │   ├── chart.go
│   │   │   ├── footer.go
│   │   │   ├── order.go
│   │   │   ├── orderbook.go
│   │   │   ├── position.go
│   │   │   ├── rect.go
│   │   │   └── root.go
│   │   └── core
│   │       ├── background.go
│   │       ├── cmd.go
│   │       ├── config.go
│   │       ├── controller.go
│   │       ├── palette.go
│   │       └── state.go
│   ├── broker
│   │   ├── broker.go
│   │   ├── bybit
│   │   │   ├── broker.go
│   │   │   ├── client.go
│   │   │   ├── market.go
│   │   │   ├── models
│   │   │   │   ├── enum.go
│   │   │   │   ├── market.go
│   │   │   │   ├── position.go
│   │   │   │   ├── stream.go
│   │   │   │   └── trade.go
│   │   │   ├── position.go
│   │   │   ├── stream.go
│   │   │   └── trade.go
│   │   └── models.go
│   ├── cdl
│   │   ├── cdl.go
│   │   ├── csv.go
│   │   └── interval.go
│   ├── utils
│   │   └── utils.go
│   └── ws
│       └── ws.go
├── main.go
├── main_test.go
├── recol.sh
└── resources
    ├── ComicRelief-Bold.ttf
    └── ComicRelief-Regular.ttf

12 directories, 43 files

About

Собственная реализация графического торгового терминала на базе raylib

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages