pitOrgan

package module
v0.0.0-...-e4a91b9 Latest Latest
Warning

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

Go to latest
Published: Dec 11, 2019 License: MIT Imports: 16 Imported by: 0

README

Pit-organ

Golang OANDA v20 REST API wrapper.

Development

$ cd /path/to/here
$ docker-compose up --build -d

$ ./run dep ensure
$ ./run gotest
$ ./run go build
$ ./run [command]

API

Implemented Method Path
  • [x]
GET /v3/accounts
  • [x]
GET /v3/accounts/{accountID}
  • [x]
GET /v3/accounts/{accountID}/summary
  • [x]
GET /v3/accounts/{accountID}/instruments
  • [x]
PATCH /v3/accounts/{accountID}/configuration
  • [x]
GET /v3/accounts/{accountID}/changes
  • [x]
GET /v3/instruments/{instrument}/candles
  • [x]
GET /v3/instruments/{instrument}/orderBook
  • [x]
GET /v3/instruments/{instrument}/positionBook
  • [x]
POST /v3/accounts/{accountID}/orders
  • [x]
GET /v3/accounts/{accountID}/orders
  • [x]
GET /v3/accounts/{accountID}/pendingOrders
  • [x]
GET /v3/accounts/{accountID}/orders/{orderSpecifier}
  • [x]
PUT /v3/accounts/{accountID}/orders/{orderSpecifier}
  • [x]
PUT /v3/accounts/{accountID}/orders/{orderSpecifier}/cancel
  • [x]
PUT /v3/accounts/{accountID}/orders/{orderSpecifier}/clientExtensions
  • [x]
GET /v3/accounts/{accountID}/positions
  • [x]
GET /v3/accounts/{accountID}/openPositions
  • [x]
GET /v3/accounts/{accountID}/positions/{instrument}
  • [x]
PUT /v3/accounts/{accountID}/positions/{instrument}/close
  • [x]
GET /v3/accounts/{accountID}/pricing
  • [x]
GET /v3/accounts/{accountID}/pricing/stream
  • [x]
GET /v3/accounts/{accountID}/trades
  • [x]
GET /v3/accounts/{accountID}/openTrades
  • [x]
GET /v3/accounts/{accountID}/trades/{tradeSpecifier}
  • [x]
PUT /v3/accounts/{accountID}/trades/{tradeSpecifier}/close
  • [x]
PUT /v3/accounts/{accountID}/trades/{tradeSpecifier}/clientExtensions
  • [x]
PUT /v3/accounts/{accountID}/trades/{tradeSpecifier}/orders
  • [x]
GET /v3/accounts/{accountID}/transactions
  • [x]
GET /v3/accounts/{accountID}/transactions/{transactionID}
  • [x]
GET /v3/accounts/{accountID}/transactions/idrange
  • [x]
GET /v3/accounts/{accountID}/transactions/sinceid
  • [x]
GET /v3/accounts/{accountID}/transactions/stream

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func Bool

func Bool(v bool) *bool

func Int

func Int(v int) *int

func String

func String(v string) *string

Types

type AcceptDatetimeFormatDefinition

type AcceptDatetimeFormatDefinition = string

type AccountChangesDefinition

type AccountChangesDefinition struct {
	OrdersCreated   []*OrderDefinition        `json:"ordersCreated,omitempty"`
	OrdersCancelled []*OrderDefinition        `json:"ordersCancelled,omitempty"`
	OrdersFilled    []*OrderDefinition        `json:"ordersFilled,omitempty"`
	OrdersTriggered []*OrderDefinition        `json:"ordersTriggered,omitempty"`
	TradesOpened    []*TradeSummaryDefinition `json:"tradesOpened,omitempty"`
	TradesReduced   []*TradeSummaryDefinition `json:"tradesReduced,omitempty"`
	TradesClosed    []*TradeSummaryDefinition `json:"tradesClosed,omitempty"`
	Positions       []*PositionDefinition     `json:"positions,omitempty"`
	Transactions    []*TransactionDefinition  `json:"transactions,omitempty"`
}

type AccountChangesStateDefinition

type AccountChangesStateDefinition struct {
	UnrealizedPL                AccountUnitsDefinition               `json:"unrealizedPL,omitempty"`
	NAV                         AccountUnitsDefinition               `json:"NAV,omitempty"`
	MarginUsed                  AccountUnitsDefinition               `json:"marginUsed,omitempty"`
	MarginAvailable             AccountUnitsDefinition               `json:"marginAvailable,omitempty"`
	PositionValue               AccountUnitsDefinition               `json:"positionValue,omitempty"`
	MarginCloseoutUnrealizedPL  AccountUnitsDefinition               `json:"marginCloseoutUnrealizedPL,omitempty"`
	MarginCloseoutNAV           AccountUnitsDefinition               `json:"marginCloseoutNAV,omitempty"`
	MarginCloseoutMarginUsed    AccountUnitsDefinition               `json:"marginCloseoutMarginUsed,omitempty"`
	MarginCloseoutPercent       DecimalNumberDefinition              `json:"marginCloseoutPercent,omitempty"`
	MarginCloseoutPositionValue DecimalNumberDefinition              `json:"marginCloseoutPositionValue,omitempty"`
	WithdrawalLimit             AccountUnitsDefinition               `json:"withdrawalLimit,omitempty"`
	MarginCallMarginUsed        AccountUnitsDefinition               `json:"marginCallMarginUsed,omitempty"`
	MarginCallPercent           DecimalNumberDefinition              `json:"marginCallPercent,omitempty"`
	Orders                      []*DynamicOrderStateDefinition       `json:"orders,omitempty"`
	Trades                      []*CalculatedTradeStateDefinition    `json:"trades,omitempty"`
	Positions                   []*CalculatedPositionStateDefinition `json:"positions,omitempty"`
}

type AccountDefinition

type AccountDefinition struct {
	ID                          AccountIDDefinition                   `json:"id,omitempty"`
	Alias                       string                                `json:"alias,omitempty"`
	Currency                    CurrencyDefinition                    `json:"currency,omitempty"`
	Balance                     AccountUnitsDefinition                `json:"balance,omitempty"`
	CreatedByUserID             *int                                  `json:"createdByUserID,omitempty"`
	CreatedTime                 DateTimeDefinition                    `json:"createdTime,omitempty"`
	GuaranteedStopLossOrderMode GuaranteedStopLossOrderModeDefinition `json:"guaranteedStopLossOrderMode,omitempty"`
	PL                          AccountUnitsDefinition                `json:"pl,omitempty"`
	ResettablePL                AccountUnitsDefinition                `json:"resettablePL,omitempty"`
	ResettablePLTime            DateTimeDefinition                    `json:"resettablePLTime,omitempty"`
	Financing                   AccountUnitsDefinition                `json:"financing,omitempty"`
	Commission                  AccountUnitsDefinition                `json:"commission,omitempty"`
	Dividend                    AccountUnitsDefinition                `json:"dividend,omitempty"`
	GuaranteedExecutionFees     AccountUnitsDefinition                `json:"guaranteedExecutionFees,omitempty"`
	MarginRate                  DecimalNumberDefinition               `json:"marginRate,omitempty"`
	MarginCallEnterTime         DateTimeDefinition                    `json:"marginCallEnterTime,omitempty"`
	MarginCallExtensionCount    *int                                  `json:"marginCallExtensionCount,omitempty"`
	LastMarginCallExtensionTime DateTimeDefinition                    `json:"lastMarginCallExtensionTime,omitempty"`
	OpenTradeCount              *int                                  `json:"openTradeCount,omitempty"`
	OpenPositionCount           *int                                  `json:"openPositionCount,omitempty"`
	PendingOrderCount           *int                                  `json:"pendingOrderCount,omitempty"`
	HedgingEnabled              *bool                                 `json:"hedgingEnabled,omitempty"`
	UnrealizedPL                AccountUnitsDefinition                `json:"unrealizedPL,omitempty"`
	NAV                         AccountUnitsDefinition                `json:"NAV,omitempty"`
	MarginUsed                  AccountUnitsDefinition                `json:"marginUsed,omitempty"`
	MarginAvailable             AccountUnitsDefinition                `json:"marginAvailable,omitempty"`
	PositionValue               AccountUnitsDefinition                `json:"positionValue,omitempty"`
	MarginCloseoutUnrealizedPL  AccountUnitsDefinition                `json:"marginCloseoutUnrealizedPL,omitempty"`
	MarginCloseoutNAV           AccountUnitsDefinition                `json:"marginCloseoutNAV,omitempty"`
	MarginCloseoutMarginUsed    AccountUnitsDefinition                `json:"marginCloseoutMarginUsed,omitempty"`
	MarginCloseoutPercent       DecimalNumberDefinition               `json:"marginCloseoutPercent,omitempty"`
	MarginCloseoutPositionValue DecimalNumberDefinition               `json:"marginCloseoutPositionValue,omitempty"`
	WithdrawalLimit             AccountUnitsDefinition                `json:"withdrawalLimit,omitempty"`
	MarginCallMarginUsed        AccountUnitsDefinition                `json:"marginCallMarginUsed,omitempty"`
	MarginCallPercent           DecimalNumberDefinition               `json:"marginCallPercent,omitempty"`
	LastTransactionID           TransactionIDDefinition               `json:"lastTransactionID,omitempty"`
	Trades                      []*TradeSummaryDefinition             `json:"trades,omitempty"`
	Positions                   []*PositionDefinition                 `json:"positions,omitempty"`
	Orders                      []*OrderDefinition                    `json:"orders,omitempty"`

	DividendAdjustment Undefined `json:"dividendAdjustment,omitempty"`
}

type AccountFinancingModeDefinition

type AccountFinancingModeDefinition = string

type AccountIDDefinition

type AccountIDDefinition = string

type AccountPropertiesDefinition

type AccountPropertiesDefinition struct {
	ID           AccountIDDefinition `json:"id,omitempty"`
	MT4AccountID *int                `json:"mt4AccountID,omitempty"`
	Tags         []string            `json:"tags,omitempty"`
}

type AccountSummaryDefinition

type AccountSummaryDefinition struct {
	ID                          AccountIDDefinition                   `json:"id,omitempty"`
	Alias                       string                                `json:"alias,omitempty"`
	Currency                    CurrencyDefinition                    `json:"currency,omitempty"`
	Balance                     AccountUnitsDefinition                `json:"balance,omitempty"`
	CreatedByUserID             *int                                  `json:"createdByUserID,omitempty"`
	CreatedTime                 DateTimeDefinition                    `json:"createdTime,omitempty"`
	GuaranteedStopLossOrderMode GuaranteedStopLossOrderModeDefinition `json:"guaranteedStopLossOrderMode,omitempty"`
	PL                          AccountUnitsDefinition                `json:"pl,omitempty"`
	ResettablePL                AccountUnitsDefinition                `json:"resettablePL,omitempty"`
	ResettablePLTime            DateTimeDefinition                    `json:"resettablePLTime,omitempty"`
	Financing                   AccountUnitsDefinition                `json:"financing,omitempty"`
	Commission                  AccountUnitsDefinition                `json:"commission,omitempty"`
	Dividend                    AccountUnitsDefinition                `json:"dividend,omitempty"`
	GuaranteedExecutionFees     AccountUnitsDefinition                `json:"guaranteedExecutionFees,omitempty"`
	MarginRate                  DecimalNumberDefinition               `json:"marginRate,omitempty"`
	MarginCallEnterTime         DateTimeDefinition                    `json:"marginCallEnterTime,omitempty"`
	MarginCallExtensionCount    *int                                  `json:"marginCallExtensionCount,omitempty"`
	LastMarginCallExtensionTime DateTimeDefinition                    `json:"lastMarginCallExtensionTime,omitempty"`
	OpenTradeCount              *int                                  `json:"openTradeCount,omitempty"`
	OpenPositionCount           *int                                  `json:"openPositionCount,omitempty"`
	PendingOrderCount           *int                                  `json:"pendingOrderCount,omitempty"`
	HedgingEnabled              *bool                                 `json:"hedgingEnabled,omitempty"`
	UnrealizedPL                AccountUnitsDefinition                `json:"unrealizedPL,omitempty"`
	NAV                         AccountUnitsDefinition                `json:"NAV,omitempty"`
	MarginUsed                  AccountUnitsDefinition                `json:"marginUsed,omitempty"`
	MarginAvailable             AccountUnitsDefinition                `json:"marginAvailable,omitempty"`
	PositionValue               AccountUnitsDefinition                `json:"positionValue,omitempty"`
	MarginCloseoutUnrealizedPL  AccountUnitsDefinition                `json:"marginCloseoutUnrealizedPL,omitempty"`
	MarginCloseoutNAV           AccountUnitsDefinition                `json:"marginCloseoutNAV,omitempty"`
	MarginCloseoutMarginUsed    AccountUnitsDefinition                `json:"marginCloseoutMarginUsed,omitempty"`
	MarginCloseoutPercent       DecimalNumberDefinition               `json:"marginCloseoutPercent,omitempty"`
	MarginCloseoutPositionValue DecimalNumberDefinition               `json:"marginCloseoutPositionValue,omitempty"`
	WithdrawalLimit             AccountUnitsDefinition                `json:"withdrawalLimit,omitempty"`
	MarginCallMarginUsed        AccountUnitsDefinition                `json:"marginCallMarginUsed,omitempty"`
	MarginCallPercent           DecimalNumberDefinition               `json:"marginCallPercent,omitempty"`
	LastTransactionID           TransactionIDDefinition               `json:"lastTransactionID,omitempty"`

	DividendAdjustment Undefined `json:"dividendAdjustment,omitempty"`
}

type AccountUnitsDefinition

type AccountUnitsDefinition = string

type BadRequestError

type BadRequestError struct {
	ErrorMessage string `json:"errorMessage"`
}

func (*BadRequestError) Error

func (r *BadRequestError) Error() string

type CalculatedAccountStateDefinition

type CalculatedAccountStateDefinition struct {
	UnrealizedPL                AccountUnitsDefinition  `json:"unrealizedPL,omitempty"`
	NAV                         AccountUnitsDefinition  `json:"NAV,omitempty"`
	MarginUsed                  AccountUnitsDefinition  `json:"marginUsed,omitempty"`
	MarginAvailable             AccountUnitsDefinition  `json:"marginAvailable,omitempty"`
	PositionValue               AccountUnitsDefinition  `json:"positionValue,omitempty"`
	MarginCloseoutUnrealizedPL  AccountUnitsDefinition  `json:"marginCloseoutUnrealizedPL,omitempty"`
	MarginCloseoutNAV           AccountUnitsDefinition  `json:"marginCloseoutNAV,omitempty"`
	MarginCloseoutMarginUsed    AccountUnitsDefinition  `json:"marginCloseoutMarginUsed,omitempty"`
	MarginCloseoutPercent       DecimalNumberDefinition `json:"marginCloseoutPercent,omitempty"`
	MarginCloseoutPositionValue DecimalNumberDefinition `json:"marginCloseoutPositionValue,omitempty"`
	WithdrawalLimit             AccountUnitsDefinition  `json:"withdrawalLimit,omitempty"`
	MarginCallMarginUsed        AccountUnitsDefinition  `json:"marginCallMarginUsed,omitempty"`
	MarginCallPercent           DecimalNumberDefinition `json:"marginCallPercent,omitempty"`
}

type CalculatedPositionStateDefinition

type CalculatedPositionStateDefinition struct {
	Instrument        InstrumentNameDefinition `json:"instrument,omitempty"`
	NetUnrealizedPL   AccountUnitsDefinition   `json:"netUnrealizedPL,omitempty"`
	LongUnrealizedPL  AccountUnitsDefinition   `json:"longUnrealizedPL,omitempty"`
	ShortUnrealizedPL AccountUnitsDefinition   `json:"shortUnrealizedPL,omitempty"`
	MarginUsed        AccountUnitsDefinition   `json:"marginUsed,omitempty"`
}

type CalculatedTradeStateDefinition

type CalculatedTradeStateDefinition struct {
	ID           TradeIDDefinition      `json:"id,omitempty"`
	UnrealizedPL AccountUnitsDefinition `json:"unrealizedPL,omitempty"`
	MarginUsed   AccountUnitsDefinition `json:"marginUsed,omitempty"`
}

type CancellableOrderTypeDefinition

type CancellableOrderTypeDefinition = string

type CandlestickDataDefinition

type CandlestickDataDefinition struct {
	O PriceValueDefinition `json:"o,omitempty"`
	H PriceValueDefinition `json:"h,omitempty"`
	L PriceValueDefinition `json:"l,omitempty"`
	C PriceValueDefinition `json:"c,omitempty"`
}

type CandlestickDefinition

type CandlestickDefinition struct {
	Time     DateTimeDefinition         `json:"time,omitempty"`
	Bid      *CandlestickDataDefinition `json:"bid,omitempty"`
	Ask      *CandlestickDataDefinition `json:"ask,omitempty"`
	Mid      *CandlestickDataDefinition `json:"mid,omitempty"`
	Volume   *int                       `json:"volume,omitempty"`
	Complete *bool                      `json:"complete,omitempty"`
}

type CandlestickGranularityDefinition

type CandlestickGranularityDefinition = string
const (
	S5  CandlestickGranularityDefinition = "S5"  // 5 second candlesticks, minute alignment
	S10 CandlestickGranularityDefinition = "S10" // 10 second candlesticks, minute alignment
	S15 CandlestickGranularityDefinition = "S15" // 15 second candlesticks, minute alignment
	S30 CandlestickGranularityDefinition = "S30" // 30 second candlesticks, minute alignment
	M1  CandlestickGranularityDefinition = "M1"  // 1 minute candlesticks, minute alignment
	M2  CandlestickGranularityDefinition = "M2"  // 2 minute candlesticks, hour alignment
	M4  CandlestickGranularityDefinition = "M4"  // 4 minute candlesticks, hour alignment
	M5  CandlestickGranularityDefinition = "M5"  // 5 minute candlesticks, hour alignment
	M10 CandlestickGranularityDefinition = "M10" // 10 minute candlesticks, hour alignment
	M15 CandlestickGranularityDefinition = "M15" // 15 minute candlesticks, hour alignment
	M30 CandlestickGranularityDefinition = "M30" // 30 minute candlesticks, hour alignment
	H1  CandlestickGranularityDefinition = "H1"  // 1 hour candlesticks, hour alignment
	H2  CandlestickGranularityDefinition = "H2"  // 2 hour candlesticks, day alignment
	H3  CandlestickGranularityDefinition = "H3"  // 3 hour candlesticks, day alignment
	H4  CandlestickGranularityDefinition = "H4"  // 4 hour candlesticks, day alignment
	H6  CandlestickGranularityDefinition = "H6"  // 6 hour candlesticks, day alignment
	H8  CandlestickGranularityDefinition = "H8"  // 8 hour candlesticks, day alignment
	H12 CandlestickGranularityDefinition = "H12" // 12 hour candlesticks, day alignment
	D   CandlestickGranularityDefinition = "D"   // 1 day candlesticks, day alignment
	W   CandlestickGranularityDefinition = "W"   // 1 week candlesticks, aligned to start of week
	M   CandlestickGranularityDefinition = "M"   // 1 month candlesticks, aligned to first day of the month
)

type ClientCommentDefinition

type ClientCommentDefinition = string

type ClientExtensionsDefinition

type ClientExtensionsDefinition struct {
	ID      string                  `json:"id,omitempty"`
	Tag     ClientTagDefinition     `json:"tag,omitempty"`
	Comment ClientCommentDefinition `json:"comment,omitempty"`
}

type ClientPriceDefinition

type ClientPriceDefinition struct {
	Bids        []*PriceBucketDefinition `json:"bids,omitempty"`
	Asks        []*PriceBucketDefinition `json:"asks,omitempty"`
	CloseoutBid PriceValueDefinition     `json:"closeoutBid,omitempty"`
	CloseoutAsk PriceValueDefinition     `json:"closeoutAsk,omitempty"`
	Timestamp   DateTimeDefinition       `json:"timestamp,omitempty"`
}

type ClientTagDefinition

type ClientTagDefinition = string

type Connection

type Connection struct {
	Token       string
	Environemnt OandaEnvironment
	Timeout     time.Duration
	// contains filtered or unexported fields
}

func (*Connection) Accounts

func (c *Connection) Accounts() *ReceiverAccounts

func (*Connection) Instruments

func (c *Connection) Instruments() *ReceiverInstruments

type CurrencyDefinition

type CurrencyDefinition = string

type DateTimeDefinition

type DateTimeDefinition = string

type DecimalNumberDefinition

type DecimalNumberDefinition = string

type Deprecated

type Deprecated interface{}

type DirectionDefinition

type DirectionDefinition = string

type DynamicOrderStateDefinition

type DynamicOrderStateDefinition struct {
	ID                     string               `json:"id,omitempty"`
	TrailingStopValue      PriceValueDefinition `json:"trailingStopValue,omitempty"`
	TriggerDistance        PriceValueDefinition `json:"triggerDistance,omitempty"`
	IsTriggerDistanceExact *bool                `json:"isTriggerDistanceExact,omitempty"`
}

type ForbiddenError

type ForbiddenError struct {
	ErrorMessage string `json:"errorMessage"`
}

func (*ForbiddenError) Error

func (r *ForbiddenError) Error() string

type FundingReasonDefinition

type FundingReasonDefinition = string

type GetAccountChangesHeaders

type GetAccountChangesHeaders struct {
	RequestID string
}

type GetAccountChangesParams

type GetAccountChangesParams struct {
	SinceTransactionID TransactionIDDefinition
}

type GetAccountChangesSchema

type GetAccountChangesSchema struct {
	Headers           *GetAccountChangesHeaders
	Changes           *AccountChangesDefinition      `json:"changes,omitempty"`
	State             *AccountChangesStateDefinition `json:"state,omitempty"`
	LastTransactionID TransactionIDDefinition        `json:"lastTransactionID,omitempty"`
}

type GetAccountIDHeaders

type GetAccountIDHeaders struct {
	RequestID string
}

type GetAccountIDSchema

type GetAccountIDSchema struct {
	Headers           *GetAccountIDHeaders
	Account           *AccountDefinition      `json:"account,omitempty"`
	LastTransactionID TransactionIDDefinition `json:"lastTransactionID,omitempty"`
}

type GetAccountInstrumentsHeaders

type GetAccountInstrumentsHeaders struct {
	RequestID string
}

type GetAccountInstrumentsParams

type GetAccountInstrumentsParams struct {
	Instruments []string
}

type GetAccountInstrumentsSchema

type GetAccountInstrumentsSchema struct {
	Headers           *GetAccountInstrumentsHeaders
	Instruments       []*InstrumentDefinition `json:"instruments,omitempty"`
	LastTransactionID TransactionIDDefinition `json:"lastTransactionID,omitempty"`
}

type GetAccountSummaryHeaders

type GetAccountSummaryHeaders struct {
	RequestID string
}

type GetAccountSummarySchema

type GetAccountSummarySchema struct {
	Headers           *GetAccountSummaryHeaders
	Account           *AccountSummaryDefinition `json:"account,omitempty"`
	LastTransactionID TransactionIDDefinition   `json:"lastTransactionID,omitempty"`
}

type GetAccountsHeaders

type GetAccountsHeaders struct {
	RequestID string
}

type GetAccountsSchema

type GetAccountsSchema struct {
	Headers  *GetAccountsHeaders
	Accounts []*AccountPropertiesDefinition `json:"accounts,omitempty"`
}

type GetInstrumentCandlesHeaders

type GetInstrumentCandlesHeaders struct {
	RequestID string
}

type GetInstrumentCandlesParams

type GetInstrumentCandlesParams struct {
	PriceMid          bool
	PriceBid          bool
	PriceAsk          bool
	Granularity       CandlestickGranularityDefinition
	Count             int
	From              time.Time
	To                time.Time
	Smooth            *bool
	IncludeFirst      *bool
	DailyAlignment    *int
	AlignmentTimezone string
	WeeklyAlignment   WeeklyAlignmentDefinition
}

type GetInstrumentCandlesSchema

type GetInstrumentCandlesSchema struct {
	Headers     *GetInstrumentCandlesHeaders
	Instrument  InstrumentNameDefinition         `json:"instrument,omitempty"`
	Granularity CandlestickGranularityDefinition `json:"granularity,omitempty"`
	Candles     []*CandlestickDefinition         `json:"candles,omitempty"`
}

type GetInstrumentOrderBookHeaders

type GetInstrumentOrderBookHeaders struct {
	RequestID string
	Link      map[string]time.Time
}

type GetInstrumentOrderBookParams

type GetInstrumentOrderBookParams struct {
	Time time.Time // The time of the snapshot to fetch. If not specified, then the most recent snapshot is fetched.
}

type GetInstrumentOrderBookSchema

type GetInstrumentOrderBookSchema struct {
	// The instrument’s order book
	Headers   *GetInstrumentOrderBookHeaders
	OrderBook *OrderBookDefinition `json:"orderBook,omitempty"`
}

func (*GetInstrumentOrderBookSchema) NextParams

func (*GetInstrumentOrderBookSchema) PrevParams

type GetInstrumentPositionBookHeaders

type GetInstrumentPositionBookHeaders struct {
	RequestID string
	Link      map[string]time.Time
}

type GetInstrumentPositionBookParams

type GetInstrumentPositionBookParams struct {
	Time time.Time // The time of the snapshot to fetch. If not specified, then the most recent snapshot is fetched.
}

type GetInstrumentPositionBookSchema

type GetInstrumentPositionBookSchema struct {
	// The instrument’s position book
	Headers      *GetInstrumentPositionBookHeaders
	PositionBook *PositionBookDefinition `json:"positionBook,omitempty"`
}

func (*GetInstrumentPositionBookSchema) NextParams

func (*GetInstrumentPositionBookSchema) PrevParams

type GetOpenPositionsSchema

type GetOpenPositionsSchema struct {
	Positions         []*PositionDefinition   `json:"positions,omitempty"`
	LastTransactionID TransactionIDDefinition `json:"lastTransactionID,omitempty"`
}

type GetOpenTradesSchema

type GetOpenTradesSchema struct {
	Trades            []*TradeDefinition      `json:"trades,omitempty"`
	LastTransactionID TransactionIDDefinition `json:"lastTransactionID,omitempty"`
}

type GetOrderSpecifierSchema

type GetOrderSpecifierSchema struct {
	Order             *OrderDefinition        `json:"order,omitempty"`
	LastTransactionID TransactionIDDefinition `json:"lastTransactionID,omitempty"`
}

type GetOrdersParams

type GetOrdersParams struct {
	IDs        []string
	State      string
	Instrument string
	Count      int
	BeforeID   string
}

type GetOrdersSchema

type GetOrdersSchema struct {
	Orders            []*OrderDefinition      `json:"orders,omitempty"`
	LastTransactionID TransactionIDDefinition `json:"lastTransactionID,omitempty"`
}

type GetPendingOrdersSchema

type GetPendingOrdersSchema struct {
	Orders            []*OrderDefinition      `json:"orders,omitempty"`
	LastTransactionID TransactionIDDefinition `json:"lastTransactionID,omitempty"`
}

type GetPositionsInstrumentSchema

type GetPositionsInstrumentSchema struct {
	Position          *PositionDefinition     `json:"position,omitempty"`
	LastTransactionID TransactionIDDefinition `json:"lastTransactionID,omitempty"`
}

type GetPositionsSchema

type GetPositionsSchema struct {
	Positions         []*PositionDefinition   `json:"positions,omitempty"`
	LastTransactionID TransactionIDDefinition `json:"lastTransactionID,omitempty"`
}

type GetPricingParams

type GetPricingParams struct {
	Instruments            []string
	Since                  time.Time
	IncludeUnitsAvailable  *bool
	IncludeHomeConversions *bool
}

type GetPricingSchema

type GetPricingSchema struct {
	Prices          []*PriceDefinition           `json:"prices,omitempty"`
	HomeConversions []*HomeConversionsDefinition `json:"homeConversions,omitempty"`
	Time            DateTimeDefinition           `json:"time,omitempty"`
}

type GetPricingStreamParams

type GetPricingStreamParams struct {
	BufferSize  int
	Instruments []string
}

type GetTradeSpecifierSchema

type GetTradeSpecifierSchema struct {
	Trade             *TradeDefinition        `json:"trade,omitempty"`
	LastTransactionID TransactionIDDefinition `json:"lastTransactionID,omitempty"`
}

type GetTradesParams

type GetTradesParams struct {
	IDs        []string
	State      string
	Instrument string
	Count      int
	BeforeID   string
}

type GetTradesSchema

type GetTradesSchema struct {
	Trades            []*TradeDefinition      `json:"trades,omitempty"`
	LastTransactionID TransactionIDDefinition `json:"lastTransactionID,omitempty"`
}

type GetTransactionIDSchema

type GetTransactionIDSchema struct {
	Transaction       *TransactionDefinition  `json:"transaction,omitempty"`
	LastTransactionID TransactionIDDefinition `json:"lastTransactionID,omitempty"`
}

type GetTransactionsIdrangeParams

type GetTransactionsIdrangeParams struct {
	From int
	To   int
	Type []TransactionFilterDefinition
}

type GetTransactionsIdrangeSchema

type GetTransactionsIdrangeSchema struct {
	Transactions      []*TransactionDefinition `json:"transactions,omitempty"`
	LastTransactionID TransactionIDDefinition  `json:"lastTransactionID,omitempty"`
}

type GetTransactionsParams

type GetTransactionsParams struct {
	From     time.Time
	To       time.Time
	PageSize int
	Type     []TransactionFilterDefinition
}

type GetTransactionsSchema

type GetTransactionsSchema struct {
	From              DateTimeDefinition            `json:"from,omitempty"`
	To                DateTimeDefinition            `json:"to,omitempty"`
	PageSize          int                           `json:"pageSize,omitempty"`
	Type              []TransactionFilterDefinition `json:"type,omitempty"`
	Count             int                           `json:"count,omitempty"`
	Pages             []string                      `json:"pages,omitempty"`
	LastTransactionID TransactionIDDefinition       `json:"lastTransactionID,omitempty"`
}

func (*GetTransactionsSchema) IdrangeParams

func (s *GetTransactionsSchema) IdrangeParams() ([]*GetTransactionsIdrangeParams, error)

type GetTransactionsSinceIDParams

type GetTransactionsSinceIDParams struct {
	ID string
}

type GetTransactionsSinceIDSchema

type GetTransactionsSinceIDSchema struct {
	Transactions      []*TransactionDefinition `json:"transactions,omitempty"`
	LastTransactionID TransactionIDDefinition  `json:"lastTransactionID,omitempty"`
}

type GetTransactionsStreamParams

type GetTransactionsStreamParams struct {
	BufferSize int
}

type GuaranteedStopLossOrderEntryDataDefinition

type GuaranteedStopLossOrderEntryDataDefinition struct {
	MinimumDistance  DecimalNumberDefinition                            `json:"minimumDistance,omitempty"`
	Premium          DecimalNumberDefinition                            `json:"premium,omitempty"`
	LevelRestriction *GuaranteedStopLossOrderLevelRestrictionDefinition `json:"levelRestriction,omitempty"`
}

type GuaranteedStopLossOrderLevelRestrictionDefinition

type GuaranteedStopLossOrderLevelRestrictionDefinition struct {
	Volume     DecimalNumberDefinition `json:"volume,omitempty"`
	PriceRange DecimalNumberDefinition `json:"priceRange,omitempty"`
}

type GuaranteedStopLossOrderModeDefinition

type GuaranteedStopLossOrderModeDefinition = string

type HomeConversionsDefinition

type HomeConversionsDefinition struct {
	Currency      CurrencyDefinition      `json:"currency,omitempty"`
	AccountGain   DecimalNumberDefinition `json:"accountGain,omitempty"`
	AccountLoss   DecimalNumberDefinition `json:"accountLoss,omitempty"`
	PositionValue DecimalNumberDefinition `json:"positionValue,omitempty"`
}

type InstrumentCommissionDefinition

type InstrumentCommissionDefinition struct {
	Commission        DecimalNumberDefinition `json:"commission,omitempty"`
	UnitsTraded       DecimalNumberDefinition `json:"unitsTraded,omitempty"`
	MinimumCommission DecimalNumberDefinition `json:"minimumCommission,omitempty"`
}

type InstrumentDefinition

type InstrumentDefinition struct {
	Name                        InstrumentNameDefinition        `json:"name,omitempty"`
	Type                        InstrumentTypeDefinition        `json:"type,omitempty"`
	DisplayName                 string                          `json:"displayName,omitempty"`
	PipLocation                 *int                            `json:"pipLocation,omitempty"`
	DisplayPrecision            *int                            `json:"displayPrecision,omitempty"`
	TradeUnitsPrecision         *int                            `json:"tradeUnitsPrecision,omitempty"`
	MinimumTradeSize            DecimalNumberDefinition         `json:"minimumTradeSize,omitempty"`
	MaximumTrailingStopDistance DecimalNumberDefinition         `json:"maximumTrailingStopDistance,omitempty"`
	MinimumTrailingStopDistance DecimalNumberDefinition         `json:"minimumTrailingStopDistance,omitempty"`
	MaximumPositionSize         DecimalNumberDefinition         `json:"maximumPositionSize,omitempty"`
	MaximumOrderUnits           DecimalNumberDefinition         `json:"maximumOrderUnits,omitempty"`
	MarginRate                  DecimalNumberDefinition         `json:"marginRate,omitempty"`
	Commission                  *InstrumentCommissionDefinition `json:"commission,omitempty"`
	Tags                        []*TagDefinition                `json:"tags,omitempty"`

	Financing Undefined `json:"financing,omitempty"`
}

type InstrumentNameDefinition

type InstrumentNameDefinition = string

type InstrumentTypeDefinition

type InstrumentTypeDefinition = string

type LimitOrderRequestDefinition

type LimitOrderRequestDefinition struct {
	Type                   OrderTypeDefinition                `json:"type,omitempty"`
	Instrument             InstrumentNameDefinition           `json:"instrument,omitempty"`
	Units                  DecimalNumberDefinition            `json:"units,omitempty"`
	Price                  PriceValueDefinition               `json:"price,omitempty"`
	TimeInForce            TimeInForceDefinition              `json:"timeInForce,omitempty"`
	GtdTime                DateTimeDefinition                 `json:"gtdTime,omitempty"`
	PositionFill           OrderPositionFillDefinition        `json:"positionFill,omitempty"`
	TriggerCondition       OrderTriggerConditionDefinition    `json:"triggerCondition,omitempty"`
	ClientExtensions       *ClientExtensionsDefinition        `json:"clientExtensions,omitempty"`
	TakeProfitOnFill       *TakeProfitDetailsDefinition       `json:"takeProfitOnFill,omitempty"`
	StopLossOnFill         *StopLossDetailsDefinition         `json:"stopLossOnFill,omitempty"`
	TrailingStopLossOnFill *TrailingStopLossDetailsDefinition `json:"trailingStopLossOnFill,omitempty"`
	TradeClientExtensions  *ClientExtensionsDefinition        `json:"tradeClientExtensions,omitempty"`
}

type LiquidityRegenerationScheduleDefinition

type LiquidityRegenerationScheduleDefinition struct {
	Steps []*LiquidityRegenerationScheduleStepDefinition `json:"steps,omitempty"`
}

type LiquidityRegenerationScheduleStepDefinition

type LiquidityRegenerationScheduleStepDefinition struct {
	Timestamp        DateTimeDefinition      `json:"timestamp,omitempty"`
	BidLiquidityUsed DecimalNumberDefinition `json:"bidLiquidityUsed,omitempty"`
	AskLiquidityUsed DecimalNumberDefinition `json:"askLiquidityUsed,omitempty"`
}

type MarketIfTouchedOrderRequestDefinition

type MarketIfTouchedOrderRequestDefinition struct {
	Type                   OrderTypeDefinition                `json:"type,omitempty"`
	Instrument             InstrumentNameDefinition           `json:"instrument,omitempty"`
	Units                  DecimalNumberDefinition            `json:"units,omitempty"`
	Price                  PriceValueDefinition               `json:"price,omitempty"`
	PriceBound             PriceValueDefinition               `json:"priceBound,omitempty"`
	TimeInForce            TimeInForceDefinition              `json:"timeInForce,omitempty"`
	GtdTime                DateTimeDefinition                 `json:"gtdTime,omitempty"`
	PositionFill           OrderPositionFillDefinition        `json:"positionFill,omitempty"`
	TriggerCondition       OrderTriggerConditionDefinition    `json:"triggerCondition,omitempty"`
	ClientExtensions       *ClientExtensionsDefinition        `json:"clientExtensions,omitempty"`
	TakeProfitOnFill       *TakeProfitDetailsDefinition       `json:"takeProfitOnFill,omitempty"`
	StopLossOnFill         *StopLossDetailsDefinition         `json:"stopLossOnFill,omitempty"`
	TrailingStopLossOnFill *TrailingStopLossDetailsDefinition `json:"trailingStopLossOnFill,omitempty"`
	TradeClientExtensions  *ClientExtensionsDefinition        `json:"tradeClientExtensions,omitempty"`
}

type MarketOrderDelayedTradeCloseDefinition

type MarketOrderDelayedTradeCloseDefinition struct {
	TradeID             TradeIDDefinition       `json:"tradeID,omitempty"`
	ClientTradeID       TradeIDDefinition       `json:"clientTradeID,omitempty"`
	SourceTransactionID TransactionIDDefinition `json:"sourceTransactionID,omitempty"`
}

type MarketOrderMarginCloseoutDefinition

type MarketOrderMarginCloseoutDefinition struct {
	Reason MarketOrderMarginCloseoutReasonDefinition `json:"reason,omitempty"`
}

type MarketOrderMarginCloseoutReasonDefinition

type MarketOrderMarginCloseoutReasonDefinition = string

type MarketOrderPositionCloseoutDefinition

type MarketOrderPositionCloseoutDefinition struct {
	Instrument InstrumentNameDefinition `json:"instrument,omitempty"`
	Units      string                   `json:"units,omitempty"`
}

type MarketOrderRequestDefinition

type MarketOrderRequestDefinition struct {
	Type                   OrderTypeDefinition                `json:"type,omitempty"`
	Instrument             InstrumentNameDefinition           `json:"instrument,omitempty"`
	Units                  DecimalNumberDefinition            `json:"units,omitempty"`
	TimeInForce            TimeInForceDefinition              `json:"timeInForce,omitempty"`
	PriceBound             PriceValueDefinition               `json:"priceBound,omitempty"`
	PositionFill           OrderPositionFillDefinition        `json:"positionFill,omitempty"`
	ClientExtensions       *ClientExtensionsDefinition        `json:"clientExtensions,omitempty"`
	TakeProfitOnFill       *TakeProfitDetailsDefinition       `json:"takeProfitOnFill,omitempty"`
	StopLossOnFill         *StopLossDetailsDefinition         `json:"stopLossOnFill,omitempty"`
	TrailingStopLossOnFill *TrailingStopLossDetailsDefinition `json:"trailingStopLossOnFill,omitempty"`
	TradeClientExtensions  *ClientExtensionsDefinition        `json:"tradeClientExtensions,omitempty"`
}

type MarketOrderTradeCloseDefinition

type MarketOrderTradeCloseDefinition struct {
	TradeID       TradeIDDefinition `json:"tradeID,omitempty"`
	ClientTradeID string            `json:"clientTradeID,omitempty"`
	Units         string            `json:"units,omitempty"`
}

type NotFoundError

type NotFoundError struct {
	ErrorMessage string `json:"errorMessage"`
}

func (*NotFoundError) Error

func (r *NotFoundError) Error() string

type OandaEnvironment

type OandaEnvironment int
const (
	OandaPractice OandaEnvironment = iota + 1
	OandaLive
)

type OpenTradeFinancingDefinition

type OpenTradeFinancingDefinition struct {
	TradeID   TradeIDDefinition      `json:"tradeID,omitempty"`
	Financing AccountUnitsDefinition `json:"financing,omitempty"`
}

type OrderBookBucketDefinition

type OrderBookBucketDefinition struct {
	Price             PriceValueDefinition    `json:"price,omitempty"`
	LongCountPercent  DecimalNumberDefinition `json:"longCountPercent,omitempty"`
	ShortCountPercent DecimalNumberDefinition `json:"shortCountPercent,omitempty"`
}

type OrderBookDefinition

type OrderBookDefinition struct {
	Instrument  InstrumentNameDefinition     `json:"instrument,omitempty"`
	Time        DateTimeDefinition           `json:"time,omitempty"`
	Price       PriceValueDefinition         `json:"price,omitempty"`
	BucketWidth PriceValueDefinition         `json:"bucketWidth,omitempty"`
	Buckets     []*OrderBookBucketDefinition `json:"buckets,omitempty"`

	UnixTime Undefined `json:"unixTime,omitempty"`
}

type OrderDefinition

type OrderDefinition struct {
	CancelledTime              DateTimeDefinition                      `json:"cancelledTime,omitempty"`
	CancellingTransactionID    TransactionIDDefinition                 `json:"cancellingTransactionID,omitempty"`
	ClientExtensions           *ClientExtensionsDefinition             `json:"clientExtensions,omitempty"`
	ClientTradeID              string                                  `json:"clientTradeID,omitempty"`
	CreateTime                 DateTimeDefinition                      `json:"createTime,omitempty"`
	DelayedTradeClose          *MarketOrderDelayedTradeCloseDefinition `json:"delayedTradeClose,omitempty"`
	Distance                   DecimalNumberDefinition                 `json:"distance,omitempty"`
	FilledTime                 DateTimeDefinition                      `json:"filledTime,omitempty"`
	FillingTransactionID       TransactionIDDefinition                 `json:"fillingTransactionID,omitempty"`
	GtdTime                    DateTimeDefinition                      `json:"gtdTime,omitempty"`
	Guaranteed                 *bool                                   `json:"guaranteed,omitempty"`
	GuaranteedExecutionPremium DecimalNumberDefinition                 `json:"guaranteedExecutionPremium,omitempty"`
	ID                         string                                  `json:"id,omitempty"`
	InitialMarketPrice         PriceValueDefinition                    `json:"initialMarketPrice,omitempty"`
	Instrument                 InstrumentNameDefinition                `json:"instrument,omitempty"`
	LongPositionCloseout       *MarketOrderPositionCloseoutDefinition  `json:"longPositionCloseout,omitempty"`
	MarginCloseout             *MarketOrderMarginCloseoutDefinition    `json:"marginCloseout,omitempty"`
	PositionFill               OrderPositionFillDefinition             `json:"positionFill,omitempty"`
	Price                      PriceValueDefinition                    `json:"price,omitempty"`
	PriceBound                 PriceValueDefinition                    `json:"priceBound,omitempty"`
	ReplacedByOrderID          string                                  `json:"replacedByOrderID,omitempty"`
	ReplacesOrderID            string                                  `json:"replacesOrderID,omitempty"`
	ShortPositionCloseout      *MarketOrderPositionCloseoutDefinition  `json:"shortPositionCloseout,omitempty"`
	State                      OrderStateDefinition                    `json:"state,omitempty"`
	StopLossOnFill             *StopLossDetailsDefinition              `json:"stopLossOnFill,omitempty"`
	TakeProfitOnFill           *TakeProfitDetailsDefinition            `json:"takeProfitOnFill,omitempty"`
	TimeInForce                TimeInForceDefinition                   `json:"timeInForce,omitempty"`
	TradeClientExtensions      *ClientExtensionsDefinition             `json:"tradeClientExtensions,omitempty"`
	TradeClose                 *MarketOrderTradeCloseDefinition        `json:"tradeClose,omitempty"`
	TradeClosedIDs             []TradeIDDefinition                     `json:"tradeClosedIDs,omitempty"`
	TradeID                    TradeIDDefinition                       `json:"tradeID,omitempty"`
	TradeOpenedID              TradeIDDefinition                       `json:"tradeOpenedID,omitempty"`
	TradeReducedID             TradeIDDefinition                       `json:"tradeReducedID,omitempty"`
	TradeState                 string                                  `json:"tradeState,omitempty"`
	TrailingStopLossOnFill     *TrailingStopLossDetailsDefinition      `json:"trailingStopLossOnFill,omitempty"`
	TrailingStopValue          PriceValueDefinition                    `json:"trailingStopValue,omitempty"`
	TriggerCondition           OrderTriggerConditionDefinition         `json:"triggerCondition,omitempty"`
	Type                       OrderTypeDefinition                     `json:"type,omitempty"`
	Units                      DecimalNumberDefinition                 `json:"units,omitempty"`

	PartialFill Undefined `json:"partialFill"`
}

type OrderIdentifierDefinition

type OrderIdentifierDefinition struct {
	OrderID       string `json:"orderID,omitempty"`
	ClientOrderID string `json:"clientOrderID,omitempty"`
}

type OrderPositionFillDefinition

type OrderPositionFillDefinition = string

type OrderRequestDefinition

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

type OrderSpecifierDefinition

type OrderSpecifierDefinition = string

type OrderStateDefinition

type OrderStateDefinition = string

type OrderStateFilterDefinition

type OrderStateFilterDefinition = string

type OrderTriggerConditionDefinition

type OrderTriggerConditionDefinition = string

type OrderTypeDefinition

type OrderTypeDefinition = string

type PatchAccountConfigurationBadRequestError

type PatchAccountConfigurationBadRequestError struct {
	ClientConfigureRejectTransaction *TransactionDefinition  `json:"clientConfigureRejectTransaction,omitempty"`
	LastTransactionID                TransactionIDDefinition `json:"lastTransactionID,omitempty"`
	ErrorCode                        string                  `json:"errorCode,omitempty"`
	ErrorMessage                     string                  `json:"errorMessage,omitempty"`
}

func (*PatchAccountConfigurationBadRequestError) Error

type PatchAccountConfigurationBodyParams

type PatchAccountConfigurationBodyParams struct {
	Alias      string `json:"alias,omitempty"`
	MarginRate string `json:"marginRate,omitempty"`
}

type PatchAccountConfigurationForbiddenError

type PatchAccountConfigurationForbiddenError struct {
	ClientConfigureRejectTransaction *TransactionDefinition  `json:"clientConfigureRejectTransaction,omitempty"`
	LastTransactionID                TransactionIDDefinition `json:"lastTransactionID,omitempty"`
	ErrorCode                        string                  `json:"errorCode,omitempty"`
	ErrorMessage                     string                  `json:"errorMessage,omitempty"`
}

func (*PatchAccountConfigurationForbiddenError) Error

type PatchAccountConfigurationHeaders

type PatchAccountConfigurationHeaders struct {
	RequestID string
}

type PatchAccountConfigurationParams

type PatchAccountConfigurationParams struct {
	Body *PatchAccountConfigurationBodyParams
}

type PatchAccountConfigurationSchema

type PatchAccountConfigurationSchema struct {
	Headers                    *PatchAccountConfigurationHeaders
	ClientConfigureTransaction *TransactionDefinition  `json:"clientConfigureTransaction,omitempty"`
	LastTransactionID          TransactionIDDefinition `json:"lastTransactionID,omitempty"`
}

type PositionAggregationModeDefinition

type PositionAggregationModeDefinition = string

type PositionBookBucketDefinition

type PositionBookBucketDefinition struct {
	Price             PriceValueDefinition    `json:"price,omitempty"`
	LongCountPercent  DecimalNumberDefinition `json:"longCountPercent,omitempty"`
	ShortCountPercent DecimalNumberDefinition `json:"shortCountPercent,omitempty"`
}

type PositionBookDefinition

type PositionBookDefinition struct {
	Instrument  InstrumentNameDefinition        `json:"instrument,omitempty"`
	Time        DateTimeDefinition              `json:"time,omitempty"`
	Price       PriceValueDefinition            `json:"price,omitempty"`
	BucketWidth PriceValueDefinition            `json:"bucketWidth,omitempty"`
	Buckets     []*PositionBookBucketDefinition `json:"buckets,omitempty"`

	UnixTime Undefined `json:"unixTime,omitempty"`
}

type PositionDefinition

type PositionDefinition struct {
	Instrument              InstrumentNameDefinition `json:"instrument,omitempty"`
	PL                      AccountUnitsDefinition   `json:"pl,omitempty"`
	UnrealizedPL            AccountUnitsDefinition   `json:"unrealizedPL,omitempty"`
	MarginUsed              AccountUnitsDefinition   `json:"marginUsed,omitempty"`
	ResettablePL            AccountUnitsDefinition   `json:"resettablePL,omitempty"`
	Financing               AccountUnitsDefinition   `json:"financing,omitempty"`
	Commission              AccountUnitsDefinition   `json:"commission,omitempty"`
	Dividend                AccountUnitsDefinition   `json:"dividend,omitempty"`
	GuaranteedExecutionFees AccountUnitsDefinition   `json:"guaranteedExecutionFees,omitempty"`
	Long                    *PositionSideDefinition  `json:"long,omitempty"`
	Short                   *PositionSideDefinition  `json:"short,omitempty"`

	DividendAdjustment Undefined `json:"dividendAdjustment,omitempty"`
}

type PositionFinancingDefinition

type PositionFinancingDefinition struct {
	Instrument          InstrumentNameDefinition        `json:"instrument,omitempty"`
	Financing           AccountUnitsDefinition          `json:"financing,omitempty"`
	OpenTradeFinancings []*OpenTradeFinancingDefinition `json:"openTradeFinancings,omitempty"`
}

type PositionSideDefinition

type PositionSideDefinition struct {
	Units                   DecimalNumberDefinition `json:"units,omitempty"`
	AveragePrice            PriceValueDefinition    `json:"averagePrice,omitempty"`
	TradeIDs                []TradeIDDefinition     `json:"tradeIDs,omitempty"`
	PL                      AccountUnitsDefinition  `json:"pl,omitempty"`
	UnrealizedPL            AccountUnitsDefinition  `json:"unrealizedPL,omitempty"`
	ResettablePL            AccountUnitsDefinition  `json:"resettablePL,omitempty"`
	Financing               AccountUnitsDefinition  `json:"financing,omitempty"`
	Dividend                AccountUnitsDefinition  `json:"dividend,omitempty"`
	GuaranteedExecutionFees AccountUnitsDefinition  `json:"guaranteedExecutionFees,omitempty"`

	DividendAdjustment Undefined `json:"dividendAdjustment,omitempty"`
}

type PostOrdersBadRequestError

type PostOrdersBadRequestError struct {
	OrderRejectTransaction *TransactionDefinition    `json:"orderRejectTransaction,omitempty"`
	RelatedTransactionIDs  []TransactionIDDefinition `json:"relatedTransactionIDs,omitempty"`
	LastTransactionID      TransactionIDDefinition   `json:"lastTransactionID,omitempty"`
	ErrorCode              string                    `json:"errorCode,omitempty"`
	ErrorMessage           string                    `json:"errorMessage,omitempty"`
}

func (*PostOrdersBadRequestError) Error

func (r *PostOrdersBadRequestError) Error() string

type PostOrdersBodyParams

type PostOrdersBodyParams struct {
	Order OrderRequestDefinition `json:"order"`
}

type PostOrdersNotFoundError

type PostOrdersNotFoundError struct {
	OrderRejectTransaction *TransactionDefinition    `json:"orderRejectTransaction,omitempty"`
	RelatedTransactionIDs  []TransactionIDDefinition `json:"relatedTransactionIDs,omitempty"`
	LastTransactionID      TransactionIDDefinition   `json:"lastTransactionID,omitempty"`
	ErrorCode              string                    `json:"errorCode,omitempty"`
	ErrorMessage           string                    `json:"errorMessage,omitempty"`
}

func (*PostOrdersNotFoundError) Error

func (r *PostOrdersNotFoundError) Error() string

type PostOrdersParams

type PostOrdersParams struct {
	Body PostOrdersBodyParams
}

type PostOrdersSchema

type PostOrdersSchema struct {
	OrderCreateTransaction        *TransactionDefinition    `json:"orderCreateTransaction,omitempty"`
	OrderFillTransaction          *TransactionDefinition    `json:"orderFillTransaction,omitempty"`
	OrderCancelTransaction        *TransactionDefinition    `json:"orderCancelTransaction,omitempty"`
	OrderReissueTransaction       *TransactionDefinition    `json:"orderReissueTransaction,omitempty"`
	OrderReissueRejectTransaction *TransactionDefinition    `json:"orderReissueRejectTransaction,omitempty"`
	RelatedTransactionIDs         []TransactionIDDefinition `json:"relatedTransactionIDs,omitempty"`
	LastTransactionID             TransactionIDDefinition   `json:"lastTransactionID,omitempty"`
}

type PriceBucketDefinition

type PriceBucketDefinition struct {
	Price     PriceValueDefinition `json:"price,omitempty"`
	Liquidity json.Number          `json:"liquidity,omitempty"`
}

type PriceChannels

type PriceChannels struct {
	PriceCh <-chan *PriceDefinition
	// contains filtered or unexported fields
}

func (*PriceChannels) Close

func (ch *PriceChannels) Close()

func (*PriceChannels) Err

func (ch *PriceChannels) Err() error

type PriceDefinition

type PriceDefinition struct {
	Type                       string                                `json:"type,omitempty"`
	Instrument                 InstrumentNameDefinition              `json:"instrument,omitempty"`
	Time                       DateTimeDefinition                    `json:"time,omitempty"`
	Status                     PriceStatusDefinition                 `json:"status,omitempty"`
	Tradeable                  *bool                                 `json:"tradeable,omitempty"`
	Bids                       []*PriceBucketDefinition              `json:"bids,omitempty"`
	Asks                       []*PriceBucketDefinition              `json:"asks,omitempty"`
	CloseoutBid                PriceValueDefinition                  `json:"closeoutBid,omitempty"`
	CloseoutAsk                PriceValueDefinition                  `json:"closeoutAsk,omitempty"`
	QuoteHomeConversionFactors *QuoteHomeConversionFactorsDefinition `json:"quoteHomeConversionFactors,omitempty"`
	UnitsAvailable             *UnitsAvailableDefinition             `json:"unitsAvailable,omitempty"`
}

type PriceStatusDefinition

type PriceStatusDefinition = string

type PriceValueDefinition

type PriceValueDefinition = string

type PricingHeartbeatDefinition

type PricingHeartbeatDefinition struct {
	Type string             `json:"type,omitempty"`
	Time DateTimeDefinition `json:"time,omitempty"`
}

type PutOrderSpecifierBadRequestError

type PutOrderSpecifierBadRequestError struct {
	OrderRejectTransaction *TransactionDefinition    `json:"orderRejectTransaction"`
	RelatedTransactionIDs  []TransactionIDDefinition `json:"relatedTransactionIDs"`
	LastTransactionID      TransactionIDDefinition   `json:"lastTransactionID"`
	ErrorCode              string                    `json:"errorCode"`
	ErrorMessage           string                    `json:"errorMessage"`
}

func (*PutOrderSpecifierBadRequestError) Error

type PutOrderSpecifierBodyParams

type PutOrderSpecifierBodyParams struct {
	Order OrderRequestDefinition `json:"order"`
}

type PutOrderSpecifierCancelNotFoundError

type PutOrderSpecifierCancelNotFoundError struct {
	OrderCancelRejectTransaction *TransactionDefinition    `json:"orderCancelRejectTransaction,omitempty"`
	RelatedTransactionIDs        []TransactionIDDefinition `json:"relatedTransactionIDs,omitempty"`
	LastTransactionID            TransactionIDDefinition   `json:"lastTransactionID,omitempty"`
	ErrorCode                    string                    `json:"errorCode,omitempty"`
	ErrorMessage                 string                    `json:"errorMessage,omitempty"`
}

