quik

package
v0.4.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 3, 2025 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// MoscowLocation — объект для работы с московским временем.
	MoscowLocation *time.Location
)

Functions

func EventHandler added in v0.4.0

func EventHandler(event Event)

EventHandler — функция для обработки различных событий.

func NewLogger

func NewLogger(development bool) (*zap.Logger, error)

NewLogger создает новый логгер в зависимости от окружения.

func RunServer added in v0.4.0

func RunServer(port int, isDevelopment bool, handler func(event Event), logger *zap.Logger)

RunServer запускает сервер и обрабатывает сигналы ОС (Ctrl+C, SIGTERM)

Types

type Account added in v0.1.0

type Account struct {
	Firmid        string `json:"firmid"`
	Trdaccid      string `json:"trdaccid"`
	Main_Trdaccid string `json:"main_trdaccid"`
	Trdacc_type   int    `json:"trdacc_type"`
	Description   string `json:"description"`
}

type Candle

type Candle struct {
	Timestamp string  `json:"timestamp"`
	Open      float64 `json:"open"`
	Close     float64 `json:"close"`
	High      float64 `json:"high"`
	Low       float64 `json:"low"`
	Volume    int     `json:"volume"`
}

Candle — структура для представления свечи в удобном формате.

type Client

type Client interface {
	// contains filtered or unexported methods
}

Client — интерфейс для работы с TCP-клиентом.

type Counter added in v0.2.0

type Counter struct {
	// contains filtered or unexported fields
}

Counter - структура для генерации последовательности чисел

func NewCounter added in v0.2.0

func NewCounter(start int) *Counter

NewCounter создает новый счетчик, начиная с указанного числа

func (*Counter) Next added in v0.2.0

func (c *Counter) Next() string

Next возвращает следующее число в последовательности

type CreateDataSourceRequest

type CreateDataSourceRequest struct {
	DataSourceRequest
	ClassCode string `json:"class_code"`
}

CreateDataSourceRequest — данные для создания DataSource.

type CreateOrderRequest added in v0.2.0

type CreateOrderRequest struct {
	ClassCode  string `json:"CLASSCODE"`
	SecCode    string `json:"SECCODE"`
	Account    string `json:"ACCOUNT"`
	Trans_id   string `json:"TRANS_ID"`
	Operation  string `json:"OPERATION"`
	Price      string `json:"PRICE"`
	Quantity   string `json:"QUANTITY"`
	Action     string `json:"ACTION"`
	Type       string `json:"TYPE"` // L = лимитная заявка (по умолчанию), M = рыночная заявка
	StopPrice  string `json:"STOPPRICE,omitempty"`
	ExpiryDate string `json:"EXPIRY_DATE,omitempty"` // GTC - Срок действия до отмены
}

CreateOrderRequest — данные для создания заявки.

type DataSourceRequest added in v0.4.3

type DataSourceRequest struct {
	Ticker   string `json:"ticker"`
	Interval int    `json:"interval"`
}

DataSourceRequest — данные для работы с DataSource.

type Event added in v0.4.0

type Event struct {
	Cmd  string      `json:"cmd"`
	T    int64       `json:"t"`
	Data interface{} `json:"data"`
}

Event — структура для обработки колбэков от QUIK.

type GetCandlesRequest

type GetCandlesRequest struct {
	Class    string `json:"class_code"`
	Ticker   string `json:"ticker"`
	Interval int    `json:"interval"`
	Count    int    `json:"count"`
}

GetCandlesRequest — данные для получения свечей.

type GetOrderByIdRequest added in v0.2.0

type GetOrderByIdRequest struct {
	ClassCode string `json:"class_code"`
	SecCode   string `json:"sec_code"`
	TransId   string `json:"trans_id"`
}

type GetOrderByNumberRequest added in v0.2.0

type GetOrderByNumberRequest struct {
	ClassCode string `json:"class_code"`
	OrderId   string `json:"order_id"`
}

type GetPortfolioRequest added in v0.1.0

type GetPortfolioRequest struct {
	ClientCode string `json:"clientCode"`
	FirmId     string `json:"firmId"`
}

GetPortfolioRequest — данные для создания DataSource.

type GetStopOrderByTickerRequest added in v0.2.0

type GetStopOrderByTickerRequest struct {
	ClassCode string `json:"class_code"`
	SecCode   string `json:"sec_code"`
}

type MoneyLimits added in v0.1.0

type MoneyLimits struct {
	ClientCode   string  `json:"client_code"`
	Currentbal   float64 `json:"currentbal"`
	Currentlimit float64 `json:"currentlimit"`
	Firmid       string  `json:"firmid"`
}

type QuikCandle

