oanda_v20_openapi/models/
position.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Position {
17 #[serde(rename = "instrument", skip_serializing_if = "Option::is_none")]
18 pub instrument: Option<models::InstrumentName>,
19 #[serde(rename = "pl", skip_serializing_if = "Option::is_none")]
21 pub pl: Option<f64>,
22 #[serde(rename = "unrealizedPL", skip_serializing_if = "Option::is_none")]
24 pub unrealized_pl: Option<f64>,
25 #[serde(rename = "marginUsed", skip_serializing_if = "Option::is_none")]
27 pub margin_used: Option<f64>,
28 #[serde(rename = "resettablePL", skip_serializing_if = "Option::is_none")]
30 pub resettable_pl: Option<f64>,
31 #[serde(rename = "financing", skip_serializing_if = "Option::is_none")]
33 pub financing: Option<f64>,
34 #[serde(rename = "commission", skip_serializing_if = "Option::is_none")]
36 pub commission: Option<f64>,
37 #[serde(rename = "guaranteedExecutionFees", skip_serializing_if = "Option::is_none")]
39 pub guaranteed_execution_fees: Option<f64>,
40 #[serde(rename = "long", skip_serializing_if = "Option::is_none")]
41 pub long: Option<Box<models::PositionSide>>,
42 #[serde(rename = "short", skip_serializing_if = "Option::is_none")]
43 pub short: Option<Box<models::PositionSide>>,
44}
45
46impl Position {
47 pub fn new() -> Position {
49 Position {
50 instrument: None,
51 pl: None,
52 unrealized_pl: None,
53 margin_used: None,
54 resettable_pl: None,
55 financing: None,
56 commission: None,
57 guaranteed_execution_fees: None,
58 long: None,
59 short: None,
60 }
61 }
62}
63