Оптимизировать торговую стратегию - страница 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

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

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

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