Funciones útiles de KimIV - página 48

 

Es decir, añadir una constante no afecta al resultado

Quise hacer un indicador rápido, pero no funcionó (

 
Prival писал (а) >>

Es una buena regla general desconfiar. Compruébalo en cualquier paquete de matemáticas. Publicaremos los resultados. Lo haré en MathCade ahora mismo.

Bien, pero hay que comprobarlo antes de expresar la incredulidad. >> Disculpe.

 
TheXpert писал (а) >>

Una buena, pero hay que comprobarlo antes de expresar la incredulidad. Le ruego que me disculpe.

Si tienes alguna duda, exprésala y asegúrate de hacerlo. Al fin y al cabo, no quieres volver a ellos, no quieres buscar errores. Tiene que estar seguro de que todo se ha hecho correctamente. Pero de todos modos no hay garantías http://www.citforum.ru/programming/digest/scofdebug/.

 

¡Buenas tardes! Resulta que las funciones fractales se han desunido en toda la rama.

Hemos encontrado dos de ellos:

uno devuelve el número de barras entre los últimos fractales (BarsBetweenLastFractals(string sy="", int tf=0)),

el otro, el nivel de precios del último fractal (p.37).

Para cerrar el tema del fractal de forma armoniosa, necesitamos una función más. Devuelve el número de barra de la parte superior del último fractal.

¡Igor! Si no es muy difícil para ti. ¿Podría producir y mostrar dicha función?

 

Función ExistOrdersByPrice().

Devuelve un indicador de la existencia de una orden al precio establecido. Verdadero - el orden existe (establecido), Falso - el orden no existe (no establecido). Puede limitar la lista de órdenes a comprobar mediante los parámetros de la función:

  • sy - Nombre del instrumento de mercado. Si se da este parámetro, la función sólo comprobará las órdenes del instrumento especificado. NULL significa el instrumento actual, y "" (por defecto) significa cualquier instrumento.
  • op - Tipo de operación, tipo de orden pendiente. Valores válidos: OP_BUYLIMIT, OP_BUYSTOP, OP_SELLLIMIT, OP_SELLSTOP o -1. El valor por defecto de -1 indica cualquier tipo de orden.
  • mn - Identificador del pedido (MagicNumber). El valor por defecto de -1 significa cualquier MagicNumber.
  • pp - El nivel de precio al que se establece la orden. El valor por defecto de -1 es cualquier precio.
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 30.07.2008                                                     |
//|  Описание : Возвращает флаг существования ордеров по цене установки        |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//|    pp - цена                       (-1   - любая цена)                     |
//+----------------------------------------------------------------------------+
bool ExistOrdersByPrice(string sy="", int op=-1, int mn=-1, double pp=-1) {
  int d, 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=="") && (op<0 || OrderType()==op)) {
        if (OrderType()>1 && OrderType()<6) {
          d=MarketInfo(OrderSymbol(), MODE_DIGITS);
          pp=NormalizeDouble(pp, d);
          if (pp<0 || pp==NormalizeDouble(OrderOpenPrice(), d)) {
            if (mn<0 || OrderMagicNumber()==mn) return(True);
          }
        }
      }
    }
  }
  return(False);
}
 

Ejemplos de cómo utilizar la función ExistOrdersByPrice().

  • Comprobar la disponibilidad de cualquier pedido con el precio de preparación 1.4
    Message(IIFs(ExistOrdersByPrice("", -1, -1, 1.4), "Есть", "Нет"));
  • Compruebe cualquier orden al precio de configuración 1,5 para el instrumento gráfico actual
    Message(IIFs(ExistOrdersByPrice(NULL, -1, -1, 1.5), "Есть", "Нет"));
  • Compruebe si hay una orden BuyLimit al precio de configuración 1,5 para cualquier instrumento
    Message(IIFs(ExistOrdersByPrice("", OP_BUYLIMIT, -1, 1.5), "Есть", "Нет"));
  • Compruebe la presencia de la orden SellStop al precio de configuración 1.4 con el número mágico 123456 en EURUSD
    Message(IIFs(ExistOrdersByPrice("EURUSD", OP_SELLSTOP, 123456, 1.4), "Есть", "Нет"));
  • Compruebe la presencia de cualquier orden al precio de configuración 106 con el número mágico 987 en USDJPY
    Message(IIFs(ExistOrdersByPrice("USDJPY", -1, 987, 106), "Есть", "Нет"));

P.D. Se adjunta un script para probar la función ExistOrdersByPrice().

Archivos adjuntos:
 
rid писал (а) >>
Para "cerrar" el tema del fractal de forma armoniosa, se necesita otra función. Devuelve el número de barra de la parte superior del último fractal.

El 13 de agosto de 2008 publiqué la función GetFractalBar (p.41).

 

La biblioteca de pedidos b ha sido publicada.

 
KimIV писал (а) >>

El 13 de agosto de 2008, publiqué la función GetFractalBar (página 41).

¡Sí! >> Gracias.

 
KimIV писал (а) >>

La biblioteca de b-Ordenes ha sido publicada.

¡Una biblioteca muy útil! En nombre de todos aquí "¡muchas gracias!"