type QuikCandle struct {
	Time   QuikTime `json:"time"`
	Open   float64  `json:"open"`
	Close  float64  `json:"close"`
	High   float64  `json:"high"`
	Low    float64  `json:"low"`
	Volume float64  `json:"volume"`
}

QuikCandle — структура для представления свечи из QUIK.

type QuikClient

type QuikClient struct {
	// contains filtered or unexported fields
}

QuikClient — клиент для работы с QUIK.

func NewQuikClient

func NewQuikClient(host string, port int, isDevelopment bool) (*QuikClient, error)

NewQuikClient создает новый экземпляр QuikClient.

func (*QuikClient) Close

func (q *QuikClient) Close() error

Close закрывает соединение с сервером.

func (*QuikClient) CloseDataSource added in v0.4.3

func (q *QuikClient) CloseDataSource(data DataSourceRequest, ctx context.Context) error

CreateDataSource закрывает источник данных.

func (*QuikClient) CreateDataSource

func (q *QuikClient) CreateDataSource(data CreateDataSourceRequest, ctx context.Context) error

CreateDataSource создает источник данных для получения свечей.

func (*QuikClient) GetCandles

func (q *QuikClient) GetCandles(data GetCandlesRequest, ctx context.Context) ([]Candle, error)

GetCandles возвращает свечи из источника данных.

func (*QuikClient) GetMoneyLimits added in v0.1.0

func (q *QuikClient) GetMoneyLimits(ctx context.Context) ([]MoneyLimits, error)

GetMoneyLimits

func (*QuikClient) GetOrderById added in v0.2.0

func (q *QuikClient) GetOrderById(data GetOrderByIdRequest, ctx context.Context) error

GetOrderById - возвращает заявку по тикеру и коду транзакции заявки

func (*QuikClient) GetOrderByNumber added in v0.2.0

func (q *QuikClient) GetOrderByNumber(data GetOrderByNumberRequest, ctx context.Context) error

GetOrderByNumber - возвращает заявку по режиму торгов и номеру

func (*QuikClient) GetPortfolioInfo added in v0.1.0

func (q *QuikClient) GetPortfolioInfo(data GetPortfolioRequest, ctx context.Context) (interface{}, error)

GetPortfolioInfo

func (*QuikClient) GetStopOrders added in v0.2.0

func (q *QuikClient) GetStopOrders(data GetStopOrderByTickerRequest, ctx context.Context) error

GetStopOrders - возвращает список стоп-заявок по заданному инструменту

func (*QuikClient) GetTradeAccounts added in v0.1.0

func (q *QuikClient) GetTradeAccounts(ctx context.Context) ([]Account, error)

GetTradeAccounts

func (*QuikClient) Ping

func (q *QuikClient) Ping(ctx context.Context) (string, error)

Ping отправляет запрос ping на сервер.

func (*QuikClient) SendTransaction added in v0.2.0

func (q *QuikClient) SendTransaction(data CreateOrderRequest, ctx context.Context) error

SendTransaction - для работы с заявками. Варианты Action: NEW_ORDER - Новая лимитная/рыночная заявка Action KILL_ORDER - Удаление существующей заявки Action NEW_STOP_ORDER - Новая стоп заявка Action KILL_STOP_ORDER - Удаление существующей стоп-заявки

func (*QuikClient) SubscribeOrderBook added in v0.4.4

func (q *QuikClient) SubscribeOrderBook(data SubscribeOrderBookRequest, ctx context.Context) error

type QuikServer added in v0.4.0

type QuikServer struct {
	// contains filtered or unexported fields
}

QuikServer управляет TCP-сервером для получения callback из Lua

func NewQuikServer added in v0.4.0

func NewQuikServer(port int, isDevelopment bool) (*QuikServer, error)

NewQuikServer создает новый экземпляр QuikServer

type QuikTime

type QuikTime struct {
	Count   int `json:"count"`
	Day     int `json:"day"`
	Hour    int `json:"hour"`
	Min     int `json:"min"`
	Month   int `json:"month"`
	Msec    int `json:"ms"`
	Sec     int `json:"sec"`
	WeekDay int `json:"week_day"`
	Year    int `json:"year"`
}

QuikTime — структура для представления времени из QUIK.

type SubscribeOrderBookRequest added in v0.4.4

type SubscribeOrderBookRequest struct {
	ClassCode string `json:"class_code"`
	SecCode   string `json:"sec_code"`
}

SubscribeOrderBookRequest — данные для работы с DataSource.

type TCPClient

type TCPClient struct {
	// contains filtered or unexported fields
}

TCPClient — реализация интерфейса Client для работы с TCP-соединением.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