base/engine/interface.go
2024-06-26 00:59:13 +08:00

35 lines
925 B
Go

package engine
import (
"git.qtrade.icu/coin-quant/base/common"
"git.qtrade.icu/coin-quant/indicator"
"git.qtrade.icu/coin-quant/trademodel"
)
const (
StatusRunning = 0
StatusSuccess = 1
StatusFail = -1
)
type Engine interface {
OpenLong(price, amount float64) string
CloseLong(price, amount float64) string
OpenShort(price, amount float64) string
CloseShort(price, amount float64) string
StopLong(price, amount float64) string
StopShort(price, amount float64) string
CancelOrder(string)
CancelAllOrder()
DoOrder(typ trademodel.TradeType, price, amount float64) string
AddIndicator(name string, params ...int) (ind indicator.CommonIndicator)
Position() (pos, price float64)
Balance() float64
Log(v ...interface{})
Watch(watchType string)
SendNotify(title, content, contentType string)
Merge(src, dst string, fn common.CandleFn)
SetBalance(balance float64)
UpdateStatus(status int, msg string)
}