Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 1010

 
Tema97:

Привет всем) подскажите пожалуйста - не могу сообразить как код написать (  Пример; работает 2 робота - у каждого свой магик  ) большая доля на покупку или продажу падает на историю ордеров, то есть если ордер был селл то следющая сделка будет бай  - проблема  заключается в том что не получается выбрать последний ордер и магик вместе  и соответственно определить тип ордера для определенного робота(работает только часть кода - если выбирать только последний ордер из истории - отлично работает когда робот один ,а второй код записанный через for перечисляет все ордера с магик номером выводит его число порядковое и пишет его тип но  почему то не возвращает значение последнего и я не могу понять почему ) помогите это соединить в одно целое  вот 1 и 2 код  ;


1) Чтобы правильно вставить исходный код на форуме, нажмите на SRC и в появившееся окно вставьте ваш код.


2) Попробуйте такой скрипт, быстро его набросал, не проверял т.к. у меня нет ордеров в истории.

#property strict

void OnStart()
  {
   if(OrdersHistoryTotal()>0)
     {
      for(int i=OrdersHistoryTotal()-1; i>=0; i--)
        {
         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
           {
            if(OrderMagicNumber()!=136) continue;
              {
               Print("Последний ордер с магик-номером 136: индекс ордера в истории = ",i,
                     " магик номер = ",OrderMagicNumber(),
                     " тип ордера = ",OrderType());
               return;
              }
           }
        }
     }
  }

3) Помните, если после if идет только одна инструкция, то фигурные скобки { } можно не ставить, НО если идет 2 и более инструкций зависящие от этого if, то их обязательно надо записать внутри { }. В вашем примере выше было так, что после условия   if(OrderMagicNumber()==136)  идет 3 инструкции к=...; orderBS=...; и Alert();   но они не помещены внутри { }.

 

"Один в поле - не воин!"

Здравствуйте всем!

Есть ли здесь кто-нибудь из ЛИТМО (Санкт-Петербургский Государственный университет Информационных Технологий Механики и Оптики), живущий в Питере, с кем можно встречаться очно и обсуждать вопросы программирования?
Откликнитесь в личку или на E-mail: leonid.belskiy@gmail.com !!!!!
 
paladin80:

1) Чтобы правильно вставить исходный код на форуме, нажмите на SRC и в появившееся окно вставьте ваш код.


2) Попробуйте такой скрипт, быстро его набросал, не проверял т.к. у меня нет ордеров в истории.

3) Помните, если после if идет только одна инструкция, то фигурные скобки { } можно не ставить, НО если идет 2 и более инструкций зависящие от этого if, то их обязательно надо записать внутри { }. В вашем примере выше было так, что после условия   if(OrderMagicNumber()==136)  идет 3 инструкции к=...; orderBS=...; и Alert();   но они не помещены внутри { }.

- все так же делает как и 2 код - последний не выбирает ((((((((((((

может как нибудь через время закрытия сделать ????? или там тоже не выбрать? 

 
Всем привет. Кто знает , какое время жизни одномерного статического массива? Оно такое же как у локальной переменной или нет?
 
i999i:
Всем привет. Кто знает , какое время жизни одномерного статического массива? Оно такое же как у локальной переменной или нет?
После выполнения функции , в которой объявлен массив , его надо удалять или что то с ним делать для высвобождения памяти или он сам удалится?
 
i999i:
После выполнения функции , в которой объявлен массив , его надо удалять или что то с ним делать для высвобождения памяти или он сам удалится?
Пока работает программа - он (массив) существует
 
Vinin:
Пока работает программа - он (массив) существует
а если он мне нужен на 1 тик в час , а в остальное время он мне не нужен ...как его удалить? ...он же все это время занимает память
 
подскажите пожалуйста как часто перерисовывается самостоятельно график? (так же как принудительно это делает ChartRedraw() )
 
i999i:
а если он мне нужен на 1 тик в час , а в остальное время он мне не нужен ...как его удалить? ...он же все это время занимает память
Ну и сколько памяти он занимает? Вроде время программируемых калькуляторов с десятком килобайт памяти прошло уже =)
 
Чем больше переменных, тем медленнее работает система в целом. Зачем захламлять и тем самым тормозить работу системы ненужными в данный момент данными?