Funcions per operar a MT5 en Python

Sistemes automàtics de trading en Forex  »  Funcions per operar a MT5 en Python

A continuació passem a donar les funcions més importants creades per poder fer operacions en temps real en MT5. Es poden veure totes al notebook: 6.- Trading real.ipynb

7.1.1 Funció OpenBuyOrder

Aquesta funció obre una ordre de compra (BUY) a MetaTrader 5 per a un símbol donat, amb la possibilitat de definir Stop Loss (SL) i Take Profit (TP) en pips. Té els següents arguments:

  • argSymbol: Símbol.
  • argLotSize: Mida de la posició en lots.
  • argSlippage: Desviació màxima permesa en punts.
  • argMagicNumber: Identificador únic de l’estratègia.
  • argComment: Comentari associat a l’ordre.
  • argSLPips: Stop Loss en pips (si és 0, vol dir que no hi ha SL).
  • argTPPips: Take Profit en pips (si és 0, vol dir que no hi ha TP).

i retorna el número de l’ordre si s’executa correctament, o None si hi ha un error.

7.1.2 Funció OpenSellOrder

Obre una ordre de venda (SELL) a MetaTrader 5 amb la possibilitat de definir Stop Loss (SL) i Take Profit (TP) en pips. Els paràmetres són els mateixos que per a OpenBuyOrder, i també retorna el número de l’ordre si s’executa correctament, o None si hi ha un error.

7.1.3 Funció Modify_SL_and_TP

Aquesta funció permet modificar el Stop Loss i el Take Profit d’una operació oberta. Els seus arguments són:

  • argTicket: Número de ticket de la posició que es vol modificar.
  • argSL: Nou valor de Stop Loss.
  • argTP: Nou valor de Take Profit.

No retorna cap valor, però mostra per pantalla si la modificació ha tingut èxit o ha fallat.

7.1.4 Funció CloseOrderByTicket

Aquesta funció permet tancar una posició oberta en funció de:

  • argTicket: Número de ticket de la posició que es vol tancar.
  • argSlippage: Desviació màxima acceptada per al preu de tancament.
  • comment: Comentari associat al tancament de la posició.

No retorna cap valor, però mostra per pantalla si la modificació s’ha tancat amb èxit la operació.

7.1.5 Funció CloseAllOrders

Aquesta funció permet tancar totes les posicions obertes d’una estratègia. Els seus paràmetres són:

  • argSymbol: Símbol
  • argMagicNumber: Identificador únic de l’estratègia.
  • argSlippage: Desviació màxima acceptada per al preu de tancament.

No retorna cap valor, però mostra per pantalla els resultats i errors es mostren per pantalla..

7.1.6 Funció get_positions_df

Aquesta funció obté totes les posicions obertes actuals a MetaTrader 5 associades a una estratègia. Depèn dels següents arguments:

  • MagicNumber: Identificador únic de l’estratègia.
  • symbol: Símbol.

Retorna una taula amb totes les posicions obertes. Les columnes més importantes són: 

  • ticket: Identificador de la posició.
  • time: Temps en el que s’ha obert la posició.
  • type: Tipus d’operació (llarga o curta).
  • magic: Identificador únic de l’estratègia amb la qual s’ha executat l’operació.
  • volume: Lots de l’operació
  • price_open: Preu al que s’ha obert l’operació.
  • sl: Stop Loss de la posició.
  • tp: Take Profit de la posició
  • swap: Swap aplicat a la posició oberta
  • profit: Benefici actual.