lib/xtb_client/messages/margin_trade.ex
defmodule XtbClient.Messages.MarginTrade do
@moduledoc """
Info about calculated margin in account currency.
## Properties
- `margin` value of margin.
## Handled Api methods
- `getMarginTrade`
"""
@type t :: %__MODULE__{
margin: float()
}
@enforce_keys [:margin]
@derive Jason.Encoder
defstruct margin: 0.0
def new(%{"margin" => margin}) when is_number(margin) do
%__MODULE__{
margin: margin
}
end
def match(method, data) when method in ["getMarginTrade"] do
{:ok, __MODULE__.new(data)}
end
def match(_method, _data) do
{:no_match}
end
end