Блог им. sherman |TSLab. Корректная проверка, что вы вне позиции.

Сегодня вместе с разработчиками нашли ошибку в моих скриптах. Оказывается, список позиций в реальной работе передается уже заполненным, в лаборатории же он всегда пустой и формируется по мере расчета. Поэтому, когда вы находитесь в позиции нужно проверять еще  и текущий бар. Текущий бар должен быть больше бара открытия  позиции, иначе это может порождать забавные глюки. Типа открыл-закрыл. Меня кстати сегодня это спасло от лося случайно. Но проверку я все же переделал.
Итак правильная проверка:
if (
   position == null /* && other conditions*/
) {
   // try to buy or sell
} else {
   if (null == position || position.EntryBarNum > barNum)
     continue;

   // stop loss, take profit or close by market logic
}

Блог им. sherman |Эксплуатация TSLab.

Еще несколько вещей, которые нашел в реальной эксплуатации.
 
1. Если вы хотите изменить настройки работающего скрипта, нужно открыть его в «Управление скриптами», изменить настройки и затем нажать «Выполнить»(F5). Иначе настройки не вступят в силу в боевом режиме.
 
2. Все данные нужно стараться рассчитать до основного цикла, если возможно и закэшировать. Это даст скорость выполнения.
 
3. Программа иногда валится с unhandled exception. Разработчики не предоставляют никакого функционала failover или механизма оповещений. Это бывает довольно редко, но случается(1-2 раза в неделю).

Блог им. sherman |TSLab. Изменение профита в открытой сделке.

    • 27 февраля 2011, 19:02
    • |
    • Deleted
  • Еще
Еще одна карапуля для отслеживания профита в открытой сделке: www.everfall.com/paste/id.php?xwxusrrbeac9
 
Помогает подумать над тем как использовать некоторые закономерности в изменении профита как дополнительный сигнал фиксации прибыли.
 
 
 

Блог им. sherman |TSLab. Как построить график распределения PnL по месяцам.

    • 27 февраля 2011, 04:09
    • |
    • Deleted
  • Еще
Я люблю смотреть как ТС торгует по месяцам, на общей кривой доходности это конечно также видно, но хочется посмотреть и дискретно.
 
Так как я сторонник open source(был много лет контрибьютером некоторых OSS проектов) и полностью разделяю данную идеологию, я буду выкладывать, по-немногу, те вещи, которые могут быть интересны кому-то еще. Конечно, речь не идет о «граалях», но некоторые полезные фичи могут пригодиться тем, кто ковыряет торговые системы в TSLab.


( Читать дальше )

Блог им. sherman |Использование TSLab в тестировании торговых систем

    • 16 февраля 2011, 00:04
    • |
    • Deleted
  • Еще
Неделю плотно попользовав TSLab нашел две неприятные, но известные «фичи» TSLab. Будет полезно тем, кто только начинает знакомство.
 
1. Если ваш приказ TakeProfit прописан в стратегии раньше, чем StopLoss и профит у вас небольшой, вы получаете иллюзорный результат. В тестировании такой приказ будет выполняться всегда раньше чем StopLoss при достижении целевой цены, естественно. В реале же будет исполнен тот, до которого _первым_ дойдет цена.
 
2.  Просто так выставить StopLoss или TakeProfit на той же свече, на которой было открытие, нельзя. Есть костыль, называется сжатие/расжатие или Compress/Decompress. Подробнее можно на форуме почитать.
 
Было также замечено, что программа частенько зависает на тестировании длинных периодов(3-4 года) с мелким тай-фреймом(10 минут). В WLD такого не было. Возможно это связано с тем, что windows у меня в виртуалке.

....все тэги
UPDONW
Новый дизайн