Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 807

 
borilunad:

¡Muchas gracias! Comprobado a través de los comentarios, ¡funciona! Debo haber entendido mal la información sobre el uso de múltiples TFs en el probador.
 
Veterros:
¡Muchas gracias! Comprobado a través de los comentarios, ¡funciona! Debo haber entendido mal la información sobre el uso de múltiples TFs en el probador.
En absoluto, compruebe siempre con el comentario en el probador en VisualMode y en la demostración. Hago la prueba en M1 con barras abiertas, el Asesor Experto puede usar cualquier TF, pero es deseable tener todos los gráficos abiertos, empezando por M1 hasta el que se toman los datos. Lo tengo hasta D1, porque uso líneas de pivote diarias, resistencias y soportes.
 

Hola! El indicador adjunto dibuja fractales. Las dibuja directamente sobre las barras altas/bajas y por lo tanto no puedo ver las barras altas/bajas. ¿Cómo puedo ajustar la distancia entre el fractal y la barra? Necesito que el fractal esté ligeramente por encima/por debajo de la barra.

Si no es complicado, puede ser fácil hacerlo directamente en este indicador...

¡Ayuda, por favor!

Archivos adjuntos:
 
Serhios:

Hola! El indicador adjunto dibuja fractales. Las dibuja directamente sobre las barras altas/bajas y por lo tanto no puedo ver las barras altas/bajas. ¿Cómo puedo ajustar la distancia entre el fractal y la barra? Necesito que el fractal esté ligeramente por encima/por debajo de la barra.

Si no es complicado, puede ser fácil hacerlo directamente en este indicador...

¡Ayuda, por favor!

Obviamente, debemos añadir algún valor para el fractal superior y restar el mismo valor para el fractal inferior, entonces los fractales se desplazarán verticalmente. El valor de ATR, como en el remolque, sería adecuado, por ejemplo.
Archivos adjuntos:
 
evillive:
Obviamente, tenemos que añadir algún valor para el fractal superior y restar el mismo valor para el fractal inferior, entonces los fractales se desplazarán verticalmente. El valor de ATR, como en el remolque, sería adecuado, por ejemplo.

Gracias. Pero, ¿es realmente necesario utilizar el valor de otro indicador para resolver este problema? Ahí está el valor de la barra en la que se dibujó el fractal. ¿No hay ninguna función que mueva el fractal verticalmente con respecto al valor alto/bajo de la barra?
 
Serhios:

Gracias. Pero, ¿es realmente necesario utilizar el valor de otro indicador para resolver este problema? Después de todo, está el valor de la barra en la que se dibujó el fractal. ¿No hay una función que desplace el fractal verticalmente con respecto al valor alto/bajo de la barra?

Usted puede tomar cualquier valor en pips (entero) en lugar del valor del indicador, multiplicado por _Point, será la compensación constante por el número dado de pips. Es más fácil con el indicador, no hay necesidad de ajustar la distancia.

Ejemplo para el fractal superior:

Ext1[i+center] = cur + 30*_Point;
 
evillive:

Usted puede tomar cualquier valor en pips (entero) en lugar del valor del indicador, multiplicado por _Point, será la compensación constante por el número dado de pips. Es más fácil con el indicador, no hay necesidad de ajustar la distancia.

Ejemplo para el fractal superior:

Es mejor escalar, de lo contrario los iconos de los fractales se saldrán de los límites de la pantalla. Puedes hacerlo:

// Определение LastBar по расположению StopLine на графике
bool fNewStopLine(){
   bool New;
   int StopBar, Error;
   double Shift;
   datetime StopLine;
   if( ObjectFind("StopLine")==0 ){                // Есть стоп-линия
      StopLine=ObjectGet("StopLine",OBJPROP_TIME1);// Время стоп-линии
      StopBar=iBarShift(NULL,0,StopLine);          // Бар стоп-линии
      LastBar=StopBar+1;                           // Бар окончания построения
      if( StopBar<=БарОкончания ){                 //    правее или на последнем баре
         LastBar=БарОкончания;                     // Перенести на нулевой бар
         StopBar=LastBar-1;
         StopLine=Time[StopBar];
         if( !ObjectMove("StopLine",0,StopLine,0) ){
            if( !РежимОтладки ) PlaySound("alert.wav");
            Print("***   StopLine - объект не перемещен, ошибка "+GetLastError());
      }  }
      if( StopLine!=OldStopLine ){                 // Новая стоп-линия
         ReInit();                                 // Повторная инициализация
         ClearScreen();                            // Очистить экран
         Shift=0.01*(WindowPriceMax()-WindowPriceMin())*СдвигИндикатораТиков;
         Error=fArrow("TickIndicator","",0,StopBar // Сформировать индикатор тика
                     ,WindowPriceMin()+Shift,0,0,0,0
                     ,ЗнакИндикатораТиков,ЦветИндикатораТиков,РазмерИндикатораТиков);
         OldStopLine=StopLine;                     // Стоп-линия обработана
         New=true;                                 // Выполнить построение заново
      }
      else{                                        // Нет новой стоп-линии
         New=false;                                // Построение заново не выполнять
   }  }
   else{                                           // Нет стоп-линии
      New=false;                                   // Построение заново не выполнять
      Error=fObjectDelete("TickIndicator");        // Удалить индикатор тика
   }
   return(New);
}
а можно просто использовать значки фракталов, не закрывающие экстремумы баров, вот так: 

 

Sigo sin entender las prioridades y el orden de las operaciones, por ejemplo

*
/
%

Multiplicación
División
Modulo división

De izquierda a derecha


¿Cuál es el valor de a=b/s*s, a=b o a=b/s^2?

 
evillive:


¿A qué equivaldrá la expresión a=b/c*s, a=b o a=b/c^2?

Comprobado con el script:

   double a;
   double b=10.0;
   double c=4.0; 
   a=b/c*c;
   Print("a=",a);

Imprimir en el registro: a=10.0

PD: y si haces esto: a=c*c/b; entonces la impresión será a=1,6

 
tuner:

Comprobado con el script:

Imprimir en el registro: a=10.0

PD: y si haces esto: a=c*c/b; entonces la impresión será a=1.6

Pues sí, yo mismo lo he comprobado, pero en el manual sobre las prioridades dicen que la multiplicación tiene prioridad sobre la división, por lo que la multiplicación debería hacerse primero, si los paréntesis no especifican el orden, ¿no?


En la práctica, la división es lo primero, luego la multiplicación...