
A estratégia de impulso de abertura identifica uma forte ruptura de direção dos preços, observando o comportamento dos preços nos primeiros 30 minutos após a abertura do dia de negociação, e, em seguida, entra na tendência de negociação nessa direção. A estratégia utiliza principalmente a liquidez e o aumento do volume de negociação após a abertura, que pode gerar maior volatilidade de preços e forças direcionais.
A estratégia usa a linha K de 30 minutos, uma vez que é necessário um intervalo de tempo suficiente para julgar o comportamento do preço após a abertura.
Identifique as linhas K para os seguintes horários de abertura: 0700-0715, 0800-0815, 1300-1315 e 1430-1445
Para determinar se a linha K do disco aberto satisfaz as seguintes condições:
O preço de abertura é próximo ao preço mais baixo da linha K e o preço de fechamento é próximo ao preço mais alto da linha K
Ou o preço de abertura está perto do preço máximo, o preço de fechamento está perto do preço mínimo (linha K curta)
E o preço mais alto da linha K é superior a 1x o valor mais alto das 5 linhas K anteriores, ou o preço mais baixo é inferior a 1x o valor mais baixo das 5 linhas K anteriores (indicando que há uma ruptura)
Se as condições acima forem cumpridas, a 3a linha K após a ocorrência da linha K será negociada para entrar nessa direção.
A linha de parada é a linha K de entrada com o preço mais alto ou o preço mais baixo.
A posse de três K-Lines, ou seja, 90 minutos.
Considere:
A estratégia de abertura de negociação permite o acompanhamento de tendências por meio da captura de fortes rupturas no preço após a abertura. Comparado com a entrada aleatória, possui melhores características de risco e retorno. A chave é entender bem a configuração dos parâmetros, escolher a variedade apropriada e aumentar a probabilidade de lucrar, evitando entradas muito frequentes.
/*backtest
start: 2023-10-15 00:00:00
end: 2023-10-22 00:00:00
period: 10m
basePeriod: 1m
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/
// © Marcns_
//@version=5
// a script that highlights open drives around cash market opens throughout the day
// this indicator identifies the following cash open, open drives 0700 - 0715 / 0800 - 0815 / 1300 - 1315 / 1430 - 1445
// an open drive is when a cash market opens and price runs either up or down away from the opening price, often this will be the high or the low the remainer of the session or day
// and often identify a trend session
strategy("Open Drive", commission_type = strategy.commission.cash_per_contract, commission_value = 3.8 )
// open drive filter times - all times GMT
eu_sev = time(timeframe.period, "0700-0715", "GB")
eu_eig = time(timeframe.period, "0800-0815", "GB")
us_one = time(timeframe.period, "1300-1315", "GB")
us_two = time(timeframe.period, "1430-1445", "GB")
// identify bar that opens at low and closes at high + vice versa
// bar needs to open at one extreme and close at another
TrndExThreshold_Open = 0.15
TrndExThreshold_Close = 0.15
// add a bar range expansion filter - range of bar correlates to volume, high volume = wider range. This script will be able to filter for a break of a 5 bar range +100% or -100%
fbhi = ta.highest(5)
fblo = ta.lowest(5)
fbr = (fbhi - fblo)
RangeEx_up = 0.0
if high >= (fbhi[1] + fbr[1])
RangeEx_up := 1.0
else
na
// range ex down
RangeEx_do = 0.0
if low <= (fblo[1] - fbr[1])
RangeEx_do := 1.0
else
na
//#1 open within 5% of low
OpenAtLow = 0.0
if (close > open) and (open-low) / (high-low) < TrndExThreshold_Open
OpenAtLow := 1.0
else
na
//#2 close within 5% of high
CloseAtHigh = 0.0
if (close > open) and (high-close) / (high-low) < TrndExThreshold_Close
CloseAtHigh := 1.0
else
na
OD_Up = 0.0
if (OpenAtLow + CloseAtHigh + RangeEx_up == 3.0) and ( eu_sev or eu_eig or us_one or us_two)
OD_Up := 1
else
na
plot(OD_Up, title = "OD_up")
OpenAtHigh = 0.0
if (close < open) and (high-open) / (high-low) < TrndExThreshold_Open
OpenAtHigh := 1.0
else
na
//#2 close within 5% of high
CloseAtLow = 0.0
if (close < open) and (close-low) / (high-low) < TrndExThreshold_Close
CloseAtLow := 1.0
else
na
OD_Down = 0.0
if (OpenAtHigh + CloseAtLow + RangeEx_do == 3.0) and ( eu_sev or eu_eig or us_one or us_two)
OD_Down := -1
else
na
plot(OD_Down, title = "OD_down", color = color.red)
//3sma
ma = ta.sma(close,3)
// one time framing - highlight bars the make a series of lower highs or higher lows to identify trend
// one time frame up
otf_u = 0.0
if close > ma and close[1] > ma[1]
otf_u := 1
else
na
// one time frame down
otf_d = 0.0
if close < ma and close[1] < ma[1]
otf_d := 1
else
na
//bgcolor(otf_u ? color.rgb(76, 175, 79, 70) : na)
//bgcolor(otf_d ? color.rgb(255, 82, 82, 66) : na)
// record high and low of entry bar into variable for absolute stop
// buy stop
bs = 0.0
if OD_Up
bs := low[1]
else
na
// sell stop
ss = 0.0
if OD_Down
ss := high[1]
else
na
// strategy entry and exits
// long
if OD_Up
strategy.entry("el", strategy.long, 2)
if ta.barssince(OD_Up)> 3
strategy.exit(id = "ex" , from_entry = "el", limit = close)
// short
if OD_Down
strategy.entry("es", strategy.short, 2)
if ta.barssince(OD_Down)> 3
strategy.exit(id = "ex" , from_entry = "es", limit = close)