Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1022

 

Извините за copy-paste, но в другой теме не отвечают на вопрос.

Взял код из примера в справочнике https://www.mql5.com/ru/docs/strings/stringadd и вставил его в скрипт. Результат выполнения в MQL4 и MQL5 аналогичный:

       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

Логично, что функции StringAdd() и StringConcatenate() должны выполняться быстрее чем "+", но в действительности обычная склейка опережает их в три раза, а если добавить количество символов и склеек за итерацию, то "+" вырвется вперёд с большим отрывом. Почему так происходит, в чём суть и где логика?

 

Можно ли использовать 32-битную DLL на MT5?

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

Какие есть варианты?
 
Друзья может подскажите как реализовать такую вещь. В общем создаю на графике кнопки с символами открытых позиций, как по нажатию на кнопку перейти на график символа кнопки. Заранее всем спасибо.
 
Alexander Mikryukov:
Друзья может подскажите как реализовать такую вещь. В общем создаю на графике кнопки с символами открытых позиций, как по нажатию на кнопку перейти на график символа кнопки. Заранее всем спасибо.

Я понял Ваш вопрос так: у Вас есть открытые позиции по нескольким символам и по каждому символу ЕСТЬ ОТКРЫТЫЙ ГРАФИК. 

Тогда нужно воспользоваться ChartNext - в цикле ...

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

... обойти все открытие графики и сравнивать символ и таймфрейм открытого графика. Как только найдено совпадение - применяем CHART_BRING_TO_TOP и выходим из цикла.

 
С
Vladimir Karputov:

Я понял Ваш вопрос так: у Вас есть открытые позиции по нескольким символам и по каждому символу ЕСТЬ ОТКРЫТЫЙ ГРАФИК. 

Тогда нужно воспользоваться ChartNext - в цикле ...

... обойти все открытие графики и сравнивать символ и таймфрейм открытого графика. Как только найдено совпадение - применяем CHART_BRING_TO_TOP и выходим из цикла.

Спасибо. 

 

Что за ошибка?

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 -->  0000000000561F61 488BBCFC60080000  mov        rdi, [rsp+rdi*8+0x860]

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

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

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

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

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

JL      2       17:38:24.837    Core 1  2018.03.30 00:00:00                 0000000000561F83 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:

Что за ошибка?


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

Прошу извинения за свою тугую серость... Никогда не работал с MQL5. Советники использую осторожно (ГОТОВЫЕ) и больше изучаю их возможности. Скачал информационную панель EAPADPRO, считал, что она как советник работает. А это "библиотека для добавления в Ваш советник" (???).Вопросов много на каждом сантиметре прочтения. Как понять "Скопируйте папку MQL5 в папку Вашего терминала\". Так она там с установки терминала(???). 

https://www.mql5.com/ru/blogs/post/719820 Программирование 10 шагов ????  - Где это все прописывать. И самый главный вопрос: Если я такой темный, то может и не начинать работать с этой панелью (библиотекой)?

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

Прошу извинения за свою тугую серость... Никогда не работал с MQL5. Советники использую осторожно (ГОТОВЫЕ) и больше изучаю их возможности. Скачал информационную панель EAPADPRO, считал, что она как советник работает. А это "библиотека для добавления в Ваш советник" (???).Вопросов много на каждом сантиметре прочтения. Как понять "Скопируйте папку MQL5 в папку Вашего терминала\". Так она там с установки терминала(???). 

https://www.mql5.com/ru/blogs/post/719820 Программирование 10 шагов ????  - Где это все прописывать. И самый главный вопрос: Если я такой темный, то может и не начинать работать с этой панелью (библиотекой)?

На мой взгляд эта панель для начинающего изучать MQL5 даром не нужна.

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

Прошу извинения за свою тугую серость... Никогда не работал с MQL5. Советники использую осторожно (ГОТОВЫЕ) и больше изучаю их возможности. Скачал информационную панель EAPADPRO, считал, что она как советник работает. А это "библиотека для добавления в Ваш советник" (???).Вопросов много на каждом сантиметре прочтения. Как понять "Скопируйте папку MQL5 в папку Вашего терминала\". Так она там с установки терминала(???). 

https://www.mql5.com/ru/blogs/post/719820 Программирование 10 шагов ????  - Где это все прописывать. И самый главный вопрос: Если я такой темный, то может и не начинать работать с этой панелью (библиотекой)?

Задавайте вопросу автору сей библиотеки у него в блоге, ссылку на который вы и дали.

Причина обращения: