[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 23

 
Sergey2011:

No entiendo cómo estar en 15 minutos, a través de qué función de tiempo, para organizar un ciclo de enumeración por día.

Espero que la pregunta esté clara.

Gracias por la ayuda


Mira la ayuda de iBarShift y/o puedes trabajar directamente con las barras diarias así: iOpen(Symbol(),PERIOD_D1,1) - apertura del día anterior, etc.
 
Ereke:
¡Otro Smartypants !
¡No tienes ni idea de la razón que tienes en tu caracterización de este foro! Es de esperar que también saque las conclusiones correctas sobre sí mismo y la calidad de sus investigaciones, ya que ha llegado a ese entorno.
 
granit77:
¡No tienes ni idea de la razón que tienes en tu caracterización de este foro! Espero que también saques las conclusiones correctas sobre ti mismo y la calidad de tus investigaciones, ya que has llegado a un entorno así.
+10 :)
 
granit77:
¡No tienes ni idea de la razón que tienes en tu caracterización de este foro! Espero que saques las conclusiones correctas sobre ti mismo y la calidad de tus consultas también, ya que estás en un entorno así.

artmedia70

GRACIAS! ..................... ¡Ya me han ayudado!

 
artmedia70: Victor lo dijo bien - un tiro al aire...
Me recuerda una anécdota...
Dos Chukchi se pierden en el bosque...
-Dispara al aire, tal vez alguien escuche y ayude...
Unos minutos después...
-Dispara un poco más.
-No puedo, me he quedado sin flechas...
 
volshebnik:
El precio de cierre puede estar muy por encima del fractal (si el fractal es alcista) y entonces se pierde el beneficio potencial. Compruebo la ruptura del precio en cada tick.


Estoy de acuerdo, se puede hacer eso, como la orden de compra se abre en el ask, se puede comparar con el ask...

if (Ask > upfractal) { DO IT }

A la pregunta - por qué no se activan todas sus condiciones de entrada, lo explicaré de nuevo en detalle - es debido a un cálculo fractal incorrecto...

Para calcular correctamente el valor del último fractal, debes utilizar esta construcción utilizando una variable auxiliar...

 fractal_h = iFractals(Symbol(),PERIOD_H1, MODE_UPPER, 3);
   if(fractal_h!=0)  upfractal=iFractals(Symbol(), PERIOD_H1, MODE_UPPER, 3); 
   
   fractal_l = iFractals(Symbol(), PERIOD_H1, MODE_LOWER, 3);
   if(fractal_l!=0)  dwfractal=iFractals(Symbol(),PERIOD_H1, MODE_LOWER, 3); 

En tu código, no está y el fractal ha aparecido, sí, has memorizado bien su valor. Lo has escrito correctamente, no en la 3ª barra, sino en la 2ª, cuando ya sabemos su valor en la barra 0, lo que pasa después... Si el precio no rompe el valor del último fractal en la siguiente barra, y, por ejemplo, "pequeños pasos", en cada barra posterior se mueve a su penetración sin formar un fractal regular (lo que suele ocurrir), entonces su situación es ... su valor fractal calculado se restablece a "0" por sí mismo... y no es necesario ponerlo a cero adicionalmente como haces en tu código (no citaré dónde lo sabes)... Y por eso el upfractal !=0 aparece sólo en la barra siguiente a la calculada (donde estaba el último fractal) ...

Por eso recuerdan y mantienen el valor del fractal más reciente cuando se forman las barras posteriores simplemente introduciendo una variable auxiliar, prueba a hacer estos cambios en tu código y verás que las operaciones se hacen justo en la ruptura del último fractal y da igual cuántas barras más tarde se produzca esta ruptura, si aún no lo entiendes, introduce la huella en lugar de tu alerta y mira cómo cambia la variable upfractal con cada nueva barra y lo entenderás todo - se reinicia a "0" en la nueva barra formada, y el fractal se rompe, digamos, en la 8ª barra - eso es todo, su valor ha sido igual a cero durante mucho tiempo.

Así es con usted:


  
            
                upfractal=iFractals(Symbol(), PERIOD, MODE_UPPER, 3);
                Alert("upfractal вначале = ",upfractal);
