[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 364

 
Ich habe diesen Code jetzt auf einem echten Konto überprüft, alles ist in Ordnung, ich habe alle Marktaufträge geändert, aber das einzige, was ich nicht berührt habe, sind die schwebenden Aufträge. Wo liegt das Problem? Was meinen Sie dazu?
 
Noterday:
Ich habe diesen Code auf meinem realen Konto überprüft, alles ist in Ordnung, ich habe alle Marktaufträge geändert, aber ich habe die schwebenden Aufträge unangetastet gelassen. Wo liegt das Problem? Was meinen Sie dazu?


In dem Zustand

         if(cmd==OP_BUY || cmd==OP_SELL)

und in dem Zustand

if(cmd==OP_BUY)
 
Ich verstehe das nicht :(
 
Noterday:
Ich verstehe das nicht :(

Im Namen des Skripts gibt es auch einen Satz, der besagt, dass es nur Marktaufträge gibt... Entfernen Sie diese Bedingungen für Marktaufträge, dann werden die Bedingungen für Markt- und schwebende Aufträge erfüllt - das ist alles. Nein, das ist noch nicht alles - lesen Sie es sorgfältig - Anforderungen und Einschränkungen... ...und stellen Sie sicher, dass Sie diese Mindestanforderungen auch für Ihre schwebenden Aufträge erfüllen.
 
KONDOR:


Ich habe also überhaupt keine solchen Zeichenfolgen, ich wähle den Typ überhaupt nicht aus, sondern ändere ALLE, die ich habe, egal ob es sich um einen schwebenden oder einen Markt handelt.
 
Noterday:
Ich habe also überhaupt keine solchen Zeilen, ich wähle den Typ überhaupt nicht aus, ich ändere ALLE, egal ob es sich um schwebende Geschäfte oder den Markt handelt.

Ich schreibe Ihnen, um sorgfältig zu lesen: " FreezeLevel Entfernungsbeschränkung.

Marktaufträge werden nicht geschlossen, wenn die StopLoss- oder TakeProfit-Werte die Anforderungen des FreezeLevel-Parameters verletzen.
StopLoss- oder TakeProfit-Börsenaufträge können nicht geändert werden, wenn die StopLoss- oder TakeProfit-Werte gegen die Anforderungen des Parameters StopLevel verstoßen.
Die Löschung und Änderung von schwebenden Aufträgen wird nicht durchgeführt, wenn der angegebene offene Preis des Auftrags gegen die Anforderungen des FreezeLevel-Parameters verstößt.
 

Das war's, der Fehler war da:

if (OrdersTotal()!=0)
  {
   
   bool   modify;
   int    Done=0;
   for (i = 1; i <= OrdersTotal(); i++)
      {
       if (OrderSelect(i-1,SELECT_BY_POS,MODE_TRADES) == true)
         {
          Stop = OrderStopLoss();
          Take = OrderTakeProfit();
          Print("Пробую модифицировать ",i," ордер (#",OrderTicket(),")");
          modify = OrderModify(OrderTicket(),0,SL,TP,0,0);                          <<<--------------------- во втором параметре OrderModify нужно ставить не ноль а Orderopenprice()
          if (modify==true) Done++;
          if (modify==false)
            {
             int error = GetLastError();
             Print("                 Неудача... Ошибка ",error);
             Sleep(5000);
            }
         }
       }
    Alert("Модифицировано  ",Done,"  из  ",OrdersTotal());
    Sleep(10000);
   }
 
Noterday:
Ich habe also überhaupt keine solchen Zeilen, ich wähle die Art überhaupt nicht aus, ich ändere ALLE, egal ob es sich um schwebende Geschäfte oder Marktgeschäfte handelt.


Auch im Zustand dieser

( cmd==OP_BUYLIMIT || cmd==OP_SELLSTOP)

ändern Sie ebenfalls unter dem auszuwählenden Auftrag (ändern Sie die Definitionsbedingung der Auftragsart auf eine dieser Bedingungen:

Konstante Wert Beschreibung
OP_BUY 0 Position des Käufers.
OP_SELL 1 Verkaufsposition.
OP_BUYLIMIT 2 Kauflimit für ausstehende Positionen.
OP_SELLLIMIT 3 Verkaufslimit für schwebende Positionen.
OP_BUYSTOP 4 Kaufstopp für ausstehende Positionen.
OP_SELLSTOP 5 Verkaufsstopp für schwebende Position.
und schon prüfen Sie, ob die "Handelsanforderungen und -beschränkungen" für diesen oder jenen ausgewählten Auftrag erfüllt sind, denn jede Art von ausgewähltem Auftrag hat ihre eigenen Anforderungen und Beschränkungen... und hier ist das Skript nur für Marktaufträge... Bearbeiten Sie analog und das war's - Sie haben alle Informationen. Ruhig, sorgfältig und methodisch.

 
Ja, ursprünglich war alles richtig geschrieben, der Fehler lag in den obigen Angaben. DANKE AN SIE ALLE! =)))
 
Ist es möglich, den Prüfprozess zu beschleunigen?