Funciones útiles de KimIV - página 54

 

La función TakeProfitLastPos().

Esta función devuelve el nivel de precio TakeProfit de la última posición abierta o -1. La función TakeProfitLastPos() acepta los siguientes parámetros opcionales:

  • sy - Nombre del instrumento. "" - cualquier símbolo, NULL - símbolo actual. El valor por defecto es "".
  • op - Operación comercial. Valores válidos: -1, OP_BUY, OP_SELL. El valor por defecto es -1 - cualquier comercio.
  • mn - Identificador comercial, MagicNumber. Valor por defecto -1 - cualquier magik.
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 06.08.2008                                                     |
//|  Описание : Возвращает цену TakeProfit последней открытой позиций или -1.  |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
double TakeProfitLastPos(string sy="", int op=-1, int mn=-1) {
  datetime t;
  double   r=-1;
  int      i, k=OrdersTotal();

  if ( sy=="0") sy=Symbol();
  for ( i=0; i< k; i++) {
    if (OrderSelect( i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()== sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if ( op<0 || OrderType()== op) {
            if ( mn<0 || OrderMagicNumber()== mn) {
              if ( t<OrderOpenTime()) {
                t=OrderOpenTime();
                r=OrderTakeProfit();
              }
            }
          }
        }
      }
    }
  }
  return( r);
}
Esta función puede utilizarse, por ejemplo, para determinar el nivel de precio del TakeProfit de la última posición abierta para la posterior colocación de una orden pendiente a este nivel.
 
¿qué tal abrir el lote "correcto" en el momento adecuado?
 
¿Pueden decirme si hay alguna forma de cambiar el tamaño del lote de una orden pendiente en MQL4?
 
sdgg >> :
¿Sabes si hay alguna manera de cambiar el tamaño del lote de una orden pendiente en MQL4?

No. Se elimina el pedido anterior y se crea uno nuevo con el volumen requerido.

 
sdgg писал (а) >>
¿Pueden decirme si hay alguna forma de cambiar el lote de una orden pendiente en MQL4?

Los desarrolladores no lo hicieron deliberadamente, ¡para evitar problemas!

 

Por favor, aconsejen cómo crear objetos gráficos en un EA que opere con dos pares de divisas, que marquen en cada gráfico las posiciones de apertura y cierre de cada par de divisas. Un EA que se carga en un solo gráfico creará automáticamente estas marcas sólo en ese gráfico. ¿Quizás exista una función de este tipo diseñada para ser utilizada en EAs multidivisa?

 
RGT >> :

Por favor, aconsejen cómo crear objetos gráficos en un EA que opere con dos pares de divisas, que marquen en cada gráfico las posiciones de apertura y cierre de cada par de divisas. Un EA que se carga en un solo gráfico creará automáticamente estas marcas sólo en ese gráfico. ¿Quizá exista una función de este tipo diseñada para ser utilizada en EAs multidivisa?

No existe tal función. Los objetos sólo pueden ser creados y gestionados en el gráfico al que está unido el EA.

 

Función TakeProfitLastClosePos().

Devuelve el nivel de precio TakeProfit de la última posición cerrada o -1. La función TakeProfitLastClosePos() acepta los siguientes parámetros opcionales:

  • sy - Nombre del instrumento. "" - cualquier símbolo, NULL - símbolo actual. El valor por defecto es "".
  • op - Operación comercial. Valores válidos: -1, OP_BUY, OP_SELL. El valor por defecto es -1 - cualquier comercio.
  • mn - Identificador comercial, MagicNumber. Valor por defecto -1 - cualquier magik.
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 20.10.2008                                                     |
//|  Описание : Возвращает цену TakeProfit последней закрытой позиций или -1.  |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
double TakeProfitLastClosePos(string sy="", int op=-1, int mn=-1) {
  datetime t;
  double   r=-1;
  int      i, k=OrdersHistoryTotal();

  if ( sy=="0") sy=Symbol();
  for ( i=0; i< k; i++) {
    if (OrderSelect( i, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderSymbol()== sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if ( op<0 || OrderType()== op) {
            if ( mn<0 || OrderMagicNumber()== mn) {
              if ( t<OrderCloseTime()) {
                t=OrderCloseTime();
                r=OrderTakeProfit();
              }
            }
          }
        }
      }
    }
  }
  return( r);
}
 
KimIV >> :

Función TakeProfitLastClosePos().

Devuelve el nivel de precio TakeProfit de la última posición cerrada o -1. La función TakeProfitLastClosePos() acepta los siguientes parámetros opcionales:

  • sy - Nombre del instrumento. "" - cualquier símbolo, NULL - símbolo actual. El valor por defecto es "".
  • op - Operación comercial. Valores válidos: -1, OP_BUY, OP_SELL. El valor por defecto es -1 - cualquier comercio.
  • mn - Identificador comercial, MagicNumber. Valor por defecto -1 - cualquier número mágico.

¿Existe una función que cambie el take profit después de que haya pasado un tiempo desde que se abrió la posición?

 
drm1 писал(а) >>

¿hay alguna función que cambie el take profit después de un tiempo de haber abierto la posición?

ModificarOrden()

A continuación, algunos ejemplos de cómo utilizarlo...