if (Двверх==true && upfractal !=0 && Bid > NormalizeDouble(upfractal+1*Point,Digits) && Tвверх!=Time[0] && Сделкавверх==false) // Условие открытия ордера при пробитии фрактала вверх

Así es como debe ser:

 fractal_h = iFractals(Symbol(),PERIOD_H1, MODE_UPPER, 3);
   if(fractal_h!=0)  upfractal=iFractals(Symbol(), PERIOD_H1, MODE_UPPER, 3);
 if (Двверх==true && Ask > NormalizeDouble(upfractal+1*Point,Digits) && Tвверх!=Time[0] && Сделкавверх==false) 
   

"Roman, ¿por qué? ¿No es lo mismo? Por ejemplo, si MA_8<MA_2 es lo mismo que (MA_8-MA_2)<0 ?"

Es lo mismo, pero para el funcionamiento en el mundo real y una fiabilidad de 100, para no tener terreno para posibles "fallos" - se necesita la 2ª opción.

P.D. En lugar de alertas, utilice impresiones y siga los valores de las variables resultantes a lo largo del tiempo en el probador en el registro de EA para analizar el funcionamiento "correcto" de su búho.

 
Roman.:


Estoy de acuerdo, se puede hacer eso, ya que la orden de compra se abre en el ask, se puede comparar con el ask...

if (Ask > upfractal) { DO IT }

Visualmente, analizo el gráfico en busca de la penetración de un fractal y busco dependencias por el precio visible, es decir, la oferta. Por eso considero que una ruptura fractal es una oferta (y el upfractal también da una oferta, no una demanda).
 
Ejemplo:
  datetime some_time=D'2004.03.21 12:00'; int shift=iBarShift("EUROUSD",PERIOD_M1,some_time); Print("el desplazamiento de la barra con tiempo de apertura ",TimeToStr(some_time)," es ",shift);

He mirado en la ayuda, no entiendo (no lo consigo) cómo especificar en la variable "some_time" en 15 minutos, que necesito el día anterior, es decir, si hoy es 25 de enero. 2011 cómo puedo establecer el 24, 23, 22, etc. de enero para buscar.

Gracias si puedes explicarlo.

 
volshebnik:
Analizo visualmente el gráfico en busca de la penetración de un fractal y busco dependencias por el precio visible, es decir, la oferta. Por eso considero que una ruptura fractal es una oferta (y el upfractal también da una oferta, no una demanda).


también puedes hacerlo así, no es importante :-)))

¿Ya te has dado cuenta?

 
Roman.:


Estoy de acuerdo, puedes hacerlo así, ya que la orden de compra se abre en el ask, puedes compararla con el ask...

A la pregunta de por qué no se activan todas las condiciones de entrada, te lo vuelvo a explicar con detalle: es porque el fractal no está calculado correctamente...

Para calcular correctamente el valor del último fractal es necesario utilizar dicha construcción con el uso de la variable auxiliar...

En tu código no está y el fractal ha aparecido, sí, has memorizado bien su valor, lo has escrito correctamente, no en la 3ª barra, sino en la 2ª, cuando conocemos su valor en la barra 0, lo que pasa después... Si el precio no rompe el valor del último fractal en la siguiente barra, y, por ejemplo, "pequeños pasos", en cada barra posterior se mueve a su penetración sin formar un fractal regular (lo que suele ocurrir), entonces su situación es ... su valor fractal calculado se restablece a "0" por sí mismo... y no es necesario ponerlo a cero adicionalmente como haces en tu código (no citaré dónde lo sabes)... Y por eso upfractal !=0 sólo en la siguiente barra después de la calculada (donde estaba el último fractal).

Por eso recuerdan y mantienen el valor del último fractal cuando se forman las barras posteriores sólo con introducir una variable auxiliar, intenta corregir estos cambios en tu código y verás que las operaciones se hacen justo en la ruptura del último fractal y no importa cuántas barras después se produzca esta ruptura,

Sí, Roman, muchas gracias. He añadido un parámetro auxiliar para la definición del fractal, ahora todas las operaciones están abiertas.
Razón de la queja: