Especificações do Alert Message do Bot de Signal Trading 2.0
Índice
Introdução
Com o lançamento dos Signal Bots, agora os usuários do TradingView podem publicar seus sinais e criar um Signal Bot na OKX. Neste guia, vamos percorrer as várias especificações de mensagens de alerta que a OKX suporta para os usuários.
Para os experientes com o PineScript™ e que confiam exclusivamente nos scripts de estratégia para enviar sinais, desenvolvemos um formato de especificações exclusivo de forma meticulosa. Esse formato integra de maneira simplificada a estratégia de espaço reservado do PineScript™, permitindo que você transmita sinais de trading com mais facilidade. Se você é um usuário de estratégia do PineScript™, esse é o formato ideal para você, fornecendo uma abordagem simplificada para mesclar seus scripts de estratégia com os espaços reservados da estratégia do TradingView. Se você é um desenvolvedor de estratégia e utiliza as funções strategy.() para criar seus sinais de trading, confira a Seção A - para usuários de estratégia do PineScript™ abaixo.
Por outro lado, entendemos que nem todo mundo confia totalmente nos scripts de estratégia do PineScript™. Na Seção B - Compatibilidade universal desse guia, fornecemos um conjunto versátil de especificações que vão além dos métodos de script. Essas especificações funcionam para todas as abordagens de geração de sinal. Quer você use indicadores personalizados, diversas técnicas de gráficos ou até mesmo prefira alertas manuais, esta estrutura de especificação "de abordagem única" tem a solução que você precisa.
Uma visão geral do Pine Script™: “Estratégia” vs. “Indicador”
As estratégias do Pine Script™ têm o propósito de realizar backtesting em dados históricos, bem como testes futuros em mercados em tempo real. Além de realizar cálculos de indicadores, as estratégias incluem chamadas para funções strategy.*() que transmitem ordens de trading para o emulador da corretora do Pine Script™. Esse emulador pode simular a execução dessas ordens. Os resultados dos backtests podem ser visualizados na guia “Strategy Tester” localizada na parte inferior do gráfico ao lado da guia “Pine Script™ Editor”.
Apesar dos indicadores do Pine Script™ também envolverem cálculos, eles não são destinados para os cenários de backtesting. Devido a sua independência do emulador da corretora, os indicadores consomem menos recursos e executam com mais rapidez.
É importante observar que você tem a flexibilidade de utilizar tanto o formato da Seção A quanto o da Seção B, ambos são totalmente compatíveis. Com base nas mensagens que você transmite, o sistema irá distinguir o formato usado e, consequentemente, analisará suas mensagens. Esse processo inteligente garante uma experiência simplificada independentemente do método escolhido.
Seção A (usuários de estratégia do PineScript™)
As próximas especificações são personalizadas especificamente para os usuários que constroem seu algoritimo utilizando as estratégias do PineScript™, principalmente a função strategy.*. Esse formato é dedicado para acomodar a estratégia de valores de espaço reservado, garantindo a adaptação sem complicação. Para um entendimento mais aprofundado sobre os scripts de estratégia e o processo de enviar alertas utilizando as variáveis de espaço reservado da estratégia, você pode encontrar informações adicionais aqui link.
Se esse conceito não for familiar para você, a Seção B fornece um método alternativo para a criação dos seus alertas, que são aplicáveis em uma gama de cenários mais abrangentes.
Visão geral das especificações do AlertMsg
Parâmetro
|
Obrigatório
|
Valores
|
id
|
Obrigatório
|
|
action
|
Obrigatório
|
|
marketPosition
|
Obrigatório
|
|
prevMarketPosition
|
Obrigatório
|
|
instrument
|
Obrigatório
|
|
signalToken
|
Obrigatório
|
Fornecido pela OKX na criação do sinal
|
timestamp
|
Obrigatório
|
{{timenow}} do TradingView
|
maxLag
|
Opcional
|
Valor inteiro positivo entre [1 e 3600]. Padrão para 60.
|
investmentType
|
Opcional*
|
|
amount
|
Obrigatório
|
|
1. Especificação do AlertMsg - id
id - A identificação da ordem
{{strategy.order.id}} - retorna a ID da ordem executada (a string usada como o primeiro parâmetro em uma das chamadas para função gerando as ordens: strategy.entry, strategy.exit or strategy.order).
2. Especificação do AlertMsg - action
action - Comprar ou vender?
{{strategy.order.action}} - retorna a string “comprar” ou “vender” para a ordem executada.
3. Especificação do AlertMsg - marketPosition
marketPosition - Estado pretendido da posição (no momento da execução da ordem)
{{strategy.market_position}}- retorna a posição atual da estratégia no formato da string: "long", "flat", ou "short".
4. Especificação do AlertMsg - prevMarketPosition
prevMarketPosition - Estado anterior da posição (antes da execução da ordem)
{{strategy.prev_market_position}}- retorna a posição anterior da estratégia no formato da string: "long", "flat", ou "short".
5. Especificação do AlertMsg - instrument
Formato 1: ticker - valores de espeço reservado do TradingView
Um 'standard placeholder'* é literalmente um texto entre chaves duplas incluído em uma mensagem de alerta.
"{{ticker}}" retornará o Ticker do instrument no qual o alerta foi gerado.
Por exemplo: "BTCUSDT.P", "ETHUSDT.P".
* Espaço reservado padrão para acessar as variáveis no PineScript™. Saiba mais aqui.
Formato 2: Formato de instrumento da OKX
ID do instrumento, ou instId na API da OKX. Você pode encontrar mais detalhes neste link
Por exemplo: "BTC-USDT-SWAP", "ETH-USDT-SWAP"
6. Especificação do AlertMsg - signalToken
** signalToken -- Autenticação para o sinal**
O token é uma medida de segurança para garantir que as solicitações recebidas são legítimas e autorizadas. Esse signalToken será gerado automaticamente quando o usuário criar um novo sinal na nossa plataforma e ele precisará ser copiado para o Alert Message do TradingView.
Como localizar o seu signalToken para um sinal que já está ativo?
- Confira a seção Detalhes do seu sinal
- Localize o seu signalToken na seção recomendada de mensagens de alerta
7. Especificação do AlertMsg - timestamp
** timenow - valores de espaço reservado do TradingView**
Um 'standard placeholder'* é literalmente um texto entre chaves duplas incluído em uma mensagem de alerta.
"{{timenow}}" retornará a hora atual e exata em que o alerta foi gerado, em UTC no formato aaaa-MM-ddTHH: mm: ssZ.
Por exemplo: "2023-06-01T17:38:10Z"
* Espaço reservado padrão para acessar as variáveis no PineScript™. Saiba mais aqui.
8. Especificação do AlertMsg - maxLag
** maxLag - Atraso máximo aceitável**
O termo “maxLag” refere-se ao atraso ou latência máximo permitido, medido em segundos, antes de um sinal de trading ser considerado nulo. O cálculo de maxLag envolve determinar a diferença de tempo entre o momento em que o sinal foi enviado do TradingView (utilizando o campo de “timestamp” na mensagem de alerta) e o momento em que foi recebido na OKX para executar uma ordem.
Por padrão, ele é definido em 60 segundos. A definição de um valor de maxLag ajuda a garantir que o Signal Bot opere em tempo hábil, evitando agir com base em sinais desatualizados ou potencialmente imprecisos que podem não refletir as condições atuais do mercado.
9. Especificação do AlertMsg - investmentType e amount
Observação importante: Para garantir uma compatibilidade ideal com a sua estratégia do TradingView, recomendamos a configuração do investmentType como “base” e a definição de amount para “{{strategy.order.contracts}}". Ao seguir essa abordagem, a quantidade de ordens na OKX será alinhada com a quantidade de ordens especificadas na sua estratégia do TradingView.
investmentType e Amount
(SOMENTE PARA SINAIS DE ENTRADA)
- base: valor na moeda-base (escolha recomendada)
- margin: margem investida na moeda de cotação
- contract: um número fixo de contratos
- percentage_balance: com base na % do Saldo disponível (por exemplo, a margem disponível para abrir novas ordens)
- percentage_investment: Com base na % de Investimento Ativo no seu robô. O Investimento Ativo geralmente corresponderá à sua margem investida inicial no momento da criação do robô e permanecerá fixo até que você adicione mais margem e escolha aumentar esse valor. Por exemplo, se você criar um robô com uma margem inicial investida de 1000 USDT, seu Investimento Ativo será definido como 1000 USDT. Para quaisquer sinais recebidos, este é o valor que será utilizado para o cálculo do tamanho do seu pedido. Digamos que, após alguns dias de execução do seu robô, você decida que ele está se saindo bem e reinveste mais 1000 USDT de margem, adicionando-o ao seu Investimento Ativo. Posteriormente, seu Investimento Ativo aumentará para 2000 USDT e este será o novo valor utilizado para o cálculo do tamanho do seu pedido. Se você não souber qual é o valor atual do Investimento Ativo do seu robô, você sempre pode verificar isso na seção Detalhes do seu Robô.
(SOMENTE PARA SINAIS DE SAÍDA)
- base: valor na moeda-base (escolha recomendada)
- percentage_position: com base na % de posições abertas
Seção B (Compatibilidade universal)
As especificações fornecidas abaixo são versáteis e podem ser personalizadas para atender a qualquer cenário. Esteja você utilizando o PineScript™ para criar scripts de estratégia ou indicadores (study) ou inserindo alertas manualmente na interface de usuário do Alert do TradingView, essas especificações permanecem adaptáveis e personalizáveis.
Visão geral das especificações do AlertMsg
Parâmetro | Obrigatório | Valores |
---|---|---|
action | Obrigatório |
|
instrument | Obrigatório |
|
signalToken | Obrigatório | Fornecido pela OKX na criação do sinal |
timestamp | Obrigatório | {{timenow}} do TradingView |
maxLag | Opcional | Valor inteiro positivo entre [1 e 3600]. Padrão para 60. |
orderType | Opcional. O parâmetro é necessário se o orderType = Limit |
|
orderPriceOffset | Opcional. O parâmetro é necessário se nenhuma configuração for feita na criação do Signal Bot da OKX | Valor flutuante entre [0 e 100] em % |
investmentType | Opcional. O parâmetro é necessário se o orderType = Limit |
|
amount | Opcional. O parâmetro é necessário se o orderType = Limit |
|
1. Especificação do AlertMsg - action
Modo da posição:
O Signal Bot opera no modo unidirecional (ou seja, compra/venda), o que significa que o bot só manterá posições em uma direção para um determinado instrumento.
Abrir ordens
- ENTER_LONG: abre uma posição comprada com a expectativa de que seu preço suba.
- ENTER_SHORT: abre uma posição vendida com a expectativa de que seu preço cairá.
Fechar ordens
- EXIT_LONG: fecha uma posição comprada parcialmente ou totalmente por meio da venda das posições em holding.
- EXIT_SHORT: fecha uma posição vendida parcialmente ou totalmente por meio da recompra dos contratos.
2. Especificação do AlertMsg - instrument
Formato 1: ticker - valores de espeço reservado do TradingView
Um 'standard placeholder'* é literalmente um texto entre chaves duplas incluído em uma mensagem de alerta.
"{{ticker}}" retornará o Ticker do instrument no qual o alerta foi gerado.
Por exemplo: "BTCUSDT.P", "ETHUSDT.P".
* Espaço reservado padrão para acessar as variáveis no PineScript. Saiba mais aqui.
Formato 2: Formato de instrumento da OKX
ID do instrumento, ou instId na API da OKX. Você pode encontrar mais detalhes neste link
Por exemplo: "BTC-USDT-SWAP", "ETH-USDT-SWAP"
3. Especificação do AlertMsg - signalToken
** signalToken- Autenticação para o sinal**
O token é uma medida de segurança para garantir que as solicitações recebidas são legítimas e autorizadas. Esse signalToken será gerado automaticamente quando o usuário criar um novo sinal com sucesso na nossa plataforma e ele precisará ser copiado para o Alert Message do TradingView.
4. Especificação do AlertMsg - timestamp
** timenow - valores de espaço reservado do TradingView**
Um 'standard placeholder'* é literalmente um texto entre chaves duplas incluído em uma mensagem de alerta.
"{{timenow}}" retornará a hora atual e exata em que o alerta foi gerado, em UTC no formato aaaa-MM-ddTHH: mm: ssZ.
Formatações possíveis (horário UTC, formato ISO 8061)
- Formato aaaa-MM-ddTHH:mm:ssZ, por exemplo: "2023-06-01T17:38:10Z"
- Formato aaaa-MM-ddTHH:mm:ss.SSSZ , por exemplo: "2023-06-01T17:38:10.836Z"
- Formato aaaa-MM-ddTHH:mm:ss+0000, por exemplo: "2023-06-01T17:38:10+0000"
Por exemplo: "2023-06-01T17:38:10Z"
* Espaço reservado padrão para acessar as variáveis no PineScript. Saiba mais aqui.
5. Especificação do AlertMsg - maxLag
** maxLag - Atraso máximo aceitável**
O termo “maxLag” refere-se ao atraso ou latência máximo permitido, medido em segundos, antes de um sinal de trading ser considerado nulo. O cálculo de maxLag envolve determinar a diferença de tempo entre o momento em que o sinal foi enviado do TradingView (utilizando o campo de “timestamp” na mensagem de alerta) e o momento em que foi recebido na OKX para executar uma ordem.
Por padrão, ele é definido em 60 segundos. A definição de um valor de maxLag ajuda a garantir que o Signal Bot opere em tempo hábil, evitando agir com base em sinais desatualizados ou potencialmente imprecisos que podem não refletir as condições atuais do mercado.
6. Especificação do AlertMsg - order
orderType
- Market: cria uma ordem de mercado para Abrir (se o action =ENTER_XX) ou Fechar (se o action = EXIT_XX) uma posição. Não há necessidade de fornecer o orderPriceOffset
- Limit: cria uma ordem de limitada para Abrir (se o action =ENTER_XX) ou Fechar (se o action = EXIT_XX) uma posição.
orderPriceOffset (aplicável SOMENTE com ordem LIMITADA)
- ENTER_LONG: [1-(orderPriceOffset ÷ 100) × Preço de compra-1
- ENTER_SHORT: [1+(orderPriceOffset ÷ 100) × Preço de venda-1
- EXIT_LONG: [1+(orderPriceOffset ÷ 100) × Preço de venda-1
- EXIT_SHORT: [1-(orderPriceOffset ÷ 100) × Preço de compra-1
7. Especificação do AlertMsg - investmentType e amount
investmentType e Amount
(SOMENTE PARA SINAIS DE ENTRADA)
- Margin: margem investida na moeda de cotação
- Contract: um número fixo de contratos
- Percentage_balance: com base na % do Saldo disponível (por exemplo, a margem disponível para abrir novas ordens)
- Percentage_investment: Com base na % de Investimento Ativo no seu robô. O Investimento Ativo geralmente corresponderá à sua margem investida inicial no momento da criação do robô e permanecerá fixo até que você adicione mais margem e escolha aumentar esse valor. Por exemplo, se você criar um robô com uma margem inicial investida de 1000 USDT, seu Investimento Ativo será definido como 1000 USDT. Para quaisquer sinais recebidos, este é o valor que será utilizado para o cálculo do tamanho do seu pedido. Digamos que, após alguns dias de execução do seu robô, você decida que ele está se saindo bem e reinveste mais 1000 USDT de margem, adicionando-o ao seu Investimento Ativo. Posteriormente, seu Investimento Ativo aumentará para 2000 USDT e este será o novo valor utilizado para o cálculo do tamanho do seu pedido. Se você não souber qual é o valor atual do Investimento Ativo do seu robô, você sempre pode verificar isso na seção Detalhes do seu Robô.
(SOMENTE PARA SINAIS DE SAÍDA)
- Percentage_position: com base na % de posições abertas
Exemplos da Seção B
Exemplo 1: Long Entry -> Long Exit (Fechado totalmente) sem Multi-Entry
Exemplo 2: Long Entry -> Short Entry (Reversão em uma etapa) sem Multi-Entry
Exemplo 3: Long Entry -> Long Exit (Parcialmente) - Long Exit (Fechado totalmente)
Exemplo 4: Utilizando o Multi-Entry
O Multi-Entry é um recurso do Signal Bot que permite a execução de vários pontos de entrada para um determinado instrumento. Os traders podem otimizar sua abordagem de trading diversificando os pontos de entrada (por exemplo, Custo médio em dólares), aumentando potencialmente as chances de realizar tradings lucrativos em um ambiente de mercado dinâmico.
Exemplo 5: Utilizando apenas gatilhos de sinal (sem campos relacionados a ordem)
Para os provedores de sinais, determinados parâmetros opcionais podem ser excluídos, uma vez que o usuário já os configurou no bot. Isso é particularmente útil para os provedores que se concentram em oferecer APENAS gatilhos de sinal de Compra/Venda, cabendo a cada assinante decidir quanto investir.
Exemplo 6: Utilizando apenas gatilhos de sinal (sem campos relacionados a ordem)
Se na configuração do sinal e do bot não forem especificados os detalhes da ordem, serão usados os valores padrão.
- Para os sinais de ENTER, por padrão, ele abrirá um investimento de X%* utilizando uma ordem a mercado.
- Para os sinais de EXIT, por padrão, ele fechará 100% das posições abertas ao receber o sinal.
**** X = 100 para par único. X = 50 para pares múltiplos*
Exemplo 7: Precedência do campo da ordem
Os parâmetros do Bot têm prioridade sobre os parâmetros do Sinal. Existem duas regras que devem ser observadas:
- Regra 1: tanto o Bot quanto o Sinal definem o campo
Para Order Type
|
Ordem a Mercado (Bot)
|
Ordem Limitada (Sinal)
|
- Regra 2: o Bot/Sinal define o campo
Para Investment Type e Amount
|
N/A (Bot)
|
100% do Saldo disponível (Sinal)
|
Perguntas frequentes
Caso tenha alguma dúvida sobre o Signal Bot, você pode consultar algumas das perguntas mais frequentes dos nossos usuários nesse artigo.