Блог им. IgorKokarev

Тестирование стратегий на TradingView - ошибочные результаты

Кто-нибудь пользуется тестером торговых стратегий на TradingView? У меня всегда получаются некорректные результаты расчета прибыли или убытка. На графике я вижу правильные точки входа/выхода из сделки, но в результатах тестировщика рандомные цифры прибыли/убытка. Например если торгую одним контрактом на фьючерс, то по каждой сделке якобы сотни тысяч прибыли или убыток — в результате обещает мне заработок в 100 миллионов рублей за год торгуя одним контрактом. Бред ведь.
14 комментариев
По правильности прибыли/убытка не проверял. Но точно проверял, что на скриптах TradingView элементарно делается подглядывание в будущее, из-за чего половина скриптов в открытом доступе являются «тестерными граалями». Так что доверять результатам тестирования на TradingView нужно с очень большой осторожностью.
avatar
Jame Bonds, Спасибо, понял. Буду писать свой скрипт для тестирования.
avatar
Alexide, для отработки стратегий на истории рекомендую Python.
С одной стороны, все оч простенько делается, в смысле тестирования. С другой, всякой разной инфы о ТС и сделках можно получить немерянно, никакому промышленному тестеру и не снилось.
Из недостатков, нужно переписывать стратегию на рабочий язык, но это максимум неделя и далеко не каждый день.))
Вообще-то, готовыми тестерами никогда не пользовался, только самописными. На Питоне уже несколько лет.
avatar

3Qu, спасибо за совет! Я подумываю написать на Delphi, Python увы не знаю. 

Кстати хотел поблагодарить Вас за недавний пост о Граале, которым Вы поделились (тему как Вы и говорили, потом удалили). Кажется понял Вашу идею и по первому ручному подсчету она хорошо работает. Настолько все просто, что просто удивительно. Спасибо большое.

avatar
Alexide, Дельфи не катит, замучаетесь нужный функционал писать. А в Питоне уже все нужное есть, прямо из коробки. Изучение — неделя максимум, вечерами книжку аочитать. Остальное уже по ходу пьесы наращивается 
avatar
3Qu, Добрый день! Как Вы думаете, скрипт Python BackTrader для оценки стратегий и автоторговли через QUIK хороший вариант? Я хотел бы через ВТБ.
avatar
Alexide, не знаю. Даже не слышал о таковом.
Вообще-то, сам тестер и оценка пишется самостоятельно минут за 15. Я это пишу каждый раз заново для конкретной стратегии.
Что касается авто ТС, то через Питон я это не делаю. Хотя, возможно, для многих стратегий можно делать ТС и на Питон.
Питон использую только для моделирования и тестирования стратегий с последующим переводом стратегии на рабочий язык ТС.
avatar
3Qu, понял, благодарю!
avatar
3Qu, добрый день! Если Вам интересно, посмотрите BackTrader — это opensource скрипт на Python для тестирования торговых стратегий. Помню, что Вы много лет писали свой код для тестирования. Вот пример простого скрипта с оценкой простой стратегии и парсингом CSV файла с курсами эмитента:

import backtrader as bt
cerebro = bt.Cerebro()

class SmaCross(bt.SignalStrategy):
params = dict(
pfast=50, # период быстрой средней, 50 свечей
pslow=200 # 200 свечей для медленной средней
)

def __init__(self):
sma1, sma2 = bt.ind.SMA(period=self.p.pfast), bt.ind.SMA(period=self.p.pslow) # используем простые скользящие средние
self.crossover = bt.ind.CrossOver(sma1, sma2)

def next(self):
if not self.position: # если позиция не открыта системой
if self.crossover > 0: # если быстрая SMA пересекает медленную вверх
self.buy() # открываем длинную позицию

elif self.crossover < 0: # во всех остальных случаях закрываем открытую позицию
self.close()

data = bt.feeds.GenericCSVData(
dataname='SPFB.Si-9.22-5M.csv',
dtformat='%Y%m%d',
tmformat='%H%M%S',
datetime=0,
time=1,
high=3,
low=4,
open=2,
close=5,
volume=6,
openinterest=-1
)

cerebro.adddata(data)
cerebro.addstrategy(SmaCross)
cerebro.broker.setcash(600000) # начальный депозит
cerebro.addsizer(bt.sizers.FixedSize,stake = 1) # размер позиции X лотов
cerebro.run()
cerebro.plot(style='candlestick')

avatar
Alexide, 
Помню, что Вы много лет писали свой код для тестирования.
Не, вы ошиблись.
Стратегии на Питоне пишу уже лет 5 или больше. Тестирование действительно пишется за 15 минут — это всего лишь цикл, в котором на стратегию последовательно подаются данные истории.
avatar

3Qu, я понимаю, что конкретная стратегия проверяется быстро.

Можно один личный вопрос: почему Вы месяц назад написали: «Сам сейчас не пользуюсь» относительно Вашего грааля? Если торговая идея стабильно работает и автоматически, почему отказываться от лишнего дохода? Или время от времени требовались коррекции в алгоритм и пригляд?

avatar
Alexide, я сейчас, уже полгода, не торгую — нерентабельно: прибыль не окупает затрат времени на торговлю. Объяснял это в своем блоге.
И, второе, сейчас у меня другая стратегия, хотя и на основе изложенной, но с существенными изменениями.
ЗЫ пригляд за работой робота всегда требуется — всех нештатных ситуаций в программе не учтешь — они каждый раз разные.
avatar
У меня тоже такая же фигня — прибыль/убыток в несколько миллиардов ))). Случилась несколько дней назад. А сегодня добавился еще один глюк — все сделки на истории отзеркалились, т.е. те, что были в бай стали в селл и наоборот. Полный пиздец…

теги блога Alexide

....все тэги



UPDONW
Новый дизайн