MetaTrader 5 Python User Group - como usar o Python no Metatrader - página 64
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Olá a todos,
Espero que não se importe com um homem inglês aqui. Procurando alguma orientação depois de passar muito tempo a pesquisar a web sem sucesso.
Estou a utilizar a biblioteca MetaTrader5 Python após alguma inspiração dos artigos da Maxiums. Tenho notado um problema com o manuseamento da memória.
Quando faço um Dataframe utilizando mt5 lib, o dataframe resultante funciona como esperado. Fi-lo dentro de uma função que recolhe as carraças e depois efectua várias análises antes de emitir o df manipulado.
No entanto, se eu voltar a executar a função que cria o DataFrame, reparei que a memória está apenas a acumular-se a partir da instância anterior.
Tenho o mesmo problema usando mt5.copy_ticks_range () e mt5.copy_rates_range (). Tenho de reiniciar o núcleo a fim de limpar a memória.
Tenho o mesmo problema mesmo depois de remover todo o código, excepto a linha que cria o quadro de dados. Por exemplo:
def vel (símbolo, lookback, lookforward, start_date, end_date, quantile_size):
ticks = pd.DataFrame (mt5.copy_ticks_range (símbolo, data_data.ano, data_de_início.mês, data_de_início.dia), data hora (fim_data.ano, fim_data.mês, fim_data.dia), mt5.COPY_TICKS_ALL), colunas = [ 'hora', 'lance', 'perguntar', 'último', 'volume', 'hora_msc', 'bandeiras', 'volume_real'])
Se executar isto várias vezes, o uso de memória sobe 27MiB de cada vez:
Linha # Mem usage Increment Line Contents =========================================== ======= 126.3 MiB 126.3 MiB def vel (símbolo, lookback, lookforward, start_date, end_date, quantile_size): 153.3 MiB 26.9 MiB ticks = pd.DataFrame (mt5.copy_ticks_range (símbolo, data_de_início.ano, data_de_início.mês, data_de_início.dia), .
Linha # Utilização de Mem Conteúdo da Linha de Incremento
Se quiser ajuda na depuração, então terá de dar uma MVCE completa. Este trecho não é suficiente.
Olá a todos,
Espero que não se importe com um homem inglês aqui. Procura alguma orientação depois de passar muito tempo a pesquisar a web sem sucesso.
Estou a utilizar a biblioteca MetaTrader5 Python após alguma inspiração dos artigos do Maxiums. Notei um problema com o manuseamento da memória.
Quando faço um Dataframe utilizando mt5 lib, o dataframe resultante funciona como esperado. Fi-lo dentro de uma função que recolhe as carraças e depois efectua várias análises antes de emitir o df manipulado.
No entanto, se eu voltar a executar a função que cria o DataFrame, reparei que a memória está apenas a acumular-se a partir da instância anterior.
Tenho o mesmo problema usando mt5.copy_ticks_range () e mt5.copy_rates_range (). Tenho de reiniciar o núcleo a fim de limpar a memória.
Tenho o mesmo problema mesmo depois de remover todo o código, excepto a linha que cria o quadro de dados. Por exemplo:
def vel (símbolo, lookback, lookforward, start_date, end_date, quantile_size):
ticks = pd.DataFrame (mt5.copy_ticks_range (símbolo, data_data.ano, data_de_início.mês, data_de_início.dia), data hora (fim_data.ano, fim_data.mês, fim_data.dia), mt5.COPY_TICKS_ALL), colunas = [ 'hora', 'lance', 'perguntar', 'último', 'volume', 'hora_msc', 'bandeiras', 'volume_real'])
Se executar isto várias vezes, o uso de memória sobe 27MiB de cada vez:
Linha # Mem usage Increment Line Contents ================================================== 126.3 MiB 126.3 MiB def vel (símbolo, lookback, lookforward, start_date, end_date, quantile_size): 153.3 MiB 26.9 MiB ticks = pd.DataFrame (mt5.copy_ticks_range (símbolo, data_de_início.ano, data_de_início.mês, data_de_início.dia), .
Linha # Utilização de Mem Conteúdo da Linha de Incremento
talvez tente usarhttps://docs.python.org/3/library/gc.html
https://stackabuse.com/basics-of-memory-management-in-python/
Olá a todos.
Começou a receber este erro ao tentar colocar uma encomenda viaMetaTrader5.Buy() / Sell():
order_open = mt5.Buy(symbol, volume)
Ficheiro "C:\Python3.7.4\lib\site-packages\MetaTrader5\__init__.py", linha 313, em Buy
se r.retcode != TRADE_RETCODE_REQUOTE e r.retcode != TRADE_RETCODE_PRICE_OFF:
AttributeError: objecto 'NoneType' não tem atributo 'retcode'.
Pode sugerir como corrigi-lo?
Olá a todos.
Tal erro começou a aparecer ao tentar fazer uma encomenda através do MetaTrader5.Buy () / Sell ():
order_open = mt5.Buy(symbol, volume)
Ficheiro "C:\Python3.7.4\lib\site-packages\MetaTrader5\__init__.py", linha 313, em Buy
se r.retcode != TRADE_RETCODE_REQUOTE e r.retcode != TRADE_RETCODE_PRICE_OFF:
AttributeError: objecto 'NoneType' não tem atributo 'retcode'.
Pode dizer-me como repará-lo?
Qual a construção do terminal que utiliza?
Já actualizou a versão beta?
Qual a construção do terminal que utiliza?
Já actualizou a versão beta?
Actualizei para a última versão - Pacote MetaTrader5 versão: 5.0.31
Este erro ocorre tanto ao utilizar mt5.Buy(), mt5.Sell() como mt5.order_send(requests).
Também escreve que não há atributo "retcode".
Actualizei para a última versão - Pacote MetaTrader5 versão: 5.0.31
Este erro ocorre tanto ao utilizar as funções mt5.Buy(), mt5.Sell() como mt5.order_send(requests).
Também escreve que não há atributo "retcode".
A questão era sobre a versão terminal.
A questão era sobre a versão do terminal.
Versão MT5: 5.00 construir 2361 08 mar 2020
Versão MT5: 5.00 construir 2361 08 mar 2020
Actualização para a versão beta, por favor.
Novas funções disponíveis apenas em versões beta.
Actualização para a versão beta, por favor.
Novas funções disponíveis apenas em versões beta.
Actualizado para a versão 2432.
Mas o erro continua lá...
Experimentei-o em diferentes corretores até...