Estratégia de abertura de recuo de rompimento


Data de criação: 2024-02-22 15:41:53 última modificação: 2024-02-22 15:41:53
cópia: 0 Cliques: 599
1
focar em
1617
Seguidores

Estratégia de abertura de recuo de rompimento

Visão geral

A principal ideia da estratégia é abrir mais posições após o surgimento de uma determinada forma de linha K, ou seja, fazer mais entradas quando a linha K seguinte é aberta, caso haja uma barra de cores que salta para baixo e a próxima linha K retorna ao ponto baixo.

Princípio da estratégia

A estratégia de julgamento baseia-se na seguinte condição: a linha K anterior tem um ponto mais baixo e um ponto mais alto do que a linha K anterior, ou seja, um salto para baixo; e a linha K atual tem um ponto mais baixo e um ponto mais baixo do que a linha K anterior, ou seja, um retorno.

Fazer o stop loss como o ponto baixo de retorno, ou seja, o preço mínimo da linha K anterior, e definir o stop loss como mais de 2% do preço de abertura da posição. Quando o preço toca o stop loss ou o preço de stop loss, a posição é fechada.

Análise de vantagens

A maior vantagem dessa estratégia é aproveitar as oportunidades de rebote que são altamente possíveis em curto prazo. Quando surge uma linha K que salta para baixo e depois ocorre um recuo, esta é uma forma de técnica muito poderosa, indicando que a força do arco-íris pode ser esgotada a esse nível e que há uma grande probabilidade de rebote. Portanto, esta é uma estratégia relativamente adequada para operações de linha curta.

Análise de Riscos

O principal risco desta estratégia é a possibilidade de que o preço continue a cair após o final da retracção. Como estamos fazendo muito perto do ponto baixo da retracção, se não conseguirmos parar o prejuízo a tempo, podemos enfrentar grandes perdas. Além disso, se a amplitude da retracção for menor e o ponto de parada for mais próximo, pode ser ajustado.

Direção de otimização

Pode-se considerar a combinação de outros indicadores para determinar o momento de entrada, como a possibilidade de entrar novamente no momento em que o MACD ocorre, ou pode-se calcular o preço típico para ver se está em posição de suporte, etc., o que pode filtrar alguns falsos sinais e melhorar a estabilidade da estratégia. Além disso, pode-se estudar o desempenho da estratégia em diferentes variedades e diferentes períodos de tempo, procurando o melhor conjunto de parâmetros.

Resumir

A estratégia é, em geral, uma estratégia típica de reajuste de ruptura de linha curta em várias formas. Ela aproveita a oportunidade de rebote oferecida pela forma forte de salto alto e reajuste. Mas, ao mesmo tempo, enfrenta o risco de não conseguir parar o prejuízo a tempo e causar maiores perdas, portanto, é adequada para operações de linha curta de monitoramento frequente do mercado.

Código-fonte da estratégia
/*backtest
start: 2024-01-22 00:00:00
end: 2024-02-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//  Created by Leon Ross
//study(title="OutsideDownOpenLower", shorttitle="ODOL", overlay=true)
strategy(title = "Outside", shorttitle = "OB", overlay = true )
  

//Window of time
//start     = timestamp(2018, 01, 01, 00, 00)  // backtest start window
//finish    = timestamp(2018, 12, 31, 23, 59)        // backtest finish window
//window()  => time >= start and time <= finish ? true : false // create function "within window of time"  

//Conditions
outsideBar = low < low[1] and high > high[1] and close < open
allConditions = outsideBar
  
//Stop and Take Profit as percentages
//inpTakeProfit   = input(2, title='Take Profit %', type=float)/100
//takeProfitValue = strategy.position_avg_price * (1 + inpTakeProfit)
//useTakeProfit   = inpTakeProfit  > 0 ?  takeProfitValue : na
//inpStopLoss     = input(1, title='Stop Loss %', type=float)/100
//stopLossValue = strategy.position_avg_price * (1 - inpStopLoss)
//useStopLoss     = inpStopLoss    > 0 ?  stopLossValue   : na
//entry = strategy.position_avg_price



//Stop as last bars low and profit as percentage
entry = strategy.position_avg_price
inpTakeProfit   = input(2.0, title='Take Profit %', type=float)/100
takeProfitValue = strategy.position_avg_price * (1 + inpTakeProfit)
useTakeProfit   = inpTakeProfit  > 0 ?  takeProfitValue : na
inpStopLoss     = valuewhen(allConditions, low, 0)
stopLossValue = inpStopLoss
useStopLoss     = inpStopLoss    > 0 ?  stopLossValue   : na
    



//Plots
bgcolor(allConditions ==1 ? aqua : na, transp=70)
plot(entry, color=blue, style=linebr, linewidth=2)
plot(useStopLoss, color=red, style=linebr, linewidth=2)
plot(useTakeProfit, color=green, style=linebr, linewidth=2)


//Entires
strategy.entry(id = "Long", long = true, when = allConditions) // use function or simple condition to decide when to get in

//Exits
//if (barssince(allConditions) == 2)
    //strategy.close("Long")
//else
strategy.exit("Exit Long", from_entry = "Long", stop = useStopLoss)