Como usar um valor de variável em um alerta

Você pode usar espaços reservados especiais para acessar valores variáveis na mensagem do alerta. Por exemplo, você pode criar um alerta no NASDAQ:AAPL e digitar em uma caixa de mensagem:

{{exchange}}:{{ticker}}, Preço = {{close}}, Volume = {{volume}}

Depois que o alerta for acionado, você obterá os valores correspondentes:

Abaixo está a lista de variáveis disponíveis.

  1.  {{ticker}} - retorna o símbolo (como AAPL ou BTCUSD).

  2.  {{exchange}} - Bolsa do símbolo em questão (como NASDAQ, NYSE ou AMEX). Os dados atrasados incluem um parâmetro DL ou DLY, por exemplo NYMEX_DL.

  3.  {{close}}, {{open}}, {{high}}, {{low}}, {{time}}, {{volume}} - valores correspondentes da barra na qual o alerta foi acionado. Observe que alertas em indicadores, gráficos e desenhos não padronizados dependem de uma resolução, enquanto alertas simples de preço (por exemplo, preço que ultrapassam algum valor) são sempre calculados em barras de 1 minuto. {{time}} está no UTC, formatado como aaaa-MM-ddTHH: mm: ssZ. Por exemplo, 2019-08-27T09:56:00Z. Outros valores são números de ponto fixo com um ponto decimal que separa as partes integrais e fracionárias. Por exemplo, 1245.25.

  4.  {{timenow}} - hora exata em que o alerta foi acionado. É formatado da mesma maneira que o horário da barra {{time}}. É preciso em segundos, independentemente do período selecionado.

  5.  {{plot_0}}, {{plot_1}},… {{plot_19}} - série de saída correspondente de um indicador usado no alerta. Observe que os gráficos são numerados de zero. O ID de plotagem mais alto é 19 (você pode acessar apenas 20 primeiras séries de saída). As séries de saída são os valores de um indicador que você pode ver em um gráfico. Por exemplo, o indicador de volume interno possui duas séries de saída: Volume e Volume MA. Você pode criar um alerta e digitar em uma caixa de mensagem algo como isto:

Volume: {{plot_0}}, Média do volume: {{plot_1}}

        6. {{interval}} - retorna o intervalo (ou seja, período de tempo/resolução) do gráfico em que o alerta é criado. Observe que, por razões técnicas, em alguns casos, esse espaço reservado retornará “1” em vez do período de tempo no gráfico. Alertas regulares com base em preços (com condições como "AAPL Cruzando 120" ou "AMZN ACima de 3600") são todos baseados no último valor do símbolo, então o período de tempo do gráfico não é relevante para o alerta. Por causa disso, todos os alertas baseados em preço são calculados no período de 1m e o marcador sempre retornará “1” de acordo. Além disso, os gráficos de intervalo também são calculados com base em dados de 1m, de forma que o marcador de posição {{interval}} sempre retornará “1” em qualquer alerta criado em um gráfico de intervalo. Com alertas criados em desenhos e indicadores, este espaço reservado funcionará conforme o esperado.

        7. {{syminfo.currency}} - retorna o código da moeda do símbolo atual (“EUR”, “USD”, etc.).

        8. {{syminfo.basecurrency}} - retorna o código da moeda base do símbolo atual se o símbolo se referir a um par de moedas. Caso contrário, ele retornará na. Por exemplo, ele retorna "EUR" quando o símbolo é "EURUSD".

Os marcadores de posição com o prefixo "estratégia" podem ser usados apenas em alertas de estratégia:

  • {{strategy.position_size}} - retorna o valor da mesma palavra-chave no Pine, ou seja, o tamanho da posição atual.
  • {{strategy.order.action}} - retorna a string "buy" ou "sell" para a ordem executada.
  • {{strategy.order.contracts}} - retorna o número de contratos da ordem executada.
  • {{strategy.order.price}} - retorna o preço pelo qual a ordem foi executada.
  • {{strategy.order.id}} - retorna o ID da ordem executada (a cadeia usada como o primeiro parâmetro em uma das chamadas de função que gera ordens: strategy.entry, strategy.exit ou strategy.order).
  • {{strategy.order.comment}} - retorna o comentário da ordem executada (a sequência usada no parâmetro comment em uma das chamadas de função que geram ordens: strategy.entry, strategy.exit ou strategy.order). Se nenhum comentário for especificado, o valor de strategy.order.id será usado.
  • {{strategy.order.alert_message}} - retorna o valor do parâmetro alert_message que pode ser usado no código Pine da estratégia quando chamada uma das funções que enviam ordens: strategy.entry, strategy.exit ou strategy.order . Esse recurso é suportado apenas no Pine v4 ou mais nova.
  • {{strategy.market_position}} - retorna a posição atual da estratégia na forma de string: "long", "flat" ou "short".
  • {{strategy.market_position_size}} - retorna o tamanho da posição atual como um valor absoluto, ou seja, um número não negativo.
  • {{strategy.prev_market_position}} - retorna a posição anterior da estratégia na forma de string: “long”, “flat” ou “short”.
  • {{strategy.prev_market_position_size}} - retorna o tamanho da posição anterior como um valor absoluto, ou seja, um número não negativo.

Você verá os valores correspondentes quando um alerta é acionado.

As mesmas regras se aplicam aos scripts escritos em Pine. As séries são contadas com base na ordem de chamada no código. Veja a lista de funções abaixo. Suas séries podem ser usadas em mensagens de notificação:

  • plot;
  • plotshape;
  • plotchar;
  • plotarrow;
  • plotbar;
  • plotcandle.

Se o argumento de série de tais funções contiver um valor booleano, 0 ou 1 será substituído na mensagem de notificação. Lembre-se de que certas funções - plotcandle e plotbar - exibem 4 séries cada, e cada uma delas será levada em consideração na lógica de numeração.

No entanto, esse método de acessar parcelas nem sempre é conveniente. Para facilitar as coisas, adicionamos suporte para chamar gráficos usando seus nomes. Para fazer isso, use o espaço reservado {{plot(“Name”)}}, onde Name é o nome da série.

Para indicadores internos, os únicos nomes suportados são os usados na versão em inglês. No exemplo com o indicador de volume para acessar séries usando seus nomes, você deve incluir o seguinte na mensagem:

Volume: {{plot (“Volume”)}}, Média do volume: {{plot (“Volume MA”)}}

Da mesma forma, para que o Pine Script acesse a série, você deve especificar o nome do argumento title da função correspondente (suportado para todas as funções de plotagem, exceto plotcandle e plotbar), e o idioma não será mais importante. Se você não tiver acesso ao código, o nome poderá ser visto nas configurações de estilo.

Por exemplo, para acessar os valores desse script:

//@version=4
study("My script")
plot(close, title="series")

Inclua {{plot(“series”)}} na mensagem de alerta.

O mesmo nome é mostrado nas configurações de script:

Ao usar vários indicadores em um único alerta, você pode consultar os valores do primeiro - o indicado na primeira lista suspensa. Veja o exemplo abaixo.

Quando um alerta inclui essas configurações, você pode consultar apenas os valores MA. Para acessar os valores do script "Meu script", é necessário selecioná-lo na primeira lista suspensa.

Você também pode especificar novos espaços reservados no argumento de mensagem da função alertcondition. Por exemplo:

//@version=4
study("My script")
alertcondition(close>open, message="price {{ticker}} = {{close}}")

A mensagem do argumento é automaticamente puxada para a janela de mensagem na caixa de diálogo de criação de alerta.

Observe que, ao criar um alerta com uma condição a partir da função alertcondition, a substituição de valor funcionará apenas para scripts v4 ou superiores.

Os valores dos alertas acionados podem ser usados junto com os webhooks, enviando valores variáveis de uma mensagem para os endereços desejados. Ou usando aplicativos externos de terceiros, como o TradingView Alerts para MT4/MT5, que já utiliza o uso de valores dinâmicos. Alguns casos de uso de sintaxe podem ser encontrados neste script por exemplo. Isso abre ainda mais possibilidades para aqueles que usam alertas.

.