Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Подключи MQL5 Cloud Network. Увеличивай свой рейтинг!
alex_999-09
72
alex_999-09 2011.03.25 18:44 
Мне необходимо либо напрямую передавать сигналы на покупку или на продажу в Метак или сделать так, что бы советник работал не по тикам, а например срабатывал раз в секунду. Подскажите, какой-нибудь из этих вариантов реализуем?
Vadim Zhunko
5221
Vadim Zhunko 2011.03.25 19:03  
Из каких внешних?
o_O
Модератор
23316
o_O 2011.03.25 19:03  

прям сразу напрямую так не получится. Будет опосредовано через что то (или эксперт который читает ваши сигналы или WinAPI).

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

alex_999-09
72
alex_999-09 2011.03.25 21:35  
Zhunko:
Из каких внешних?
Из любых!А из каких можно?
alex_999-09
72
alex_999-09 2011.03.25 21:37  
sergeev:

прям сразу напрямую так не получится. Будет опосредовано через что то (или эксперт который читает ваши сигналы или WinAPI).

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


Я в этом плане не сильно искушен, поэтому разъясните пожалуйста, что такое WinAPI? И если экспортировать через него будет завязано на время или на тики?
Alexander
2441
Alexander 2011.03.25 22:18  

Очень напоминает - у меня есть пуговица, пришейте к ней пару брюк.

На каком уровне подготовки находятся Ваши знания по программированию и по МКЛ в частности?

Oleg
2338
Oleg 2011.03.25 23:09  

Можно использовать скрипт

Если раз в секунду (период не сильно короткий), то пойдет передача через файл, который раз в секунду открывается МТ считываются данные и файл закрывается.

Если это МТ5, то можно обеспечить общий доступ к файлу из нескольких приложений, если MT4 - может возникнуть конфликт, если два приложения хотят открыть файл для записи.

Здесь возможны редкие пропуски.

int start()
  {
//----
   int Handle1;
   string File_Name="Rez.csv";
   string String_rez="";
   
   while (true)
   {//начало цикла
   Sleep(1000);//одна секунда
   Handle1=FileOpen(File_Name,FILE_CSV|FILE_READ);//Открытие файла
   if(Handle1==-1)                      // Неудача при открытии файла
     {
      Print("Ошибка при открытии файла. ",// Сообщение об ошибке 
              "Возможно, файл занят другим приложением");
      continue;                          // в начало цикла      
     }
   String_rez=FileReadString(Handle1); //Пишем в текстовую переменную первую строку файла 
   FileClose(Handle1);
   //-------взять информацию из String_rez и обработать как хочется
   }//конец цикла            
   FileClose(Handle1);                 
               
      

//----
   return(0);
  }
//+------------------------------------------------------------------+
это примитивный вариант, можно обрабатывать и многострочные файлы с разделителями, пример есть в учебнике по mql4.
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий