[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 615

 
ALex2008:
Entonces, en lugar de PERIOD_M1, etc., ¿se puede poner simplemente un número entero correspondiente al periodo? Concretamente, en lugar de iOpen(NULL,PERIOD_M1,1, ¿puede iOpen(NULL,1,1?

Sí, has acertado.
 
FAQ:
Ya casi está. Gracias.
 
Fox_RM:
Ya casi está. Gracias.


¿Qué quieres decir con "casi"? No lo necesitamos, queremos un éxito absoluto :)

 
¿Puede sugerir un buen asesor?
 
kuk:
¿Qué es un buen concejal?

Que imprime su propia pasta y lleva el café a la cama...

Y todo el tiempo aconseja ...

Bajo el Presidente de toda Rusia... DDD


El EA autodidacta es el mejor (si puedes hacerlo así)

 

Chicos, por favor, díganme cómo sacar los valores day_max, day_min de un indicador. Está claro que iCustom, pero ¿cómo? Es decir, el búho tiene un indicador de este tipo insertado en él.

aquí está la cabecera...

#property copyright "DOC"
#property link "none"


#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_color3 Green
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double ExtMapBuffer5[];
double day_max;
double day_min;

 
DOCTORS:

Chicos, por favor, díganme cómo sacar los valores day_max, day_min de un indicador. Está claro que iCustom, pero ¿cómo? Es decir, el búho tiene un indicador de este tipo insertado en él.

Aquí está la cabecera...

#property copyright "DOC"
#property link "none"


#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_color3 Green
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double ExtMapBuffer5[];
double day_max;
double day_min;


Por qué molestarse en sacarlos, cuando sería mucho más fácil calcular en el EA.

Tanto más cuanto que sólo se pueden tomar tampones indicadores del indicador

 
Vinin:


Y por qué sacarlos cuando es más fácil calcularlos en el EA.

Sobre todo porque sólo se pueden tomar los tampones del indicador


Bueno, por lo menos mostrar los topes de los indicadores... :( Sólo estoy confundido en este momento, si en el tablero para buscar max/min del día anterior. Es decir, en mi indicador es fácil - así que el bucle, pero mi búho se atasca ... + problema con el recuento de la barra actual (porque puedo usar búho en cualquier momento) a la última barra del día anterior (para calcular los máximos). Tal vez me puedas decir cómo llegar desde la barra actual hasta la última barra del día anterior... al menos la fórmula para 30 min, es decir, quiero ver el algoritmo...
 
DOCTORS:

Bueno, al menos mostrar los topes de los indicadores ...:( Acabo de perplejo en este punto, si el consejo de prescribir una búsqueda de max/min del día anterior. Es decir, en mi indicador es fácil - así que el bucle, pero mi búho se atasca ... + problema con el conteo de la barra actual (porque el búho puede ser activado en cualquier momento) a la última barra del día anterior (para calcular los máximos). Tal vez puedas decirme cómo llegar desde la barra actual hasta la última barra del día anterior... al menos la fórmula para 30 min.


iHigh(NULL, PERIOD_D1,1) - el máximo de ayer

iLow(NULL, PERIOD_D1,1) - mínimo de ayer

iOpen(NULL, PERIOD_D1,1) - apertura de ayer

iClose(NULL, PERIOD_D1,1) - cierre de ayer

 

Vinin:



iHigh(NULL, PERIOD_D1,1) - el máximo de ayer

iLow(NULL, PERIOD_D1,1) - el mínimo de ayer

iOpen(NULL, PERIOD_D1,1) - apertura de ayer

iClose(NULL, PERIOD_D1,1) - cierre de ayer


Pido disculpas por mi falta de corrección en relación con mis peticiones... La conclusión es que el cálculo en los máximos de los diferentes plazos es diferente, esto es comprensible, por lo tanto, hice lo siguiente (necesario para una estrategia de comercio en diferentes plazos):

double ExtMapBuffer1[];

double day_max;

......

int start()

{

int counted_bars = IndicatorCounted();

int limit;
//---- последний посчитанный бар будет пересчитан

if((counted_bars > 0))

counted_bars--;
limit = Bars - counted_bars;
//---- основной цикл

for(int i = 1; i < limit; i++)
{int k,z,t,b,l,n;

k=TimeHour(Time[i]);
z=TimeMinute(Time[i]);
t=Period();

if (t==60){b=24; //значение b определяет количество баров для дня на таймфрейме.
l=24*Period()*60; //l используется для доп. значений, тут не актуально
}


if (t==30){b=48;
l=48*Period()*60;
}

....

....

if (Close[iHighest(NULL,0,MODE_CLOSE,b,i)]> Open[iHighest(NULL,0,MODE_OPEN,b,i)])
{

ExtMapBuffer1[i] = Close[iHighest(NULL,0,MODE_CLOSE,b,i)];
day_max=Close[iHighest(NULL,0,MODE_CLOSE,b,i)];//сделал для того, что значение ExtMapBuffer1[i] при выводе на экран почему-то 0, тогда как day_max показыает правильно...
..... //тут графика

}

else if (Close[iHighest(NULL,0,MODE_CLOSE,b,i)]<= Open[iHighest(NULL,0,MODE_OPEN,b,i)])
{ExtMapBuffer1[i] = Open[iHighest(NULL,0,MODE_OPEN,b,i)];
day_max= Open[iHighest(NULL,0,MODE_OPEN,b,i)];

//опять графика

}

....}