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

 
BBSL:

Eddy sagte, er habe niemanden beleidigen wollen.

Ich habe gesagt, dass es mir scheißegal ist :D Ich werde mich anständig benehmen, auch wenn es jemanden beleidigt, denn es ist ihr Problem. aber es ist zu ihrem Vorteil, damit sie das Problem lösen und die Ursache finden und es schließlich ausmerzen können, sonst wird es immer Probleme geben.
 
Ais:

Ein Grund, alles in einer Datei zu machen -> https://docs.mql4.com/ru/basis/variables/formal:

"Es ist möglich, Parameter per Referenz zu übergeben. In diesem Fall wirkt sich die Änderung solcher Parameter auf die entsprechenden Variablen in der aufgerufenen Funktion aus, die als Referenz übergeben wird. Sie können Elemente von Arrays nicht per Referenz übergeben. Parameter per Referenz können nur innerhalb eines einzelnen Moduls übergeben werden, bei Bibliotheksfunktionen ist dies nicht möglich. "


Ja, vielleicht ist das das Problem...

Ich habe viele Funktionen, bei denen einer der Parameter ein Array ist, das als Referenz übergeben wird...

D.h. man muss auf eine Mehrdateien-Programmstruktur verzichten, um Probleme zu vermeiden, kann das nicht anders gelöst werden?

 
Bicus:

Meine Herren, ich habe eine Frage.

Ich führe den EA im Testprogramm aus. Der EA hat Zugriff auf die Historie, d.h. er sucht nach einem der letzten, sagen wir, 20 geschlossenen Aufträge.

In einem echten EA ist dies sehr einfach: Wir können den Zeitraum der Historie angeben, in dem die Aufträge angezeigt werden sollen. Die letzten Aufträge sind also immer "oben". Aber je mehr Trades wir im Tester haben, desto mehr Aufträge werden geschlossen und desto größer ist die Liste, die durchgesehen werden muss, und desto langsamer arbeitet der Expert Advisor.

Und wie haben Sie dieses Problem gelöst?

Moderne Computer führen Hunderte von Millionen von Operationen pro Sekunde aus.

Wie viele Transaktionen sind nötig, damit der Computer langsamer wird?

In Ihrem "schwierigen" Fall können Sie die Bedingung angeben, dass die Bestellung nur nach dem letzten Monat/Halbmonat sucht.

 
eddy:
ich habe eigentlich gesagt, dass mir das scheißegal ist :D ich werde mich anständig benehmen, auch wenn es jemanden beleidigt, weil es ihr Problem ist. aber es ist zu ihrem Vorteil, also wollen sie das Problem lösen und beginnen, nach Ursachen zu suchen und sie schließlich auszurotten, sonst wird es immer Probleme geben.


eddy, der Begriff des Rechts ist sehr subjektiv))

Wenn eine Gruppe von Menschen glaubt, dass etwas allgemein akzeptiert und richtig ist, dann ist das die Regel für diese Gruppe von Menschen. Es gibt eine solche Gruppe in diesem Forum.

Es ist ja schön und gut, dass man sein eigenes Weltbild hat, aber Zeit damit zu verbringen, darüber zu diskutieren und erst recht Menschen zu verändern oder umzuerziehen, ist ein sehr großer Luxus))

Über die Richtigkeit von Ideen zu streiten, ist eine Verschwendung von Ressourcen, und unsere Probleme werden nicht gelöst.

Ich schlage vor, mit allem Respekt für Sie und Verständnis für Ihre Ideen, zurück zur Programmierung)))

 
tmt0086:
Hallo =) Ich habe gerade einen EA geschrieben... es gibt keine Bedingungen, nur Öffnung auf GBPUSD und EURUSD. Beim Testen werden also keine GBPUSD-Aufträge eröffnet, wenn es sich um EURUSD handelt. Und vice versa. Sie können es so einrichten, dass es Aufträge öffnet. In der Demo kann ich das nicht, aber ich kann es auch nicht testen.

Kann mir mal jemand sagen...
 
Sergey_Rogozin:

In Ihrem "schwierigen" Fall können Sie eine Bedingung einführen, dass die Aufträge nur im letzten Monat/Semester wiederholt werden.

Welche Bedingungen?

Es ist nicht möglich, die Historie im Tester zu sortieren. Die letzte Bestellung kommt ganz unten an. Sie müssen durch die gesamte Historie blättern, um sie zu finden.

Liege ich falsch?

 
tmt0086:

Kann mir mal jemand sagen...

Es gibt keinen Multiwährungsstrategie-Tester in MT4.
 
BBSL:


eddy, der Begriff des Rechts ist sehr subjektiv))

es gibt objektive regeln und damit korrektheit. es gibt auch die bedeutung von regeln und die hierarchie von regeln. wenn eine regel weniger wichtig ist als eine andere oder hierarchisch niedriger, sollte sie außer acht gelassen werden, wenn eine regel dies erfordert. ich habe mich mein ganzes leben lang mit regeln und korrektheit beschäftigt
 
Roman.:

Es gibt keinen Multiwährungsstrategie-Tester in MT4.

Können Sie mir sagen, wo ich es testen kann und ob es auf MT5 funktioniert?
 
Bicus:

Was sind die Bedingungen?

Es ist nicht möglich, die Historie im Tester zu sortieren. Die letzte Bestellung steht ganz unten. Sie müssen sich durch die gesamte Geschichte blättern, um sie zu finden.

Liege ich falsch?


Nein. Hier ist ein Beispiel für die Auswahl des frischesten abgeschlossenen Auftrags aus der Auftragshistorie für die weitere Bearbeitung...

//---Поиск последнего отработавшего ордера для открытия очередной позиции ---
   
   for (orderIndex = (OrdersHistoryTotal() - 1); orderIndex >= 0; orderIndex--)
   {   
      if (!OrderSelect(orderIndex, SELECT_BY_POS, MODE_HISTORY))
      {
         Print("Ошибка при доступе к исторической базе (",GetLastError(),")");
         continue;
      }
   
      if ((OrderSymbol() != Symbol()) || (OrderMagicNumber() != MagicNumber))
      {
         continue;
      }
      
        
   //-------------------------Принимаем в расчет только ордер, закрытый недавно-----------------------
if(time<OrderCloseTime())     //(сравниваем его с хранящимся в пероеменной time) 
  {
    time=OrderCloseTime();     //если время закрытия ордера больше - ложим его в переменную
         
         
     
         int lastType = OrderType();
         double lastLots = OrderLots();
         double lastProfit = OrderProfit() + OrderSwap();
.....
.....
.....