noro

Разоблачение лживых стратегий

BITSTAMP:BTCUSD   Биткоин / Доллар США
2465 просмотров
46
2465 9
Тут покажу как скрипты стратегий Вас обманывают, и как на это не попадаться. Повод:

fixsys
Добрый день. По поводу стратегий. Нашел среди стратегий Vdub FX SniperVX3 Strategy v3. На первый взгляд работает неплохо. Может стоит ее потестировать и подкрутить если что?


Исходный код у стратегии открытый, и потому её можно разоблачить (мухлюет). К сожалению, у многих стратегий тут исходный код закрыт, поэтому нельзя понять мухлюет она или нет. Стрелки (и вообще тестер стратегии) генерируется в этим кодом конце:

Piriod=input('720')
ch1 = security(tickerid, Piriod, open)
ch2 = security(tickerid, Piriod, close)
longCondition = crossover(security(tickerid, Piriod, close),security(tickerid, Piriod, open))
if (longCondition)
strategy.entry("BUY", strategy.long)
shortCondition = crossunder(security(tickerid, Piriod, close),security(tickerid, Piriod, open))
if (shortCondition)
strategy.entry("SELL", strategy.short)

Вы не программисты (большинство), поэтому я для Вас его расшифрую. Весь предыдущий код стратегии вообще никак не влияет на генерацию стрелок (и соответственно тестера).

Piriod=input('720') - выбрать таймфрейм 12 часов
ch1 = security(tickerid, Piriod, open) - посмотреть цену открытия свечи таймфрейма 12 часов по этой же паре

В целом, вторая строчка безобидная. Действительно, смотреть цену открытия свечи - это смотреть в прошлое, а так можно, мы же в реальной ситуации знаем прошлое. Мы можем в 14 часов дня посмотреть цену, какая была в 00:00 часов, так можно. Но дальше...

ch2 = security(tickerid, Piriod, close) - посмотреть цену закрытия свечи таймфрейма 12 часов

То есть стратегия видит будущее на 12 часов вперед. Использует ли она это? Да.

longCondition = crossover(security(tickerid, Piriod, close),security(tickerid, Piriod, open)) - отрыть лонг-позицию ЕСЛИ ЦЕНА ЗАКРЫТИЯ БОЛЬШЕ ЦЕНЫ ОТКРЫТИЯ ))) То есть если заранее известно что цена вырастет - открыть лонг. Так же и шорт :)

Как с этой пакостью бороться? Я видел только 2 приема подглядывания в будущее. И их можно распознать в коде (если код открыт), не понимая сам код даже.

Прием 1. Команда security. Она нужна чтобы смотреть цены другого актива. Это команда еще не значит что стратегия мухлюет. Например, стратегия для торговли акциями может посматривать цену закрытия прошлого дня какого-то индекса акций. Это нормально и может оказаться полезно, это не обманка еще. Но тут в команде security выбран актив tickerid - это значит "посмотреть цены выбранного актива". Что тоже не значит что это обман. Если цену открытия смотрит - то можно. Нельзя чтобы она смотрела любые другие типы цен, типа close, high, low, hl2 и так далее. То есть вот такая конструкция это точно подглядывание в будущее "security(tickerid".

Прием 2. Тоже видел. Можно смотреть цену предыдущего бара. Выгляди это так: close - то есть посмотреть цену закрытия на 1 бар назад. Так можно, прошлое знать можно. Можно и так close - посмотреть цену закрытия 5 свечей назад. Тоже можно. Но там есть возможность вставлять отрицательное значение. Так close означает подсмотреть цену закрытия следующей свечки, то есть подсмотреть в будущее.

Так что нам надо чтобы в стратегии не было конструкций типа:
а) security(tickerid
б) цена или цена

Сразу скажу что ни в одной из моих стратегий ничего подобного нет. А если бы было, то кто-нибудь давно бы уже спалил бы и написал об этом комментарий (а комментарий удалить невозможно).
RADDAR.IO - полная картина рынка в два клика https://u.to/fU_QFA

Лучший торговый терминал для криптобирж. 14 дней триал и 10% скидка: https://iceberg.one/?reg=8_noro1

Каталог лучших торговых стратегий, автоследование, аудит торгов! https://x100btc.com
Я просто беру стратегию и на симуляторе, (благо он появился) гоняюю ее. С тем же vdub его миллионные проценты уходят)) Значительно проигрывает рынку
+1 Ответить
zugduk dp150691car
@dp150691car, а что за симулятор?
Ответить
Я правильно вижу Чистую прибыль в сводке 1000%??
Ответить
если это начало пути то вам++)
Ответить
Какой из 8 установил? Их там много.
Ответить
noro Maska_R
@Alex_555, у которого больше всего лайков
Ответить
@noro, хейтеры лайкают?)
Ответить
@noro, Добрый день. Я копирую скрипт и выскакивает ошибка, причем не у меня одного..

"line 84: mismatched input 'strategy.entry' expecting 'end of line without line continuation'"

на строке кода:
strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=((time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59))))

Есть мысли как такое решить? Спасибо!
Ответить
cryptohumster cryptohumster
@cryptohumster, получилось подключить через поиск стратегий
Ответить
Домой Скринер акций Скринер форекс Скринер криптовалют Экономический календарь О проекте Особенности Цены Правила поведения Модераторы Решения для сайтов и брокеров Виджеты Графики TradingView для сайтов Помощь и поддержка Отзывы и предложения Блог и новости ЧаВо Wiki Твиттер
Профиль Настройка профиля Счёт и оплата Помощь и поддержка Опубликовано идей Подписчики Подписан Личные сообщения Чат Выйти