MetaTrader 5 Python User Group - Come usare Python in Metatrader - pagina 76
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Grazie, Maxim!
Lo sto già provando. Il ciclo è iniziato, ma il file non si sta ancora aprendo. Lascerò il ciclo in funzione e aspetterò.
Saluti, Vladimir.
P.S. Pardon! Non ha prestato subito attenzione, che valeva un'ora. L'ho cambiato al minuto EUR_USD_QUOTE.csv file è stato aperto ma ho ottenuto questo messaggio nella scheda Run di Pycharm:
�訡��: �� 㤠���� ���� ����� "excel.exe".
Poi, dopo un altro minuto circa, il file si è chiuso e riaperto, ma in Exel è apparsa una scheda sul lato sinistro del foglio di calcolo chiedendomi di salvare il testo precedentemente aperto. Ho aspettato ancora un po' per vedere cosa sarebbe successo dopo, ma poi il ciclo si è fermato ed è apparso un messaggio come questo:
�ᯥ譮: ����� "EXCEL.EXE", � �����䨪�� 4208, � �����襭.
�ᯥ譮: ����� "EXCEL.EXE", � �����䨪�� 3168, �� �����襭.
Traceback (most recent call last):
File "C:/Users/Vladimir/PycharmProjects/My_Python_Project/9.py", line 37, in <module>
get_data(save_file='EUR_USD_QUOTE.csv')
File "C:/Users/Vladimir/PycharmProjects/My_Python_Project/9.py", line 23, in get_data
with open(save_file, 'w') as save:
PermissionError: [Errno 13] Permesso negato: 'EUR_USD_QUOTE.csv'
Questo è il risultato finora, ma ho già fatto progressi!
Sinceramente, Vladimir.
Forse Excel non ha avuto il tempo di chiudere e stava cercando di accedere al file già, quindi
Aggiungete un ritardo di 5-10 secondi qui, e il programma aspetterà che Excel si chiuda
Non ho deciso cosa fare con la finestra a sinistra)
Voglio imparare come prendere le citazioni su Internet utilizzando il linguaggio Python per guardarle non nel terminale, ma in qualche file, per esempio, csv. Pensavo fosse il compito più elementare, ma si è scoperto che non lo era. Forse sono sulla strada sbagliata, ma chi non cerca niente, non trova niente.
Ora passerò al codice che hai proposto. Dopo che il codice è stato lanciato, è apparso un messaggio nell' ambiente di sviluppo di Pycharm :
Traceback (most recent call last):
File "C:/Users/Vladimir/PycharmProjects/My_Python_Project/10.py", line 25, in <module>
main()
File "C:/Users/Vladimir/PycharmProjects/My_Python_Project/10.py", linea 13, in main
eurusd_bid = soup.find('td', 'pid-1-bid').text.replace(',', '.')
AttributeError: l'oggetto 'NoneType' non ha attributo 'text'
Processo finito con codice di uscita 1
Cosa devo cambiare per vedere come funziona il codice?
Con rispetto, Vladimir.
Il motivo per cui non funziona è che questo sito ha bloccato l'invio di richieste. Il fatto che tu abbia dovuto falsificare un user agent deve essere stato un indizio che stavi facendo qualcosa che non volevano che tu facessi. La scansione del web è ben oltre lo scopo di questo argomento, quindi dovremmo smettere di parlarne e tornare all'argomento in questione. Ha qualche domanda sull'uso del pacchetto MetaTrader5?
Potrebbe non avere il tempo di chiudere Excel e sta cercando di accedere al file, quindi
aggiungere un ritardo di 5-10 secondi, il programma aspetterà che Excel si chiuda
Non ho ancora deciso cosa fare con la finestra di sinistra)
Maxim, ti ringrazio molto per il codice, che mi hai aiutato a migliorare. Il pannello di sinistra è poco preoccupante al momento. Aggiungerò il tuo nuovo codice più tardi, molto probabilmente nel fine settimana, poiché sono stato completamente sommerso dal lavoro oggi e ho bisogno di riposo. Vi farò sapere non appena avrò nuovi risultati.
Saluti, Vladimir.
Su quale offset la libreria MT5 restituisce il tempo degli ordini aperti?
Ma nel terminale è un tempo diverso
Come faccio a sincronizzare correttamente il tempo nel programma python con il tempo degli ordini (posizioni)?
Su quale offset la libreria MT5 restituisce il tempo degli ordini aperti?
Ma nel terminale è un tempo diverso
Come faccio a sincronizzare correttamente il tempo nel programma python con il tempo degli ordini (posizioni)?
Per prima cosa è necessario conoscere il fuso orario esatto del server commerciale. Poi create un oggetto fuso orario usando pytz. Infine, passate l'oggetto fuso orario a un metodo.
https://stackoverflow.com/questions/13866926/is-there-a-list-of-pytz-timezonesPer prima cosa devi conoscere il fuso orario esatto del server commerciale. Poi create un oggetto fuso orario usando pytz. Infine, passate l'oggetto fuso orario al metodo.
https://stackoverflow.com/questions/13866926/is-there-a-list-of-pytz-timezonesGrazie, proverò così
Vorrei sincronizzare l'ora automaticamente poiché il server di trading può cambiareGrazie, proverò questo
Vorrei sincronizzare l'ora automaticamente, perché il server commerciale può cambiareI timestamp UNIX sono agnostici rispetto al fuso orario, quindi è necessario conoscere il fuso orario del broker per dare al timestamp un contesto consapevole del fuso orario. L'unico modo per farlo è conoscere il fuso orario del server commerciale. Non credo che ci sia un modo per ottenere questa informazione programmaticamente. Quello che puoi fare è creare un file di configurazione per mappare i diversi server commerciali che potresti usare per il fuso orario. Esempio:
config.json
I timestamp UNIX sono agnostici rispetto al fuso orario, quindi è necessario conoscere il fuso orario del broker per dare al timestamp un contesto consapevole del fuso orario. L'unico modo per farlo è conoscere il fuso orario del server commerciale. Non credo che ci sia un modo per ottenere questa informazione programmaticamente. Quello che puoi fare è creare un file di configurazione per mappare i diversi server commerciali che potresti usare per il fuso orario. Esempio:
config.json
bene... sì
modo più semplice senza pytz:
Inoltre possiamo aprire un ordine pendente lontano dal prezzo, prima di avviare l'EA. E confrontare la differenza di ore tra 'pt' edatetime.utcnow()
per compensare automaticamente il tempobene ... sì
modo più semplice senza pytz:
Inoltre possiamo aprire un ordine pendente lontano dal prezzo, prima di avviare l'EA. E confrontare la differenza di ore tra 'pt' e per compensare automaticamente il tempoHo pensato la stessa cosa ma poi mi sono ricordato che il tempo dell'ordine è memorizzato in un timestamp UNIX che non ha un fuso orario. In altre parole, non puoi estrapolare il fuso orario del broker dal timestamp dell'ordine perché i timestamp sono gli stessi indipendentemente dal fuso orario. Se vuoi conoscere l'offset GMT devi conoscere l'ora corrente del terminale (broker) e attualmente non c'è modo di usare python per ottenere l'ora corrente del terminale o l'offset GMT.
Potrebbe non avere il tempo di chiudere Excel e sta cercando di accedere al file, quindi
aggiungere un ritardo di 5-10 secondi, il programma aspetterà che Excel si chiuda
Non ho ancora deciso cosa fare con la finestra a sinistra)
Ciao Maxim!
Vi ho promesso prima che nel fine settimana avrei controllato la variante con l'aggiunta di codice di ritardo. Ho controllato, ma il ritardo non ha influenzato nulla. Non ho problemi con la scheda di sinistra, perché semplicemente non ci faccio caso.
Ancora una volta, grazie mille per la vostra assistenza. Non farò più domande in questo thread.
Saluti, Vladimir.