Skip to content

Instantly share code, notes, and snippets.

View c9s's full-sized avatar

c9s

  • Taipei, Taiwan
  • 22:19 (UTC +08:00)
  • X @c9s
View GitHub Profile
exchangeStrategies:
- on: binance_cross_margin
yourstrategy:
symbol: LINKUSDT
interval: 1m
param1: ...
param2: ...
param3: ...
sessions:
# cross margin connection for binance
binance_cross_margin:
exchange: binance
margin: true
# isolated margin connection for binance (LINKUSDT only)
binance_margin_linkusdt:
exchange: binance
margin: true
@c9s
c9s / bbgo.yaml
Created April 26, 2022 04:07
bbgo bollmaker for BNB
---
persistence:
redis:
host: 127.0.0.1
port: 6379
db: 0
exchangeStrategies:
- on: binance
bollmaker:
struct ... {
bbgo.StrategySuspender
}
func (s *Strategy) Run() error {
s.StrategySuspender.OnResume(func() {. .... })
s.StrategySuspender.OnSuspend(func() { ...... })
❯ go generate ./example/api
DEBU[0000] args: ["/var/folders/cj/t7zd5tq50b588__zcp9bndwh0000gn/T/go-build2428829358/b001/exe/requestgen" "-type" "NoParamRequest" "-url" "/v1/bullet" "-method" "GET" "-debug"]
DEBU[0001] found APIClient field client -> github.com/c9s/requestgen.APIClient
DEBU[0001] add package import: fmt
DEBU[0001] add package import: net/url
DEBU[0001] add package import: encoding/json
DEBU[0001] add package import: regexp
DEBU[0001] add package import: net/url
DEBU[0001] add package import: context
DEBU[0001] importing github.com/c9s/requestgen/example/api from github.com/c9s/requestgen/example/api, same package object (pointer), no import template-function=qualifier
   ~/src/github.com/c9s/requestgen/example/api  on   main !2 ··········································································································································· took 8s   at 13:10:21 
❯ go generate
DEBU[0000] args: ["/var/folders/cj/t7zd5tq50b588__zcp9bndwh0000gn/T/go-build3294247184/b001/exe/requestgen" "-type" "NoParamRequest" "-url" "/v1/bullet" "-method" "GET" "-debug"]
DEBU[0000] found APIClient field client -> github.com/c9s/requestgen.APIClient
DEBU[0000] add package import: fmt
DEBU[0000] add package import: net/url
DEBU[0000] add package import: encoding/json
DEBU[0000] add package import: regexp
package api
func (p *PlaceOrderRequest) Do(ctx context.Context) (interface{}, error) {
// empty params for GET operation
var params interface{}
query, err := p.GetQueryParameters()
if err != nil {
return nil, err
}
package requestgen
import (
"context"
"net/http"
"net/url"
)
type AuthenticatedRequestBuilder interface {
// NewAuthenticatedRequest builds up the http request for authentication-required endpoints
package api
import "github.com/c9s/requestgen"
//go:generate requestgen -type PlaceOrderRequest -method POST -url /v1/orders -responseType .Response
type PlaceOrderRequest struct {
client requestgen.AuthenticatedAPIClient
// A combination of case-sensitive alphanumerics, all numbers, or all letters of up to 32 characters.
clientOrderID *string `param:"clientOid,required" defaultValuer:"uuid()"`
package api
import "github.com/c9s/requestgen"
//go:generate requestgen -type PlaceOrderRequest
type PlaceOrderRequest struct {
symbol string `param:"symbol,required"`
// "buy" or "sell"
side SideType `param:"side,required" validValues:"buy,sell"`