MetaTrader 5 Python User Group - Comment utiliser Python dans Metatrader - page 62

 
nicholi shen:

Merci pour le conseil. J'ai lu les documents sur votre lien. C'est un peu compliqué.

 
9805244:

Bonjour, comment puis-je travailler avec TRADE_ACTION_CLOSE_BY ? ?? ou qui et comment ferme toutes les positions ouvertes?

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

Merci pour l'exemple.

J'ai un script similaire dans MKL qui ferme d'abord toutes les positions rentables.

Peut-on faire la même chose dans votre script ?

Bonne chance

PS : Vous l'avez fait. Saw.

Et ce script est destiné à la compensation des comptes ?
 
Vladimir Perervenko:

Merci pour l'exemple.

Dans mon MKL, un script similaire ferme d'abord toutes les positions rentables.

Pouvez-vous faire la même chose dans votre script ?

Bonne chance

PS : Vous l'avez fait. J'avais vu.

Et ce script pour la compensation des comptes ?

Je donne généralement la priorité à la clôture des positions en fonction du risque (taille de la position), mais si vous voulez clôturer en fonction du bénéfice global, il vous suffit de modifier la façon dont vous triez les symboles.

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:

En général, je donne la priorité à la clôture des positions en fonction du risque (taille de la position), mais si vous voulez clôturer en fonction du bénéfice global, il vous suffit de modifier la façon dont vous triez les symboles.

Merci.

 
Les scripts Python peuvent-ils être utilisés pour le backtesting dans le terminal ?
 
Dmitri Custurov:
Les scripts Python peuvent-ils être utilisés pour le backtesting dans le terminal ?
Non, ils ne fonctionnent que comme des scripts sur le tableau dans un fil séparé.
 
MetaQuotes:
Non, ils ne fonctionnent que comme des scripts sur le tableau dans un fil séparé.

Pouvez-vous ajouter une fonctionnalité pour que le terminal transmette le symbole du graphique et le cadre temporel comme arguments de ligne de commande lors de l'évocation d'un script python en le déposant sur le graphique ? Par exemple, vous déposez le script python sur le graphique EURUSD M15 et la commande pour évoquer le script serait la suivante

python mt5_script.py EURUSD 15

Pour que nous puissions connaître le symbole et le délai à partir du script python.

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

Pouvez-vous ajouter une fonctionnalité pour que le terminal transmette le symbole du graphique et le cadre temporel comme arguments de ligne de commande lors de l'évocation d'un script python en le déposant sur le graphique ? Par exemple, vous déposez le script python sur le graphique EURUSD M15 et la commande pour évoquer le script serait la suivante

Pour que nous puissions connaître le symbole et le délai à partir du script python.

La prochaine version bêta sera disponible ce soir :

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