MetaTrader 5 Python Kullanıcı Grubu - Metatrader'da Python nasıl kullanılır - sayfa 78

 
Maxim Dmitrievsky :

Renat, ONNX desteğinde herhangi bir güncelleme var mı?

Numara.

Hiçbir talep ve hazırlıklı seyirci yok iken.

 

Geçen yıl birçok değişiklik yapıldı, eski komut dosyaları çalışmayı durdurdu.

Windows 7'de MT5 build 2361, 32bit terminali var. Kendi kendine çalışıyor, ancak python betiklerinin bağlantısı çalışmayı durdurdu (yılın başında çalışmasına rağmen).

Açıkçası, terminal güncellemeleri nedeniyle başka hiçbir şey değişmedi. Test etmek için basit bir komut dosyası çalıştırıyorum.

import MetaTrader5 as mt5
from time import sleep

mt5.initialize()
print('start')
print(mt5.terminal_info())
sleep(10) 

mt5.shutdown()
print('end')

Soru, her şeyin yeniden çalışması için MetaTrader5 python modülünün hangi sürümünün yüklenmesi gerektiğidir? (veya terminal güncellemelerini nasıl geri alabilirim?)

Modülün farklı sürümleri kuruldu - hepsi hata veriyor. Daha yenileri -10003 veriyor, 'IPC başlatılamadı, MetaTrader 5 x64 bulunamadı',

bazıları başlatma işleminden geçer, terminali başlatır, ancak bir şey istediklerinde RuntimeError verirler: IPC recv 'py_test.py' içinde başarısız oldu

En eski 5.0.10'un başka komutları var ama ikisi de çalışmıyor

Terminal artık daha yeni sürümlere güncellenmiyor, Python modülünün bir tür çalışan sürümü vardı, ancak şimdi bulamıyorum.

Terminalin 64 bit sürümü, işletim sisteminin güncellenmesini ve bir sürü her şeyin güncellenmesini gerektirir, ayrıca 64 bit işletim sistemi, birçok kez daha fazla bellek ve disk alanı tüketir, kötü bir seçenek. Genel olarak, bir şeyin otomatik olarak güncellenmesi politikası kötüdür. Çalışır - dokunmayın.

Genel olarak, eski sürümlerle uyumluluğu korumadığınız ve güncellemeler zorunlu olduğu için, hangi sürümlerin hangi sürümlerle uyumlu olduğu belgelerde bir plaka gereklidir.

Автоматическое обновление - Для продвинутых пользователей - Справка по MetaTrader 5
Автоматическое обновление - Для продвинутых пользователей - Справка по MetaTrader 5
  • www.metatrader5.com
В платформу встроена система автоматического обновления. Она позволяет своевременно получать и устанавливать новые версии программы. Эту систему отключить нельзя. Порядок обновления При подключении к торговому серверу происходит проверка наличия обновлений платформы. Если найдено обновление какого-либо из компонентов торговой платформы...
 
Lyuk :


32 bit işletim sistemi desteği, birçok yapı önce devre dışı bırakıldı. O zamandan beri, terminal çok değişti. Bu nedenle, sorununuzun olası çözümü: 64-bit Windows 10 çalıştırmanız GEREKİR.

 

Ancak terminalin ve modülün uyumlu bir yapısı OLDU, yeni özellikler olmadan bunları kurabilirsiniz.

Ve Windows 10 64 bit'in zorunluluğu terminal gibi bir program için zaten çok fazla. Üzerinde uzun çalışma gerektiren herhangi bir şeyi çalıştırmak için çok ağır, çiğnenebilir ve güvenilmezdir. Otomatik güncellemelerle ilgili hala sorunlar var. MT'nin bu sisteme bağlı olması üzücü.

 
Vladimir Karputov :

64-bit Windows 10 çalıştırıyor olmanız GEREKİR.

Windows 7 x64'ün nesi var? Başka bir haberi kaçırdım mı???

 
Aleksey Vyazmikin :

Windows 7 x64'ün nesi var? Başka bir haberi kaçırdım mı???

Bence 7, 10'dan daha iyidir. mobil sistemlere odaklanmak yok.

 
Valeriy Yastremskiy :

Bence 7, 10'dan daha iyidir. mobil sistemlere odaklanmak yok.

Katılıyorum, neredeyse bir yıl 10k'da çalıştım ve eve geldiğimde yediden mutluydum!

 
Renat Fatkhullin :

Numara.

Hiçbir talep ve hazırlıklı seyirci yokken.

Makine öğrenmesi konusunda şimdiye kadar 4 kişi taleplerini dile getirdi :) Bana öyle geliyor ki böyle bir fırsat ve konuyla ilgili birkaç makale varsa, pitonistler modelleri aktarmaya başlayacaklar. Özellikle İngilizler.
 
2020.11 . 09 09 : 43 : 31.509 Terminal        MetaTrader 5 x64 build 2670 started for MetaQuotes Software Corp.
2020.11 . 09 09 : 43 : 31.510 Terminal        Windows 10 build 19042 , Intel Core i7- 9750 H  @ 2.60 GHz, 23 / 31 Gb memory, 1665 / 1861 Gb disk, IE 11 , UAC, GMT+ 2
2020.11 . 09 09 : 43 : 31.510 Terminal        C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075


Hem MetaEditor'da hem de jupyter notebook'ta komut dosyası olarak çalıştırıyorum.

Python version :  sys.version_info(major= 3 , minor= 7 , micro= 6 , releaselevel=' final ', serial= 0 )
Scikit-Learn version :   0.23 . 1


Bir DataFrame'in ilk beş satırı yazdırılamıyor.

Komut dosyasını 'data folder'\Scripts\Python\copy_rates_from.py' dağıtımından alıyorum ve aşağıdaki satırları ekliyorum :

from datetime import datetime
import MetaTrader5 as mt5
# выведем данные о пакете MetaTrader5
print("MetaTrader5 package author: ",mt5.__author__)
print("MetaTrader5 package version : ",mt5.__version__)

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

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

# установим таймзону в UTC
timezone = pytz.timezone("Etc/UTC")
# создадим объект datetime в таймзоне UTC, чтобы не применялось смещение локальной таймзоны
utc_from = datetime ( 2020 , 1 , 10 , tzinfo=timezone)
# получим 10 баров с EURUSD H4 начиная с 01.10 . 2020 в таймзоне UTC
rates = mt5.copy_rates_from("EURUSD", mt5.TIMEFRAME_H4, utc_from, 10 )

# завершим подключение к терминалу MetaTrader 5
mt5.shutdown()
# выведем каждый элемент полученных данных на новой строке
print("Выведем полученные данные как есть")
for rate in rates:
    print(rate)

# создадим из полученных данных DataFrame
rates_frame = pd.DataFrame(rates)

# выведем пять первых строк (метод 'head' pandas)
print("\nВыведем пять первых строк")
rates_frame.head()

rates_frame['time']=pd.to_datetime(rates_frame['time'], unit='s')

# выведем данные
print("\nВыведем датафрейм с данными")
print(rates_frame)

rates_frame['time']=pd.to_datetime(rates_frame['time'], unit='s')

# выведем данные
print("\nВыведем датафрейм с данными")
print(rates_frame)

ve yöntem hiçbir şey çıkarmaz:

( 1578614400 , 1.11051 , 1.11093 , 1.11017 , 1.11041 , 2448 , 1 , 0 )

Выведем пять первых строк

Выведем датафрейм с данными



'head()' yöntemi neden işe yaramadı, ancak bu manevra :

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

MetaTrader 5 platformunun yeni sürümü build 2650: MQL5 kod profili oluşturucudaki grafiklerin ve iyileştirmelerin arka planda yüklenmesi

Raşid Umarov , 2020.11.10 14:03

Denemek

 # выведем пять первых строк (метод 'head' pandas)
print("\nВыведем пять первых строк")
print( rates_frame.head() )

Sonuç

Выведем пять первых строк
         time     open     high      low    close  tick_volume  spread  real_volume
0    1578484800    1.11384    1.11386    1.11110    1.11200          12101        0              0
1    1578499200    1.11200    1.11308    1.11087    1.11180          13243        0              0
2    1578513600    1.11180    1.11180    1.11018    1.11041          5709        0              0
3    1578528000    1.11053    1.11194    1.11033    1.11174          4409        0              0
4    1578542400    1.11174    1.11190    1.11126    1.11183          2964        0              0



işe yaradı mı?

 
Vladimir Karputov :

'head()' yöntemi neden işe yaramadı, ancak bu manevra :


işe yaradı mı?

Çünkü head() yöntemi ( https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.head.html ) günlük çıktısı değil bir nesne döndürür. İçeriği görmek için nesneyi açıkça print() öğesine göndermeniz gerekir.

Bu anakonda a kolaylık sağlamak için nesneleri print() komutu çağrılmış gibi yazdırır.