Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1022

 

Scusate il copia-incolla, ma l'altro thread non risponde alla domanda.

Ho preso il codice dall'esempio nella guida https://www.mql5.com/ru/docs/strings/stringadd e l'ho incollato nello script. Il risultato della sua esecuzione in MQL4 e MQL5 è simile:

       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

Ha senso che StringAdd() e StringConcatenate() dovrebbero essere più veloci di "+", ma in realtà l'incollaggio normale è tre volte più veloce, e se aggiungiamo il numero di caratteri e di incollaggi per iterazione, "+" prende il comando con un ampio margine. Perché questo accade, qual è il punto e dov'è la logica?

 

Posso usare una DLL a 32 bit su MT5?

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

Quali sono le opzioni?
 
Potete consigliarmi come implementare una cosa del genere? In generale, creo pulsanti sul grafico con i simboli delle posizioni aperte, come cliccando sul pulsante per passare al grafico del simbolo del pulsante. Grazie in anticipo.
 
Alexander Mikryukov:
Puoi dire ai miei amici come implementare una cosa del genere? In generale, sto creando sul grafico dei pulsanti con i simboli delle posizioni aperte, come passare al grafico del simbolo del pulsante quando clicco sul pulsante. Grazie in anticipo.

La mia comprensione della tua domanda è che hai posizioni aperte per diversi simboli e per ogni simbolo c'è un grafico OPEN.

Allora dovete usareChartNext- nel ciclo ...

//--- переменные для идентификаторов графиков 
   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++;// не забудем увеличить счетчик 
     }

... bypassa tutti i grafici aperti e confronta il simbolo e il timeframe del grafico aperto. Una volta trovata una corrispondenza, applichiamo CHART_BRING_TO_TOP e usciamo dal ciclo.

 
С
Vladimir Karputov:

La mia comprensione della tua domanda è che hai posizioni aperte su diversi simboli e per ogni simbolo c'è un grafico OPEN.

Allora dovete usareChartNext- nel ciclo ...

... bypassa tutti i grafici aperti e confronta il simbolo e il timeframe del grafico aperto. Una volta trovata una corrispondenza - applicare CHART_BRING_TO_TOP e uscire dal ciclo.

Grazie.

 

Qual è l'errore?

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:

Qual è l'errore?


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

Mi scuso per il mio grigiore ottuso... Non ho mai lavorato con MQL5. Uso gli EA con cautela (READY) e sto imparando di più sulle loro capacità. Ho scaricato il pannello informativo EAPADPRO, pensavo che funzionasse come un EA. Ma è "una biblioteca da aggiungere alla vostra EA" (????).Ci sono molte domande su ogni centimetro di lettura. Come si capisce "Copia la cartella MQL5 nella cartella del tuo terminale"? Quindi è lì dall'installazione del terminale(????).

https://www.mql5.com/ru/blogs/post/719820 Programmazione 10 Passi ???? - Dove scrivere tutto. E la domanda principale: se sono così scuro, forse non dovrei iniziare a lavorare con questo pannello (libreria)?

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

Mi scuso per il mio grigiore ottuso... Non ho mai lavorato con MQL5. Uso gli EA con cautela (READY) e sto imparando di più sulle loro capacità. Ho scaricato il pannello informativo EAPADPRO, pensavo che funzionasse come un EA. Ma è "una biblioteca da aggiungere alla vostra EA" (????).Ci sono molte domande su ogni centimetro di lettura. Come si capisce "Copia la cartella MQL5 nella cartella del tuo terminale"? Quindi è lì dall'installazione del terminale(????).

https://www.mql5.com/ru/blogs/post/719820 Programmazione 10 Passi ???? - Dove scrivere tutto. E la domanda principale: se sono così scuro, perché non comincio a lavorare con questo pannello (libreria)?

Penso che questo pannello non sia necessario per i principianti di MQL5.

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

Mi scuso per il mio grigiore ottuso... Non ho mai lavorato con MQL5. Uso gli EA con cautela (READY) e sto imparando di più sulle loro capacità. Ho scaricato il pannello informativo EAPADPRO, pensavo che funzionasse come un EA. Ma è "una biblioteca da aggiungere alla vostra EA" (????).Ci sono un sacco di domande su ogni centimetro di lettura. Come si capisce "Copia la cartella MQL5 nella cartella del tuo terminale"? Quindi è lì dall'installazione del terminale(????).

https://www.mql5.com/ru/blogs/post/719820 Programmazione 10 Passi ???? - Dove scrivere tutto. E la domanda principale: se sono così scuro, forse non dovrei iniziare a lavorare con questo pannello (libreria)?

Fate domande all'autore di questa biblioteca sul suo blog, di cui avete dato il link.