Как можно создать глобальный массив в MQL4 ? Мне нужна сотня глобальных
переменных идентифицируемых по номеру, для работы с ними в цикле.
Но, глобальных массивов объявлять нельзя. Кто-нибудь знает как
обойти такое ограничение, или какой-нибудь альтернативный вариант
? Спасибо.
- Создание переменной во время выполнения
- Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
- возвращение массива из функции
int init() { int i; for (i=1;i==100;i++) GlobalVariableSet("MA"+i,i); return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { int i; for (i=1;i==100;i++){ Print(i," ",GlobalVariableGet("MA"+i)); } return(0); } В результате на тестере чистый журнал (((
Ну что же Вы :( Вам дали конкретный ответ, могли бы и сами домыслить.
Эту тему я собирался следующей статьей пройти
//+------------------------------------------------------------------+ //| GlobalArray.mq4 | //| Rosh | //| http://www.alpari-idc.ru/ru/experts/articles/ | //+------------------------------------------------------------------+ #property copyright "Rosh" #property link "http://www.alpari-idc.ru/ru/experts/articles/" string ArrayName="MyGlobalArray"; //+------------------------------------------------------------------+ //| script initialization function | //+------------------------------------------------------------------+ int init() { int LastTime; for(int i=0;i<100;i++) { if (!GlobalVariableCheck(ArrayName+i)) { LastTime=GlobalVariableSet(ArrayName+i,i); Print("Ошибка для индекса ",i," равна ",GetLastError()); } } return; } //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { //---- double value; for(int i=0;i<100;i++) { if (GlobalVariableCheck(ArrayName+i)) { value=GlobalVariableGet(ArrayName+i); if (value==0) Print("Ошибка для индекса ",i," равна ",GetLastError()); else Print(ArrayName+"["+i+"]=",value); } } //---- return(0); } //+------------------------------------------------------------------+
Эту тему я собирался следующей статьей пройти
Этот код работает, но тоже кривовато (((. Результаты идут с пропусками,
но сообщений об ошибках нет. Кстати, откуда вообще берутся ошибки исполнения при работе с тестором ? Я уже несколько раз наблюдал как функции
языка не срабатывают. Это язык такой или что ? 2006.08.02 00:33:22 2006.07.
21 03:56 _MA-Mod USDJPY,M30: Îøèáêà äëÿ èíäåêñà 0 ðàâíà 0 2006.08.02 00:33:22 2006.07.21
03:56 _MA-Mod USDJPY,M30: MyGlobalArray[99]=99 2006.08.02 00:33:22 2006.07.21 03:56 _MA-Mod USDJPY,M30: MyGlobalArray[98]=98
2006.08.02 00:33:22 2006.07.21 03:56 _MA-Mod USDJPY,M30: MyGlobalArray[97]=97 2006.08.02 00:33:22 2006.07.21
03:56 _MA-Mod USDJPY,M30: MyGlobalArray[96]=96 2006.08.02 00:33:22 2006.07.21 03:56 _MA-Mod USDJPY,M30: MyGlobalArray[95]=95
2006.08.02 00:33:20 2006.07.21 15:56 _MA-Mod USDJPY,M30: MyGlobalArray[84]=84 2006.08.02 00:33:20 2006.07.21
15:56 _MA-Mod USDJPY,M30: MyGlobalArray[83]=83 2006.08.02 00:33:20 2006.07.21 15:56 _MA-Mod USDJPY,M30: MyGlobalArray[82]=82
2006.08.02 00:33:20 2006.07.21 15:56 _MA-Mod USDJPY,M30: MyGlobalArray[81]=81 2006.08.02 00:33:20 2006.07.21
15:56 _MA-Mod USDJPY,M30: MyGlobalArray[80]=80 2006.08.02 00:33:20 2006.07.21 15:56 _MA-Mod USDJPY,M30: MyGlobalArray[79]=79
2006.08.02 00:33:20 2006.07.21 15:56 _MA-Mod USDJPY,M30: MyGlobalArray[78]=78 2006.08.02 00:33:20 2006.07.21
15:56 _MA-Mod USDJPY,M30: MyGlobalArray[77]=77 2006.08.02 00:33:20 2006.07.21 15:14 _MA-Mod USDJPY,M30: MyGlobalArray[20]=20
2006.08.02 00:33:20 2006.07.21 15:14 _MA-Mod USDJPY,M30: MyGlobalArray[19]=19 2006.08.02 00:33:20 2006.07.21
15:14 _MA-Mod USDJPY,M30: MyGlobalArray[18]=18 2006.08.02 00:33:20 2006.07.21 15:14 _MA-Mod USDJPY,M30: MyGlobalArray[17]=17
2006.08.02 00:33:20 2006.07.21 15:14 _MA-Mod USDJPY,M30: MyGlobalArray[16]=16 2006.08.02 00:33:20 2006.07.21
15:14 _MA-Mod USDJPY,M30: MyGlobalArray[15]=15 2006.08.02 00:33:20 2006.07.21 15:14 _MA-Mod USDJPY,M30: MyGlobalArray[14]=14
2006.08.02 00:33:20 2006.07.21 15:14 _MA-Mod USDJPY,M30: MyGlobalArray[13]=13 2006.08.02 00:33:19 2006.07.21
12:37 _MA-Mod USDJPY,M30: MyGlobalArray[52]=52 2006.08.02 00:33:19 2006.07.21 12:37 _MA-Mod USDJPY,M30: MyGlobalArray[51]=51
2006.08.02 00:33:19 2006.07.21 12:37 _MA-Mod USDJPY,M30: MyGlobalArray[50]=50 2006.08.02 00:33:19 2006.07.21
12:37 _MA-Mod USDJPY,M30: MyGlobalArray[49]=49 2006.08.02 00:33:19 2006.07.21 12:37 _MA-Mod USDJPY,M30: MyGlobalArray[48]=48
2006.08.02 00:33:19 2006.07.21 12:37 _MA-Mod USDJPY,M30: MyGlobalArray[47]=47 2006.08.02 00:33:19 2006.07.21
12:37 _MA-Mod USDJPY,M30: MyGlobalArray[46]=46 2006.08.02 00:33:19 2006.07.21 12:37 _MA-Mod USDJPY,M30: MyGlobalArray[45]=45
2006.08.02 00:33:18 2006.07.21 10:28 _MA-Mod USDJPY,M30: MyGlobalArray[12]=12 2006.08.02 00:33:18 2006.07.21
10:28 _MA-Mod USDJPY,M30: MyGlobalArray[11]=11 2006.08.02 00:33:18 2006.07.21 10:28 _MA-Mod USDJPY,M30: MyGlobalArray[10]=10
2006.08.02 00:33:18 2006.07.21 10:28 _MA-Mod USDJPY,M30: MyGlobalArray[9]=9 2006.08.02 00:33:18 2006.07.21 10:28
_MA-Mod USDJPY,M30: MyGlobalArray[8]=8 2006.08.02 00:33:18 2006.07.21 10:28 _MA-Mod USDJPY,M30: MyGlobalArray[7]=7
2006.08.02 00:33:18 2006.07.21 10:28 _MA-Mod USDJPY,M30: MyGlobalArray[6]=6 2006.08.02 00:33:18 2006.07.21 10:28
_MA-Mod USDJPY,M30: MyGlobalArray[5]=5
Блин, да что такое с абзацами ?
Опять неверно, откройте лог-файл.
Да, Вы правы, но почему не выводит в журнал тестера ?
Aver:
Блин, да что такое с абзацами ?
Блин, да что такое с абзацами ?
Используйте для вставки кода специальную кнопочку MQL с панели редактора сообщений.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь