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; }
#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.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
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 =(.