-
Notifications
You must be signed in to change notification settings - Fork 0
/
mt5_orders_get.py
35 lines (29 loc) · 1.27 KB
/
mt5_orders_get.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import MetaTrader5 as mt5
import pandas as pd
from main_functions import *
# Inicialização ======================================
intialize_mt5()
symbol = set_symbol("ITUB4")
# exibimos informações sobre ordens ativas do símbolo ITUB4
orders = mt5.orders_get(symbol=symbol)
if orders is None:
print(f"Sem orders em {symbol}, error code={mt5.last_error()}")
else:
print(f"Total orders em {symbol}: {len(orders)}")
# exibimos todas as ordens ativas
for order in orders:
print(order)
# definimos o grupo de pesquisa
group_search = "*USD*"
# obtemos uma lista de ordens com base em símbolos cujos nomes contenham "*BRL*"
gbp_orders=mt5.orders_get(group=group_search)
if gbp_orders is None:
print(f"No orders with group={group_search}, error code={mt5.last_error()}")
else:
print(f"orders_get(group={group_search})={len(gbp_orders)}")
# exibimos essas posições como uma tabela usando pandas.DataFrame
df=pd.DataFrame(list(gbp_orders),columns=gbp_orders[0]._asdict().keys())
df.drop(['time_done', 'time_done_msc', 'position_id', 'position_by_id', 'reason', 'volume_initial', 'price_stoplimit'], axis=1, inplace=True)
df['time_setup'] = pd.to_datetime(df['time_setup'], unit='s')
# concluímos a conexão ao terminal MetaTrader 5
mt5.shutdown()