Zeichnen eines Quadrats oder Rechtecks. Ich brauche wirklich Hilfe...

 

Wie kann ich erreichen, dass bei einer Kursänderung eines Währungspaares ein Quadrat oder Rechteck auf dem Chart gezeichnet wird, das 15 Sekunden lang bestehen bleibt, dann gelöscht wird und bei der nächsten Kursänderung wieder erscheint?

Bitte helfen Sie mir, denn ich kämpfe schon seit langem mit diesem Problem. Nur zeichnen ist einfach, aber wenn sich der Preis ändert - keine Chance =(.

 

Ich habe leider keine Zeit, den Code selbst zu schreiben und zu debuggen, aber ich denke, Sie können mit meinem TOR umgehen. Ich muss diesen Indikator erstellen:

1) Deklarieren Sie die statische Variable static double PrevPrice=0.0;

2) Zu Beginn schreiben wir das folgende Konstrukt

if(VorPreis!=Gebot)

{

DeleteBox(...); /* Rechteck löschen (falls es noch vorhanden ist) */

DrawBox(...); /* Rechteck zeichnen */

Sleep(15000); /* 15 Sekunden warten */

DeleteBox(...); /* Rechteck löschen */

PrevPrice=Bid; /* neuen Preis für neue Prüfung merken */

}

 

DeleteBox(...);

DrawBox(...);



Ich konnte diese Funktionen nicht einmal in der Hilfe finden, aber danke für die Antwort.

 

Die Funktion "Ruhezustand" funktioniert nicht bei Indikatoren.

Sie benötigen einen Expert Advisor oder ein Skript, das in einer Endlosschleife arbeitet.

 

Ich muss dies in einem EA tun, die zweite Funktion. Es gibt einen EA wie diesen:


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

Ich muss dies in einem EA tun, die zweite Funktion. Es gibt einen EA wie diesen:

Um MQL4-Code hinzuzufügen, verwenden Sie bitte den Befehl Quellcode hinzufügen im Editor:

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

DeleteBox(...);

DrawBox(...);

Ich konnte diese Funktionen nicht einmal in der Hilfe finden, aber danke für die Antwort.

Und das werden Sie auch nicht. Sie müssen diese Funktionen selbst ausführen.

 
So habe ich es verstanden. Leider kenne ich mich damit nicht aus und lerne es gerade. Ich brauche Beispiele, also habe ich um Hilfe gebeten....
 
#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;
}
Dies ist ein Berater für Sie als Beispiel. Experiment.
 
Ich danke Ihnen vielmals.
Grund der Beschwerde: