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

 
Elenn:
.... Вопрос в том, как лучше организовать массивы, потому что если объявить все массивы на глобальном уровне, то все это будет занимать место в памяти, а с учетом того, что предполагается работа советника на VPS, да к тому же такой советник будет установлен на каждой из 12 пар, получается очень непродуктивный расход памяти. Вот если бы как то можно было удалить массивы, после того, как они станут больше не нужны, но как это сделать, да еще с глобального уровня?


Если есть исходный код, то можно слить все три функции в одну, и в ней объявить массивы.

После выхода из этой функции память освободится автоматически.

 

Не могу разобраться почему некорректно работает код на четверке.

Задача - в определенное время суток закрывать все позиции и удалять отложки, размещенные советником. Проблема в том что каждый второй ордер он не трогает. Без закономерности. Не могу понять в чем дело. Подскажите дураку, что я делаю не так?? Заранее спасибо за ответ!!

   if (!ClosedByTime)
      if (CurrentHour==CloseTradesTime-1 && TimeMinute(TimeCurrent())>55)
            {
            ClosedByTime=true;
            for (n=0;n<=OrdersTotal()-1;n++)
               {
               OrderSelect(n,SELECT_BY_POS);
               if (OrderMagicNumber()==Magic)
                  { 
                  if (OrderType()==0 || OrderType()==1){
                     if (OrderType()==0)
                        {
                        OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),1);
                        Alert("BUY position has been closed due to tradetime timeout!");
                        }
                       else
                        {
                        OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),1);
                        Alert("SELL position has been closed due to tradetime timeout!");
                        }}
                     else {OrderDelete(OrderTicket());Alert("Pending order (type "+OrderType()+") has been canceled due to tradetime timeout!");}
                  }
               
               }
            }

П.С. прсьба ответы типа "этакый ты быдлокодер такую х**ню написал.." не оставлять :)

 
for(n=OrdersTotal()-1;n>=0;n--)
 

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

 
sanches83:

Извините,пожалуйста, за настырность, просто хотел понять, это и правдо не реально, или просто тема затерялась.
Не пользовался, но ведь есть файл "DDE-Sample.xls" в комплекте терминала, нужно в терминале разрешить сервер только. Пробуйте, может че и выйдет? Или задача иначе сформулируется. А иначе? Через API? Поэкспериментируйте с ДДЕ.
 
FAQ:

ААаааа я сейчас съезжаю со стула просто... Надож было ТАК затупить)) Стоит поменьше работать по ночам...

Спасибо!.

 
Если советник очень обьемный по коду... Зависит ли скорость обработки кода - скорость принятия решений от производительности компьютера или даже не смотря на очень мощный компьютер быстрота обработки будет упираться в "предел скорости языка МКЛ4" (незнаю как правильно сформулировать)
 

Вот такой код

int handle=FileOpen("1all.txt",FILE_WRITE|FILE_CSV,"\t");
  if(handle<0) {Print("FAQ"); return(0);}

  FileWrite(handle,"OrderTicket","OrderOpenPrice","OrderOpenTime","OrderSymbol","OrderLots");
  int total=OrdersHistoryTotal();

  for(int pos=0;pos<total;pos++)
    {
     if(OrderSelect(pos,SELECT_BY_POS,MODE_HISTORY)==false) continue;
     FileWrite(handle,OrderTicket(),OrderOpenPrice(),OrderOpenTime(),OrderSymbol(),OrderLots());
    }
  FileClose(handle);
  Print("done");

Ошибку не выдает. Вроде все пишет. но куда сохраняет не пойму я искал файл 1all.txt на компьютере не нашел. Куда он сохраняется?

 
Shniperson:
Если советник очень обьемный по коду... Зависит ли скорость обработки кода - скорость принятия решений от производительности компьютера или даже не смотря на очень мощный компьютер быстрота обработки будет упираться в "предел скорости языка МКЛ4" (незнаю как правильно сформулировать)

Для оптимального кода особых проблем нет. Кривой может быть из 10 строчек и намертво повесить систему
 
Alp:

Вот такой код

Ошибку не выдает. Вроде все пишет. но куда сохраняет не пойму я искал файл 1all.txt на компьютере не нашел. Куда он сохраняется?


Какая операционка? На каком диске стоит терминал

по умолчанию

\experts\files

\tester\files

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