MetaTrader 5 Python User Group - como usar o Python no Metatrader - página 62

 
nicholi shen:

Obrigado pela dica. Li os materiais no seu link. É um pouco complicado.

 
9805244:

Boa tarde! Como trabalho com TRADE_ACTION_CLOSE_BY ??? ou quem e como fecha todas as posições em aberto?

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

Obrigado pelo exemplo.

Tenho um guião semelhante em MKL que fecha primeiro todas as posições lucrativas.

Podemos fazer o mesmo no seu guião?

Boa sorte

PS: Já o fez. Serra.

E este guião é para contas de compensação?
 
Vladimir Perervenko:

Obrigado pelo exemplo.

No meu MKL, um guião semelhante encerra primeiro todas as posições lucrativas.

Pode fazer o mesmo no seu guião?

Boa sorte

PS: Já o fez. Tinha visto.

E este guião para as contas de compensação?

Normalmente dou prioridade ao fecho de posição com base no risco (tamanho da posição), mas se quiser fechar com base no lucro global, então só tem de modificar a forma como se ordenam os símbolos.

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:

Normalmente dou prioridade ao fecho de posição com base no risco (tamanho da posição), mas se quiser fechar com base no lucro global, basta modificar a forma como se ordenam os símbolos.

Obrigado

 
Podem os scripts Python ser utilizados para testes secundários no terminal?
 
Dmitri Custurov:
Podem os scripts Python ser utilizados para testes secundários no terminal?
Não, apenas funcionam como guiões no gráfico num fio separado.
 
MetaQuotes:
Não, apenas funcionam como guiões no gráfico num fio separado.

Pode acrescentar uma característica para que o terminal passe o símbolo do gráfico e o período de tempo como argumentos de linha de comando ao evocar um guião de pitão, deixando-o cair no gráfico? Por exemplo, deixa-se cair o guião python no gráfico EURUSD M15 e o comando para evocar o guião seria

python mt5_script.py EURUSD 15

Para que possamos conhecer o símbolo e o período de tempo de dentro do guião python

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

Pode acrescentar uma característica para que o terminal passe o símbolo do gráfico e o período de tempo como argumentos de linha de comando ao evocar um guião de pitão, deixando-o cair no gráfico? Por exemplo, deixa-se cair o guião python no gráfico EURUSD M15 e o comando para evocar o guião seria

Para que possamos conhecer o símbolo e o período de tempo de dentro do guião python

Estará disponível a próxima versão beta hoje à noite:

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