[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 20

 
ZZZEROXXX:

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

  if(ObjectFind("VerticalLine")!=-1){
    datetime TimeVL=ObjectGet( "VerticalLine", OBJPROP_TIME1); //получили координату времени где стоит вертикальная линия с именем VerticalLine  
    int shift=iBarShift(NULL, 0, TimeVL); //получил смещение линии от текущего момента в свечах 
    for(int i=0; i<=shift; i++){ // цикл от текущего бара - до бара где стоит вертикальная линия 
     double MA= iMA(NULL, 0, 12, 0, MODE_SMA, PRICE_CLOSE, i) ;
     Print("i=",i," MA=",MA);
    }
   }
   else Print("Нет Вертикальной линии");
 
kaats:

спасибо, все понял, заработало!

 

Доброго времени суток!!
Я новичек, поэтому как слепой котенок даже куда ткниться не знаю:))
А пробла или вопрос сводится к тому что нарыл индюк, но он залипает (т.е. чтобы узнать его показатели нуно залезть в св-ва, и ничего не меняяя выйти, тода он обновиться).
Так вот как это моно делать типа скриптом или еще как? может какой советник для этого есть?
просто в оне стоит 5 одинаковых индюков с разными параметрами и каждый раз приходится обновлять все 5.

БлагоДарю!!!

 

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

 //--- Учет колличетва ордеров 
   if (OrdersTotal()>=1)
      return;
 

Вопрос к спецам, может кто-то встречался с этим:

если советник, запущенный в будний день, случайно перезапустить терминал в выходные, то при наступлении связи с сервером (времени торговли) в понедельник, советник перестает работать.

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

Что посоветуете? Может я усложняю и есть более простой способ.

Варианты ответа: "перезапустить ручками" - не подходят. Встать в 2 часа ночи и заново запустить советник на 20-30 терминалах не очень интересно. Если будет несколько сотен счетов, всю ночь сидеть кумекать? Короче говоря, как это автоматизировать в начале рабочей недели?
 
vovan-gogan:

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


скобки фигурные не поставил,

   if (OrdersTotal()>=1)
    {
      return;
    }
 
forexnew:

Вопрос к спецам, может кто-то встречался с этим:

если советник, запущенный в будний день, случайно перезапустить терминал в выходные, то при наступлении связи с сервером (времени торговли) в понедельник, советник перестает работать.

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

Что посоветуете? Может я усложняю и есть более простой способ.

Варианты ответа: "перезапустить ручками" - не подходят. Встать в 2 часа ночи и заново запустить советник на 20-30 терминалах не очень интересно. Если будет несколько сотен счетов, всю ночь сидеть кумекать? Короче говоря, как это автоматизировать в начале рабочей недели?

а какую ошибку пишет? Ведь должен что-то писать, или он вообще никаких действий не производит?
 
LazarevDenis:


скобки фигурные не поставил,

Ёлы-Палы... Скобки тут не обязательны. И так будет работать:

 //--- Учет колличетва ордеров 
   if (OrdersTotal()>=1)
      return;
 
forexnew:
...если советник, запущенный в будний день, случайно перезапустить терминал в выходные, то при наступлении связи с сервером (времени торговли) в понедельник, советник перестает работать.
Для самого начала уберите галочки с этих пунктов (иногда отключают и при перелогине). Если не поможет, надо смотреть код.

 

Может написать zero divide, насколько я помню. Но это связано с тем, что определенные параметры не пересчитываются. Т.е. советник просто не запускается правильно, поскольку его запуск произошел до начала рабочей сессии.

Само-собой галочки эти убраны.

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

Причина обращения: