Estratégia de negociação de balanço médio móvel de milho

Autora:ChaoZhang, Data: 2023-11-13 17:59:42
Tags:

img

Resumo

A estratégia de negociação de balanço de média móvel de milho utiliza os cruzamentos dourados e mortos de médias móveis com diferentes períodos para negociação de balanço longo e curto. Também incorpora vários efeitos visuais como cores de velas, cores de fundo e marcadores de forma para ajudar a observar mudanças de tendência.

Estratégia lógica

A estratégia define primeiro dois parâmetros ajustáveis pelo usuário: o período de média móvel ativa len1 e o período de média móvel da linha de base len2. A média móvel ativa tem um período mais curto para capturar mudanças de tendência de curto prazo, enquanto a média móvel da linha de base tem um período mais longo para filtrar ruídos do mercado. Os usuários podem escolher livremente entre 5 tipos diferentes de médias móveis: EMA, SMA, WMA, DEMA e VWMA. O código usa se lógica para calcular diferentes tipos de médias móveis com base na seleção do usuário.

Quando a média móvel de curto prazo cruza a média móvel de longo prazo, uma cruz de ouro é gerada para abrir posições longas. Quando uma cruz morta acontece, a estratégia abre posições curtas.

Os marcadores de forma mostram visualmente as posições das cruzadas douradas e mortas. A cor de fundo ajuda a determinar a direção da tendência. Esta estratégia tem os modos de negociação long e short balance e long only disponíveis.

Vantagens

  1. Sinais de negociação mais fiáveis com múltiplos indicadores combinados
  2. Aumento do potencial de lucro com negociação de saldos longos e curtos
  3. Tipos e períodos de médias móveis personalizáveis adaptáveis a diferentes ambientes de mercado
  4. Detecção de tendências intuitiva com vários efeitos visuais
  5. Estrutura de código clara, fácil de entender e personalizar

Riscos e soluções

  1. Sinais enganosos das médias móveis

    • Usar combinações de médias móveis de diferentes períodos para reduzir sinais enganosos
    • Adicionar outras condições de saída como stop loss
  2. Determinados períodos podem ser mais adequados à estratégia

    • Teste diferentes parâmetros de período para encontrar os ideais
    • Faça o parâmetro período dinâmico e ajustável no código
  3. Aumento do risco de perdas com negociações longas e curtas

    • Ajuste o dimensionamento da posição corretamente
    • Selecionar apenas o modo de negociação longo

Orientações de otimização

  1. Adicionar stop loss para controlar a perda de uma única transação
  2. Criar condições para a reentrada no mercado
  3. Otimizar as estratégias de dimensionamento de posição
  4. Explorar novos sinais de negociação como indicadores de volatilidade
  5. Otimizar dinamicamente os parâmetros do período
  6. Otimizar os pesos entre os diferentes tipos de médias móveis

Resumo

O Corn Moving Average Balance Trading Strategy integra os pontos fortes dos indicadores de média móvel e permite a negociação de balanço longo e curto. Ele tem efeitos visuais ricos para detectar tendências e parâmetros personalizáveis para adaptabilidade. Mas sinais enganosos e dimensionamento de posição precisam ser observados. Esta estratégia fornece aos traders avançados um quadro de referência personalizável.


/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("MASelect Crossover Strat", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
av1 = input(title="Active MA", defval="EMA", options=["EMA", "SMA", "WMA", "DEMA", "VWMA"])
av2 = input(title="Base MA", defval="EMA", options=["EMA", "SMA", "WMA", "DEMA", "VWMA"])
len1 = input(20, "Active Length")
len2 = input(100, "Base Length")
src = input(close, "Source")
strat = input(defval="Long+Short", options=["Long+Short", "Long Only"])

ema1 = ema(src, len1)
ema2 = ema(src, len2)
sma1 = sma(src, len1)
sma2 = sma(src, len2)
wma1 = wma(src, len1)
wma2 = wma(src, len2)
e1 = ema(src, len1)
e2 = ema(e1, len1)
dema1 = 2 * e1 - e2
e3 = ema(src, len2)
e4 = ema(e3, len2)
dema2 = 2 * e3 - e4
vwma1 = vwma(src, len1)
vwma2 = vwma(src, len2)

ma1 = av1 == "EMA"?ema1:av1=="SMA"?sma1:av1=="WMA"?wma1:av1=="DEMA"?dema1:av1=="VWMA"?vwma1:na
ma2 = av2 == "EMA"?ema2:av2=="SMA"?sma2:av2=="WMA"?wma2:av2=="DEMA"?dema2:av2=="VWMA"?vwma2:na

co = crossover(ma1, ma2)
cu = crossunder(ma1, ma2)
barcolor(co?lime:cu?yellow:na)
col = ma1 >= ma2?lime:red
bgcolor(co or cu?yellow:col)
plotshape(co, style=shape.triangleup, location=location.belowbar)
plotshape(cu, style=shape.triangledown)
plot(ma1, color=col, linewidth=3), plot(ma2, style=circles, linewidth=1)

strategy.entry("Buy", strategy.long, when=co)
if strat=="Long+Short"
    strategy.entry("Sell", strategy.short, when=cu)
else
    strategy.close("Buy", when=cu)

Mais.