MetaTrader 5 Python User Group - Come usare Python in Metatrader - pagina 58

 
Дмитрий Прокопьев:

Grazie, ho visto quell'esempio, funziona.

Sto solo parlando di qualcos'altro.


positions_get - mi restituirà una lista di tradePosition. In linea di principio, va bene, potete metterlo in pandas e lavorare bene.

Ma non si limita a un solo panda, e se volete ottenere qualcosa del genere:

[{'ticket': 164661016, 'time': 1585075408, 'time_msc': 1585075408163, 'time_update': 1585075408, 'time_update_msc': 1585075408163, 'type': 1, 'magic': 0, 'identifier': 164661016, 'reason': 0, 'volume': 0.01, 'price_open': 120.306, 'sl': 0.0, 'tp': 0.0, 'price_current': 120.328, 'swap': 0.0, 'profit': -0.2, 'symbol': 'EURJPY', 'comment': '', 'external_id': ''}, 
{'ticket': 164661051, 'time': 1585075426, 'time_msc': 1585075426062, 'time_update': 1585075426, 'time_update_msc': 1585075426062, 'type': 0, 'magic': 0, 'identifier': 164661051, 'reason': 0, 'volume': 0.01, 'price_open': 1.07798, 'sl': 0.0, 'tp': 0.0, 'price_current': 1.07881, 'swap': 0.0, 'profit': 0.83, 'symbol': 'EURUSD', 'comment': '', 'external_id': ''}]

Guardate l'esempio di positions_get, usa diverse stringhe.

Esempio:

importaMetaTrader5 comemt5
importapandas comepd.
pd.set_option('display.max_columns',500)# quante colonne vengono mostrate
pd.set_option('display.width', 1500)# larghezza massima della tabella da visualizzare
# Visualizza i dati del pacchetto MetaTrader5
print("Autore del pacchetto MetaTrader5: ",mt5.__author__)
print("Versione del pacchetto MetaTrader5: ",mt5.__version__)
stampa()
# impostare la connessione al terminale MetaTrader 5
se nonmt5.initialize():
print("initialize() failed, error code =",mt5.last_error())
quit()

