Как заставить эксперта работать постоянно? - страница 3

 
tara:

Надо кому - нибудь верить. Иначе, нет точки отсчета :(


Я верю ДЦ, у них все правильно. но я хочу создать архив тиков. я скачал тиковые истории из сайта

ratedata.gaincapital.com, но увы там тоже не все тики хранятся.

скажем с 2011.11.03 00:00 по 2011.11.03 01:00 у ДЦ 300 тиков. у ratedata.gaincapital.com 154 тиков.

у эксперта тоже меньше чем у ДЦ, хотя интернет работает бесперебойно. просто иногда данные не идут

с сервера. терминал может зависает. я не знаю.

 
DominoesFX:


Я верю ДЦ, у них все правильно. но я хочу создать архив тиков. я скачал тиковые истории из сайта

ratedata.gaincapital.com, но увы там тоже не все тики хранятся.

скажем с 2011.11.03 00:00 по 2011.11.03 01:00 у ДЦ 300 тиков. у ratedata.gaincapital.com 154 тиков.

у эксперта тоже меньше чем у ДЦ, хотя интернет работает бесперебойно. просто иногда данные не идут

с сервера. терминал может зависает. я не знаю.


Я ДЦ не верю, хотя ни в чем его и не подозреваю.
 
DominoesFX:


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

Но тут есть одно но. после запуска скрипта, скрипт не получает нового тика.


//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
   double curDigits;
   double curAsk,curBid;
   double prvAsk=0,prvBid=0;
   
   curDigits   = MarketInfo(Symbol(),MODE_DIGITS);
   while(!IsStopped())
     {
      curAsk   = MarketInfo(Symbol(),MODE_ASK);
      curBid   = MarketInfo(Symbol(),MODE_BID);
      if ( prvAsk != curAsk || curBid != prvBid )
        {
         Print("New tick: Ask=",DoubleToStr(curAsk,curDigits)," Bid=",DoubleToStr(curBid,curDigits));
         prvAsk   = curAsk;
         prvBid   = curBid;
        }
     }
  }
//+------------------------------------------------------------------+
 
PapaYozh:

Наверное, правильнее будет prvAsk и prvBid обозвать как static double.
 
DhP:
Наверное, правильнее будет prvAsk и prvBid обозвать как static double.


Если скрипт зациклен, то - без разницы.

Бросте на чарт и посмотрите сообщения.

 
PapaYozh:


Если скрипт зациклен, то - без разницы.

Бросте на чарт и посмотрите сообщения.

Я не обратил внимание на то, что это скрипт. Прошу прощения.
 
Всем огромное спасибо!!!
 
DhP:

И опять я ничего не понял. Чаи гонять нельзя, а что можно и надо?

Решать какие-то другие задачи? Считать прибыли/убытки или площади под кривой?

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

Если очень надо произвести неимоверно сложные расчеты для диссертации, то это можно сделать, запустив советник в тестере. )))

Не морочьте себе и людям головы... Это будет правильнее.

Вы просто не сталкивались с реальными задачами, которые требуют независимость от тиков (например, интерактивные пересчеты или паралельные процессы). Meты это понимают, потому в MT5 такая возможность добавлена. Очень хочется перейти на MT5 (отчасти из-за этого), но огорчает отсутствие поддержки реальной торговли со стороны ДЦ.
Причина обращения: