db

package
v0.0.0-...-1a031c1 Latest Latest
Warning

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

Go to latest
Published: Apr 1, 2024 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const TsStatusDisabled = "di"
View Source
const TsStatusEnabled = "en"

Variables

This section is empty.

Functions

func AddDailyInfo

func AddDailyInfo(tx *gorm.DB, di *DailyInfo) error

func AddTradingSystem

func AddTradingSystem(tx *gorm.DB, ts *TradingSystem) error

func FindDailyInfoByTsId

func FindDailyInfoByTsId(tx *gorm.DB, tsId uint) (*[]DailyInfo, error)

func FindDailyInfoByTsIdAsMap

func FindDailyInfoByTsIdAsMap(tx *gorm.DB, tsId uint) (map[int]DailyInfo, error)

func FindDailyInfoFromDay

func FindDailyInfoFromDay(tx *gorm.DB, tsIds []uint, fromDay int) (*[]DailyInfo, error)

func GetTradingSystems

func GetTradingSystems(tx *gorm.DB, filter map[string]any, offset int, limit int) (*[]TradingSystem, error)

func GetTradingSystemsBySourceIdAsMap

func GetTradingSystemsBySourceIdAsMap(tx *gorm.DB, sourceIds []uint) (map[uint]*TradingSystem, error)

func InitDatabase

func InitDatabase(cfg *core.Database)

func RunInTransaction

func RunInTransaction(f func(tx *gorm.DB) error) error

func SetTradingFilters

func SetTradingFilters(tx *gorm.DB, tf *TradingFilters)

func UpdateTradingSystem

func UpdateTradingSystem(tx *gorm.DB, ts *TradingSystem)

Types

type DailyInfo

type DailyInfo struct {
	Id              uint    `json:"id" gorm:"primaryKey"`
	TradingSystemId uint    `json:"tradingSystemId"`
	Day             int     `json:"day"`
	OpenProfit      float64 `json:"openProfit"`
	ClosedProfit    float64 `json:"closedProfit"`
	Position        int     `json:"position"`
	NumTrades       int     `json:"numTrades"`
}

func (DailyInfo) TableName

func (DailyInfo) TableName() string

type ParamMap

type ParamMap map[string]any

func (*ParamMap) Scan

func (pm *ParamMap) Scan(value interface{}) error

func (ParamMap) Value

func (pm ParamMap) Value() (driver.Value, error)

type TradingFilters

type TradingFilters struct {
	TradingSystemId uint `json:"tradingSystemId" gorm:"primaryKey"`
	EquAvgEnabled   bool `json:"equAvgEnabled"`
	EquAvgDays      int  `json:"equAvgDays"`
	PosProEnabled   bool `json:"posProEnabled"`
	PosProDays      int  `json:"posProDays"`
	WinPerEnabled   bool `json:"winPerEnabled"`
	WinPerDays      int  `json:"winPerDays"`
	WinPerValue     int  `json:"winPerValue"`
	OldNewEnabled   bool `json:"shoLonEnabled"`
	OldNewOldDays   int  `json:"oldNewOldDays"`
	OldNewOldPerc   int  `json:"oldNewOldPerc"`
	OldNewNewDays   int  `json:"oldNewNewDays"`
}

func GetTradingFiltersByTsId

func GetTradingFiltersByTsId(tx *gorm.DB, tsId uint) (*TradingFilters, error)

func (TradingFilters) TableName

func (TradingFilters) TableName() string

type TradingSystem

type TradingSystem struct {
	Id              uint    `json:"id" gorm:"primaryKey"`
	SourceId        uint    `json:"sourceId"`
	Username        string  `json:"username"`
	WorkspaceCode   string  `json:"workspaceCode"`
	Name            string  `json:"name"`
	Status          string  `json:"status"`
	FirstUpdate     int     `json:"firstUpdate"`
	LastUpdate      int     `json:"lastUpdate"`
	ClosedProfit    float64 `json:"closedProfit"`
	TradingDays     int     `json:"tradingDays"`
	NumTrades       int     `json:"numTrades"`
	ProductBrokerId uint    `json:"productBrokerId"`
	BrokerSymbol    string  `json:"brokerSymbol"`
	PointValue      float32 `json:"pointValue"`
	CostPerTrade    float32 `json:"costPerTrade"`
	MarginValue     float32 `json:"marginValue"`
	CurrencyId      uint    `json:"currencyId"`
	CurrencyCode    string  `json:"currencyCode"`
}

func GetTradingSystemById

func GetTradingSystemById(tx *gorm.DB, id uint) (*TradingSystem, error)

func GetTradingSystemByName

func GetTradingSystemByName(tx *gorm.DB, name string) (*TradingSystem, error)

func GetTradingSystemBySourceId

func GetTradingSystemBySourceId(tx *gorm.DB, sourceId uint) (*TradingSystem, error)

func (TradingSystem) TableName

func (TradingSystem) TableName() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL