
Esta estratégia usa médias móveis e indicadores relativamente fortes para determinar a direção da tendência do mercado e, gradualmente, estabelece posições curtas em tendências de baixa para obter lucro.
Quando o preço de fechamento estiver abaixo da média móvel simples de 100 dias e o RSI for maior que 30, faça uma entrada em branco. Em seguida, defina uma linha de parada e uma linha de parada, com a parada acima de 3% do preço de entrada e a parada abaixo de 2% do preço de entrada.
Na plataforma Coinrule, você pode configurar ordens de venda em sequência múltipla para construir posições gradualmente. Quando o mercado continua a cair, aumente gradualmente a posição. Configurar intervalos de tempo de pedidos também ajuda a controlar a posição total.
A estratégia conecta um stop loss e um stop loss para cada transação. A taxa de stop loss e a taxa de stop loss são otimizadas para moedas de mercado intermediário. Você pode fazer ajustes de acordo com a moeda específica.
Stop loss de 3% do preço de entrada 2% do preço de entrada Um pouco maior do que o Stop Loss Ratio pode tolerar uma maior oscilação e evitar um Stop Loss desnecessário.
Esta estratégia baseia-se em uma média móvel para determinar a direção da tendência, a filtragem do indicador RSI para determinar o momento específico de entrada, capaz de capturar efetivamente a tendência de queda. O método de acumulação gradual permite controlar o risco, a configuração de um stop loss para garantir a capacidade de sustentabilidade de uma única transação.
/*backtest
start: 2022-10-31 00:00:00
end: 2023-11-06 00:00:00
period: 1d
basePeriod: 1h
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/
// © Coinrule
//@version=4
strategy(shorttitle='Short In Downtrend',title='Short In Downtrend Below MA100', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
//Backtest dates
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 10, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2019, title = "From Year", type = input.integer, minval = 1970)
thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12)
thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31)
thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
//MA inputs and calculations
inSignal=input(50, title='MASignal')
MA= sma(close, inSignal)
// RSI inputs and calculations
lengthRSI = input(14, title = 'RSI period', minval=1)
RSI = rsi(close, lengthRSI)
//Entry
strategy.entry(id="short", long = false, when = close < MA and RSI > 30)
//Exit
shortStopPrice = strategy.position_avg_price * (1 + 0.03)
shortTakeProfit = strategy.position_avg_price * (1 - 0.02)
strategy.close("short", when = close > shortStopPrice or close < shortTakeProfit and window())
plot(MA, color=color.purple, linewidth=2)