[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 80

 
tommy27:
Danke, ich habe es mit Close gemacht und wie Sie empfohlen haben:
, aber das Ergebnis wird nur aktualisiert, wenn ein neuer Balken erscheint, und ich möchte Änderungen bei jedem Tick sehen und aufzeichnen.

Wenn der EA nicht in einer Schleife läuft, wird sich das Ergebnis bei jedem Tick ändern.
 

Danke an alle, separat funktioniert alles:

//+------------------------------------------------------------------+
//|                                                        Delta.mq4 |
//|                                                          tommy27 |
//|                                                  tommy27@mail.ru |
//+------------------------------------------------------------------+
#property copyright "tommy27"
#property link      "tommy27@mail.ru"

double 
       StartPrice1,
       Delta1,
       Price00;


//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   Price00 = 5000;
StartPrice1 =  iClose(0,0,0);
//StartPrice1 = Close[0];
Delta1 = MathAbs (Price00 - StartPrice1);
//if (Delta1>1000) Delta1=0;
Comment (Delta1);
Print ("Raznica= ",Delta1);
//----
   return(0);
  }
//+------------------------------------------------------------------+

Aber der Hauptcode zählt nur bei der Schließung von Balken, ich werde es mir ansehen.

 
PapaYozh:

Wenn der EA nicht in einer Schleife läuft, wird sich das Ergebnis bei jedem Tick ändern.
Ich danke Ihnen.
 
Es gibt zwei Optionen in OrderSelect():
MODE_TRADES - die Order wird unter den offenen und schwebenden Orders ausgewählt,
MODE_HISTORY - die Order wird unter den geschlossenen und gelöschten Orders ausgewählt.

- Verstehe ich das richtig, dass MODE_TRADES nur mit OrdersTotal() und MODE_HISTORY - nur mit OrdersHistoryTotal() verwendet wird?
- Wenn ja, warum werden sie dann überhaupt benötigt?
Ich danke Ihnen!
 
chief2000:
Es gibt zwei Optionen in OrderSelect():
MODE_TRADES - die Order wird unter den offenen und schwebenden Orders ausgewählt,
MODE_HISTORY - die Order wird unter den geschlossenen und gelöschten Orders ausgewählt.

- Verstehe ich das richtig, dass MODE_TRADES nur mit OrdersTotal() und MODE_HISTORY - nur mit OrdersHistoryTotal() verwendet wird?
- Wenn ja, warum werden sie dann überhaupt benötigt?
Ich danke Ihnen!


Sie haben richtig verstanden.

Ihre zweite Frage ist nicht klar. Wenn Sie einen Auftrag nach seiner Position auswählen, müssen Sie die Gesamtzahl der Aufträge kennen

 
PapaYozh:


Sie haben richtig verstanden.

Ihre zweite Frage ist nicht klar. Wenn Sie einen Auftrag nach seiner Position auswählen, müssen Sie die Gesamtzahl der Aufträge kennen

Diese beiden Parameter (MODE_TRADES und MODE_HISTORY) werden nur im Falle von SELECT_BY_PO verwendet, aber Sie können sie komplett entfernen (verwenden Sie die Standardwerte in MT4 - für OrdersTotal() bzw. OrdersHistoryTotal()).
Es geht nicht ums Prinzip, die Hauptsache war für mich die Antwort auf die erste Frage.
Ich danke Ihnen!
 

alsu, Kauf eröffnen, wenn der Preis in den letzten 10 Minuten um mehr als 20 Pips gestiegen ist; Verkauf eröffnen, wenn der Preis in den letzten 10 Minuten um mehr als 20 Pips gefallen ist.

Und wenn es kein Problem ist: Öffnen Sie den Kauf, wenn der aktuelle Preis um etwas mehr als das Maximum des vorherigen Balkens ist, öffnen Sie den Verkauf, wenn der aktuelle Preis um etwas weniger als das Minimum des vorherigen Balkens ist.

P.S. Der Code zum Öffnen von Kaufen und Verkaufen ist bereits im Board enthalten, ich muss ihn also nicht beschreiben... Ich bin mehr daran interessiert, wie man die oben beschriebenen Eröffnungsbedingungen richtig schreibt...

 
oDin48:

alsu, Kauf eröffnen, wenn der Preis in den letzten 10 Minuten um mehr als 20 Pips gestiegen ist; Verkauf eröffnen, wenn der Preis in den letzten 10 Minuten um mehr als 20 Pips gefallen ist.

Öffne ich genau in dem Moment, in dem der Pegel überschritten wird, oder nach 10 Minuten?)


Und wenn es nicht zu viel Mühe macht: Öffnen Sie den Kauf, wenn der aktuelle Preis ein wenig höher ist als der Höchststand des vorherigen Balkens, öffnen Sie den Verkauf, wenn der aktuelle Preis ein wenig niedriger ist als der Tiefststand des vorherigen Balkens.

extern int level = 10; //в пунктах

....
int start()
{
...

   RefreshRates();

   if(Bid>High[1]+level*Point)
   {
      //BUY
   }

   if(Bid<Low[1]-level*Point)
   {
      //SELL
   }
...
}
 

alsu, genau, wenn die Kreuzung, überprüfen Sie die Zeit und wenn es innerhalb der Zeitspanne fällt ein Geschäft machen.

Ich danke Ihnen. Ich werde es jetzt versuchen.

 
oDin48:

alsu, genau, wenn Sie kreuzen, überprüfen Sie die Zeit und wenn es fällt in den Zeitbereich einen Handel machen.

Bei einer solchen Variante muss man sich die Tick-Historie der letzten 10 Minuten merken... der Code ist nicht trivial