Pregunta para los entendidos - página 19

 

Pregunta sobre las herramientas de línea de Gann.

Lalínea de Gunn está"construida en un ángulo de cuarenta y cinco grados", en el GunnGrid también, las líneas"construidas en un ángulo de 45 grados ". Debería ser una coincidencia, en mi opinión, pero no lo es.

 
hedger:

Pregunta sobre las herramientas de línea de Gann.

Lalínea de Gunn está"construida en un ángulo de cuarenta y cinco grados", en la cuadrícula de Gunn, también, las líneas"construidas en un ángulo de 45 grados ". Debería ser una coincidencia, en mi opinión, pero no lo es.

El ángulo correcto es de 40 grados, estableció Mendeleev.

Los 45 grados son siberianos.

 
hedger:

Pregunta sobre las herramientas de línea de Gunn.

Lalínea de Gunn está"construida en un ángulo de cuarenta y cinco grados", en la cuadrícula de Gunn, también, las líneas"construidas en un ángulo de 45 grados ". Debería ser una coincidencia, en mi opinión, pero no lo es.


¿Y dónde has encontrado los títulos?
 
Vinin:

¿Dónde has encontrado los títulos?

Aquí: https://www.metatrader5.com/ru/terminal/help/objects/gann/gann_line

"La línea de Gann

La línea de Gann es una línea trazada en un ángulo de 45 grados. Esta línea también se denomina "uno a uno" (1x1), que significa un cambio de precio por unidad de tiempo".

Y aquí: https://www.metatrader5.com/ru/terminal/help/objects/gann/gann_grid

"La rejilla de Gann

La cuadrícula de Gann representalas tendencias de , construidas en un ángulo de 45 grados (líneas de Gann)".

 

¡Buenas tardes!

Esta es la pregunta. He modificado ligeramente la función de I.Kim y ahora esta función devuelve el número de la barra en la que se estableció el último pendiente, bystop o sellstop.

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru/                  |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает номер бара установки последнего ордера или -1.      |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   ("" или NULL - текущий символ)          |
//|    tf - таймфрейм                  (    0       - текущий таймфрейм)       |
//|    op - операция                   (   -1       - любая позиция)           |
//|    mn - MagicNumber                (   -1       - любой магик)             |
//+----------------------------------------------------------------------------+
int NumberOfBarOpenLastOPDER(string sy="0", int tf=0, int op=-1, int mn=-1) {
  datetime t;
  int      i, k=OrdersTotal();

  if (sy=="" || sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy) {
        if (OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderOpenTime()) t=OrderOpenTime();
            }
          }
        }
      }
    }
  }
  return(iBarShift(sy, tf, t, True));
}

Además, necesito casi la misma función. Pero debería devolver el número de la barra en la que se han establecido no el último, sino el primero de todos los topes en el gráfico.

No puedo hacerlo. Por favor, dígame. - ¿cómo hacerlo?

 
Rita:

¡Buenas tardes!

Esta es la pregunta. He modificado ligeramente la función de I.Kim y ahora esta función devuelve el número de la barra en la que se estableció el último pendiente, bystop o sellstop.

Además, necesito casi la misma función. Pero debería devolver el número de la barra en la que se han establecido no el último, sino el primero de todos los topes en el gráfico.

No puedo hacerlo. Por favor, dígame. - ¿cómo hacerlo?

Poner el valor inicial de t más alto y cambiar el signo en la condición
 if (t<OrderOpenTime())

на противоположный.
 

Spsb. He cambiado el cartel. Pero la función aún no funciona. Lo he puesto en el comentario. Sigue devolviendo -1.

Además, no entiendo muy bien. ¿Dónde y cómo exactamente debo establecer un valor inicial mayor de t?

 
Rita:

Spsb. He cambiado el cartel. Pero la función aún no funciona. Lo he puesto en el comentario. Sigue devolviendo -1.

Además, no entiendo muy bien. ¿Dónde y cómo establecer un valor inicial mayor de t?

datetime t;
t = TimeCurrent();

Podrías simplemente poner la hora actual.
 
Rita:

¡Buenas tardes!

Esta es la pregunta. He modificado ligeramente la función de I.Kim y ahora esta función devuelve el número de la barra en la que se estableció el último pendiente, bystop o sellstop.

Además, necesito casi la misma función. Pero debería devolver el número de la barra en la que se han establecido no el último, sino el primero de todos los topes en el gráfico.

No puedo hacerlo. Por favor, dígame. - ¿cómo hacerlo?


Algo así

int NumberOfBarOpenFirstOPDER(string sy="0", int tf=0, int op=-1, int mn=-1) {
   datetime t=TimeCurrent();
   int      i, k=OrdersTotal();

   if (sy=="" || sy=="0") sy=Symbol();
   for (i=0; i<k; i++) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderSymbol()==sy) {
            if (op<0 || OrderType()==op) {
               if (mn<0 || OrderMagicNumber()==mn) {
                  if (t>OrderOpenTime()) t=OrderOpenTime();
               }
            }
         }
      }
   }
   return(iBarShift(sy, tf, t, True));
}
 
Gracias a todos. ¡Funcionó! ¡La función está funcionando!
Razón de la queja: