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

 
где можна найти данные по началу и окончанию обеденного перерыва на всех биржах во киевскому времени или GMT
 
alexey1979621:

Всем привет! Уже задавал подобный вопрос на стр 711, к сожалению, никто не откликнулся, может сейчас кто...

 

Делаю так:

Привожу ситуацию к нулевой совокупной позиции (локирую), потом закрываю лок.

Теперь, детализация.

1. Подсчет совокупной позиции:

перебор ордеров

Если покупка, то совокупная позиция увеличивается на величину лота ордера. 

  Если продажа, то совокупная позиция уменьшается на величину лота ордера. 

конец цикла перебора ордеров 

2. Создание лока:

если совокупная позиция больше нуля, то продаем;

если совокупная позиция меньше нуля, то покупаем;

иначе - ничего не делаем. 

Размер лота равен совокупной позиции.

3. Закрываем лок (перекрытые позиции) 

Бесконечный цикл ( while (true) ) 

сбрасываем в ноль тикеты ордеров на покупку и продажу 

цикл перебора ордеров

если (покупка)  фиксируем тикет ордера на покупку

если (продажа)  фиксируем тикет ордера на продажу

конец цикла перебора ордеров 

если( есть продажа и есть покупка ) то перекрестное закрытие

иначе  выход из бесконечного цикла (break)

конец бесконечного цикла 

 

 Теперь этот алгоритм программируем на выбранном языке (MQL4)

 

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

 Data_1=iTime(Symbol(),PERIOD_D1,0)+86400;  //время жизни ордера

если он будет уже в рынке (тобишь  исполнился )он все равно закроется или нет

 
korobok777:

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

 Data_1=iTime(Symbol(),PERIOD_D1,0)+86400;  //время жизни ордера

если он будет уже в рынке (тобишь  исполнился )он все равно закроется или нет

нет
 
artmedia70:
нет
огромное человеческое спасибо
 

Привет всем , никогда не работал с файловыми операциями а тут пришлось, и не как не могу раскурить.

Задача каждый день  несколько раз записывать данные в файл csv

 То есть сегодня 24.09.2014 данные пишутся в строку в разные ячейки по типу 

        A             B             C

1   Дата | значение | значение | 

если сегодня данные изменились то строку с  24.09.2014 мы переписываем

если пришёл новый день то переходим на новую строку.

Курю курю и ни как не раскурю... 

 
VOLDEMAR:

Привет всем , никогда не работал с файловыми операциями а тут пришлось, и не как не могу раскурить.

Задача каждый день  несколько раз записывать данные в файл csv

 То есть сегодня 24.09.2014 данные пишутся в строку в разные ячейки по типу 

        A             B             C

1   Дата | значение | значение | 

если сегодня данные изменились то строку с  24.09.2014 мы переписываем

если пришёл новый день то переходим на новую строку.

Курю курю и ни как не раскурю... 

void Запись()
{
  int handle;
  string st=TimeToStr(TimeCurrent(), TIME_DATE);
  string filename = st+" Bid_Ask.csv"; // Формируем имя файла
  handle = FileOpen(filename,FILE_CSV|FILE_READ | FILE_WRITE,';');
  if(handle < 1)
  {
    Print("Не удалось создать файл. Ошибка #", GetLastError());
    return;
    //FileClose(handle);
  }
  
  FileWrite(handle,                   
            " Время ",
            " Bid ",
            " Ask ",
            " Volume "); // заголовок
  FileSeek(handle, 0, SEEK_END);
  FileWrite(handle,
            TimeToStr(TimeCurrent(),TIME_MINUTES|TIME_SECONDS),
            Bid,
            Ask,
            Volume[0]);
 
  FileClose(handle);
  return;
}
Наверное как-то так.
 
r772ra:
Наверное как-то так.

а как переписать последнюю строку если данные изменились ?

 
VOLDEMAR:

а как переписать последнюю строку если данные изменились ?

 

FileSeek() , в помощь.

 

Если данные изменились надо поставить указатель в то место от куда будем их перезаписывать fileseek, перез аписать обычным методом filewrite..., запомнить место окончания файла и обрезать WinApi функцией

Или штатным методом - в самый конец файла дописывать  позицию где заканчивается полезная иформация, а при с ледующей работе считывать эту позицию. (Можно писать позицию в другой файл)

Но все равно лучше обрезать, а штатного средства по обрезке нет (( 

это Zhunko 12.09.2014 20:19 #

Было бы интересно так же WinApi функции