Поделюсь еще одной наработкой. На этот раз даже с открытым исходным кодом. Дело в том что стратегия настолько простая, что из описания почти любой кодер смог бы догадаться как её запрограммировать.
Из хорошего: - открытый исходный код - контр-трендовая, более 70% прибыльных сигналов в среднем - универсальная, подходит и для пар крипто/доллар и для крипто/биткойн - относительно низкая просадка - очень простая для понимания и для кодинга
Стратегия
Только длинные позиции. Шорт не используется вообще. Не реверсивная.
Нужно покупать после закрытия красных (падающих) свечей, при условии если тело свечи больше среднего хотя бы в 3 раза. И закрывать лонг при закрытии первой же растущей свечи. Не зависимо от того какого размера у неё тело.
В итоге сделки относительно редкие. Но зато можно удобно мониторить несколько пар. Ведь по сути надо просто отсортировать по change и найти самые упавшие койны за последние сутки. А это даже на сайтах биржах можно сделать. Или у скринера TradingView (там тоже можно отфильтровать по бирже).
Исходный код
Всё крайне просто. Прокомментирую каждую строчку. Удивительно короткий код.
//version=4 strategy("robotrading body", shorttitle = "body", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_value = 0.1) mult = input(3.0) body = abs(close - open) if close < open and body > sma(body, 100) * mult strategy.entry("L", strategy.long) if close > open strategy.close_all()
В строке 1. Написано что это стратегия, как она будет называться. overlay = true - значит будет поверх графика (а не под графиком) default_qty_type = strategy.percent_of_equity - по умолчанию сумма ордера будет измеряться в процентах от баланса счёта (equity), а не от изначального депозита default_qty_value = 100 - по умолчанию торгуем на 100% от баланса, т.е. "на всю котлету" (что не рекомендуется с shitcoins) commission_value = 0.1 - комиссия по умолчанию 0,1%. Хотя полно бирж где комиссия меньше.
В строке 2. Сделан параметр. Чтобы юзер мог выбирать множитель. Во сколько раз тело свечи должно быть больше среднего, чтобы создался сигнал на отрытие длинной позиции. Причем точка-ноль в конце реально нужная штука. Это позволяет делать параметр не только целым числом. Т.е. можно будет использовать множитель 2,5 например.
В строке 3. В этой строке рассчитывается размер тела. abs - означает абсолютное знание. То есть модуль числа. Ну или совсем для тупых - число будет в любом случае положительным, а не отрицательным. Из цены закрытия вычитается цена открытия свечи. Так рассчитывает размер тела.
В строке 4. Тут 2 условия. Если одновременно соблюдается оба условия, то сработает следующая строка. Если одно или оба условия не выполняются, то следующая строка не сработает. Условие первое: свеча должна быть падающей (красной, close < open). Второе условие: тело свечи должно быть больше чем среднее 100 предыдущих свечей (не зависимо от цвета предыдущих свечей) в mult раз. Тут команда SMA используется для расчета среднего арифметического. То есть ею можно не только скользящие средние рисовать. А mult - это множитель, который выбрал юзер. По умолчанию - в 3 раза.
В строке 5. Открыть лонг (если условия предыдущей строки кода соблюдались) на всю котлету. Рядом со стрелочной нарисовать буковку "L".
В строке 6. Снова условие, если свечка растущая, то...
В строке 7. Закрыть вообще все позиции. close_all. По идее то в стратегии этой только одна позиция может быть, но так проще, поэтому сделал простым способом, он тоже правильный.
Редкие сделки
Так как сигналы редкие, то торгуя одну пару обогнать рынок по доходности скорее всего не получится. Более разумно было бы отслеживать множество пар. Каждый день есть какая-то пара (а скорее несколько пар) с большим падением цены. Лучше не входить на всю котлету в одну пару, так как монета может лететь и до нуля (допустим хакнули какой-то дефай-проект). Поэтому разумнее было бы брать скажем по 5 разных монет по 20% от баланса на каждую. Этот подход так же снизил бы и размер максимальной просадки, и длительность просадок снизил бы тоже. Короче говоря, диверсификация никогда не вредит и всегда полезна.
המידע והפרסומים אינם אמורים להיות, ואינם מהווים, עצות פיננסיות, השקעות, מסחר או סוגים אחרים של עצות או המלצות שסופקו או מאושרים על ידי TradingView. קרא עוד בתנאים וההגבלות.