Desenho de um quadrado ou retângulo. Realmente precisam de ajuda...

 

Como posso fazer um quadrado ou retângulo ser desenhado no gráfico quando o preço de um par de moedas muda, mantê-lo por 15 segundos, apagá-lo e aparecer novamente na próxima vez que o preço mudar?

Por favor, ajude-me, eu tenho lutado com isto por muito tempo. Apenas desenhar é fácil, mas quando o preço muda - de jeito nenhum =(.

 

Desculpe, não há tempo para escrever o código e debugá-lo, mas acho que você pode lidar com meus Termos de Referência. Preciso fazer este indicador:

1) Declarar estático variável estática duplo PrevPrice=0,0;

2) No início, escrevemos a seguinte construção

if(PrevPrice!=Bid)

{

DeleteBox(...); /* apagar retângulo (caso ele ainda esteja lá) */

DrawBox(...); /* desenhar retângulo */

Dormir(15000); /* esperar 15 segundos */

DeleteBox(...); /* apagar retângulo */

PrevPrice=Licite; /* lembrar novo preço para novo cheque */

}

 

DeleteBox(...);

DrawBox(...);



Eu não consegui nem mesmo encontrar essas funções na ajuda, mas obrigado pela resposta.

 

A função Dormir não funciona em indicadores.

Você precisa de um Expert Advisor ou de um roteiro que funcione em um loop infinito.

 

Preciso fazer isso em uma EA, a segunda função. Existe uma EA como esta:


static double mSaveAsk;
 
int init()
{
   mSaveAsk = Ask;
}
 
int start()
{
   if ( Ask != mSaveAsk )
   {
      PlaySound("alert.wav");
   }
   mSaveAsk = Ask;
}
 
Chaos666 писал (а) >>

Preciso fazer isso em uma EA, a segunda função. Existe uma EA como esta:

Para adicionar código MQL4, por favor, use o comando adicionar código fonte no editor:

 
Bom.
 
Chaos666 писал (а) >>

DeleteBox(...);

DrawBox(...);

Eu não consegui nem mesmo encontrar essas funções na ajuda, mas obrigado pela resposta.

E você não o fará. Você mesmo terá que fazer estas funções.

 
Foi assim que eu entendi. Infelizmente eu não estou muito familiarizado com isso, apenas aprendendo. Preciso de exemplos, por isso pedi ajuda....
 
#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 é um conselheiro para você como um exemplo. Experiência.
 
Muito obrigado.
Razão: