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

 
Беда походу в том что при смене тайм фрейма, происходит пре инициализация эксперта, что влечёт за собой кучу пустых переменных. И если они пустые, значит якобы сделок нет и нужно открывать новые.
 
intrade:
Беда походу в том что при смене тайм фрейма, происходит пре инициализация эксперта, что влечёт за собой кучу пустых переменных. И если они пустые, значит якобы сделок нет и нужно открывать новые.

Ну так не надо пустые переменные создавать. И проверяйте что уже открыто по символу, магику, если надо - то и по таймфрейму. А так тут телепатов нет, без кода сказать нечего.
 
intrade:
Беда походу в том что при смене тайм фрейма, происходит пре инициализация эксперта, что влечёт за собой кучу пустых переменных. И если они пустые, значит якобы сделок нет и нужно открывать новые.

Спрашивается, какого хрена надо менять таймфрейм при работающем советнике? Установите себе табу - поставил советник, забыл про график; надо что-то посмотреть, открыл новый график и делай с ним, что хочешь.
 
intrade:
Беда походу в том что при смене тайм фрейма, происходит пре инициализация эксперта, что влечёт за собой кучу пустых переменных. И если они пустые, значит якобы сделок нет и нужно открывать новые.


Пользуйтесь таймсериями типа, например: 

iClose

Возвращает значение цены закрытия бара (указанного параметром shift) соответствующего графика.

double  iClose(
   string           symbol,          // символ
   int              timeframe,       // период
   int              shift            // сдвиг
   );

 И меняйте сколько угодно таймфрем! Загляните в Доку, там всё для вас!

 
Замедляют ли Print,ы оптимизацию советника или они не обрабатываются?
 
ClanVi:
Замедляют ли Print,ы оптимизацию советника или они не обрабатываются?

Да замедляют, любая строка кода требует процессоро-времени, а код который делает сообщения или работает с графическими обьектами значительно замедляют выполнение программ...
 
ClanVi:
Замедляют ли Print,ы оптимизацию советника или они не обрабатываются?


Этого очень легко избежать! Когда код проверен в тестере, ставьте перед Print'ом или Comment'ом 

  if(!IsOptimization() || !IsTesting()) 

И не будет строчить!

 
VOLDEMAR:

Да замедляют, любая строка кода требует процессоро-времени, а код который делает сообщения или работает с графическими обьектами значительно замедляют выполнение программ...
Графические обьекты ведь игнорятся в оптимизаторе и тестере если не визуал режим, а вот принты мне интересно...
 
Всем доброго дня. Господа подскажите что делать с ошибкой "Error 6" нет связи с сервером, но тики идут и всё вроде как надо....  Совы на тесте...  сегодня встал и вот тебе тут.....  там 4 совы 5М 15М 30М 1Н такую вот ошибку выкинуло в логах по М5 М15 М30 все в разное время и цену.... у кого есть опыт с таким моментом помогите. Спасибо.
 

Не работает Отладчик – в чем дело? 

Наилучшие пожелания всем участникам Форума!

Так никто и не ответил на мой вопрос, заданный еще на стр 644. Видимо, я как-то не так спросил, спрошу-ка еще раз. Итак,  

Метатрейдер бильд 646, редактор бильд 934. Вот простейший индикатор:

class CDebuggerFix { } ExtDebuggerFix; //Это заклинание, исправляющее известный баг.
void start()                     
  {
   int i=10,                           
       k3;
   string k2;
  
     while(i>=1)                      
     {
      k2=Symbol();
    
      if (k2=="EURUSD") k3=3;
      if (k2=="USDCHF") k3=4;
      if ((k2=="EURUSD"||k2=="USDCHF")!=True) k3=5;
       Alert("k2=",k2,"\n","k3=",k3);
       
          i--;                         
      }
  return;
  }

Запускаю его на графике EURUSD, M1, и вот что получается:


 

Т.е. все так, как и должно быть.

А теперь делаю точку останова перед Alert и запускаю Отладчик:

 


 

Появляется график  USDCHF,H1. Откуда он берется? Открыт был только EURUSD, M1.

Нажимаю OK, и вот что вижу:

 

 


 

Т.е. индикатор берет данные именно из этого USDCHF,H1. В чем здесь дело?

 

   Второй вопрос. Написанный скрипт Редактор кладет не в папку Scripts в каталоге, а в папку MQL4, и туда же помещает скомпилированный файл. Приходится вручную перетаскивать исходник в папку Scripts, после этого компилировать, и только тогда скрипт появляется в Навигаторе. С  индикаторами такой  бяки нет, они сразу попадают в свою папку.  Я что-то не так делаю, или это Редактор ошибается?

 

    Да сопутствует удача тому, кто мне ответит.