Эта стратегия определяет распределение активов и хеджирование на основе долгосрочных тенденций.
Логика такова:
Выбрать базовый актив, скользящий средний период и разрешение
Расчет простой скользящей средней стоимости актива
Пересечение цены выше MA сигнализирует о долгосрочном бычьем настроении.
Пересечение цены ниже уровня MA сигнализирует о долгосрочном медвежьем движении, короткий курс актива
Также можно использовать только длинные или короткие.
Оценить долгосрочную тенденцию с использованием цены актива по сравнению с его MA
Принять противоположную позицию для хеджирования краткосрочных колебаний
Стратегия хеджирует краткосрочные риски и фокусируется на долгосрочной тенденции актива, что позволяет получать устойчивую прибыль.
Простая система MA для определения долгосрочной тенденции
Длинные/короткие пары эффективно хеджируют системные риски
Ясные длинные и короткие сигналы
MA отстает от движения цен
Стоимость хранения долгосрочных позиций
Необходимость управления рисками на нескольких участках
Эта стратегия использует долгосрочные и краткосрочные комбинации активов, делая акцент на управлении рисками.
/*backtest start: 2023-08-14 00:00:00 end: 2023-09-13 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © danilogalisteu //@version=4 strategy("Long Term L/S", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) base = input("BMFBOVESPA:IBOV") period = input(5, 'SMA Period', input.integer) resolution = input(title="SMA Resolution", type=input.resolution, defval='M') strat = input(title="Strategy", defval="Long/Short", options=["Long Only", "Long/Short", "Short Only"]) strat_val = strat == "Long Only" ? 1 : strat == "Long/Short" ? 0 : -1 base_cl = security((base), resolution, close) base_ma = sma(base_cl, period) longCondition = crossover(base_cl, base_ma) if (longCondition) if strat_val > -1 strategy.entry("LONG", strategy.long) if strat_val < 1 strategy.close("SHORT") shortCondition = crossunder(base_cl, base_ma) if (shortCondition) if strat_val > -1 strategy.close("LONG") if strat_val < 1 strategy.entry("SHORT", strategy.short) //plot(longCondition?1:0, 'L', color.blue) //plot(shortCondition?-1:0, 'S', color.red)