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

 
Подскажите как реализовать в коде - есть параметр его надо складывать в файл с периодичность в n минут?...

21
LLIAMAH 11.11.2011 21:03
Тоесть, есть один параметр и он ежетиково изменяется. И я хочу создать советника вспомогательного, который будет этот параметр сохранять в файл текстового формата или лучше всего в экселе. Периодичность занесения информации в файл я думаю расписать сам смогу, главное код или функцию которая создает файл и записывает туда информацию при обращении к ней. Поможете?

Поможем :) Как нам помогал кто-то в своё время, так и Вам поможем :).

У Кима есть замечательная функция, которая добавляет данные в конец текстового документа. Имея её в руках, всё, что Вам нужно сделать, это отследить те самые энн минут. Как только они прошли, берём наш изменившийся параметр, суём его в функцию Кима и получаем обновлённый текстовый документ. (Только вот ОЧЕНЬ хотелось бы, чтоб Вы вникли в то, КАК работает данная функция). Вот она:

//+------------------------- WritingLineInFile() ----------------------------
//| Дописывание строки в конец файла
//+---------------------------------
void WritingLineInFile(string FlName, string Text){
  int file_handle=FileOpen(FlName, FILE_CSV|FILE_READ|FILE_WRITE, " ");
        if (file_handle>0){
                FileSeek(file_handle,0,SEEK_END);
                FileWrite(file_handle,Text);
                FileClose(file_handle);
        }
        else{
          Print("Ошибка ",GetLastError()," - Не удалось открыть файл ",FlName);
   }
}
//---------------------------------------------------------------------------

Как её использовать?

Я к этому посту приложил свой индикатор. Он единственное что делает - это пишет цену каждого нового тика в текстовый документ. Посмотрите код - он простой. Думаю, что имея в руках простой работающий индюк, Вы разберётесь быстрее, чем если бы я попытался это описать словами.

Файлы:
 

Всем привет, подскажите пожалуйста новичку, с помощью одного индикаторного буфера, можно изобразить вот такую штуку на графике:

Хочу сделать горизонтальную разлиновку графика, при помощи одного индикаторного буфера, правда не понимаю пока, как он работает.

 
drknn:

Поможем :) Как нам помогал кто-то в своё время, так и Вам поможем :).

У Кима есть замечательная функция, которая добавляет данные в конец текстового документа. Имея её в руках, всё, что Вам нужно сделать, это отследить те самые энн минут. Как только они прошли, берём наш изменившийся параметр, суём его в функцию Кима и получаем обновлённый текстовый документ. (Только вот ОЧЕНЬ хотелось бы, чтоб Вы вникли в то, КАК работает данная функция). Вот она:

Как её использовать?

Я к этому посту приложил свой индикатор. Он единственное что делает - это пишет цену каждого нового тика в текстовый документ. Посмотрите код - он простой. Думаю, что имея в руках простой работающий индюк, Вы разберётесь быстрее, чем если бы я попытался это описать словами.

Спасибо, Владимир! Все получилось :) Код разобрал по строчкам за 15 минут, вроде проблем не возникло, значение DoubleToStr(Bid,Digits) без проблем заменил на свое значение DoubleToStr(Прибыль_Убыток,Digits) :)

Отслеживать те самые минуты решил с помощбю функции нового бара:

//+------------------------------------------------------------------+
// Определение появления нового бара!                                
//+------------------------------------------------------------------+
bool NewBar()
{
   static datetime lastbar = 0;
   datetime curbar = Time[0];
   if(lastbar!=curbar)
   {
      lastbar=curbar;
      return (true);
   } 
   else return(false);
}
//+------------------------------------------------------------------+

тем самым, информация в файл записывается либо каждую минуту,5 минут, 15, 30, час, 4 или дня, в зависимости от таймфрейма на который навешали вспомогательного советника :)

Еще раз огромное спасибо! :) Помогли :)

 

Доброго дня!

Подскажите, пожалуйста, как правильно организовать пространство в MetaEditor.

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

Пробовала следующее: Компьютер - P.F- MetaTrader 4-experts- indicators и там создать папку, но по всей видимости это не правильно,

т.к. данные этой папки не отображаются в навигаторе и не доступны для работы через терминал.

Спасибо. С уважением, Ольга

 

Наверное, самое простое - переименовать индикаторы так, чтобы каждая группа начиналась со своего символа/цифры/буквы/их набора.

А вот ненужные убрать там же в отдельную папку - их и видно не будет, и достать недолго при нужде (хоть малой, хоть большой).

Список сократится и будет упорядочен (по алфавиту).

 
drknn:

Поможем :) Как нам помогал кто-то в своё время, так и Вам поможем :).

У Кима есть замечательная функция, которая добавляет данные в конец текстового документа. Имея её в руках, всё, что Вам нужно сделать, это отследить те самые энн минут. Как только они прошли, берём наш изменившийся параметр, суём его в функцию Кима и получаем обновлённый текстовый документ. (Только вот ОЧЕНЬ хотелось бы, чтоб Вы вникли в то, КАК работает данная функция). Вот она:

Как её использовать?

Я к этому посту приложил свой индикатор. Он единственное что делает - это пишет цену каждого нового тика в текстовый документ. Посмотрите код - он простой. Думаю, что имея в руках простой работающий индюк, Вы разберётесь быстрее, чем если бы я попытался это описать словами.

Еще вопрос: я решил сделать не txt формат а csv и заменил строчку имени файла на:

FileName=Symbol()+"_"+DoubleToStr(Day(),0)+"_"+DoubleToStr(Month(),0)+"_"+DoubleToStr(Year(),0)+".csv";

Теперь он сохраняет у меня в экселевский документ значение моего параметра вот таким образом:

Подскажите как можно разделить значения на строки, чтобы в колонку А1 вводилось значение даты, в колонку B2 - время и в C2 - значение моего параметра?

P.S. на значения не обращайте внимание, так как работоспособность проверял на тестере, сейчас рынок закрыт... :(

 
google: разделитель excel site:mql4.com
 
Google:
google: разделитель excel site:mql4.com

Спасибо, получилось :)

 
Как рассчитать максимально допустимый размер лота с учетом плеча итд?
Спасибо
 
Чем отличается POINT от TICKSIZE ? При запросе через MarketInfo() одинаковы, но чем то же они должны отличаться раз по разному называются?
Причина обращения: