Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Оптимизация по времени Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
AntColonel



Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск

СообщениеДобавлено: Пн Май 01, 2017 9:11 am Ответить с цитатой Вернуться к началу

Делаю следующее условие:
TMtr = TimeNum() > Optimize ("TMtr", 100000, 100000,234000,1000)

Т.е. при оптимизации в тестере прогоняются временные участки по 10 минут: 10 00 00, 10 10 00, 10 20 00 и т.д. Вроде все хорошо, но... 10 60 00, 10 70 00, 10 80 00, 10 90 00...

Т.е. на каждый час мы получаем 4 лишних шага. А если смотрим участки по 5 минут? А если у нас есть еще один параллельно оптимизируемый параметр? Просто тратим кучу лишнего времени.

Как-то возможно убрать эти лишние шаги или придется смириться?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8816

СообщениеДобавлено: Пн Май 01, 2017 11:23 pm Ответить с цитатой Вернуться к началу

Шаги убрать нельзя. Можно сделать проверку и если "минуты" больше или равны 60 то не прогонять весь код
Типа
Код:
If(...)
{
   Buy = Sell = Short = Cover = 0;
)
else
{
   // код системы
}

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
trashfx



Зарегистрирован: 27.06.2015
Сообщения: 90

СообщениеДобавлено: Вт Май 02, 2017 12:02 pm Ответить с цитатой Вернуться к началу

AntColonel писал(а):
Делаю следующее условие:
TMtr = TimeNum() > Optimize ("TMtr", 100000, 100000,234000,1000)

Т.е. при оптимизации в тестере прогоняются временные участки по 10 минут: 10 00 00, 10 10 00, 10 20 00 и т.д. Вроде все хорошо, но... 10 60 00, 10 70 00, 10 80 00, 10 90 00...

Т.е. на каждый час мы получаем 4 лишних шага. А если смотрим участки по 5 минут? А если у нас есть еще один параллельно оптимизируемый параметр? Просто тратим кучу лишнего времени.

Как-то возможно убрать эти лишние шаги или придется смириться?


Basic math of elementary school!
If you want to do calculations on times then you first have to convert to seconds!

Код:

tn = TimeNum();

_min = TimeToSeconds( 100000 );
_max = TimeToSeconds( 234000 );
_step = Interval();

optsec = Optimize ("TMtr", _min, _min, _max, _step );
opttn =  SecondsToTime( optsec );

_TRACEF(  "sec: %g, tn: %g", optsec, opttn );

TMtr = tn > opttn;


Image
Посмотреть профиль Отправить личное сообщение
AlexLan73



Зарегистрирован: 25.06.2012
Сообщения: 87

СообщениеДобавлено: Вт Май 02, 2017 3:50 pm Ответить с цитатой Вернуться к началу

Thank you, beautiful decision.
Посмотреть профиль Отправить личное сообщение
AntColonel



Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск

СообщениеДобавлено: Пт Май 12, 2017 7:51 pm Ответить с цитатой Вернуться к началу

trashfx писал(а):

Basic math of elementary school!
If you want to do calculations on times then you first have to convert to seconds!

Код:

tn = TimeNum();

_min = TimeToSeconds( 100000 );
_max = TimeToSeconds( 234000 );
_step = Interval();

optsec = Optimize ("TMtr", _min, _min, _max, _step );
opttn =  SecondsToTime( optsec );

_TRACEF(  "sec: %g, tn: %g", optsec, opttn );

TMtr = tn > opttn;



In Ami 5.6 this code is given the mistake.

No such functions: TimeToSeconds or SecondsToTime
Посмотреть профиль Отправить личное сообщение
trashfx



Зарегистрирован: 27.06.2015
Сообщения: 90

СообщениеДобавлено: Вс Май 14, 2017 7:26 pm Ответить с цитатой Вернуться к началу

AntColonel писал(а):
trashfx писал(а):

Basic math of elementary school!
If you want to do calculations on times then you first have to convert to seconds!

Код:

tn = TimeNum();

_min = TimeToSeconds( 100000 );
_max = TimeToSeconds( 234000 );
_step = Interval();

optsec = Optimize ("TMtr", _min, _min, _max, _step );
opttn =  SecondsToTime( optsec );

_TRACEF(  "sec: %g, tn: %g", optsec, opttn );

TMtr = tn > opttn;



In Ami 5.6 this code is given the mistake.

No such functions: TimeToSeconds or SecondsToTime


Those functions are AFL user functions.
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen