Graciaseevviill,peromis conocimientossonmuy complicados.Estoyempezandocon la programación,sonautodidactasy me cuestaentenderalgunas cosas. Gracias por todo,Massimo.
omissamf: Graciaseevviill,peromis conocimientossonmuy complicados.Estoyempezandocon la programación,sonautodidactasy me cuestaentenderalgunas cosas. Gracias por todo,Massimo.
int seconds=3;
intOnInit()
{
EventSetTimer(seconds);
IndicatorBuffers(2);
SetIndexBuffer(0, Buffer1);
SetIndexEmptyValue(0, 0);
SetIndexArrow(0, 241);
SetIndexBuffer(1, Buffer2);
SetIndexEmptyValue(1, 0);
SetIndexArrow(1, 242);
//initialize myPoint
myPoint = Point();
if(Digits() == 5 || Digits() == 3)
{
myPoint *= 10;
}
return(INIT_SUCCEEDED);
}
//_____________________________________________//_____________________________________________int start()
{
return(0);
}
voidOnTimer(){
//Indicator Buffer 1if(iRSI(NULL, PERIOD_CURRENT, 2, PRICE_CLOSE, 0) < 30
)
{
Buffer1[0] = Low[0] - iATR(NULL, PERIOD_CURRENT, 14, 0); //Set indicator value at Candlestick Low - Average True Rangeif(0 == 0 && Time[0] != time_alert) { myAlert("indicator", "Buy"); time_alert = Time[0]; } //Instant alert, only once per bar
}
else
{
Buffer1[0] = 0;
}
//Indicator Buffer 2if(iRSI(NULL, PERIOD_CURRENT, 2, PRICE_CLOSE, 0) > 70
)
{
Buffer2[0] = High[0] + iATR(NULL, PERIOD_CURRENT, 14, 0); //Set indicator value at Candlestick High + Average True Rangeif(0 == 0 && Time[0] != time_alert) { myAlert("indicator", "Sell"); time_alert = Time[0]; } //Instant alert, only once per bar
}
else
{
Buffer2[0] = 0;
}
}
}
Graciaseevviill, sucódigo funciona,pero no soydela señal después de tres segundos que abrióla vela,pero si,por ejemplo,RSIestá por encima del nivel70después de 30 segundosque la velaestá abierta,el códigodeja3/2todavíay luegotraelaflecha. Por ahorael código quemás se acercaes elque me sugirió GumRai,perome da la señal y establece laapertura de la vela y nodespués de 3 segundos .
Gracias por todo,Massimo.
int start(){
if (BarStart !=Time[0])
{
BarStart = Time[0];
//This is the code suggested by GumRai. This works well, but the arrow appears and fixed the opening of the candle, instead of 3 seconds after its opening.
Esto debería comprobar en el primer tick recibido que sea al menos 3 segundos después del tiempo de apertura de la barra
Tenga en cuenta que si la barra ha estado abierta n segundos cuando el indicador se inicializa y n es >3, se comprobará en ese momento. Además, obviamente, no funcionará con barras históricas.
Esto debería comprobar en el primer tick recibido que es al menos 3 segundos después de la hora de apertura de la barra
Ten en cuenta que si la barra ha estado abierta n segundos cuando se inicializa el indicador y n es >3, se comprobará en ese momento. Además, obviamente, no funcionará con barras históricas.
:))))
1)Me gustaría modificar este código para que la alerta, en lugar de aparecer en la apertura de la vela, detecte las condiciones después de unos segundos.
2)pero no me salela señal después de lostres segundos que abrióla vela
1)Me gustaría modificar este código para que la alerta, en lugar de aparecer en la apertura de la vela, detecte las condiciones después de unos segundos.
2)pero noestoy de laseñal después detres segundosque abrióla vela
¿Cuál es su punto?
eevviill:
:))))
P.D. No uses Time[0], usa Bars
¿Por qué no? No hay nada malo en usar Time[0] para detectar una nueva barra.
Hola chicos,¡¡¡soisgeniales!!! No sécómo agradecerosvuestra colaboración. El códigopublicadoeevviillfunciona muy bien, a esome refería. El código de GumRaien cambiohacerepintarydarla señalcada vez queelRSIcruzalosniveles30/70. Inserto el código que funciona según las sugerencias de eevviill,esperando quesirva un pocomás.
Gracias por todo, Massimo.
Gracias eevviill, pero mis conocimientos son muy complicados. Estoy empezando con la programación, son autodidactas y me cuesta entender algunas cosas.
Gracias por todo, Massimo.
Por ahora el código que más se acerca es el que me sugirió GumRai, pero me da la señal y establece la apertura de la vela y no después de 3 segundos .
Gracias por todo, Massimo.
pero nosoy de la señal después detres segundosque abrióla vela
Mejor escribirlo primero y no "necesito cada 3 segundos de alerta".
Esto debería comprobar en el primer tick recibido que sea al menos 3 segundos después del tiempo de apertura de la barra
Tenga en cuenta que si la barra ha estado abierta n segundos cuando el indicador se inicializa y n es >3, se comprobará en ese momento. Además, obviamente, no funcionará con barras históricas.
Esto debería comprobar en el primer tick recibido que es al menos 3 segundos después de la hora de apertura de la barra
Ten en cuenta que si la barra ha estado abierta n segundos cuando se inicializa el indicador y n es >3, se comprobará en ese momento. Además, obviamente, no funcionará con barras históricas.
:))))
1)Me gustaría modificar este código para que la alerta, en lugar de aparecer en la apertura de la vela, detecte las condiciones después de unos segundos.
2)pero no me salela señal después de lostres segundos que abrióla vela
P.D. No utilice Time[0], utilice Bars
:))))
1)Me gustaría modificar este código para que la alerta, en lugar de aparecer en la apertura de la vela, detecte las condiciones después de unos segundos.
2)pero noestoy de laseñal después detres segundosque abrióla vela
¿Cuál es su punto?
:))))
P.D. No uses Time[0], usa Bars
¿Por qué no? No hay nada malo en usar Time[0] para detectar una nueva barra.
No sé cómo agradeceros vuestra colaboración.
El código publicado eevviill funciona muy bien, a eso me refería.
El código de GumRai en cambio hace repintar y dar la señal cada vez que el RSI cruza los niveles 30/70.
Inserto el código que funciona según las sugerencias de eevviill, esperando que sirva un poco más.
Gracias por todo, Massimo.