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

 
Vladimir Perervenko :

Yükleme başarısız

Win10, Py3.6.10 ve WinPy3.7.7.

tekrar dene. Python <3.8 ile çalışması için yeniden düzenlemem gerekti.

 
nicholi shen :

tekrar dene. Python <3.8 ile çalışması için yeniden düzenlemem gerekti.

Tamam

Successfully built pymt5adapter
Installing collected packages: pymt5adapter
Successfully installed pymt5adapter- 0.2 . 1
----- Установка "pymt5adapter" выполнена. -

Sürümdeki yenilikler neler?

İyi şanlar

 
Vladimir Perervenko :

Tamam

Sürümdeki yenilikler neler?

iyi şanslar

Calendar_events https://github.com/nicholishen/pymt5adapter/blob/master/pymt5adapter/calendar.py

 from datetime import datetime
from datetime import timedelta

import pymt5adapter as mt5
from pymt5adapter.calendar import calendar_events
from pymt5adapter.calendar import Currency
from pymt5adapter.calendar import Importance


def forex_symbol(s):
    modes = [mt5.SYMBOL_CALC_MODE_FOREX, mt5.SYMBOL_CALC_MODE_FOREX_NO_LEVERAGE]
     return s.trade_calc_mode in modes


def main():
    symbol = mt5.symbols_get(function=forex_symbol)[ 0 ]
    one_week = timedelta(weeks= 1 )
    now = datetime.now()
    default_one_week_ahead_all_events = calendar_events()
    filtered_by_callback = calendar_events(function=lambda e: 'fed' in e[ 'event_name' ].lower())
    filtered_by_flags = calendar_events(importance=Importance.MEDIUM | Importance.HIGH,
                                        currencies=Currency.USD | Currency.JPY)
    filtered_by_strings = calendar_events(importance= 'medium high' ,
                                          currencies= 'usdjpy' )
    filtered_by_iterables = calendar_events(importance=( 'medium' , ' high' ),
                                            currencies=( 'usd' , 'jpy' ))
    filtered_by_specific_times = calendar_events(time_from=now, time_to=now + one_week)
    filtered_by_timedeltas = calendar_events(time_from=(-one_week), time_to=one_week)
    filtered_by_timedelta_lookback = calendar_events(-one_week)
    calendar_events_in_russian = calendar_events(language= 'ru' )

    employment_events_next_month = calendar_events(
        currencies=Currency.USD,
        importance=Importance.HIGH
        function=lambda e: 'employment' in (name:=e[ 'event_name' ].lower()) or 'payroll' in name
    )

    next_event = employment_events_next_month[ 0 ]

     for k, v in next_event.items():
        print(k, v)


if __name__ == '__main__' :
    with mt5.connected():
        main()
nicholishen/pymt5adapter
nicholishen/pymt5adapter
  • nicholishen
  • github.com
A drop-in pythonic adapter for the MetaTrader5 package to enhance usability. - nicholishen/pymt5adapter
 

Tünaydın! TRADE_ACTION_CLOSE_BY ile nasıl çalışılır ??? ya da tüm açık pozisyonları kim ve nasıl kapatıyor?

 
9805244 :

Tünaydın! TRADE_ACTION_CLOSE_BY ile nasıl çalışılır ??? ya da tüm açık pozisyonları kim ve nasıl kapatıyor?

Python'u kullanmak?

 

Bu satır VS2019(WinPy3.7.7) tarafından azarlandı (altı çizili):

"beklenmeyen belirteç 'işlev'"

Beklenmedik belirteç ':"

beklenmeyen belirteç '='

geçersiz sözdizimi

employment_events_next_month = calendar_events(
        currencies=Currency.USD,
        importance=Importance.HIGH
        
function =lambda e: 'employment' in (name
:=e ['event_name'].lower()) 
or 'payroll' in name
    )
 
Vladimir Perervenko :

Bu satır VS2019(WinPy3.7.7) tarafından azarlandı (altı çizili):

"beklenmeyen belirteç 'işlev'"

Beklenmedik belirteç ':"

beklenmeyen belirteç '='

geçersiz sözdizimi

Python >=3.8 için yeni atama ifadesi bu ve harikalar. Sürümünüzle çalışmasını sağlamak için hepsini kitaplıktan kaldırmak zorunda kaldım, ancak çalışması için bu örnek komut dosyasını yeniden düzenleyebileceğinizi düşünüyorum. Python yorumlayıcınızı en son sürüme yükseltmeyi düşünmelisiniz. :)

https://www.python.org/dev/peps/pep-0572/

PEP 572 -- Assignment Expressions
PEP 572 -- Assignment Expressions
  • www.python.org
PEP: Title: Author: Status: Type: Created: Python-Version: Post-History: Resolution:
 
nicholi shen :

Python >=3.8 için yeni atama ifadesi bu ve harikalar. Sürümünüzle çalışmasını sağlamak için hepsini kitaplıktan kaldırmak zorunda kaldım, ancak çalışması için bu örnek komut dosyasını yeniden düzenleyebileceğinizi düşünüyorum. Python yorumlayıcınızı en son sürüme yükseltmeyi düşünmelisiniz. :)

https://www.python.org/dev/peps/pep-0572/

Yapamam. 3.7.7 ve 3.6.10'a çok fazla paket bağlı.

Mümkünse neyi veya nasıl değiştireceğimi söyle. Değilse, sorun değil.

Python uzmanı değilim. Benim dilim R/

İyi şanlar.

 
Vladimir Perervenko :

Yapamam. 3.7.7 ve 3.6.10'a çok fazla paket bağlı.

Mümkünse neyi veya nasıl değiştireceğimi söyle. Değilse, sorun değil.

Python uzmanı değilim. Benim dilim R /

iyi şanslar.

def employment_event(e):
    event_name = e[ 'event_name' ].lower()
     return 'payroll' in event_name or 'employment' in event_name


employment_events_next_month = calendar_events(
    currencies=Currency.USD,
    importance=Importance.HIGH,
    function=employment_event
)
 
Vladimir Perervenko :

Python'u kullanmak?

Evet