I programmi Python verranno eseguiti nel terminale solo come script e non sono coinvolti in alcun modo e non parteciperanno al tester della strategia di trading.
Questa è una soluzione per coloro che stanno facendo ricerche approfondite in Python e vogliono:
accesso alle informazioni di mercato da MT5
accesso alla storia delle transazioni e alle posizioni aperte
commercio
Strategy Tester solo per programmi MQL5.
Più tardi espanderemo la libreria e daremo la possibilità di accedere a indicatori integrati e personalizzati dal terminale.
Per sicurezza, ho installato visual studio e le librerie con esso su seven. Non parte. Andato a fumare le prese di corrente. Una cosa molto bella. L'ho già iniziato su Java.
from MetaTrader5 import *
#import MetaTrader5 as mt5
import time
initialize()
wait()
# mt5.initialize()
# mt5.wait()
dev = 0.00010;
symbol = "EURUSD"
buy_price = 0
symbol_select(symbol)
Acc = account_info()
Term = terminal_info()
vr = version()
Acc.server
Acc.login
Term.build
'MetaQuotes-Demo'
18192632
2319
1. Il problema precedente rimane. Durante l'inizializzazione il terminale inizia con un broker e un conto arbitrari. Non era stato promesso di ripararlo?
2) Gli ordini vengono eseguiti. Non ho controllato ulteriormente.
Non capisco perché il modulo "metatrader5 5.0.18 pypi_0 pypi"è importato solo come "MetaTrader5".
I programmi Python verranno eseguiti nel terminale solo come script e non sono coinvolti in alcun modo e non parteciperanno al tester della strategia di trading.
Questa è una soluzione per coloro che stanno facendo ricerche approfondite in Python e vogliono:
accesso alle informazioni di mercato da MT5
accesso alla storia delle transazioni e alle posizioni aperte
commercio
Strategy Tester solo per programmi MQL5.
Più tardi espanderemo la libreria per permettere l'accesso agli indicatori incorporati e personalizzati dal terminale.
Lanciare gli stessi script Python per l'ottimizzazione non è così interessante.
La possibilità di automatizzare l'ottimizzazione di mql5-advisors attraverso script Python è interessante. Qualcosa di simile a quello descritto nell'articolo"Gestione dell'ottimizzazione".
В текущей статье мы продолжаем процесс создания удобного графического интерфейса для управления оптимизациями в нескольких терминалах одновременно. В прошлой статье мы рассмотрели способ, позволяющий нам запустить терминал из консоли, а также структуру конфигурационного файла. В данной статье мы рассмотрим создание обертки для терминала на...
I programmi Python verranno eseguiti nel terminale solo come script e non sono coinvolti in alcun modo e non parteciperanno al tester della strategia di trading.
Questa è una soluzione per coloro che stanno facendo ricerche approfondite in Python e vogliono:
accesso alle informazioni di mercato da MT5
accesso alla storia delle transazioni e alle posizioni aperte
commercio
Strategy Tester solo per programmi MQL5.
Più tardi espanderemo la libreria e daremo la possibilità di accedere a indicatori integrati e personalizzati dal terminale.
Ho capito bene che per trasferire valori calcolati e array da Py a mt5, non ci saranno queste funzioni? E rimane da usare - soluzioni di rete, o segare il modulo sul trasferimento attraverso la memoria?
Come ho notato, ora la struttura degli oggetti è cambiata era solito essere
Time = [x.time for x in ticks]
ora diventano
Time = [x[0] for x in ticks]
Potresti descrivere le strutture per copy_ticks e copy_rates? Quali indici x[] corrispondono a cosa.
O è la stessa sequenza? come in
structMqlTick
{
datetime time; // Время последнего обновления цен double bid; // Текущая цена Bid double ask; // Текущая цена Ask double last; // Текущая цена последней сделки (Last) ulong volume; // Объем для текущей цены Last long time_msc; // Время последнего обновления цен в миллисекундах uint flags; // Флаги тиков double volume_real; // Объем для текущей цены Last c повышенной точностью
};
Come ho notato, la struttura degli oggetti è ora cambiata
usato per essere
ora lo è.
Potresti descrivere le strutture per copy_ticks e copy_rates? Quali indici x[] corrispondono a cosa.
O è la stessa sequenza? come in
Ora è un array numpy, non una tupla come era prima (cioè un'effettiva mappatura diretta in memoria dei dati stessi), il suo formato può essere visto semplicemente visualizzandolo:
Ora è un array numpy, non una tupla come era prima (cioè un'effettiva mappatura diretta in memoria dei dati stessi), il suo formato può essere visto semplicemente visualizzandolo:
è possibile ottenerli immediatamente come vettori separati (moltiplicare, sottrarre) e disegnare grafici:
Grazie Almaz, ora capisco.
C'è ancora una questione aperta: Ho capito bene che per trasferire valori calcolati e array da Py a mt5, non ci saranno queste funzioni? E rimane da usare - soluzioni di rete, o segare il modulo sul trasferimento attraverso la memoria?
Nuova versione di MetaTrader 5 per Python 5.0.18 e MetaTrader 5 build 2319 beta:
Poiché tutte le api sono cambiate, i vecchi esempi non funzionano più.
Ecco il nuovo set di funzioni:
Esempio:
Ci sono piani per aggiungere funzioni per eseguire test/ottimizzazioni e ottenere i loro risultati?
I programmi Python verranno eseguiti nel terminale solo come script e non sono coinvolti in alcun modo e non parteciperanno al tester della strategia di trading.
Questa è una soluzione per coloro che stanno facendo ricerche approfondite in Python e vogliono:
Strategy Tester solo per programmi MQL5.
Più tardi espanderemo la libreria e daremo la possibilità di accedere a indicatori integrati e personalizzati dal terminale.
Comunque, la situazione al momento è la seguente: ho installato windows 7 su 3 macchine.
Linea di fondo:
Messo su windows server 2012 - iniziato a metà strada. E anche su python 3.8.1
Comunque, la situazione al momento è la seguente: ho installato windows 7 su 3 macchine.
Linea di fondo:
Messo su windows server 2012 - iniziato a metà strada. E anche su python 3.8.1.
Dieci non è a portata di mano, ma penso che ci e iniziare.
Al 10, si torna alla normalità.
1. Il problema precedente rimane. Durante l'inizializzazione il terminale inizia con un broker e un conto arbitrari. Non era stato promesso di ripararlo?
2) Gli ordini vengono eseguiti. Non ho controllato ulteriormente.
Non capisco perché il modulo "metatrader5 5.0.18 pypi_0 pypi" è importato solo come "MetaTrader5".
Ci proveremo.
Buona fortuna
I programmi Python verranno eseguiti nel terminale solo come script e non sono coinvolti in alcun modo e non parteciperanno al tester della strategia di trading.
Questa è una soluzione per coloro che stanno facendo ricerche approfondite in Python e vogliono:
Strategy Tester solo per programmi MQL5.
Più tardi espanderemo la libreria per permettere l'accesso agli indicatori incorporati e personalizzati dal terminale.
Lanciare gli stessi script Python per l'ottimizzazione non è così interessante.
La possibilità di automatizzare l'ottimizzazione di mql5-advisors attraverso script Python è interessante. Qualcosa di simile a quello descritto nell'articolo"Gestione dell'ottimizzazione".
I programmi Python verranno eseguiti nel terminale solo come script e non sono coinvolti in alcun modo e non parteciperanno al tester della strategia di trading.
Questa è una soluzione per coloro che stanno facendo ricerche approfondite in Python e vogliono:
Strategy Tester solo per programmi MQL5.
Più tardi espanderemo la libreria e daremo la possibilità di accedere a indicatori integrati e personalizzati dal terminale.
Ho capito bene che per trasferire valori calcolati e array da Py a mt5, non ci saranno queste funzioni?
E rimane da usare - soluzioni di rete, o segare il modulo sul trasferimento attraverso la memoria?
Come ho notato, ora la struttura degli oggetti è cambiata
era solito essere
Time = [x.time for x in ticks]ora diventano
Potresti descrivere le strutture per copy_ticks e copy_rates?
Quali indici x[] corrispondono a cosa.
O è la stessa sequenza? come in
Roman:
Come ho notato, la struttura degli oggetti è ora cambiata
usato per essere
ora lo è.
Potresti descrivere le strutture per copy_ticks e copy_rates?
Quali indici x[] corrispondono a cosa.
O è la stessa sequenza? come in
Ora è un array numpy, non una tupla come era prima (cioè un'effettiva mappatura diretta in memoria dei dati stessi), il suo formato può essere visto semplicemente visualizzandolo:
>>> ticks1 = mt5.copy_ticks_from("EURAUD", datetime(2020,2,13,13), 20, mt5.COPY_TICKS_ALL) >>> ticks1 array([(1581591600, 1.61633, 1.61657, 0., 0, 1581591600170, 134, 0.), (1581591600, 1.61633, 1.61658, 0., 0, 1581591600362, 4, 0.), (1581591600, 1.61633, 1.61659, 0., 0, 1581591600569, 4, 0.), (1581591600, 1.61636, 1.61659, 0., 0, 1581591600759, 130, 0.), (1581591601, 1.61633, 1.61659, 0., 0, 1581591601964, 130, 0.), (1581591602, 1.61634, 1.61658, 0., 0, 1581591602261, 134, 0.), (1581591606, 1.61635, 1.61658, 0., 0, 1581591606276, 130, 0.), (1581591607, 1.61637, 1.61661, 0., 0, 1581591607795, 134, 0.), (1581591607, 1.61643, 1.61664, 0., 0, 1581591607880, 134, 0.), (1581591608, 1.61642, 1.61665, 0., 0, 1581591608184, 134, 0.), (1581591608, 1.61643, 1.61667, 0., 0, 1581591608791, 134, 0.), (1581591608, 1.61642, 1.61667, 0., 0, 1581591608992, 130, 0.), (1581591609, 1.61642, 1.61665, 0., 0, 1581591609192, 4, 0.), (1581591609, 1.61642, 1.61667, 0., 0, 1581591609584, 4, 0.), (1581591611, 1.61642, 1.61666, 0., 0, 1581591611397, 4, 0.), (1581591611, 1.61642, 1.61667, 0., 0, 1581591611694, 4, 0.), (1581591612, 1.61643, 1.61667, 0., 0, 1581591612091, 130, 0.), (1581591612, 1.61643, 1.61665, 0., 0, 1581591612881, 4, 0.), (1581591613, 1.61644, 1.61665, 0., 0, 1581591613300, 130, 0.), (1581591613, 1.61648, 1.6167 , 0., 0, 1581591613498, 134, 0.)], dtype=[('time', '<i8'), ('bid', '<f8'), ('ask', '<f8'), ('last', '<f8'), ('volume', '<u8'), ('time_msc', '<i8'), ('flags', '<u4'), ('volume_real', '<f8')])ora potete immediatamente de ottenerli come vettori separati (moltiplicare, sottrarre) e disegnare i grafici:
rates2 = mt5.copy_rates_from_pos("EURGBP", mt5.TIMEFRAME_M1, 0, 1000) import matplotlib.pyplot as plt plt.plot(rates2['time'], rates2['low'], 'g-') plt.plot(rates2['time'], rates2['high'], 'r-') plt.show()Ora è un array numpy, non una tupla come era prima (cioè un'effettiva mappatura diretta in memoria dei dati stessi), il suo formato può essere visto semplicemente visualizzandolo:
è possibile ottenerli immediatamente come vettori separati (moltiplicare, sottrarre) e disegnare grafici:
Grazie Almaz, ora capisco.
C'è ancora una questione aperta:
Ho capito bene che per trasferire valori calcolati e array da Py a mt5, non ci saranno queste funzioni?
E rimane da usare - soluzioni di rete, o segare il modulo sul trasferimento attraverso la memoria?