
A estratégia de fechamento de linha de sol é uma estratégia de negociação quantitativa baseada na forma de linha K. A estratégia busca sinais de compra e venda através da identificação de formas de fechamento de linha de sol.
O princípio central da estratégia é: a linha K atual é negativa, a linha K anterior é positiva, e o preço mínimo da linha K atual é maior do que o preço mínimo da linha K anterior, o preço máximo da linha K atual é menor do que o preço máximo da linha K anterior. Isso significa que o preço já formou um espaço de subida fechado, mostrando que a força de múltiplos cabeças está prestes a ser esgotada, o que é um sinal de venda.
Aqui, o valor médio de uma entidade de linha K é usado como linha de parada. A parada ocorre quando a entidade é maior que metade da linha de parada.
Os principais benefícios da estratégia de fechamento do sol são:
A estratégia de fechar os olhos também traz alguns riscos:
Para reduzir esses riscos, pode-se considerar a adição de juízos condicionais de volume de transação, ou em combinação com outros indicadores, como a média móvel, para compreender o movimento do mercado. A linha de parada também pode ser ajustada dinamicamente de acordo com a volatilidade do mercado.
A estratégia de fechamento de linha solar pode ser otimizada de várias maneiras:
Como uma estratégia de quantificação baseada na forma de linha K, a estratégia de linha fechada é simples, fácil de entender e fácil de implementar, e pode identificar efetivamente certos sinais de compra e venda. Mas também há algumas limitações, como a propensão a produzir sinais errados, forte cegueira, etc. Essas questões também fornecem uma direção de otimização para a estratégia.
/*backtest
start: 2023-11-20 00:00:00
end: 2023-11-27 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=3
strategy(title = "Noro's Harami Strategy v1.0", shorttitle = "Harami str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
//Body
body = abs(close - open)
abody = sma(body, 10)
//MinMax Bars
min = min(close, open)
max = max(close, open)
bar = close > open ? 1 : close < open ? -1 : 0
//Signals
up = bar == 1 and bar[1] == -1 and min > min[1] and max < max[1]
dn = bar == -1 and bar[1] == 1 and min > min[1] and max < max[1]
exit = ((strategy.position_size > 0 and bar == 1) or (strategy.position_size < 0 and bar == -1)) and body > abody / 2
//Trading
if up
if strategy.position_size < 0
strategy.close_all()
strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if dn
if strategy.position_size > 0
strategy.close_all()
strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
strategy.close_all()