Condicions dinàmiques

Sistemes automàtics de trading en Forex  »  Condicions dinàmiques

Les condicions dinàmiques, que depenen del preu, les obtenim de la funció get_strategy que té els següents arguments: strategy_name, symbol, timeframe, path_root, realtime. En el cas de realtime = False, carrega les dades històriques de la base de dades, afegeix els indicadors tècnics que es fan servir a l’estratègia i retorna tres columnes de senyals principals:

signal: Indica la direcció d’entrada a mercat segons l’estratègia.

  • 1.0 = senyal de compra (long).
  • -1.0 = senyal de venda (short).
  • 0.0 = cap senyal d’entrada en aquesta barra.

cond_close_long: Senyal de tancament d’una posició llarga oberta.

  • 1.0 = condició de tancament complerta (tancar posició long).
  • 0.0 = mantenir la posició oberta.

cond_close_short: Senyal de tancament d’una posició curta oberta.

  • 1.0 = condició de tancament complerta (tancar posició short).
  • 0.0 = mantenir la posició oberta.

En el cas de realtime=True també obté les dades històriques, d’un símbol i timeframe però ara les obté directament del terminal de MT5 i limita el nombre de barres segons NBars(que era el nombre mínim de barres necessàries per calcular els indicadors que intervenen a l’estratègia).En aquest cas, retorna una taula com en el cas ja comentat però amb una única fila (la darrera barra finalitzada).

Aquesta és la única informació que necessitem per executar el nostre sistema de trading en temps real.

Per fer proves que tot funciona correctament, s’ha creat una estratègia sencilla creada amb dues condicions:

  1. Obre una oposició llarga si la mitjana exponencial de 18 períodes supera a la mitjana exponencial de 30 períodes (en una barra està per sota i a la següent està per sobre).
  2. Obre una posició curta quan la mitjana exponencial de 18 períodes creua a la baixa la de 30 períodes.
  3. No es defineixen condicions per tancar operacions llargues, ni curtes. Aquestes es tancaran amb els paràmetres fixos: stop loss, take profit, o el màxim temps que una posició roman oberta.