func (*PutOrderSpecifierCancelNotFoundError) Error

type PutOrderSpecifierCancelSchema

type PutOrderSpecifierCancelSchema struct {
	OrderCancelTransaction *TransactionDefinition    `json:"orderCancelTransaction,omitempty"`
	RelatedTransactionIDs  []TransactionIDDefinition `json:"relatedTransactionIDs,omitempty"`
	LastTransactionID      TransactionIDDefinition   `json:"lastTransactionID,omitempty"`
}

type PutOrderSpecifierClientExtensionsBadRequestError

type PutOrderSpecifierClientExtensionsBadRequestError struct {
	OrderClientExtensionsModifyRejectTransaction *TransactionDefinition    `json:"orderClientExtensionsModifyRejectTransaction,omitempty"`
	LastTransactionID                            TransactionIDDefinition   `json:"lastTransactionID,omitempty"`
	RelatedTransactionIDs                        []TransactionIDDefinition `json:"relatedTransactionIDs,omitempty"`
	ErrorCode                                    string                    `json:"errorCode,omitempty"`
	ErrorMessage                                 string                    `json:"errorMessage,omitempty"`
}

func (*PutOrderSpecifierClientExtensionsBadRequestError) Error

type PutOrderSpecifierClientExtensionsBodyParams

type PutOrderSpecifierClientExtensionsBodyParams struct {
	ClientExtensions      *ClientExtensionsDefinition `json:"clientExtensions"`
	TradeClientExtensions *ClientExtensionsDefinition `json:"tradeClientExtensions"`
}

type PutOrderSpecifierClientExtensionsNotFoundError

type PutOrderSpecifierClientExtensionsNotFoundError struct {
	OrderClientExtensionsModifyRejectTransaction *TransactionDefinition    `json:"orderClientExtensionsModifyRejectTransaction,omitempty"`
	LastTransactionID                            TransactionIDDefinition   `json:"lastTransactionID,omitempty"`
	RelatedTransactionIDs                        []TransactionIDDefinition `json:"relatedTransactionIDs,omitempty"`
	ErrorCode                                    string                    `json:"errorCode,omitempty"`
	ErrorMessage                                 string                    `json:"errorMessage,omitempty"`
}

func (*PutOrderSpecifierClientExtensionsNotFoundError) Error

type PutOrderSpecifierClientExtensionsParams

type PutOrderSpecifierClientExtensionsParams struct {
	Body *PutOrderSpecifierClientExtensionsBodyParams
}

type PutOrderSpecifierClientExtensionsSchema

type PutOrderSpecifierClientExtensionsSchema struct {
	OrderClientExtensionsModifyTransaction *TransactionDefinition    `json:"orderClientExtensionsModifyTransaction,omitempty"`
	LastTransactionID                      TransactionIDDefinition   `json:"lastTransactionID,omitempty"`
	RelatedTransactionIDs                  []TransactionIDDefinition `json:"relatedTransactionIDs,omitempty"`
}

type PutOrderSpecifierNotFoundError

type PutOrderSpecifierNotFoundError struct {
	OrderCancelRejectTransaction *TransactionDefinition    `json:"orderCancelRejectTransaction"`
	RelatedTransactionIDs        []TransactionIDDefinition `json:"relatedTransactionIDs"`
	LastTransactionID            TransactionIDDefinition   `json:"lastTransactionID"`
	ErrorCode                    string                    `json:"errorCode"`
	ErrorMessage                 string                    `json:"errorMessage"`
}

func (*PutOrderSpecifierNotFoundError) Error

type PutOrderSpecifierParams

type PutOrderSpecifierParams struct {
	Body PutOrderSpecifierBodyParams
}

type PutOrderSpecifierSchema

type PutOrderSpecifierSchema struct {
	OrderCancelTransaction          *TransactionDefinition    `json:"orderCancelTransaction,omitempty"`
	OrderCreateTransaction          *TransactionDefinition    `json:"orderCreateTransaction,omitempty"`
	OrderFillTransaction            *TransactionDefinition    `json:"orderFillTransaction,omitempty"`
	OrderReissueTransaction         *TransactionDefinition    `json:"orderReissueTransaction,omitempty"`
	OrderReissueRejectTransaction   *TransactionDefinition    `json:"orderReissueRejectTransaction,omitempty"`
	ReplacingOrderCancelTransaction *TransactionDefinition    `json:"replacingOrderCancelTransaction,omitempty"`
	RelatedTransactionIDs           []TransactionIDDefinition `json:"relatedTransactionIDs,omitempty"`
	LastTransactionID               TransactionIDDefinition   `json:"lastTransactionID,omitempty"`
}

type PutPositionsInstrumentCloseBadRequestError

type PutPositionsInstrumentCloseBadRequestError struct {
	LongOrderRejectTransaction  *TransactionDefinition    `json:"longOrderRejectTransaction,omitempty"`
	ShortOrderRejectTransaction *TransactionDefinition    `json:"shortOrderRejectTransaction,omitempty"`
	RelatedTransactionIDs       []TransactionIDDefinition `json:"relatedTransactionIDs,omitempty"`
	LastTransactionID           TransactionIDDefinition   `json:"lastTransactionID,omitempty"`
	ErrorCode                   string                    `json:"errorCode,omitempty"`
	ErrorMessage                string                    `json:"errorMessage,omitempty"`
}

func (*PutPositionsInstrumentCloseBadRequestError) Error

type PutPositionsInstrumentCloseBodyParams

type PutPositionsInstrumentCloseBodyParams struct {
	LongUnits             string                      `json:"longUnits,omitempty"`
	LongClientExtensions  *ClientExtensionsDefinition `json:"longClientExtensions,omitempty"`
	ShortUnits            string                      `json:"shortUnits,omitempty"`
	ShortClientExtensions *ClientExtensionsDefinition `json:"shortClientExtensions,omitempty"`
}

type PutPositionsInstrumentCloseNotFoundError

type PutPositionsInstrumentCloseNotFoundError struct {
	LongOrderRejectTransaction  *TransactionDefinition    `json:"longOrderRejectTransaction,omitempty"`
	ShortOrderRejectTransaction *TransactionDefinition    `json:"shortOrderRejectTransaction,omitempty"`
	RelatedTransactionIDs       []TransactionIDDefinition `json:"relatedTransactionIDs,omitempty"`
	LastTransactionID           TransactionIDDefinition   `json:"lastTransactionID,omitempty"`
	ErrorCode                   string                    `json:"errorCode,omitempty"`
	ErrorMessage                string                    `json:"errorMessage,omitempty"`
}

func (*PutPositionsInstrumentCloseNotFoundError) Error

type PutPositionsInstrumentCloseParams

type PutPositionsInstrumentCloseParams struct {
	Body *PutPositionsInstrumentCloseBodyParams
}

type PutPositionsInstrumentCloseSchema

type PutPositionsInstrumentCloseSchema struct {
	LongOrderCreateTransaction  *TransactionDefinition    `json:"longOrderCreateTransaction,omitempty"`
	LongOrderFillTransaction    *TransactionDefinition    `json:"longOrderFillTransaction,omitempty"`
	LongOrderCancelTransaction  *TransactionDefinition    `json:"longOrderCancelTransaction,omitempty"`
	ShortOrderCreateTransaction *TransactionDefinition    `json:"shortOrderCreateTransaction,omitempty"`
	ShortOrderFillTransaction   *TransactionDefinition    `json:"shortOrderFillTransaction,omitempty"`
	ShortOrderCancelTransaction *TransactionDefinition    `json:"shortOrderCancelTransaction,omitempty"`
	RelatedTransactionIDs       []TransactionIDDefinition `json:"relatedTransactionIDs,omitempty"`
	LastTransactionID           TransactionIDDefinition   `json:"lastTransactionID,omitempty"`
}

type PutTradeSpecifierClientExtensionsBadRequestError

type PutTradeSpecifierClientExtensionsBadRequestError struct {
	TradeClientExtensionsModifyRejectTransaction *TransactionDefinition    `json:"tradeClientExtensionsModifyRejectTransaction,omitempty"`
	LastTransactionID                            TransactionIDDefinition   `json:"lastTransactionID,omitempty"`
	RelatedTransactionIDs                        []TransactionIDDefinition `json:"relatedTransactionIDs,omitempty"`
	ErrorCode                                    string                    `json:"errorCode,omitempty"`
	ErrorMessage                                 string                    `json:"errorMessage,omitempty"`
}

func (*PutTradeSpecifierClientExtensionsBadRequestError) Error

type PutTradeSpecifierClientExtensionsBodyParams

type PutTradeSpecifierClientExtensionsBodyParams struct {
	ClientExtensions *ClientExtensionsDefinition `json:"clientExtensions,omitempty"`
}

type PutTradeSpecifierClientExtensionsNotFoundError

type PutTradeSpecifierClientExtensionsNotFoundError struct {
	TradeClientExtensionsModifyRejectTransaction *TransactionDefinition    `json:"tradeClientExtensionsModifyRejectTransaction,omitempty"`
	LastTransactionID                            TransactionIDDefinition   `json:"lastTransactionID,omitempty"`
	RelatedTransactionIDs                        []TransactionIDDefinition `json:"relatedTransactionIDs,omitempty"`
	ErrorCode                                    string                    `json:"errorCode,omitempty"`
	ErrorMessage                                 string                    `json:"errorMessage,omitempty"`
}

func (*PutTradeSpecifierClientExtensionsNotFoundError) Error

type PutTradeSpecifierClientExtensionsParams

type PutTradeSpecifierClientExtensionsParams struct {
	Body *PutTradeSpecifierClientExtensionsBodyParams
}

type PutTradeSpecifierClientExtensionsSchema

type PutTradeSpecifierClientExtensionsSchema struct {
	TradeClientExtensionsModifyTransaction *TransactionDefinition    `json:"tradeClientExtensionsModifyTransaction,omitempty"`
	RelatedTransactionIDs                  []TransactionIDDefinition `json:"relatedTransactionIDs,omitempty"`
	LastTransactionID                      TransactionIDDefinition   `json:"lastTransactionID,omitempty"`
}

type PutTradeSpecifierCloseBadRequestError

type PutTradeSpecifierCloseBadRequestError struct {
	OrderRejectTransaction *TransactionDefinition `json:"orderRejectTransaction,omitempty"`
	ErrorCode              string                 `json:"errorCode,omitempty"`
	ErrorMessage           string                 `json:"errorMessage,omitempty"`
}

func (*PutTradeSpecifierCloseBadRequestError) Error

type PutTradeSpecifierCloseBodyParams

type PutTradeSpecifierCloseBodyParams struct {
	Units string `json:"units,omitempty"`
}

type PutTradeSpecifierCloseNotFoundError

type PutTradeSpecifierCloseNotFoundError struct {
	OrderRejectTransaction *TransactionDefinition    `json:"orderRejectTransaction,omitempty"`
	LastTransactionID      TransactionIDDefinition   `json:"lastTransactionID,omitempty"`
	RelatedTransactionIDs  []TransactionIDDefinition `json:"relatedTransactionIDs,omitempty"`
	ErrorCode              string                    `json:"errorCode,omitempty"`
	ErrorMessage           string                    `json:"errorMessage,omitempty"`
}

func (*PutTradeSpecifierCloseNotFoundError) Error

type PutTradeSpecifierCloseParams

type PutTradeSpecifierCloseParams struct {
	Body *PutTradeSpecifierCloseBodyParams
}

type PutTradeSpecifierCloseSchema

type PutTradeSpecifierCloseSchema struct {
	OrderCreateTransaction *TransactionDefinition    `json:"orderCreateTransaction,omitempty"`
	OrderFillTransaction   *TransactionDefinition    `json:"orderFillTransaction,omitempty"`
	OrderCancelTransaction *TransactionDefinition    `json:"orderCancelTransaction,omitempty"`
	RelatedTransactionIDs  []TransactionIDDefinition `json:"relatedTransactionIDs,omitempty"`
	LastTransactionID      TransactionIDDefinition   `json:"lastTransactionID,omitempty"`
}

type PutTradeSpecifierOrdersBadRequestError

type PutTradeSpecifierOrdersBadRequestError struct {
	TakeProfitOrderCancelRejectTransaction       *TransactionDefinition    `json:"takeProfitOrderCancelRejectTransaction,omitempty"`
	TakeProfitOrderRejectTransaction             *TransactionDefinition    `json:"takeProfitOrderRejectTransaction,omitempty"`
	StopLossOrderCancelRejectTransaction         *TransactionDefinition    `json:"stopLossOrderCancelRejectTransaction,omitempty"`
	StopLossOrderRejectTransaction               *TransactionDefinition    `json:"stopLossOrderRejectTransaction,omitempty"`
	TrailingStopLossOrderCancelRejectTransaction *TransactionDefinition    `json:"trailingStopLossOrderCancelRejectTransaction,omitempty"`
	TrailingStopLossOrderRejectTransaction       *TransactionDefinition    `json:"trailingStopLossOrderRejectTransaction,omitempty"`
	LastTransactionID                            TransactionIDDefinition   `json:"lastTransactionID,omitempty"`
	RelatedTransactionIDs                        []TransactionIDDefinition `json:"relatedTransactionIDs,omitempty"`
	ErrorCode                                    string                    `json:"errorCode,omitempty"`
	ErrorMessage                                 string                    `json:"errorMessage,omitempty"`
}

func (*PutTradeSpecifierOrdersBadRequestError) Error

type PutTradeSpecifierOrdersBodyParams

type PutTradeSpecifierOrdersBodyParams struct {
	TakeProfit       *TakeProfitDetailsDefinition       `json:"takeProfit,omitempty"`
	StopLoss         *StopLossDetailsDefinition         `json:"stopLoss,omitempty"`
	TrailingStopLoss *TrailingStopLossDetailsDefinition `json:"trailingStopLoss,omitempty"`
}

type PutTradeSpecifierOrdersParams

type PutTradeSpecifierOrdersParams struct {
	Body *PutTradeSpecifierOrdersBodyParams
}

type PutTradeSpecifierOrdersSchema

type PutTradeSpecifierOrdersSchema struct {
	TakeProfitOrderCancelTransaction        *TransactionDefinition    `json:"takeProfitOrderCancelTransaction,omitempty"`
	TakeProfitOrderTransaction              *TransactionDefinition    `json:"takeProfitOrderTransaction,omitempty"`
	TakeProfitOrderFillTransaction          *TransactionDefinition    `json:"takeProfitOrderFillTransaction,omitempty"`
	TakeProfitOrderCreatedCancelTransaction *TransactionDefinition    `json:"takeProfitOrderCreatedCancelTransaction,omitempty"`
	StopLossOrderCancelTransaction          *TransactionDefinition    `json:"stopLossOrderCancelTransaction,omitempty"`
	StopLossOrderTransaction                *TransactionDefinition    `json:"stopLossOrderTransaction,omitempty"`
	StopLossOrderFillTransaction            *TransactionDefinition    `json:"stopLossOrderFillTransaction,omitempty"`
	StopLossOrderCreatedCancelTransaction   *TransactionDefinition    `json:"stopLossOrderCreatedCancelTransaction,omitempty"`
	TrailingStopLossOrderCancelTransaction  *TransactionDefinition    `json:"trailingStopLossOrderCancelTransaction,omitempty"`
	TrailingStopLossOrderTransaction        *TransactionDefinition    `json:"trailingStopLossOrderTransaction,omitempty"`
	RelatedTransactionIDs                   []TransactionIDDefinition `json:"relatedTransactionIDs,omitempty"`
	LastTransactionID                       TransactionIDDefinition   `json:"lastTransactionID,omitempty"`
}

type QuoteHomeConversionFactorsDefinition

type QuoteHomeConversionFactorsDefinition struct {
	PositiveUnits DecimalNumberDefinition `json:"positiveUnits,omitempty"`
	NegativeUnits DecimalNumberDefinition `json:"negativeUnits,omitempty"`
}

type ReceiverAccountChanges

type ReceiverAccountChanges struct {
	AccountID  string
	Connection *Connection
}

func (*ReceiverAccountChanges) Get

GET /v3/accounts/{accountID}/changes

type ReceiverAccountConfiguration

type ReceiverAccountConfiguration struct {
	AccountID  string
	Connection *Connection
}

func (*ReceiverAccountConfiguration) Patch

PATCH /v3/accounts/{accountID}/configuration

type ReceiverAccountID

type ReceiverAccountID struct {
	AccountID  string
	Connection *Connection
}

func (*ReceiverAccountID) Changes

func (*ReceiverAccountID) Configuration

func (r *ReceiverAccountID) Configuration() *ReceiverAccountConfiguration

func (*ReceiverAccountID) Get

GET /v3/accounts/{accountID}

func (*ReceiverAccountID) Instruments

func (*ReceiverAccountID) OpenPositions

func (r *ReceiverAccountID) OpenPositions() *ReceiverOpenPositions

func (*ReceiverAccountID) OpenTrades

func (r *ReceiverAccountID) OpenTrades() *ReceiverOpenTrades

func (*ReceiverAccountID) Orders

func (r *ReceiverAccountID) Orders() *ReceiverOrders

func (*ReceiverAccountID) PendingOrders

func (r *ReceiverAccountID) PendingOrders() *ReceiverPendingOrders

func (*ReceiverAccountID) Positions

func (r *ReceiverAccountID) Positions() *ReceiverPositions

func (*ReceiverAccountID) Pricing

func (r *ReceiverAccountID) Pricing() *ReceiverPricing

func (*ReceiverAccountID) Summary

func (*ReceiverAccountID) Trades

func (r *ReceiverAccountID) Trades() *ReceiverTrades

func (*ReceiverAccountID) Transactions

func (r *ReceiverAccountID) Transactions() *ReceiverTransactions

type ReceiverAccountInstruments

type ReceiverAccountInstruments struct {
	AccountID  string
	Connection *Connection
}

func (*ReceiverAccountInstruments) Get

GET /v3/accounts/{accountID}/instruments

type ReceiverAccountSummary

type ReceiverAccountSummary struct {
	AccountID  string
	Connection *Connection
}

func (*ReceiverAccountSummary) Get

GET /v3/accounts/{accountID}/summary

type ReceiverAccounts

type ReceiverAccounts struct {
	Connection *Connection
}

func (*ReceiverAccounts) AccountID

func (r *ReceiverAccounts) AccountID(id string) *ReceiverAccountID

func (*ReceiverAccounts) Get

GET /v3/accounts

type ReceiverInstrument

type ReceiverInstrument struct {
	Instrument string
	Connection *Connection
}

func (*ReceiverInstrument) Candles

func (*ReceiverInstrument) OrderBook

func (*ReceiverInstrument) PositionBook

type ReceiverInstrumentCandles

type ReceiverInstrumentCandles struct {
	Instrument string
	Connection *Connection
}

func (*ReceiverInstrumentCandles) Get

GET /v3/instruments/{instrument}/candles

Fetch candlestick data for an instrument.

type ReceiverInstrumentOrderBook

type ReceiverInstrumentOrderBook struct {
	Instrument string
	Connection *Connection
}

func (*ReceiverInstrumentOrderBook) Get

GET /v3/instruments/{instrument}/orderBook

Fetch an order book for an instrument.

type ReceiverInstrumentPositionBook

type ReceiverInstrumentPositionBook struct {
	Instrument string
	Connection *Connection
}

func (*ReceiverInstrumentPositionBook) Get

GET /v3/instruments/{instrument}/positionBook

Fetch a position book for an instrument.

type ReceiverInstruments

type ReceiverInstruments struct {
	Connection *Connection
}

func (*ReceiverInstruments) Instrument

func (r *ReceiverInstruments) Instrument(i string) *ReceiverInstrument

type ReceiverOpenPositions

type ReceiverOpenPositions struct {
	AccountID  string
	Connection *Connection
}

func (*ReceiverOpenPositions) Get

GET /v3/accounts/{accountID}/openPositions

type ReceiverOpenTrades

type ReceiverOpenTrades struct {
	AccountID  string
	Connection *Connection
}

func (*ReceiverOpenTrades) Get

GET /v3/accounts/{accountID}/openTrades

type ReceiverOrderSpecifier

type ReceiverOrderSpecifier struct {
	AccountID      string
	Connection     *Connection
	OrderSpecifier string
}

func (*ReceiverOrderSpecifier) Cancel

func (*ReceiverOrderSpecifier) ClientExtensions

func (*ReceiverOrderSpecifier) Get

GET /v3/accounts/{accountID}/orders/{orderSpecifier}

func (*ReceiverOrderSpecifier) Put

PUT /v3/accounts/{accountID}/orders/{orderSpecifier}

type ReceiverOrderSpecifierCancel

type ReceiverOrderSpecifierCancel struct {
	AccountID      string
	Connection     *Connection
	OrderSpecifier string
}

func (*ReceiverOrderSpecifierCancel) Put

PUT /v3/accounts/{accountID}/orders/{orderSpecifier}/cancel

type ReceiverOrderSpecifierClientExtensions

type ReceiverOrderSpecifierClientExtensions struct {
	AccountID      string
	Connection     *Connection
	OrderSpecifier string
}

func (*ReceiverOrderSpecifierClientExtensions) Put

PUT /v3/accounts/{accountID}/orders/{orderSpecifier}/clientExtensions

type ReceiverOrders

type ReceiverOrders struct {
	AccountID  string
	Connection *Connection
}

func (*ReceiverOrders) Get

GET /v3/accounts/{accountID}/orders

func (*ReceiverOrders) OrderSpecifier

func (r *ReceiverOrders) OrderSpecifier(orderSpecifier string) *ReceiverOrderSpecifier

func (*ReceiverOrders) Post

POST /v3/accounts/{accountID}/orders

type ReceiverPendingOrders

type ReceiverPendingOrders struct {
	AccountID  string
	Connection *Connection
}

func (*ReceiverPendingOrders) Get

GET /v3/accounts/{accountID}/pendingOrders

type ReceiverPositions

type ReceiverPositions struct {
	AccountID  string
	Connection *Connection
}

func (*ReceiverPositions) Get

GET /v3/accounts/{accountID}/positions

func (*ReceiverPositions) Instrument

func (r *ReceiverPositions) Instrument(instrument string) *ReceiverPositionsInstrument

type ReceiverPositionsInstrument

type ReceiverPositionsInstrument struct {
	AccountID  string
	Connection *Connection
	Instrument string
}

func (*ReceiverPositionsInstrument) Close

func (*ReceiverPositionsInstrument) Get

GET /v3/accounts/{accountID}/positions/{instrument}

type ReceiverPositionsInstrumentClose

type ReceiverPositionsInstrumentClose struct {
	AccountID  string
	Connection *Connection
	Instrument string
}

func (*ReceiverPositionsInstrumentClose) Put

PUT /v3/accounts/{accountID}/positions/{instrument}/close

type ReceiverPricing

type ReceiverPricing struct {
	AccountID  string
	Connection *Connection
}

func (*ReceiverPricing) Get

GET /v3/accounts/{accountID}/pricing

func (*ReceiverPricing) Stream

type ReceiverPricingStream

type ReceiverPricingStream struct {
	AccountID  string
	Connection *Connection
}

func (*ReceiverPricingStream) Get

GET /v3/accounts/{accountID}/pricing/stream

type ReceiverTradeSpecifier

type ReceiverTradeSpecifier struct {
	AccountID      string
	Connection     *Connection
	TradeSpecifier string
}

func (*ReceiverTradeSpecifier) ClientExtensions

func (*ReceiverTradeSpecifier) Close

func (*ReceiverTradeSpecifier) Get

GET /v3/accounts/{accountID}/trades/{tradeSpecifier}

func (*ReceiverTradeSpecifier) Orders

type ReceiverTradeSpecifierClientExtensions

type ReceiverTradeSpecifierClientExtensions struct {
	AccountID      string
	Connection     *Connection
	TradeSpecifier string
}

func (*ReceiverTradeSpecifierClientExtensions) Put

PUT /v3/accounts/{accountID}/trades/{tradeSpecifier}/clientExtensions

type ReceiverTradeSpecifierClose

type ReceiverTradeSpecifierClose struct {
	AccountID      string
	Connection     *Connection
	TradeSpecifier string
}

func (*ReceiverTradeSpecifierClose) Put

PUT /v3/accounts/{accountID}/trades/{tradeSpecifier}/close

type ReceiverTradeSpecifierOrders

type ReceiverTradeSpecifierOrders struct {
	AccountID      string
	Connection     *Connection
	TradeSpecifier string
}

func (*ReceiverTradeSpecifierOrders) Put

PUT /v3/accounts/{accountID}/trades/{tradeSpecifier}/orders

type ReceiverTrades

type ReceiverTrades struct {
	AccountID  string
	Connection *Connection
}

func (*ReceiverTrades) Get

GET /v3/accounts/{accountID}/trades

func (*ReceiverTrades) TradeSpecifier

func (r *ReceiverTrades) TradeSpecifier(tradeSpecifier string) *ReceiverTradeSpecifier

type ReceiverTransactionID

type ReceiverTransactionID struct {
	AccountID     string
	Connection    *Connection
	TransactionID string
}

func (*ReceiverTransactionID) Get

GET /v3/accounts/{accountID}/transactions/{transactionID}

type ReceiverTransactions

type ReceiverTransactions struct {
	AccountID  string
	Connection *Connection
}

func (*ReceiverTransactions) Get

GET /v3/accounts/{accountID}/transactions

Get a list of Transactions pages that satisfy a time-based Transaction query.

Example
connection := &pitOrgan.Connection{
	Token:       "OANDA_API_TOKEN",
	Environemnt: pitOrgan.OandaPractice,
	Timeout:     time.Second * 10,
}

params := &pitOrgan.GetTransactionsParams{
	PageSize: 1000,
}
data, err := connection.Accounts().AccountID("AccountID").Transactions().Get(context.Background(), params)
if err != nil {
	log.Fatalf("%+v", err)
}

spew.Dump(data)
Output:

func (*ReceiverTransactions) Idrange

func (*ReceiverTransactions) SinceID

func (*ReceiverTransactions) Stream

func (*ReceiverTransactions) TransactionID

func (r *ReceiverTransactions) TransactionID(transactionID string) *ReceiverTransactionID

type ReceiverTransactionsIdrange

type ReceiverTransactionsIdrange struct {
	AccountID  string
	Connection *Connection
}

func (*ReceiverTransactionsIdrange) Get

GET /v3/accounts/{accountID}/transactions/idrange

Get a range of Transactions for an Account based on the Transaction IDs.

Example
connection := &pitOrgan.Connection{
	Token:       "OANDA_API_TOKEN",
	Environemnt: pitOrgan.OandaPractice,
	Timeout:     time.Second * 10,
}

params := &pitOrgan.GetTransactionsIdrangeParams{
	From: 1,
	To:   165,
}
data, err := connection.Accounts().AccountID("AccountID").Transactions().Idrange().Get(context.Background(), params)
if err != nil {
	log.Fatalf("%+v", err)
}

spew.Dump(data)
Output:

Example (IdrangeParams)
connection := &pitOrgan.Connection{
	Token:       "OANDA_API_TOKEN",
	Environemnt: pitOrgan.OandaPractice,
	Timeout:     time.Second * 10,
}
api := connection.Accounts().AccountID("accountID").Transactions()

data, err := api.Get(
	context.Background(),
	&pitOrgan.GetTransactionsParams{Type: []pitOrgan.TransactionFilterDefinition{
		pitOrgan.OrderTransaction,
		pitOrgan.CloseTransaction,
	}},
)
if err != nil {
	log.Fatalf("%+v", err)
}

params, err := data.IdrangeParams()
if err != nil {
	log.Fatalf("%+v", err)
}

for _, param := range params {
	data, err := api.Idrange().Get(context.Background(), param)
	if err != nil {
		log.Fatalf("%+v", err)
	}
	spew.Dump(data)
}
Output:

type ReceiverTransactionsSinceID

