Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 455

 

Hallo!


Der Roboter öffnet und schließt Aufträge auf der Grundlage bestimmter Signale, aber es ist notwendig, dass ein schwebender Auftrag in der gleichen Richtung platziert wird, aber nur einer, nachdem der Auftrag geschlossen wurde.

D. h., nachdem der schwebende Auftrag platziert, ausgelöst und geschlossen wurde, muss nichts weiter passieren und der Roboter wartet auf ein Signal, um einen regulären Auftrag zu eröffnen.


Können Sie mir sagen, wie ich das umsetzen kann?

 
Snower: Guten Tag!

Der Roboter öffnet und schließt Orders auf der Grundlage bestimmter Signale, daher muss der Roboter eine Pending Order in dieselbe Richtung platzieren, aber nur eine.

D.h., nachdem der schwebende Auftrag platziert, ausgelöst und geschlossen wurde, muss nichts weiter passieren, der Roboter wartet auf ein Signal, um einen normalen Auftrag zu eröffnen.

Können Sie mir sagen, wie dies umgesetzt werden kann?

Es ist ganz einfach. In zwei for-Schleifen analysieren Sie 1) die Historie der Aufträge und 2) die laufenden Aufträge. Anhand der Analyse ermitteln Sie die Situation und verwenden bedingte if-Anweisungen, um die gewünschte Aktion auszuführen. oder benötigen Sie mehr Details?

 
STARIJ:

So einfach ist das. In zwei for-Schleifen analysieren Sie 1) die Historie der Aufträge und 2) die laufenden Aufträge. Auf der Grundlage der Analyse ermitteln Sie die Situation und verwenden bedingte if-Anweisungen, um die gewünschte Aktion auszuführen. oder benötigen Sie weitere Details?

Ich wäre Ihnen sehr dankbar, wenn Sie das näher erläutern könnten.

 
Snower: Ich wäre Ihnen sehr dankbar, wenn Sie das näher erläutern könnten.

Welchen Teil soll ich buchstabieren? Oder alles?

 
LRA:

Welchen Teil soll ich schreiben? Oder alle?

die Schleifen selbst, die ifs, kann ich einrichten

 
Vladislav Andruschenko:
))) Ich arbeite seit 10 Jahren und habe mir noch nie solche Gedanken gemacht. Sie mögen schwierige Situationen.

jetzt werden sie

 

Was ist das Problem mit diesem Code? Manchmal öffnet er 1 Geschäft, manchmal 2?

Ich sollte maximal 1 Handel pro Paar haben, aber ich muss mich irgendwo vertan haben.


...
if(!Orderex(_Symbol))
{
   OrderSend(NULL,OP_SELL,lot,Bid,30,Bid+stop*Point,Bid-take*Point,NULL,magicf,0,clrRed);
}
...
bool Orderex(string symbol)
{
   for(int i=OrdersTotal(); i>0; i--)
      {
         OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
         if(OrderSymbol()==symbol && OrderMagicNumber()==magicf) return true;
      
      
      
      }


   return false;
}
 
Roman Sharanov:

Was ist das Problem mit diesem Code? Manchmal öffnet er 1 Geschäft, manchmal 2?

Ich sollte maximal 1 Handel pro Paar haben, aber ich muss mich irgendwo vertan haben.


for(int i=OrdersTotal()-1; i>=0; i--)
 
Konstantin Nikitin:

Und noch interessanter ist dies

for(int i = OrdersTotal(); i-- >=0;)
 
Ahhhh, ja, das Konto ist von Grund auf neu :)
Grund der Beschwerde: