A estratégia de gama aberta com meta de lucro dinâmico

Autora:ChaoZhang, Data: 2023-09-10
Tags:

img

A Open Range Strategy com Dynamic Profit Target é uma estratégia de negociação técnica que usa a faixa de abertura do mercado para identificar oportunidades de negociação potenciais.

A estratégia funciona primeiro calculando o intervalo de abertura do mercado. O intervalo de abertura é a diferença entre o preço alto e o preço baixo da primeira barra do dia de negociação. A estratégia então identifica oportunidades de negociação potenciais procurando uma quebra acima ou abaixo do intervalo de abertura.

Se o preço ultrapassar o intervalo de abertura, a estratégia entrará em uma posição longa. Se o preço ultrapassar o intervalo de abertura, a estratégia entrará em uma posição curta. A estratégia sairá da posição quando o preço atingir uma meta de lucro ou stop loss predeterminada.

A meta de lucro para a estratégia é dinâmica, o que significa que ela muda conforme o preço se move. A meta de lucro é calculada com base no intervalo de abertura e no preço atual do mercado. A estratégia sairá da posição quando o preço atingir uma porcentagem predeterminada do intervalo de abertura.

A estratégia de stop loss também é dinâmica, o que significa que ela muda conforme o preço se move. A estratégia de stop loss é calculada com base no preço atual do mercado e na porcentagem predeterminada do intervalo de abertura.

A estratégia de Open Range com Dynamic Profit Target é uma estratégia relativamente simples de implementar, mas pode ser eficaz na identificação de oportunidades de negociação de curto prazo.

A seguir, uma explicação mais pormenorizada dos diferentes componentes da estratégia:

  • O intervalo de abertura é a diferença entre o preço alto e o preço baixo da primeira barra do dia de negociação.
  • Breakout: ocorre quando o preço se rompe acima ou abaixo da faixa de abertura.
  • Objetivo de lucro: O objetivo de lucro é a percentagem predeterminada da faixa de abertura que a estratégia tentará atingir antes de sair da posição.
  • Stop Loss: O stop loss é o preço predeterminado ao qual a estratégia sairá da posição se o mercado se mover contra a negociação. A Estratégia Open Range com Dynamic Profit Target é uma estratégia versátil que pode ser usada em uma variedade de prazos e mercados.

Aqui estão algumas dicas para usar a Estratégia de Intervalo Aberto com Meta de Lucro Dinâmico:

  • Use um stop loss para proteger os seus lucros.
  • Use um stop loss para bloquear os lucros à medida que o mercado se move a seu favor.
  • Testar a estratégia em dados históricos antes de usá-la em negociação ao vivo.
  • Utilize uma variedade de outros indicadores para confirmar os sinais gerados pela estratégia de gama aberta com meta de lucro dinâmico. A estratégia de alcance aberto com meta de lucro dinâmico é uma ferramenta poderosa que pode ser usada para identificar oportunidades de negociação de curto prazo. No entanto, é importante usar a estratégia com sabedoria e entender suas limitações. Seguindo as dicas acima, você pode aumentar suas chances de sucesso ao usar essa estratégia.

Espero que este artigo seja útil.


/*backtest
start: 2023-08-09 00:00:00
end: 2023-09-08 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
args: [["v_input_10",true]]
*/

//@version=2
//Created by Frenchy/lisfse/Francois Seguin on 2019-01-22"
strategy(title="Open_Range_Strategy_with_dynamic_PT_by_frenchy", shorttitle="O/R Strategy Dynamic PT  ", overlay=true)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2017, title = "From Year", minval = 2010)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2016)
// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"


// === INPUT SESSION RANGE ===
SessionLenght = input('0930-1100',  title="Session Lenght")
res = input('30', title="Length Of Opening Range?")
Notradetime= time('30', '0930-1000')
Tradetime= time('1', '1000-1100')

// === LONG/SHORT STRATEGY AND ALERT SELECTION     ===

Select_long = input(true, title="Long Strategy and alert ?")
Select_short = input(false, title="Short Strategy and alert ?")


//Session Rules
sessToUse = SessionLenght
bartimeSess = time('D', sessToUse)
fr2to17 =  time(timeframe.period, sessToUse) 
newbarSess = bartimeSess != bartimeSess[1]
high_range = valuewhen(newbarSess,high,0)
low_range = valuewhen(newbarSess,low,0)
adopt(r, s) => security(syminfo.tickerid, r, s)


//Formula For Opening Range
highRes = adopt(res, high_range)
lowRes = adopt(res, low_range)
range = highRes - lowRes

//Highlighting Line Rules For Opening Range
highColor = Notradetime  ? red : green
lowColor = Notradetime  ? red : green


//Plot Statements For Opening Range Lines
openRangeHigh = plot(fr2to17 > 0 ? highRes : na, color=highColor, style=linebr, linewidth=4,title="OR High")
openRangeLow = plot(fr2to17 > 0 ? lowRes : na, color=lowColor, style=linebr, linewidth=4,title="OR Low")


//Price definition
price = security(syminfo.tickerid, timeframe.period, close)
haclose = ((open + high + low + close)/4)
//aopen = na(haopen[1]) ? (open + close)/2 : (haopen[1] + haclose[1]) / 2
MA20= sma(price,20)


//Plots For Profit Targe 2
bgcolor(Notradetime? red:na)


///////////////////////////////////////Strategy Definition ///////////////////////////////////////////////////////////////


/////////////////////////////////////////Long Strategy////////////////////////////////////////////////////////////////////
//Enter Strategy Long criteria 
Enterlong = (crossover(price,highRes) and Select_long and Tradetime ? 1:0 ) and (Notradetime ? 0:1) 
plotarrow(Enterlong, color=black, style=shape.triangleup, text="Enter", location=location.belowbar, minheight = 80, maxheight=80, offset=0)

//Exit Strategy Long  criteria
Exitlong  = crossunder(price,highRes) or crossunder(price,MA20) 
//plotshape(Exitlong, color=black, style=shape.triangledown, text="Exit", location=location.abovebar)

/////////////////////////////////////////Long Strategy Excution////////////////////////////////////////////////////////
strategy.entry ("Call", strategy.long, when=Enterlong and window())
strategy.close("Call", when=Exitlong and window())




//////////////////////////////////////////Short Strategy////////////////////////////////////////////////////////////////

//Enter Strategy Short criteria
Entershort = crossunder(price,lowRes) and time(res, SessionLenght) and Select_short ? 1:0

// Exit Strategy short criteria
Exitshort  =  crossover(price,lowRes) or crossover(haclose,MA20)


///////////////////////////////////////Strategy execution Short///////////////////////////////////////////////////////

strategy.entry ("put", strategy.short, when=Entershort and window()) 
strategy.close("put", when=Exitshort and window())



 





Mais.