Запуск скрипта через советник - страница 6

 
RaptorUK:
Да, у меня тоже была такая проблема... так и не разобрался. Он казался темпераментным.


Так в чем же польза?

Я хотел что-то надежное, а не темпераментное!

 
Dadas:


Так в чем же польза?

Я хотел что-то надежное, а не темпераментное!

Я тоже... но теперь у вас есть с чем работать... если вы хотите, чтобы это было написано для вас... ... ну, ты знаешь, где спросить.
 
RaptorUK:

....

Скрипт даже не обязательно должен быть на том же графике...

Просто хочу кое-что прояснить, потому что в примере Dadas использовалось

int hWnd = WindowHandle(Symbol(),Period());

До тех пор, пока мы пишем правильный WindowsHandle. Например

int hWnd = WindowHandle(Symbol(),PERIOD_M2); // offline chart period 2 minutes
PostMessageA(hWnd,WM_COMMAND,33232,1);

Если бросить это на любой график, то тик будет отправлен на автономный график с периодом 2 минуты.


AFAIK, поддельный тик не заставит советника запуститься. Попробуйте сделать все возможное, но советник не запустится.

RaptorUK 2012.08.14 17:22
Дадас:


Да, у меня Sleep(1000); на данный момент. Скрипт работает, потому что я тестировал с messagebox.

Но, я не вижу никаких изменений, когда я включаю Experts, по-прежнему советник зацикливается только на тиках брокера.

Отключитесь от брокера и посмотрите, запускается ли советник, если да, то вы ставите галочку, если нет, то вы что-то сделали не так.

 
onewithzachy:

AFAIK, фальшивый тик не заставит советника запуститься. Попытайтесь сделать все возможное, но советник не запустится.

Дадас:

Хорошо, я нашел это, и это тикает на графике.

https://c.mql5.com/mql4/forum/2012/05/TickingAllCharts_1.mq4

 
RaptorUK:
Я тоже... но теперь у вас есть с чем работать... если вы хотите, чтобы это было написано для вас... ... что ж, вы знаете, где спросить.


Но вы решили проблему?
 
Dadas:

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

2 вещи

1. Можете ли вы дать мне адрес темы, а не код для скачивания?

2. Я кое-что забыл, мне не нужен фальшивый тик - действительно не нужен. У меня в советнике есть цикл и я вызываю start() из init().

Попробуйте это как советник, отключите сетевое соединение, закиньте его в оффлайн или онлайн, и нам не нужно включать кнопку эксперта, и посмотрите, что произойдет.

int init()
  {

  start();     //<<-- call start from init()
  return (0);
  }

int deinit() {return (0);}

int start ()
  {
  while (!IsStopped())
    {
    Alert (TimeSeconds(TimeLocal())," Yuhuuu ");
    
    Sleep (500);
    }
  return (0);
  }

Написано на SRC, не компилировалось, не тестировалось, но у меня есть такой советник.

И я забыл свой прыгающий домкрат.

 
onewithzachy:

2 вещи

1. Можете ли вы дать мне адрес темы, а не код загрузки?

RaptorUK разместил это => посмотрите страницу 4.

Почитайте вот это: https: //www.mql5.com/en/forum/124688

 
Dadas:

RaptorUK разместил это => просмотрите страницу 4

Почитайте это: https: //www.mql5.com/en/forum/124688

Ну, да. Это был мой комментарий там - посмейтесь надо мной -https://www.mql5.com/en/forum/124688

Тем не менее, AFAIK, это не заставит EA начать зацикливание, но, возможно, я проверю это позже. Я предпочитаю запуск из init - не нужно поддельных тиков и не нужно онлайн.

 
onewithzachy:

Ну, да. Это был мой комментарий там - посмейтесь надо мной - https://www.mql5.com/en/forum/124688.

Тем не менее, AFAIK, это не заставит советника зациклиться, но, возможно, я проверю это позже. Я предпочитаю запускать колл из init - не нужно поддельных тиков и не нужно онлайн.


Ну, я пытаюсь.

Ваш простой пример с алертом работает.

Он также работает с простой строкой комментария, как здесь:

int init()
  {

  start();     //<<-- call start from init()
return (0);
  }

int deinit() { return (0);
}

int start ()
  {
  while (!IsStopped())
    {

Comment("--------------------------------------------");
Sleep (3000);
Comment("++++++++++++++++++++++++++++++++++++++++++++");
Sleep (3000);
    
    
    }
  return (0);
  }

Когда я помещаю своего советника внутрь этого цикла, извините, никакого сока - не работает.

Когда я впервые запустил TickAllCharts_1.mq4, я увидел, что он работает,

потому что мой длинный набор комментариев мигал в каждом цикле,

и некоторые линии индикатора тоже.

Но через некоторое время он остановился и не хотел запускаться снова.

В любом случае, я пойду по этому пути и посмотрю, что получится.