Преобразование кода в функцию с целью ее цикличного выполнения

Рейтинг: -1Ответов: 1Опубликовано: 26.01.2023
from datetime import datetime
import MetaTrader5 as mt5
import pandas as pd

# импортируем модуль pandas для вывода полученных данных в табличной форме
pd.set_option('display.max_columns', 500) # сколько столбцов показываем
pd.set_option('display.width', 1500)      # макс. ширина таблицы для показа
 
# установим подключение к терминалу MetaTrader 5
if not mt5.initialize():
    print("initialize() failed, error code =",mt5.last_error())
    quit()
 
# запросим 10 баров на GBPUSD D1 c текущего дня
rates = mt5.copy_rates_from_pos("GBPUSD", mt5.TIMEFRAME_M15, 0, 100)
 
# завершим подключение к терминалу MetaTrader 5
mt5.shutdown()
 
# создадим из полученных данных DataFrame
rates_frame = pd.DataFrame(rates)
# сконвертируем время в виде секунд в формат datetime
rates_frame['time']=pd.to_datetime(rates_frame['time'], unit='s')
 
# выведем данные
print(rates_frame) `введите сюда код`

Ответы

▲ 0

Если весь код хотите чтобы был как функция. То выглядить будет так

from datetime import datetime
import MetaTrader5 as mt5
import pandas as pd

def name_func():
# импортируем модуль pandas для вывода полученных данных в табличной форме
  pd.set_option('display.max_columns', 500) # сколько столбцов показываем
  pd.set_option('display.width', 1500)      # макс. ширина таблицы для показа

# установим подключение к терминалу MetaTrader 5
  if not mt5.initialize():
    print("initialize() failed, error code =",mt5.last_error())
    quit()

# запросим 10 баров на GBPUSD D1 c текущего дня
  rates = mt5.copy_rates_from_pos("GBPUSD", mt5.TIMEFRAME_M15, 0, 100)

# завершим подключение к терминалу MetaTrader 5
  mt5.shutdown()

# создадим из полученных данных DataFrame
  rates_frame = pd.DataFrame(rates)
# сконвертируем время в виде секунд в формат datetime
  rates_frame['time']=pd.to_datetime(rates_frame['time'], unit='s')

# выведем данные
  print(rates_frame) `введите сюда код`

Далее ее уже можно будет вызывать как вам нужно.

Так же можно использовать циклы, допустим While