Вопросы по программированию в МТ4

Программирование прибыли: от азов к секретам мастерства. Читайте, спрашивайте, делитесь опытом.
Бонус за сообщение 0.5$
Ответственный Модератор - Haos

Вопросы по программированию в МТ4

Сообщение Рэндом » 26 июл 2013, 07:27

Здесь можно задать вопросы по программированию в МТ4.
Аватар пользователя
Рэндом
Специалист MQL
 
Сообщений: 13700
Зарегистрирован: 18 июл 2013, 08:05
Средств на руках: 31.45 Доллар
Группа: Администраторы
Благодарил (а): 1131 раз.
Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.

Re: Вопросы по программированию в МТ4

Сообщение kot103 » 18 мар 2014, 11:22

Здравствуйте не могли бы вы привести пример создание двух уровней за определенный промежуток времени один уровень по максимуму цены за промежуток другой по минимуму за этот же промежуток например на графике м5 время терминала пятнадцать часов тридцать минут нам надо создать два уровня с ноль восьми утра до двенадцати часов за ранние благодарен .
Аватар пользователя
kot103
 
Сообщений: 2
Зарегистрирован: 18 мар 2014, 10:34
Средств на руках: 0.75 Доллар
Группа: Новые пользователи
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Вопросы по программированию в МТ4

Сообщение kot103 » 18 мар 2014, 11:27

И еще один вопрос я тут на форуме первый раз не могу понять зачем нужны эти бонусы отправил вам вопрос появился бонус что потом сними можно делать! буду благодарен за ответ .
Последний раз редактировалось Рэндом 18 мар 2014, 13:11, всего редактировалось 2 раз(а).
Причина: Бонус снят.
Аватар пользователя
kot103
 
Сообщений: 2
Зарегистрирован: 18 мар 2014, 10:34
Средств на руках: 0.75 Доллар
Группа: Новые пользователи
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Вопросы по программированию в МТ4

Сообщение Рэндом » 18 мар 2014, 12:19

viewtopic.php?f=6&t=317 это по поводу бонусов.
viewtopic.php?f=9&t=307 в этом советнике можно найти пример того как определять максимумы и минимумы за определенный промежуток времени.
Аватар пользователя
Рэндом
Специалист MQL
 
Сообщений: 13700
Зарегистрирован: 18 июл 2013, 08:05
Средств на руках: 31.45 Доллар
Группа: Администраторы
Благодарил (а): 1131 раз.
Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.

Re: Вопросы по программированию в МТ4

Сообщение Haos » 05 апр 2014, 12:14

В своей деятельности по созданию советников я столкнулся с такой штукой:
MarketInfo(Symbol(), MODE_SPREAD);
возвращает тип double, как и всё остальное от функции MarketInfo(). Однако, в примере справки приведено следующее:
int vdigits = MarketInfo("EURUSD",MODE_DIGITS);
Напиши нечто подобное и в советнике после компилляции появляется предупреждение типа, возможное несоответствие типов. Hешается проблема
int vdigits = (int) MarketInfo("EURUSD",MODE_DIGITS);
Ну вот и вопрос это баг разработчиков и есть ли другие способы его решения?
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Re: Вопросы по программированию в МТ4

Сообщение mfcoder » 05 апр 2014, 15:27

что есть, то есть..
а чем не устраивает выше приведенное решение ? в новой парадигме это естественная ситуация, где приходится более явно прописывать код с более жестким типизированием..

в принципе и без явного приведения к типу int все будет замечательно работать, просто компилятор будет об этом предупреждать..
Аватар пользователя
mfcoder
 
Сообщений: 1531
Зарегистрирован: 29 июл 2013, 11:55
Средств на руках: 26.85 Доллар
Группа: Базовая
Благодарил (а): 78 раз.
Поблагодарили: 423 раз.

Re: Вопросы по программированию в МТ4

Сообщение Haos » 06 апр 2014, 17:38

mfcoder писал(а):что есть, то есть..
а чем не устраивает выше приведенное решение ? в новой парадигме это естественная ситуация, где приходится более явно прописывать код с более жестким типизированием..
в принципе и без явного приведения к типу int все будет замечательно работать, просто компилятор будет об этом предупреждать..

Ну, это ладно. Так... для затравки было. А вот реальный момент: я недавно советник для трейдинга на дневках написал. Так давно известный код контроля появления нового бара использовал (советник должен не на каждый тик реагировать, а именно на появление нового бара, т.е. раз в сутки основной код запускается). Так вот такой момент: можно ли сделать так, чтобы после отработки кода советника терминал выгружался и комп. выключался, чтобы ночью не вставать чтобы выключать?
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Re: Вопросы по программированию в МТ4

Сообщение mfcoder » 06 апр 2014, 18:43

закрыть терминал можно как-нибудь так

Код: выделить все
#define WM_CLOSE                       0x0010

#import "user32.dll"
int      GetParent(int hWnd);
int      PostMessageA(int hWnd,int Msg,int wParam,int lParam);
#import

int start()
  {
   int hwnd=WindowHandle(Symbol(),Period());
   int hwnd_parent=0;

   while(!IsStopped())
     {
      hwnd=GetParent(hwnd);
      if(hwnd==0) break;
      hwnd_parent=hwnd;
     }
   if(hwnd_parent!=0)
      PostMessageA(hwnd_parent,WM_CLOSE,0,0);
   return(0);
  }
Аватар пользователя
mfcoder
 
Сообщений: 1531
Зарегистрирован: 29 июл 2013, 11:55
Средств на руках: 26.85 Доллар
Группа: Базовая
Благодарил (а): 78 раз.
Поблагодарили: 423 раз.

Re: Вопросы по программированию в МТ4

Сообщение mfcoder » 06 апр 2014, 18:52

а выключить пк как-нибудь так

Код: выделить все

#define EWX_POWEROFF 0x00000008
#define SHTDN_REASON_FLAG_PLANNED 0x80000000
#import "user32.dll"
int      ExitWindowsEx(int uFlags,int dwReserved);
#import

int start(){
ExitWindowsEx( EWX_POWEROFF, SHTDN_REASON_FLAG_PLANNED);
return(0);
}


сам правда не проверял, но должно работать
Аватар пользователя
mfcoder
 
Сообщений: 1531
Зарегистрирован: 29 июл 2013, 11:55
Средств на руках: 26.85 Доллар
Группа: Базовая
Благодарил (а): 78 раз.
Поблагодарили: 423 раз.

Re: Вопросы по программированию в МТ4

Сообщение serg_panther » 10 апр 2014, 10:45

привет прогеры! нужна помощь, короче в этом новом билде, не понимаю-некоторые файлы не открывает. Объясните деревянному человеку что значит компилировать, вроде в метаэдиторе это можно делать? и почему так-раньше то все работало, не эти именно индикаторы, но как то не было так, а на новом не хочет некоторые. В чем суть и как быть -не пойму. Популярно для несведущих пожалуйста объясните, спасибо! верно что mq файлы открываются, а ex4 компилировать нужно?
Аватар пользователя
serg_panther
 
Сообщений: 1473
Зарегистрирован: 15 авг 2013, 13:50
Средств на руках: 0.60 Доллар
Награды: 1
Ветеран I (1)
Группа: Базовая
Благодарил (а): 257 раз.
Поблагодарили: 191 раз.


Вернуться в MQL – теория и практика

Кто сейчас на форуме?

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 71

Права доступа к форуму

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения