Bares de recuento incluidos los fines de semana - página 2

 
forex2030:

No entiendo para qué me servirá esto.

Tal vez algún tipo de enumeración de día a punto y si en el período día = 6 o 0 entonces día++;

No tiene sentido. Todos los gráficos en el mercado (de cualquier tipo) se hacen sobre la base de que simplemente no hay días libres.

 
Алексей Тарабанов:

No tiene sentido. Todos los gráficos en el mercado (cualquier mercado) se hacen sobre la base de que simplemente no hay días libres.

Es posible recorrer los días, por ejemplo, si la última fecha es 15 y luego se conoce la fecha 18, entonces recordaremos +2 (es decir, 16 y 17 días libres).

 
forex2030:

Es posible recorrer los días, por ejemplo, si la última fecha es el 15 y luego se conoce la fecha 18, entonces recuerda +2 (es decir, los fines de semana 16 y 17)

Puedes hacerlo si realmente quieres. No tiene sentido.

La tendencia continuará el día 18. De 15 a 18 es un bar.

 
Алексей Тарабанов:

Puedes hacerlo si realmente quieres. No tiene sentido.

¿Cómo es que no tiene sentido?
Añadiré este valor a mis barras y obtendré 12+4=16 barras y la línea se situará en la fecha correcta al final

 
forex2030:

¿Cómo que no tiene sentido?
Añadiré este valor a mis barras y obtendré 12+4=16 barras y la línea se situará en la fecha deseada al final

La línea queda suspendida en el aire.

 
Алексей Тарабанов:

La línea colgará en el aire.

Si añado 16 compases al primer punto en lugar de 12 compases, ¿por qué se quedará colgado en el aire?

 
forex2030:

Si añado 16 compases al primer punto en lugar de 12 compases, ¿por qué quedaría colgado en el aire?

Buenas noches.

 

Necesito algo así, pero bien enmarcado, es sólo una idea

int NumData(datetime data1,datetime data2){
    int num=0;
    for (int d=data1; d>=data2; d--)
    if(TimeDayOfWeek(d)==6 || TimeDayOfWeek(d)==0) num++;
return(num);}
 
¿Por qué no se toma este problema y se resuelve? Conocidas las fechas de inicio y fin, podemos contar el número total de días entre ellas. A continuación, cuente el número total de semanas completas. Cada semana tiene cinco días de trabajo y dos de descanso: es fácil. Los problemas con el resto (supondremos que es al principio), dependiendo del primer día de la semana y su duración, el resto puede o no tomar el fin de semana. Tendríamos que escribir un conmutador para siete opciones para cada día de la semana y realizar siete cálculos en función del día de la semana del inicio y la duración del resto. A continuación, mira este interruptor y quizás puedas ver cómo se pueden generalizar y simplificar estos cálculos. La cuestión es que hay que hacer algo.
 
Dmitry Fedoseev:
¿Y por qué no resolver este problema? Conocidas las fechas de inicio y fin, podemos calcular el número total de días que hay entre ellas. A continuación, cuente el número total de semanas completas. Cada semana tiene cinco días de trabajo y dos de descanso: es fácil. Los problemas con el resto (supondremos que es al principio), dependiendo del primer día de la semana y su duración, el resto puede o no tomar el fin de semana. Tendríamos que escribir un conmutador para siete opciones para cada día de la semana y realizar siete cálculos en función del día de la semana del inicio y la duración del resto. A continuación, mira este interruptor y quizás puedas ver cómo se pueden generalizar y simplificar estos cálculos. La cuestión es que hay que hacer algo.

complicado, hay un tiempo entre fechas en segundos (datetime) - esto es suficiente para calcular el número de días enteros en los que 24 horas, 60 minutos en cada hora y 60 segundos en un minuto.... google para ayudar

Si hablamos de una forma retorcida de contar, puedes hacerlo así:

input datetime d_start = D'2020.01.01';
input datetime d_stop  = D'2020.02.01';
//+------------------------------------------------------------------+
void OnStart()
{
   MqlDateTime dts[2];
   TimeToStruct(d_start,dts[0]);
   TimeToStruct(d_stop,dts[1]);
   printf("Между датами %i дней",dts[1].day_of_year - dts[0].day_of_year);
}
//+------------------------------------------------------------------+

es posible como sugieres, contar cada barra y averiguar si hubo algún día de descanso entre la barra actual y la anterior.... en general aquí sólo el deseo está limitado por la posibilidad de complicar la tarea ))))