type ReceiverTransactionsSinceID struct {
	AccountID  string
	Connection *Connection
}

func (*ReceiverTransactionsSinceID) Get

GET /v3/accounts/{accountID}/transactions/sinceid

type ReceiverTransactionsStream

type ReceiverTransactionsStream struct {
	AccountID  string
	Connection *Connection
}

func (*ReceiverTransactionsStream) Get

GET /v3/accounts/{accountID}/transactions/stream

Get a stream of Transactions for an Account starting from when the request is made.

Example
connection := &pitOrgan.Connection{
	Token:       "OANDA_API_TOKEN",
	Environemnt: pitOrgan.OandaPractice,
	Timeout:     time.Second * 10,
}

ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
params := &pitOrgan.GetTransactionsStreamParams{
	BufferSize: 100,
}
chs, err := connection.Accounts().AccountID("AccountID").Transactions().Stream().Get(ctx, params)
if err != nil {
	log.Fatalf("%+v", err)
}
defer chs.Close()

for {
	select {
	case transaction := <-chs.TransactionCh:
		spew.Dump(transaction)
	}
}

if err := chs.Err(); err != nil {
	log.Fatalf("%+v", err)
}
Output:

type RequestIDDefinition

type RequestIDDefinition = string

type StopLossDetailsDefinition

type StopLossDetailsDefinition struct {
	Price            PriceValueDefinition        `json:"price,omitempty"`
	Distance         DecimalNumberDefinition     `json:"distance,omitempty"`
	TimeInForce      TimeInForceDefinition       `json:"timeInForce,omitempty"`
	GtdTime          DateTimeDefinition          `json:"gtdTime,omitempty"`
	ClientExtensions *ClientExtensionsDefinition `json:"clientExtensions,omitempty"`
	Guaranteed       *bool                       `json:"guaranteed,omitempty"`
}

type StopLossOrderDefinition

type StopLossOrderDefinition = OrderDefinition

type StopLossOrderRequestDefinition

type StopLossOrderRequestDefinition struct {
	Type             OrderTypeDefinition             `json:"type,omitempty"`
	TradeID          TradeIDDefinition               `json:"tradeID,omitempty"`
	ClientTradeID    string                          `json:"clientTradeID,omitempty"`
	Price            PriceValueDefinition            `json:"price,omitempty"`
	Distance         DecimalNumberDefinition         `json:"distance,omitempty"`
	TimeInForce      TimeInForceDefinition           `json:"timeInForce,omitempty"`
	GtdTime          DateTimeDefinition              `json:"gtdTime,omitempty"`
	TriggerCondition OrderTriggerConditionDefinition `json:"triggerCondition,omitempty"`
	Guaranteed       *bool                           `json:"guaranteed,omitempty"`
	ClientExtensions *ClientExtensionsDefinition     `json:"clientExtensions,omitempty"`
}

type StopOrderRequestDefinition

type StopOrderRequestDefinition struct {
	Type                   OrderTypeDefinition                `json:"type,omitempty"`
	Instrument             InstrumentNameDefinition           `json:"instrument,omitempty"`
	Units                  DecimalNumberDefinition            `json:"units,omitempty"`
	Price                  PriceValueDefinition               `json:"price,omitempty"`
	PriceBound             PriceValueDefinition               `json:"priceBound,omitempty"`
	TimeInForce            TimeInForceDefinition              `json:"timeInForce,omitempty"`
	GtdTime                DateTimeDefinition                 `json:"gtdTime,omitempty"`
	PositionFill           OrderPositionFillDefinition        `json:"positionFill,omitempty"`
	TriggerCondition       OrderTriggerConditionDefinition    `json:"triggerCondition,omitempty"`
	ClientExtensions       *ClientExtensionsDefinition        `json:"clientExtensions,omitempty"`
	TakeProfitOnFill       *TakeProfitDetailsDefinition       `json:"takeProfitOnFill,omitempty"`
	StopLossOnFill         *StopLossDetailsDefinition         `json:"stopLossOnFill,omitempty"`
	TrailingStopLossOnFill *TrailingStopLossDetailsDefinition `json:"trailingStopLossOnFill,omitempty"`
	TradeClientExtensions  *ClientExtensionsDefinition        `json:"tradeClientExtensions,omitempty"`
}

type StreamHeartbeatBroken

type StreamHeartbeatBroken struct {
	ErrorMessage string
}

func (*StreamHeartbeatBroken) Error

func (r *StreamHeartbeatBroken) Error() string

type TagDefinition

type TagDefinition struct {
	Type string `json:"type,omitempty"`
	Name string `json:"name,omitempty"`
}

type TakeProfitDetailsDefinition

type TakeProfitDetailsDefinition struct {
	Price            PriceValueDefinition        `json:"price,omitempty"`
	TimeInForce      TimeInForceDefinition       `json:"timeInForce,omitempty"`
	GtdTime          DateTimeDefinition          `json:"gtdTime,omitempty"`
	ClientExtensions *ClientExtensionsDefinition `json:"clientExtensions,omitempty"`
}

type TakeProfitOrderDefinition

type TakeProfitOrderDefinition = OrderDefinition

type TakeProfitOrderRequestDefinition

type TakeProfitOrderRequestDefinition struct {
	Type             OrderTypeDefinition             `json:"type,omitempty"`
	TradeID          TradeIDDefinition               `json:"tradeID,omitempty"`
	ClientTradeID    string                          `json:"clientTradeID,omitempty"`
	Price            PriceValueDefinition            `json:"price,omitempty"`
	TimeInForce      TimeInForceDefinition           `json:"timeInForce,omitempty"`
	GtdTime          DateTimeDefinition              `json:"gtdTime,omitempty"`
	TriggerCondition OrderTriggerConditionDefinition `json:"triggerCondition,omitempty"`
	ClientExtensions *ClientExtensionsDefinition     `json:"clientExtensions,omitempty"`
}

type TimeInForceDefinition

type TimeInForceDefinition = string

type TradeDefinition

type TradeDefinition struct {
	ID                    TradeIDDefinition                `json:"id,omitempty"`
	Instrument            InstrumentNameDefinition         `json:"instrument,omitempty"`
	Price                 PriceValueDefinition             `json:"price,omitempty"`
	OpenTime              DateTimeDefinition               `json:"openTime,omitempty"`
	State                 TradeStateDefinition             `json:"state,omitempty"`
	InitialUnits          DecimalNumberDefinition          `json:"initialUnits,omitempty"`
	InitialMarginRequired AccountUnitsDefinition           `json:"initialMarginRequired,omitempty"`
	CurrentUnits          DecimalNumberDefinition          `json:"currentUnits,omitempty"`
	RealizedPL            AccountUnitsDefinition           `json:"realizedPL,omitempty"`
	UnrealizedPL          AccountUnitsDefinition           `json:"unrealizedPL,omitempty"`
	MarginUsed            AccountUnitsDefinition           `json:"marginUsed,omitempty"`
	AverageClosePrice     PriceValueDefinition             `json:"averageClosePrice,omitempty"`
	ClosingTransactionIDs []TransactionIDDefinition        `json:"closingTransactionIDs,omitempty"`
	Financing             AccountUnitsDefinition           `json:"financing,omitempty"`
	Dividend              AccountUnitsDefinition           `json:"dividend,omitempty"`
	CloseTime             DateTimeDefinition               `json:"closeTime,omitempty"`
	ClientExtensions      *ClientExtensionsDefinition      `json:"clientExtensions,omitempty"`
	TakeProfitOrder       *TakeProfitOrderDefinition       `json:"takeProfitOrder,omitempty"`
	StopLossOrder         *StopLossOrderDefinition         `json:"stopLossOrder,omitempty"`
	TrailingStopLossOrder *TrailingStopLossOrderDefinition `json:"trailingStopLossOrder,omitempty"`

	DividendAdjustment Undefined `json:"dividendAdjustment,omitempty"`
}

type TradeIDDefinition

type TradeIDDefinition = string

type TradeOpenDefinition

type TradeOpenDefinition struct {
	TradeID                TradeIDDefinition           `json:"tradeID,omitempty"`
	Units                  DecimalNumberDefinition     `json:"units,omitempty"`
	Price                  PriceValueDefinition        `json:"price,omitempty"`
	GuaranteedExecutionFee AccountUnitsDefinition      `json:"guaranteedExecutionFee,omitempty"`
	ClientExtensions       *ClientExtensionsDefinition `json:"clientExtensions,omitempty"`
	HalfSpreadCost         AccountUnitsDefinition      `json:"halfSpreadCost,omitempty"`
	InitialMarginRequired  AccountUnitsDefinition      `json:"initialMarginRequired,omitempty"`
}

type TradePLDefinition

type TradePLDefinition = string

type TradeReduceDefinition

type TradeReduceDefinition struct {
	TradeID                TradeIDDefinition       `json:"tradeID,omitempty"`
	Units                  DecimalNumberDefinition `json:"units,omitempty"`
	Price                  PriceValueDefinition    `json:"price,omitempty"`
	RealizedPL             AccountUnitsDefinition  `json:"realizedPL,omitempty"`
	Financing              AccountUnitsDefinition  `json:"financing,omitempty"`
	GuaranteedExecutionFee AccountUnitsDefinition  `json:"guaranteedExecutionFee,omitempty"`
	HalfSpreadCost         AccountUnitsDefinition  `json:"halfSpreadCost,omitempty"`

	ClientTradeID Undefined `json:"clientTradeID,omitempty"`
}

type TradeSpecifierDefinition

type TradeSpecifierDefinition = string

type TradeStateDefinition

type TradeStateDefinition = string

type TradeStateFilterDefinition

type TradeStateFilterDefinition = string

type TradeSummaryDefinition

type TradeSummaryDefinition struct {
	ID                      TradeIDDefinition           `json:"id,omitempty"`
	Instrument              InstrumentNameDefinition    `json:"instrument,omitempty"`
	Price                   PriceValueDefinition        `json:"price,omitempty"`
	OpenTime                DateTimeDefinition          `json:"openTime,omitempty"`
	State                   TradeStateDefinition        `json:"state,omitempty"`
	InitialUnits            DecimalNumberDefinition     `json:"initialUnits,omitempty"`
	InitialMarginRequired   AccountUnitsDefinition      `json:"initialMarginRequired,omitempty"`
	CurrentUnits            DecimalNumberDefinition     `json:"currentUnits,omitempty"`
	RealizedPL              AccountUnitsDefinition      `json:"realizedPL,omitempty"`
	UnrealizedPL            AccountUnitsDefinition      `json:"unrealizedPL,omitempty"`
	MarginUsed              AccountUnitsDefinition      `json:"marginUsed,omitempty"`
	AverageClosePrice       PriceValueDefinition        `json:"averageClosePrice,omitempty"`
	ClosingTransactionIDs   []TransactionIDDefinition   `json:"closingTransactionIDs,omitempty"`
	Financing               AccountUnitsDefinition      `json:"financing,omitempty"`
	Dividend                AccountUnitsDefinition      `json:"dividend,omitempty"`
	CloseTime               DateTimeDefinition          `json:"closeTime,omitempty"`
	ClientExtensions        *ClientExtensionsDefinition `json:"clientExtensions,omitempty"`
	TakeProfitOrderID       string                      `json:"takeProfitOrderID,omitempty"`
	StopLossOrderID         string                      `json:"stopLossOrderID,omitempty"`
	TrailingStopLossOrderID string                      `json:"trailingStopLossOrderID,omitempty"`

	DividendAdjustment Undefined `json:"dividendAdjustment,omitempty"`
}

type TrailingStopLossDetailsDefinition

type TrailingStopLossDetailsDefinition struct {
	Distance         DecimalNumberDefinition     `json:"distance,omitempty"`
	TimeInForce      TimeInForceDefinition       `json:"timeInForce,omitempty"`
	GtdTime          DateTimeDefinition          `json:"gtdTime,omitempty"`
	ClientExtensions *ClientExtensionsDefinition `json:"clientExtensions,omitempty"`
}

type TrailingStopLossOrderDefinition

type TrailingStopLossOrderDefinition = OrderDefinition

type TrailingStopLossOrderRequestDefinition

type TrailingStopLossOrderRequestDefinition struct {
	Type             OrderTypeDefinition             `json:"type,omitempty"`
	TradeID          TradeIDDefinition               `json:"tradeID,omitempty"`
	ClientTradeID    string                          `json:"clientTradeID,omitempty"`
	Distance         DecimalNumberDefinition         `json:"distance,omitempty"`
	TimeInForce      TimeInForceDefinition           `json:"timeInForce,omitempty"`
	GtdTime          DateTimeDefinition              `json:"gtdTime,omitempty"`
	TriggerCondition OrderTriggerConditionDefinition `json:"triggerCondition,omitempty"`
	ClientExtensions *ClientExtensionsDefinition     `json:"clientExtensions,omitempty"`
}

type TransactionDefinition

type TransactionDefinition struct {
	AccountBalance                AccountUnitsDefinition                  `json:"accountBalance,omitempty"`
	AccountFinancingMode          AccountFinancingModeDefinition          `json:"accountFinancingMode,omitempty"`
	AccountID                     AccountIDDefinition                     `json:"accountID,omitempty"`
	AccountNumber                 *int                                    `json:"accountNumber,omitempty"`
	AccountUserID                 *int                                    `json:"accountUserID,omitempty"`
	Alias                         string                                  `json:"alias,omitempty"`
	Amount                        AccountUnitsDefinition                  `json:"amount,omitempty"`
	BatchID                       TransactionIDDefinition                 `json:"batchID,omitempty"`
	CancellingTransactionID       TransactionIDDefinition                 `json:"cancellingTransactionID,omitempty"`
	ClientExtensions              *ClientExtensionsDefinition             `json:"clientExtensions,omitempty"`
	ClientExtensionsModify        *ClientExtensionsDefinition             `json:"clientExtensionsModify,omitempty"`
	ClientOrderID                 string                                  `json:"clientOrderID,omitempty"`
	ClientTradeID                 string                                  `json:"clientTradeID,omitempty"`
	Comment                       string                                  `json:"comment,omitempty"`
	Commission                    AccountUnitsDefinition                  `json:"commission,omitempty"`
	DelayedTradeClose             *MarketOrderDelayedTradeCloseDefinition `json:"delayedTradeClose,omitempty"`
	Distance                      DecimalNumberDefinition                 `json:"distance,omitempty"`
	DivisionID                    *int                                    `json:"divisionID,omitempty"`
	ExtensionNumber               *int                                    `json:"extensionNumber,omitempty"`
	Financing                     AccountUnitsDefinition                  `json:"financing,omitempty"`
	FullPrice                     *ClientPriceDefinition                  `json:"fullPrice,omitempty"`
	FundingReason                 FundingReasonDefinition                 `json:"fundingReason,omitempty"`
	GainQuoteHomeConversionFactor DecimalNumberDefinition                 `json:"gainQuoteHomeConversionFactor,omitempty"`
	GtdTime                       DateTimeDefinition                      `json:"gtdTime,omitempty"`
	Guaranteed                    Deprecated                              `json:"guaranteed,omitempty"`
	GuaranteedExecutionFee        AccountUnitsDefinition                  `json:"guaranteedExecutionFee,omitempty"`
	GuaranteedExecutionPremium    Deprecated                              `json:"guaranteedExecutionPremium,omitempty"`
	HalfSpreadCost                AccountUnitsDefinition                  `json:"halfSpreadCost,omitempty"`
	HomeCurrency                  CurrencyDefinition                      `json:"homeCurrency,omitempty"`
	ID                            TransactionIDDefinition                 `json:"id,omitempty"`
	Instrument                    InstrumentNameDefinition                `json:"instrument,omitempty"`
	IntendedReplacesOrderID       string                                  `json:"intendedReplacesOrderID,omitempty"`
	LongPositionCloseout          *MarketOrderPositionCloseoutDefinition  `json:"longPositionCloseout,omitempty"`
	LossQuoteHomeConversionFactor DecimalNumberDefinition                 `json:"lossQuoteHomeConversionFactor,omitempty"`
	MarginCloseout                *MarketOrderMarginCloseoutDefinition    `json:"marginCloseout,omitempty"`
	MarginRate                    DecimalNumberDefinition                 `json:"marginRate,omitempty"`
	OrderFillTransactionID        TransactionIDDefinition                 `json:"orderFillTransactionID,omitempty"`
	OrderID                       string                                  `json:"orderID,omitempty"`
	PL                            AccountUnitsDefinition                  `json:"pl,omitempty"`
	PositionFill                  OrderPositionFillDefinition             `json:"positionFill,omitempty"`
	PositionFinancings            []*PositionFinancingDefinition          `json:"positionFinancings,omitempty"`
	Price                         PriceValueDefinition                    `json:"price,omitempty"`
	PriceBound                    PriceValueDefinition                    `json:"priceBound,omitempty"`
	Reason                        string                                  `json:"reason,omitempty"`
	RejectReason                  TransactionRejectReasonDefinition       `json:"rejectReason,omitempty"`
	ReplacedByOrderID             string                                  `json:"replacedByOrderID,omitempty"`
	ReplacesOrderID               string                                  `json:"replacesOrderID,omitempty"`
	RequestID                     RequestIDDefinition                     `json:"requestID,omitempty"`
	ShortPositionCloseout         *MarketOrderPositionCloseoutDefinition  `json:"shortPositionCloseout,omitempty"`
	SiteID                        *int                                    `json:"siteID,omitempty"`
	StopLossOnFill                *StopLossDetailsDefinition              `json:"stopLossOnFill,omitempty"`
	TakeProfitOnFill              *TakeProfitDetailsDefinition            `json:"takeProfitOnFill,omitempty"`
	Time                          DateTimeDefinition                      `json:"time,omitempty"`
	TimeInForce                   TimeInForceDefinition                   `json:"timeInForce,omitempty"`
	TradeClientExtensions         *ClientExtensionsDefinition             `json:"tradeClientExtensions,omitempty"`
	TradeClientExtensionsModify   *ClientExtensionsDefinition             `json:"tradeClientExtensionsModify,omitempty"`
	TradeClose                    *MarketOrderTradeCloseDefinition        `json:"tradeClose,omitempty"`
	TradeID                       TradeIDDefinition                       `json:"tradeID,omitempty"`
	TradeIDs                      TradeIDDefinition                       `json:"tradeIDs,omitempty"`
	TradeOpened                   *TradeOpenDefinition                    `json:"tradeOpened,omitempty"`
	TradeReduced                  *TradeReduceDefinition                  `json:"tradeReduced,omitempty"`
	TradeState                    string                                  `json:"tradeState,omitempty"`
	TradesClosed                  []*TradeReduceDefinition                `json:"tradesClosed,omitempty"`
	TrailingStopLossOnFill        *TrailingStopLossDetailsDefinition      `json:"trailingStopLossOnFill,omitempty"`
	TriggerCondition              OrderTriggerConditionDefinition         `json:"triggerCondition,omitempty"`
	Type                          TransactionTypeDefinition               `json:"type,omitempty"`
	Units                         DecimalNumberDefinition                 `json:"units,omitempty"`
	UserID                        *int                                    `json:"userID,omitempty"`

	RequestedUnits          Undefined `json:"requestedUnits,omitempty"`
	FullVWAP                Undefined `json:"fullVWAP,omitempty"`
	PartialFill             Undefined `json:"partialFill,omitempty"`
	TradeCloseTransactionID Undefined `json:"tradeCloseTransactionID,omitempty"`
	ClosedTradeID           Undefined `json:"closedTradeID,omitempty"`
}

type TransactionFilterDefinition

type TransactionFilterDefinition = string
const (
	OrderTransaction                             TransactionFilterDefinition = "ORDER"                                 //	Order-related Transactions. These are the Transactions that create, cancel, fill or trigger Orders
	FundingTransaction                           TransactionFilterDefinition = "FUNDING"                               //	Funding-related Transactions
	AdminTransaction                             TransactionFilterDefinition = "ADMIN"                                 //	Administrative Transactions
	CreateTransaction                            TransactionFilterDefinition = "CREATE"                                //	Account Create Transaction
	CloseTransaction                             TransactionFilterDefinition = "CLOSE"                                 //	Account Close Transaction
	ReopenTransaction                            TransactionFilterDefinition = "REOPEN"                                //	Account Reopen Transaction
	ClientConfigureTransaction                   TransactionFilterDefinition = "CLIENT_CONFIGURE"                      //	Client Configuration Transaction
	ClientConfigureRejectTransaction             TransactionFilterDefinition = "CLIENT_CONFIGURE_REJECT"               //	Client Configuration Reject Transaction
	TransferFundsTransaction                     TransactionFilterDefinition = "TRANSFER_FUNDS"                        //	Transfer Funds Transaction
	TransferFundsRejectTransaction               TransactionFilterDefinition = "TRANSFER_FUNDS_REJECT"                 //	Transfer Funds Reject Transaction
	MarketOrderTransaction                       TransactionFilterDefinition = "MARKET_ORDER"                          //	Market Order Transaction
	MarketOrderRejectTransaction                 TransactionFilterDefinition = "MARKET_ORDER_REJECT"                   //	Market Order Reject Transaction
	LimitOrderTransaction                        TransactionFilterDefinition = "LIMIT_ORDER"                           //	Limit Order Transaction
	LimitOrderRejectTransaction                  TransactionFilterDefinition = "LIMIT_ORDER_REJECT"                    //	Limit Order Reject Transaction
	StopOrderTransaction                         TransactionFilterDefinition = "STOP_ORDER"                            //	Stop Order Transaction
	StopOrderRejectTransaction                   TransactionFilterDefinition = "STOP_ORDER_REJECT"                     //	Stop Order Reject Transaction
	MarketIfTouchedOrderTransaction              TransactionFilterDefinition = "MARKET_IF_TOUCHED_ORDER"               //	Market if Touched Order Transaction
	MarketIfTouchedOrderRejectTransaction        TransactionFilterDefinition = "MARKET_IF_TOUCHED_ORDER_REJECT"        //	Market if Touched Order Reject Transaction
	TakeProfitOrderTransaction                   TransactionFilterDefinition = "TAKE_PROFIT_ORDER"                     //	Take Profit Order Transaction
	TakeProfitOrderRejectTransaction             TransactionFilterDefinition = "TAKE_PROFIT_ORDER_REJECT"              //	Take Profit Order Reject Transaction
	StopLossOrderTransaction                     TransactionFilterDefinition = "STOP_LOSS_ORDER"                       //	Stop Loss Order Transaction
	StopLossOrderRejectTransaction               TransactionFilterDefinition = "STOP_LOSS_ORDER_REJECT"                //	Stop Loss Order Reject Transaction
	TrailingStopLossOrderTransaction             TransactionFilterDefinition = "TRAILING_STOP_LOSS_ORDER"              //	Trailing Stop Loss Order Transaction
	TrailingStopLossOrderRejectTransaction       TransactionFilterDefinition = "TRAILING_STOP_LOSS_ORDER_REJECT"       //	Trailing Stop Loss Order Reject Transaction
	OneCancelsAllOrderTransaction                TransactionFilterDefinition = "ONE_CANCELS_ALL_ORDER"                 //	One Cancels All Order Transaction
	OneCancelsAllOrderRejectTransaction          TransactionFilterDefinition = "ONE_CANCELS_ALL_ORDER_REJECT"          //	One Cancels All Order Reject Transaction
	OneCancelsAllOrderTriggeredTransaction       TransactionFilterDefinition = "ONE_CANCELS_ALL_ORDER_TRIGGERED"       //	One Cancels All Order Trigger Transaction
	OrderFillTransaction                         TransactionFilterDefinition = "ORDER_FILL"                            //	Order Fill Transaction
	OrderCancelTransaction                       TransactionFilterDefinition = "ORDER_CANCEL"                          //	Order Cancel Transaction
	OrderCancelRejectTransaction                 TransactionFilterDefinition = "ORDER_CANCEL_REJECT"                   //	Order Cancel Reject Transaction
	OrderClientExtensionsModifyTransaction       TransactionFilterDefinition = "ORDER_CLIENT_EXTENSIONS_MODIFY"        //	Order Client Extensions Modify Transaction
	OrderClientExtensionsModifyRejectTransaction TransactionFilterDefinition = "ORDER_CLIENT_EXTENSIONS_MODIFY_REJECT" //	Order Client Extensions Modify Reject Transaction
	TradeClientExtensionsModifyTransaction       TransactionFilterDefinition = "TRADE_CLIENT_EXTENSIONS_MODIFY"        //	Trade Client Extensions Modify Transaction
	TradeClientExtensionsModifyRejectTransaction TransactionFilterDefinition = "TRADE_CLIENT_EXTENSIONS_MODIFY_REJECT" //	Trade Client Extensions Modify Reject Transaction
	MarginCallEnterTransaction                   TransactionFilterDefinition = "MARGIN_CALL_ENTER"                     //	Margin Call Enter Transaction
	MarginCallExtendTransaction                  TransactionFilterDefinition = "MARGIN_CALL_EXTEND"                    //	Margin Call Extend Transaction
	MarginCallExitTransaction                    TransactionFilterDefinition = "MARGIN_CALL_EXIT"                      //	Margin Call Exit Transaction
	DelayedTradeClosureTransaction               TransactionFilterDefinition = "DELAYED_TRADE_CLOSURE"                 //	Delayed Trade Closure Transaction
	DailyFinancingTransaction                    TransactionFilterDefinition = "DAILY_FINANCING"                       //	Daily Financing Transaction
	ResetResettablePLTransaction                 TransactionFilterDefinition = "RESET_RESETTABLE_PL"                   //	Reset Resettable PL Transaction
)

type TransactionHeartbeatDefinition

type TransactionHeartbeatDefinition struct {
	Type              string                  `json:"type,omitempty"`
	LastTransactionID TransactionIDDefinition `json:"lastTransactionID,omitempty"`
	Time              DateTimeDefinition      `json:"time,omitempty"`
}

type TransactionIDDefinition

type TransactionIDDefinition = string

type TransactionRejectReasonDefinition

type TransactionRejectReasonDefinition = string

type TransactionTypeDefinition

type TransactionTypeDefinition = string

type TransactionsChannels

type TransactionsChannels struct {
	TransactionCh <-chan *TransactionDefinition
	// contains filtered or unexported fields
}

func (*TransactionsChannels) Close

func (ch *TransactionsChannels) Close()

func (*TransactionsChannels) Err

func (ch *TransactionsChannels) Err() error

type UnauthorizedError

type UnauthorizedError struct {
	ErrorMessage string `json:"errorMessage"`
}

func (*UnauthorizedError) Error

func (r *UnauthorizedError) Error() string

type Undefined

type Undefined interface{}

type UnitsAvailableDefinition

type UnitsAvailableDefinition struct {
	Default     *UnitsAvailableDetailsDefinition `json:"default,omitempty"`
	ReduceFirst *UnitsAvailableDetailsDefinition `json:"reduceFirst,omitempty"`
	ReduceOnly  *UnitsAvailableDetailsDefinition `json:"reduceOnly,omitempty"`
	OpenOnly    *UnitsAvailableDetailsDefinition `json:"openOnly,omitempty"`
}

type UnitsAvailableDetailsDefinition

type UnitsAvailableDetailsDefinition struct {
	Long  DecimalNumberDefinition `json:"long,omitempty"`
	Short DecimalNumberDefinition `json:"short,omitempty"`
}

type WeeklyAlignmentDefinition

type WeeklyAlignmentDefinition = string
const (
	Monday    WeeklyAlignmentDefinition = "Monday"
	Tuesday   WeeklyAlignmentDefinition = "Tuesday"
	Wednesday WeeklyAlignmentDefinition = "Wednesday"
	Thursday  WeeklyAlignmentDefinition = "Thursday"
	Friday    WeeklyAlignmentDefinition = "Friday"
	Saturday  WeeklyAlignmentDefinition = "Saturday"
	Sunday    WeeklyAlignmentDefinition = "Sunday"
)

Jump to

Keyboard shortcuts

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