Оптимизировать торговую стратегию - страница 2

 
yiduwi:

Признателен, однако, с этим условием, всё равно, что то не так. Стрелки где попало.

Как написать условие:- если любое время бара равно любому значению времени из файла?

Изучить матчасть. Любое время бара всегда совпадает с единственным - временем его открытия. 

 
Алексей Тарабанов:

 Любое время бара всегда совпадает с единственным - временем его открытия. 

Значит условие составил верно, где в таком случае ошибка ?

   for(int i=limit; i>=0; i--)
     {
      ResetLastError();
      //--- откроем файл для чтения (если файл не существует, то произойдет ошибка)
      file_handle=FileOpen(InpFileName,FILE_READ|FILE_TXT);

      if(file_handle!=INVALID_HANDLE)
        {
         //--- распечатаем содержимое файла
         while(!FileIsEnding(file_handle))
            if(time[i]>=StringToTime(FileReadString(file_handle)) && time[i]<=StringToTime(FileReadString(file_handle))+10)
              {
               BufferUP[i]=low[i]-10*Point;//
              Print("txt dat: ",FileReadString(file_handle),"time: ",time[i] );
              }
         //--- закрываем файл
         FileClose(file_handle);
        }
      else
         PrintFormat("Ошибка, код = %d",GetLastError());

     }

//--- return value of prev_calculated for next call
   return(rates_total);
  }
 
yiduwi:

Значит условие составил верно, где в таком случае ошибка?

Для начала, уберите конструкции типа StringToTime(FileReadString(file_handle)) за пределы цикла. 

 
yiduwi:

Значит условие составил верно, где в таком случае ошибка?

тут похоже такой подход не работает. У свечи 4-ре цены. Тут сканер видимо какой-то нужен... Вы погуглите...
 
Алексей Тарабанов:

Для начала, уберите конструкции типа StringToTime(FileReadString(file_handle)) за пределы цикла. 

Так я во вложенном цикле пытаюсь сравнивать время бара со временем из всех строк файла. Если вынести за while то с чем сравнивать?

 
Roman Shiredchenko:
тут похоже такой подход не работает. У свечи 4-ре цены. Тут сканер видимо какой-то нужен... Вы погуглите...

зачем цена, мне время нужно сравнить)

 
yiduwi:

зачем цена, мне время нужно сравнить)

У Вас программа некорректная. 

 
Алексей Тарабанов:

У Вас программа некорректная. 

В основном цикле получаю время бара затем во вложенном перебираю строки из файла и сравниваю каждую с временем бара. Что некорректно?

 
yiduwi:

В основном цикле получаю время бара затем во вложенном перебираю строки из файла и сравниваю каждую с временем бара. Что некорректно?

да потому что время бара никогда не будет равно этим значениям:

"

2019.04.12 16:18
2019.04.17 10:36
2019.04.18 10:03
2019.04.18 14:12

Прочесть и вывести на принт получается, но сравнить со временем свечи нет.

Как узнать что время свечи равно одному из значений из файла?"

 
На фрилансе есть люди, которые могут написать Вам робота по Вашим требований, не нужно себя мучать.