[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 336

 
Elenn:
.... Die Frage ist, wie man die Arrays organisiert. Wenn wir alle Arrays auf globaler Ebene deklarieren, wird zu viel Speicherplatz benötigt. Außerdem wird dieser EA auf jedem der 12 Paare installiert, so dass es eine unproduktive Verschwendung von Speicher ist. Wenn es nur möglich wäre, Arrays zu löschen, nachdem sie nicht mehr benötigt werden, aber wie kann man das tun, insbesondere auf globaler Ebene?


Wenn Sie den Quellcode haben, können Sie alle drei Funktionen in einer einzigen zusammenfassen und darin Arrays deklarieren.

Nach Beendigung dieser Funktion wird der Speicher automatisch freigegeben.

 

Ich kann nicht herausfinden, warum der Code nicht korrekt auf 4.

Die Aufgabe besteht darin, alle Positionen zu einer bestimmten Tageszeit zu schließen und die vom EA platzierten ausstehenden Aufträge zu löschen. Das Problem ist, dass jede zweite Bestellung nicht berührt wird. Es gibt kein Muster. Ich kann nicht verstehen, was los ist. Bitte sagen Sie mir, was ich falsch mache? Vielen Dank im Voraus für die Antwort!

   if (!ClosedByTime)
      if (CurrentHour==CloseTradesTime-1 && TimeMinute(TimeCurrent())>55)
            {
            ClosedByTime=true;
            for (n=0;n<=OrdersTotal()-1;n++)
               {
               OrderSelect(n,SELECT_BY_POS);
               if (OrderMagicNumber()==Magic)
                  { 
                  if (OrderType()==0 || OrderType()==1){
                     if (OrderType()==0)
                        {
                        OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),1);
                        Alert("BUY position has been closed due to tradetime timeout!");
                        }
                       else
                        {
                        OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),1);
                        Alert("SELL position has been closed due to tradetime timeout!");
                        }}
                     else {OrderDelete(OrderTicket());Alert("Pending order (type "+OrderType()+") has been canceled due to tradetime timeout!");}
                  }
               
               }
            }

P.S. Bitte antworten Sie nicht mit einem "Du bist so ein Scheißkerl..." :)

 
for(n=OrdersTotal()-1;n>=0;n--)
 

Hallo zusammen, wie kann ich die Fenstereigenschaften von einem Indikator aus verwalten, ich interessiere mich für die mit Pfeilen markierten Parameter, welche Funktionen kann ich dafür verwenden?

 
sanches83:

Tut mir leid, dass ich so aufdringlich bin, ich wollte nur wissen, ob es wirklich nicht real ist oder ob es nur ein verlorenes Thema ist.
Ich habe es nicht benutzt, aber es gibt eine Datei "DDE-Sample.xls", die dem Terminal beiliegt, Sie müssen nur den Server im Terminal aktivieren. Probieren Sie es aus, vielleicht klappt es ja. Oder vielleicht wird die Aufgabe anders formuliert. Oder wird die Aufgabe vielleicht anders formuliert? Über API? Experimentieren Sie mit DDE.
 
FAQ:

Ahhhhhhhh ich falle gleich von meinem Stuhl... Ich hätte nicht so dumm sein sollen.) Ich sollte weniger nachts arbeiten...

Ich danke Ihnen.

 
Wenn Ihr Expert Advisor sehr code-intensiv ist... Hängt die Geschwindigkeit der Codeverarbeitung - die Geschwindigkeit der Entscheidungsfindung - von der Leistung des Computers ab, oder wird die Verarbeitungsgeschwindigkeit trotz eines sehr leistungsstarken Computers durch "die Geschwindigkeitsgrenze der MKL4-Sprache" (ich weiß nicht, wie ich es richtig ausdrücken soll) begrenzt?
 

Hier ist der Code

int handle=FileOpen("1all.txt",FILE_WRITE|FILE_CSV,"\t");
  if(handle<0) {Print("FAQ"); return(0);}

  FileWrite(handle,"OrderTicket","OrderOpenPrice","OrderOpenTime","OrderSymbol","OrderLots");
  int total=OrdersHistoryTotal();

  for(int pos=0;pos<total;pos++)
    {
     if(OrderSelect(pos,SELECT_BY_POS,MODE_HISTORY)==false) continue;
     FileWrite(handle,OrderTicket(),OrderOpenPrice(),OrderOpenTime(),OrderSymbol(),OrderLots());
    }
  FileClose(handle);
  Print("done");

Es gibt keine Fehlermeldung aus. Es scheint alles zu schreiben, aber ich weiß nicht, wo es gespeichert wird. Ich habe auf meinem Computer nach der Datei 1all.txt gesucht , aber ich konnte sie nicht finden. Wohin geht das Geld?

 
Shniperson:
Wenn Ihr Expert Advisor sehr code-intensiv ist... Hängt die Geschwindigkeit der Codeverarbeitung - die Geschwindigkeit der Entscheidungsfindung - von der Leistung des Computers ab, oder wird die Verarbeitungsgeschwindigkeit trotz eines sehr leistungsstarken Computers durch "die Geschwindigkeitsgrenze der MKL4-Sprache" (ich weiß nicht, wie ich es richtig ausdrücken soll) begrenzt?

Für den optimalen Code gibt es keine besonderen Probleme. Eine Kurve kann 10 Zeilen lang sein und das System hängen lassen.
 
Alp:

Hier ist der Code

Es gibt keine Fehlermeldung aus. Es scheint alles zu schreiben, aber ich weiß nicht, wo es gespeichert wird. Ich habe auf meinem Computer nach der Datei 1all.txt gesucht , aber ich konnte sie nicht finden. Wohin geht das Geld?


Welches Betriebssystem? Auf welchem Laufwerk befindet sich das Terminal?

Standardmäßig.

\Experten\Dateien

\Tester\Dateien