Реально ли оптимизировать код ? - страница 2

 
                  if(StrToDouble(ArrayStrg[i+j][1]) > StrToDouble(ArrayStrg[i+j][2]))
                     {
                        check_Mass[j][5] = 0;//если закрытие выше открытия значит свеча бычья
                     }
                  else if(StrToDouble(ArrayStrg[i+j][1]) < StrToDouble(ArrayStrg[i+j][2])))
                     {
                        check_Mass[j][5] = 1;//если закрытие ниже открытия значит свеча медвежья
                     }
                  else  
                  {check_Mass[j][5] = 2;}//если закрытие ниже открытия значит свеча доже      = 2;}//если закрытие ниже открытия значит свеча доже     

Лишнюю проверку можно убрать.

Возможно, еще много чего можно сделать, если знать бы как оно должно работать.

 
Mathemat >>:

В чем главная причина такого типа данных - строчного? Почему, скажем, не double? У Вас разные валютные пары?

Я просто записываю в фал всю историю, и при прогонке через тестер ... использую его в качестве истории! А считать у меня его с файла в нормальном виде получаеться только когда данные в строковом виде!

 

Покажите внутренность файла, хотя бы несколько строк.

 
DetRoyD писал(а) >>

Я просто записываю в фал всю историю, и при прогонке через тестер ... использую его в качестве истории! А считать у меня его с файла в нормальном виде получаеться только когда данные в строковом виде!

Если сами пишите и сами читаете, тогда лучше в бинарном режиме, можно сразу в массив double загружать файл.

 
Mathemat >>:

Покажите внутренность файла, хотя бы несколько строк.

1.44080000 1.44090000 1.44090000 1.44080000 1262991600 08.01.2010 23:00
1.44085000 1.44140000 1.44142000 1.44035000 1262989800 08.01.2010 22:30
1.44142000 1.44157000 1.44171000 1.44126000 1262988000 08.01.2010 22:00
1.44155000 1.44150000 1.44172000 1.44104000 1262986200 08.01.2010 21:30
1.44151000 1.44147000 1.44178000 1.44063000 1262984400 08.01.2010 21:00
1.44148000 1.44190000 1.44250000 1.44052000 1262982600 08.01.2010 20:30
1.44191000 1.44229000 1.44234000 1.44093000 1262980800 08.01.2010 20:00
1.44236000 1.44248000 1.44363000 1.44188000 1262979000 08.01.2010 19:30
1.44247000 1.43932000 1.44382000 1.43908000 1262977200 08.01.2010 19:00
1.43929000 1.43780000 1.44074000 1.43757000 1262975400 08.01.2010 18:30
1.43779000 1.43547000 1.43805000 1.43540000 1262973600 08.01.2010 18:00
1.43549000 1.43400000 1.43566000 1.43360000 1262971800 08.01.2010 17:30
1.43398000 1.43246000 1.43438000 1.43220000 1262970000 08.01.2010 17:00
1.43241000 1.43197000 1.43342000 1.43154000 1262968200 08.01.2010 16:30
1.43199000 1.43553000 1.43556000 1.43004000 1262966400 08.01.2010 16:00
1.43554000 1.43924000 1.43924000 1.43372000 1262964600 08.01.2010 15:30
 
Integer >>:

Если сами пишите и сами читаете, тогда лучше в бинарном режиме, можно сразу в массив double загружать файл.

Вот на это боюсь моих мозхов не хватит :(

 

1262989800 - это же время. Значит, метки типа "08.01.2010 22:30" не нужны вообще (при чтении). В то же время при обратной записи в файл эту метку легко генерить, зная абсолютное время в секундах.

 
DetRoyD писал(а) >>

Вот на это боюсь моих мозхов не хватит :(

Если файл загружается один раз на запуске, можно без этого обойтись, просто перекидать его в массив double.

 
Mathemat >>:

1262989800 - это же время. Значит, метки типа "08.01.2010 22:30" не нужны вообще (при чтении). В то же время при обратной записи в файл эту метку легко генерить, зная абсолютное время в секундах.

Это да! Тут я согласен тока эти данные я в расчетах не использую! :) ...

 

Ну как хотите. Вам показали, как от этих строк избавиться.

Строчные массивы жрут очень много памяти и медленно обрабатываются, хоть на 8 котлах.

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