Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Gracias por el código y la codificación Altoronto,
Muchas gracias, estoy listo para el siguiente paso
Gracias Altoronto,
El siguiente paso para este código es determinar la misma línea para todos los períodos, en el mismo punto, sin cambios durante el día, en el primer minuto para la vela a las 00:00 para el día en curso.
He adjuntado una imagen con descripciones para una mejor comprensión:
¿Puede usted o algún cuerpo ayudarme a codificar esto, y la codificación en el indicador?
Gracias de nuevo,
Si esto finalmente funciona enviaré una botella de buen vino chileno a quienes me ayuden,
Gracias de nuevo,
Daniel1983
Gracias Altoronto,
El siguiente paso para este código es determinar la misma línea para todos los períodos, en el mismo punto, sin cambios durante el día, en el primer minuto para la vela a las 00:00 para el día en curso.
He adjuntado una imagen con descripciones para una mejor comprensión:
¿Puede usted o algún cuerpo ayudarme a codificar esto, y la codificación en el indicador?
Gracias de nuevo,
Si esto finalmente funciona enviaré una botella de buen vino chileno a quienes me ayuden,
Gracias de nuevo,
Daniel1983Daniel1983
Si está usando la primera barra cerrada alta y baja, habrá cambios durante el día
Sr. Mladen,
¿Por qué habrá cambios durante el día? Creo que sólo hacer el cálculo una vez y sólo para la primera vela de cada día. No las velas siguientes, no lo entiendo
en t=1 del día 1 hacer el cálculo para t= 0 del día 1, resultado dibujar una línea
sólo para el día que estás usando el indicador, a las 23:59 del día haz que deje de funcionar hasta el próximo día el precio del indicador para la 1ª vela
el próximo día
en t=1 del día 2 hacer el cálculo para t= 0 del día 2, el resultado es una línea
espero que este más claro
Sr. Mladen,
¿Por qué habrá cambios durante el día? Estoy pensando en hacer el cálculo sólo una vez y sólo para la primera vela de cada día. No las velas siguientes, no lo entiendo
en t=1 del día 1 hacer el cálculo para t= 0 del día 1, resultado dibujar una línea
sólo para el día que estás usando el indicador, a las 23:59 del día haz que deje de funcionar hasta el próximo día el precio del indicador para la 1ª vela
el próximo día
a las t=1 del día 2 hacer el cálculo para t= 0 del día 2, resultado dibujar una línea
espero que aquí esté más clarodaniel1983
High[1] y Low[1] significa alto y bajo de la primera barra cerrada del gráfico actual. Si ese gráfico no es diario, obtendrás un cambio intradiario al cambiar el máximo y el mínimo. Además, en cualquier caso, pero cuando se utiliza el gráfico diario, usted tiene una mezcla de datos de diferentes marcos de tiempo
Ok Mladen, a ver si lo entiendo, creo que el problema es que estoy mezclando 2 timeframes en el mismo código, así que si solo uso 1 timeframe por ejemplo todo para el chart de 1 minuto, debería funcionar:
hagamos todo para un gráfico de un minuto,
fórmula del código por el precio donde la línea será =
double minuteOpen = iOpen(NULL,PERIOD_M1,1);
double number = (minuteOpen+High[1]+Low[1])/3;
de esta manera creo que el código para la línea horizontal al precio calculado debería ser para t=1, pero no funciona
//+------------------------------------------------------------------+
//| Función de inicialización del indicador personalizado |++
//+------------------------------------------------------------------+
int init()
{
//----
return(0);
}
int deinit() {
Comentario("");
ObjectDelete("KeyLine");
return(0);
}
//+------------------------------------------------------------------+
//| Función de iteración del indicador personalizada ||.
//+------------------------------------------------------------------+
int inicio()
{
double minuteOpen = iOpen(NULL,PERIOD_M1,1);
double number = (minuteOpen+High[1]+Low[1])/3;
Comment("Línea clave: ",number);
ObjectDelete("KeyLine");
ObjectCreate("KeyLine", OBJ_HLINE,1, CurTime(),number);
ObjectSet("KeyLine",OBJPROP_COLOR,Orange);
ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID);
ObjectsRedraw();
return(0);
}
Ok Mladen, a ver si lo entiendo, creo que el problema es que estoy mezclando 2 timeframes en el mismo código, por lo que si sólo uso 1 timeframe por ejemplo todo para el charting de 1 minuto, debería funcionar:
vamos a hacer todo para un gráfico de minutos,
fórmula de código por precio donde la línea será =
double minuteOpen = iOpen(NULL,PERIOD_M1,1);
double number = (minuteOpen+High[1]+Low[1])/3;
de esta manera creo que el código para la línea horizontal al precio calculado debería ser para t=1, pero no funciona
//+------------------------------------------------------------------+
//| Función de inicialización del indicador personalizado |++
//+------------------------------------------------------------------+
int init()
{
//----
return(0);
}
int deinit() {
Comentario("");
ObjectDelete("KeyLine");
return(0);
}
//+------------------------------------------------------------------+
//| Función de iteración del indicador personalizada ||.
//+------------------------------------------------------------------+
int inicio()
{
double minuteOpen = iOpen(NULL,PERIOD_M1,1);
double number = (minuteOpen+High[1]+Low[1])/3;
Comment("Línea clave: ",number);
ObjectDelete("KeyLine");
ObjectCreate("KeyLine", OBJ_HLINE,1, CurTime(),number);
ObjectSet("KeyLine",OBJPROP_COLOR,Orange);
ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID);
ObjectsRedraw();
return(0);
}No
Deberías hacerlo así :
Y de esa manera vas a obtener todos los datos de los datos diarios (no se mezclan los datos de tiempo de diferentes marcos de tiempo)
Gracias Mladen,
creo que tal vez estoy yendo demasiado rápido. Vamos a ir un poco hacia atrás sin entrar en cualquier fórmula, vamos a empezar desde antes, vamos a hacer el indicador de hacer sólo la siguiente tarea:
Dibujar una sola línea horizontal en el precio de apertura de la vela del primer minuto de cada día, vela a las 00:01 minutos, y borrarla a las 23:59 minutos.
El precio de esta línea no cambia en el tiempo para todos los períodos el mismo precio hasta las 23:59 cuando se borra, y reiniciar de nuevo a las 00:01 del día siguiente.
¿Cómo sería esto?
Gracias Mladen,
Creo que tal vez estoy yendo demasiado rápido. Vamos a retroceder un poco sin introducir ninguna fórmula, vamos a empezar desde antes, vamos a hacer que el indicador haga sólo la siguiente tarea
Dibujar una sola línea horizontal en el precio de apertura de la vela del primer minuto de cada día, vela a las 00:01 minutos, y borrarla a las 23:59 minutos.
El precio de esta línea no cambia en el tiempo para todos los períodos el mismo precio hasta 23:59 cuando se borra, y reiniciar de nuevo a las 00:01 del día siguiente.
¿Cómo sería esto?Si utiliza la fórmula que he publicado, entonces se comportará exactamente así : tan pronto como el día cambia, el valor cambiará también y se mantendrá fijo hasta el día siguiente
Gracias Mladen, hice los cambios, el indicador se ve así, pero todavía no hacen nada en el gráfico...
//------------------------------------------------------------------
#property copyright "www.forex-tsd.com"
#property link "www.forex-tsd.com"
//------------------------------------------------------------------
//+------------------------------------------------------------------+
//| Función de inicialización del indicador personalizada ||
//+------------------------------------------------------------------+
int init()
{
//----
return(0);
}
int deinit() {
Comentario("");
ObjectDelete("KeyLine");
return(0);
}
//+------------------------------------------------------------------+
//| Función de iteración del indicador personalizada ||.
//+------------------------------------------------------------------+
int inicio()
{
double number = (iOpen(NULL,PERIOD_D1,1)+iHigh(NULL,PERIOD_D1,1)+iLow(NULL,PERIOD_D1,1))/3;
Comentario("Línea clave: ",número);
ObjectDelete("KeyLine");
ObjectCreate("KeyLine", OBJ_HLINE,1, CurTime(),number);
ObjectSet("KeyLine",OBJPROP_COLOR,Orange);
ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID);
ObjectsRedraw();
return(0);
}
¿Qué estoy haciendo mal ahora?
Gracias