# ricevere posizioni aperte su USDCHF
positions=mt5.positions_get(symbol="USDCHF")
seposizioni==None:
print("Nessuna posizione su USDCHF, codice di errore={}".format(mt5.last_error())
elif len(posizioni)>0:
print("Posizioni totali su USDCHF =",len(positions))
# stampa tutte le posizioni aperte
per posizione inposizioni:
stampa(posizione)

# ottieni la lista delle posizioni sui simboli che contengono "*USD*" nel loro nome
usd_positions=mt5.positions_get(group="*USD*")
seusd_positions==None:
print("Nessuna posizione con gruppo="*USD*\", codice di errore={}".format(mt5.last_error())
elif len(usd_positions)>0:
print("positions_get(group=\"*USD*\")={}".format(len(usd_positions))
# produrre queste posizioni come una tabella usando pandas.DataFrame
df=pd.DataFrame(list(usd_positions),columns=usd_positions[0]._asdict().keys())
df['time'] = pd.to_datetime(df['time'], unit='s')
df.drop(['time_update', 'time_msc', 'time_update_msc', 'external_id'], axis=1, inplace=True)

stampa(df)

# termina la connessione al terminale MetaTrader 5
mt5.shutdown()


Risultato:
Autore del pacchetto MetaTrader5: MetaQuotes Software Corp.
Versione del pacchetto MetaTrader5: 5.0.29

positions_get(group="*USD*")=5
bigliettotempo tipo identificatore magico motivovolume prezzo_aperto sl tp prezzo_corrente swap profitto simbolo commento
0 548297723 2020-03-18 15:00:55 1 0 548297723 3 0.01 1.09301 1.11490 1.06236 1.10101 -0,10 -8,00 EURUSD
1 548655158 2020-03-18 20:31:26 0 0 548655158 3 0.01 1.08676 1.06107 1.12446 1.10098 -0,08 14,22 EURUSD
2 548663803 2020-03-18 20:40:04 0 0 548663803 3 0.01 1.08640 1.06351 1.11833 1.10098 -0,08 14,58 EURUSD
3 548847168 2020-03-19 01:10:05 0 0 548847168 3 0.01 1.09545 1.05524 1.15122 1.10098 -0,06 5,53 EURUSD
4 548847194 2020-03-19 01:10:07 0 0 548847194 3 0.02 1,09536 1,04478 1,16587 1,10098 -0,08 11,24 EURUSD

Документация по MQL5: Интеграция / MetaTrader для Python / positions_get
Документация по MQL5: Интеграция / MetaTrader для Python / positions_get
  • www.mql5.com
ticket                time  type  magic  identifier  reason  volume  price_open       sl       tp  price_current  swap  profit  symbol comment 0  548297723 2020-03-18 15:00:55     1      0   548297723       3    0.01     1.09301  1.11490  1.06236        1.10101 -0.10   -8.00  EURUSD        ...
 

Sono state aggiunte all'aiuto le descrizioni di 3 nuove funzioni:

Inoltre, le descrizioni di molte delle funzioni sono state cambiate man mano che sono state perfezionate. Quasi tutti gli esempi sono stati riscritti per riflettere la nuova funzionalità. Tuttavia, gli esempi per le seguenti funzioni non sono ancora stati aggiornati sul sito web, lo saranno un po' più tardi:

Документация по MQL5: Интеграция / MetaTrader для Python / last_error
Документация по MQL5: Интеграция / MetaTrader для Python / last_error
  • www.mql5.com
позволяет получить код ошибки в случае неуспешного выполнения какой-либо функции библиотеки MetaTrader 5. Является аналогом GetLastError(), но используются свои коды ошибок. Возможные значения:
 
Дмитрий Прокопьев:

Signori, i ragazzi nel prossimo thread fanno domande sui libs:

URL:https://www.mql5.com/en/forum/306742/page11#comment_15595095

Puoi darmi il tuo sostegno?

Risposto in quel thread

 
Rashid Umarov:

Guardate l'esempio per positions_get, ci sono diverse stringhe usate

Grazie!

 
Rashid Umarov:

Risposto in quel thread

Rashid, dimmi, è possibile utilizzare il tester con MetaTrader5?

Quando si modella nel tester, c'è un elemento molto efficace: il parallelismo dei compiti di simulazione in Local network farm o

Voglio usare lo Strategy Tester con MetaTrader5.

 
Vladimir Perervenko:

Perché avete bisogno di questo? Non puoi calcolarlo in Python? Sono sorpreso.

Non ho affatto familiarità con python, sto per passare da lua ad esso, quindi sto imparando la roba...
 

La sezione di aiuto ti dice come installare e aggiornare la libreria - https://www.mql5.com/ru/docs/integration/python_metatrader5

Установка пакета в командной строке:

pip installa MetaTrader5

Aggiornare il pacchetto sulla linea di comando:

pip install --upgrade MetaTrader5



Документация по MQL5: Интеграция / MetaTrader для Python
Документация по MQL5: Интеграция / MetaTrader для Python
  • www.mql5.com
Python является современным высокоуровневым языком программирования для разработки сценариев и приложений. Содержит множество библиотек для машинного обучения, автоматизации процессов, анализа и визуализации данных. Пакет MetaTrader для Python предназначен для...
 
Rashid Umarov:

La sezione di aiuto ti dice come installare e aggiornare la libreria - https://www.mql5.com/ru/docs/integration/python_metatrader5

Ad essere onesti, non è del tutto chiaro. Perché non funziona senza VS, e cosa esattamente è necessario da VS - non è chiaro (perché non voglio installare l'intero studio, dato che non è necessario);

Se puoi chiarirlo, sarebbe fantastico.

 
Alexey Kozitsyn:

Ad essere onesti, non è del tutto chiaro. Perché non funziona senza VS, e cosa esattamente è necessario da VS - non è chiaro (perché non vorrei installare l'intero studio perché non ne ho bisogno);

Se lo approfondisci, sarebbe fantastico.

Perché avete bisogno di VS? Python non richiede VS.

Cerca su Google qualcosa come Window Python e sei a posto.

 

Signori sviluppatori, è stato fatto un buon punto nel prossimo thread.

Questo vale per l'elaborazione di**kwargs, nel caso della scrittura di test - questo è un punto molto importante.

https://www.mql5.com/en/forum/306742/page12#comment_15660939

Motivazione: