Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1022

 

Entschuldigen Sie bitte das Kopieren, aber der andere Thread beantwortet die Frage nicht.

Ich habe den Code aus dem Beispiel in der Anleitung https://www.mql5.com/ru/docs/strings/stringadd übernommen und in das Skript eingefügt. Das Ergebnis der Ausführung in MQL4 und MQL5 ist ähnlich:

       22:42:49.015    Test Script (EURUSD,H1) time for 'c = a + b' = 235 milliseconds, i = 1000000
       22:42:50.187    Test Script (EURUSD,H1) time for 'StringAdd(a,b)' = 1156 milliseconds, i = 1000000
       22:42:50.781    Test Script (EURUSD,H1) time for 'StringConcatenate(c,a,b)' = 594 milliseconds, i = 1000000

Es macht Sinn, dass StringAdd() und StringConcatenate() schneller laufen sollten als "+", aber in Wirklichkeit ist das normale Kleben dreimal so schnell, und wenn wir die Anzahl der Zeichen und Klebungen pro Iteration addieren, liegt "+" mit großem Abstand vorn. Warum geschieht dies, was ist der Sinn und wo ist die Logik?

 

Kann ich eine 32-Bit-DLL auf MT5 verwenden?

2019.03.30 16:31:14.984 xxx is not 64-bit version

Welche Möglichkeiten gibt es?
 
Können Sie mir sagen, wie man so etwas umsetzen kann? In der Regel erstelle ich Schaltflächen auf dem Chart mit den Symbolen der offenen Positionen, wie durch einen Klick auf die Schaltfläche, um auf den Chart des Symbols der Schaltfläche zu bewegen. Vielen Dank im Voraus.
 
Alexander Mikryukov:
Können Sie meinen Freunden sagen, wie man so etwas umsetzt? Im Allgemeinen erstelle ich auf dem Diagramm Schaltflächen mit den Symbolen der offenen Positionen, wie ich zum Diagramm des Schaltflächensymbols komme, wenn ich auf die Schaltfläche klicke. Vielen Dank im Voraus.

Ich verstehe Ihre Frage so, dass Sie offene Positionen auf mehreren Symbolen haben, und für jedes Symbol gibt es einen OPEN Chart.

Dann müssen SieChartNext verwenden - in der Schleife ...

//--- переменные для идентификаторов графиков 
   long currChart,prevChart=ChartFirst(); 
   int i=0,limit=100; 
   Print("ChartFirst = ",ChartSymbol(prevChart)," ID = ",prevChart); 
   while(i<limit)// у нас наверняка не больше 100 открытых графиков 
     { 
      currChart=ChartNext(prevChart); // на основании предыдущего получим новый график 
      if(currChart<0) break;          // достигли конца списка графиков 
      Print(i,ChartSymbol(currChart)," ID =",currChart); 
      prevChart=currChart;// запомним идентификатор текущего графика для ChartNext() 
      i++;// не забудем увеличить счетчик 
     }

... umgehen Sie alle offenen Charts und vergleichen Sie das Symbol und den Zeitrahmen des offenen Charts. Sobald eine Übereinstimmung gefunden wird, wenden wir CHART_BRING_TO_TOP an und verlassen die Schleife.

 
С
Vladimir Karputov:

Ich verstehe Ihre Frage so, dass Sie offene Positionen für mehrere Symbole haben und für jedes Symbol gibt es einen OPEN Chart.

Dann müssen SieChartNext verwenden - in der Schleife ...

... umgehen Sie alle offenen Charts und vergleichen Sie das Symbol und den Zeitrahmen des offenen Charts. Sobald eine Übereinstimmung gefunden wurde, wenden Sie CHART_BRING_TO_TOP an und verlassen die Schleife.

Ich danke Ihnen.

 

Wo liegt der Fehler?

JF      2       17:38:24.837    Core 1  2018.03.30 00:00:00   Access violation at 0x0000000000561F61 read to 0x0000000009E50040 in 'C:\Program Files\MetaTrader 5\Tester\Agent-127.0.0.1-3000\MQL5\Experts\Mov_8_Bayes_11_4D.ex5'

KN      2       17:38:24.837    Core 1  2018.03.30 00:00:00      crash -->  0000000000561 F61 488 BBCFC60080000  mov        rdi, [rsp+rdi*8+0x860]

QL      2       17:38:24.837    Core 1  2018.03.30 00:00:00                 0000000000561 F69 F20F58CB          addsd      xmm1, xmm3

KM      2       17:38:24.837    Core 1  2018.03.30 00:00:00                 0000000000561 F6D 66480 F6ED7        movd       xmm2, rdi

ES      2       17:38:24.837    Core 1  2018.03.30 00:00:00                 0000000000561 F72 488978 C0          mov        [rax-0x40], rdi

DQ      2       17:38:24.837    Core 1  2018.03.30 00:00:00                 0000000000561 F76 418 D7C3321        lea        edi, [r11+rsi+0x21]

JR      2       17:38:24.837    Core 1  2018.03.30 00:00:00                 0000000000561 F7B 488 BBCFC60080000  mov        rdi, [rsp+rdi*8+0x860]

JL      2       17:38:24.837    Core 1  2018.03.30 00:00:00                 0000000000561 F83 F20F58D1          addsd      xmm2, xmm1

HR      2       17:38:24.837    Core 1  2018.03.30 00:00:00   

MN      2       17:38:24.837    Core 1  2018.03.30 00:00:00   00: 0x0000000000561F61

GQ      2       17:38:24.837    Core 1  2018.03.30 00:00:00   01: 0x234A5B15D2A360C4

OH      2       17:38:24.837    Core 1  2018.03.30 00:00:00   02: 0x000C6F5900001B70

EL      2       17:38:24.837    Core 1  2018.03.30 00:00:00   03: 0x5B17241D60C560C5

DE      2       17:38:24.837    Core 1  2018.03.30 00:00:00   04: 0x8AC900001B8F2329

NM      2       17:38:24.837    Core 1  2018.03.30 00:00:00   05: 0x75A160C660C6000C

QJ      2       17:38:24.837    Core 1  2018.03.30 00:00:00   06: 0x00001B6E22C85B18

HS      2       17:38:24.837    Core 1  2018.03.30 00:00:00   07: 0x60C760C7000CA658

KG      2       17:38:24.837    Core 1  2018.03.30 00:00:00   08: 0x1BCB22E25B19C71F

JQ      2       17:38:24.837    Core 1  2018.03.30 00:00:00   09: 0x60C8000CC1C60000

LQ      2       17:38:24.837    Core 1  2018.03.30 00:00:00   10: 0x22895B1B6C6F60C8

PH      2       17:38:24.837    Core 1  2018.03.30 00:00:00   11: 0x000CDD9100001BD2

ES      2       17:38:24.837    Core 1  2018.03.30 00:00:00   12: 0x5B1F0D1560CB60CB

MK      2       17:38:24.837    Core 1  2018.03.30 00:00:00   13: 0xF96300001AAD229A

QR      2       17:38:24.837    Core 1  2018.03.30 00:00:00   14: 0x5D1E60CC60CC000C

PJ      2       17:38:24.837    Core 1  2018.03.30 00:00:00   15: 0x00001BAA20EC5B20

QL      2       17:38:24.837    Core 1  2018.03.30 00:00:00   16: 0x60CD60CD000D1410

HE      2       17:38:24.837    Core 1  2018.03.30 00:00:00   

JQ      2       17:38:24.837    Core 1  OnTick critical error

KF      0       17:38:24.837    Core 1  GBPUSD,H1: 1 ticks, 1 bars generated. Environment synchronized in 0:00:01.987. Test passed in 0:00:01.360 (including ticks preprocessing 0:00:00.328).

KS      0       17:38:24.837    Core 1  GBPUSD,H1: total time from login to stop testing 0:00:03.347 (including 0:00:01.987 for history data synchronization)

GS      0       17:38:24.837    Core 1  236 Mb memory used including 1.41 Mb of history data, 64 Mb of tick data

PJ      0       17:38:24.837    Core 1  log file "C:\Program Files\MetaTrader 5\Tester\Agent-127.0.0.1-3000\logs\20190331.log" written

NG      0       17:38:24.856    Core 1  connection closed
 
Aliaksandr Yemialyanau:

Wo liegt der Fehler?


Ошибка вставки кода.
 

Ich entschuldige mich für meine stumpfe Grausamkeit... Ich habe noch nie mit MQL5 gearbeitet. Ich setze EAs vorsichtig ein (READY) und lerne gerade mehr über ihre Fähigkeiten. Ich habe das EAPADPRO-Infopanel heruntergeladen, weil ich dachte, dass es wie ein EA funktioniert. Aber es ist "eine Bibliothek, die zu Ihrem EA hinzugefügt werden muss" (???) Es gibt eine Menge Fragen auf jedem Zentimeter der Lektüre. Was verstehen Sie unter "Kopieren Sie den MQL5-Ordner in den Ordner Ihres Terminals\"? Es ist also schon bei der Installation des Terminals vorhanden(???).

https://www.mql5.com/ru/blogs/post/719820 Programmierung in 10 Schritten ???? - Wohin mit den Daten? Und die Hauptfrage: Wenn ich so düster bin, sollte ich vielleicht nicht mit diesem Panel (Bibliothek) arbeiten?

 
Александр Кузьмин:

Ich entschuldige mich für meine stumpfe Grausamkeit... Ich habe noch nie mit MQL5 gearbeitet. Ich setze EAs vorsichtig ein (READY) und lerne gerade mehr über ihre Fähigkeiten. Ich habe das EAPADPRO-Infopanel heruntergeladen, weil ich dachte, dass es als EA funktioniert. Aber es ist "eine Bibliothek, die zu Ihrem EA hinzugefügt werden muss" (???) Es gibt eine Menge Fragen auf jedem Zentimeter der Lektüre. Was verstehen Sie unter "Kopieren Sie den MQL5-Ordner in den Ordner Ihres Terminals\"? Es ist also schon bei der Installation des Terminals vorhanden(???).

https://www.mql5.com/ru/blogs/post/719820 Programmierung in 10 Schritten ???? - Wohin mit den Daten? Und die wichtigste Frage: Wenn ich so dunkel bin, warum fange ich dann nicht an, mit dieser Tafel (Bibliothek) zu arbeiten?

Ich denke, dieses Panel ist für MQL5-Anfänger unnötig.

 
Александр Кузьмин:

Ich entschuldige mich für meine stumpfe Grausamkeit... Ich habe noch nie mit MQL5 gearbeitet. Ich setze EAs vorsichtig ein (READY) und lerne gerade mehr über ihre Fähigkeiten. Ich habe das EAPADPRO-Infopanel heruntergeladen, weil ich dachte, dass es wie ein EA funktioniert. Aber es ist "eine Bibliothek, die zu Ihrem EA hinzugefügt werden muss" (???) Es gibt eine Menge Fragen auf jedem Zentimeter der Lektüre. Was verstehen Sie unter "Kopieren Sie den MQL5-Ordner in den Ordner Ihres Terminals\"? Es ist also schon bei der Installation des Terminals vorhanden(???).

https://www.mql5.com/ru/blogs/post/719820 Programmierung in 10 Schritten ???? - Wohin mit den Daten? Und die Hauptfrage: Wenn ich so düster bin, sollte ich vielleicht nicht mit diesem Panel (Bibliothek) arbeiten?

Stellen Sie Fragen an den Autor dieser Bibliothek in seinem Blog, dessen Link Sie angegeben haben.