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

 
extralifes:

Добрый день, господа.

Все еще нужен ваш совет вот в таком вопросе:

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

И так цикл за циклом. Цикл времени задается от 1 до 60 минут. Подскажите как это описать правильно в коде? Как представленный ниже код сделать цикличным и с возможностью задавать размер цикла от 1 до 60 минут?

Пока у меня цикл из 5 минут выглядит так :


Буду благодарен за помощь.

это уже ваш повторный пост.

мне так кажется. что народ просто не понимает о чем вы спрашиваете.

попробуйте перефразировать выделенные фразы

 
sergeev:

это уже ваш повторный пост.

мне так кажется. что народ просто не понимает о чем вы спрашиваете.

попробуйте перефразировать выделенные фразы



я думаю, что обнулятся должно в заголовке програмы. Так? Нащет другого я непонял
 
extralifes:

Добрый день, господа.

Все еще нужен ваш совет вот в таком вопросе:

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

И так цикл за циклом. Цикл времени задается от 1 до 60 минут. Подскажите как это описать правильно в коде? Как представленный ниже код сделать цикличным и с возможностью задавать размер цикла от 1 до 60 минут?

Пока у меня цикл из 5 минут выглядит так :


Буду благодарен за помощь.


Может изпользовать while место if?
 
nlp2311:

Добрый день!

Вопрос в следующем. В индикаторе поставил переключение по историческим данным через

Я знаю можно сделать через буфферы ввиде линий, НО не хочу, т.к. буфферов только 8 ! Делал это с разбивкой на несколько индюков, но опять не устраивает по многим разным причинам....(:

ВОПРОС №1.

Как можно сделать shift истории через iBarShift .

Т.е. смысл в том, что я ставлю дату в глобальных переменных (например "02.06.2010 07:00"), а затем нажимая горячую клавишу (Cntrl+I) идет прибавление к iBarShift . И значения индикатора сдвигаются, т.е. тестируется))): визуально.

Так же ВОПРОС №2.

Как прописать в коде индекатора "горячую клавишу" (не МТ4 !!!!, а для кода индекатора, например, прибавить или убавить историю).

Через хуки, видимо, особенно если хотите переопределить контрол+I.

ВОПРОС №3

И где можно взять коды ASII для горячих клавишь???

Они Вам, скорее всего, не понадобятся, но коли очень нужно, то здесь.
 
alsu:

Через хуки, видимо, особенно если хотите переопределить контрол+I.

Они Вам, скорее всего, не понадобятся, но коли очень нужно, то здесь.

Спасибо! Весело...):

Примерчик бы с хуками))): дали бы))): индикатор или часть...

=========================== =================

А ГЛАВНЫЙ ВОПРОС был про

ВОПРОС №1.

Как можно сделать shift истории через iBarShift .

Т.е. смысл в том, что я ставлю дату в глобальных переменных (например "02.06.2010 07:00"), а затем нажимая горячую клавишу (Cntrl+I) идет прибавление к iBarShift . И значения индикатора сдвигаются, т.е. тестируется))): визуально. Понятное дело, что надо примитивно прибавлять к iBarShift или вычитать...

Вопрос МОЖНО или НЕТ так??

 
Может я и не въехал, что же нужно сделать, но:
Двигать график влево-вправо можно переписывая содержимое ячеек индицируемого буфера в соседние. И никакой iBarShift для этого не нужен.
 
MikeM:
Может я и не въехал, что же нужно сделать, но:
Двигать график влево-вправо можно переписывая содержимое ячеек индицируемого буфера в соседние. И никакой iBarShift для этого не нужен.
Видимо, именно это и нужно. Еще можно попробовать через SetIndexShift(), но че-то я не уверен, что будет перерисовывать вообще (на моей памяти вроде как оно работает только в init())
 
Вот еще есть статья про управление параметрами с помощью графических объектов, может пригодиться.
 

Доброго времени суток. Вопрос следующего содержания. В книге по MQL4 С.К. в главе "Переменные GlobalVa­riables" в разделе "Свойства GV-переменных" сказано: "GV-переменная может иметь только тип double". Ниже в разделе "Функция GlobalVariableDel()" приведен пример эксперта globalvar.mq4 следующего содержания:

//--------------------------------------------------------------------
// globalvar.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
int    Experts;                                 // Колич. экспертов
double Depo=10000.0,                            // Заданный депозит
       Persent=30,                              // Заданный процент     
       Money;                                   // Искомые средства
string Quantity="GV_Quantity";                  // Имя GV-переменной
//--------------------------------------------------------------------
int init()                                      // Спец. функция init
  {
   Experts=GlobalVariableGet(Quantity);         // Получим тек. знач.
   Experts=Experts+1;                           // Колич. экспертов
   GlobalVariableSet(Quantity, Experts);        // Новое значение
   Money=Depo*Persent/100/Experts;              // Средства для эксп.
   Alert("Для эксперта в окне ", Symbol()," выделено ",Money);
   return;                                      // Выход из init()
  }
//--------------------------------------------------------------------
int start()                                     // Спец. функция start
  {
   int New_Experts= GlobalVariableGet(Quantity);// Новое колич. эксп.
   if (Experts!=New_Experts)                    // Если изменилось
     {
      Experts=New_Experts;                      // Теперь текущ. такое
      Money=Depo*Persent/100/Experts;           // Новое знач. средств 
      Alert("Новое значение для эксперта ",Symbol(),": ",Money);
     }
   /*
   ...
   Здесь долен быть указан основной код эксперта,
   в котором используется значение переменной Money
   ...
   */
   return;                                      // Выход из start()
  }
//--------------------------------------------------------------------
int deinit()                                    // Спец. ф-ия deinit
  {
   if (Experts ==1)                             // Если эксперт один..
      GlobalVariableDel(Quantity);              //..удаляем GV-перемен
   else                                         // А иначе..
      GlobalVariableSet(Quantity, Experts-1);   //..уменьшаем на 1
   Alert("Эксперт выгружен из окна ",Symbol()); // Сообщ. о выгрузке
   return;                                      // Выход из deinit()
  }
//--------------------------------------------------------------------

Вопрос: почему в данном примере глобальные переменные Expert и New_Expert имеют тип int, хотя, как указано ранее, эти переменные должны были бы иметь тип double?

Заранее благодарю за ответ

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