绘制一个正方形或长方形。真的需要帮助...

 

如何使货币对价格变化时在图表上画出一个正方形或矩形,保持15秒,删除后在下次价格变化时再次出现?

请帮助我,我已经为这个问题纠结了很久。只是画画很容易,但当价格发生变化时--没办法=(。

 

对不起,没有时间自己写代码和调试,但我想你可以处理我的TOR。我需要做这个指标。

1)声明静态变量静态双倍PrevPrice=0.0。

2) 开始时,我们写下以下结构

如果(PrevPrice!=Bid)

{

DeleteBox(...); /* 删除矩形(如果它还在那里) */

DrawBox(...); /*绘制矩形*/

Sleep(15000); /* 等待15秒 */

DeleteBox(...); /* 删除矩形 */

PrevPrice=Bid; /*记住新检查的新价格 */

}

 

DeleteBox(...)。

DrawBox(...)。



我甚至无法在帮助中找到这些功能,但感谢你的回答。

 

睡眠功能 在指标中不起作用。

你需要一个专家顾问或一个能无限循环工作的脚本。

 

我需要在EA中做到这一点,第二个函数。有一个这样的EA。


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

我需要在EA中做到这一点,第二个函数。有一个这样的EA。

要添加MQL4代码,请在编辑器中使用添加源代码命令。

 
很好。
 
Chaos666 писал (а)>>

DeleteBox(...)。

DrawBox(...)。

我甚至无法在帮助中找到这些功能,但感谢你的回答。

而你不会的。你将不得不自己完成这些功能。

 
我就是这样理解的。不幸的是,我对它非常不熟悉,只是在学习。我需要例子,所以我请求帮助....
 
#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;
}
这是给你的一个顾问,作为一个例子。实验。
 
非常感谢你。