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

 
nicholi shen:

Grazie per il suggerimento. Ho letto il materiale sul tuo link. È un po' complicato.

 
9805244:

Come posso lavorare con TRADE_ACTION_CLOSE_BY o chi e come chiude tutte le posizioni aperte?

https://www.mql5.com/en/forum/306742/page10#comment_15577952

MetaTrader 5 Python User Group - the summary
MetaTrader 5 Python User Group - the summary
  • 2020.03.11
  • www.mql5.com
The Main Study MetaTrader Python online documentation Python Releases for Windows - website MetaTrader5 : Python Package - website...
 
nicholi shen:

https://www.mql5.com/en/forum/306742/page10#comment_15577952

Grazie per l'esempio.

Ho uno script simile in MKL che chiude prima tutte le posizioni redditizie.

Possiamo fare lo stesso nel tuo script?

Buona fortuna

PS: L'avete fatto. Sega.

E questo script è per i conti netting?
 
Vladimir Perervenko:

Grazie per l'esempio.

Nella mia MKL, uno script simile chiude prima tutte le posizioni redditizie.

Puoi fare lo stesso nel tuo script?

Buona fortuna

PS: L'avete fatto. Aveva visto.

E questo script per il netting dei conti?

Di solito do la priorità alla chiusura delle posizioni in base al rischio (dimensione della posizione), ma se vuoi chiudere in base al profitto complessivo, allora devi solo modificare il modo in cui ordini i simboli.

def open_position_symbols():
    positions = {}
    for p in mt5.positions_get():
        positions.setdefault(p.symbol, []).append(p.profit)
    symbols = sorted(
        positions,
        key=lambda s: sum(positions[s]),
        reverse=True
    )
    return symbols
 
nicholi shen:

Di solito do la priorità alla chiusura delle posizioni in base al rischio (dimensione della posizione), ma se vuoi chiudere in base al profitto complessivo allora devi solo modificare il modo in cui ordini i simboli.

Grazie

 
Gli script Python possono essere utilizzati per il backtesting nel terminale?
 
Dmitri Custurov:
Gli script Python possono essere utilizzati per il backtesting nel terminale?
No, funzionano solo come script sul grafico in un thread separato.
 
MetaQuotes:
No, funzionano solo come script sul grafico in un thread separato.

Si può aggiungere una funzione in modo che il terminale passi il simbolo del grafico e il time-frame come argomenti della linea di comando quando si evoca uno script python facendolo cadere sul grafico? Per esempio, si lascia lo script python sul grafico EURUSD M15 e il comando per evocare lo script sarebbe

python mt5_script.py EURUSD 15

In modo che possiamo conoscere il simbolo e l'intervallo di tempo dall'interno dello script python

import sys
if len(sys.argv) == 3:
    chart_symbol, chart_tf = sys.argv[1:3]
 
nicholi shen:

Si può aggiungere una funzione in modo che il terminale passi il simbolo del grafico e il time-frame come argomenti della linea di comando quando si evoca uno script python facendolo cadere sul grafico? Per esempio, si lascia lo script python sul grafico EURUSD M15 e il comando per evocare lo script sarebbe

In modo che possiamo conoscere il simbolo e l'intervallo di tempo dall'interno dello script python

Sarà disponibile la prossima versione beta stasera:

import sys

chart_symbol='unknown'
chart_tf=1

if len(sys.argv) == 3:
    chart_symbol, chart_tf = sys.argv[1:3];

print("Hello world from", chart_symbol, chart_tf)



>> Hello world from T.NYSE 15
Motivazione: