Как в выходной инициализировать эксперта ??? - страница 2

 
FAQ:

скрипт каждые 2 секунды генерит тик, для советника и индикатора :

у меня метаэдитор матюгнулся законно на отсутствующую функцию
RegisterWindowMessageA

пришлось закомментировать и собственно "тики" идут, спасибо Руст, я как раз индюк правлю тут

 
alexx_v:
у меня метаэдитор матюгнулся законно на отсутствующую функцию

пришлось закомментировать и собственно "тики" идут, спасибо Руст, я как раз индюк правлю тут



Извиняй, я не знал что у некоторых эта функция отсутствует - старый скрипт, вот с импортами :

//+------------------------------------------------------------------+
//|                                                       iTicks.mq4 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
#import "user32.dll"
   int   RegisterWindowMessageA(string lpstring);
   int   PostMessageA(int  hWnd,int  Msg,int  wParam,string lParam);
#import
extern int  delay_MSecond = 2000;
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   while(!IsStopped()){
      PostMessageA (WindowHandle (Symbol(), Period()), WM_COMMAND, 33324, 0);
      PostMessageA (WindowHandle (Symbol(), 0), RegisterWindowMessageA ("MetaTrader4_Internal_Message"), 2, 1);
      Sleep(delay_MSecond);
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+

Этот генерит единственный тик для старта - применяю в зацикленных советниках :

//+------------------------------------------------------------------+
//|                                                      EaStart.mq4 |
//|                                 Copyright © 2010, XrustSolution. |
//|                                           mail: xrustx@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, XrustSolution."
#property link      "mail: xrustx@gmail.com"
#import "user32.dll"
   int   RegisterWindowMessageA(string lpstring);
   int   PostMessageA(int  hWnd,int  Msg,int  wParam,string lParam);
#import
#define WM_COMMAND      0x0111
//+------------------------------------------------------------------+
void start(){
   Sleep(100);
   PostMessageA(WindowHandle (Symbol(), Period()), 
   RegisterWindowMessageA("MetaTrader4_Internal_Message"), 2, 1);
   GlobalVariableDel(Symbol()+"_Start");
   return;
}
//+------------------------------------------------------------------+

этот вызывает окно настроек советника :

//+------------------------------------------------------------------+
//|                                                      EaSetup.mq4 |
//+------------------------------------------------------------------+
//|                                                      EaStart.mq4 |
//|                                 Copyright © 2010, XrustSolution. |
//|                                           mail: xrustx@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, XrustSolution."
#property link      "mail: xrustx@gmail.com"
#import "user32.dll"
   int   RegisterWindowMessageA(string lpstring);
   int   PostMessageA(int  hWnd,int  Msg,int  wParam,string lParam);
#import
#define WM_COMMAND      0x0111
//+------------------------------------------------------------------+
void start(){Sleep(200);PostMessageA(WindowHandle(Symbol(),Period()), WM_COMMAND, 33048, 0);return;}
//+------------------------------------------------------------------+
 
Да, учти - он засерает лог.
 

а что за WM_COMMAND? пишет, мол, переменна-то необъявлена

ЗЫ: я добавил

#define WM_COMMAND      0x0111

больше не ругается и работает

 
alexx_v:

а что за WM_COMMAND? пишет, мол, переменна-то необъявлена

ЗЫ: я добавил

больше не ругается и работает

Малаток :)
 
FAQ:
Малаток :)

та то я случайно, незаслуженная похвала гг
 
FAQ:


А если я буду использовать это в коммерческих целях ? как вы об этом узнаете ? а ?

Чем обусловлены данные ограничения ? Это вы ввели все эти функции ? Что из этого есть ваше личное ? только заголовок ограничивающий применение ?

Цитата от топикстартера: "Мож кто знает как сгенерировать или вызвать один виртуальный тик что бы советник инициализировался и исполнился один раз ????"

Это и делает мой скрипт при его запуске. :)))

 
FAQ:

...

PostMessageA (WindowHandle (Symbol(), Period()), WM_COMMAND, 33324, 0);


А зачем обновлять график-то? Бессмысленное потребление трафика и захламление лога. Если каждому графику посылать это сообщение каждые 2 секунды, то через сутки файл с логами разрастётся до огромных размеров. Для генерации тика ведь вполне достаточно "MetaTrader4_Internal_Message".

 
TarasBY:

Цитата от топикстартера: "Мож кто знает как сгенерировать или вызвать один виртуальный тик что бы советник инициализировался и исполнился один раз ????"

Это и делает мой скрипт при его запуске. :)))


Вы уважаемый с темы не съезжайте, вы попробуйте ответить на мой вопрос.

FAQ:


А если я буду использовать это в коммерческих целях ? как вы об этом узнаете ? а ?

Чем обусловлены данные ограничения ? Это вы ввели все эти функции ? Что из этого есть ваше личное ? только заголовок ограничивающий применение ?

 
Meat:


А зачем обновлять график-то? Бессмысленное потребление трафика и захламление лога. Если каждому графику посылать это сообщение каждые 2 секунды, то через сутки файл с логами разрастётся до огромных размеров. Для генерации тика ведь вполне достаточно "MetaTrader4_Internal_Message".


Потому что некоторым нужен и тик для индикатора.
alexx_v: я как раз индюк правлю тут


Еще комментарии есть ?
Причина обращения: