Packages
tai
0.0.62
0.0.75
0.0.74
0.0.73
0.0.72
0.0.71
0.0.70
0.0.69
0.0.68
0.0.67
0.0.66
0.0.65
0.0.64
0.0.63
0.0.62
0.0.61
0.0.60
0.0.59
0.0.58
0.0.57
0.0.56
0.0.55
0.0.54
0.0.53
0.0.52
0.0.51
0.0.50
0.0.49
0.0.48
0.0.47
0.0.46
0.0.45
0.0.44
0.0.43
0.0.42
0.0.41
0.0.40
0.0.39
0.0.38
0.0.37
0.0.36
0.0.35
0.0.34
0.0.33
0.0.32
0.0.31
0.0.30
0.0.29
0.0.28
0.0.27
0.0.26
0.0.25
0.0.24
0.0.23
0.0.22
0.0.21
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
A composable, real time, market data and trade execution toolkit
Current section
Files
Jump to
Current section
Files
lib/tai/advisors/spec.ex
defmodule Tai.Advisors.Spec do
@type mod :: atom
@type group_id :: Tai.AdvisorGroup.id()
@type advisor_id :: Tai.Advisor.id()
@type product :: Tai.Venues.Product.t()
@type run_store :: Tai.Advisor.run_store()
@type trades :: list
@type config :: map
@type spec_opts :: [
group_id: group_id,
advisor_id: advisor_id,
products: [product],
config: config,
store: run_store,
trades: trades
]
@type t :: %Tai.Advisors.Spec{
mod: mod,
start_on_boot: boolean,
restart: Tai.AdvisorGroup.restart(),
shutdown: Tai.AdvisorGroup.shutdown(),
group_id: group_id,
advisor_id: advisor_id,
products: [product],
config: config,
run_store: run_store | nil,
trades: trades | nil
}
@enforce_keys ~w[mod start_on_boot restart shutdown group_id advisor_id products config]a
defstruct ~w[mod start_on_boot restart shutdown group_id advisor_id products config run_store trades]a
defimpl Stored.Item do
@type spec :: Tai.Advisors.Spec.t()
@type group_id :: Tai.AdvisorGroup.id()
@type advisor_id :: Tai.Advisor.id()
@spec key(spec) :: {group_id, advisor_id}
def key(spec), do: {spec.group_id, spec.advisor_id}
end
end