Как выполнить проверку переменной?

В цикле записываю данные в том числе и время, в данные в переменных! Как выполнить проверку переменной "vrema" ? если оно равно предыдущему значению, то возввращалась в начало цикла, если оно изменилось - то шло дальше по циклу?

import sqlite3
import time
import MetaTrader5 as mt5
import pandas as pd



mt5.initialize()
mt5.copy_rates_from_pos('EURUSD', mt5.TIMEFRAME_M1, 0, 1)

def get_ohlc(ativo, timeframe, n=55):
    ativo = mt5.copy_rates_from_pos(ativo, timeframe, 0, n)
    ativo = pd.DataFrame(ativo)
    ativo['time']=pd.to_datetime(ativo['time'], unit='s')
    ativo.set_index('time', inplace=True)
    return ativo

get_ohlc('EURUSD', mt5.TIMEFRAME_M1)
info = mt5.symbol_info_tick('EURUSD')
#print(info)


#Создает новый файл , если он есть то просто подключается
base = sqlite3.connect('new_base.db')
#Класс для создания, чтения, изменения таблиц


#Создание таблицы
base.execute("CREATE TABLE IF NOT EXISTS data_eurusd(time PRIMARY KEY, last, bid, ask, value, flag, real_volume)")




#Повтор кода для исполнения
tempo = time.time() + 1000000000000
while time.time() < tempo:
    tick = mt5.symbol_info_tick('EURUSD')
    vrema = tick.time_msc
    last = tick.last
    bid = tick.bid
    ask = tick.ask
    value = tick.volume
    flag = tick.flags
    value_real = tick.volume_real
    # Вот здесь провести проверку vrema


    # Заполнение значением в таблицу. Кол-во ?? соответствует кол-ву столбцов
    cur.execute("INSERT INTO data_eurusd VALUES(?, ?, ?, ?, ?, ?, ?)", (vrema, last, bid, ask, value, flag, value_real))# Значения
    base.commit()
   #print(f"TIME_ms:{tick.time_msc}, EURUSD:{tick.last}, цена BID:{tick.bid}, цена ASK:{tick.ask}, объем:{tick.volume}, FLAG:{tick.flags}, REAL:{tick.volume_real} ", end='\n')
    time.sleep(0.1)

Ответы (1 шт):

Автор решения: V-Mor

Если я верно понял вопрос, цикл следует переписать так:

vrema = 0 # Задаём изначально нейтральное значение

while time.time() < tempo:
    tick = mt5.symbol_info_tick('EURUSD')
    last = tick.last
    bid = tick.bid
    ask = tick.ask
    value = tick.volume
    flag = tick.flags
    value_real = tick.volume_real

    if vrema == tick.time_msc: # если переменная равна предыдущему значению
        continue # Начинаем цикл заново
    
    vrema = tick.time_msc # Иначе всё нормально, продолжаем в штатном режиме
    
    # Заполнение значением в таблицу. Кол-во ?? соответствует кол-ву столбцов
    cur.execute("INSERT INTO data_eurusd VALUES(?, ?, ?, ?, ?, ?, ?)", (vrema, last, bid, ask, value, flag, value_real))# Значения
    base.commit()
   #print(f"TIME_ms:{tick.time_msc}, EURUSD:{tick.last}, цена BID:{tick.bid}, цена ASK:{tick.ask}, объем:{tick.volume}, FLAG:{tick.flags}, REAL:{tick.volume_real} ", end='\n')
    time.sleep(0.1)
→ Ссылка