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

 
Tengo una pregunta: ¿qué muestra iClose() en el probador para la barra cero (la barra más a la derecha en el gráfico del probador abierto ) del marco temporal superior? Si no me equivoco, resulta que la barra aún no está cerrada pero ya vemos su precio de cierre como si ya se hubiera completado. Lo he comprobado en el modo de todos los ticks. ¿Es así?
 
Close[0] e iClose(Symbol(),Period(),0) - siempre muestra el último precio actual (Bid)
 
FAQ:
Close[0] e iClose(Symbol(),Period(),0) - siempre muestran el último precio actual (Bid)

Entiendo que si se especifica "0", el probador considerará la última barra de todo el historial. En este caso considero la barra de la derecha en el gráfico, pero no es la última.

Prefiero formular la pregunta de otra manera - el probador está abierto con el periodo M5 y usando iClose/ iHigh/... para simular el trabajo con una barra en el periodo H1. ¿Puedo utilizar iHigh() para ver cómo cambia el High de una barra simulada en el periodo H1 al añadir nuevas barras M5 al probador?
O usando iClose/ iHigh/... ¿siempre vemos los valores de una barra completamente formada en el Probador de Estrategias en la barra cero?

 
Sí, hay un agujero de este tipo en el probador, al menos lo había. Creo que se ha corregido en una de las nuevas versiones, tengo que comprobarlo.
 
¿Cómo se puede eliminar la línea media en un canal de regresión lineal? ¿En qué línea debo escribir esto en el EA?
 
FAQ:
Sí, hay un agujero de este tipo en el probador, al menos lo había. Creo que hay una solución en una de las nuevas construcciones, tengo que comprobarlo.

Ahora lo he comprobado en la versión 509, pero el resultado es el mismo.
En mi código de indicador (se ejecuta en EA vacío en modo de visualización) no hay ningún error? -

Los comentarios en la pantalla muestran que en el momento en que aparece la 1ª barra M5 de una nueva barra H1 iClose / iHigh / ... etc. ya saben cómo van a terminar las cosas para H1, asomándose al futuro - buena idea para un grial que vender ;)))

int start() {

   int Bars_Per_Chart                   = WindowBarsPerChart()   + 1;
   int First_Visible_Bar                  = WindowFirstVisibleBar();
   int Last_Bar_On_Right              = First_Visible_Bar - Bars_Per_Chart + 1;

   if( Last_Bar_On_Right<0 ) {
       Last_Bar_On_Right              = 0;
       Bars_Per_Chart                    = First_Visible_Bar + 1;
   }


      int          Shift_MTF_0           = iBarShift(MTF_Currency, MTF_TimeFrame, Time[Last_Bar_On_Right] );

      double    MTF_Close_0        = iClose(   MTF_Currency, MTF_TimeFrame, Shift_MTF_0 );
      double    MTF_Open_0         = iOpen(    MTF_Currency, MTF_TimeFrame, Shift_MTF_0 );
      double    MTF_High_0          = iHigh(    MTF_Currency, MTF_TimeFrame, Shift_MTF_0 );
      double    MTF_Low__0         = iLow(     MTF_Currency, MTF_TimeFrame, Shift_MTF_0 );
      datetime MTF_Time_0          = iTime(    MTF_Currency, MTF_TimeFrame, Shift_MTF_0 );

 . . . 
 
atztek:

Ahora lo he comprobado en la versión 509, pero el resultado es el mismo.
El código de mi indicador (lo tengo corriendo en un EA vacío en modo de visualización) no muestra ningún error? -

Los comentarios en la pantalla muestran que en el momento en que aparece la 1ª barra M5 de una nueva barra H1 iClose / iHigh / ... etc. ya saben cómo va a terminar para H1, ver el futuro.







¿Quiere decir que está dibujando el indicador en el gráfico en modo de visualización?

Entonces todo es correcto. El indicador toma el último dato conocido

 
Vinin:


¿Quiere decir que está dibujando el indicador en el gráfico en modo de visualización?

Entonces todo es correcto. El indicador toma el último dato conocido


Sí, tengo un EA shell y lo uso para probar el rendimiento del indicador en el historial.
Aparentemente el problema se resolverá con iHighest / iLowest para M5 considerando el tiempo de apertura/cierre de H1.
 

Por favor, aconséjeme, ¿por qué el indicador MACD imprime en lugar de 6 decimales sólo 4...y por lo tanto 0.000190 es 0.000110 allí?

Probé NormalizeDouble(MACD,6) - sin resultado... los mismos 4 dígitos...

 
lottamer:

Por favor, aconséjeme, ¿por qué el indicador MACD imprime en lugar de 6 decimales sólo 4...y por lo tanto 0.000190 es 0.000110 allí?

Probé NormalizeDouble(MACD,6) - sin resultado... los mismos 4 dígitos...


Pruebe a utilizarDoubleToStr