Estratégia de negociação de ruptura de momento

Autora:ChaoZhang, Data: 2023-09-18 21:28:22
Tags:

Resumo

A estratégia usa o indicador de potência para negociar a ruptura do faixa de Bryn, principalmente para determinar se o preço quebra a faixa de Bryn e emite um sinal de compra e venda.

Princípios

A estratégia baseia-se principalmente na direção de tendência do indicador do Brainstorming. O Brainstorming é uma região de bandas composta por uma média móvel e seu déficit padrão. O Brainstorming é a média de uma média móvel de n dias, com a trajetória ascendente sendo o déficit padrão de + 2 vezes o déficit padrão e a trajetória descendente sendo o déficit padrão de + 2 vezes o déficit padrão do mediano.

Especificamente, a estratégia começa com o cálculo do preço mais alto e o preço mais baixo em n dias, e calcula o preço médio (((<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Se o preço de fechamento quebra a trajetória, indica uma tendência ascendente; se quebra a trajetória descendente, indica uma tendência descendente.

Além disso, a estratégia também introduziu um mecanismo de reversão de posições. Quando o preço quebra a faixa de Brin, se o MACD estiver em baixa, uma operação de reversão do mercado será feita.

Vantagens

  1. O uso de uma faixa de brinquedos para determinar a direção da tendência tem uma certa capacidade de rastreamento de tendências.

  2. O projeto de negociação reversa pode obter lucros contraditórios.

  3. Os parâmetros, como os ciclos de faixa de brinquedos, os múltiplos de diferença padrão e outros, podem ser personalizados para se adaptar a transações de diferentes ciclos.

  4. A posição pode ser fechada em retrospectiva, reduzindo o risco.

Riscos e contramedidas

  1. A faixa de brinquedos é frequentemente usada em ações com alta volatilidade e pode não ser adequada para variedades como recursos de longo ciclo ou índices. Pode testar o efeito de diferentes parâmetros de ciclo.

  2. Os sinais de ruptura podem ser falsos. Pode ser combinado com outros fatores para filtrar o sinal.

  3. O reverso pode aumentar ainda mais os prejuízos.

  4. O retiro pode ser maior. O tamanho da posição pode ser ajustado adequadamente.

Optimização

  1. A partir de agora, o mercado pode ser considerado como um filtro de tendências, evitando os mercados turbulentos em direção incerta.

  2. Pode-se testar os múltiplos de diferença padrão do cinturão de brinquedos para encontrar um parâmetro mais adequado.

  3. A estratégia de stop loss pode ser introduzida para controlar a perda de uma única conta.

  4. A lógica de negociação pode ser optimizada para facilitar o acesso e o aumento de posições, tornando os sinais de negociação mais claros.

Resumo

Esta estratégia é baseada em indicadores de Brin para determinar a ruptura da tendência de preços. A utilização de parâmetros simples pode ser usada para realizar a estratégia básica de rastreamento de tendências. Mas há um certo risco de ruptura, que precisa ser filtrado em conjunto com outros indicadores.

Resumo

Esta estratégia utiliza o indicador de impulso Bollinger Bands para a negociação de ruptura, julgando principalmente se o preço rompe as Bandas de Bollinger superiores ou inferiores para os sinais de negociação.

Princípios

A estratégia baseia-se principalmente no indicador de Bandas de Bollinger para determinar a direção da tendência. As Bandas de Bollinger consistem em uma faixa média baseada em uma média móvel e bandas superior/inferior definidas por desvios padrão. A faixa média é uma média móvel de n períodos, a faixa superior é a faixa média + 2 desvios padrão e a faixa inferior é a faixa média - 2 desvios padrão.

Especificamente, a estratégia primeiro calcula o máximo máximo e o mínimo mínimo nos últimos n períodos e o preço médio ((mais alto + mais baixo) / 2). Em seguida, calcula a distância entre o preço de fechamento e o preço médio, usa a média móvel exponencial da distância para formar a faixa média e adiciona / subtrai 2 vezes o desvio padrão acima e abaixo para formar as faixas superior e inferior.

Quando o preço de fechamento atravessa a faixa superior, ele sinaliza uma tendência de alta; quando ele quebra a faixa inferior, ele sinaliza uma tendência de queda.

Além disso, a estratégia incorpora um mecanismo de contra-tendência. Quando o preço quebra a faixa superior, mas o MACD está caindo, ele assumirá uma posição curta contra-tendência.

Vantagens

  1. Usar Bandas de Bollinger para determinar a direção da tendência fornece certa capacidade de seguir a tendência.

  2. O design contra-tendência permite lucrar com reversões.

  3. Os parâmetros personalizáveis, como os múltiplos de período e desvio padrão, tornam-no adaptável a diferentes horizontes de negociação.

  4. Desativar a negociação contra tendência para reduzir o risco.

Riscos e atenuações

  1. As bandas de Bollinger funcionam melhor para ações de alta volatilidade, podem não ser adequadas para commodities ou índices estáveis.

  2. Os sinais de ruptura podem ter falsas rupturas, podem adicionar filtros com outros indicadores.

  3. A negociação de contra-tendência pode aumentar ainda mais as perdas, desativando o módulo de contra-tendência.

  4. Os drawdowns podem ser significativos, podem ajustar o tamanho da posição.

Oportunidades de melhoria

  1. Considere a adição de filtro de tendência para evitar a venda em mercados não direcionais.

  2. Teste diferentes múltiplos do desvio-padrão para encontrar parâmetros ótimos.

  3. Incorporar stop loss para controlar a perda de uma única transação.

  4. Otimizar a entrada e a lógica de adição para sinais comerciais mais claros.

Resumo

A estratégia usa Bandas de Bollinger como indicador primário e negocia com base em breakouts de tendência. Com parâmetros simples, fornece capacidades básicas de seguir tendência. Mas existem riscos falsos de breakout, exigindo filtros adicionais. Parâmetros, stop loss e controles de risco podem ser aprimorados.


/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy("Noro's Bands Scalper Strategy v1.6", shorttitle = "Scalper str 1.6", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %")
needbe = input(true, defval = true, title = "Bands Entry")
needct = input(false, defval = false, title = "Counter-trend entry")
bodylen = input(10, defval = 10, minval = 0, maxval = 50, title = "Body length")
trb = input(1, defval = 1, minval = 1, maxval = 5, title = "Trend bars")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
needbb = input(true, defval = true, title = "Show Bands")
needbg = input(true, defval = true, title = "Show Background")
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")
src = close

//PriceChannel 1
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2

//Distance
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma
hd2 = center + distsma * 2
ld2 = center - distsma * 2

//Trend
chd = close > hd
cld = close < ld
uptrend = trb == 1 and chd ? 1 : trb == 2 and chd and chd[1] ? 1 : trb == 3 and chd and chd[1] and chd[2] ? 1 : trb == 4 and chd and chd[1] and chd[2] and chd[3] ? 1 : trb == 5 and chd and chd[1] and chd[2] and chd[3] and chd[4] ? 1 : 0
dntrend = trb == 1 and cld ? 1 : trb == 2 and cld and cld[1] ? 1 : trb == 3 and cld and cld[1] and cld[2] ? 1 : trb == 4 and cld and cld[1] and cld[2] and cld[3] ? 1 : trb == 5 and cld and cld[1] and cld[2] and cld[3] and cld[4] ? 1 : 0
trend = dntrend == 1 and high < center ? -1 : uptrend == 1 and low > center ? 1 : trend[1]

//trend = close < ld and high < center ? -1 : close > hd and low > center ? 1 : trend[1]

//Lines
colo = needbb == false ? na : black
plot(hd2, color = colo, linewidth = 1, transp = 0, title = "High band 2")
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band 1")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band 1")
plot(ld2, color = colo, linewidth = 1, transp = 0, title = "Low band 2")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)

//Body
body = abs(close - open)
smabody = ema(body, 30) / 10 * bodylen

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up7 = trend == 1 and ((bar == -1 and bar[1] == -1) or (body > smabody and bar == -1)) ? 1 : 0
dn7 = trend == 1 and ((bar == 1 and bar[1] == 1) or (close > hd and needbe == true)) and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0
up8 = trend == -1 and ((bar == -1 and bar[1] == -1) or (close < ld2 and needbe == true)) and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0
dn8 = trend == -1 and ((bar == 1 and bar[1] == 1) or (body > smabody and bar == 1)) ? 1 : 0

if up7 == 1 or up8 == 1 
    strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))

if dn7 == 1 or dn8 == 1
    strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
    
if time > timestamp(toyear, tomonth, 31, 00, 00)
    strategy.close_all()

Mais.