ctl

package
v0.3.3 Latest Latest
Warning

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

Go to latest
Published: Feb 8, 2026 License: BSD-3-Clause Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SetConfig

func SetConfig(c zexchange.Config)

SetConfig sets the global config for backward compatibility. Prefer using NewTradeWithConfig for explicit config injection.

Types

type Backtest

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

func NewBacktest

func NewBacktest(db *dbstore.DBStore, exchange, symbol, param string, start time.Time, end time.Time) (b *Backtest, err error)

NewBacktest constructor of Backtest

func (*Backtest) CloseAllWhenFinished added in v0.1.3

func (b *Backtest) CloseAllWhenFinished(bCloseAll bool)

func (*Backtest) IsRunning

func (b *Backtest) IsRunning() (ret bool)

IsRunning return if the backtest is running

func (*Backtest) Progress

func (b *Backtest) Progress() (progress int)

Progress return the progress of current backtest

func (*Backtest) Result

func (b *Backtest) Result() (result any, err error)

Result return the result of current backtest. If the Reporter implements rpt.ResultProvider, returns the structured result. Must be called after the backtest has finished.

func (*Backtest) Run

func (b *Backtest) Run() (err error)

Run run backtest. Always uses 1m as base data. Strategies should use engine.Merge() to synthesize larger timeframes (5m, 1h, etc.).

func (*Backtest) SetBalanceInit

func (b *Backtest) SetBalanceInit(balanceInit, fee float64)

func (*Backtest) SetLever added in v0.2.1

func (b *Backtest) SetLever(lever float64)

func (*Backtest) SetLoadDBOnce added in v0.0.5

func (b *Backtest) SetLoadDBOnce(loadOnce int)

func (*Backtest) SetReporter

func (b *Backtest) SetReporter(rpt rpt.Reporter)

func (*Backtest) SetRiskConfig added in v0.3.3

func (b *Backtest) SetRiskConfig(cfg *risk.RiskConfig)

func (*Backtest) SetScript

func (b *Backtest) SetScript(scriptFile string)

func (*Backtest) Start

func (b *Backtest) Start() (err error)

Start start backtest

func (*Backtest) Stop

func (b *Backtest) Stop() (err error)

Stop stop backtest (non-blocking, consistent with Trade.Stop)

type Builder added in v0.0.6

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

func NewBuilder added in v0.0.6

func NewBuilder(src, output string) *Builder

func (*Builder) Build added in v0.0.6

func (b *Builder) Build() (err error)

func (*Builder) SetKeepTemp added in v0.0.6

func (b *Builder) SetKeepTemp(keepTemp bool)

type DataDownload

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

func NewDataDownload

func NewDataDownload(cfg *viper.Viper, db *dbstore.DBStore, exchange, symbol, binSize string, start time.Time, end time.Time) (d *DataDownload)

NewDataDownload constructor of DataDownload

func NewDataDownloadAuto

func NewDataDownloadAuto(cfg *viper.Viper, db *dbstore.DBStore, exchange, symbol, binSize string) (d *DataDownload)

NewDataDownload constructor of DataDownload

func (*DataDownload) AutoRun

func (d *DataDownload) AutoRun() (err error)

func (*DataDownload) Progress

func (d *DataDownload) Progress() (progress int)

Progress return the progress of current backtest

func (*DataDownload) Result

func (d *DataDownload) Result() (err error)

Result return the result of current backtest must call after end of the backtest

func (*DataDownload) Run

func (d *DataDownload) Run() (err error)

Run run backtest and wait for finish

func (*DataDownload) SetBinSize

func (d *DataDownload) SetBinSize(binSize string)

func (*DataDownload) Start

func (d *DataDownload) Start() (err error)

Start start backtest

func (*DataDownload) Stop

func (d *DataDownload) Stop() (err error)

Stop stop backtest

type LocalData

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

func NewLocalData

func NewLocalData(db *dbstore.DBStore) (l *LocalData, err error)

func (*LocalData) ListAll

func (l *LocalData) ListAll() (infos []LocalDataInfo, err error)

type LocalDataInfo

type LocalDataInfo struct {
	dbstore.TableInfo

	Start time.Time
	End   time.Time
}

type Scripter

type Scripter interface {
	event.Processer
	AddScript(name, src, param string) (err error)
	RemoveScript(name string) error
	ScriptCount() int
}

func NewScript deprecated

func NewScript(file, param, symbol string) (s Scripter, err error)

Deprecated: Use goscript.NewGoEngine + AddScript directly for consistent initialization between backtest and live trading.

type Trade

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

Trade trade with multi scripts

func NewTrade

func NewTrade(exchange, symbol string) (b *Trade, err error)

NewTrade constructor of Trade, uses global config set by SetConfig. Prefer NewTradeWithConfig for explicit config injection.

func NewTradeWithConfig added in v0.3.3

func NewTradeWithConfig(cfg zexchange.Config, exchange, symbol string) (b *Trade, err error)

NewTradeWithConfig constructor of Trade with explicit config injection.

func (*Trade) AddScript

func (b *Trade) AddScript(name, scriptFile, param string) (err error)

func (*Trade) RemoveScript

func (b *Trade) RemoveScript(name string) (err error)

func (*Trade) Run

func (b *Trade) Run() (err error)

func (*Trade) ScriptCount added in v0.0.6

func (b *Trade) ScriptCount() int

func (*Trade) SetLoadRecent added in v0.0.5

func (b *Trade) SetLoadRecent(recent time.Duration)

func (*Trade) SetReporter

func (b *Trade) SetReporter(rpt rpt.Reporter)

func (*Trade) SetRiskConfig added in v0.3.3

func (b *Trade) SetRiskConfig(cfg *risk.RiskConfig)

func (*Trade) SetStatusCh added in v0.0.6

func (b *Trade) SetStatusCh(ch chan *goscript.Status)

func (*Trade) Start

func (b *Trade) Start() (err error)

Start start backtest

func (*Trade) Stop

func (b *Trade) Stop() (err error)

Stop stop backtest

func (*Trade) Wait

func (b *Trade) Wait() (err error)

Jump to

Keyboard shortcuts

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