А что мешает брать из истории сделок только последние 1000?
Да тут скорее дело не в количестве ордеров, а в корявости кода. Ведь просканировать тысячу ордеров - много времени не требуется. Просто по всей видимости это сканирование делается у автора на каждом тике, поэтому и торомозит. Да и помимо этого наверняка ещё куча ненужных операций выполняется. Могу конечно ошибаться, но просто такое ощущение складывается.
А зачем "каждые выходные переуставливать терминал" - вообще непонятно. Какое это имеет отношение к скорости работы советника?
Да тут скорее дело не в количестве ордеров, а в корявости кода. Ведь просканировать тысячу ордеров - много времени не требуется. Просто по всей видимости это сканирование делается у автора на каждом тике, поэтому и торомозит.
А зачем "каждые выходные переуставливать терминал" - вообще непонятно. Какое это имеет отношение к скорости работы советника?
1) Конечно, скальпер сканирует всю историю на каждом тике (а как иначе - он же скальпер). Это сканирование делается несколькими независимыми функциями, каждой самостоятельно, поэтому получается, что история несколько раз прокручивается. Свести функции в одну - у меня не получится - слишком громоздкий код потом не отдебажить.
2) При переустановке терминала я надеюсь потерять часть истории, чтобы нечего стало сканировать
1) Конечно, скальпер сканирует всю историю на каждом тике (а как иначе - он же скальпер). Это сканирование делается несколькими независимыми функциями, каждой самостоятельно, поэтому получается, что история несколько раз прокручивается. Свести функции в одну - у меня не получится - слишком громоздкий код потом не отдебажить.
2) При переустановке терминала я надеюсь потерять часть истории, чтобы нечего стало сканировать
1) Да уж... При таком подходе к программированию у вас ни один суперкомпьютер не справится с вашими задачами, хотя при нормальном коде с ними бы справилась и машина 15 летней давности. Мне очень жаль ваш ноутбук... Как ему не повезло с хозяином...
2) Даже не хочется комментировать такой бред... Но так для справки: история вообще не затрагивается при переустановке. Хотя конечно я не сомневаюсь, что вы найдёте не менее "изящное" решение вопроса.
1) Да уж... При таком подходе к программированию у вас ни один суперкомпьютер не справится с вашими задачами, хотя при нормальном коде с ними бы справилась и машина 15 летней давности. Мне очень жаль ваш ноутбук... Как ему не повезло с хозяином...
2) Даже не хочется комментировать такой бред... Но так для справки: история вообще не затрагивается при переустановке. Хотя конечно я не сомневаюсь, что вы найдёте не менее "изящное" решение вопроса.
+100
Автор вообще не в теме про оптимизацию и ничего не слышит, кроме своих слов.. такое ощущение.
+100
Автор вообще не в теме про оптимизацию и ничего не слышит, кроме своих слов.. такое ощущение.
Извините, если создал у вас такое впечатление.
Но если историю не урезать, то деваться некуда - надо оптимизировать.
Читаю док. по ссылке, но пока прояснения нет.
Может, к утру осенит... ну или чуть конкретней кто-нибудь выскажется.
Извините, если создал у вас такое впечатление.
Но если историю не урезать, то деваться некуда - надо оптимизировать.
Читаю док. по ссылке, но пока прояснения нет.
Может, к утру осенит... ну или чуть конкретней кто-нибудь выскажется.
Дарю первую идею для осенения:
у вас было 1000 сделок в истории, вы их обработали, выставили ордер (допустим)
пришел новый тик.. в истории все теже 1000 сделок, все тот же ордер стоит. рассчитывать и анализировать ничего не надо
пришел новый тик.. в истории все теже 1000 сделок, все тот же ордер стоит. рассчитывать и анализировать ничего не надо
...
Т.е. в самом простом варианте можно сделать так:
int N; // глобальная переменная
if (N!=OrdersHistoryTotal( ))
{
...
алгоритм расчёта истории
...
N=OrdersHistoryTotal( );
}
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Скальпер закрывает по сотне сделок на инструмент ежедневно.
И склонен к "глубокому самоанилизу" - просматривает и обсчитывает перед каждой операцией свою торговую историю а несолько раз.
Когда число исторических ордеров доходит до тысячи, тормозит в тестере до невозможности, даже если интервал тестирования 2-4 дня.
Как сделать, чтобы в реале он не подвесил мой, не очень-то мощный, в общем-то, ноутбук?
Мне кажется, что хорошо для этого было бы чистить историю - удалять из неё слишком древние ордера.
Это возможно?
Пока меня посетила только такая идея: каждые выходные переустанавливать терминал.
Ведь ордера открытые в пятницу от этого не потеряются?
Но такой вариант не слишком хорош:
1) часть истории хотелось бы оставлять для скальпера.
2) Если мне потом захочется извлечь всю историю сделок и построить, скажем, график, откуда мне брать данные?
В общем, подскажите, как это по-человечески сделать? (сократить доступную советнику историю)