Add files via upload
This commit is contained in:
+40
@@ -0,0 +1,40 @@
|
||||
import pytz
|
||||
from datetime import datetime
|
||||
import MetaTrader5 as mt5
|
||||
import pandas as pd
|
||||
pd.set_option('display.max_columns', 500) # number of columns to be displayed
|
||||
pd.set_option('display.width', 1500) # max table width to display
|
||||
# import pytz module for working with time zone
|
||||
|
||||
# establish connection to MetaTrader 5 terminal
|
||||
mt5.initialize()
|
||||
# file name to export to csv
|
||||
file_name = 'EURUSD_H4_20220103_20220203.csv'
|
||||
# set time zone to UTC
|
||||
timezone = pytz.timezone("Etc/GMT-2")
|
||||
# create 'datetime' objects in UTC time zone to avoid the implementation of a local time zone offset
|
||||
utc_from = datetime(2022, 1, 3, tzinfo=timezone)
|
||||
utc_to = datetime(2022, 2, 3, tzinfo=timezone)
|
||||
# get bars from EURUSD H4 within the interval of 2021.05.03 00:00 - 2022.01.03 00:00 in GMT-2 time zone
|
||||
rates = mt5.copy_rates_range("EURUSD", mt5.TIMEFRAME_H4, utc_from, utc_to)
|
||||
|
||||
# shut down connection to the MetaTrader 5 terminal
|
||||
mt5.shutdown()
|
||||
|
||||
# display each element of obtained data in a new line
|
||||
print("Display obtained data 'as is'")
|
||||
counter = 0
|
||||
for rate in rates:
|
||||
counter += 1
|
||||
if counter <= 10:
|
||||
print(rate)
|
||||
|
||||
# create DataFrame out of the obtained data
|
||||
rates_frame = pd.DataFrame(rates)
|
||||
# convert time in seconds into the 'datetime' format
|
||||
rates_frame['time'] = pd.to_datetime(rates_frame['time'], unit='s')
|
||||
|
||||
# display data
|
||||
print("\nDisplay dataframe with data")
|
||||
print(rates_frame.head(10))
|
||||
rates_frame.to_csv(file_name, encoding='utf-8', index=False)
|
||||
Reference in New Issue
Block a user