Skip to content

Commit 43428d3

Browse files
committed
Examples: Add get-trading-hours, get-chart-range-request and get-chart-last-request
1 parent ba7d3b4 commit 43428d3

File tree

3 files changed

+596
-0
lines changed

3 files changed

+596
-0
lines changed

examples/get-chart-last-request.ipynb

+277
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,277 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "code",
5+
"execution_count": 1,
6+
"metadata": {},
7+
"outputs": [],
8+
"source": [
9+
"import json\n",
10+
"with open(\"../credentials.json\", \"r\") as f:\n",
11+
" CREDENTIALS = json.load(f)"
12+
]
13+
},
14+
{
15+
"cell_type": "code",
16+
"execution_count": 2,
17+
"metadata": {},
18+
"outputs": [],
19+
"source": [
20+
"from datetime import datetime as dt\n",
21+
"START = round(dt.today().replace(month=1, day=1).timestamp() * 1000) # 1st January of the current year\n",
22+
"END = round(dt.today().timestamp() * 1000) # Today (current date)"
23+
]
24+
},
25+
{
26+
"cell_type": "code",
27+
"execution_count": 5,
28+
"metadata": {},
29+
"outputs": [],
30+
"source": [
31+
"import xapi\n",
32+
"x = await xapi.connect(**CREDENTIALS)\n",
33+
"result = await x.socket.getChartLastRequest(\"EURUSD\", START, xapi.PeriodCode.PERIOD_D1)\n",
34+
"if result[\"status\"] == True:\n",
35+
" rateInfos = result[\"returnData\"]['rateInfos']"
36+
]
37+
},
38+
{
39+
"cell_type": "code",
40+
"execution_count": 6,
41+
"metadata": {},
42+
"outputs": [],
43+
"source": [
44+
"import pandas as pd\n",
45+
"df = pd.DataFrame(rateInfos)\n",
46+
"df['open'] /= 1000\n",
47+
"for column in ['close', 'high', 'low']:\n",
48+
" df[column] = df['open'] + df[column] / 1000"
49+
]
50+
},
51+
{
52+
"cell_type": "code",
53+
"execution_count": 7,
54+
"metadata": {},
55+
"outputs": [
56+
{
57+
"data": {
58+
"text/html": [
59+
"<div>\n",
60+
"<style scoped>\n",
61+
" .dataframe tbody tr th:only-of-type {\n",
62+
" vertical-align: middle;\n",
63+
" }\n",
64+
"\n",
65+
" .dataframe tbody tr th {\n",
66+
" vertical-align: top;\n",
67+
" }\n",
68+
"\n",
69+
" .dataframe thead th {\n",
70+
" text-align: right;\n",
71+
" }\n",
72+
"</style>\n",
73+
"<table border=\"1\" class=\"dataframe\">\n",
74+
" <thead>\n",
75+
" <tr style=\"text-align: right;\">\n",
76+
" <th></th>\n",
77+
" <th>ctm</th>\n",
78+
" <th>ctmString</th>\n",
79+
" <th>open</th>\n",
80+
" <th>close</th>\n",
81+
" <th>high</th>\n",
82+
" <th>low</th>\n",
83+
" <th>vol</th>\n",
84+
" </tr>\n",
85+
" </thead>\n",
86+
" <tbody>\n",
87+
" <tr>\n",
88+
" <th>0</th>\n",
89+
" <td>1704150000000</td>\n",
90+
" <td>Jan 2, 2024, 12:00:00 AM</td>\n",
91+
" <td>110.443</td>\n",
92+
" <td>109.406</td>\n",
93+
" <td>110.443</td>\n",
94+
" <td>109.380</td>\n",
95+
" <td>607082.0</td>\n",
96+
" </tr>\n",
97+
" <tr>\n",
98+
" <th>1</th>\n",
99+
" <td>1704236400000</td>\n",
100+
" <td>Jan 3, 2024, 12:00:00 AM</td>\n",
101+
" <td>109.411</td>\n",
102+
" <td>109.209</td>\n",
103+
" <td>109.650</td>\n",
104+
" <td>108.926</td>\n",
105+
" <td>630593.0</td>\n",
106+
" </tr>\n",
107+
" <tr>\n",
108+
" <th>2</th>\n",
109+
" <td>1704322800000</td>\n",
110+
" <td>Jan 4, 2024, 12:00:00 AM</td>\n",
111+
" <td>109.209</td>\n",
112+
" <td>109.467</td>\n",
113+
" <td>109.717</td>\n",
114+
" <td>109.158</td>\n",
115+
" <td>564061.0</td>\n",
116+
" </tr>\n",
117+
" <tr>\n",
118+
" <th>3</th>\n",
119+
" <td>1704409200000</td>\n",
120+
" <td>Jan 5, 2024, 12:00:00 AM</td>\n",
121+
" <td>109.470</td>\n",
122+
" <td>109.387</td>\n",
123+
" <td>109.979</td>\n",
124+
" <td>108.763</td>\n",
125+
" <td>749938.0</td>\n",
126+
" </tr>\n",
127+
" <tr>\n",
128+
" <th>4</th>\n",
129+
" <td>1704582000000</td>\n",
130+
" <td>Jan 7, 2024, 12:00:00 AM</td>\n",
131+
" <td>109.345</td>\n",
132+
" <td>109.440</td>\n",
133+
" <td>109.447</td>\n",
134+
" <td>109.335</td>\n",
135+
" <td>0.0</td>\n",
136+
" </tr>\n",
137+
" <tr>\n",
138+
" <th>...</th>\n",
139+
" <td>...</td>\n",
140+
" <td>...</td>\n",
141+
" <td>...</td>\n",
142+
" <td>...</td>\n",
143+
" <td>...</td>\n",
144+
" <td>...</td>\n",
145+
" <td>...</td>\n",
146+
" </tr>\n",
147+
" <tr>\n",
148+
" <th>208</th>\n",
149+
" <td>1725141600000</td>\n",
150+
" <td>Sep 1, 2024, 12:00:00 AM</td>\n",
151+
" <td>110.407</td>\n",
152+
" <td>110.478</td>\n",
153+
" <td>110.494</td>\n",
154+
" <td>110.402</td>\n",
155+
" <td>0.0</td>\n",
156+
" </tr>\n",
157+
" <tr>\n",
158+
" <th>209</th>\n",
159+
" <td>1725228000000</td>\n",
160+
" <td>Sep 2, 2024, 12:00:00 AM</td>\n",
161+
" <td>110.477</td>\n",
162+
" <td>110.699</td>\n",
163+
" <td>110.771</td>\n",
164+
" <td>110.416</td>\n",
165+
" <td>220155.0</td>\n",
166+
" </tr>\n",
167+
" <tr>\n",
168+
" <th>210</th>\n",
169+
" <td>1725314400000</td>\n",
170+
" <td>Sep 3, 2024, 12:00:00 AM</td>\n",
171+
" <td>110.699</td>\n",
172+
" <td>110.447</td>\n",
173+
" <td>110.724</td>\n",
174+
" <td>110.260</td>\n",
175+
" <td>484804.0</td>\n",
176+
" </tr>\n",
177+
" <tr>\n",
178+
" <th>211</th>\n",
179+
" <td>1725400800000</td>\n",
180+
" <td>Sep 4, 2024, 12:00:00 AM</td>\n",
181+
" <td>110.450</td>\n",
182+
" <td>110.824</td>\n",
183+
" <td>110.949</td>\n",
184+
" <td>110.389</td>\n",
185+
" <td>472459.0</td>\n",
186+
" </tr>\n",
187+
" <tr>\n",
188+
" <th>212</th>\n",
189+
" <td>1725487200000</td>\n",
190+
" <td>Sep 5, 2024, 12:00:00 AM</td>\n",
191+
" <td>110.833</td>\n",
192+
" <td>110.806</td>\n",
193+
" <td>111.194</td>\n",
194+
" <td>110.744</td>\n",
195+
" <td>362370.0</td>\n",
196+
" </tr>\n",
197+
" </tbody>\n",
198+
"</table>\n",
199+
"<p>213 rows × 7 columns</p>\n",
200+
"</div>"
201+
],
202+
"text/plain": [
203+
" ctm ctmString open close high \\\n",
204+
"0 1704150000000 Jan 2, 2024, 12:00:00 AM 110.443 109.406 110.443 \n",
205+
"1 1704236400000 Jan 3, 2024, 12:00:00 AM 109.411 109.209 109.650 \n",
206+
"2 1704322800000 Jan 4, 2024, 12:00:00 AM 109.209 109.467 109.717 \n",
207+
"3 1704409200000 Jan 5, 2024, 12:00:00 AM 109.470 109.387 109.979 \n",
208+
"4 1704582000000 Jan 7, 2024, 12:00:00 AM 109.345 109.440 109.447 \n",
209+
".. ... ... ... ... ... \n",
210+
"208 1725141600000 Sep 1, 2024, 12:00:00 AM 110.407 110.478 110.494 \n",
211+
"209 1725228000000 Sep 2, 2024, 12:00:00 AM 110.477 110.699 110.771 \n",
212+
"210 1725314400000 Sep 3, 2024, 12:00:00 AM 110.699 110.447 110.724 \n",
213+
"211 1725400800000 Sep 4, 2024, 12:00:00 AM 110.450 110.824 110.949 \n",
214+
"212 1725487200000 Sep 5, 2024, 12:00:00 AM 110.833 110.806 111.194 \n",
215+
"\n",
216+
" low vol \n",
217+
"0 109.380 607082.0 \n",
218+
"1 108.926 630593.0 \n",
219+
"2 109.158 564061.0 \n",
220+
"3 108.763 749938.0 \n",
221+
"4 109.335 0.0 \n",
222+
".. ... ... \n",
223+
"208 110.402 0.0 \n",
224+
"209 110.416 220155.0 \n",
225+
"210 110.260 484804.0 \n",
226+
"211 110.389 472459.0 \n",
227+
"212 110.744 362370.0 \n",
228+
"\n",
229+
"[213 rows x 7 columns]"
230+
]
231+
},
232+
"execution_count": 7,
233+
"metadata": {},
234+
"output_type": "execute_result"
235+
}
236+
],
237+
"source": [
238+
"df"
239+
]
240+
},
241+
{
242+
"cell_type": "code",
243+
"execution_count": null,
244+
"metadata": {},
245+
"outputs": [],
246+
"source": []
247+
},
248+
{
249+
"cell_type": "code",
250+
"execution_count": null,
251+
"metadata": {},
252+
"outputs": [],
253+
"source": []
254+
}
255+
],
256+
"metadata": {
257+
"kernelspec": {
258+
"display_name": ".venv",
259+
"language": "python",
260+
"name": "python3"
261+
},
262+
"language_info": {
263+
"codemirror_mode": {
264+
"name": "ipython",
265+
"version": 3
266+
},
267+
"file_extension": ".py",
268+
"mimetype": "text/x-python",
269+
"name": "python",
270+
"nbconvert_exporter": "python",
271+
"pygments_lexer": "ipython3",
272+
"version": "3.8.10"
273+
}
274+
},
275+
"nbformat": 4,
276+
"nbformat_minor": 2
277+
}

0 commit comments

Comments
 (0)