Esta estratégia determina a alocação e a cobertura de ativos com base nas tendências de longo prazo.
A lógica é:
Selecionar um ativo base, período de média móvel e resolução
Calcular a média móvel simples do activo
O cruzamento do preço acima do MA sinaliza alta a longo prazo, vá longo o ativo
O cruzamento do preço abaixo do MA sinaliza uma baixa a longo prazo, a curto prazo do ativo
Também pode ser só longo ou só curto
Julgar a tendência a longo prazo utilizando o preço do ativo em relação ao seu MA
Assumir uma posição oposta para cobrir flutuações de curto prazo
A estratégia cobre riscos de curto prazo e concentra-se na tendência secular do activo, permitindo ganhos constantes.
Sistema de MA simples para determinar a tendência a longo prazo
A combinação longa/curta cobre eficazmente os riscos sistémicos
Sinais claros de longo e curto prazo
MA está atrasado em relação aos movimentos de preços
Custos de detenção de posições de longo prazo
Necessidades de gestão de riscos em várias etapas
Esta estratégia utiliza combinações de activos a longo e curto prazo, com ênfase na gestão de riscos.
/*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)