Lo siento, no tengo tiempo para escribir el código yo mismo y depurarlo, pero creo que puede manejar mi TOR. Necesito hacer este indicador:
1) Declarar la variable estática double PrevPrice=0.0;
2) Al principio escribimos la siguiente construcción
if(¡Precio anterior!=Oferta)
{
DeleteBox(...); /* eliminar el rectángulo (en caso de que aún esté ahí) */
DrawBox(...); /* dibujar rectángulo */
Sleep(15000); /* esperar 15 segundos */
DeleteBox(...); /* borrar rectángulo */
PrevPrice=Bid; /* recuerda el nuevo precio para la nueva comprobación */
}
DeleteBox(...);
DrawBox(...);
No he podido encontrar estas funciones en la ayuda, pero gracias por la respuesta.
La función Sleep no funciona en los indicadores.
Necesitas un Asesor Experto o un script que funcione en un bucle infinito.
Necesito hacer esto en un EA, la segunda función. Hay un EA así:
static double mSaveAsk; int init() { mSaveAsk = Ask; } int start() { if ( Ask != mSaveAsk ) { PlaySound("alert.wav"); } mSaveAsk = Ask; }
#property copyright "Copyright © 2008, D500" #property link "http://www.metaquotes.net" extern int Timer=15; extern color Coler=OrangeRed; double PrevPrice; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- if(PrevPrice!=Bid) { if (ObjectFind("QUADRO")==0) DeleteBox(); /* удаляем прямоугольник (на случай если он все еще есть) */ DrawBox(); /* рисуем прямоугольник */ Sleep(Timer*1000); /* ждем 15 секунд */ PrevPrice=Bid; /* запоминаем новую цену для новой проверки */ } //---- return(0); } //+------------------------------------------------------------------+ void DrawBox() { ObjectCreate("QUADRO",OBJ_RECTANGLE,0,Time[5],Close[0]-10*Point,Time[0],Close[0]+10*Point); ObjectSet("QUADRO",6,Coler); return; } //-------------------------------------------------------------------+ void DeleteBox() { ObjectDelete("QUADRO"); return; }Este es un asesor para usted como ejemplo. Experimento.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
¿Cómo puedo hacer que se dibuje un cuadrado o rectángulo en el gráfico cuando cambia el precio de un par de divisas, mantenerlo durante 15 segundos, borrarlo y que vuelva a aparecer la próxima vez que cambie el precio?
Por favor, ayuda, he estado luchando con esto durante mucho tiempo. Dibujar es fácil, pero cuando el precio cambia - no hay manera =(.