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

 
evillive:
если при компиляции есть ошибки, то и не появится.
Нет, ошибок нет!!!
 
PozitiF:

Спасибо за ответ. Сам я нашел (ГУГЛ знает почти все)  такое решение:

      int       timeframe;          // временной период графика
      double    or_op_time;         // время открытия последнего ордера
      int MaxBar = 3;               // через сколько свечей закрыть ордер
      or_op_time = Last_OrderOpTime(asset);
      
                          //  КРИТЕРИЙ ЗАКРЫТИЯ БАЙ
       
       if(!ClsB && OrderType()==OP_BUY && iBarShift( asset, timeframe, or_op_time) > MaxBar)    ClsB = true;

 Работает вроде четко, а со статическими переменными я пока не в ладах.

И попутно вопрос - кто-нибудь, объясните новичку логику следующего фрагмента:

if(lastsignal==Signal)Signal=0; 
else                            
lastsignal=Signal;              

 причем, если локальной переменной Signal присваиваются по условиям значения 1 или 2, то глобальной lastsignal нигде значения не присвоены.

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

   if(timeCheckSignal!=Time[0])        //МОЙ КОММЕНТ: если время открытия позиции (КОТОРОЕ ЕЩЕ НЕ ОПРЕДЕЛЕНО)...
                                       //...не равно времени открытия текущего бара, то...

  Помогите понять. Спасибо.

ЗЫ: Но самое интересное, а для меня совсем не понятное, это коммент разработчика шаблона к данному фрагменту:

//+------------------------------------------------------------------+
// Если время торговли не истекло и мы не открывали позицию на этом баре: 
//+------------------------------------------------------------------+
 
Не пойму как мне сравнение баров организовать в цикл. Ведь получится цикл в цикле.
int start()
  {

   int i,counted_bars=IndicatorCounted();
   int limit=Bars-1;
   if(limit>1) limit=Bars-N;
   if(limit==0) limit=counted_bars;
   if(IsTesting() || IsVisualMode()) limit=N+10;
   for(i=limit;i>=0;i--)
     {
     if(Close[i]>Open[i] && High[i]>High[i+1] && Low[i]>Low[i+1] && High[i+1]>High[i+2] && Low[i+1]>Low[i+2] && High[i+2]>High[i+3] && Low[i+2]>Low[i+3] && High[i+3]>High[i+4] && Low[i+3]>Low[i+4]) buybars++;
      //-------

     if(Open[i]>Close[i] && High[i]<High[i+1] && Low[i]<Low[i+1] && High[i+1]<High[i+2] && Low[i+1]<Low[i+2] && High[i+2]<High[i+3] && Low[i+2]<Low[i+3] && High[i+3]<High[i+4] && Low[i+3]<Low[i+4]) buybars--;

      //-------
      BuyBuffer[i]=buybars;
      }
   return(0);
  }
 
Подскажите пожалуйста, пишу советник, компилирую - ошибок нет но в навигаторе нигде его нету, есть только файл типа mq4 в MetaEditor. Пробовал в разных терминалах, везде одно и тоже, хотя раньше было все нормально.
 
antonovff:
Подскажите пожалуйста, пишу советник, компилирую - ошибок нет но в навигаторе нигде его нету, есть только файл типа mq4 в MetaEditor. Пробовал в разных терминалах, везде одно и тоже, хотя раньше было все нормально.
Было такое как то, тоже потерял советник после компиляции, оказалось что случайно затёр директорию при создании Eperts\MoySovetnik и он при компиляции помещался уж не помню куда, по моему в корневую папку.
 

Приветствую

В MT4 есть возможность или функция) Отсылки внутренней почты терминала на e-mail или sms, (например для получения сообщения о перезагрузки сервера итд)?

 
PozitiF:
Было такое как то, тоже потерял советник после компиляции, оказалось что случайно затёр директорию при создании Eperts\MoySovetnik и он при компиляции помещался уж не помню куда, по моему в корневую папку.
Я уже новый терминал скачал, создал советник в коде которого объявлена одна переменная, компиляция ошибок не выдает. Этот советник появляется только в навигаторе MetaEditor в самом низу, после всех директорий,  отдельным файлом типа mq4 и все, больше его нигде нету, присоединить его к графику не возможно.
 
Протестировал своего простейшего безиндикаторного советника на трех последних месяцах, с сентября с.г., и что-то мне нехорошо стало: разве может такое быть, чтобы при фиксированном объеме 0,1 лота прибыль за три месяца составила 29 112 уе и ни одной убыточной сделки? В чем подвох, кто-нибудь знает?
 
rapid_minus:
Протестировал своего простейшего безиндикаторного советника на трех последних месяцах, с сентября с.г., и что-то мне нехорошо стало: разве может такое быть, чтобы при фиксированном объеме 0,1 лота прибыль за три месяца составила 29 112 уе и ни одной убыточной сделки? В чем подвох, кто-нибудь знает?
При тестировании много нюансов, начиная с количества баров в истории, архивом котировок и т. д. Три месяца это мало, минимум год. Если ты в этом не сильно плаваешь то есть неплохие источники на YouTube. 
 
antonovff:
Я уже новый терминал скачал, создал советник в коде которого объявлена одна переменная, компиляция ошибок не выдает. Этот советник появляется только в навигаторе MetaEditor в самом низу, после всех директорий,  отдельным файлом типа mq4 и все, больше его нигде нету, присоединить его к графику не возможно.

Потому и появляется внизу потому что вы имя директории стираете. Не стирайте при написании нового имени слово Experts\