MetaTrader 5 Python Kullanıcı Grubu - Metatrader'da Python nasıl kullanılır - sayfa 64
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Herkese selam,
Umarım burada bir İngiliz'e aldırmazsın. Web'de başarılı bir şekilde arama yapmak için çok zaman harcadıktan sonra bazı rehberlik arıyorsunuz.
Maxiums makalelerinden biraz ilham aldıktan sonra MetaTrader5 Python kitaplığını kullanıyorum. Bellek işlemeyle ilgili bir sorun fark ettim.
Mt5 lib kullanarak bir Veri Çerçevesi yaptığımda, ortaya çıkan veri çerçevesi beklendiği gibi çalışıyor. Bunu, keneleri toplayan ve ardından manipüle edilmiş df'nin çıktısını almadan önce çeşitli analizler yapan bir fonksiyon içinde yaptım.
Ancak, DataFrame'i oluşturan işlevi yeniden çalıştırırsam, belleğin yalnızca önceki örnekten birikmeye devam ettiğini fark ettim.
Aynı sorunu mt5.copy_ticks_range() ve mt5.copy_rates_range() kullanarak da alıyorum. Belleği temizlemek için çekirdeği sıfırlamam gerekiyor.
Veri çerçevesini oluşturan satır dışındaki tüm kodu kaldırdıktan sonra bile aynı sorunu yaşıyorum. Örneğin:
def vel (sembol, yeniden inceleme, ileriye dönük, başlangıç_tarihi, bitiş_tarihi, nicelik_boyutu):
ticks = pd.DataFrame(mt5.copy_ticks_range(symbol, datetime(start_date.year, start_date.month, start_date.day), datetime(end_date.year, end_date.month, end_date.day), mt5.COPY_TICKS_ALL), sütunlar = [ 'zaman', 'teklif', 'sor', 'son', 'hacim', 'time_msc', 'bayraklar', 'volume_real'])
Bunu birkaç kez çalıştırırsam, bellek kullanımı her seferinde 27MiB artar:
Satır # Mem kullanımı Artış Satır İçeriği =========================================== ===== 126,3 MiB 126,3 MiB varsayılan (sembol, yeniden inceleme, ileriye dönük, başlangıç_tarihi, bitiş_tarihi, nicelik_boyutu): 153.3 MiB 26,9 MiB keneler = pd.DataFrame(mt5.copy_ticks_range(symbol, datetime(start_date.year, start_date .month) , başlangıç_tarihi.gün), ...
Satır # Mem kullanımı Artış Satır İçeriği
Hata ayıklama konusunda yardım istiyorsanız, tam bir MVCE vermeniz gerekir. Bu fragman yeterli değil.
Herkese selam,
Umarım burada bir İngiliz'e aldırmazsın. Web'de başarılı bir şekilde arama yapmak için çok zaman harcadıktan sonra bazı rehberlik arıyorsunuz.
Maxiums makalelerinden biraz ilham aldıktan sonra MetaTrader5 Python kitaplığını kullanıyorum. Bellek işlemeyle ilgili bir sorun fark ettim.
Mt5 lib kullanarak bir Veri Çerçevesi yaptığımda, ortaya çıkan veri çerçevesi beklendiği gibi çalışıyor. Bunu, keneleri toplayan ve ardından manipüle edilmiş df'nin çıktısını almadan önce çeşitli analizler yapan bir fonksiyon içinde yaptım.
Ancak, DataFrame'i oluşturan işlevi yeniden çalıştırırsam, belleğin önceki örnekten birikmeye devam ettiğini fark ettim.
Aynı sorunu mt5.copy_ticks_range() ve mt5.copy_rates_range() kullanarak da alıyorum. Belleği temizlemek için çekirdeği sıfırlamam gerekiyor.
Veri çerçevesini oluşturan satır dışındaki tüm kodu kaldırdıktan sonra bile aynı sorunu yaşıyorum. Örneğin:
def vel (sembol, yeniden inceleme, ileriye dönük, başlangıç_tarihi, bitiş_tarihi, nicelik_boyutu):
ticks = pd.DataFrame(mt5.copy_ticks_range(symbol, datetime(start_date.year, start_date.month, start_date.day), datetime(end_date.year, end_date.month, end_date.day), mt5.COPY_TICKS_ALL), sütunlar = [ 'zaman', 'teklif', 'sor', 'son', 'hacim', 'time_msc', 'bayraklar', 'volume_real'])
Bunu birkaç kez çalıştırırsam, bellek kullanımı her seferinde 27MiB artar:
Satır # Mem kullanımı Artış Satır İçeriği =========================================== ===== 126,3 MiB 126,3 MiB varsayılan (sembol, yeniden inceleme, ileriye dönük, başlangıç_tarihi, bitiş_tarihi, nicelik_boyutu): 153.3 MiB 26,9 MiB keneler = pd.DataFrame(mt5.copy_ticks_range(symbol, datetime(start_date.year, start_date .month) , başlangıç_tarihi.gün), ...
Satır # Mem kullanımı Artış Satır İçeriği
belki https://docs.python.org/3/library/gc.html kullanmayı denersiniz
https://stackkabuse.com/basics-of-memory-management-in-python/
Merhaba.
MetaTrader5.Buy() / Sell() yoluyla sipariş vermeye çalışırken bu hata görünmeye başladı:
order_open = mt5.Buy(sembol, hacim)
"C:\Python3.7.4\lib\site-packages\MetaTrader5\__init__.py" dosyası, satır 313, Satın Alma'da
r.retcode != TRADE_RETCODE_REQUOTE ve r.retcode != TRADE_RETCODE_PRICE_OFF ise:
AttributeError: 'NoneType' nesnesinin 'retcode' özniteliği yok
Nasıl düzeltileceğini önerebilir misiniz?
Herkese merhaba.
MetaTrader5.Buy() / Sell() üzerinden sipariş vermeye çalışırken böyle bir hata görünmeye başladı:
order_open = mt5.Buy(sembol, hacim)
"C:\Python3.7.4\lib\site-packages\MetaTrader5\__init__.py" dosyası, satır 313, Satın Alma'da
r.retcode != TRADE_RETCODE_REQUOTE ve r.retcode != TRADE_RETCODE_PRICE_OFF ise:
AttributeError: 'NoneType' nesnesinin 'retcode' özniteliği yok
Nasıl düzelteceğimi söyler misin?
Hangi terminal yapısını kullanıyorsunuz?
Beta sürümüne güncellendi mi?
Hangi terminal yapısını kullanıyorsunuz?
Beta sürümüne güncellendi mi?
En son sürüme güncellendi - MetaTrader5 paket sürümü: 5.0.31
Böyle bir hata hem mt5.Buy(), mt5.Sell() işlevlerini kullanırken hem de mt5 kullanırken oluşur. order_send (istekler) .
Ayrıca "retcode" özniteliği olmadığını da yazar.
En son sürüme güncellendi - MetaTrader5 paket sürümü: 5.0.31
Bu hata hem mt5.Buy(), mt5.Sell() işlevleri kullanılırken hem de mt5.order_send(requests) kullanılırken oluşur.
Ayrıca "retcode" özniteliği olmadığını da yazar.
Soru, terminalin versiyonuyla ilgiliydi.
Soru, terminalin versiyonuyla ilgiliydi.
MT5 sürümü: 5.00 yapı 2361 08 Mart 2020
MT5 sürümü: 5.00 yapı 2361 08 Mart 2020
Beta sürümüne yükseltin lütfen.
Yeni işlevler yalnızca beta sürümlerinde mevcuttur.
Beta sürümüne yükseltin lütfen.
Yeni işlevler yalnızca beta sürümlerinde mevcuttur.
2432 sürümüne güncellendi.
Ama hata hala devam ediyor..
Hatta farklı brokerlerde denendi bile..