Master TradingView programação avançada de Pine Script | Sergey Buzz | Skillshare

Velocidade de reprodução


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Master TradingView programação avançada de Pine Script

teacher avatar Sergey Buzz, Programmer, Trader, Author and Coach

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Introdução ao curso

      2:01

    • 2.

      Introdução ao editor de roteiro de pinho

      13:04

    • 3.

      Como criar seu primeiro roteiro de pinho

      17:08

    • 4.

      Introdução aos indicadores e estratégias

      8:30

    • 5.

      Modelo de criação de roteiro de pinho

      13:36

    • 6.

      Fundamentos da série temporal de Pine Script

      11:11

    • 7.

      Estrutura básica da escrita de pinho

      10:00

    • 8.

      Identificadores e operadores em escrita de pinho

      23:04

    • 9.

      Declarações de variáveis em escrita de pinho

      11:40

    • 10.

      Estruturas condicionais em escrita de pinho

      23:06

    • 11.

      Loops em script de pinho

      19:00

    • 12.

      Introdução ao sistema de tipos de escrita de pinho

      7:17

    • 13.

      Decodificação de qualificadores de script de pinho

      7:48

    • 14.

      Como entender os tipos de roteiro de pinho

      7:16

    • 15.

      Explorando a significância do valor "na" no script de pinho

      6:16

    • 16.

      Como dominar Tuples em escrita de pinho

      9:49

    • 17.

      Funções definidas pelo usuário em script de pinho

      7:25

    • 18.

      Como criar o indicador ADX DMI médio móvel em script de pinho

      18:09

    • 19.

      Como criar uma estratégia de mestrado de crossover aberto/fechado em Pine Script

      47:04

    • 20.

      Visão geral do testador de estratégia de script de pinho

      16:30

    • 21.

      Como testar e avançar a estratégia de negociação de testes

      26:11

    • 22.

      Como otimizar a estratégia de negociação

      18:10

    • 23.

      Como criar estratégia ADXVMA em script de pinho

      35:13

    • 24.

      Como criar estratégia de pirâmide múltipla de MA em roteiro de pinho

      39:18

    • 25.

      Como criar a estratégia MACD Ultimate em Pine Script

      52:07

    • 26.

      Visão geral de alertas em indicadores e estratégias em escrita de pinho

      23:02

    • 27.

      Como configurar e usar alertas com função de alerta ()

      11:09

    • 28.

      Como configurar e usar alertas com a função alertcondition()

      12:22

    • 29.

      Como configurar e usar alertas em estratégias de preenchimento de pedidos

      6:41

    • 30.

      Resumo dos principais tópicos deste curso

      8:03

    • 31.

      Recursos para aprendizagem e desenvolvimento adicionais no TradingView Pine Script

      2:40

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

43

Estudantes

--

Projeto

Sobre este curso

Desbloqueie o poder do TradingView Pine Script com o curso "Master TradingView Pine Script Programação Avançada". Nesta experiência de aprendizagem abrangente, você vai explorar os meandros do TradingView Pine Script com 31 lições envolventes que abrangem mais de 8,5 horas.

Começando com os fundamentos na seção Fundamentos de script de pinho do TradingView, você vai ser apresentado ao Editor de script de pinho, aprender como criar seu primeiro roteiro e obter insights sobre indicadores e estratégias. Mergulhe no modelo de realização de roteiro de pinho e nos fundamentos da série temporal, desvendando os blocos de construção do Pine Script, incluindo estruturas básicas, identificadores, operadores e declarações de variáveis. À medida que você progride, entenda os conceitos de estruturas condicionais, loops e o Sistema do Tipo de Script Pine, tornando a codificação mais acessível e agradável.

Leve suas habilidades para o próximo nível com lições sobre a criação de indicadores avançados como o indicador DMI Média Móvel ADX. Descobrir a arte de criar, testar de volta, testar adiante e otimizar estratégias de negociação, mergulhando em lições que guiam você na criação de várias estratégias, incluindo Open / Close Crossover MA, ADXVMA, Multiple MA Pyramid e MACD Ultimate.

Descobrir o poder dos alertas no TradingView Pine Script, aprendendo como configurá-los para indicadores, estratégias e eventos de preenchimento de pedidos.

Este curso oferece a você as ferramentas e o conhecimento necessário para criar seus próprios indicadores, estratégias e alertas personalizados avançados, que podem melhorar e automatizar sua negociação. Quer você seja um iniciante ou um profissional experiente, este curso é sua porta de entrada para o sucesso de roteiro. Não apenas negocie: escreva seu triunfo!

Neste curso, você vai aprender:

  • Como criar seu primeiro roteiro de pinho
  • Modelo de criação de roteiro de pinho
  • Fundamentos da série temporal de roteiro de pinho
  • Estrutura básica do Pine Script
  • Identifica e operadores em escrita de pinho
  • Declarações de variáveis em escrita de pinho
  • Estruturas condicionais em escrita de pinho
  • Loops em script de pinho
  • Sistema de tipos em script de pinho
  • Todos os tipos de roteiro de pinho
  • Qualificadores de script de pinho
  • Como dominar Tuplas em Escrita de Pinho
  • Funções definidas pelo usuário em script de pinho
  • Como criar indicador avançado de média móvel ADX DMI em script de pinho
  • Como criar uma estratégia de MA de Crossover aberto/fechado em Pine Script
  • Como usar o testador de estratégia de script de pinho
  • Como fazer backtest e avançar a estratégia de negociação de teste
  • Como otimizar a estratégia de negociação
  • Como criar estratégia avançada de ADXVMA em Pine Script
  • Como criar estratégia avançada de pirâmide de Múltiplas Artes em Pine Script
  • Como criar estratégia avançada MACD Ultimate em Pine Script
  • Como configurar e usar alertas com a função alert()
  • Como configurar e usar alertas com a função alertcondition()
  • Como configurar e usar alertas em estratégias de preenchimento de pedidos

A quem se destina este curso:

  • Desenvolvedores de script de pinho de nível iniciante interessados em aprender script de pinho detalhado
  • Traders de todos os níveis, interessados em criar estratégias de negociação personalizadas e alertas
  • Traders de todos os níveis, interessados em negociação automatizada
  • Investidores interessados em estratégias personalizadas e soluções automatizadas
  • Analistas financeiros interessados em programação de script de pinho
  • Desenvolvedores de software interessados em ganhar no nicho em crescimento
  • Qualquer pessoa que queira aprender desenvolvimento de software para ganhar dinheiro online

Este curso inclui:

  • 8,5 horas de vídeo sob demanda
  • 20 recursos para download
  • Instruções de como usar recursos para download

Requisitos:

  • Tenha uma conta gratuita no TradingView
  • Não é necessário ter experiência com programação. Você vai aprender tudo o que precisa saber

Isenção de responsabilidade importante:

Este curso, "Programação avançada de script de pinho mestre do TradingView TradingView", foi projetado apenas para fins educacionais. O conteúdo fornecido destina-se a ensinar técnicas e conceitos de programação relacionados à criação de indicadores e estratégias personalizadas usando a linguagem Pine Script do TradingView.

Por favor, esteja ciente de que:

  1. Este curso não se destina a oferecer conselhos de investimento, impostos ou planejamento financeiro.

  2. Os indicadores, estratégias e exemplos apresentados neste curso são apenas para fins de demonstração e aprendizagem. Não devem ser consideradas como recomendações financeiras ou garantias de desempenho futuro do mercado.

  3. Negociar em mercados financeiros carrega um alto nível de risco e pode não ser adequado para todos os investidores. Você pode perder parte ou todo o seu capital investido.

  4. O instrutor e a Skillshare não são consultores de investimento registrados e não fornecem recomendações de investimento personalizadas.

  5. Antes de tomar quaisquer decisões de investimento, você deve consultar um consultor financeiro qualificado que possa identificar sua situação financeira e metas individuais.

  6. O desempenho passado de qualquer estratégia ou indicador de negociação não garante resultados futuros.

  7. É sua responsabilidade entender e estar em conformidade com todas as leis e regulamentos aplicáveis em sua jurisdição em relação a atividades de negociação e investimento.

Ao participar deste curso, você reconhece que leu e entendeu este aviso de responsabilidade. Você concorda que é exclusivamente responsável por suas próprias decisões de investimento e seus resultados.

Lembre-se de sempre praticar negociações responsáveis e investir apenas o que você pode perder.

 

Conheça seu professor

Teacher Profile Image

Sergey Buzz

Programmer, Trader, Author and Coach

Professor

Hello! I'm Sergey Buzz, a Software Developer with an M.S. in Computer Science who discovered my passion for financial markets and trading. My goal is to help students and traders understand markets more clearly, avoid common mistakes, and gain confidence in applying professional strategies.

I combine my technical background with practical trading experience to create educational resources that bridge the gap between complex market concepts and real-world application. Whether you're just starting out or looking to refine your approach, I focus on making trading education accessible and actionable.

? Educational Trading Videos: YouTube.com/@SergeyBuzz - Weekly tu... Visualizar o perfil completo

Level: Beginner

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Introdução ao Master TradingView Pine Script Introdução ao curso de programação avançada SkillShare: Olá, bem-vindo, sou Serge Ba, desenvolvedor de software com mestrado em ciência da computação e anos de experiência em negociação no mercado financeiro Combinei com sucesso minhas habilidades de programação com minha paixão por negociar para criar ferramentas poderosas usando o script Pin do Trading Views. Nesta aula, Master trading view Pin script advanced programming, você aprende como aproveitar o poder do Pin Script para criar indicadores e estratégias de negociação personalizados Abordaremos tudo, do básico aos conceitos avançados, em 31 aulas envolventes Este curso é perfeito para iniciantes no Pine Script. Comerciantes que desejam criar estratégias personalizadas e até programadores experientes que desejam expandir suas habilidades Você não precisa de experiência prévia em programação, mas a familiaridade com os conceitos de negociação será útil Você precisará da conta gratuita de negociação para acompanhar. Ao final desta aula, você será capaz de entender modelo de execução exclusivo e as séries temporais do Pine Scripts. Crie indicadores avançados, como média móvel ADX DMI, desenvolva, teste B e otimize estratégias de negociação Configure alertas para seus indicadores e estratégias personalizados. Seu projeto de classe aprimorará o indicador personalizado usando o Pin Script Você aplicará os conceitos aprendidos ao longo do curso para poder desenvolver e personalizar indicadores e estratégias adaptados às suas necessidades de negociação. Lembre-se de que, embora estejamos trabalhando em conceitos de negociação, este curso se concentra em habilidades de programação e não em fornecer aconselhamento financeiro. Estou empolgado em guiá-lo pelo mundo da programação do script P. Vamos começar sua jornada para criar ferramentas de negociação poderosas. Nos vemos na primeira aula. 2. Aula 2: introdução ao editor de roteiro de pinho: Olá, bem-vindo a esta lição, Introdução ao editor de scripts Pin. Esta lição consiste na seção a seguir. Primeiro, apresentarei o editor de scripts Pin. Em seguida, demonstrarei como abrir o editor de scripts Pin. Abordarei algumas vantagens de usar o editor Pancript e também abordarei alguns dos recursos importantes do editor, como destaque de sintaxe, lembretes de sintaxe, Pinscript, referência rápida de como acessá-lo, como usar recursos completos e alguns outros recursos, como controle de versão do editor de scripts Pine versão Nesta lição, estudaremos a ferramenta essencial para todo desenvolvedor de scripts de visualização de negociação, o editor de scripts Pine. Ao iniciar uma jornada para dominar a redação de scripts e a negociação algorítmica, é muito importante compreender o poder dessa ferramenta O editor de scripts Pin é seu espaço de trabalho dedicado para criar scripts de negociação Embora você possa usar qualquer outro editor de texto e colar o texto criado dentro do editor Pinscript O editor Pinscript dedicado é uma ferramenta que oferece várias vantagens que podem aumentar significativamente sua produtividade e agilizar seu processo de desenvolvimento Para acessar o editor Pincript, acesse trading.com E crie uma conta gratuita se você não tiver uma. Depois de fazer login, clique na opção de menu Products Super Charts. Então, quando você chegar à tela Super Charts, clique no botão do editor Pine na parte inferior da tela. Como você pode ver, a janela do editor de scripts Pine foi aberta. Nesta janela, você pode ampliá-la ou reduzi-la, se necessário, arrastando a linha superior deste editor Além disso, você pode usar esse botão para maximizar o painel de script Pine da visualização de negociação ou ocultá-lo completamente. Em seguida, você pode usar esse botão novamente para mostrá-lo de volta. Agora, abordarei alguns dos principais recursos do editor de scripts Pin. Na parte superior do editor, você pode ver o título Script. Esse é o nome do nosso script. Quando você salva o script do Pin e dá um nome a ele, o nome estará aqui. O botão Avançar é o botão de pesquisa. Ao clicar aqui, você pode pesquisar o texto na parte interna do editor de scripts Pion Além disso, ao clicar nesse botão, alterne substituir, você pode encontrar e substituir texto em seu script O botão Avançar é o botão de abertura. Nesse botão, essa opção de menu tem vários submenus, como novo indicador, nova estratégia, nova biblioteca, onde você pode criar novos scripts, novos indicadores, novas estratégias e novas bibliotecas Também podemos usar esse botão, por exemplo, para verificar os scripts incorporados, se necessário. Botão Salvar para salvar o script atualmente editado. Adicionar ao gráfico. Depois de finalizar seu script e querer testá-lo e aplicá-lo no gráfico Você clica nesse botão. O script é aplicado ao gráfico de negociação na parte superior desta tela. Se você quiser publicar seu script para ser disponibilizado ao público, você pode pressionar este botão e o último botão aqui, três pontos Você pode usar esse botão para acessar, por exemplo, o manual do usuário do Pin script. Você clica aqui e aqui você pode navegar ou pesquisar no Manual do Usuário da versão cinco do Pin Script. Além disso, há um manual de referência disponível. Ao clicar nele, você pode tentar encontrar qualquer função ou operador da versão do script Pin. Por exemplo, se clicarmos em R S, ele tentará encontrar no banco de dados de operadores e funções do script Pin o texto correspondente, encontrou a função t , você clica nela e abrirá e fornecerá informações relacionadas a essa função ou operador. Agora, o editor pinscript tem várias vantagens. Vamos explorar onde o editor Pin Script se destaca. Primeiro de tudo, como criar o script, como esse script foi criado inicialmente. Esse é um script de estratégia padrão. Para criar um script padrão para começar a desenvolver qualquer tipo de script, clique em Abrir script e, em seguida, criar um novo indicador, por exemplo, e ele insere o indicador padrão no editor de script Pi Depois disso, você pode editá-lo e adicionar seu código dentro dessa janela e alterá-lo, se necessário. Vamos criar, por exemplo, uma nova estratégia e, em seguida, explorar alguns recursos do editor de script Pin neste exemplo de script de estratégia. A primeira vantagem do editor de scripts Pine é o destaque da sintaxe Como você pode ver, esse script é multicolorido tem um texto multicolorido que melhora a legibilidade do código Ele destaca de forma inteligente seu código, inserindo o script sintaxe, tornando os erros mais visíveis e a codificação Por exemplo, se você começar a digitar algo e criar algum erro e tentar salvá-lo Ele destaca com o sublinhado vermelho que essa parte do script tem erro Em seguida, você deve corrigir o erro antes de salvar o script. Em seguida, lembretes de sintaxe. Passar o mouse sobre a função de biblioteca incorporada solicita lembretes úteis de sintaxe, reduzindo a chance de Vamos passar o mouse sobre qualquer função. Por exemplo, na estratégia. Você pode ver a janela aberta com as informações de referência rápida sobre a função que abordamos atualmente Vamos abordar outra função, t crossover. Podemos ver uma janela com informações relacionadas exibida com a referência rápida dessa função, onde você pode obter as informações necessárias É como uma dica de ferramenta para a função ou operador relacionado Depois de passar o mouse sobre determinado operador ou função em seu código de script do Pine. Em seguida, referência rápida, acesse facilmente manual de referência do script Pine simplesmente clicando em Ctrl e clicando nas palavras-chave do script Pi Garantindo que você sempre tenha a documentação em suas impressões digitais Por exemplo, vamos tentar encontrar informações relacionadas à função de entrada de pontos estratégicos e abrir a referência rápida relacionada a essa função. Clique no botão de controle do teclado e clique com o botão esquerdo do mouse nessa função. Vemos a janela de referência rápida aberta com as informações relacionadas à função de entrada de pontos da estratégia. Preenchimento automático. O editor apresenta uma função externa completa acionada pelo controle mais espaço, que acelera a codificação ao sugerir a conclusão enquanto você Por exemplo, você começa a digitar TA dot, e isso já sugere que você complete automaticamente essa função que você digita Você pode selecionar qualquer dessas versões propostas da próxima parte do código, selecionar qualquer uma delas ou continuar digitando Por exemplo, se você selecionou Alma, basta clicar e depois continuar digitando Está completando tudo o que você digita. Fluxo de trabalho eficiente e outras aventuras do editor de scripts Pi. O editor salva compilações e executa um script rapidamente, minimizando atrasos e grava o ciclo de execução da compilação Por exemplo, digamos que concluímos nossas alterações. Queremos salvá-lo. Podemos salvar nosso script. Está nos perguntando o nome. Nós podemos mudar o nome. Estratégia personalizada e, em seguida, clicamos em seguro , nosso script é salvo, nossa estratégia salva, o nome das estratégias aqui. Então, podemos continuar digitando e, se necessário , clicar no cofre e , quando clicarmos em seguro , os scripts são compilados Na parte inferior do editor de pinos, podemos ver outra janela pequena, que é uma janela de console. Essa janela nos fornece informações sobre o status do código O e sobre alguns erros, se houver algum. Depois de salvá-lo, ele nos fornece informações de que o código foi salvo. Se você tiver algum problema de compilação, os erros serão exibidos nessa janela do console janela do console pode ser expandida arrastando essa linha para cima e para baixo Além disso, o editor Pine tem as principais funcionalidades, como , embora não seja um editor Pine, não seja tão rico em recursos como alguns outros editores importantes, mas oferece funções vitais, como pesquisa e substituição, que eu demonstrei, e substituição, que eu demonstrei versão para gerenciamento de Vamos dar uma olhada no controle de versão. O controle de versão é exibido nesse controle de caixa de combinação, onde você pode ver todas as versões salvas anteriormente Digamos, por exemplo, que alteramos esse valor para a margem reduzida para 80 e o salvamos. Você vê que a versão três foi criada. versão três tem valor para esse parâmetro 80, mas vamos selecionar a versão anterior desse script. A versão anterior tem valor 100 para esse parâmetro. Como você pode ver, você pode selecionar qualquer versão salva anteriormente, se necessário. 12. No final desta lição, quero dizer que, no mundo da negociação algorítmica, cada segundo conta O editor de scripts Pine é seu companheiro confiável, garantindo que seus scripts não sejam apenas precisos, mas também desenvolvidos com eficiência Este é o fim desta lição, e nos vemos na próxima. 3. Aula 3: criando seu primeiro roteiro de pinho: Continue, bem-vindo a esta lição, criando seu primeiro script Pine. Esta lição consiste na seção a seguir. Vou explicar o que é o indicador MACd. Porque nesta lição, vamos criar um indicador baseado no indicador Mac D. Depois disso, vamos desenvolver o indicador Mac D no editor de scripts Pine e, particularmente, vamos configurar os parâmetros do indicador. Depois disso, vamos usar a função t MD. Para cálculos do indicador MACd. Depois disso, vamos traçar o indicador MacD no gráfico Também mostrarei como detectar e corrigir erros de script do Pine. Vamos começar. Nesta lição, desenvolveremos nossa primeira escrita em pinho. Criaremos uma estratégia simples com base no indicador Mag De O Mag De é o indicador de divergência de convergência da média móvel , que é um indicador de momentum popular e amplamente usado na análise técnica. É usado para identificar possíveis reversões de tendências e força de impulso Para começar a desenvolver nosso indicador, vamos acessar o editor Pine clicando em Pin editor. Depois disso, vamos clicar na opção Abrir menu e clicar na nova opção do menu indicador. Vamos remover as linhas que não precisamos e dar um nome ao nosso indicador. Vamos pegar um nome McD custom. Nosso indicador terá três parâmetros porque o próprio Mac De tem três parâmetros. Comprimento rápido, comprimento lento e comprimento do sinal. Vamos configurar esses parâmetros. Cada parâmetro de entrada deve ser atribuído a uma determinada variável. Nesse caso, o comprimento rápido é uma variável e atribuímos valor a essa variável, o retorno do parâmetro de entrada. Para definir o parâmetro de entrada, usamos a função de entrada. primeiro parâmetro para a função de entrada é o valor padrão dessa função de entrada. O valor padrão para comprimento rápido para Mac D é 12. A seguir está o título do parâmetro. É um comprimento rápido. Comprimento rápido. Agora temos mais dois parâmetros. O segundo parâmetro é o comprimento lento. Vamos alterar o nome do parâmetro e o valor padrão padrão para o comprimento lento é 26. O último parâmetro é o comprimento do sinal. Comprimento do sinal. Vamos atualizar o nome desse parâmetro e o valor padrão para o comprimento do sinal do Mac D é nove. Agora, configuramos três. Parâmetros de entrada A seguir, vamos começar a calcular o MACd. Para calcular o MacD, usamos a função TA McD. TA McD função TA McD e Macd usa quatro parâmetros Primeiro, especificamos a fonte. Usamos o preço aproximado de cada barra para calcular o McDE. Nós digitamos perto. Depois disso, parâmetro de comprimento rápido para o parâmetro de comprimento rápido do Mcddicator Comprimento rápido, o segundo parâmetro é o comprimento lento e o terceiro parâmetro e depois disso, o quarto parâmetro, usamos nosso terceiro parâmetro para esse indicador, que é o comprimento do sinal. Agora, essa função ct McDe retorna uma tupla. Tupla é a sequência de parâmetros usada como um grupo. Portanto, para definir a tabela, usamos os colchetes. Usamos colchetes e o primeiro parâmetro neste aplicativo para a função McDe que retorna esses valores é a Vamos chamá-la de linha McD. O segundo parâmetro é uma linha de sinal e o terceiro parâmetro é o histograma Vamos chamá-la de linha do histograma. linha do histograma e o Sr. G. Agora, o que fizemos aqui é que essa função retorna uma Tupla é a sequência de basicamente uma sequência de valores. O ponto T McDE retorna a sequência de valores da sequência de três valores Basicamente, uma coleção de valores, não um parâmetro, muitos parâmetros. Nesse caso, três. Cada um desses parâmetros foi atribuído a um parâmetro do nosso indicador. Configuramos a linha McDE, a linha de sinal e o histograma Podemos alterar o nome dos parâmetros. Mas o importante é que temos três parâmetros que serão atribuídos a partir do retorno da função TA dot McDE Agora, calculamos os valores MACd. Agora vamos traçar isso. indicador MacD é um indicador que acila em torno Portanto, quero desenhar a linha horizontal em zero para ver quando os valores são positivos e negativos. Agora, para desenhar a linha, usamos a função de linha H. E primeiro, o alcatrão principal nessa função é o preço real ou o valor, depois o título, vamos chamá-lo de linha zero linha zero. Depois disso, a cor dessa cor da linha horizontal. Quero criar a cor e usar a transparência. Para isso, eu uso a função color new. A cor em si, quero que seja cinza e quero 50% de transparência. A razão pela qual eu quero usar transparência é porque eu quero que a linha cinza seja 50% transparente, não muito visível. Depois disso, vamos desenhar todas essas quatro linhas que recebemos do cálculo da função D McD. Agora, vamos começar pela linha do histograma . Comece a traçar isso. O primeiro parâmetro para o gráfico é a série real de valores que estamos plotando O segundo parâmetro é o título. No nosso caso, é um histograma. O próximo parâmetro é a cor. Para o histograma, não é uma linha. É uma coluna. É uma sequência de colunas. Portanto, quero que essas colunas sejam verdes quando forem positivas e vermelhas quando forem negativas. Por causa disso, a cor será condicional. E a condição será baseada em seus valores de linha. Quando a linha dele for positiva, usarei isso, esse abridor, que está usando um ponto de interrogação e depois explicarei como funciona Vamos digitar primeiro. Sempre que o histograma for positivo, quero que a cor seja verde Caso contrário, cor, eu quero que a cor seja vermelha. É assim que isso funciona. Toda essa expressão, toda essa expressão será verde, será verde, sempre que o valor da linha for maior que zero ou zero, caso contrário, será vermelho. Esse é um operador condicional específico, é assim que funciona O último parâmetro é o estilo. estilo não é o parâmetro real , não é o próximo parâmetro nessa sequência. Portanto, precisamos especificar seu valor. Como você pode ver nesta dica de ferramenta, comprimento é a largura da linha esperada, mas não queremos especificá-la Queremos o estilo porque não é o próximo, precisamos especificar nome do parâmetro, na verdade, Style equal, e eu quero usar o gráfico de colunas. Para fazer isso, usamos colunas de estilo de plotagem. É isso mesmo. Traçamos o histograma. Em seguida, quero traçar o McDe McDine. Estamos planejando isso. Estamos configurando o título desse enredo e a cor para Magdne, quero que seja azul Cor azul. No último gráfico deste indicador, vamos traçar a linha de sinal. Traçando a linha de sinal, e vamos chamá-la adequadamente. Linha de sinal e a cor da linha de sinal. Por exemplo, vamos usar a cor laranja. Foi isso que planejamos. Agora podemos salvar nosso indicador. Está perguntando um nome. Vamos confirmar esse nome. O nome do indicador está aqui. Como você pode ver na janela do console. Depois de salvar, ele é compilado. Se não houver erro, ele será salvo. Se houvesse um erro aqui , obteríamos uma linha de seta vermelha neste console. Por exemplo, cometemos um erro aqui e tentamos salvar o indicador. Como você vê, poderíamos salvá-lo, mas, no entanto, temos um erro em nosso script. Há algumas informações desse erro. O erro está acontecendo na linha 14 na primeira coluna dessa linha, f coluna um. Vamos lá e conserte isso. E então vamos salvá-lo novamente. É assim que você vê o erro e como você vê onde esse erro real aconteceu em seu código, a localização desse erro. Depois de salvar nosso indicador e não haver erros, podemos adicioná-lo ao gráfico. Vamos esconder o editor de scripts do Pine. Podemos ver que este é o nosso indicador personalizado Mag D. As colunas aqui são verdes sempre que o valor do histograma for positivo e vermelhas sempre que o véu do histograma Em seguida, ele afirma basicamente em torno do valor zero. Agora, como você pode ver, o indicador tem duas linhas. linha azul é o Mc Dee, linha laranja é a linha de sinal. Agora, quando clicamos no botão de engrenagem desse indicador, podemos ver que ele tem três parâmetros que definimos no script pine. Podemos alterar esse parâmetro se necessário. Clique e esses parâmetros serão aplicados ao indicador, e isso mudará um pouco. Isso vai mudar o visual. Isso mudará a forma como ele reage ao preço. Vamos, por exemplo, três e vamos, por exemplo. Veja, isso muda a forma como o indicador reage ao preço ao qual é aplicado Mais uma coisa é que esse indicador foi plotado no painel abaixo do Há um parâmetro na função do indicador que é responsável se você deseja sobrepor nosso indicador no gráfico ou não Então, o nome do parâmetro é sobreposição. Por padrão, é falso. Portanto, não o especificamos. Mas se esse parâmetro for definido como verdadeiro, por exemplo, para alguns outros indicadores, o indicador nominal será plotado sobreposto Mas para o Mac D, não queremos ser sobrepostos no gráfico. Queremos ser plotados na parte inferior do gráfico em um painel separado porque é É em torno do valor zero. Para resumir esta lição, criamos nossa primeira escrita simples, o indicador Mac Dee Eu demonstrei como codificar o script, como detectar e corrigir erros de script e como adicionar script ao gráfico. Este é o fim da aula, e nos vemos na próxima. 4. Aula 4: introdução aos indicadores e estratégias: Ligue para um, bem-vindo a esta lição. Introdução aos indicadores e estratégias. Nesta lição, revisaremos os principais conceitos de indicadores e estratégias no script Pine. Além disso, explicaremos os conceitos básicos do modelo de execução do script Pine e os fundamentos das séries temporais do script Pine e os fundamentos das séries temporais. Vamos começar. Nesta lição, exploraremos os principais conceitos e dicas práticas para aprimorar sua proficiência nos scripts do Pine Vamos revisar indicadores versus estratégias no Pine Script. As estratégias Pan Script e os indicadores Pine Script têm propósitos distintos. Estratégias usadas principalmente para testes retroativos em dados históricos e testes futuros em mercados ativos. Eles incluem chamadas de estratégia para executar ordens comerciais por meio do emulador de corretora Pan scripts Os resultados do backtest são exibidos nos testadores de estratégia. Vamos dar uma olhada no teste de estratégia. Esse testador de estratégia é, na verdade , o próximo botão do script Pine Aqui, eu aplico a estratégia Mac D ao gráfico. Aqui na parte de trás, grandes resultados de testes exibidos no testador de estratégia Você pode revisar, clique na guia Revisão IV. Você pode ver os gráficos relacionados à curva de equidade e adicionar outras curvas a esses gráficos Além disso, o resumo do desempenho está disponível para sua sessão de teste B e a lista de características e propriedades da estratégia. Agora, indicadores, por sua vez. Concentre-se nos cálculos sem recursos de backtesting. Os indicadores funcionam mais rápido, utilizam menos recursos e não conseguem executar características Os indicadores são ideais para sobreposição no gráfico. Como você vê a principal diferença entre esses dois scripts no lado esquerdo, podemos ver um exemplo de indicador no lado direito, na tela, podemos ver um exemplo de estratégia. Os indicadores usam a função indicadora para definir o script do indicador. Estratégia use a função de estratégia para definir o script de estratégia. Compreender as nuances entre esses indicadores e estratégias é crucial, pois cada um desempenha um papel específico em sua jornada de desenvolvimento de scripts. Agora vamos revisar o modelo de execução do script Pine. Os scripts do Pine operam de forma diferente dos programas tradicionais. No tempo de execução do script Pine, um script funciona em um loop invisível, executando 1/bar da esquerda para a direita no gráfico As barras históricas e as barras em tempo real desempenham funções distintas, e o modelo de execução determina comportamento do script durante várias condições de mercado Estratégias diferentes dos indicadores geralmente são executadas em barras em tempo real. Com configurações para cada atualização do volume de preços, se necessário A forma como as barras históricas e em tempo real funcionam juntas influencia a forma como o script Pine é executado dinamicamente Vamos revisar rapidamente a estratégia, por exemplo. Quando você carrega seu script Pine, seja indicador ou estratégia, ele é executado imediatamente em cada barra do gráfico Depois disso, na estratégia, ela geralmente é executada no final de qualquer barra em tempo real Depois que a estratégia estiver carregada. Normalmente, no indicador, ele é executado em cada alteração da barra em tempo real Se, por uma barra em tempo real, chegarem quaisquer alterações relacionadas ao volume ou a novas negociações, o indicador será executado com base nessas alterações O que significa que o script do indicador Pine é executado em uma barra em tempo real, geralmente em cada alteração na barra em tempo real, como novas características ou mudanças de volume na barra Agora, vamos dar uma olhada nas séries temporais e tentar entender como tentar entender as séries temporais funcionam na escrita em linha A espinha dorsal do script Pine é o time seras, uma estrutura de dados contendo valores para cada barra executada expansão descontínua de soros temporais com cada execução de barra permite referenciar valores passados por meio do operador de referência de histórico, que é o operador de barra quadrada como você vê Embora possa parecer uma corrida, séries temporais diferem significativamente. A atenção e a compreensão aprimorada para o desenvolvimento eficaz de roteiros Combine esse mecanismo de indexação com funções integradas, personalizadas para o gerenciamento eficiente de séries temporais, domínio dos seras temporais e o modelo de execução temporal libera o potencial de obter resultados notáveis com o resultados notáveis Vamos analisar esse exemplo de uso do time ser. Essas duas linhas retornam o mesmo retorno com o mesmo valor, mas isso é obtido usando um operador de referência de histórico aplicado à parte diferente do código O que fazemos aqui é verificar se fechamento se o preço de fechamento atual for maior do que o preço mais alto de fechamento das últimas 10 barras, mas não verificamos o preço mais alto atual, verificamos o preço mais alto anterior. Isso significa que aplicamos referência temporal do histórico histórico a essa série temporal das mais altas. Mas acessamos a barra anterior dessa série temporal mais alta. É isso que queremos fazer. Na segunda linha, acessamos o maior tempo sério atual. No entanto, usamos a barra de fechamento anterior que, às vezes, é usada seriamente neste momento. Alcançamos o mesmo resultado de maneiras diferentes. A ideia principal a ser lembrada aqui é que, ser lembrada aqui é que com o histórico referenciando o piator, podemos acessar os valores anteriores da série temporal Essa é a principal coisa para entender como as séries temporais são usadas. Em conclusão, nesta lição, analisamos as principais diferenças entre indicadores e estratégias. Eu expliquei o básico do modo de execução do script Pine e das séries temporais Este é o fim desta lição e nos vemos na próxima. 5. Aula 5: modelo de criação de roteiro de pinho: Colon, bem-vindo a esta lição, modelo de execução do Pine Script Nesta lição, abordaremos vários tópicos. Vou explicar os fundamentos modelo de execução do Pine Script Vou explicar a diferença entre barras históricas e em tempo real e como script Pine é executado nesses dois tipos de barras. Em seguida, vou explicar os eventos que acionam a execução do script Depois disso, abordarei algumas considerações adicionais na execução do script e também revelarei o fenômeno da repintura Vamos começar. Vamos analisar em detalhes o modelo de execução do script Pine. Vamos imaginar isso. O código do script Pine inativo após compilação ganha vida quando o tempo de execução do script Pine o executa, e isso é acionado Agora, vamos dar uma olhada nos cálculos das barras históricas e como o script é executado nas barras históricas. Quando os scripts são carregados no gráfico , eles são aplicados nas barras históricas. Primeiro, utilizando valores de O HCV em cada barra. OH LCV é a abreviatura de volume aberto, alto Esses são todos os dados de um bar. Navegando pelo tempo no gráfico, podemos rolar as barras, carregar dados históricos até o início do gráfico dos conjuntos de dados ou até você atingir o limite das barras de contas Um script começa a ser executado no primeiro índice de barras histórico zero, inicializando variáveis para as linhas subsequentes vez que é executado sequencialmente em um loop no preço de fechamento de cada O script calcula com base nos valores de OH LCV em cada barra e traça suas saídas. O desempenho continua barra por barra até atingir o mais recente no conjunto de dados. Agora vamos mudar para as barras em tempo real. Eles funcionam de forma diferente. Nesse show dinâmico, scripts passam por recálculos constantes respondendo a cada toque na barra em tempo real Antes de cada atualização, as variáveis são revertidas, garantindo que os scripts sejam reiniciados Essa dança de reversão redefine , os dois elementos da trama Barras em tempo real mostram iterações de script, acionadas por atualizações, permitindo mudanças variáveis e criando um script responsivo Nesse estágio, os scripts são executados nas barras abertas e a cada atualização, capturando o mercado em constante mudança Antes de cada atualização, a reversão redefine as variáveis para o estado anterior das barras Um estado limpo garante cálculos precisos. A última execução do script no fechamento das barras solidifica as variáveis, concluindo o desempenho em tempo real Agora, vamos dar uma olhada nesse gráfico. É importante perceber em que tipo de gráfico você tenta analisar a das barras, a execução dos scripts. É um gráfico em tempo real? É um gráfico ativo ou um gráfico inativo? Gráfico ativo, o que significa que o gráfico está ativo. Isso significa que o novo está chegando e atualizando o gráfico. Este gráfico que você vê na tela é um gráfico de teorema, e esse gráfico está sempre ativo 24 horas por dia, e esse gráfico está sempre ativo Bem, isso significa que a barra à direita e à direita neste gráfico está sempre sendo atualizada. Todas as outras barras à esquerda são barras históricas e a barra direita neste gráfico é a barra em tempo real. Porque está sendo atualizado constantemente. Novas negociações chegando e novas atualizações de volume chegando, atualizando este gráfico, nesta barra específica, na barra em tempo real A barra à direita é um gráfico ativo, é sempre uma barra em tempo real. Todos os outros bares à esquerda são bares históricos. Agora, vamos discutir os eventos que acionam a execução do script Digamos que temos um roteiro aqui. Temos um script e vamos analisar como ele está sendo atualizado. Agora vamos falar sobre gatilhos. Vários eventos iniciaram os scripts em todo o conjunto de barras. Então, o script está sendo executado. Durante os eventos a seguir, um novo símbolo ou período de tempo é carregado no gráfico. Por exemplo, eu mudo o símbolo. Do etherum ao Bitcoin. Depois disso, o script que aplicamos a esse gráfico, neste caso, o script de estratégia simples Mac De, quando acionamos a execução do script alterando o símbolo, por exemplo, desse gráfico. Esse script começa a ser executado a partir da primeira barra desse gráfico e em cada barra desse gráfico, até a barra direita desse gráfico, que é a barra em tempo real. Na barra em tempo real, ela será executada em cada alteração dessa barra. Essa barra está sendo alterada a cada toque ou a cada alteração de volume nessa barra. O segundo caso em que script está sendo executado é quando você altera, por exemplo, o período de tempo no gráfico. Depois disso, outros acionadores, um script é salvo ou adicionado ao gráfico Quando, por exemplo, acessamos o script, fazemos algumas alterações, salvamos scripts são executados novamente. Ou sempre que temos um novo script e o adicionamos ao gráfico , os scripts são executados novamente. Depois disso, se o valor for modificado, o valor de uma determinada configuração será modificado. Do roteiro. Obtemos as propriedades da estratégia e alteramos algumas propriedades, então o script é executado novamente. Ou quando um evento de atualização do navegador é detectado, isso acontece quando você atualiza o Quando as negociações estão ativas, os scripts são executados em barras em tempo real devido a eventos ou atualizações, reagindo às mudanças dinâmicas do mercado Gráficos intocados durante mercados ativos deixam um rastro de barras em tempo real expiradas, confirmadas, mas ainda sem desempenho em roteiros Para obter informações mais detalhadas sobre a execução do script Pine, podemos explorar uma função importante, função de estado da barra e essa função, seu guia sobre os tipos de execução de scripts. Essas variáveis distinguem o tempo real decorrido e as barras históricas Agora vamos dar uma olhada em algumas possíveis variações dessa função. Esta função está no estado da barra e depois disso, tem uma função diferente? Por exemplo, o estado da barra é o primeiro? Você pode verificar essa função incorporada. Se você precisar detectar se a barra atual é a primeira barra no gráfico? Você pode usar essa função para detectar em seu script se determinada barra está sendo executada por seu script. Essa é a primeira barra no gráfico? O estado das barras é o último a detectar a última barra no gráfico. O estado da barra é o histórico para detectar a barra histórica. O estado dos bares é em tempo real. Obviamente, para detectar a barra em tempo real. O estado da barra é novo para detectar a primeira marca na barra em tempo real, ou é sempre verdadeiro em cada barra histórica. O estado da barra é confirmado quando a última marca na barra em tempo real acontece. E isso sempre é verdade em bares históricos. E sua última história confirmada, significa que a barra histórica é confirmada após o fechamento do horário real do bar. Agora, vamos revelar o fenômeno da repintura. Isso é algo que devemos considerar ao criar o script Pine. Esse fenômeno se revela quando cálculos do script em barras históricas podem diferir da transição pós-tempo real Uma pequena diferença nos valores de OH LCV durante as transições contribui para mudanças no comportamento do script E você precisa considerar isso. Considere repintar ao desenvolver seu script do Pine. Concluindo, nesta lição, estudamos os fundamentos do modelo de execução do script Pine Diferenças na execução do script em barras reais e históricas, eventos que acionam a execução do script e o fenômeno de repintura Alimentado por esse conhecimento. Podemos desenvolver scripts do Pine, e isso definitivamente contribuirá para nosso domínio do desenvolvimento dos scripts do Pine Este é o fim da aula, e nos vemos na próxima. 6. Aula 6: fundamentos da série temporal de roteiro de pinho: Olá, bem-vindo a esta lição, Pine Script Time Series Essentials. Nesta lição, abordarei os tópicos a seguir. Em primeiro lugar, vou abordar a importância das séries temporais no Pine Script. Depois disso, falarei sobre o time ser e o modelo de execução de script Pine. Depois disso, demonstrarei algumas aplicações práticas e usaremos a variável de preço aberto para isso. Depois disso, vou abordar a distinção entre séries temporais e ras. Vou demonstrar um cálculo eficiente dos totais cumulativos Em seguida, vamos aproveitar as chamadas de função e séries temporais no script Pine. Em seguida, vou explicar a sintaxe e o modelo de execução para cálculos complexos No final, vou falar sobre a diferença entre séries temporais e eliminatórias sérias Vamos começar. Pine Script, uma poderosa linguagem de script projetada para indicadores e estratégias negociação na plataforma de visualização de negociação, obtém grande parte de sua força do manuseio eficiente de dados temporais As séries temporais, no contexto do script Pine, formam a estrutura fundamental para armazenar valores sucessivos de uma variável ao longo tempo, com cada valor vinculado a um ponto específico do Compreender as séries temporais é crucial para liberar todo o potencial do Pine script O conceito de time Seres está intimamente ligado ao modelo de execução e ao sistema de tipos da Pine Scripts. séries temporais representam com eficiência valores que mudam com o tempo, tornando-as adequadas para trabalhar com gráficos compostos por barras, cada uma representando um ponto de tempo distinto. A simples ilustração e demonstração de séries temporais é examinar o gráfico e perceber que esse gráfico nos mostra um valor sério de tempo, podemos chamá-lo de valores sérios de determinados parâmetros Por exemplo, para cada barra que vemos nesta tela, cada barra é caracterizada com os valores aberto, alto, baixo e fechado Todas as aberturas fecham valores baixos e altos, essas são variáveis sérias e usam o conceito de séries temporais. Para cada barra, podemos ver os valores dessa abertura fechar, baixa e alta. Podemos ver esses valores no gráfico. Podemos ver que, para cada barra específica que representa um determinado tempo específico, temos certos valores dessas variáveis sérias. Para ilustrar melhor, vamos analisar este exemplo de plotagem do abertura e da barra anterior do preço de abertura neste gráfico Se executarmos esse script nesse gráfico de 12 meses, a série temporal aberta conterá o preço de abertura de barras consecutivas de 12 12 meses. A referência ao valor passado em uma série temporal é feita usando o histórico que um pertor de referência, como neste exemplo aqui E um no colchete, onde aberto e outro entre colchetes denotam o preço de abertura da barra anterior Agora vamos dar uma olhada no exemplo de 1 barra. Na linha, a linha azul é um indicador que traça o preço de abertura A linha verde, como você vê em nosso código, traça o gráfico Anterior traça o valor da abertura da barra anterior Vamos considerar, por exemplo, essa barra. A linha azul é o preço de abertura atual. Você vê que a linha azul nesta barra neste momento específico é igual ao preço de abertura dessa barra e a linha verde é igual ao Linha verde azul A linha verde é igual ao preço de abertura da barra anterior Isso é o que esperamos. O mesmo se aplica a cada barra. Embora os soros temporais possam se parecer com matrizes, eles são O script Pi usa uma estrutura de matriz, mas o conceito de série temporal é diferente. script I permite o cálculo eficiente de totais cumulativos sem Por exemplo, t.com e close, como usamos neste exemplo, são executados em cada barra, acumulando os valores de fechamento à medida que avançam no gráfico E traçamos esse t.com de um fechamento, traçamos esse indicador com a cor laranja e ele calcula o resumo cumulativo de cada preço de fechamento para todas as barras A função chama barras sucessivas, eleva traços em soros temporais, acessíveis usando o operador de referência de histórico Por exemplo, verificar se o fechamento da barra atual ultrapassa a máxima mais alta nas últimas 10 barras, excluindo a barra atual, pode ser expresso conforme codificamos nesta linha Verificamos aqui se a barra de fechamento é maior que o valor mais alto de um fechamento nas últimas dez barras e aceitamos a atual excluindo a barra atual É por isso que usamos um deles com um histórico referenciando apator Poderíamos ter usado aqui outro número como dois, por exemplo. Nesse caso, teríamos excluído as duas últimas barras. Como isso funciona é essa cláusula t mais alta de 10 barras. Ele retorna o tipo sério de variável. F dessa variável de série, retiramos as 2 barras. Valor dessa série, não o valor atual do cerus, não o valor anterior do cerus, mas os valores de 2 barras anteriores dessa série mais alta A compreensão da sintaxe do script Pine e do modelo de execução permite a definição de cálculos complexos com o mínimo de código A lógica de loop evidente em chamadas de função como plotar repetições abertas em cada barra, traçando o valor aberto de cada barra no gráfico, como fizemos neste exemplo como fizemos É importante diferenciar entre séries temporais e eliminatórias sérias séries temporais explicam como os valores consecutivos das variáveis são armazenados enquanto o qualificador sério indica variáveis com valores que podem mudar de barra em barra Por exemplo, o período de pontos do período de tempo é uma variável com o qualificador simples e o tipo de string indicação de seu valor permanece constante durante toda a execução do script e em cada barra. Isso significa que o valor que essa função retorna é um valor de string e será igual ao e o valor será sempre o mesmo para cada barra em que esse script está sendo executado Em conclusão, uma compreensão abrangente das séries temporais, juntamente com sintaxe e o modelo de execução do Pine Scripts, capacita os comerciantes e desenvolvedores de scripts capacita os comerciantes e a realizar cálculos complexos com código conciso Este é o fim da aula e nos vemos na próxima. 7. Aula 7: estrutura básica da escrita de pinho: Hall 1, bem-vindo a esta lição, estrutura básica da escrita Pine. Esta lição consiste nas seções a seguir. Primeiro, explicarei a estrutura básica do script Pine, depois abordaremos a versão, como definir a versão de um script Pine. Em seguida, explicarei as declarações, a parte principal do código do script Pine. Em seguida, explicarei como usar e especificar os comentários, como fazer rap de linha Em seguida, abordaremos as anotações do compilador. Depois disso, demonstrarei alguns exemplos de código com todos esses elementos de código. Vamos começar. Pine script é uma linguagem de programação projetada para criar indicadores, estratégias e bibliotecas personalizados na plataforma de visualização de negociação. Para aproveitar seu poder, é crucial compreender a estrutura fundamental, o controle de versões, as declarações de declaração, a implementação do código, os comentários, a linha, o encapsulamento declarações de declaração, a implementação do código, os comentários, a linha, o encapsulamento Vamos revisar a estrutura básica do script Pine. Em essência, todo script do Pine segue um formato estrutural Versão, declaração e declarações e, depois disso, o código principal do script Pine. Versão, vamos analisá-la. O script começa com a declaração da versão, indicando a versão do script Pine que está sendo usada. Por exemplo, Dois, você coloca duas barras na versão igual a cinco, que significa que esse código de script Pine está definido para a versão cinco As versões podem variar de 1 a 5, com a última versão cinco fortemente recomendada pela plataforma trade in view Colocar essa notação na parte superior do script melhora a legibilidade do código Em seguida, vamos revisar a declaração. O que é isso? Todo script do Pine deve incluir uma declaração. Definindo o tipo de script e as propriedades da chave. Os tipos incluem estratégia ou biblioteca de indicadores, cada uma com requisitos e funcionalidades específicos Para definir o tipo de script, você especifica o indicador, a estratégia ou a biblioteca. A seguir, vamos revisar a seção principal do código do Pine Script. O cerne do script está em seu código. Vários tipos de instruções moldam o algoritmo do script, como declarações de variáveis, atribuições, chamadas de função e estruturas de fluxo de controle Por exemplo, nesta linha, definimos a variável A, o resultado de resumo, aberto, alto, baixo e fechado. As declarações podem ser organizadas de maneiras diferentes, com algumas expressas em uma linha ou agrupadas em várias linhas. Agora vamos revisar o elemento de comentários do script Pine. Os comentários fornecem informações. E explicações dentro do código. Eles começam com barras duplas e podem ser colocados em qualquer lugar em uma linha ou seguir o código Neste exemplo de código, podemos ver que essa linha de comentário é colocada a partir do início da linha. Colocamos duas barras e colocamos nosso comentário aqui. No próximo exemplo, nesta linha, o comentário segue a parte de um código. Esses dois casos são válidos. Um atalho conveniente no editor Pine é Ctrl e barra para comentar e descomentar linhas Agora vamos revisar o encapsulamento da linha. Para melhorar a legibilidade do código, linhas longas podem ser divididas ou agrupadas As linhas devem ser indentadas adequadamente, garantindo clareza na organização do script Neste exemplo, envolvemos uma linha longa em linhas agrupadas para melhorar a legibilidade do código E, finalmente, revise novamente os pontos do compilador de código. Anações do compilador são comentários que fornecem instruções especiais para o script Eles incluem especificar a versão do script panorâmico, definir descrições personalizadas, criar regiões recolhíveis e algumas outras Nesses exemplos, vemos a versão do compilador com a qual estamos familiarizados, uma descrição da compilação e o compilador, por exemplo, região, o início e o fim da região Agora, vamos analisar alguns desses elementos de código na prática. Neste exemplo, podemos ver que temos um indicador simples que calcula a média da lei alta aberta fechamento e traça esse indicador no Esse script começa com a configuração da versão do script, a versão é igual a duas versões cinco Em seguida, definimos o tipo do script. Nesse caso, é indicador, mas pode ser estratégia ou biblioteca. Depois disso, especificamos o início da região, a notação do compilador No final do código do script Pi, definimos o final da região, a notação do compilador Como especificamos o início e o fim da região, podemos reduzir toda essa seção pressionando botão de seta para baixo. Isso melhora a legibilidade do código se precisarmos reduzir determinada região e colocá-la em um escopo Depois disso, vemos um exemplo do comentário que começa no início da linha Digamos que queremos um exemplo de comentário adicional do comentário Agora podemos marcar essa linha como um comentário. Podemos pressionar o controle e manter pressionado o controle e pressionar a barra para frente no teclado Essa é uma tecla curta para comentar a linha. Quando pressionamos esses botões, novamente, na contracapa, a linha não é comentada Depois disso, temos uma linha de código agrupada em quatro linhas, e é importante lembrar que cada linha quebrada não deve começar com o número exato de toques do início da linha Por exemplo, se definirmos assim, vemos um erro aqui. Porque você não deve definir a linha recortada diretamente nessas linhas verticais que marcam a localização exata da guia Tab tem um significado especial no script de pizza. Significa o co, a função, o escopo interno. Portanto, para definir a linha recortada corretamente, você especifica várias guias e, em seguida, pressiona um espaço Agora, não há erro. Não há nenhum erro lá. Em resumo, entendendo os elementos fundamentais da sintaxe no script Pi Você pode criar indicadores, estratégias e bibliotecas personalizados com confiança indicadores, estratégias e bibliotecas personalizados na plataforma de visualização de negociação, aprimorando sua análise técnica e estratégias de negociação Este é o fim da aula, e nos vemos na próxima. 8. Aula 8: identificadores e operadores em script de pinho: Colon, bem-vindo a esta lição, identificadores e operadores no script Pine Nesta lição, abordaremos as seções a seguir. Primeiro, explicarei o que são identificadores e, em seguida, estudaremos todos os tipos de operadores no script Pine, como comparação aritmética, operadores lógicos, ternários, de referência histórica, referência histórica de atribuição e reatribuição. Além disso, analisaremos a precedência do operador. Vamos começar. Primeiro, vamos estudar identificadores no Pine Script. No mundo da visão comercial, Pine Script, usamos nomes especiais chamados identificadores para variáveis e funções que criamos no Pine Script Agora, os identificadores têm algumas regras. Eles começam com uma letra grande A de A a z, uma letra minúscula de A a z ou um sublinhado Em outras palavras, é alfa-umérico, mas só pode começar com uma letra. Segunda regra. Depois do primeiro caractere, você pode usar sublinhados ou números Terceira regra: os identificadores se preocupam com a capitalização. Eles sabem a diferença entre letras grandes e pequenas. Vamos analisar exemplos de identificadores. Todos esses MR e underscore my R, et cetera são identificadores válidos, exceto o último, e isso não é permitido porque começa com um número Todos os identificadores começam com uma letra. Letra maiúscula ou minúscula. E pode conter apenas números, letras ou caracteres sublinhados A seguir, temos exemplos de um código da vida real. Temos um exemplo de identificadores. Temos a cor verde sublinhada igual a essa cor e temos o sublinhado máximo logb igual a esse número, atribuímos esse número a essa variável, atribuímos esse número a essa variável Aqui temos uma variável de comprimento rápido inteiro e atribuímos o valor sete a essa variável e temos o sublinhado máximo logb igual a esse número, atribuímos esse número a essa variável, atribuímos esse número a essa variável. Aqui temos uma variável de comprimento rápido inteiro e atribuímos o valor sete a essa variável. Todas essas variáveis são identificadores válidos porque seguem as regras que acabamos de especificar Agora, há um guia, como um conjunto de regras, para fazer com seu código tenha uma boa aparência para coisas que não mudam. Nós os chamamos de constantes. Isso sugere o uso do estojo de cobra grande. Por exemplo. Neste exemplo, usamos a constante. O que significa constante é que essa variável sempre terá esse valor no script pine porque atribuímos esse valor a ela e ela terá, durante todo o script, somente esse valor. É uma constante. Há uma regra sugerida para ter uma regra de nome identificador e caso de cobra Você usa todas as letras maiúsculas e, ao combinar duas palavras em uma, as conecta usando sublinhado Isso é chamado de caso de cobra, essa regra é sugerida para constantes Agora, o mesmo para essa constante, usamos a mesma regra chamada snake case para esse identificador Em outro caso, essa é a variável porque especificamos um número inteiro, comprimento rápido e, nesse caso, usamos outra regra É chamado de camel case. No caso de camelo, isso significa que você combina as várias palavras em uma palavra grande e as conecta definindo a primeira letra de cada palavra como rápida, começando do pequeno Em seguida, comprimento lógico da palavra, e começamos com L maiúsculo A mesma regra se aplica à função. Usamos a convenção de nomenclatura de maiúsculas e minúsculas camel para a função. Esta é apenas a regra sugerida, zero, e depois outra palavra um e um, começamos com maiúscula. Basicamente, para construir esse identificador, usamos duas palavras zero e um. Em segundo lugar e seguindo outras palavras, vamos começar com a letra maiúscula. Isso é basicamente. Lembre-se de que essas regras ajudam a tornar código fácil de ler e agradável de ver. Basicamente, melhora a legibilidade do código. Escolha bons nomes ao fazer isso para seus identificadores e siga essas regras Agora, no Trading View, os operadores de script pine são ferramentas usamos para criar expressões e realizar operações que geram resultados. Existem diferentes tipos de operadores, cada um servindo a um propósito específico. Os operadores podem ser amplamente classificados em duas categorias. Aqueles usados para criar expressões e aqueles usados para atribuir valores e variáveis Vamos analisar os operadores aritméticos. Operadores aritméticos são usados para No script Pine, existem cinco operadores aritméticos. Operador de adição e sequência e catenação, usamos o símbolo positivo, a subtração, símbolo negativo, a multiplicação, o símbolo da estrela, a divisão, o símbolo direto e o É o restante após a porcentagem da divisão. Usamos a porcentagem do símbolo para esse operador aritmético. Esses operadores podem trabalhar com números e sequências de caracteres, oferecendo flexibilidade nos cálculos e concatenações Vamos analisar o exemplo de código da vida real. Neste exemplo, atribuímos o valor cinco à variável oito, atribuímos o valor três à variável Vari B B. Depois disso, calculamos resumo da variável A e da variável B e atribuímos o resultado do resumo ao resultado de outra variável Este é um exemplo de como usamos uma das operações aritméticas, neste caso, uma operação neste caso Agora, vamos analisar os operadores de comparação. Os operadores de comparação nos ajudam a comparar valores e tomar decisões com base nos resultados. O Pin Script tem seis operadores de comparação. Primeiro, menor que o segundo, menor ou igual a, terceiro, quarto, igual a quinto, maior que e seis maior que ou igual a dois. Agora, vamos analisar o exemplo do operador de comparação, como ele pode ser usado. Neste exemplo, atribuímos à variável close acima de open, o resultado do per lógico do operador de comparação. Maior do que entre a variável fechada e aberta. Se close for maior que open, valor de true será atribuído a essa variável close acima da variável open. Caso contrário, o valor dos arquivos será atribuído para fechar acima da variável aberta. Este é um exemplo de como o aerador de comparação é usado. Em seguida, vamos analisar os operadores lógicos. Os operadores lógicos ajudam na criação de condições lógicas. Há três operadores lógicos no script Pine. Primeiro, negação, segunda conjunção lógica e terceira disjunção lógica Vamos analisar um exemplo de como ele é usado. Neste exemplo, temos condição um variável e atribuímos a ela resultado do operador de comparação de operadores fechar e abrir. Se fechar for maior do que aberto, o valor verdadeiro será atribuído à condição um. Segunda condição, outro operador de comparação maior do que o usado. À variável condição dois, atribuímos o resultado se maior, maior que baixo. Em seguida, na próxima linha ao resultado da variável, atribuímos o valor da operação lógica se a condição um e a condição dois, condição I e a condição dois forem verdadeiras, o valor verdadeiro será atribuído ao resultado da variável. Caso contrário, se esse operador lógico for falso, o valor dos arquivos será atribuído ao resultado da variável. O que é negação é negação é operador quando você nega o valor lógico do operador a seguir Ou é óbvio que, quando você usa o operador lógico ou o resultado será se o argumento esquerdo ou o argumento direito, em torno desse operador, se algum desses argumentos for verdadeiro, o resultado será verdadeiro. Em seguida, vamos analisar o operador ternário. O operador ternário representado como dois símbolos. interrogação e a coluna são uma forma concisa de escrever expressões condicionais Ele retorna um dos dois valores com base na condição especificada, como funciona. Você especifica a condição, depois define o símbolo do ponto de interrogação, especifica o valor quando a condição é verdadeira, depois coloca uma coluna e, em seguida, v uma condição é falsa. Vamos analisar um exemplo. Neste exemplo, temos uma condição de cor variável e atribuímos a essa variável o valor dessa expressão. Se fechar, maior que abrir , toda essa expressão será igual ao ponto verde, e esse ponto verde será atribuído à variável de condição de cor. Se fechar não for maior que abrir, o ponto vermelho será atribuído à variável de condição de cor. É assim que um parator ternário funciona. Agora, vamos revisar o operador de referência do histórico. O operador de referência do histórico representado como colchetes Isso nos permite fazer referência ao valor passado das séries temporais. É crucial para analisar dados históricos e tomar decisões com base em informações passadas. Vamos analisar como o operador de referência de histórico funciona. Neste exemplo, temos a variável post close e atribuímos o valor close e one entre colchetes à cláusula da variável post Usamos o operador de referência de histórico e especificamos o valor de um dentro desse separador Isso significa que pegamos o valor de fechamento da barra anterior e o atribuímos à condição de fechamento anterior. Poderíamos usar outro número dentro dos colchetes. Digamos que usamos o número de cinco. Nesse caso, atribuímos o valor de fechamento de 5 barras à variável de fechamento anterior. É assim que a história, referenciando o parator, funciona. A seguir, vamos analisar como funciona a precedência do operador. Essa é basicamente uma regra de como precedência funciona quando você tem operadores diferentes em uma expressão Os operadores têm diferentes níveis de precedência, determinando a ordem dos cálculos Compreender a precedência do operador ajuda a escrever expressões que produzem o resultado esperado Agora, essa é a precedência do operador. O operador com maior precedência é executado primeiro. Por exemplo, se você tiver, em uma expressão, histórico do pertor referenciando o parator e, basicamente, o operador aritmético plus Primeiro, executaremos operador de referência do histórico porque ele tem maior precedência Em seguida, executaremos a aritmética mais o operador porque ela tem Agora, vamos analisar isso em um exemplo. Neste exemplo, definimos resultado da variável e atribuímos o valor dois mais três multiplicado por Como esse valor é calculado. Esse valor é calculado usando as regras do operador de precedência que temos nesta tabela Primeiro será executado o operador de multiplicação. Por quê? Porque o operador de multiplicação tem precedente sete, mas o operador de adição aritmética Primeiro será executada a multiplicação, três multiplicado por quatro será 12 E então 12 será adicionado a 214, e somente então o número 14 será atribuído ao resultado da variável É assim que a precedência do operador funciona. Agora vamos analisar o operador de atribuição, que usa símbolo igual O operador de atribuição atribui um valor a uma variável quando ela é inicializada ou declarada pela primeira Isso significa o início de uma nova variável e seu valor inicial Este é um exemplo de como você usa o operador de atribuição. Quando você declara e inicializa a variável. Neste exemplo, comprimento igual a f, essa variável é declarada e inicializada com o valor de Em seguida, o fator variável é declarado como inteiro e inicializado com o valor dois Em seguida, o comprimento ajustado da variável é inicializado e declarado como resultado desse comprimento de expressão multiplicado pelo fator O resultado dessa expressão é atribuído ao comprimento ajustado da variável. É assim que o operador de atribuição funciona. Em seguida, vamos analisar o operador de reatribuição. O operador de reatribuição é usado para reatribuir um valor a uma variável existente Ele permite que as variáveis sejam mutáveis e alterem seus valores ao longo do tempo Agora, vamos analisar como o operador de soma funciona. Primeiro, o que fazemos é basicamente inicializar o valor com um tipo de flutuação e o nome da variável é média móvel, e a atribuímos ao valor NA, ou seja, não disponível Esse é um valor especial do script pine, ou seja, um valor não disponível. Basicamente, ainda não há valor. Em seguida, reatribuímos um novo valor à mesma média móvel variável, o resultado da função SMA de um ponto Como atribuímos um novo valor à mesma variável, que declaramos acima, usamos o operador de reatribuição. É assim que o operador de reatribuição é usado. Agora vamos praticar a criação expressões mais complexas que combinam diferentes tipos de operadores. Neste resumo, temos todos os exemplos de código que analisamos e discutimos nesta lição Agora, digamos que temos a tarefa de verificar se o fechamento atual é maior do que o fechamento da barra anterior 5% e preço máximo atual é maior do que o mínimo atual anterior, maior do que o mínimo anterior. Vamos definir uma ponte variável e calcular a porcentagem de um preço de fechamento atual. Cláusula menos a cláusula anterior. Usamos o operador de referência do histórico e dividimos pelo fechamento anterior Em toda essa expressão, precisamos multiplicar por 100 para calcular a porcentagem de uma alteração de um preço de fechamento atual em comparação com o preço de fechamento da barra anterior E queremos verificar a alta atual maior do que a anterior. Ou a lei atual maior do que a lei anterior. Queremos verificar se a porcentagem que calculamos anteriormente é maior que 5%. Queremos que o preço atual mude em comparação com a barra anterior seja maior que 5%, e a alta atual seja maior que a alta anterior, ou a lei atual seja maior que a lei anterior. Este é um exemplo de como usar diferentes tipos de aparelhos em uma expressão Usamos uma referência histórica, ou seja, usamos lógica e usamos comparação Agora, resumindo esta lição, quero dizer que entender esses operadores e suas funcionalidades é crucial para o desenvolvimento eficaz do Trading View Pine Script Eles formam os alicerces para a criação scripts sofisticados e dinâmicos para analisar os mercados financeiros. Este é o fim da aula e nos vemos na próxima. 9. Aula 9: declarações variáveis em escrita de pinho: Olá, bem-vindo a esta lição, Declarações de variáveis no Pine Script Esta lição consiste nas seções a seguir. Seção de declaração de variáveis onde explicarei o que são essas declarações de variáveis, como declarar variáveis no script Pine Depois disso, inicialização com valor NA, NA significa valor não disponível Depois disso, vou explicar como a reatribuição de variáveis funciona no script Pine No final, vou explicar quais são os modos de declaração no script Pine. Vamos começar. No script Pine, as variáveis desempenham um papel crucial no armazenamento e gerenciamento de valores. Antes de usar a variável, ela deve ser declarada no código. Esta lição explora a sintaxe das declarações de variáveis, vários tipos de variáveis e a importância dos modos de A sintaxe da declaração de variáveis é a seguinte. Modo de declaração, tipo, identificador, expressão ou estrutura de sinal igual, ou podem ser declarações de tupla, estrutura de chamada de função de sinal igual, que o modo de declaração é opcional e pode ser variável P ou nada O tipo é opcional e representa o tipo de dados da variável, como in ou flot, por exemplo Identificador é um nome de variável. A expressão pode ser variável literal ou uma chamada de função A estrutura pode ser de 1 a 4 horas ou mudar a estrutura. declaração de tupla é uma lista separada de nomes de variáveis e fechada entre colchetes Agora, vamos analisar um exemplo de declarações de variáveis. declaração da variável pode ser declarada com tipo implícito ou tipo explícito Ao declarar com declaração de tipo explícita, você especifica o Quando você não especifica o tipo, a variável obtém o tipo do valor atribuído à variável. Além disso, vamos dar uma olhada na declaração da variável Tale. A função T dot MD retorna um tipo de variável tupla. Portanto, usamos a variável tupla, que é uma sequência de nomes de variáveis, e essa variável de tupla recebe valor atribuído da função T M D. Além disso, no exemplo a seguir, atribuímos à variável retorno do operador if, dependendo da condição do operador if, variável de cor do gráfico obterá valor do ponto verde ou do ponto vermelho. Observe que o operador de sinal de igual é usado em declarações de variáveis, distinguindo-as da reatribuição que usa o operador de reatribuição , que que Vamos analisá-lo mais tarde em detalhes. A seguir, vamos analisar como inicializar a variável com o valor NA NA é um valor especial no script Pine, o que significa que o valor não está disponível, ou você pode vê-lo como sem valor ainda. Atribuímos o valor NA à variável dessa forma. Especificamos o tipo da variável nome da variável igual e NA. Ou podemos pular a especificação do tipo de variável. Poderíamos simplesmente especificar o nome da variável igual e float e NA abrange essa expressão e retorna o tipo de float, mas o valor Na primeira linha, há uma forma inválida de inicializar a variável porque não especificamos o tipo da variável e tentamos atribuir o valor NA Portanto, esse tipo dessa onda de atribuição valor de NA é inválido porque não especificamos o tipo da variável No próximo exemplo, vemos o exemplo da declaração de tupla Quando atribuímos o valor retorna da função T dot BB para o Taple, por quê? Porque sabemos que, se procurarmos o TAB, que tipo de valor ele retorna, ele retorna. Portanto, declaramos o valor de uma tupla, que consiste em três valores de três variáveis nesse caso, e para essa variável Taple, atribuímos o valor que está retornando dessa função B. Chamadas de função ou estruturas podem retornar vários valores, como a função TA dot. Quando usamos declarações de tupla para armazenar esses valores, como neste exemplo Em seguida, vamos analisar a reatribuição de variáveis. reatribuição de variáveis é feita usando o operador de reatribuição O operador de reatribuição consiste em colunas e pecados iguais. É executado depois que a variável é declarada e recebe um valor inicial. A reatribuição é crucial para atualizar os valores das variáveis durante a execução do script Veja como funciona. Usamos o operador de reatribuição somente quando já declaramos a variável anteriormente e já teremos reatribuído o valor a Depois disso, caso precisemos reatribuir um novo valor a essa variável Usamos o operador de reatribuição. A seguir, vamos revisar os modos de declaração no script Pine. Compreender os modos de declaração e como usar as palavras-chave R e AP é vital para gerenciar o comportamento das variáveis em todas as barras. Vamos analisar o em cada barra. Tipo de declaração R. Quando R é usado, a variável é inicializada uma vez na primeira barra no escopo global do ou na primeira vez no bloco local Ele retém seu valor nas barras sucessivas até a Veja como funciona. Quando em script, você tem uma declaração de uma variável. Logo na primeira barra do gráfico, o valor é atribuído a ele. Nesse caso, valor zero. Nas próximas barras subsequentes, esse valor é mantido na memória. I se você reatribuir um novo valor a essa variável. Ele lembrará esse valor recém-reatribuído. Esse caso, é assim que vai funcionar. Você receberá o valor zero atribuído na primeira barra e, quando essa variável verde for verdadeira, a variável de contagem será incrementada em um Vamos analisar como funciona agora em cada atualização em tempo real. Modo de declaração, onde usamos a palavra-chave VIP. Funciona dessa maneira, como neste exemplo. Quando o estado da barra é novo é verdadeiro, ou seja, logo na primeira vez na barra em tempo real, esse arrib é atualizado e recebe o valor de um Em cada marca seguinte, estamos incrementando esse ib em um E como declaramos essa variável como IP, ou seja, em cada modo de declaração de atualização em tempo real, ela preserva seu valor entre os É assim que funciona em cada modo de declaração em tempo real. Em conclusão, compreender as declarações de variáveis é fundamental para a redação eficaz de scripts no trading view pine script Esta lição abordou a sintaxe das declarações de variáveis, incluindo modos de declaração, como R e R AP. Este é o fim desta lição, e nos vemos na próxima. 10. Aula 10 - estruturas condicionais em escrita de pinho: Colon, bem-vindo a esta lição, Estruturas adicionais na Nesta lição, estudaremos as estruturas de operadores if e switch. Além disso, explicarei a correspondência dos requisitos de tipo de bloco local ao usar essas estruturas. Além disso, fornecerei as melhores práticas e dicas de uso dos operadores e switch. Vamos começar. O parator I no script Pine e em muitas linguagens de programação é uma declaração condicional que permite executar blocos e códigos diferentes com base no fato de uma condição especificada ser avaliada como verdadeira ou uma condição especificada ser avaliada como verdadeira Ela desempenha um papel crucial no controle do fluxo do seu script. Vamos detalhar como o operador funciona. Temos aqui a condição if e, em seguida, se essa condição for verdadeira, o código, essa seção do código é executada. Então, poderíamos ter uma ou mais condições, e então, se alguma dessas condições for verdadeira, seção correspondente será executada e então poderia ser outra, operador, e se nenhuma dessas condições for verdadeira, declaração do operador será executada. A condição após o operador I é uma expressão que é avaliada como verdadeira ou falsa O código dentro do primeiro bloco é executado; esse código é executado se essa condição for verdadeira. Você pode ter vários blocos para verificar condições adicionais. Nesse caso, você pode ter vários deles, um ou vários. O bloco S, este, que apresento, é executado quando nenhuma das condições nos blocos if é verdadeira. Agora, o importante é entender o fluxo de execução da instrução if. Antes de analisarmos esse exemplo, vamos analisar a execução do fluxo desse operador. A avaliação da condição, a condição é avaliada e, se for verdadeira, o código dentro do bloco correspondente será executado. Se isso for verdade, esse código será executado. Se a condição for falsa, o script passa para o próximo bloco, se houver, e repete o processo Se essa condição for falsa, o fluxo vai verificar a próxima condição. Nesse caso, por exemplo, condição dois. Então, se essa condição dois for falsa, ela vai para a próxima e verifica se é verdadeira. Se nenhum LD for verdadeiro, a instrução sob a instrução será executada. Execução sequencial, o código dentro do bloco associado à primeira condição verdadeira é executado Se uma condição verdadeira for encontrada, blocos subsequentes e o bloco, se houver, serão ignorados, isso significa que se, por exemplo, essa condição após o operador I for verdadeira, essa instrução será executada todas as outras instruções serão ignoradas Bloco opcional. O bloco e o bloco s são opcionais. Isso significa que L ou vários L Z podem ser a presença desses é opcional. E a presença de também é opcional. É importante lembrar isso. Agora vamos analisar um exemplo da vida real. Neste exemplo, temos o operador if usado e, depois do operador I, temos uma condição próxima, maior que aberta. Se essa condição for verdadeira, ou seja, perto maior do que aberto , a variável cor do solo, cor BG, será atribuída à cor verde. Se fechar não for maior que abrir, segunda condição será verificada na declaração. Então, se fechar for menor que aberto, a variável de cor do solo será atribuída à cor vermelha. E se nenhuma dessas duas condições, primeira condição após e segunda condição após Ls, se nenhuma dessas duas condições for verdadeira, essa declaração será executada sob a instrução de. Nesse caso, a cor do solo será atribuída à cor amarela. É assim que o operador funciona nesse caso. Então, pontos-chave disso, exclusividade mútua. Na série de instruções if e else, if, somente o código associado à primeira condição verdadeira será executado. Quando uma condição é verdadeira, as condições subsequentes são ignoradas. Por exemplo, nesse caso, se, por exemplo, primeira condição for falsa, mas a segunda condição for verdadeira, essa instrução será executada. A cor será atribuída, a cor do fundo será atribuída como vermelha. A declaração subsequente e subsequente será ignorada. Ação padrão. O bloco s fornece uma ação padrão se nenhuma das condições especificadas for verdadeira. Isso significa que se nenhuma das condições for verdadeira e, depois de todas as condições do operador, se nenhuma delas for verdadeira, a instrução padrão será executada. A cor do fundo será atribuída ao amarelo. Regra de indentação. O código dentro de cada bloco, se L, normalmente é recuado para facilitar a leitura Embora Piscrit seja indentador. Como você vê aqui, o que temos aqui. Essa declaração após cada operador, se L, a declaração é recuada desde o início Isso melhora a legibilidade do código e é sugerido o uso Compreender o operador eletrônico é fundamental para criar scripts que possam tomar decisões e responder dinamicamente às mudanças nas condições dos mercados financeiros Ele permite que você crie uma lógica que se adapte a diferentes cenários, tornando seu script mais robusto e versátil Agora, vamos revisar a sintaxe do operador e quando ele retorna um valor Nesse cenário, a sintaxe é a seguinte. identificador do tipo de modo de declaração é igual ao bloco local dos operadores I, expressão L Z, ao bloco local e às expressões L e L, outro bloco local Nesse caso, o modo de declaração é o modo de declaração de variáveis. O tipo é opcional. Identificador é o nome da variável nesse caso, e a expressão pode ser expressão variável literal de chamadas de função A diferença entre usar o operador que retorna valor em comparação com o uso do operador e, que não retorna valor, é que atribuímos o retorno do operador e a uma determinada variável. Nesse caso, é script como identificador. E precisamos que nosso operador I retorne um determinado valor dependendo de certas condições, e quando precisamos que esse valor seja atribuído a determinada variável, usamos essa sintaxe Agora vamos analisar um exemplo de uso do operador e com valor de retorno. Nesse caso, podemos ver que declaramos o estado da barra da variável string e atribuímos a essa variável de estado da barra o retorno do operador e. Se o operador verificar se estado da barra de funções é um histórico confirmado, se essa condição é verdadeira , o operador if retornará essa string último histórico confirmado e essa string será atribuída à variável de estado da barra. Se essa condição for falsa, próxima condição será verificada após a declaração L if. E se o estado da barra for novo e essa condição for verdadeira, nova string será retornada e atribuída ao estado da barra. Se essa condição for falsa, próxima condição será verificada. Se a condição de horário bar state israel for verdadeira, string de horário de israel será retornada e atribuída à variável bar state. Se nenhuma dessas três condições for verdadeira. Essa, essa é essa, se nenhuma delas for verdadeira, então outra string será retornada após a instrução se, e essa outra string será atribuída à variável de estado bar. É assim que o operador If funciona quando o usamos para retornar valor. Agora, quero dizer que entender o evaperador é muito importante e é muito importante saber quando você precisa usar o evaperator z, retornando Agora vamos analisar como o operador da estrutura do switch funciona. No script Pine, a estrutura do switch é usada para ramificação condicional Semelhante à estrutura if. Ele permite que você selecione e execute blocos de código específicos com base no valor de uma expressão. Existem duas formas da estrutura do switch. Um com uma expressão como chave e outro sem expressão. Vamos revisar o switch com a expressão. Nesse switch, podemos ver que após o operador switch, usamos a expressão, portanto, esse é o caso em que estamos considerando switch com expressão. Agora, vamos analisar como isso funciona. Nessa sintaxe, o modo de declaração é opcional. Ele especifica o modo de declaração das variáveis, pode ser ar v P ou nada. Tipo. Opcional, especifica o tipo de variável. Por exemplo, na sequência de fluxo. Em seguida, identifique o nome da variável. Em seguida, temos o próprio apperator de switch, uma expressão, a expressão-chave cujo valor determina o caso a ser executado Valor um, valor dois, e poderíamos ter mais valores nesse operador, valores específicos que essa expressão pode assumir. Se você verificar novamente essa expressão, se a expressão for igual ao valor um, o bloco local um será retornado e atribuído a esse identificador Se o valor dois for t. Se a expressão for igual ao valor dois, bloco local dois será retornado e atribuído a esse identificador Bloco local um, bloco local dois, blocos de código associados a cada valor. Bloqueio padrão aquele código executado quando nenhum outro caso corresponde. Isso significa que se a expressão, se a expressão avaliada não corresponder a nenhum desses valores , o bloco local será executado, reatribuído a esse identificador. Agora, vamos analisar o exemplo do operador switch sem expressão. Nesse caso, as condições da expressão um e da expressão dois são avaliadas para determinar qual caso executar. Bloco local um, bloco local dois, blocos de código associados a cada condição. Bloco local padrão, bloco de código executado quando nenhum outro caso corresponde. Agora vamos analisar alguns exemplos do uso do switch Expert. Neste exemplo, a estrutura do interruptor é usada para determinar se deve entrar uma posição longa ou curta, ou fechar a posição existente com base em condições de cruzamento e cruzamento Então é assim que funciona. Isso está usando o operador switch sem nenhuma expressão. Então, primeiro, quando a execução desse operador de switch é inserida, primeira condição é verificada, o cruzamento de TA. Se essa condição for verdadeira, esse código será executado. Entradas de estratégia longas. Então, o script entrará na posição longa. Se essa condição for falsa, essa condição será avaliada. Se a condição de cruzamento for verdadeira ou não. Se for verdade, a posição curta será inserida executando a estratégia de entrada de pontos, posição curta Se nenhuma dessas condições for verdadeira, a instrução padrão será executada, com a estratégia dot close. A posição estratégica será fechada. Este é um exemplo de como o switch appetor é usado sem nenhuma expressão Agora, vamos analisar um exemplo de uso do operador switch com expressão. Nesse caso, podemos ver que usamos o operador switch e, depois disso, temos uma condição close, maior que open, e o retorno da execução desse operador switch será atribuído à variável de cor do solo. Vamos dar uma olhada em como funciona. Se essa condição de fechamento maior do que aberta for verdadeira, o operador do switch tentará encontrar o valor verdadeiro dentro de seu escopo em sua lista de valores. Ele vai encontrar o valor t desta linha. Em seguida, a instrução correspondente será executada e a cor verde será retornada e atribuída à variável de cor do fundo Eu fecho maior que a condição aberta é falsa, que ele encontrará o valor falso e cor correspondente será retornada, que neste caso é vermelha e atribuída à variável de cor de fundo. É assim que o operador switch funciona com a expressão. Agora, vamos revisar os requisitos de tipo de bloco local correspondentes, o que é importante entender ao usar estruturas como if e switch. Ao usar vários blocos locais em estruturas, como operadores ef e switch, o tipo de valor de retorno if structure atribui um valor a uma variável em uma declaração O que significa que você usa uma estrutura, como uma chave neste caso, e você a usa de uma forma, então o retorno dessa estrutura será atribuído a uma determinada variável. Nesse caso, cada valor de retorno dessa estrutura deve ser do mesmo tipo, como nesse caso, é uma cor. Por exemplo, se um desses valores retornados não corresponder ao tipo de cor esperado, você receberá um erro do compilador Também existem algumas regras importantes a serem lembradas. Somente uma ramificação da estrutura do switch é executada, e não há nada parecido em algumas outras linguagens de programação Esse símbolo de seta é usado para associar um valor ao bloco de código correspondente, esse símbolo de gravação de erro. A estrutura é encerrada quando isso acontece com um bloco local padrão para lidar com casos em nenhuma das condições especificadas é atendida Como, por exemplo, nessa sintaxe. Quando nenhuma dessas condições é verdadeira, expressão um é falsa, expressão dois é falsa, etc., o bloco padrão é executado As declarações de freio não são necessárias na estrutura do interruptor. A estrutura do switch é uma ferramenta poderosa para criar lógica condicional clara e eficiente no script Pine, especialmente ao lidar com várias condições e casos Concluindo, esta lição sobre estruturas condicionais na negociação do Pine Script equipou você com conhecimentos essenciais para implementar decisão robusta e flexível lógica de tomada de decisão robusta e flexível em seus scripts Exploramos duas estruturas de condições fundamentais. A estrutura e a estrutura do interruptor. Lembre-se de seguir as melhores práticas, como evitar agrupamentos desnecessários e garantir tipos de retorno consistentes dentro de estruturas condicionais Com uma sólida compreensão da lógica condicional, você está bem posicionado para aprimorar suas habilidades de trading view pine script e criar ferramentas de análise técnica mais sofisticadas e responsivas Este é o fim desta lição e nos vemos na próxima. 11. Aula 11: loops em script de pinho: Olá. Bem-vindo a esta lição, Loops in Pin script Esta lição consiste nas seções a seguir. Na primeira seção, estudaremos papel dos loops na negociação do Pine Script Depois disso, estudaremos quando usar loops no script Pine e quando eles não são necessários Nas duas últimas seções, estudaremos os loops f e le no script Pine A sintaxe e vamos examinar alguns exemplos de código. Vamos começar. Na área de trading view Pine script, a necessidade de loops depende da eficiência e funcionalidade do seu código Nesta lição, analisaremos cenários em que os loops não são necessários nos casos em que são absolutamente necessários para um script eficaz Quando os loops não são necessários. O tempo de execução do script Pine e as funções integradas tornam os loops desnecessários em várias situações Vamos explorar exemplos em que os loops podem ser evitados para obter um código mais simplificado e eficiente Vamos analisar esse exemplo. Alguns programadores iniciantes podem tentar calcular a média dos últimos dez valores de fechamento usando loop, como neste exemplo No entanto, isso é ineficiente Vamos revisar esse código Neste código, vemos que temos um loop que começa do zero e vai até o comprimento MA menos um até nove O Loops é executado dez vezes e calcula o resumo do preço de fechamento das últimas 10 barras E então ele calcula a média desse preço de fechamento. Existe uma abordagem mais eficiente para evitar esse loop e calcular a mesma média do último preço de fechamento das últimas 10 barras. Essa abordagem é apresentada no próximo exemplo de código. Aqui, usamos a função TA SMA para calcular a média móvel simples do preço de fechamento das últimas 10 barras Dessa forma, evitamos o loop. Evitamos usar loop e executar e calcular o mesmo Preço médio de fechamento das últimas 10 barras. Agora, contar o número de barras ascendentes nas últimas 10 barras é outra tarefa quando considerada adequada para loops por iniciantes No entanto, não é necessário um loop. Vamos revisar o código a seguir. Nesse código, temos um loop que itera dez vezes e, dentro do loop, verificamos se close é maior que open Em outras palavras, se for uma barra ascendente, então adicionamos uma, adicionamos o número de barras ascendentes por um. Calculamos o número de barras ascendentes. Das últimas 10 barras. No entanto, esse código pode ser calculado, desenvolvido com mais eficiência e essa iteração pode ser evitada Esse loop pode ser evitado usando uma abordagem diferente. Nesta versão mais eficiente, o que fazemos é usar um aparador ternário para criar uma expressão que produza um nas barras e zero nas outras barras A função. Mantém uma soma contínua desse valor nas últimas 10 barras. Dessa forma, evitamos o loop e fazemos exatamente o mesmo cálculo do número de barras ascendentes nas últimas 10 barras Agora, vamos analisar quando os loops são necessários. Embora os loops possam ser frequentemente contornados, ainda existem alguns cenários em que eles são cruciais para a eficácia Primeiro caso, quando da manipulação de coleções. Você pode usar coleções e deseja somar. Você pode querer manipulá-los, fazer certos cálculos dentro dessas conexões Os loops se tornam essenciais ao lidar com coleções como matrizes, matrizes Segundo caso, olhando para trás na história, ao analisar barras usando um valor de referência, conhecido apenas na barra atual, como encontrar máximas passadas mais altas do que as barras atuais Outro cenário em que você precisa fazer cálculos complexos em barras passadas. Certos cálculos nas barras de histórico podem exigir loops quando as funções integradas são insuficientes Concluindo, saber quando usar loops e quando ignorá-los é importante para criar um código de script pine eficiente Ao trabalhar em seu script, pense na tarefa que você está tentando realizar para escolher o melhor método. Agora vamos estudar quatro loops e sua sintaxe. A estrutura de quatro no script Pine permite a execução repetitiva de instruções usando um contador Em outras palavras, o loop é uma estrutura de controle que permite executar um conjunto de instruções repetidamente com base em um contador. A sintaxe do loop completo é a seguinte: identificador de tipo de declaração, sinal de igual quatro, identificador, expressão igual, expressão duas expressões por outra expressão, e loop de bloco local , em que o modo de declaração é um modo de declaração variável e é opcional O tipo é um tipo de variável. Também é opcional. Identificador é um nome de variável que serve como contador de loops. E a expressão são valores iniciais finais e da etapa ou o loop? O loop completo itera por meio de uma faixa de valores especificados pela expressão inicial final e pela etapa Itera do início ao final pela etapa. O loop executa as instruções dentro do loop de blocos local Essa instrução está sendo executada durante quatro iterações de loop Vamos agora analisar um exemplo simples dos quatro loops que imprimem o número de 1 a 5 O que temos aqui é quatro, e temos I como um identificador que começa de um até cinco, e em cada execução, traçamos esse identificador i. Temos aqui, como você vê, cinco iterações e, para cada iteração, traçamos esse valor de identificador É assim que o loop funciona neste exemplo. Você também pode usar a palavra-chave i para especificar uma etapa diferente de uma. Por exemplo, quatro é igual de um a dez por dois. Nesse caso, você adicionaria outra palavra-chave i e especificaria a etapa do loop. É importante observar que os scripts do Pine para loop são frequentemente usados ao lidar com dados históricos ou ao realizar cálculos repetitivos que envolvem a iteração em uma variedade de barras Aqui está um exemplo mais prático em que o loop é usado para calcular a soma dos preços de fechamento nas últimas 10 barras. Aqui, temos um loop que começa a iterar de zero a nove e calcula soma das últimas dez Ele continua adicionando a soma próxima à variável das cláusulas das últimas n barras e, depois disso, traça esse Compreender o ciclo fo é importante para iterar com eficiência tarefas que exigem execução repetitiva Agora, vamos estudar em loop. A estrutura while no script Pine permite a execução repetitiva de instruções até que uma condição específica se torne falsa Enquanto isso, estudaremos os casos de uso da sintaxe e exemplos de while loop no script Pine A sintaxe de while loop segue o sinal de igualdade do identificador do tipo de modo de declaração, enquanto a expressão e o bloco local Onde: modo de declaração, modo de declaração variável. Digite o tipo de variável opcional, nome da variável identificadora igual. Depois disso, expressão, é uma condição avaliada em cada iteração e loop de bloco local, instruções executadas dentro do loop Alguns pontos-chave precisavam ser mencionados aqui. avaliação da condição ocorre antes de cada iteração. Isso significa que antes de cada iteração e antes de executar o loop de bloco local, a expressão é E a expressão I é falsa, mesmo antes da primeira execução do loop de bloco local, o loop de bloco local nunca será executado. A verificação inicial de que a expressão é falsa. Alterações na condição dentro do loop afetam a próxima iteração. Dentro desse loop while onde o loop de bloco local é executado, algumas mudanças normalmente acontecem em determinadas variáveis que afetam a expressão que é calculada antes da próxima iteração O loop é interrompido quando a condição se torna falsa. A condição está dentro dessa expressão. Agora, vamos analisar um exemplo de contagem de barras com o loop while. Aqui contamos as barras se, para certas barras , neste caso, definimos o número padrão de barras como 50 e calculamos o número de barras que são maiores do que a máxima atual. Para as últimas 50 barras, se usarmos valores padrão. Contamos as barras mais altas e, em seguida, contamos se essas altas são menores do que a alta atual. Em outras palavras, calculamos o número de barras superiores e o número de barras inferiores em comparação com a máxima atual. Basicamente, avaliamos aqui 50 vezes porque o valor padrão para entrada reversa é 50, mas poderia ser maior se alterássemos esse parâmetro. Então, basicamente, este é um exemplo de como o loop while pode ser usado. Concluindo, para o loop while, é importante saber quando usar o while loops para obter uma escrita linear eficaz Esses loops são valiosos para tarefas repetitivas até que uma condição específica seja atendida, fornecendo flexibilidade e eficiência na execução de scripts S. Em poucas palavras. Compreender os loops é muito importante quando você está escrevendo no script Pi Às vezes, você não precisa de loops porque o Piscript tem atalhos, como funções integradas , que realizam o trabalho mais Por exemplo, calcular médias ou contar coisas pode ser muito mais eficiente sem usar Você pode confiar em funções integradas, como t ou math S, para scripts mais fáceis e rápidos. Mas os loops ainda têm seus momentos brilhantes no script Pine. Eles são úteis quando você está lidando com coleções, pesquisando dados anteriores ou lidando com cálculos complexos que precisam de uma abordagem mais prática Saber quando fazer um loop e quando usar atalhos, como funções integradas, permite criar scripts de alfinetes que sejam eficientes e eficazes, atendendo às necessidades do seu projeto Este é o fim desta lição e nos vemos na próxima, 12. Aula 12: introdução ao sistema de tipos de escrita de pinho: Olá e bem-vindo a esta lição de introdução ao sistema de tipos do Pine Script. Nesta lição, apresentarei sistema de tipos do Pine Script. Esta lição consiste nas seções a seguir. Explicarei por que os tipos são importantes e, além disso, discutirei com você onde os tipos entram em jogo. Explicarei a importância dos três grandes em tipos de Pinscri, modelo de execução e séries temporais No final, estudaremos código prático como um exemplo de tipos de scripts de Pin. Vamos começar. S. Imagine o sistema de tipos de script Pie como um criador de combinações de scripts, decidindo quais valores podem se unir a diferentes funções e ações Embora você possa escrever scripts básicos sem se aprofundar nos detalhes dos tipos. Saber um pouco sobre isso pode melhorar seu jogo de script Pine. Por que os tipos são importantes? No Piscript, os tipos são como rótulos para valores. Seja um número, texto ou qualquer outra coisa, cada valor tem sua própria tag. script Pine adiciona uma reviravolta com os qualificadores decidindo se um valor permanece inalterado ou se é alterado durante o Onde os tipos entram em jogo. Essas propriedades de tipos e qualificadores se aplicam a cada valor do script pine, como um texto numérico que você nomeia Para ser um script Pine p, você precisa entender três tipos de coisas, em outras palavras, rótulos. O jeito de Pine fazer as coisas. Em outras palavras, modelo de execução e a ideia de séries temporais. Juntos, eles desbloqueiam os superpoderes do Pinecript. Agora vamos conferir alguns códigos de script do Pine para ver como os tipos funcionam. Neste exemplo, vemos vários tipos declarados e inicializados e vamos analisá-los um por um Na primeira seção, vemos que o tipo inteiro é declarado e inicializado Essa inicialização é implícita porque o tipo é detectado a partir do valor atribuído à variável Nesse caso, inteiro, o mesmo para o flutuador O tipo é detectado quando você atribui valor à variável se você não especificou o tipo antes da variável. No segundo caso, é uma variável defeituosa. Em seguida, nos próximos dois exemplos, declaramos explicitamente as variáveis e atribuímos os valores a essas Variável inteira e atribuímos valor inteiro a essa Especificamos explicitamente o tipo de fluxo das variáveis e atribuímos valor flutuante a essa No próximo exemplo, declaramos a variável fluida e atribuímos o valor fluído a A palavra Aki significa que esse valor persiste entre as barras, o mesmo para a variável string var string Especificamos a string de palavras Aki, especificamos o nome da variável e atribuímos valor a essa variável de string. No próximo exemplo, usamos a palavra-chave var IP, o que significa que essa variável é persistente entre barras, resistente a barras , ou seja, para barra em tempo real, o valor entre ti é Declaramos a variável IP inteira e atribuímos o valor inteiro correspondente a Semelhante à variável de fluxo IP, atribuímos valor flutuante à variável de fluxo vari P. Em seguida, temos uma função aqui, essa função tem um parâmetro. Dentro dessa função, calculamos o valor e retornamos esse valor. Essa função calcula o quadrado a partir do parâmetro que passamos para a função Então, o que é interessante nessa função é que retornamos o valor digitado implicitamente Isso significa que se passarmos um valor inteiro, ele retornará o tipo inteiro Por exemplo, porque multiplicamos dois números inteiros e os retornamos dessa função Essa função retornará um valor inteiro se passarmos como parâmetro, valor inteiro Portanto, digitamos implicitamente return dessa função. É assim que usamos essa função na prática. Aqui, definimos o local quadrado igual ao valor inteiro de cinco e, dentro dessa função de gráfico, chamamos essa função de gráfico quadrado, passamos o valor inteiro Ele calcula esse quadrado a partir desse valor inteiro e esse valor é plotado pela função de plotagem. É assim que a função é usada quando o valor que ela retorna é implicitamente do tipo Neste exemplo, temos variáveis com diferentes tipos e funções fazendo seu trabalho com coisas digitadas. Conhecer esses tipos ajuda você a escrever scripts melhores. À medida que descobrirmos mais sobre os tipos de script do Pine, você se tornará Pine mais rápido Tudo isso é para esta lição e nos vemos na próxima. 13. Aula 13: decodificação de qualificadores de script de pinho: Caramba, bem-vindo a esta lição, decodificando os qualificadores do script Pin Esta lição consiste nas seções a seguir. Primeiro, apresentarei os qualificadores do script Pin. Em seguida, explicarei a hierarquia dos qualificadores. Depois disso, estudaremos a definição e uso de qualificadores do script P, como entrada constante, qualificadores simples e sérios e, depois disso, estudaremos exemplos de tipos de scripts Pi Vamos começar. No Pine, os qualificadores de script são como rótulos em ingradientes, nos dizendo quando os valores se juntam ao grupo Existem quatro tipos: constante, de entrada, simples e sério. Cada tipo desempenha um papel e entendê-los é a chave para o sucesso dos scripts No script Pine, há uma hearquia, nas eliminatórias. Primeiro, consista depois dessa entrada, depois desse simples e depois desse usuário. Pense nisso como um sistema de classificação em que as funções ou operações preferem um determinado tipo, mas funcionam bem com aquelas com menos frequência. Agora, vamos analisar cada tipo de qualificador e tentar entender sua definição e como usá-lo Primeiro, um qualificador constante const. Os valores desse qualificador são imutáveis antes da primeira mudança do script Um exemplo desse qualificador são números inteiros, decimais, números de tronco, cores ou sequências Esses valores desse qualificador são perfeitos para elementos imutáveis, como títulos e Em segundo lugar, vamos estudar o qualificador de entrada. Valores desse qualificador que são definidos durante a configuração do script, mas podem ser alterados posteriormente Esses valores são úteis para configurações fáceis de usar. O próximo qualificador é o qualificador simples. Valores Ds qu que são definidos na primeira barra e permanecem os mesmos Os valores desse qualificador são ótimos para adaptação constante com base nas condições iniciais, e o qualificador da série final, os valores desse qualificador, os valores desse qualificador, podem ser alterados em Esses valores são perfeitos para valores dinâmicos, especialmente cálculos em barras diferentes. Então, vamos recapitular o que aprendemos sobre essas eliminatórias. Qualificador C. Constantes que permanecem firmes Eles são perfeitos para trocar elementos. Ferro de entrada As configurações são definidas no início do script, mas podem ser alteradas posteriormente. Qualificador simples. Valores desse qualificador que se estabelecem na primeira barra de script e permanecem consistentes E os valores do qualificador serius para esse qualificador que podem mudar em qualquer Agora, vamos estudar um exemplo com esses qualificadores. Primeiro, analisaremos o qualificador de custo para definir esse qualificador , especificaremos a palavra-chave do qualificador, depois especificaremos o tipo da variável e seguida, o nome da variável após esse igual e o valor dessa Marcamos essa definição de variável como uma constante, o que significa que essa variável permanecerá constante sempre. E é definido no momento da compilação do script. O mesmo para a segunda linha, fluxo constante P igual a 3,14, definimos a variável fluxo com Em seguida, vamos analisar o qualificador de entrada. Para o qualificador input qui, usamos a função input Nessa função de entrada, definimos certos parâmetros, como valor padrão, entrada, nome, valor mínimo, valor máximo, e esse valor é configurável Quando quiser alterar esse valor, você os altera pressionando o botão de engrenagem em seu script no editor de script pin, e você pode alterar essas configurações antes começar, antes de iniciar o script. A seguir, um qualificador simples. O qualificador simples, nesse caso, atribuímos à variável, que é o valor detectado e definido diretamente na primeira barra do gráfico Nesse caso, atribuímos a propriedade e atribuímos o valor a essa propriedade variável do gráfico. O ponto do gráfico é padrão. Essa configuração está definida e é conhecida logo na primeira barra do gráfico. Portanto, esse é o exemplo de um qualificador simples atribuído a essa variável Finalmente, vamos estudar o qualificador cerus. qualificador Sers é usado, por exemplo, quando você usa a função TA ponto mais alto ou TA ponto, função mais baixa ou muitas outras funções no namespace TA Porque essas funções são um termo, a variável séria. Então, este é um exemplo de como você usa a variável de série. Você obtém essa variável, por exemplo, como um retorno de determinadas funções no tempo no script Pine. Concluindo, entender esses qualificadores é sua fonte secreta para criar a magia do script Pine Se você está criando indicadores dinâmicos, plotando gráficos ou adicionando um toque de interatividade, esses qualificadores orientam você do Este é o fim da aula e nos vemos na próxima. 14. Aula 14 - Entendendo os tipos de roteiro de pinho: Espere um pouco. Bem-vindo a esta lição, Compreendendo os tipos de script do Pine. Nesta lição, estudaremos os tipos de escrita em pinheiro. Esta lição consiste nas seções a seguir. Na primeira seção, apresentarei os tipos de script do Pine. Depois disso, estudaremos os tipos fundamentais, essenciais de todos os tipos fundamentais de escrita em pinho, como fluxo, touro, cor e corda Depois disso, estudaremos tipos especiais, coleções e tipos definidos pelo usuário. Vamos começar. Os tipos de script Pin classificam valores e determinam as funções e operações com as quais eles são compatíveis Vamos explorar esses tipos com esse exemplo de código. Na primeira seção, temos tipos fundamentais, variáveis de tipos fundamentais declarados e inicializados Primeiro de tudo, declaramos e inicializamos em tipo variável do tipo O tipo inteiro de variável pode armazenar números inteiros. Por exemplo, um menos um, 650, etc. Esses tipos de variáveis são bons para serem usados para barras, índices, hora e outros valores relacionados a números inteiros O segundo tipo fundamental é falho. Nesse caso, declaramos e inicializamos o tipo de variável com defeito. tipo de variável fluida pode armazenar números decimais decimais Esse número representa números com decimais. Eles eram usados para preços, volumes e outros valores numéricos Em seguida, o tipo fundamental é o tipo booleano. A variável do tipo booleano pode armazenar verdadeiro ou falso. Essas variáveis são úteis para declarações condicionais e O próximo tipo fundamental é a cor. Portanto, esse tipo define cores no formato hexadesimal. Variável desses tipos usada para tornar seus gráficos coloridos. O próximo tipo fundamental é string. Variável desse tipo representa texto e está fechada com aspas simples ou duplas. Essas variáveis são úteis para rótulos, marcadores ou qualquer informação de texto seguir, vamos analisar os tipos especiais em Pine script e, especificamente, as plotadoras de gráficos As plotadoras de gráficos são um tipo que é usado e pode ser criado usando as funções de gráfico e linha H. Plote um objeto de plotagem, função de linha H retorna um projeto de linha H. Essas duas funções retornam um tipo especial. O primeiro retorna, objeto gráfico, segundo retorna, objeto de linha H. Em seguida, vamos analisar outro tipo especial, gráficos personalizados. Para gráficos personalizados, usamos linha, ponto, nova caixa de função ponto novo, rótulo, ponto novo e tablet, nova função para retornar objetos de linha, correspondentemente linha, rótulo de caixa e tabela O próximo tipo especial são os pontos do gráfico. Para obter um objeto de ponto do gráfico, você usa o ponto do gráfico e alguma variação dessa função, como ponto do gráfico ponto do índice ou ponto do gráfico ponto agora. Esta função retorna um objeto de ponto do gráfico. Em seguida, há um tipo de coleção no script Pi. Esse tipo de coleção representa e é usado por matrizes e mapas de matrizes, contendo referências a Por exemplo, para obter o objeto com o tipo de matriz, usamos a função de matriz. Ray essa nova função em um objeto com tipo de matriz. Em seguida, vamos estudar os tipos definidos pelo usuário. No script Pine, você pode criar seu próprio tipo definido pelo usuário. Para fazer isso, você especifica o tipo de palavra-chave. Depois disso, você especifica o nome do seu tipo definido pelo usuário e, depois disso, especifica as propriedades. Do tipo definido pelo usuário e de cada propriedade para cada propriedade, você especifica o tipo e o nome da propriedade. Você pode ter qualquer número de propriedades. Depois disso, depois de declarar seu tipo definido pelo usuário, você pode inicializar um objeto desse tipo especificando o nome do tipo definido pelo usuário e depois do ponto, depois disso, você pode especificar zero ou até o número de propriedades que você tem no dia você pode inicializar um objeto desse tipo especificando o nome do tipo definido pelo usuário e depois do ponto, depois disso, você pode especificar zero ou até o número de definido pelo usuário Neste exemplo, especificamos duas propriedades e dois objetos inicializados desse ty definido pelo usuário Concluindo, se você está lidando com números, cores ou estruturas de dados personalizadas, esse tipo fornece os alicerces para a criação de scripts poderosos Este é o fim da aula, e nos vemos na próxima. 15. Aula 15: explorando o significado do valor "na" no roteiro de pinho: Olá, bem-vindo a esta lição, explorando a importância do valor de NA no script Pine. Esta lição consiste na seção a seguir. Primeiro, explicarei qual é o valor de NA no script Pine. Depois disso, explicarei a conversão automática do valor de NA. Em seguida, demonstrarei como classificar explicitamente o valor de NA NA Depois disso, revisaremos algumas funções para testar o valor de NA. Além disso, explicarei como lidar com valores e cálculos de NA e como se proteger contra instâncias de NA. Então, vamos começar. Em Pine Script, o termo NA significa não disponível. É como um espaço reservado para valores indefinidos em seu script Vamos mergulhar no mundo de NA e entender como ele desempenha um papel crucial na negociação do Pine Script. O que é um NA? NA é um valor especial usado para representar dados indefinidos ou não disponíveis É semelhante ao N em Java ou não no Phyton. Pine script pode converter automaticamente um valor A em quase qualquer tipo. Às vezes, o compilador se esforça para inferir o tipo que leva aos erros do compilador Vamos estudar a declaração explícita do valor de NA. Para resolver erros, declare explicitamente o tipo associado à variável Sim, você pode atribuir um valor A a uma variável, mas precisa definir explicitamente o tipo dessa variável e, em seguida, atribuir um valor a ela Outro exemplo é que você usa a função float e passa para essa função O parâmetro A. Ele retornará o valor flutuante e esse valor flutuante será um valor do tipo de fluxo e esse valor será igual a A. Como testar para Para testar um A, você deve usar a função NA. Para verificar se o valor é NA, use uma função NA. Essa função retornará verdadeira sempre que parâmetro dessa função tiver um valor. Neste exemplo, o que vai acontecer é você passar a variável para uma função NA e ela retornará verdadeira se Minha guerra for um valor de NA. Nesse caso, se minha guerra for NA, toda essa expressão retornará zero, caso contrário, próxima. Você deve evitar o operador de dupla igualdade se quiser tentar comparar uma variável com um valor NA, não use o operador de dupla igualdade para comparar o valor. Em vez disso, use a função NA. Vamos analisar como lidar com NA nos cálculos. É uma boa prática lidar com valores de NA para evitar resultados indefinidos nos cálculos Como neste exemplo, a função N Z. S. Nesse caso, recebe dois parâmetros, e I o primeiro parâmetro é A, então ele retornará o segundo parâmetro. Se fechar um entre colchetes, for A, toda essa função, z retornará o segundo parâmetro, retornará o preço de abertura Se um próximo entre colchetes não for A, ele retornará próximo e o outro entre colchetes Agora, como proteger seu script e para instâncias de NA. Você o protege com a função N Z. A função N Z pode ser usada com um parâmetro. Se você usar, como neste exemplo, N Z com um parâmetro e peter, neste caso, variável máxima de todos os tempos. Se for NA, então o valor será zero. Nesse caso, você está protegido. Você não vai usar um valor indefinido nisso dentro dessa função matemática de pontos máximos Em conclusão, entender o tratamento final dos valores A é crucial para o desenvolvimento robusto de scripts de pinos. Se você estiver declarando variáveis, testando condições ou realizando cálculos, estar atento a um A garante que seu script se comporte de forma previsível e Este é o fim da aula, e nos vemos na próxima. 16. Aula 16: como dominar os Tuplos em escrita de pinho: Olá, bem-vindo a esta lição, Dominando tuplas no script Pine Esta lição consiste na seção a seguir. Na primeira seção, apresentarei a você Taple. Depois disso, estudaremos como criar tupple. Em seguida, analisarei o Taple com vários tipos? Em seguida, demonstrarei como usar tuplas na função de segurança de solicitações Por fim, estudaremos grampos condicionais nesta lição. Vamos começar. No script Pine, as tuplas estão por trás da maneira de lidar com vários valores, organizados ordenadamente entre colchetes Vamos explorar o mundo das tuplas. Aprenda a usá-los e veja alguns exemplos práticos em Pine script. O que é uma tupla Uma tupla é um conjunto de expressões separadas por vírgula e entre colchetes. tuplas são usadas quando um método de função ou bloco local retorna mais de um valor Vamos explorar como criar uma tupla. Vejamos um exemplo de função definida pelo usuário, retornando uma tupla com a soma e o produto de dois valores fluidos Essa função calc sum and product tem dois parâmetros, e essa função faz cálculos com esses dois parâmetros de uma soma e cálculo de um produto e, depois disso, retorna uma tupla com dois valores, que é soma e É assim que a tupla é usada. Lembre-se de que o valor retornado de uma função é o último valor dentro da função. Essa função retorna a tupla que consiste em dois valores nela Ao chamar essa função, podemos usar a declaração de tupla para atribuir várias variáveis No exemplo a seguir, vemos como declarar uma tupla Declaramos uma tupla com duas variáveis. Y duas variáveis i, porque queremos atribuir a essa tupla declarada retorno de uma função soma e produto, que está retornando uma tupla de dois Função que retorna uma tupla de dois valores. Portanto, declaramos uma tupla com dois valores. Quando o script Spine executa essa linha, o primeiro valor da tupla retornada, sum, será atribuído ao primeiro valor declarado na soma HL declarada, e o primeiro, o segundo valor do produto da tupla retornado, será atribuído ao segundo valor do produto atribuído ao segundo valor do de tabela declarado É assim que declaramos a tupla e atribuímos valor a ela. Agora, vamos estudar Taple com vários tipos. As taples podem conter valores de diferentes tipos. Aqui está um exemplo de uso da função chart inf que retorna tabela com valores de diferentes tipos Vemos essa função neste exemplo de código, chart inf. Essa função prepara valores de variáveis, faz alguns cálculos e faz algumas atribuições a várias Depois disso, ele retorna essas variáveis em uma tupla que consiste em cinco valores Cada um desses valores tem tipos diferentes. Por exemplo, a primeira vez visível é inteira. A primeira cláusula visível é o tipo de variável fluida. Seu padrão é um bleion. cor FG é um tipo de cor e o símbolo é um tipo de Str Este é um exemplo de uma tupla que tem valores de tipos diferentes Agora, vamos estudar como usar tuplas na função de segurança de pontos de solicitação tuplas são úteis para solicitar vários valores em uma chamada de função de segurança de pontos de solicitação Aqui está um exemplo de como usar a tupla e a função O H LC arredondada Aqui, podemos ver uma função definida em torno desse OLC que retorna uma tupla de quatro valores aberto arredondado, alto arredondado, Valor de fechamento aberto arredondado, alto arredondado, baixo e arredondado. Usaremos essa chamada de função dentro da chamada de segurança da solicitação como parâmetro para uma expressão e, por isso, a segurança da solicitação retornará uma queda desses valores redondos, abertos, altos, baixos e fechados Portanto, declaramos a tupla que consiste em quatro variáveis e atribuímos a essa tupla o retorno da função request do security Portanto, recebemos a variável O P nesta tupla. Será atribuído de forma arredondada. variável H será atribuída como alta arredondada, arável L será atribuída como baixa arredondada, variável C C L receberá um valor de fechamento arredondado É assim que você usa a tupla com a função de segurança de pontos de solicitação Agora vamos estudar como usar tuplas condicionais. Blocos locais em estruturas condicionais podem retornar tuplas. Aqui temos um exemplo de como usar tupla condicional dentro do operador if Temos o operador if aqui, que dependendo da condição return, a tabela consiste em valor alto e próximo, ou se essa condição for falsa, retornamos taple de valor próximo e baixo, e o retorno do operador será atribuído às tabelas que consistem na variável V um e V dois Se essa condição for verdadeira, se fechar for maior do que aberto, Tupla que consiste em V um e V dois receberá valores atribuídos da Tupla alta e Em outras palavras, V V um receberá o valor atribuído de alto, V dois receberá o valor de próximo. Se essa condição for falsa, então V um receberá o valor de fechar e V dois receberá o valor de fluxo atribuído. É assim que você usa a tupla condicional. Com o operador. Agora vamos revisar a tupla condicional com o operador switch. Você atribui o retorno do operador switch à tupla, neste caso, consistindo em V um e V dois valores Agora, neste operador de switch, se essa condição fechar mais do que abrir, se essa condição for verdadeira, o switch retornará uma tupla consistindo em valores altos e próximos Nesse caso, high será atribuído a V uma variável, close será atribuído a V duas variáveis. Se essa condição fechar maior que abrir for falsa, expressão padrão da opção será retornada. expressão padrão consiste em uma tupla com duas variáveis, próxima e baixa Nesse caso, se essa condição fechar mais do que abrir, se não for verdadeira, expressão com a tupla consistindo em close e low será ret Nesse caso, close será atribuído a V uma variável e low será atribuído a V a variável. É assim que o operador switch funciona com a tupla. Concluindo, as tuplas oferecem uma maneira poderosa de lidar e organizar vários valores no script Pine Se você está retornando valores de funções, lidando com tipos diferentes ou fazendo solicitações para vários pontos de dados. Os Taples fornecem uma solução limpa e eficiente. Este é o fim desta lição, e nos vemos na próxima. 17. Aula 17: funções definidas pelo usuário em script pinho: Olá, bem-vindo a esta lição. Funções definidas pelo usuário no script Pine. Esta lição consiste nas seções a seguir. Primeiro, apresentarei as funções definidas pelo usuário. Depois disso, estudaremos linha única e funções de várias linhas Depois disso, explicarei como os escopos funcionam no script Pine de funções definidas pelo usuário Depois disso, estudaremos funções que retornam vários resultados, e explicarei algumas limitações das funções definidas pelo usuário. Vamos começar. As funções definidas pelo usuário no Pine script permitem que os desenvolvedores de scripts criem funções personalizadas adaptadas às suas necessidades específicas Diferentemente das funções integradas, as funções definidas pelo usuário oferecem flexibilidade e podem ser essenciais para cálculos repetitivos ou isolados Esta lição explora os fundamentos das funções definidas pelo usuário, seus tipos, escopos e limitações. Agora vamos estudar as definições de funções de linha única Funções simples podem ser concisas e expressas em uma única linha A estrutura disso é a seguinte. Identifique a lista de parâmetros, escreva o erro e retorne o valor. Então, vamos analisar um exemplo de função de linha única. Nesse caso, você vê que definimos função com o nome f que tem dois parâmetros x e y, e o conteúdo dessa função é x mais y. Essa função retorna x mais y x e y parâmetros dessa função. A cor dessa função ficará assim. Por exemplo, um F igual e colchetes o primeiro parâmetro aberto, o segundo parâmetro fechado Nesse caso, ele retornará a soma, resumo de abertura e fechamento No segundo caso, b é igual a F e passamos dois parâmetros, dois e dois. Nesse caso, ele retornará o resumo desses dois valores inteiros No terceiro caso, atribuímos à variável c, a chamada de função f com o parâmetro open e dois. Nesse caso, ele resumirá os dois parâmetros abertos e dois e retornará o valor, e esse valor será atribuído à variável C. Aqui A. Neste exemplo, A variável C. Aqui A. será inicializado como uma variável cerus porque passamos parâmetros sérios e sérios B é um número inteiro e C é o sério. Isso se deve à natureza dos argumentos transitórios. Agora vamos estudar funções de várias linhas. Pine script também suporta funções de várias linhas estruturadas da seguinte forma Identificador, lista de parâmetros, seta para a direita e bloco local. O corpo da função contém várias declarações, cada uma recuada O resultado da última declaração é a saída da função. Por exemplo, este é um exemplo quando definimos a função, Gome sublinhou a média com dois parâmetros, x e y, a função tem três linhas A) cada linha é recuada. Da esquerda e da última linha da função está sempre a saída da função. Essa função calcula a média geométrica de dois valores Este é um exemplo de como definir a função de várias linhas. Agora, é importante observar os escopos no script Pi relacionados às funções Variáveis fora das funções pertencem ao escopo global. Cada função tem seu escopo local. Por exemplo, essa função, três linhas, é o escopo local da função e, dentro dessa função, declaramos e inicializamos duas variáveis locais, A e B. Essas duas variáveis são locais para essa Variáveis e funções globais podem ser acessadas dentro de uma função. Funções aninhadas e escopos locais de interseção não são permitidos Agora vamos estudar funções que retornam vários resultados. As funções podem retornar vários resultados, parecidos com tuplas. Por exemplo, neste exemplo, definimos a função com dois parâmetros x e y, e essa função retorna uma tupla que consiste em duas variáveis, A e B. Abaixo está um exemplo de como chamar função que retorna vários tipos Simplesmente declaramos uma tupla com dois valores e chamamos a função que está retornando uma tupla de Cada um dos valores retornados será atribuído à variável correspondente nesta maçã. É importante observar as limitações das funções definidas pelo usuário. Embora as funções definidas pelo usuário ofereçam versatilidade, algumas funções integradas não podem ser usadas dentro delas, incluindo a cor da barra, a linha H do arquivo e todas as outras funções integradas que não podem ser usadas em funções definidas Todas as funções que você vê nessa lista não podem ser usadas nas funções definidas pelo usuário. Concluindo, dominar as funções definidas pelo usuário aprimora a organização e a funcionalidade do script, fornecendo um poderoso conjunto de ferramentas para desenvolvedores de scripts do Pine Este é o fim desta lição e nos vemos na próxima. 18. Aula 18: criando o indicador DMI ADX médio móvel em script de pinho: Olá, bem-vindo a esta lição, criando um indicador ADX DMI de média móvel no script Prime Esta lição consiste nas seções a seguir. Primeiro, introdução ao indicador ADX DMI de média móvel. Na próxima seção, analisaremos os componentes do indicador ADX DMI de média móvel, como indicadores de média móvel, ADX Depois disso, desenvolveremos do zero a média móvel, o indicador ADX DMI e, na última seção desta lição Vou apontar os benefícios desse indicador desenvolvido. Vamos começar. As ideias desse indicador são essas. Este indicador consistirá na verdade, em três indicadores, média móvel, ADX e DMI Este indicador detectará tendências fortes e nos permitirá identificar fortes tendências de alta e forte tendência de baixa, bem como casos em que não há tendência no Isso nos ajudará a negociar no mercado selecionado se quisermos usar esse indicador. Portanto, o indicador de média móvel identificará para nós a tendência principal e verificaremos se a média móvel tende para cima ou para baixo, se está subindo ou descendo. Essa será uma condição básica de nossa detecção, seja a tendência de alta ou de baixa algumas outras condições, usaremos o indicador ADX que detecta tendências fortes. Isso nos permitirá detectar se a tendência é forte ou se não há nenhuma tendência, independentemente da tendência de alta ou baixa indicador D MI nos fornecerá dois IDs do usuário mais e d menos Usando essas duas séries, vamos detectar se a tendência é de alta ou baixa Vamos começar a desenvolver do zero esse indicador. Para criar um indicador, acessaremos editor de Pins clicando no botão Editor de Pins Depois disso, vamos clicar na opção Abrir menu e depois desse novo indicador. Depois disso, vamos configurar o nome do nosso indicador. Nosso indicador será chamado de indicador ADX DMI de média móvel ADX DMI de média E o parâmetro de sobreposição do indicador, vamos definir como verdadeiro porque o indicador de média móvel será sobreposto no gráfico principal Neste indicador, precisaremos de parâmetros que serão necessários para nossos indicadores internos que vamos usar. Média móvel e indicador DMI. O indicador MI retornará como séries ADX e DI plus e DI menos que usaremos para detectar se a tendência é de alta ou baixa, ou se não há nenhuma Em primeiro lugar, para nossa média móvel, vamos criar o parâmetro de entrada do parâmetro de período. Isso é entrada, parâmetro inteiro, e o valor padrão para nosso período A é 20, o nome desse parâmetro é período médio MA Agora, para o indicador DMI, também precisaremos de um período Portanto, o parâmetro será o período DMI, e o nome do parâmetro será o período DMI e o valor padrão, vamos mantê-lo Em seguida, o indicador DMI DMI, precisaremos de outro parâmetro, que é a suavização do ADX Vamos configurar isso. Suavização de AD, que é a suavização de AD real. Fx suavizando seu parâmetro inteiro, valor padrão, vamos usar 14 e vamos atualizar o nome dele OK. Então, inserimos os três parâmetros. Agora vamos precisar de outro parâmetro que identifique o nível do indicador ADX, é um nível limite para detectar quando, basicamente, a tendência é forte para o ADX Para ADX, geralmente o valor do ADX de 20 ou 25, que significa que quando o ADX está acima de 20 ou 25 , a tendência é Mas precisamos de um parâmetro para esse limite para alterá-lo sempre que precisarmos alterá-lo Vamos chamá-lo de nível de tendência AD X, e é parâmetro de entrada e valor padrão, vamos tê-lo 20, e o nome é ADX Nível de tendência. Agora, vamos começar a calcular a série de nossos indicadores internos que usamos nesse indicador Vamos usar a função TA DMI para retornar como três séries, ADX, DI plus e di minus Para a função HDMI, retorna um valor. Tople é uma série de parâmetros, Tupla de três variáveis, retornos da função DMI Vamos inserir essa tupla. O primeiro é o valor do IG mais neste item básico. segundo valor é di menos, e o terceiro valor nesse grampo é um Vamos atribuir esse grampo ao retorno de uma função ao DMI, que é um indicador di Para morrer. Para este indicador, precisamos passar o comprimento di, ou seja, o período di. Temos um parâmetro para isso já é o período, e o segundo parâmetro é a suavização ADX Calculamos três séries, ADX, di mais e di menos Vamos usar essa série em nosso cálculo de tendência abaixo. Em seguida, vamos calcular a média móvel. A série de média móvel será igual a tat e vamos usar a média móvel ponderada Poderíamos usar outra média móvel, como uma média móvel simples ou uma média móvel exponencial, mas vamos usar a média móvel ponderada para esse indicador usar a média móvel ponderada Vamos usar o preço de fechamento da série e o parâmetro MA que já definimos. Agora, vamos calcular as variáveis de tendência de alta e tendência de queda, novas variáveis que usaremos ao traçar nosso indicador abaixo. Vamos calcular e detectar neste indicador quando a tendência está alta. A tendência é alta, a tendência é considerada alta neste indicador. Em primeiro lugar, sempre que a tendência é forte. Tendência: a força da tendência é detectada pelo indicador ADX e calculamos a série ADX pronta Sempre que o ADX for maior que th, definimos o nível de tendência do parâmetro AD Então, a tendência é considerada forte. Caso contrário, a tendência é considerada fraca. Portanto, se houver uma forte tendência de alta, o ADX deve ser maior do que o nível de tendência do ADX que definimos como 20 como padrão Agora, a segunda condição é que usaremos a série DI mais DI menos do indicador DMI que detecta sempre que a tendência é de alta ou baixa, e sempre que DI plus é maior que DI menos, a tendência é considerada de alta pelo DI mais maior que DI menos. A terceira condição para a tendência de alta é que sempre que a média móvel que calculamos está subindo, ela está subindo quando MA é maior que MA na barra anterior Isso é tudo para a tendência de alta. Agora, a tendência é considerada baixa. Em nosso indicador, sempre que ADX ainda for maior que o nível de tendência do ADX Para a tendência de baixa, queremos que a tendência também seja forte A força da tendência é detectada pelo indicador ADX. Sempre que o ADX for maior que 20, valor padrão principal padrão do nível da cadeia AD Consideramos que a vertente, independentemente de alta ou baixa, é forte segunda condição DI plus deve ser menor que o I menos para que a tendência seja baixa de acordo com o indicador DMI, e a média móvel deve estar tendendo para baixo para que a tendência d seja considerada baixa pelo indicador de média móvel que usamos como indicador interno em nosso indicador usamos como indicador interno em ADX DMI de média móvel Definimos os valores dessa força variável para cima e tendência para baixo e agora podemos começar a traçar nosso indicador Nosso indicador será a média móvel. Mas com certas cores, identificando a tendência. Como vamos usar cores diferentes, vamos definir a variável de cor da média móvel. Sempre que a tendência aumenta. Vamos usar a cor da linha. Para colorir nossa média móvel que vamos traçar. Caso contrário, sempre que a tendência cair, vamos usar a cor vermelha da média móvel. Caso contrário, quando não houver tendência, vamos usar a cor amarela. E na última linha do nosso indicador, vamos traçar uma média móvel que já calculamos com a cor que calculamos também O segundo parâmetro é título. Vamos usar A como título. Depois disso, vamos usar a cor MA, aquela variável de cor que já calculamos, e a largura da linha da nossa média móvel, vamos usar três. Agora vamos salvar esse indicador. E vamos adicioná-lo ao gráfico. Como vemos, nosso indicador tem três cores. Sempre que a cor da média móvel que estamos traçando for verde Isso significa que a tendência é de alta. Sempre que a cor é vermelha, como nesta seção, a tendência é de baixa Sempre que a cor é amarela, o que significa que não há tendência. E como esse indicador pode ser usado para negociação. Por exemplo, sempre que a cor for verde, pode-se estabelecer uma posição de alta ou uma posição longa Sempre que a cor for amarela, posição pode ser fechada ou mantida, e sempre que a cor for vermelha, posição pode ser estabelecida como uma posição curta. Nosso indicador tem parâmetros que podem ser ajustados ao mercado selecionado Você pode alterar o período da média móvel. Você pode alterar o período do DMI, alterar o período de suavização do ADX e alterar o nível de tendência do ADX, se E o indicador será ajustado de acordo com os parâmetros alterados. Resumindo esta lição, desenvolvemos do zero, um indicador avançado baseado na média móvel, ADX e DMI O indicador de desenvolvimento é uma média móvel multicolorida com cores diferentes que representam se o mercado está em alta, baixa ou f. O indicador tem uma variedade de tem uma variedade de parâmetros ajustáveis para se adaptar ao Esse indicador funciona melhor em mercados de tendências, pois serve para detectar tendências fortes Este é o fim desta lição, e nos vemos na próxima. 19. Aula 19: criando a estratégia de MA de Crossover aberto/fechado em Pine Script: Olá e bem-vindo a esta lição, criando uma estratégia de média móvel cruzada aberta e fechada no Pine Esta lição consiste nas seções a seguir. Na primeira seção, apresentarei a média móvel Open Close Crossover Na próxima seção, explicarei os sinais de negociação que vamos gerar nessa estratégia de negociação. Na próxima seção, explicarei e criaremos do zero uma estratégia de negociação que consiste nos seguintes componentes, parâmetros de entrada, funções personalizadas, cálculos de indicadores e lógica de negociação estratégica. Na última seção desta lição, explicarei os parâmetros da estratégia e revisaremos os parâmetros dessa estratégia de negociação. Vamos começar. Essa estratégia usa três indicadores de média móvel. primeiro identifica a tendência de longo prazo do mercado, e os outros dois são construídos nas áreas abertas e fechadas do A estratégia gera sinal longo quando a tendência de longo prazo está alta, e a média móvel de seras fechadas cruza acima da média móvel da série aberta, o que indica que o momento do mercado está em alta e gera o sinal curto quando Quando a média móvel de seras fechadas cruza abaixo da média móvel da abertura do mercado, isso indica que o ímpeto do mercado isso indica que o ímpeto do Agora, vamos começar a desenvolver do zero a estratégia seção por seção, e explicarei o propósito e a lógica de cada seção. Vamos começar. Vamos ao editor de scripts do Pine, depois criaremos a nova estratégia e depois escreveremos a estratégia seção por seção. Primeiro de tudo, vamos criar o nome do str. A estratégia é chamada de estratégia de crossover Open Clos. Abra a estratégia de cruzamento fechado de MA. Em seguida, vamos definir os parâmetros dessa estratégia. sobreposição será definida como verdadeira porque os indicadores representados graficamente são médias móveis que vamos traçar no gráfico principal Os próximos parâmetros da estratégia de negociação são tipo de quantidade padrão. O tipo de quantidade padrão será a porcentagem do patrimônio líquido. porcentagem do patrimônio líquido e o valor da quantidade padrão serão 100, o que significa que, em cada negociação, usaremos 100% do saldo da nossa estratégia virtual. O valor da quantidade padrão é igual a 100%. Em seguida, vamos contabilizar as comissões em nossa estratégia. Vamos garantir que, em cada negociação, deduziremos uma determinada comissão, que será de 0,1%, porque queremos testar novamente nossa estratégia para gerar valores realistas e características realistas realistas Para fazer isso, o tipo de comissão será igual à porcentagem de comissão. Estratégia Comissão Porcentagem de e valor da comissão Valor da comissão. Vamos configurá-lo para 0,1%. Agora, na próxima seção seção de parâmetros de entrada, vamos configurar todos os parâmetros para essa estratégia. O primeiro parâmetro é o tipo de negociação. tipo de negociação é o parâmetro que configura a estratégia. Tipos de negociação, que tipo de negociação a estratégia negociará, longa e curta, apenas longa, apenas sh Esse parâmetro é o tipo de parâmetro da string e terá três opções, long, long e s. Primeiro, vamos definir que o título do título será o tipo de negociação. O padrão, o padrão será longo. Vamos aplicar essa estratégia ao gráfico do Bitcoin, que geralmente tem uma tendência ascendente, que geralmente tem uma tendência portanto, o parâmetro padrão para esse parâmetro de tipo de negociação será longo Em seguida, vamos definir as opções para esses parâmetros de tipo de negociação. As opções serão longas e curtas. Longo e curto, longo e curto. Definimos esse parâmetro de tipo de negociação. Em seguida, como teremos as médias móveis nessa estratégia, vamos definir parâmetros para essa média móvel Para a média móvel que será calculada com base na abertura e fechamento das barras do mercado atual, teremos os parâmetros. O primeiro parâmetro será o tipo de média móvel. O que manterá o tipo de média móvel, e esses tipos podem ser vários tipos de médias móveis que podemos selecionar Vamos ter uma regressão linear, tipo MA e SMA de médias móveis que vamos suportar para esse parâmetro do tipo MA Será o parâmetro st de entrada e o que podemos fazer é simplesmente copiá-lo e alterar rapidamente os valores que precisamos alterar. O título desse tipo de MA será tipo MA. E o valor padrão será vamos ter A e as opções para o tipo A serão AA para média móvel simples e linha de regressão linear para média móvel de região linear Agora, em seguida, é definido um parâmetro para o período de média móvel. O período MA será um parâmetro de entrada inteiro. Para esse parâmetro de entrada de número inteiro, o título será será período do período e o valor padrão para o período MA Vamos ter 50 e o passo será igual a um. Definimos o tipo de média móvel e o período da média móvel para a média móvel que será construída com base na série de preços abertos e fechados do mercado selecionado. Agora, como teremos média móvel de longo prazo em nosso str, vamos definir os parâmetros relacionados a esse indicador adicional Esses parâmetros serão muito semelhantes aos que já definimos. Portanto, vamos copiá-los e alterá-los. Correspondentemente Será o tipo de tendência, tipo de tendência, que manterá o tipo de média móvel do registro da tendência de longo prazo. Vamos corrigir o título. Tendência e período de tendência e será o tipo de tendência e o padrão, vamos tê-los como uma média móvel de regressão linear Para o tipo de tendência e período de tendência, o período de tendência. Vamos corrigir o título. Período de tendência e valor padrão porque é de longo prazo. Média móvel, vamos fazer com que seja 140, e a etapa sempre que precisarmos alterar o parâmetro da configuração de parâmetros da estratégia, vamos fazer com que ela seja uma dezena. Agora, concluímos a seção de parâmetros de entrada. A próxima seção será sobre funções personalizadas. Funções personalizadas, nas quais desenvolveremos todas as funções que usaremos nessa estratégia. Nessa estratégia, usaremos apenas uma função personalizada que fará com que a fonte MA retorne determinada média móvel, dependendo da seleção ou do tipo selecionado de média móvel. Obtenha MA S. A função terá três parâmetros. O primeiro parâmetro é Source. segundo parâmetro é o tipo e o terceiro parâmetro é o período que o MA vai usar. S Um tipo e período. Em seguida, especificamos a seta porque ela será a função personalizada. Nessa função personalizada, teremos um switch e o switch terá a expressão como um tipo may, que é o parâmetro de origem, esse é o parâmetro dessa função personalizada, dependendo do tipo de MA, dependendo do tipo de MA. Vamos retornar séries calculadas desse tipo de MA. Por exemplo, para o tipo MA, para EMA, MA, você retornará a série EMA calculada. Vamos usar uma função EMA de pontos t e vamos passar o parâmetro de origem. Vamos passar o parâmetro Vio para isso. Função, para o tipo SMA, vamos usar a função Ta dot SMA com os mesmos parâmetros Para o caso padrão, porque em nossa plataforma de negociação, estamos usando apenas três opções para o tipo de média móvel EMA, SMA e regressão linear. Portanto, para o valor padrão, usaremos a regressão linear Se nenhum deles for selecionado TMA ou SMA, opção de regressão linear será retornada dessa opção para calcular a regressão linear, usamos a função t dot lin reg que usará o parâmetro de origem Parâmetro de período. NF definido, vamos zerar Foi assim que configuramos nossas funções personalizadas e concluímos o desenvolvimento da função personalizada GA sour. Na próxima seção, desenvolveremos cálculos de indicadores. O indicador calcula a seção de cálculos. Aqui, primeiro, vamos calcular o SSD fechado e série aberta que usaremos em nossa lógica de negociação. Fechar s será calculado em nossa função G so customizada. E vamos fechar o mercado selecionado, o tipo de MA e os parâmetros da estratégia do período de MA. MA tipo MA. Foi assim que calculamos séries aproximadas a partir dos parâmetros da estratégia. Da mesma forma, vamos calcular as aberturas. Mas, em vez de fechar, vamos repassar o preço de abertura do mercado atualmente selecionado. Em seguida, calcularemos a média móvel da tendência. tendência será igual e usará a mesma função personalizada Para a tendência, passaremos séries fechadas. Mas para os outros parâmetros, passaremos os parâmetros correspondentes relacionados à tendência. Média móvel. Será o tipo de tendência e o período da tendência. Período. Em seguida, vamos calcular as determinadas variáveis que vamos usar em nossa lógica de tendências Em primeiro lugar, precisamos saber quando tendência está em alta, qual tendência é fazer. Vamos inicializar essas variáveis. A tendência de alta será verdadeira. Sempre que a tendência for maior do que a série de tendências da barra anterior. A tendência está baixa. Sempre que o valor da tendência da barra atual for menor que a tendência da barra anterior. Agora podemos traçar porque calculamos todas as séries de que precisamos. Agora podemos traçar todos eles em nosso gráfico. Para fazer isso, usamos a função plot e a função plot. Vamos enredo de uma série, e o título será encerrado e a cor será, digamos, azul linha azul colorida com, digamos, 22, e digamos que o estilo do estilo, será uma linha. Porque está se movendo. É como uma média móvel. gráfico e vamos usar a linha de estilo de linha. Traçamos a linha fechada, série fechada no chat Agora vamos traçar as aberturas. Abre. Para aberturas que tenham cores diferentes, vamos usar a cor marrom Todo o resto, todos os outros parâmetros da função de plotagem são os mesmos para séries. A seguir, vamos à grande era da mudança. Tendência. Vamos dar a ele o título correspondente. Tendência e a cor dessa média móvel. Vamos configurá-lo dependendo de onde a tendência é de alta ou baixa. Para fazer isso, vamos fazer isso, vamos usar os parâmetros que já definimos, vamos usar as variáveis que já atribuímos a tendência de aumento. Quando a tendência estiver alta, vamos usar cores, vamos usar a cor verde. Caso contrário, cor vermelha. Teremos cores diferentes dependendo de quando elas aumentam ou diminuem, para identificar visualmente a tendência do mercado atual. Na próxima seção, desenvolveremos a lógica de negociação dessa estratégia. A lógica de negociação usará as seguintes variáveis. Antes de tudo, precisamos avaliar as condições para os casos de saída longa e saída curta. Vamos definir essas variáveis. A primeira variável é uma condição longa. Condição longa nesta estrela, sempre que cruza ou ultrapassa a Vamos usar a função cruzada TA , e primeiro o usuário de recuperação principal fecha, segundo o usuário de recuperação primária abre, essa função retornará sempre que um usuário próximo cruzar acima, abrir essa função retornará sempre que um usuário próximo cruzar acima retornará sempre que um usuário próximo Além disso, precisamos avaliar a tendência. Para a condição longa, precisamos ter certeza de que, sempre que a tendência subir e ultrapassar a abertura, somente neste caso, condição longa, queremos ser a lógica oposta à condição curta Condição curta, exceto que será cruzada abaixo quando o fechamento cruza abaixo da série aberta e a tendência é baixa Agora vamos calcular as condições de saída. Vamos precisar da condição de saída longa e da condição de saída longa quando fechar ser cruza ser cruza abaixo do cerus aberto E a variável exit short exit short será definida como verdadeira sempre que fechar cruza acima, abrir Dessa forma, definimos as condições técnicas da lógica de negociação em nossa estratégia. Agora sabemos quando a estratégia abrirá uma posição longa ou curta, ou sairá de posições longas ou sh. Agora, vamos definir as quatro variáveis que vamos sinalizar para nossas entradas ou funções de posição de fechamento. Eles usarão as condições aráveis que já acabamos de distribuir. É longo e vamos inicializá-lo em arquivos. O próximo é curto e os outros dois são a saída longa e a saída curta Vamos usar essas variáveis na lógica de negociação abaixo. seguir, vamos definir esses parâmetros dependendo das condições técnicas e da posição atual do str. Para fazer isso, vamos usar a função switch. Função de troca na função de troca, dependendo da posição atual da estratégia e dependendo da condição técnica da estratégia, vamos definir todas essas variáveis. Enquanto curta, é saída longa e saída curta. Primeiro, vamos definir variáveis longas, variáveis , e ela será definida sempre que a posição atual não for longa. Essa será a primeira condição. Estratégia e precisamos avaliar a posição estratégica. Tamanho da posição menor ou igual, zero, o que significa que a posição atual não é longa. Esteja nos tamanhos da posição, zero, significando que não há posição, posição é plana, o tamanho da posição On é negativo, significando que a posição é curta. Portanto, quando a estratégia faz tamanho da posição é igual a zero, o que significa que a posição da estratégia não é longa. Somente quando não é longa, podemos definir a variável longa verdadeira, indicando à nossa estratégia que vamos estabelecer uma posição longa. Quando a posição não é longa, condição longa. Nesse caso, a variável is long será definida como verdadeira. Vamos reatribuir o valor para is long. Variável, portanto, precisamos usar coluna e seno igual, ou seja, este é um operador de reatribuição lógica semelhante, mas oposta, relacionada a sempre que precisamos definir é uma variável curta. Será sempre que a posição não for curta, significa que o tamanho da posição for maior ou igual a zero e, no valor da condição curta , essa variável for verdadeira e, em seguida, a variável curta será definida como verdadeira. Em seguida, vamos calcular aquela em que a saída será definida como verdadeira. Se eu sair por muito tempo, será definido como verdadeiro? Obviamente, sempre que temos uma posição longa, o que significa que sempre que o tamanho da posição for maior que zero e a condição de saída longa for verdadeira? Nesse caso, podemos definir sua variável de saída longa como verdadeira. Variável final, vamos definir para a variável is exit. variável curta de saída será definida como sempre que tivermos uma posição obviamente curta. Posição curta. Posição curta, ou seja, posição curta, teremos sempre que o tamanho da posição for menor que zero e a condição de saída for curta. É verdade. Agora, criamos uma lógica para definir todas as variáveis relacionadas ao sinal de negociação real em nossa estratégia de negociação, que usaremos em nossa lógica de negociação abaixo com as entradas reais e nossa história de negociação. Em seguida, vamos criar a lógica para sair das posições. Para sair da posição, precisamos primeiro se a posição da estratégia for a estratégia tamanho da posição é maior que zero, ou seja, se a posição for longa no momento. A posição W é atualmente longa e temos conjunto de variáveis es exit long. Ou poderíamos ter outro sinal, poderíamos ter um conjunto curto de variáveis. É um conjunto curto de variáveis e traços curtos não são permitidos. As características curtas são: negociações curtas não são permitidas sempre que tivermos um tipo de negociação longa Portanto, essa lógica é seguinte sempre que temos uma posição longa. E se temos é uma saída longa. Tudo o que temos é um sinal curto. Mas sempre que temos um sinal curto e curtos não são permitidos Basicamente, quando shorts não são permitidos e temos sinal curto, também sairemos da posição longa Agora vamos continuar. Cobrimos as saídas longas. Agora precisamos cobrir as saídas curtas. Eles terão uma lógica semelhante, mas oposta. O tamanho da posição da estratégia é menor que zero, é curta e temos conjunto de variáveis de saída sh. É o conjunto de variáveis curtas de saída ou sempre que temos é longo. Mas registros não são permitidos. Pulmões não são permitidos sempre que temos quando temos o tipo curto. Todas essas são saídas dos casos que temos uma posição longa ou uma posição curta Nesse caso, fecharemos todas as posições que temos. Vamos ligar para a estratégia e simplesmente fechar tudo. Em seguida, vamos configurar nossas entradas. Vamos configurar primeiro a entrada longa. Portanto, se tivermos uma variável longa , a variável longa é definida como verdadeira e também precisamos considerar o tipo de negociação atual. Porque, por exemplo, se posições longas não são permitidas , não podemos estabelecer posições longas. Vai depender do tipo de negociação comercial que temos. Sempre que temos uma variável longa definida como verdadeira e o tipo de negociação, tipo de negociação, não curta, o que significa que longos são permitidos Nesse caso, podemos entrar na posição longa. Estratégia Str que insira a função e o sinal, o D dessa posição será longo e a direção Vai demorar. Dessa forma, definimos a entrada longa. Agora vamos definir a entrada curta. entrada curta sempre que uma variável curta é verdadeira e características curtas são permitidas. Traços curtos são permitidos quando o tipo de negociação não é longo. Nesse caso, podemos estabelecer uma posição curta. Concluímos o desenvolvimento do crossover aberto e fechado. Estratégia de negociação do zero. Agora vamos salvá-lo. Então, abra a estratégia de cruzamento fechado de MA. Vamos salvá-lo, então vamos adicioná-lo. Vamos adicioná-lo ao gráfico. Como você pode ver com os parâmetros padrão no gráfico do Bitcoin, temos um lucro de 40,869%, e agora revise os parâmetros dessa str e vamos verificar como ela Essa estratégia tem esses parâmetros de estratégia tem basicamente três seções. primeira seção é o tipo de negociação, sempre que podemos selecionar o tipo de características que são permitidas em nossa estratégia. valor padrão para esse parâmetro é empréstimo, mas podemos alterá-lo se necessário. X próximos dois parâmetros relacionados às séries de fechamentos e aberturas do mercado selecionado Para aquelas séries, criamos médias móveis, médias móveis, com base no tipo de MA e com base nos parâmetros do período MA Mas podemos mudar o tipo de MA para outro tipo de média móvel, por exemplo, SMA E podemos alterar o período da média móvel que é usado para calcular a média móvel em seras fechadas e abertas Na próxima seção, temos parâmetros relacionados à tendência de longo prazo do mercado selecionado. Temos o tipo de média móvel de tendência. O valor atualmente selecionado é regressão linear, mas podemos alterá-lo se necessário O próximo parâmetro é o período de tendência da média móvel de tendência de longo prazo, e também podemos alterar esse parâmetro. Todos esses parâmetros, podemos ajustar ao mercado atualmente selecionado para otimizar o desempenho de nossa estratégia de negociação. Agora vamos dar uma olhada no desempenho do str, dependendo das médias móveis traçadas. A média móvel de longo prazo tem cor vermelha, sempre que a tendência é baixa e verde, sempre que a tendência está em alta, podemos estabelecer posições longas, sempre que a tendência está e sempre que a tendência é feita, podemos usar apenas tendências curtas. Outra condição é que, sempre que tivermos a média móvel fechada, cruze acima da média móvel aberta A média móvel próxima é azul. A média móvel aberta tem cor marrom. Neste local do gráfico, podemos ver que a linha azul cruza acima da linha marrom Sempre que ela se cruza e temos uma média móvel de tendência verde, o que significa que a tendência é alta e linha azul cruza acima da linha marrom , estabelecemos uma posição longa Fechamos a posição longa quando acontece um evento oposto. Sempre que a linha azul cruza abaixo da linha vermelha. Aqui está outro caso. A linha de tendência é verde, podemos estabelecer longos e a linha azul cruza acima da linha marrom, estabelecemos Mas aqui, como você pode ver , a linha azul cruza abaixo da linha marrom Portanto, saímos da posição longa, como você vê, fechamos a ordem da posição. O evento acontece aqui. Então, agora, resumindo esta lição. Construímos uma estratégia de negociação do zero com base em três indicadores de média móvel. Uma média móvel identifica tendências de longo prazo e duas outras se baseiam áreas abertas e fechadas do mercado. Eu expliquei a lógica de cada seção da estratégia e os parâmetros da estratégia. A estratégia oferece a capacidade de ajustar seus parâmetros de indicadores, definir diferentes tipos de médias móveis que permitem adaptar a estratégia a diferentes mercados Este é o fim desta lição, e nos vemos na próxima. 20. Aula 20: Visão geral do testador de estratégia de roteiro de pinho: Olá, bem-vindo a esta lição, visão geral do testador de estratégia Pin Script Esta lição consiste nas seguintes seções: Introdução ao testador de estratégia Pin Script, I, revisão das seções do testador de estratégia Esta seção consiste em outras quatro subseções, Visão geral, resumo do desempenho, lista de negociações Todas essas são seções do teste de estratégia ou toques. guia Visão geral consiste em duas outras subseções, gráfico de patrimônio líquido e estatísticas principais de desempenho Na última seção desta lição, vamos resumir o uso do testador de estratégia Então, vamos começar. O módulo testador de estratégia está acessível para todos os scripts declarados usando a função de estratégia Os usuários podem acessar convenientemente esse modo a partir do testador de estratégia, toque abaixo Aqui, eles podem visualizar suas estratégias e analisar resultados hipotéticos Então, primeiro você carrega a estratégia. Para o gráfico. Depois disso, você pode clicar no testador de estratégia para obter estatísticas ou métricas de estratégia carregadas Esse testador de estratégia tem quatro toques ou quatro seções. Visão geral da primeira seção, segundo desempenho, resumo, terceira lista de negócios e quarta propriedade Todas essas seções têm diferentes tipos de métricas, e vamos ter uma visão geral de todas essas métricas, uma por uma. Agora, vamos estudar um toque de revisão do testador de estratégia. O toque de avaliação no testador de estratégia oferece métricas de desempenho fundamentais, juntamente com as curvas de equidade e redução, abrangendo uma série simulada Isso nos permite avaliar rapidamente o desempenho da estratégia sem nos aprofundar nos detalhes O gráfico nesta seção ilustra a curva de equidade da estratégia e a curva de equidade de compra e retenção como gráficos de linhas, e a curva descendente como um gráfico de histograma Uma curva de equidade DC é ativada e a curva de equidade tem uma cor verde Também podemos ativar e segurar. Curva de equidade, que tem uma linha azul, e também podemos ativar o rebaixamento, que é Os usuários têm a flexibilidade de alternar esses gráficos e escalá-los como valores absolutos ou porcentagens usando as opções fornecidas abaixo do Podemos alternar entre valores absolutos e percentuais. Quando você alterna o rótulo no eixo vertical, mude de absoluto para porcentagem Então, vamos analisar as principais estatísticas de desempenho do backtest da estratégia principais estatísticas de desempenho do backtest exibidas na parte superior da torneira. Todas essas são as principais estatísticas de desempenho. Vamos analisar cada um deles e explicarei o que essas estatísticas específicas de desempenho significam. Primeiro, temos um lucro líquido. É o lucro ou prejuízo líquido geral alcançado pela estratégia. Quanto maior esse valor, melhores serão as reformas estratégicas. O lucro líquido, como vemos, temos na moeda atual, dólares e também em porcentagem. Em seguida, a métrica é o total de negociações fechadas. É uma série de negociações fechadas. Normalmente, o maior número de negociações torna as estatísticas de desempenho mais válidas A próxima métrica é porcentagem lucrativa. A porcentagem de negociações vencedoras ou a estratégia atual. Quanto maior esse valor, melhor. A próxima métrica é o fator de lucro. Essa é a estratégia, lucros brutos, dividida pelas perdas brutas da estratégia. Quanto maior o valor, melhor. Eu recomendo o valor de pelo menos mais de dois para considerar a estratégia é aceitável para negociação. A próxima métrica é o rebaixamento máximo. Essa é a maior perda da estratégia em comparação com o maior lucro. Quanto menos essa métrica, melhor. A próxima métrica é a negociação média. Esse é o lucro líquido principal dividido pelo número de negociações fechadas A métrica final de tentativa principal é o número médio de barras nas negociações Esse é o número médio de barras decorridas durante as negociações para todas as negociações fechadas As estatísticas principais de desempenho dessa estratégia são muito valiosas durante o teste, o teste e a otimização, pois permitem uma rápida olhada nas métricas, avaliar o desempenho da Vamos revisar a próxima seção do teste de estratégia, que é o resumo do desempenho. O resumo do desempenho, toque no módulo oferece uma visão geral abrangente de uma matriz de desempenho estratégico. Ele mostra três colunas. Uma para todas as negociações, a segunda, para negociações longas e a terceira para negociações curtas, Essa configuração fornece aos negociadores uma visão mais detalhada sobre o desempenho de negociação simulado da estratégia, abrangendo tanto a negociação longa quanto a geral Algumas das métricas de desempenho importantes nessa lista são o lucro líquido. Em segundo lugar, compre e mantenha o retorno porque você sempre estará interessado em comparar seu lucro líquido com o retorno de compra e retenção. É maior ou menor? Normalmente, sempre que é menor, a estratégia pode ser menos atraente, menos provável que seja aceitável. Quando o lucro líquido da estratégia Bacest é maior ou mesmo essencialmente maior do que comprar e manter Então, a estratégia basicamente faz sentido negociar essa estratégia porque você obtém mais lucro do que se tivesse acabado comprar e manter esse mercado selecionado. Outro parâmetro importante é a proporção nítida. A proporção nítida é um valor. É um risco de retorno por unidade. Basicamente, é comparar o retorno da estratégia com o risco assumido. nítida a taxa, Quanto mais nítida a taxa, mais suave é a curva de patrimônio líquido. Ter uma curva de patrimônio líquido suave é um objetivo importante para muitos O próximo é a média. Ganhando e perdendo negociações. Média de negociações vencedoras e média de negociações perdedoras, tanto em dólares quanto em porcentagem. Além disso, temos as maiores métricas de negociação vencedora e as maiores de negociações perdedoras aqui. Todas essas e outras métricas do desempenho da estratégia nesta etapa podem fornecer características de desempenho valiosas e detalhadas da estratégia que podem ser utilizadas na avaliação da Agora, vamos revisar a próxima guia, chamada lista de características do testador de estratégia O toque na lista de características oferece um exame detalhado das negociações simuladas pela estratégia, apresentando detalhes cruciais, como data e hora da execução O tipo de pedido De uma negociação, entrada ou saída, a quantidade de contratos pode ser uma quantidade, pode ser o número de ações, lotes ou unidades negociadas e o preço usado em uma negociação Outras métricas importantes de desempenho comercial, como lucro cumulativo gerado e redução comercial Nesta lista de negociações, podemos navegar até o horário de uma negociação específica em seus gráficos clicando sobre elas na lista Como fazemos isso. Por exemplo, estamos interessados em encontrar no gráfico essa negociação específica, essa saída específica. Nós apenas clicamos nesse símbolo de círculo. E aqui navegamos até essa saída específica. Agora, por exemplo, vamos clicar em outra negociação. Digamos que queremos verificar essa entrada longa. Clicamos neste botão circular e rolamos até a barra. É um ponto no gráfico, ponto correspondente no gráfico é selecionado. Além disso, clicando no número comercial aqui. Campo acima da lista. Podemos organizar as negociações em ordem crescente, começando pela primeira, descendo ou começando Podemos recorrer, pelo número da negociação, todas essas negociações nesta lista de negociações Finalmente, vamos revisar a última seção do testador de estratégia, que é o teste de propriedades A etapa da propriedade fornece detalhes detalhados sobre a configuração de uma estratégia e o conjunto de dados em que ela opera Ele contém o intervalo de datas das estratégias, nesta seção. Em segundo lugar, as informações do símbolo. D, a entrada str. E, finalmente, as propriedades da estratégia. Vamos analisar detalhadamente cada um desses grupos de propriedades. Primeiro, intervalo de datas. intervalo de datas inclui o intervalo de datas com negociações simuladas e o intervalo total de testes de barras disponível Faixa de negociação e faixa de teste de barras. Segundo, grupo de métricas, grupo de parâmetros. Informações do símbolo. Contém propriedades do símbolo, como o nome do símbolo, os gráficos, período e o tipo, o tamanho do tique e o valor do ponto para o gráfico e a carenc base O próximo grupo de parâmetros são as entradas de estratégia. Ele descreve os parâmetros usados no script de estratégia disponível no toque de entrada da configuração do script Podemos acessar na configuração da estratégia e podemos ver que todos esses parâmetros estão disponíveis para visualização aqui na entrada str dos parâmetros no toque de propriedades E o último grupo de parâmetros são as propriedades da estratégia. Ele fornece uma visão geral da configuração da estratégia de negociação. Inclui detalhes essenciais, como capital inicial, moeda base ou tamanho da margem, pirâmide, comissão e deslizamento Além disso, esta seção destaca a modificação feita comportamento do cálculo da estratégia. No geral, essa lista de propriedades contém todas as configurações importantes relacionadas à estratégia e ao backtest que podem ser visualizadas e verificadas durante o teste str. Resumindo esta lição. Analisamos esse testador de estratégia de visão de negociação analisando o conteúdo da seção de todos os testadores de estratégia Com base nessa métrica de estratégia variável, podemos avaliar a estratégia e analisar em profundidade seu desempenho. Isso nos ajudará a testar e otimizar a estratégia do script Pine. Este é o fim da aula, e nos vemos na próxima. A. 21. Aula 21 - como backtest e avançar estratégia de negociação de testes: Olá, bem-vindo a esta lição sobre como testar B e testar a estratégia de negociação futura . Esta lição consiste nas seguintes seções, Fundamentos do teste retroativo da estratégia de negociação, onde eu analiso o teste retroativo da estratégia de negociação em geral Na próxima seção, analisarei os testes do Pine script B com uma ferramenta de teste de estratégia Depois disso, estudaremos o teste avançado de scripts de Pin com a ferramenta de reprodução de mercado Finalmente, na última seção, revisarei a estratégia por meio de testes e testes avançados. Então, vamos começar. backtesting em geral é um método quantitativo usado pelos negociadores para avaliar o desempenho histórico de uma estratégia de negociação. Envolve a aplicação da lógica de indicadores ou estratégias aos dados históricos do mercado para simular o desempenho deles no passado backtesting ajuda os traders a avaliar a viabilidade, o desempenho e a eficácia de suas estratégias antes de implementá-las na vida. Mercados. Aqui estão as principais etapas envolvidas no teste retroativo da estratégia de negociação. O primeiro passo é selecionar uma estratégia de negociação. Escolhemos uma estratégia de negociação específica que queremos testar. A estratégia pode ser baseada em análise técnica, análise fundamental ou combinação de ambas. Selecionamos uma estratégia. Na próxima etapa, precisamos coletar os dados. Precisamos, juntos, preparar dados históricos do mercado para o período que queremos testar, incluindo movimentos de preços, volumes de negociação e qualquer outra informação relevante. A qualidade e a precisão dos dados históricos são cruciais para a confiabilidade dos resultados do backtesting. Na terceira etapa, configuramos parâmetros de estratégia ou parâmetros de indicadores. Definimos os parâmetros de uma estratégia ou indicador de negociação, incluindo critérios de entrada e saída, nível de stop loss, níveis de lucro de participação e quaisquer outras regras relevantes. Esses parâmetros devem ser baseados nas regras que seguiríamos na negociação ao vivo. Na quarta etapa, é um processo de simulação. Aplicamos a estratégia e os parâmetros escolhidos aos dados históricos, simulando a execução das negociações durante o período selecionado Cada negociação é executada com base nas regras da estratégia, considerando fatores como derrapagem e custos de transação E a quinta etapa é a análise de desempenho. Nesta etapa, avaliamos o desempenho da estratégia analisando as principais métricas, como lucratividade, retornos ajustados ao risco, redução máxima e outros indicadores de desempenho Essa análise ajuda os traders a entender o desempenho da estratégia no passado. Agora, vamos estudar a estratégia de negociação, testando os benefícios. O backtesting da estratégia de negociação tem os seguintes benefícios. Primeiro, avaliação histórica de desempenho. O que isso significa é que os negociadores podem avaliar o desempenho de suas estratégias em diferentes condições de mercado durante um período de tempo especificado. Segundo benefício. Otimização de parâmetros. backtesting permite que os negociadores ajustem os parâmetros de suas estratégias para obter um melhor desempenho. Esse processo às vezes é chamado de otimização. A terceira etapa é o refinamento da estratégia. É baseado nos resultados do backtesting. Os comerciantes podem refinar e melhorar sua estratégia para melhorar o desempenho geral Devo dizer, no entanto, é importante observar que o backtesting tem limitações. O desempenho passado não garante resultados futuros, e há desafios em simular com precisão as condições reais do mercado Os negociadores devem estar cientes do potencial de BSS e ter cuidado ao aplicar os resultados do teste retroativo às negociações ao vivo Além disso, a otimização excessiva, ou o chamado ajuste de curva, é um risco, e as estratégias devem ser robustas o suficiente Eles devem ter uma almofada para se adaptar às mudanças nas condições do mercado Agora vamos voltar para a plataforma Trading View. teste retroativo na plataforma de visualização de negociação é o processo de execução do código de script Pine, como a estratégia Piscrit, biblioteca de indicadores em dados históricos Agora, vamos revisar e praticar o processo de backtesting na plataforma Trading View com o str tester. Aqui temos supergráficos abertos em um determinado mercado. Agora, vamos ao editor P clicando no botão Editor de pinos. Abrimos aqui uma certa estratégia. Agora, para testar novamente a estratégia, precisamos adicionar essa estratégia ao gráfico. Clicamos em Adicionar no gráfico. Depois de adicionarmos a estratégia, neste caso, ao gráfico, a estratégia foi executada em cada barra do gráfico carregado e foi testada novamente dessa forma. Atualmente, a estratégia é totalmente testada em todos os dados disponíveis nesse mercado, e podemos ver no testador de estratégia os resultados do teste retroativo dessa estratégia Agora, o que podemos fazer é avaliar e avaliar essa estratégia analisando as métricas de desempenho da estratégia, como lucro líquido, características totais próximas, porcentagem do fator de lucro lucrativo máximo retirado e todas as outras métricas estratégicas que temos. Também temos métricas adicionais disponíveis no resumo de desempenho tp do testador de estratégia, onde temos mais parâmetros para avaliar a estratégia testada novamente Então, testando nossa estratégia, podemos avaliar a estratégia. Podemos verificar como essa estratégia é viável e como é aceitável negociarmos Como próxima etapa, podemos começar a alterar certos parâmetros dessa estratégia. Podemos alterar, por exemplo, a média móvel, parâmetro dessa estratégia, e podemos alterar o tipo de média móvel. E quando mudamos os parâmetros da estratégia, o desempenho da estratégia muda, as métricas do desempenho da estratégia mudam e podemos avaliar a estratégia com parâmetros diferentes para ver como a estratégia teria funcionado em dados históricos com parâmetros diferentes. Ao fazer isso, podemos avaliar melhor a estratégia e tentar ver como a estratégia pode funcionar em diferentes parâmetros. Dessa forma, podemos analisar melhor a estratégia e avaliar a estratégia para o mercado selecionado. Agora, vamos revisar a estratégia de testes futuros agora. O que é o teste avançado? Acabamos de estudar a estratégia de backtesting. Agora vamos estudar a estratégia do teste avançado. O teste futuro também é conhecido como papel ou negociação em simulador, e é um método usado pelos negociadores para testar a estratégia de negociação em condições de mercado em tempo real sem arriscar dinheiro real Envolve a execução de negociações com base em dados históricos, como se estivessem acontecendo em tempo real Isso permite que os negociadores avaliem a eficácia de suas estratégias e avaliem quão bem elas teriam se saído no passado. Qual é a diferença entre testes retroativos e testes avançados? A diferença está, em primeiro lugar, na quantidade de dados de mercado fornecidos à estratégia de negociação e no quão detalhados são os dados. Em segundo lugar, a estratégia de negociação não é otimizada em dados testados futuramente. Acabou de ser testado com esses dados. Na estratégia de teste BAC, geralmente é dado um ou quatro pontos de dados para cada barra Feche o preço ou feche, abra valores altos e baixos da barra. Nesse caso, a estratégia não tem informações sobre o comportamento do preço dentro da barra, e isso afasta o processo de backtesting das condições reais do mercado No entanto, nos testes futuros, a estratégia é fornecida por dados intra-barra, como negociações com dados de preços e volumes E isso aproxima os testes antecipados das condições do mercado em tempo real. O processo de teste avançado normalmente envolve as seguintes etapas. Primeiro, a seleção da estratégia de negociação, onde escolhemos estratégias de negociação específicas que queremos testar. Em seguida, coleta de dados, reunimos e preparamos dados históricos de mercado relevantes para o período de tempo que queremos testar. Esses dados devem incluir movimentos de preços, volumes de negociação e quaisquer outros indicadores relevantes. Em terceiro lugar, negociação simulada, usamos os dados históricos para executar negociações de acordo com as regras da estratégia escolhida Negociar nesta simulação como se tivéssemos negociado com dinheiro real, incluindo a definição dos níveis de stop loss e take profit análise da quarta etapa, após a conclusão do período de teste avançado, analisamos os resultados para avaliar o desempenho da estratégia. O teste avançado oferece várias vantagens. Primeiro, ambiente livre de riscos. Como não há dinheiro real em jogo, os traders podem experimentar estratégias diferentes sem medo de perdas financeiras. Em segundo lugar, condições de mercado realistas. Eles são mais realistas em comparação com o backtesting. testes futuros permitem que os negociadores experimentem suas estratégias desempenho de suas estratégias em condições reais de mercado, considerando os custos de transação de derrapagem e outros fatores E terceira vantagem. Aprendizado e aprimoramento. Os traders podem aprender os resultados de seus testes futuros e fazer os ajustes necessários suas estratégias para melhorar o desempenho. Precisamos ter em mente que, embora os testes futuros possam fornecer informações valiosas, desempenho anterior não é indicativo de resultados futuros Portanto, mesmo após testes futuros bem-sucedidos, é crucial ter cuidado ao fazer a transição para a negociação ao vivo e usar práticas adequadas de gerenciamento de Na plataforma de visualização de negociação, temos o recurso de mercado Replay que nos permite encaminhar estratégias de teste Vamos analisar como isso funciona. Para acessar o recurso de replay market, clicamos no botão Replay na parte superior da tela do Superchart Depois de clicarmos nele, podemos clicar neste botão, Saltar dois. Depois disso, podemos selecionar a data de início em que queremos começar a reproduzir os dados do mercado Vamos, por exemplo, selecionar essa data. Clicamos depois disso, o gráfico é recarregado e o gráfico começará a reproduzir o mercado a partir da data que selecionamos Depois disso, podemos clicar em jogar e o replay do mercado começará a ser reproduzido e o replay do mercado começará a ser reproduzido . Podemos alterar a velocidade do replay selecionando esse botão e, em seguida, podemos torná-lo mais lento ou mais rápido, se necessário Durante esse processo, a estratégia de negociação é alimentada com a barra com dados intra-barra, como retas e volume Portanto, esse processo de teste é chamado de teste direto, e seu processo de teste está muito mais próximo negociação em tempo real porque os dados que são fornecidos à estratégia estão próximos ao ambiente de negociação em tempo real. Ele tem dados intra-barra e cada barra tem negociações ou ticks É chamado de teste futuro e porque não devemos otimizar nossa estratégia de negociação durante o teste futuro. Otimizamos se precisarmos otimizar e alterar os parâmetros da estratégia de negociação durante o backtest e, depois de fazermos o backtesting, ajustamos a estratégia aos novos dados de mercado da repetição do mercado durante o teste direto e, dessa forma, analisamos o desempenho de nossa estratégia com os novos dados desconhecidos de nossa estratégia Agora, vamos ver como podemos avaliar e testar novamente adequadamente e ver as métricas de desempenho durante o teste avançado. Digamos, por exemplo, que queiramos testar a lei atual , a partir do início de maio Para fazer isso, podemos ver que atualmente, em nosso teste de estratégia, o desempenho do teste b dessa estratégia está carregado. E, portanto, isso interfere nos testes avançados dos quais queremos obter as métricas Para que as métricas em nosso teste de estratégia sejam relacionadas apenas aos testes futuros, precisamos definir a data de início de nossa estratégia de negociação. Nossa estratégia de negociação tem data de início e parâmetros de data de término. Vamos analisar rapidamente como essa estratégia programou esses parâmetros Podemos usar essa tática para aplicá-la a qualquer outra estratégia de que precisamos Esses parâmetros de data de início e data de término nos ajudam a testar novamente e progredir nossas estratégias somente em um momento selecionado ou difícil. Podemos ver que temos parâmetros inteiros definidos para a data de início, como data de início, mês de início, ano de início e três parâmetros definidos para a data de término É o fim do dia, o fim do mês e o fim do ano. Depois disso, quando esses parâmetros são definidos na estratégia, calculamos usando a função de limite de tempo, o valor numérico da hora de início e término da hora, e vamos usar esse valor em nossa lógica de comparação de tempo em nossa função personalizada para identificar quando essa estratégia pode ser negociada ou não Agora vamos dar uma olhada na função personalizada chamada e time enabled. Esta função, se o tempo estiver ativado, retornará o valor B indicando se a hora atual na barra atual é a barra em que a estratégia pode ser negociada ou não. Nesta função, basta comparar a hora atual da barra com a hora de início e hora. Se o tempo atual da barra estiver dentro do intervalo permitido entre a data de início e a data de término da estratégia, nossa estratégia poderá ser negociada. Agora vamos ver como função de tempo ativado é usada em nossa lógica de negociação. Aqui nesta função de troca, definimos nossa variável de alta do sinal de negociação como alta e variável, é longa, é curta, é saída longa e é saída curta, e podemos ver que adicionamos condições adicionais a essa lógica de negociação sempre que definimos qualquer um desses sinais de negociação. Para que qualquer um desses sinais de negociação seja definido, a função de tempo habilitado deve retornar o valor real , ou seja, estratégia, poderemos definir qualquer um desses sinais e poderemos negociar apenas na faixa permitida para negociação. Analisamos como podemos definir os parâmetros de data de início e data de término em nossa estratégia para restringir o período em que queremos negociar nossa estratégia. Agora vamos voltar ao testador de estratégia. Digamos que queremos testar nossa estratégia a partir de 1º de maio. Por isso, queremos ter em nosso testador de estratégia somente as métricas coletadas a partir de 1º de maio Para fazer isso, clicamos no botão de engrenagem dos parâmetros da estratégia e definimos aqui o ano e o mês de maio a partir de 1º de maio. Agora podemos ver que a estratégia começou a ser negociada a partir de 1º de maio. Podemos verificar isso acessando a lista de negociações e podemos ver que a estratégia começa a ser negociada depois de 1º de maio De 20 a 22 de junho, houve uma primeira negociação Agora vamos aqui. Agora, vamos começar a reproduzir os dados do mercado Na ferramenta de repetição de mercado, pulamos para a mesma data definida em nossa estratégia, que é 1º de maio, que é 1º de maio, porque queremos começar a coletar métricas de desempenho a partir de 1º de maio Agora, como você pode ver, atualmente não temos nenhuma característica em nosso teste de estratégia. Agora, quando começarmos a repetir o mercado, veremos o desempenho do at no testador de estratégia, que refletirá no desempenho coletado somente durante o teste avançado Concluí o teste avançado de 1º de maio até o final do gráfico e agora podemos analisar as métricas de desempenho coletadas somente durante o teste avançado. Usando esse método, quando você define o período de negociação str que começa a partir de uma determinada data e define na ferramenta de repetição de mercado a início da negociação a partir da mesma data, você pode coletar métricas de desempenho no testador de estratégia somente durante o período de teste futuro Agora, resumindo esta lição, estudamos como testar a estratégia de negociação do Pine Script, com a ferramenta de teste de estratégia Além disso, estudamos como testar a estratégia de negociação do script Pine, com a ferramenta de repetição de mercado Além disso, tomamos conhecimento de certas limitações dos testes anteriores e posteriores. teste retroativo e o teste avançado são etapas cruciais no desenvolvimento e avaliação de uma estratégia de negociação. Eles desempenham funções complementares na avaliação da viabilidade, robustez e eficácia no mundo real de uma abordagem de negociação de Este é o fim da aula, e nos vemos na próxima 22. Aula 22: como otimizar a estratégia de negociação: Colon, bem-vindo a esta lição sobre como otimizar a estratégia de negociação Esta lição consiste nas seções a seguir. Na primeira seção, analisaremos a otimização da estratégia de negociação. Na próxima seção, estudaremos como otimizar a estratégia de negociação com testes de estratégia. Na próxima seção, mostrarei o quão importante é evitar uma reformulação na otimização da estratégia Na última seção, discutiremos o resumo da otimização da estratégia. Então, vamos começar. otimização da estratégia de negociação é o processo de ajustar e ajustar os parâmetros de uma estratégia de negociação para maximizar seu desempenho com base em dados históricos O objetivo é identificar o conjunto de parâmetros mais eficaz que teria produzido os melhores resultados no passado Embora a otimização possa melhorar desempenho histórico de uma estratégia. É importante encontrar um equilíbrio e evitar ajustes excessivos. sobreajuste da otimização está criando uma estratégia que é muito adaptada aos dados históricos e pode não ter um bom desempenho no futuro, em condições de mercado invisíveis As principais etapas na otimização da estratégia de negociação incluem. Primeiro, defina os parâmetros, identifique os parâmetros da sua estratégia de negociação que podem ser ajustados. Esses parâmetros podem incluir critérios de entrada e saída, níveis de stop loss e take profit, períodos de média móvel, tipos de média móvel ou quaisquer outras variáveis que influenciem as decisões de negociação. O próximo passo é definir intervalos. Estabeleça um intervalo de valores para cada parâmetro que você deseja testar. Por exemplo, se você estiver otimizando uma estratégia de média móvel, poderá testar diferentes períodos de média móvel dentro de um intervalo especificado Em terceiro lugar, realize testes de retorno, realize testes de retorno para cada combinação de valores de parâmetros dentro dos intervalos definidos. Isso envolve a aplicação da estratégia a dados históricos para simular características e avaliar o artista A próxima etapa é avaliar o desempenho. Analise os resultados do backtesting para determinar qual conjunto de parâmetros produziu o melhor desempenho. métricas de desempenho podem incluir lucratividade, retornos ajustados ao risco, reduções e outros parâmetros relevantes e desempenho da estratégia e Próxima etapa, evite o ajuste excessivo. Tenha cuidado com o ajuste excessivo, que ocorre quando uma estratégia é excessivamente adaptada aos dados históricos e pode não ter bom desempenho É essencial encontrar um equilíbrio entre otimização de dados históricos e a manutenção da robustez de uma estratégia Para evitar o ajuste excessivo, mantenha o número de parâmetros otimizados baixo Eu recomendo até 34 parâmetros. Quanto maior o número de parâmetros da estratégia, você otimiza o maior risco de curva ajustar a estratégia aos dados históricos Isso pode levar a um desempenho insatisfatório da estratégia em novos mercados, todos os dados do mercado real. A próxima etapa é sair do teste de amostra. Etapa muito importante. Depois de identificar um conjunto de parâmetros potencialmente otimizado, realize testes fora da amostra usando diferentes períodos de tempo ou conjuntos de dados não usados na otimização inicial. Isso ajuda a avaliar a capacidade da estratégia de generalizar para novas condições de mercado. O que significa que, digamos que você tenha dez anos de dados de mercado disponíveis. Você otimiza a estratégia nos primeiros nove anos desses dados e, depois disso, testa esses valores de parâmetros otimizados no último ano dos dados de mercado que você tem, no décimo ano dos dados de mercado Dessa forma, você verificará se a estratégia ainda tem um bom desempenho nos dados fora da amostra. Em seguida, a próxima etapa é a validação. Valide a estratégia de otimização com etapas adicionais de teste e validação para garantir sua robustez É importante que os negociadores tenham cuidado ao otimizar as estratégias de negociação otimização excessiva pode levar a uma estratégia muito específica aos dados históricos e pode não ter um bom desempenho nos mercados de vida. As estratégias devem ser robustas o suficiente para lidar com as variações nas condições do mercado, e os negociadores devem evitar que a curva se ajuste muito aos dados anteriores, sem considerar a dinâmica futura do mercado Agora, vamos praticar a otimização estratégia de negociação do script Pine com o testador de estratégia Aqui, temos uma estratégia MA de cruzamento fechado e aberta carregada no gráfico Podemos ver esse backtest após o backtest, podemos ver as métricas de desempenho dessa estratégia. A estratégia atualmente com os parâmetros padrão gera cerca de 40% de lucro líquido, tem um fator de lucro de 2,9 e tem uma redução de 5% Digamos que queremos otimizar esses parâmetros para melhorar as métricas de desempenho da estratégia. Atualmente, temos 40.000% de lucro líquido. No entanto, se compararmos esse desempenho, esse lucro líquido de compra e retenção, podemos ver que comprar e manter, que é uma linha azul, gera essencialmente um número maior de lucros. Portanto, tentaremos otimizar os parâmetros da estratégia, o desempenho da estratégia e, principalmente, o lucro líquido se aproxime da compra e retenção ou até mesmo maior. Caso contrário, se o desempenho específico do lucro líquido for essencialmente menor do que o desempenho de compra e retenção de ações para esse mercado. Se estiver muito baixo, compre e guarde, então não faz sentido nem mesmo negociar. É melhor comprarmos e mantermos esse mercado. Vamos ver se podemos otimizar os parâmetros da estratégia. Para fazer isso, clicamos no botão de parâmetros da estratégia. Agora podemos ver que a estratégia tem muitos parâmetros. Especificamente, para que nosso interesse seja otimizar, temos o tipo de negociação e o tipo MA, o tipo de negociação e o tipo MA, temos um período, o período tendência do tipo Trenda Vamos manter o tipo de negociação por muito tempo porque o Bitcoin, o mercado atualmente selecionado, geralmente está em alta, portanto, manteremos o tipo de negociação por muito tempo. Não vamos otimizar isso. Tipo MA. Podemos alterar esse período de MA, tipo de tendência de MMA e o período de tendência Temos esses quatro parâmetros que vamos tentar otimizar, vamos mudar e vamos ver se a estratégia funciona melhor. Em primeiro lugar, vamos manter o tipo de MA como EMA e vamos alterar o período de MA. Atualmente, temos lucro líquido de 40.000. Alterando os parâmetros, vamos tentar obter o lucro líquido alto possível. O fator de lucro é o mais alto possível para MC reduza, e isso é praticamente tudo. Vamos nos concentrar nesse parâmetro. Vamos tentar encontrar esses parâmetros que tenham todos os parâmetros selecionados que acabei de mencionar para o valor ideal. Lucro líquido o mais alto possível, fator de lucro o mais alto possível e redução de Mx o menor possível Vamos tentar alterar esses parâmetros. Vemos que tentamos mudar o período de MA. Agora, temos 72.000 lucros líquidos 78. Vamos continuar mudando 25, é ainda menos do que tínhamos antes. Vamos fazer 100, 110, 120. O valor mais alto que enviamos foi de cerca de 70.000 61 78. Temos 78. Esse parece ser um valor ideal para o período A. Agora vamos tentar mudar o período da tendência. O tipo AA e o tipo TendA são essenciais. Eles têm um impacto muito alto no desempenho da estratégia. Portanto, e temos apenas algumas vals para mudar. Temos SMA e regressão linear. Para o tipo trendA, temos apenas as mesmas opções MA, SMA e regressão linear Portanto, vamos mantê-los por enquanto, vamos tentar mudar o período. Depois de encontrarmos o período ideal, também tentaremos alterar os tipos de MA. Vamos mudar o período. Então, está se tornando cada vez menor, vamos tentar nos mover em uma direção diferente para o período de tendência. Agora, na verdade, não obtivemos o melhor valor para o lucro líquido. O valor de 140, parece ótimo por enquanto. Agora, temos 78, vamos ver se podemos melhorar esse lucro líquido alterando o tipo de negociação. Vamos mudar o tipo de negociação para não o tipo de negociação. Vamos mudar o tipo MA para regressão linear, por exemplo Depois de mudarmos isso, vamos mudar o período de MA. Então 40 19. Vamos continuar mudando e ver se podemos obter mais de 70. Recebemos 496. Temos essencialmente mais lucro líquido agora. 400, temos um lucro de 3%. Está se tornando menos. Parece um período de 135 MA com um tipo de regressão de faixa, nos dá um lucro líquido ideal O Max dans é 37, o que é um pouco alto, mas considerando que o mercado de Bitcoin é muito volátil Na minha opinião, não é muito alto. Agora, vamos tentar mudar o período de tendência agora e ver se podemos melhorá-lo. Agora está reduzindo 546.000. Vamos mudar para uma direção diferente, 500 e 400%. Parece que 140 é o ideal. Agora, vamos tentar mudar a tendência de vez em quando. Quando começamos a alterar os parâmetros, temos em mente o maior valor de lucro líquido que temos, 793 do que Vamos mudar para, digamos. Agora, obtemos um lucro líquido ainda maior, 937. Então, vamos mudar o período de tendência agora. 937. Agora temos 972 sorteio máximo é 36, um pouco melhor, e o fator de lucro é cinco, muito bom. Fator de lucro, eu recomendo ter pelo menos dois ou mais. Temos 100 períodos. Agora vamos tentar melhorá-lo. Agora, ele não melhorou quando você o move para baixo. Parece que esses parâmetros, por enquanto, gerando 972%, são ótimos por enquanto Agora, vamos tentar melhorá-lo ainda mais. Vamos tentar mudar, por exemplo, o SMA. É melhor? Não, não é melhor. É pior. Não é melhor. Não está melhor agora. Então, o tipo MA não nos dá o melhor desempenho em comparação com o MA. Agora, vamos tentar mudar o tipo de MA para SM SMA. Não, o desempenho piorou, mas ainda vamos tentar mudar o período Está melhorando e indo em outra direção? Não, é muito menos do que comparar o que tínhamos antes. Isso significa que encontramos os parâmetros ideais. Para essa estratégia neste mercado selecionado, e esses parâmetros ótimos são aqueles de regressão linear como tipo MA, período 135 MA, MA para tendência tipo A e 100 e para período de tendência Agora, vamos ver e comparar esse desempenho com o desempenho compra e retenção de ações. Podemos ver que a linha verde é maior do que a linha azul. Isso significa que geramos com parâmetros otimizados para essa estratégia, o lucro líquido maior que o Buy e o Hall. Isso torna a estratégia atraente para o comércio. Eu demonstrei como otimizar a negociação e a estratégia alterando os parâmetros da estratégia, e a estratégia alterando os parâmetros da estratégia testando e analisando os resultados do backtesting. Resumindo esta lição. A otimização é uma ferramenta valiosa quando usada com sabedoria. Mas isso deve fazer parte de um processo mais amplo de desenvolvimento de estratégias. Isso inclui testes completos, validação e gerenciamento de riscos. Este é o fim desta lição, e nos vemos na próxima. 23. Aula 23: criando estratégia ADXVMA em script de pinho: Hall, bem-vindo a esta lição, criando a estratégia ADX VMA no Pine Esta lição consiste nas seções a seguir. Na seção de introdução, apresentarei a estratégia ADX VMA Em seguida, explicarei os sinais de negociação do indicador ADX VMA. Depois disso, vamos começar a criar a estratégia no script Pine. A estratégia consiste nas seguintes seções, parâmetros de entrada, seção, funções personalizadas, cálculos de indicadores e lógica de negociação da estratégia. No final, explicarei os parâmetros da estratégia e apresentaremos uma visão geral desses parâmetros. Vamos começar. A estratégia usa dois indicadores, ADX VMA e média móvel O principal indicador dessa estratégia é o ADX VMA. É um indicador de média móvel adaptável que responde às flutuações de preços Ele acompanhará o preço de perto durante as tendências dos mercados e se tornará menos sensível durante a ação lateral Na tela, você vê indicador ADX VMA aplicado ao gráfico Bitcoin Como acabei de dizer, esse indicador parece um indicador de média móvel, mas é uma média móvel muito específica porque reage à volatilidade do preço e muda seu comportamento Quando o mercado, como nesta seção, apresenta uma forte tendência, o indicador ADX VMA está acompanhando Mas quando os mercados estão estáveis, o indicador é simplesmente estável. Portanto, quanto mais forte o mercado, mais próximo, o indicador móvel ADX MA acompanhará os movimentos dos preços Esse indicador também é multicolorido para identificar facilmente os sinais de negociação desse Quando a cor da linha média móvel desse indicador é verde, significa que o indicador está nos dando um sinal de alta Quando está amarelo, o indicador está nos dando sinal de inundação ou nenhum sinal de tendência, e quando está vermelho, significa que o indicador está em baixa Está nos dando um sinal de baixa. Então, usando os sinais fornecidos por esse indicador, podemos tomar uma decisão em nossa estratégia de negociação. O indicador ADX VMA em si consiste em dois outros indicadores, como o próprio nome sugere, VMA, também conhecido como VDR, que significa indicador de média dinâmica de índice variável Essa é a média móvel adaptativa, que é mais sensível em um mercado com tendências e menos sensível em um mercado lateral O segundo indicador no indicador ADX VMA é o indicador índice direcional médio ADX, que mede a força valor do ADX varia de 0 a 100, geralmente é considerado quando o Adx é maior que 25, mercado está tendendo, quando o Adx é menor que 20, é O valor do ADX varia de 0 a 100, geralmente é considerado quando o Adx é maior que 25, o mercado está tendendo, quando o Adx é menor que 20, é um mercado lateral. Este indicador ADX A combina dois indicadores em sit ADX para identificar uma tendência e o indicador VMA. É um indicador de média móvel, ou seja, média móvel variável Quando o mercado está com uma forte tendência, o indicador VMA está se aproximando do preço; quando o mercado está estável, aqui, aqui, aqui, o indicador VMA que faz parte do indicador ADX VMA é estável e não está acompanhando quando o mercado está estável, aqui, aqui, aqui, o indicador VMA que faz parte do indicador ADX VMA é estável e não está estável e Normalmente, está se estabilizando ou acompanhando menos de perto os movimentos dos preços. Agora, vamos começar a desenvolver as estratégias seção por seção e explicarei o propósito e a lógica de cada seção. Antes de construirmos a estratégia, quero ressaltar que as estratégias que vamos criar consistem em dois indicadores, ADX VMA e indicador de média móvel Portanto, explicarei como a combinação desses dois indicadores nos dará um sinal de negociação que usaremos para negociar para iniciar qualquer negociação em nossa estratégia de negociação. indicador de média móvel nessa estratégia de negociação será usado para identificar a tendência principal, e podemos, se precisarmos seguir a força e somente na direção da tendência da média móvel, abriremos a posição correspondente. O que isso significa? Por exemplo, quando a média móvel está tendendo para cima, que significa que o valor da média móvel atual, essa linha azul é maior do que o valor da média móvel anterior Essa é uma das interpretações da média móvel, que indica que a média móvel está em alta, está tendendo para cima e oposta, quando a média móvel está tendendo para baixo, o que significa que a posição da média móvel atual é menor do que a posição da média móvel anterior Isso pode ser uma indicação de que a tendência está baixa e vamos abrir as posições na direção dessa força com base no sinal ADX VMA Vamos basear nossa decisão de negociação nos dois indicadores dessa estratégia de negociação Média móvel, que está em azul, e indicador ADX VMA, que é amarelo, verde e Vou te dar um exemplo. Vamos considerar essa área, por exemplo. Como você pode ver, temos a média móvel simples subindo e o indicador ADX está verde aqui Isso significa que o indicador de média móvel é otimista porque está tendendo para cima, e o indicador AD X está otimista porque está Portanto, nesta parte, podemos abrir uma posição de alta Agora, há outra interpretação, a propósito, da média móvel. A média móvel pode estar aumentando. Essa é uma das interpretações da média móvel. Outra interpretação da média móvel pode ser otimista quando o preço está acima da média móvel Por exemplo, essa barra próxima a essa barra é ele e está acima da linha azul acima da média móvel, o que significa que, com base em outra indicação de que o preço está acima da média móvel, também podemos abrir a posição. Temos duas interpretações da média móvel. Quando o preço está acima ou abaixo da média móvel. Outra interpretação da média móvel é quando a média móvel está tendendo para cima e para baixo. Vamos usar essa interpretação simultânea da tendência em nossa plataforma de negociação. Agora vamos começar a criar nossa estratégia de negociação ADX VMA. Vamos para o Pine Editor. Vamos clicar no botão Pine Editor. Em seguida, basta clicar em Abrir e clicar na nova estratégia. Estamos começando a desenvolver a nova estratégia de negociação. Em seguida, vamos inserir seção por seção no editor de script pine e vou explicar linha por linha o que cada seção faz e para que é usada em nossa estratégia de negociação. Vamos começar a inserir seção por seção. Em primeiro lugar, usamos uma função de estratégia para identificar que esse é o script Pine da estratégia e tem vários parâmetros de estratégia que definimos em nossa estratégia. Em primeiro lugar, um relé é verdadeiro, o que significa que todos os lotes serão sobrepostos no topo do gráfico principal Depois disso, temos um tipo de quantidade padrão, que é uma porcentagem do patrimônio líquido, e o valor da quantidade é 100, que significa que vamos usar em cada negociação todo o saldo da conta virtual de nossa estratégia, e também temos um tipo de comissão que é uma porcentagem, e também temos um valor de comissão, 0,1%, o que significa que vamos deduzir de cada negociar por comissão. O valor dessa comissão é de 0,1% do tamanho da negociação. Na próxima seção, temos todos os parâmetros necessários para a definição da estratégia. Primeiro de tudo, tipo de negociação. Nesta estratégia, pode negociar apenas posições longas quando o valor longo é definido, e pode negociar apenas posições curtas e pode negociar posições longas e curtas. Precisamos desse parâmetro se quisermos negociar apenas negociações longas ou curtas ou longas e curtas Em seguida, estamos configurando os três parâmetros relacionados à média móvel da tendência. média móvel de tendência permitiu que os parâmetros identificassem quando habilitamos a tendência quando consideramos a tendência em nossos sinais de negociação dessa estratégia de negociação ou não. A média móvel de tendência pode ser ativada ou desativada. Então, tipo de média móvel de tendência, A tendência pode ser uma média móvel de diferentes tipos. Pode ser uma média móvel simples, dependendo da nossa seleção. Pode ser uma média móvel ponderada ou uma média móvel exponencial O padrão é a média móvel ponderada. Em seguida, o período médio móvel de tendência, que é determinado valor do período de nossa média móvel. O padrão é 150. Em seguida, insira a média móvel acima ou abaixo da tendência. Isso significa que quando esse parâmetro está ativado, significa que vamos entrar , vamos entrar na posição em nossa estratégia. Somente quando o preço está acima ou abaixo da média móvel da tendência. Esse parâmetro é opcional, pode ser ativado ou desativado. Os próximos três parâmetros estão relacionados à saída. Podemos ter diferentes tipos de saídas nessa estratégia. Ele pode sair quando a tendência for revertida. Isso significa que as tendências alta quando entramos na posição e, quando a tendência está se tornando de baixa, saímos Esses parâmetros também são opcionais, o que significa que podem ser ativados ou desativados do tipo Next quando o preço estiver ultrapassando a mínima ou a máxima do anterior Barra de preços. Essa posição, esse primata, também é opcional, podemos ativá-la ou desativá-la Além disso, o tipo de saída da estratégia pode ter valores diferentes. Pode estar plano, ou seja, quando o ADX VMA ficar plano ou amarelo, como mostrei anteriormente , podemos sair da posição atual Ou quando o ADX VMA é invertido, que significa que digamos que entramos na posição longa e, em seguida, o AD X VMA fica em baixa, fica vermelho Nesse caso, basicamente a lógica é aplicada quando temos o tipo de saída invertido. Os próximos três parâmetros relacionados ao indicador ADX VMA. Primeiro, especificamos o período para o ADX VMA e, em seguida, especificamos os parâmetros relacionados à volatilidade Período ADR de volatilidade e multiplicador de volatilidade. Isso é o que temos no parâmetro de entrada, Seção do nosso ADX VMA próxima seção está relacionada às funções que usamos em nossa estratégia ADX VMA Use aqui uma função, que é obter fonte MA. Essa função é responsável por nos retornar o tipo adequado de média móvel. Temos em nossa estratégia três tipos de média móvel que usamos MA, SMA e WMA, e vamos usar essa função para transmitir tipo de média móvel e os parâmetros de origem e período Em troca, obteremos a média móvel correspondente adequada e esperada MA, SMA, W MA Agora, vamos inserir a próxima seção de nossa estratégia de negociação, que é a seção relacionada ao cálculo do ADX VMA Esta é uma seção complexa em que calculamos o indicador ADX VMA Esta seção está usando indicadores ATR usando MAX está usando função MAX para calcular altos e baixos Delta dos movimentos de preços No final, eventualmente, ele calcula a própria média móvel do ADX VMA, que vamos traçar nesta linha em nosso gráfico E também calcula a tendência ADX MA que está nos fornecendo um sinal do indicador ADX mA seja o sinal de alta, plano ou Quando a tendência do ADX mA é zero, o que significa que o sinal está estável ou sem tendência Quando é um, é otimista, quando é menos um, é baixista Na próxima subseção, calculamos a média móvel da tendência Calculamos a própria série de média móvel de tendência, usando ainda uma função de origem. Depois disso, calculamos certas variáveis que vamos usar em nossa lógica de negociação de tendências, tendência de alta e tendência de queda. Variáveis e, em seguida, calculamos o preço acima média móvel da tendência ou o preço abaixo da média móvel da tendência. Depois disso, traçamos a média móvel da tendência. Sempre que a média móvel de tendência é ativada, traçamos Além disso, calculamos o breakout Barre breakout ou o bull breakout Precisamos dessa variável para calcular nossa lógica de saída quando determinados parâmetros de saída E a próxima e última seção dessa estratégia de negociação é a seção de lógica de negociação. Nesta seção, fazemos toda a lógica de negociação necessária e fazemos todos os cálculos necessários. Em primeiro lugar, o que fazemos é calcular a condição longa com base em indicadores técnicos e com base nos parâmetros dessa estratégia. Estamos considerando avaliar tendência do ADX A, sempre que for de alta, e também sempre que a tendência MA estiver ativada, e então avaliaremos onde a tendência está Essa lógica calcula quando a tendência está alta ou não, e esta seção só será considerada, apenas uma tendência está ativada A tendência está desativada, esta seção é simplesmente ignorada e sempre será verdadeira. E o mesmo se aplica a esta seção Quando a entrada na tendência acima abaixo for verdadeira, preço acima da tendência poderá ser considerado avaliado em toda a expressão. Digamos, por exemplo, que a tendência ativada seja falsa e a entrada acima e abaixo da tendência AA seja falsa, então todas as seções serão verdadeiras e a lógica de condição longa dependerá apenas da tendência do ADX Variável. Essa é uma condição longa, como calculamos a condição longa de nossa estratégia de negociação. Condição curta é oposta à condição longa, principalmente oposta. Por exemplo, uma condição curta será verdadeira quando uma fita x for igual a dois menos um e , dependendo se a tendência de baixa ou o preço abaixo da tendência MA forem verdadeiros, dependendo, esses parâmetros serão avaliados dependendo se a entrada e acima abaixo da tendência ma estão ativadas e se a tendência MA ativada está ativada se a tendência de baixa ou o preço abaixo da tendência MA forem verdadeiros, dependendo, esses parâmetros serão avaliados dependendo se a entrada e acima abaixo da tendência ma estão ativadas e se a tendência MA ativada está ativada. Uma condição de saída que depende dos parâmetros da estratégia de tendências. Por exemplo, se a saída em baixa, quebra máxima for verdadeira, avaliaremos se a fuga em baixa é Em seguida, dependendo se o tipo de saída está plano, avaliaremos se ADX tn é igual a zero M, significa que ADX Dependendo dos parâmetros, avaliaremos o sinal correspondente da tendência dos indicadores técnicos. Por exemplo, quando o tipo de saída está invertido , avaliaremos se a tendência Adx MA está baixa. Dependendo disso, definiremos a condição de saída longa como verdadeira, e o mesmo se aplica ao último parâmetro e variável usados nessa condição quando a saída na inversão da tendência for verdadeira Em seguida, avaliaremos com base nessa lógica se a tendência está baixa ou não, e a lógica oposta, principalmente a lógica oposta, é usada na condição de saída curta. Em seguida, calculamos as condições técnicas. Em nossa estratégia baseada nos indicadores que usamos. Em seguida, vamos definir os sinais. Saída longa curta ou saída curta que vamos usar para permitir a negociação de acordo com nossa estratégia de negociação. Essas serão variáveis otimistas e, por padrão, as definimos como arquivos Nessa opção, vamos definir qualquer uma dessas variáveis dependendo da condição específica. Primeiro, vai depender da configuração de, digamos, uma variável longa, vai depender da condição longa. E se a estratégia atual é basicamente se for menor ou igual a zero, o que significa que se a estratégia atual não for longa e a condição longa for verdadeira, então a longa será definida como verdadeira e o oposto para a curta. Se o tamanho da posição atual for grande ou igual a zero, significa que a estratégia atual não é curta no momento. E a condição curta é verdadeira, então a variável curta será definida como verdadeira. Para a condição de saída longa, quando a posição atual é longa e é longa quando a posição da estratégia atual é maior que zero, significa que a posição atual é verdadeira. Uma condição de saída longa é verdadeira. Em seguida, a variável exit long será definida e a lógica oposta é para exit short. Agora definimos nossas variáveis de sinal de negociação. Agora vamos executar negociações de acordo com esses parâmetros que acabamos de definir. Em primeiro lugar, vamos garantir que saiamos da posição atual se tivermos os parâmetros correspondentes definidos. Sempre que o tamanho da posição for maior que zero, ou seja, é longo e temos sinal de saída longo. Ou temos saída. Temos um sinal curto e os traços curtos não são permitidos. O tipo de negociação é igual à condição longa. Quando essa condição é verdadeira, significa que as posições curtas não são permitidas, ou seja, apenas posições longas, longas e curtas não são permitidas. Quando a posição é longa e a saída longa é verdadeira, ou temos um sinal curto e o sinal curto não é permitido. Em seguida, fechamos todas as posições. Ou se a posição atual for curta e a saída curta for verdadeira, ou se tivermos um sinal longo e o sinal longo não for permitido. É isso que essa condição faz. Sinais longos não são permitidos, quando o tipo de negociação atual é curto nesses dois casos, nesses dois casos principais, fechamos todas as posições. Na próxima seção, entramos na posição longa quando temos um sinal longo e, quando posições longas são permitidas, posições longas são permitidas, quando o tipo de negociação não é curto. E na próxima seção, entramos na posição curta. Sempre que temos, inserimos uma posição curta nesta linha de entrada de pontos estratégicos. Mas nós a inserimos somente quando variável curta é verdadeira e as abreviações são permitidas Os shorts são permitidos quando o tipo de negociação não é longo. Portanto, concluímos o desenvolvimento da estratégia de negociação ADX VMA Agora vamos salvar esse script. ' é um sufixo personalizado. Clique em Salvar. Agora vamos adicionar o script ao gráfico. Agora, como você pode ver, com os parâmetros padrão da estratégia, ela funciona muito bem para o Bitcoin no gráfico Bitcoin e gera 20.005.675% Agora, vamos analisar como esse str funciona no gráfico e revisar os parâmetros str. Vamos dar uma olhada. Quais parâmetros essa estratégia tem, um por um. Primeiro parâmetro em que a estratégia usa o tipo de negociação, podemos selecionar se você deseja negociar apenas posições longas, longas e curtas e apenas posições curtas. Certamente, quando mudamos o tipo de negociação, o número de negociações mudará Por exemplo, quando selecionamos longas e curtas, podemos ver que temos 41 negociações no momento, mas vamos mantê-las longas Temos 21 negociações apenas para mercados longos e F que, por exemplo, estão em alta , principalmente como Bitcoin Normalmente, o desempenho é melhor quando você seleciona apenas negociações longas O próximo parâmetro é a tendência ativada. Quando esse parâmetro é verificado, a lógica de negociação considerará a média móvel da tendência dessa estratégia. Podemos desativá-lo se você não precisar, se não precisarmos que a média móvel de tendência seja avaliada de acordo com essa lógica de negociação, ou podemos mantê-la ativada. No próximo tipo de média móvel, podemos alterar o tipo de média móvel para nosso indicador de média móvel de tendência. Atualmente, selecionado é MA ponderado, mas podemos alterá-lo para média móvel exponencial ou simples, se necessário próximo período de tendência é o período da média móvel da tendência em nossa estratégia. O próximo parâmetro é a entrada em uma tendência abaixo. Quando esse parâmetro estiver ativado, somente as características acima ou abaixo relacionadas à média móvel de tendência serão consideradas. Por exemplo, quando a característica é longa, somente quando o preço está acima ou abaixo da média móvel, média móvel de tendência será obtida. Portanto, na sequência, quando o preço estiver acima da tendência, a média móvel será calculada E quando a negociação é curta, somente quando o preço está abaixo da tendência MA. Só então isso nos permitirá entrar em negociações curtas. Saia na inversão da tendência. Isso significa que, quando esse parâmetro é ativado, a estratégia também será encerrada quando a média móvel da tendência for revertida de longa para curta e de outra forma O próximo parâmetro é sair na quebra da máxima anterior, o que significa que quando o preço romper a mínima e a máxima anteriores , a estratégia sairá O parâmetro do tipo de saída é responsável pela estratégia de tipo que sairá com base no indicador ADX MA Quando o indicador ADX VMA é revertido. Por exemplo, quando temos uma posição longa e quando o indicador se torna pessimista , a estratégia sairá Quando temos um tipo plano, significa que temos uma posição longa, mas quando o ADX VMA se torna plano ou amarelo, estratégia será encerrada próximos três parâmetros são responsáveis por definir os parâmetros do indicador de período ADX VMA Temos um período para esse indicador e temos um período de AR de volatilidade e um multijogador de volatilidade Esses três parâmetros são parâmetros usados pelo indicador ADX VMA em nossa estratégia de negociação Agora vamos analisar como isso realmente funciona no gráfico de negociação. Vamos, por exemplo, revisar esta seção. Como temos a tendência ativada, isso significa que, quando a tendência está subindo, essa linha verde, que é a tendência MA em nossa rede de negociação, e quando está subindo, é verde e, quando está verde, traços longos são Por ser verde, nossa estratégia permite realizar negociações longas Nesta seção, a estratégia é amarela, o ADX MA é amarelo, que significa plana, sem negociações Mas sempre que o ADX MA fica verde nessa barra, MA da tendência também é verde aqui Então, na próxima barra, estabelecemos uma posição longa. E mantemos uma posição longa até esta seção, sempre que o ADX VMA Quando ela se inverte, a cor do ADX VMA fica vermelha. Quando fica vermelho, ele inverte e, portanto, fechamos a posição Dessa forma, verificamos se nossa estrela de negociação ADX VMA funciona conforme o esperado. Resumindo esta lição, construímos uma estratégia de negociação com base em dois indicadores, ADX, VMA e média móvel Eu expliquei a lógica de cada seção da estratégia e os parâmetros da estratégia. A estratégia oferece a capacidade de ajustar os parâmetros do indicador, definir diferentes tipos de entradas e saídas, o que permite adaptar a estratégia a diferentes mercados. Este é o fim desta lição, e nos vemos na próxima. 24. Aula 24 - Como criar várias estratégias de pirâmide de MA em roteiro de pinho: Continue, bem-vindo a esta lição, criando uma estratégia de pirâmide de várias médias móveis no Pine Esta lição consiste nas seções a seguir. Introdução à estratégia de pirâmide de várias médias móveis Depois disso, explicarei como os sinais de negociação dos indicadores de médias móveis funcionam E depois disso, estudaremos como criar estratégia de pirâmide de várias médias móveis inserindo componentes dessa estratégia, como parâmetros de entrada, funções personalizadas, indicadores, cálculos e lógica de negociação estratégica No final, analisaremos os parâmetros da estratégia. Vamos começar. As estratégias que vamos construir são usando os cinco indicadores de média móvel. E para entender como os sinais de negociação são gerados por várias médias móveis, vamos dar uma olhada neste exemplo Nesta tela deste gráfico, temos duas médias móveis simples A linha azul é a média móvel de 99 períodos e a vermelha é a média móvel de 20 períodos. Então, como o comportamento da média móvel pode ser interpretado como um sinal de negociação Certos comportamentos podem ser interpretados como um sinal de negociação. Vamos analisar alguns deles. Por exemplo, quando o preço cruza de baixo para cima da média móvel Vamos considerar primeiro o azul. Quando ultrapassa essa média móvel, isso pode ser interpretado como um sinal longo Próxima característica. Quando a inclinação da média móvel muda de baixo para cima, esse comportamento pode ser interpretado como um sinal de negociação de alta, e os sinais de negociação opostos funcionam para o sinal de negociação de baixa Então, quando o preço cruza abaixo, a média móvel é a média móvel neste caso, então isso pode ser interpretado como um sinal de baixa Quando a inclinação da média móvel muda de cima para baixo, como nesta seção, esse comportamento pode ser interpretado como um sinal de barragem Agora, quando temos dois indicadores de média móvel no gráfico, seu comportamento também pode ser visto como fonte de certos sinais de negociação. Por exemplo, quando a linha azul em movimento rápido cruza acima da média móvel vermelha, a vermelha, como nesta barra, por exemplo Então, esse comportamento, esse evento, pode ser interpretado como um evento de alta, e ao contrário, quando o evento oposto acontece, quando a linha azul cruza abaixo da vermelha, quando a média móvel rápida cruza abaixo da média móvel lenta, esse evento, como nesta barra, pode ser considerado como um sinal de ursos Esses eventos que vamos usar em nossa estratégia que vamos construir, com base nos eventos desse evento, vamos basicamente construir a estratégia e vamos construir a lógica comercial da estratégia. Quando vai criar negociações longas, quando vai sair das posições Tudo isso será interpretado basicamente em torno do comportamento das médias móveis Vamos começar a criar a estratégia de negociação. Vamos ao editor do Pine, vamos criar a nova estratégia e começar a construí-la. Primeiro, vamos construir uma estratégia de negociação que consistirá em vários componentes. Primeiro, vamos inserir o componente relacionado aos parâmetros de entrada. Agora, a primeira linha na estratégia de negociação geralmente é uma função estratégica. Depois disso, especificamos a sobreposição do título Essa estratégia tem médias móveis Vamos traçar essas médias móveis no gráfico, portanto, a sobreposição é verdadeira Depois disso, esse str vai basicamente dizer que o tipo de quantidade dessa estratégia de negociação será dinheiro e a quantidade padrão que selecionei aqui é basicamente dizer que o tipo de quantidade dessa estratégia de negociação será $380 Porque vamos começar de uma determinada posição e, depois disso, vamos para a pirâmide Vamos aumentar a posição enquanto a estratégia de negociação continuar nos dando o sinal longo. Portanto, o valor da quantidade de falha é 380, eu apenas escolho esse número, e o capital inicial é o mesmo número e a pirâmide é Agora, primeiro, temos os seis parâmetros da estratégia relacionados ao período de negociação permitido para a estratégia. Tem duas datas, data de início e data de término. Cada data consiste em três parâmetros, três parâmetros inteiros, dia, mês e ano, e para a data final, temos o mesmo dia, mês e ano para a data final Precisamos desses parâmetros se quisermos negociar e testar estratégia por um determinado período de tempo Agora, depois disso, calculamos aqui a hora de início e a hora término usando os parâmetros que temos para a data de início e a data de término. Basicamente, calculamos com base em determinados valores, hora de início e hora de término, e vamos usar esses valores de estado de tempo em nossa lógica de negociação para permitir que a estratégia seja negociada por um determinado período de tempo Em seguida, calcule na barra final. Isso é necessário quando negociamos a vida estratégica. Quando você transforma esse parâmetro em verdadeiro, ele será negociado apenas na barra final. Não vai ser negociado com cada toque da barra. Novamente, isso está relacionado à negociação nas barras em tempo real quando você recebe ticks para cada negociação nessas barras em tempo real Se você quiser negociar no final da barra quando a barra fecha, você tem esse parâmetro definido como verdadeiro Em seguida, dois parâmetros relacionados à pirâmide. Piramidando, podemos desativar e negociar somente sem pirâmide no primeiro sinal longo, ele entrará na posição e, ao sair, sairá da Mas quando tivermos a pirâmide ativada, ela continuará aumentando a posição longa existente, sempre que a estratégia ainda nos der sinais longos E piramidando o valor do pedido, esse parâmetro está basicamente armazenando fornecendo o valor pelo qual estamos aumentando nossa posição, valor em dólares Agora, o próximo parâmetro é o tipo de negociação. Nossa estratégia pode negociar posições longas, posições curtas ou ambas, isso é configurável Em seguida, temos a configuração de nossas médias móveis. Primeiro de tudo, tipo de média móvel. Podemos alterar o tipo de nossas médias móveis na estratégia por padrão, é uma regressão linear, mas podemos alterá-la para EMA e Se precisarmos, a seguir, temos Pi cinco médias móveis Nessa estratégia, MI um e assim por diante até MI cinco. Agora, você pode ativar ou desativar essas médias móveis, se quiser que determinadas médias móveis participem ou não da lógica de negociação Se você quiser incluí-los na lógica de negociação, se quiser que os sinais de determinada média móvel sejam verificados ou não, desative ou ative essa média móvel. Por exemplo, no momento, temos MA um e MA dois habilitados. Outras três médias móveis estão desativadas. Além disso, para cada média móvel, configuramos o período de todas as médias móveis Para MA um, por exemplo, temos sete, para MA dois, temos 13. Próximo parâmetro, entrada em fechar acima da média móvel. Esse é o parâmetro opcional. Você o habilitou se quiser que a estratégia entre em uma posição longa somente quando o preço estiver acima ou abaixo. Se estiver acima da média móvel , será permitido entrar em uma posição longa. Se esse parâmetro estiver ativado. Em seguida, temos os parâmetros de saída. Saia em uma cruz MA one. Por exemplo, saia em MA um cruzamento, o que significa que quando um MA um cruza quando um MA cruza abaixo de MA dois , isso é considerado o sinal de saída Se esse parâmetro estiver habilitado, mesma lógica para sair em um MA two cross. Quando esse parâmetro está ativado e quando MA dois cruza abaixo de MA três , isso será interpretado como um sinal de saída No momento, temos apenas MA uma saída, ou seja, quando MA um cruza abaixo de MA dois, esse é o sinal de saída Além disso, temos dois sinais de saída reversos, MI um reverso, o que significa que quando M um MI um significa média móvel uma inclinação se inverte, então isso é considerado um sinal de saída Quando esse parâmetro está desativado, significa que, quando a inclinação de 1º de maio cai, esse é um sinal de saída Quando esse parâmetro está ativado, atualmente, esses dois estão desativados. Em seguida, o parâmetro é sair do MA one price cross. Este é um parâmetro quando esse parâmetro está ativado, quando MA um, quando MA um preço quando o preço fecha abaixo de MA um, isso é considerado um sinal de saída, quando esse parâmetro está ativado Em seguida, está o parâmetro relacionado aos gráficos no gráfico. Assim, podemos colorir as barras com determinadas cores sempre que a estratégia tiver uma determinada posição. Atualmente, esse parâmetro está desativado, e isso é praticamente tudo para os Agora, vamos inserir o segundo bloco da nossa estratégia. Vamos linha por linha e explicarei o que cada linha desse bloco faz. Essas são funções personalizadas que usamos em nossa estratégia. Por que usar funções personalizadas? Porque quando queremos reutilizar um determinado bloco do código repetidamente, faz sentido colocar esse bloco em uma função e simplesmente chamá-la sempre que precisarmos A primeira função é verdadeira na barra n. Essa função é usada sempre que queremos garantir que basicamente ela retorne verdadeira quando essa condição for verdadeira e quando tivermos o fim da barra conferido Isso é útil quando você deseja, em uma barra em tempo real, a estratégia a ser executada somente quando a barra em tempo real for concluída. Não em tudo, quando a barra em tempo real é concluída. Em seguida, sempre que Sers um cruzar acima da série dois, essa função retornará verdadeira, cruzada, e quando Sers um cruzar a série dois, cruzar para baixo, um Sers um cruzar para baixo É isso que essa função faz. Quando isso acontecer, essa função retornará verdadeira. Habilitada, essa função verifica a hora de início da mesma que já calculamos acima, e essa função retornará verdadeira sempre que a estratégia permitir assumir posições quando a negociação na estratégia for permitida. Quando a estratégia, quando o tempo estiver dentro do limite, permita um período de negociação da estratégia. Obtenha o surf. Essa função calcula para nós a média móvel Enquanto ultrapassamos a média móvel, passamos pelo tipo e período da média móvel, e ela retornará certas séries de determinada média móvel Temos três tipos de média móvel em nossa estratégia MA, SMA e regressão linear Usamos essas médias móveis nessa estratégia e usaremos essa função para calcular essas médias móveis Agora vamos inserir o próximo bloco em nossa estratégia. No próximo bloco, serão os cálculos dos indicadores. Temos parâmetros relacionados aos nossos indicadores de média móvel. Agora precisamos calcular esses indicadores usando esses parâmetros. Então, primeiro, calculamos todas as cinco médias móveis usando uma função de fonte get MA Passamos perto, passamos pelo tipo MA e passamos pela posição correspondente ao período correspondente da média móvel. Por exemplo, para calcular MA um, passamos MA um período e trap para calcular MA cinco médias móveis, passamos MA cinco períodos Neste bloco, calculamos nossas médias móveis. No próximo bloco, começaremos a calcular os sinais, que usaremos em nossa lógica de negociação MA one up significa que a média móvel está nos fornecendo negociação de alta, um sinal de negociação de alta Nessa estratégia, consideramos temos uma regra de que a média móvel, a primeira média móvel, está comportando como uma média móvel de Bush média móvel um é maior que a média móvel, a barra anterior da média móvel dois, não a barra atual, média móvel dois, mas a barra anterior média móvel dois, por quê? Porque eles querem que o sinal já esteja estabelecido em 1 bar e o sinal oposto para MA inativo. MA um está abaixo de dois da barra anterior. Lógica semelhante A dois para cima é considerada para cima quando MA dois é maior que MA três de uma barra anterior, e lógica oposta para MA dois para baixo. No entanto, mas para MA três para MA três, já usamos apenas a média móvel MA três, MA três considerada alta, que significa que MA três está nos dando um sinal de alta Quando o preço atual do MA três para esse MA três calculado é maior do que o M três anterior, do que a barra anterior do MA três. MA três é média móvel três e sinal oposto para MA três para baixo. M quatro é o mesmo que MA três, é considerado alto, então está dando um sinal de alta quando MA quatro da barra atual é maior do que M quatro da barra anterior Sinal oposto para M para baixo. Em seguida, a próxima variável está próxima de A. Também usamos essa variável em nossa lógica de negociação abaixo. Quando o próximo estiver acima da média móvel um , essa variável será verdadeira. Além disso, quando o preço está abaixo da média móvel, isso acontece quando o fechamento está abaixo de A. próximo par de variáveis é calculado da seguinte forma. Quando MA um está encalhado, está se endireitando quando o valor atual de MA um para a barra atual é maior do que, obviamente, MA da barra anterior E a lógica oposta para o MA é uma tendência para baixo, e a mesma, exatamente a mesma lógica. MA dois com tendência ascendente quando atual, MA dois para a barra atual é maior do que MA dois da barra anterior e MA dois com tendência para baixo tem lógica oposta Depois disso, traçamos todas as médias móveis que calculamos de MA um a A cinco É assim que os cálculos dessas médias móveis funcionam, e também calculamos os sinais que essas médias móveis nos fornecem, para que possamos usar os sinais, essas variáveis para construir nossa lógica de negociação Em seguida, vamos inserir a lógica de negociação da nossa estratégia de negociação. Em nossa lógica de negociação, em primeiro lugar, calculamos a posição, por que calculamos a posição porque queremos verificar se nossa estratégia nos dá a posição longa ou longa ou curta ou sai da posição longa ou sai da posição curta, ou apenas nos dá o sinal plano. A razão pela qual não calculamos os sinais imediatamente, mas calculamos a posição porque a posição pode se tornar, por exemplo, longa e permanecer longa por algum tempo. Mas, quanto ao sinal, queremos ver quando a posição fica disponível e, em seguida, executar a negociação. Mas quando a posição continua sendo longa, não vamos basicamente entrar em uma nova posição. Se não fazemos pirâmide, mas quando fazemos pirâmide, é uma história diferente Vou explicar isso um pouco mais tarde. Vamos ver como esse bloco funciona. Primeiro, basicamente inicializamos essas variáveis. Basicamente, não vamos mudar e usamos como constantes aqui posição de inundação é igual a zero, longa a um, curta menos um, etc., e inicializamos Então temos uma chave aqui, dependendo da lógica, essa chave retornará a posição longa, a posição curta, a saída da posição longa, a saída da posição curta ou a barra anterior. Agora vamos revisar por muito tempo. Então, toda essa lógica é passada na barra final. Isso significa que mesmo que você passe a expressão inteira se ela for verdadeira e somente na barra final, essa função retornará verdadeira porque queremos ter certeza de que, em uma barra em tempo real, essa expressão será verdadeira somente na barra final, 1 barra será confirmada. Agora, precisamos verificar se o tempo está habilitado e, depois disso, precisamos verificar se a posição anterior não é longa, porque queremos ver se essa posição longa não era muito antes, mas agora se torna longa. Para verificar se a posição atual se torna longa, agora começamos a verificar se nossa média móvel permite saber. MA um ativado e MA um MA ativo, calculamos anteriormente. Então, esse bloqueio basicamente será verdadeiro. Em seguida, verificamos se o MA dois está ativado, depois se o AA dois está ativado, então será, então verificaremos se o MA dois está ativo. O que isso significa é que MA um ou MA dois, etc., essas variáveis serão verificadas nessa expressão somente quando o total correspondente estiver habilitado Caso contrário, isso será as variáveis serão ignoradas. Por exemplo, se tivermos apenas MI um habilitado , todos os MA dois, MI três a, etc serão ignorados, eles não serão usados nessa expressão, porque isso ocorre porque é assim que construímos essa lógica. No nosso caso, por exemplo, temos o MI 1 habilitado e o MA 2 habilitado também. Será que essa expressão retornará verdadeira sempre que MI um subir e MA dois subir. E também a entrada em fechar acima ou abaixo. Temos esse parâmetro ativado, vamos lá. Nós o temos aqui. Temos esse parâmetro ativado. Isso significa que essa expressão verificará se o fechamento está acima de Uma média móvel. E nesse caso, toda essa expressão retornará verdadeira e a posição será longa. Vamos assumir apenas uma posição longa nessa estratégia, portanto, basicamente estamos interessados na longa e na saída longa. Mas a lógica do curto é semelhante à longa, mas em certos casos, é uma lógica oposta porque estamos considerando MA para baixo, MA dois para baixo, etc Então, quando essa posição será encerrada. Quando retornar a saída longa, ela retornará a saída longa, quando a posição anterior for longa e dependendo dos parâmetros, se, por exemplo, tivermos saída em aA uma cruz habilitada, quando MA one down estiver retornando verdadeira, ela sairá da posição. Quando temos a saída no MA two cross, está habilitado. Então, a posição será encerrada quando A two down for verdadeiro Vamos dar uma olhada nos parâmetros de saída que habilitamos. Habilitamos apenas a saída em MA uma cruz, o que significa que quando MA um cruza MA dois abaixo , sairemos da posição Agora, e uma lógica semelhante, mas oposta, mas invertida para sair da posição curta Quando nenhuma dessas expressões for verdadeira, essa opção retornará a posição, o valor da variável de posição da barra anterior. Vai mantê-lo. Agora vamos inserir o próximo bloco em nossa estratégia de negociação. E esse será o bloco final. Neste bloco, estamos fazendo cálculos adicionais, cálculos em nossa lógica de negociação Agora estamos calculando os sinais. Sinais longos calculados da seguinte forma. posição atual que calculamos aqui é longa, mas ou a posição anterior não é longa ou a pirâmide está ativada pirâmide está ativada, o que significa que queremos continuar adicionando à posição atual enquanto a posição, que calculamos acima, for longa que calculamos acima, for Continuaremos adicionando posições longas crescentes sempre que a posição calculada for longa. Quando não demorar, não será uma pirâmide. E a lógica semelhante, mas invertida, para shorts. Quando a saída for longa, o sinal será verdadeiro sempre que a posição for longa, mas a posição anterior não será a saída longa. Quando sair apenas da posição longa, somente quando se tornar uma posição longa de saída , essa variável será verdadeira. Na próxima linha, calculamos uma expressão para determinar quando fechamos todas as posições. Fechamos todas as posições quando a posição é Basicamente, quando temos uma posição longa, o que significa que o tamanho da posição é positivo, e quando temos sinal longo de saída, ou quando temos sinal curto, sempre que curtos não são permitidos Essa expressão é verdadeira. Quando temos uma posição curta e uma posição curta não é permitida, posições curtas não são permitidas quando você tem o tipo longo, certo? Ou sempre que você tiver um tamanho de posição negativo, o que significa que você realmente tem uma posição curta e sai com sinal curto ou basicamente longo e não é permitido, mas você tem um sinal longo estabelecido. O que isso significa é que a estratégia ainda pode gerar o sinal curto, mas você não pode negociar o sinal curto. Basicamente, não, está fornecendo basicamente o sinal curto de saída , sinais curtos são permitidos, mas uma estratégia está fornecendo o sinal longo, mas os sinais longos não são permitidos, então você simplesmente sai da posição. Agora, na próxima linha, calculamos a quantidade da entrada da posição. A quantidade é calculada da seguinte forma. Se a pirâmide estiver ativada, valor do pedido da pirâmide Isso significa que estamos piramidando, a pirâmide está habilitada. Todos os parâmetros estão definidos. Então, se a posição atual for diferente de zero, o que significa que temos uma posição , a quantidade será calculada dividindo o valor da pirâmide Por preço próximo. Dessa forma calculamos a quantidade da pirâmide, mas quando a pirâmide é desativada, simplesmente dividiremos todo o patrimônio estratégico que temos Dessa forma, calculamos a quantidade da posição para entrar na nova posição longa. A quantidade é maior que zero, então, se tivermos um interruptor dependendo desse sinal, entraremos na posição longa ou curta. Entraremos em long long sempre que tivermos um sinal longo e os longos são permitidos por tipo de negociação Longos são permitidos quando o tipo de negociação não é curto, e a mesma barra inverte a lógica para o sinal curto Na linha final e nessa estratégia de negociação, sempre que colorimos a barra quando a posição da barra está ativada, vamos colorir as barras verde sempre que a posição for longa e vermelha, sempre que a posição for curta e amarela sempre que a posição estiver plana. Expliquei como isso , linha por linha, a lógica dessa estratégia. Agora vamos salvá-lo. Então, vamos chamá-la de estratégia de pirâmide múltipla aA personalizada. Vamos salvar a estratégia. Está salvo agora, vamos adicionar ao gráfico. Para o gráfico. Vamos remover a média móvel simples que não precisamos mais agora. Agora vemos que nossa estratégia está gerando lucro e temos mais de 200 características. Temos 660 6% de lucro. Temos um fator de lucro muito bom, acima de cinco. Temos uma redução de relativamente 23%. Vamos analisar como nosso str realmente funciona. Vamos dar uma olhada nos parâmetros. Temos a pirâmide ativada, que significa que sempre que a estratégia estiver nos dando um sinal longo , continuaremos aumentando as posições, como A estratégia nos dá sinais longos e continuamos piramidando. Continuamos aumentando a posição existente. Agora, o que temos aqui, temos MA um habilitado e NMA dois NMA dois Também temos entradas acima e abaixo da média móvel. Ou seja, sempre que o próximo está acima da média móvel MA 1. Vamos, por um segundo, desativar a pirâmide. Agora podemos ver que temos a linha azul, que é M um, temos a linha marrom, que é MA dois, e temos MA três, que é uma linha marinha Aqui, temos um sinal longo. Por que temos um sinal longo aqui? Porque antes de tudo, o preço está acima do MA, temos isso, temos essa regra aqui, entrada acima abaixo da MA. Segunda condição, a segunda condição que temos é que o MI one esteja ativado, o que significa que o MI one deve estar ativo. Deve ser maior do que os dois MA anteriores. MA duas posições anteriores. Tivemos um sinal aqui e o MA dois anteriores está abaixo. Essa condição foi satisfeita e , portanto, também habilitamos o MA two. Isso significa que a média móvel MA dois é maior que MA três barras anteriores, MA três barras anteriores. Então, tivemos um sinal aqui e entramos aqui. Aqui, vemos que barra anterior do MA está na verdade abaixo do que aqui. Então foi assim que verificamos a lógica aqui com esses parâmetros. Agora, sempre que habilitamos a pirâmide, podemos ver que a estratégia continua nos dando sinais longos e continuamos adicionando o valor definido aqui, $380, e aqui Então, aqui não temos nenhum sinal, e não há nenhuma pirâmide aqui Desde que todas as regras de negociação forneçam um sinal longo, a estratégia começa a piramidar Concluindo, desenvolvemos nesta lição uma estratégia de negociação com cinco indicadores de média móvel e várias regras de negociação que podem ser ativadas ou desativadas. A estratégia tem um modo de pirâmide configurável que permite aumentar com eficiência a posição no Este é o fim da aula e nos vemos na próxima. 25. Aula 25 - Como criar a estratégia final MACD em script de pinho: Olá, bem-vindo a esta lição, criando a estratégia definitiva do MacD no Pine Script Esta lição consiste na seguinte seção, Introdução à estratégia definitiva do MacD Depois disso, explicarei a interpretação dos sinais de negociação para os indicadores MACD , ADX e DI Depois disso, estudaremos os componentes finais da estratégia MGD, como parâmetros de entrada, funções personalizadas, cálculos de indicadores, lógica de negociação estratégica, como configurar negociações de stop loss e profit take, e também como traçar sinais de negociação No final, revisaremos os parâmetros da estratégia. Então, vamos começar. Portanto, essa estratégia de negociação está usando indicadores de negociação gratuitos. Ele está usando o indicador de negociação Mac D, o indicador negociação ADX NDI e o indicador de negociação de média móvel Antes de começarmos a aplicar esses indicadores em nossa estratégia definitiva de MD. Explicarei a interpretação dos sinais de negociação desses indicadores e como vamos aplicar esses sinais de negociação em nossa estratégia. Este é, como você vê aqui, o indicador McD. O indicador McDE é chamado de indicador de divergência de convergência da média móvel divergência de convergência da média É um indicador técnico popular e versátil usado nos mercados financeiros. MacD é um indicador de tendência que segue o momentum que mostra a relação entre duas médias móveis do preço dos ativos Qual é a interpretação? Como é usado na negociação, o indicador Made. O indicador Mag tem uma linha Magd, que é azul no nosso caso, uma linha laranja, que é uma linha de sinal, e um histograma A interpretação usual desse indicador é a seguinte. Os sinais de negociação podem ser lidos a partir desse indicador. Por exemplo, quando a linha Mg D cruza a linha de sinal. linha azul cruza acima da linha de sinal, que é a linha laranja Então, é considerado um sinal de alta e, ao contrário, sempre que a linha azul Magd cruza abaixo da linha laranja, a linha Isso é considerado um sinal de baixa. Além disso, o histograma, sempre que o histograma se torna positivo, acima de zero, é Quando se torna positivo, quando fica verde no nosso caso , é considerado um sinal de alta O oposto é verdadeiro e ele se torna negativo, vermelho no nosso caso, então isso é considerado um sinal de baixa É assim que os sinais de negociação do MGD são usados. Para negociação. Agora, vamos analisar o indicador ADX que também é usado nessa estratégia definitiva do Mac D. ADX é o indicador médio do índice direcional. É um indicador técnico usado na análise técnica para determinar a força da tendência predominante. Como você pode ver, esse indicador tem três linhas aqui. A linha vermelha é a linha ADX. Está indicando a força da tendência. Está indicando a força da tendência de alta ou de baixa Quando está subindo, isso significa que a tendência está aumentando, está aumentando. A força da tendência está aumentando, independentemente da tendência de alta ou baixa Normalmente, há algum limite em que o piso é definido para Quando a linha AD X está acima de 20, 25 ou 30, considera-se que a tendência é forte. E quando o limite de venda é menor do que 20, a tendência é considerada fraca Além disso, há duas outras linhas neste indicador, linha azul é uma linha di mais, a linha di positiva e a linha laranja é a linha di d negativa. Quando a linha I plus está acima da linha di menos, a tendência é considerada bruta e o oposto é verdadeiro Quando a linha di menos está acima da linha I plus , a tendência é considerada de baixa É assim que podemos usar esse sinal de negociação. E se você combinar essas três linhas, como usá-las simultaneamente. Quando o ADX está acima, digamos 20, e o DI plus está acima de di menos , isso é considerado uma forte tendência de alta Por exemplo, no nosso caso, se estiver acima de 20 e o azul estiver acima do laranja, está em algum lugar aqui. Este é o começo da tendência de alta no nosso caso. É assim que podemos usar os sinais de negociação dos indicadores ADX e Mac D. Em nossa estratégia de negociação, combinaremos esses dois sinais de negociação de indicadores e os aplicaremos simultaneamente ou seletivamente, dependendo de como configuramos nossos parâmetros de nossa estratégia Agora, o que vamos fazer começar a criar a estratégia definitiva de Magda Vou inserir blocos componentes dessa estratégia. Vou explicar como a estratégia funciona. Vamos inserir o primeiro bloco disso. Criou a melhor estratégia. Inserimos o primeiro bloco onde estratégia definiu os parâmetros de entrada. Vamos estudar linha por linha o que esse bloco faz. Primeiro, especificamos a função str e os parâmetros para o título str str, arquivos lay, que significa que str será plotado na pintura abaixo do Depois dessa estratégia, porcentagem de patrimônio líquido, o que significa que vamos alocar certa porcentagem de patrimônio de nossa estratégia em cada negociação, e o próximo parâmetro é o valor da quantidade padrão, que significa 100% do patrimônio líquido Vamos nos dedicar à precisão de cada negociação, ou seja, o número de dígitos após o ponto Com essa precisão, exibiremos os preços em rótulos, capital inicial de $1.000 e tipo de comissão e o valor da comissão 0,1% em cada negociação será dedicado à comissão, portanto, queremos que nosso teste b da estratégia gere resultados realistas, incluindo Nossos próximos parâmetros de entrada. A estratégia terá parâmetros de data de início e data de término. Cada uma dessas datas tem parâmetros de valores inteiros de dia, boca e ano Ao configurar esses parâmetros, podemos permitir que nossa estratégia negociada em um determinado período de tempo. O próximo é um tipo de negociação. tipo de negociação permite que a estratégia alterne entre diferentes tipos de transação para poder Pode ser que a estratégia possa negociar em negociações longas, apenas negociações curtas ou longas e Em seguida, temos três indicadores em nossa estratégia que vão gerar sinais para nós e vamos combinar esses sinais para gerar negociações em nossa estratégia E para usar esses três indicadores, precisamos especificar certos parâmetros para esses indicadores. Para Mac D, precisaremos do tipo de média móvel MacD, tipo de média móvel de sinal, tipo de média móvel suavização de sinal e tipo de linha de sinal Em primeiro lugar, cada média móvel usada pelo MacD usará opcional usará uma das opções que definimos para esse tipo de média móvel O tipo de média móvel que usamos para nosso MGD é MA ou regressão linear ou ponderada Portanto, por padrão, o Mac Dee está usando MA para o tipo de média móvel interna. Mas definimos o opcional para esse tipo de média móvel. Pode usar regressão linear se quisermos, ou média móvel ponderada O mesmo se aplica ao tipo Mac DMA, tipo MA de sinal e tipo MA de suavização de sinal E este último parâmetro e esse tipo de linha de sinal de bloco tipo de linha de sinal, ou seja, qual sinal será usado em nossas negociações O Mag D pode gerar vários tipos de sinal que vamos usar para as negociações Pode ser um sinal de mudança acima ou abaixo do sinal, cruz suave, Magd ou histograma Por exemplo, histograma, quando o sinal do histograma é usado, quando o histograma se torna positivo Negativo é uma baixa. Mas, vamos revisar essas opções abaixo em nosso código pine skept A seguir estão os períodos do nosso MGD. Comprimento rápido e lento do sinal e suavização do sinal. Todos esses períodos são configuráveis por meio de parâmetros de estratégia, e vamos usar esses parâmetros para configurar nosso indicador MGD. O próximo bloco de dois parâmetros é para nosso parâmetro de média móvel de tendência. Temos Mac D, temos média móvel de tendência e AD X. Para configurar nossa média móvel de tendência, temos dois parâmetros: tipo de média móvel, que é L, e regressão, um A ponderado, e período de média móvel Em seguida, no próximo bloco, especificamos parâmetros para nosso indicador ADX NDI Esse indicador usa os seguintes parâmetros. Período ADX, limite, tendência ativada ou desativada, tipo MA de suavização e período MA suave ADX Tudo isso é usado para configurar o indicador ADX DA. Em seguida, temos dois parâmetros de regras de entrada. Entrada na tendência, para que possamos ativar e desativar se você quiser entrar na negociação em nossa estratégia sempre que a tendência for de alta ou Ou podemos simplesmente desativar esse indicador e não usá-lo em nosso sinal de negociação combinado em nossa estratégia O próximo primer é a entrada no Mac De acima ou abaixo do sinal. Esse é outro total que podemos ativar ou desativar se quisermos que nossa entrada seja sempre que o McD estiver acima ou abaixo da linha de sinal do nosso indicador Magd Em seguida, estão os parâmetros da regra de saída, ou seja, podemos ativar ou desativar isso É quando queremos sair da estratégia, quando a linha de sinal está cruzando. Quando McDe está cruzando a linha de sinal. Nesse caso, quando sairmos da nossa estratégia, vamos gerar e sair do comércio. Ou podemos ativar ou desativar esse parâmetro de estratégia. Em seguida, vamos configurar o take profit e o stop loss para nossa estratégia e, para fazer isso, temos esses dois parâmetros que especificam a porcentagem de stop loss e a porcentagem de take profit. Em seguida, uma negociação por direção, podemos definir nossa estratégia apenas para realizar uma negociação por direção, porque o que pode acontecer é que a estratégia possa gerar sinal de negociação. Por exemplo, sinal de negociação otimista e, depois disso, outro e outro e outro Se você quiser seguir apenas uma direção pura, negocie. Podemos definir esse parâmetro como verdadeiro. próximo conjunto de parâmetros são os parâmetros relacionados à plotagem de determinados indicadores em nosso gráfico Podemos ativá-los ou desativá-los , dependendo do que queremos ver em nosso gráfico Se quisermos mostrar a linha Mac Deal ou mostrar uma linha de sinal ou não mostrá-las, podemos ativar ou desativar esses parâmetros Também podemos alternar esse parâmetro para barra de cores por posição. Por exemplo, se tivermos uma posição longa , as barras serão coloridas com determinadas cores, e podemos desativar esse parâmetro se não precisarmos dele. Agora vamos inserir esse segundo bloco em nossas funções personalizadas str Funções personalizadas são funções que usaremos várias vezes em nossa estratégia. Portanto, essas funções são muito úteis porque vão encurtar nosso código de script Pine e torná-lo mais eficiente Função cruzada é função O que ela faz é verificar se um SS está cruzando acima do SSB, e a verificação oposta é feita em cruz Função down, SS one está cruzando abaixo do SSB. Então, essas são duas variáveis usadas nessa função. O tipo dessas variáveis é sério. É uma função ativada por tempo. Usamos essa função para verificar se a estratégia pode ser negociada, ela verifica a hora de início que estamos calculando aqui, estamos usando parâmetros de entrada que definem a estratégia, a data de início e a data de término Esta função está usando esses parâmetros para sinalizar a estratégia se é permitido negociar. Verdadeiro na barra final. Portanto, essa função é importante para negociar quando você negocia na barra em tempo real, porque você deseja ter certeza de que a barra foi concluída, o que significa que a barra está pronta O último toque na barra é executado. Ser capaz de negociar apenas uma vez nas barras em tempo real. Desenhar etiqueta é desenhar etiquetas e obter a fonte MA. Essa função é usada muitas vezes quando queremos retornar certo tipo de média móvel. Pode ser A, MA ponderada ou regressão linear. Agora vamos inserir o próximo bloco, que será o bloco de cálculos de indicadores. Neste bloco, vamos calcular nossos indicadores usando os parâmetros da estratégia. O primeiro indicador é ADX e DI. Este indicador, calculamos usando certas funções e calculamos o intervalo, calculamos Di mais di menos para esse Depois disso, calculamos o di mais suave, di menos suave e, finalmente, calculamos o di mais di menos o próprio para um dx e dx e o próprio Adx Calculamos todo esse valor. Por quê? Nós os calculamos porque finalmente vamos calcular se esse indicador está fornecendo um sinal de alta ou baixa para Nós fazemos isso aqui. Depois de calcularmos a suavidade dx, calculamos aqui uma tendência de alta dx e calculamos a tendência de alta de Adx se di plus for maior que di menos, e Adx suave for maior que uma suavidade dx nas barras anteriores, então Um ADX suave está acima do limite, que significa uma forte tendência de alta Nesse caso, uma variável de tendência Dx bu será verdadeira e, no sentido oposto, calculamos uma tendência de baixa Dx usando a lógica oposta Depois disso, calculamos a tendência de enfraquecimento e a tendência de inundação Em seguida, calculamos o McDE. Portanto, para calcular o McDE precisamos calcular a média móvel rápida para o McDE e a média móvel lenta Estamos usando a função de origem t MA para isso e estamos transmitindo tipo de média móvel, o comprimento rápido e o comprimento lento. Em seguida, calculamos a linha McDe McDe, o histograma da linha de sinal Depois disso, calculamos se o histograma está acima e subindo ou abaixo de zero e Vamos precisar disso para mudar as cores do McDe Ultimate Indicador. Depois disso, calculamos certas variáveis para indicar se o McDe está realmente subindo ou descendo e sinalizamos, se estiver subindo ou descendo, vamos usar isso, vamos usar isso para verificar se o indicador MacD está em alta Depois disso, calculamos as cores do MCD do MacD e das linhas de sinal e, depois disso, traçamos todos os gráficos do nosso indicador MacD, como linha Magd, linha de sinal, linha de suavização e histograma do histograma, e também a linha zero MCD do MacD e das linhas de sinal e, depois disso, traçamos todos os gráficos do nosso indicador MacD, como linha Magd, linha de sinal, linha de suavização e histograma do histograma, e também a linha zero. Além disso, calculamos a média móvel da tendência, porque esse é o terceiro indicador que usamos em nossa estratégia e, depois disso, calculamos duas variáveis, se a média móvel da tendência for para cima ou para baixo. Dessa forma, acabamos de abordar o bloco de cálculo de três indicadores em nossa estratégia, ADX, Mc D e média móvel de tendência Agora vamos inserir o próximo bloco da nossa estratégia final Magda, que será um bloco com lógica de negociação Vamos estudar esse bloco. É aqui que usamos e aplicamos todos os sinais de negociação desses indicadores de negociação, ADX, MGD e média móvel de tendência, e usando todos os sinais, os combinamos e geramos os sinais de negociação para nossa estratégia Nessa opção, verificamos o parâmetro do tipo de linha de sinal e, dependendo disso, podemos usar uma lógica de negociação diferente. Geramos e calculamos entradas longas e curtas no escopo dessa chave, mas dependendo do tipo de linha de sinal, calculamos de forma diferente. Em nossa configuração atual, usamos o sinal acima da configuração abaixo. Para essa configuração, calculamos a entrada longa sempre que linha de sinal está tendendo para cima, sinal atual é maior que o sinal anterior e, opcionalmente, quando Magd está acima da linha de sinal, sempre que essa entrada de bandeira em Magd acima do sinal abaixo está ativada e oposta para entrada sinal abaixo está ativada Mas, por exemplo, para outros casos, quando usamos esse tipo de linha de sinal com opção diferente, por exemplo, quando é igual ao giro do sinal. Nesse caso, calculamos entrada longa e longa será verdadeira. Sempre que o sinal está tendendo para cima, mas anteriormente estava tendendo Basicamente, o sinal está girando. Isso nos dá uma variedade de sinais de negociação, dependendo da configuração. Em seguida, neste bloco, calculamos a posição da nossa estratégia de negociação. Definimos alguns padrões dessa posição e o padrão para as variáveis que são usadas para o cálculo dessa posição Nossa posição pode ser plana, longa curta ou longa ou saída curta. Portanto, essa posição pode ser considerada como posição e posição que são lembradas e até que a posição seja alterada. Basicamente, vamos analisar como essa posição é calculada, posição da nossa estratégia. Estamos usando o switch aqui. E a posição será longa sempre que esse bloqueio for verdadeiro. Mas esse bloqueio é verdadeiro quando, em primeiro lugar, tempo está habilitado, ou seja, o tempo para as negociações é permitido para a estratégia E a posição anterior não é longa e a entrada longa é verdadeira, entrada longa que calculamos neste bloco. A entrada longa é verdadeira e, em seguida, verificamos vários sinalizadores, vários totais de nossa estratégia e, dependendo disso, aplicamos Por exemplo, se uma direção de negociação p estiver definida, precisamos usar essa regra. Caso contrário, esse bloco não o usará. Sempre que estiver definido como verdadeiro , a posição anterior não deve ser sair da posição longa. É assim que aplicamos a direção de um para cima. Por exemplo, outra regra, se quisermos usar a entrada da regra na tendência da média móvel , a tendência de alta deve ser verdadeira. Mas vamos ver onde calculamos a tendência de aumento da MA. Calculamos aqui. O que significa que a tendência MA está aumentando porque a tendência M é maior do que a tendência na barra anterior E a mesma lógica para o AD X. Sempre que você quiser adicionar condição adicional do indicador AD X , a tendência de alta do ADX precisa ser verdadeira Somente quando toda essa expressão for verdadeira, switch retornará a posição longa. Para posições curtas, a lógica oposta é usada. Outros dois retornos dessa opção serão sair da posição longa ou sair da posição curta. Há uma lógica usada sempre que queremos que nossa estratégia dure por muito tempo. Por exemplo, quando queremos sair por muito tempo, queremos que a posição anterior da estratégia seja longa. na posição anterior, sempre que for longa, podemos usar apenas uma certa lógica, então é possível a próxima posição da estratégia seja longa. Vamos sair sempre que a estratégia gerar o sinal de entrada curto que calculamos anteriormente. E ou quando temos essa distgal ativada e temos uma dicção cruzada Este sinal será verdadeiro sempre que McDe estiver cruzando a linha de sinal E essa condição será verificada somente sempre que a saída no cruzamento da linha de sinal do Mac D for verdadeira. E finalmente, finalmente, há basicamente outra condição aqui. I Essa condição é verdadeira. Essa condição significa que se p for longo, se anterior se a posição na barra anterior for longa ou curta, mantenha-a e, em seguida, atribua à posição atual a posição anterior, ou seja, mantenha-a, caso contrário, posição apresentará falhas É assim que essa posição da estratégia é calculada. Agora vamos afirmar o principal bloco lógico de negociação. Neste bloco, calculamos os sinais de negociação que serão executados por nossa estratégia Para calcular os sinais finais de negociação, precisamos calcular os sinais de negociação intermediários devido à posição atual da estratégia que calculamos aqui. Quando, por exemplo, a posição se torna, ela permanece por muito tempo nessa variável. Mas para os sinais, precisamos da barra exata sempre que essa posição se torna longa ou curta, ou ela gera um sinal de saída longa ou de saída curta. Portanto, o que fazemos aqui é calcular o conjunto de variáveis. Para longa, curta, saída longa e saída curta, calculamos quando exatamente essa barra, quando a posição se torna longa, curta, saída longa ou saída curta. Como fazemos isso, calculamos sempre que a posição é longa no momento e a posição anterior não era longa, a mesma lógica para todos os outros sinais. Dessa forma, essa variável será verdadeira, somente na barra, sempre que a posição mudar para longa, curta, saída longa ou saída curta. Próximo. Depois disso, o que fazemos aqui é calcular os sinais reais. Ao usar esses sinais, vamos realmente ligar e gerar as negociações estratégicas Para sinal longo, por exemplo, vamos defini-lo como verdadeiro sempre que a posição longa for verdadeira e o tipo de negociação for definido para permitir negociações longas O tipo de negociação pode ser longo, curto ou longo e curto. Desde que o tipo de negociação não seja curto e a posição longa seja verdadeira, um sinal longo será gerado. O que significa que o tipo de negociação não é curto, o que significa que o tipo de negociação é longo ou longo e curto, o que significa que longo é permitido. Mesma lógica aplicada, mas oposta ao sinal curto, e para o sinal longo de saída, por exemplo, vamos gerar sinal longo de saída final sempre que for o tamanho da posição da estratégia. Esse parâmetro embutido é realmente positivo, o que significa que a estratégia é realmente longa, sua posição é positiva e posição longa de saída é verdadeira, o que calculamos aqui. Ou o sinal de posição curta é verdadeiro e o tipo de negociação é longo. Precisamos aplicar essa condição porque sempre que temos uma posição curta gerada. No entanto, os shorts não são permitidos porque o tipo de negociação é longo, então vamos sair dela, não entrando em posições curtas porque os shorts não são permitidos, mas Posição longa e a lógica similar de Simral no sinal curto de saída Temos esses sinais de sinal atribuídos. Então, temos um switch aqui: um operador de switch que, dependendo do sinal executará a estratégia, seja sinais longos e curtos fechados ou sinais longos e curtos de entrada da estratégia. Veja como realmente inserimos negociações em nossa estratégia usando sinais calculados Agora vamos inserir o bloco final neste bloco de estratégia que está calculando o stop loss, os preços, o take profit, os preços e, na verdade, configurando negociações para esse stop loss e take profit. Comércio. Como é feito. Basicamente, para ter em nosso str, stop loss, rate Precisamos calcular o preço do stop loss. Para calcular o preço do stop loss, precisamos basicamente, em primeiro lugar, verificar se a porcentagem de stop loss está realmente definida, porque se for zero, significa que está desativada. Se estiver definido, se não for zero, calculamos se preço médio é realmente maior que zero, o que significa que realmente temos uma posição. Em seguida, calculamos o preço do stop loss abaixo, obviamente o preço médio de nossa posição. Esse é o preço médio de nossa posição, e usamos a porcentagem de stop loss para calcular o preço abaixo do preço médio dessa porcentagem especificada na porcentagem calculada de stop loss. Para obter lucro, usamos uma lógica semelhante. Verificamos se temos uma posição real se o preço médio for maior que zero e, depois disso, usando o preço médio e a porcentagem de lucro que calculamos aqui, chamamos de preço de lucro que está acima do preço médio atual para essa porcentagem de lucro que calculamos. Calculamos esses dois preços e configuramos negociação de saída usando a função de saída de pontos de estratégia, onde especificamos o preço de stop loss atribuído ao parâmetro stop e o preço de obtenção de lucro atribuído ao limite do parâmetro limite dessa saída de pontos de estratégia. Função. E vamos chamar essa função sempre que definirmos esse preço de take profit e stop loss quando eles não estiverem disponíveis, então o que acontecerá é que definimos esses preços e sempre preço de nosso mercado atingir o preço de stop loss, que está abaixo da corrente abaixo do preço médio da posição que temos , a negociação de stop loss será executado. Ou sempre que atingir o nível de preço do take profit , o limite básico de venda dessa estratégia será executado e a posição será fechada se posição atual for longa. Os blocos finais e finais de nossa estratégia são onde na verdade, traçamos as setas da estratégia, indicando sempre que entramos na indicando sempre que entramos negociação longa ou saímos da negociação longa, ou entramos na negociação curta ou saímos da negociação curta Então, basicamente, usamos cores diferentes. Para o sinal longo, usamos a cor limão e para o sinal longo de saída, usamos a cor Fuj CA Agora vamos salvar nossa estratégia e aplicá-la ao gráfico. Estamos salvando nossa estratégia. Então, vamos chamá-lo de personalizado e salvá-lo. Nossa estratégia está salva. Depois disso, vamos adicioná-lo ao gráfico. Agora, vamos revisar os parâmetros de nossa estratégia e garantir que nossa estratégia funcione conforme o esperado. Vamos dar uma olhada nos parâmetros. Em primeiro lugar, queremos ter certeza de que tipo de linha de sinal que selecionamos é o sinal acima abaixo. Para este tipo de sinal, as características são obtidas quando a linha de sinal está subindo e também dependendo dessa entrada de parâmetro em Magda acima e abaixo Se estiver marcada, uma condição adicional será adicionada e, quando o Mag D estiver acima da linha de sinal, vamos dar uma olhada Em nosso gráfico. Para esses casos. Você vê que nosso lindo Mg De está representado nesta coluna, pois você vê que está colorido de uma certa maneira, então podemos ver isso sempre que a inclinação Por exemplo, essa linha é a linha Mg De, é uma linha mais rápida. Essa linha é a linha de sinal, é uma linha mais lenta Essas barras são histogramas. Sempre que a inclinação está mudando, a cor também muda para essas duas linhas Sempre que a inclinação está subindo , o Mg De é verde, quando ele para de cair, é vermelho Para a linha de sinal, quando a linha de sinal está subindo, a cor é aço. Sempre que começa a cair, a cor é laranja e a mesma lógica para os histogramas Quando estão subindo, da mesma cor quando estão caindo, usamos cores diferentes e as mesmas sempre que os histogramas estão abaixo de zero, eles têm a cor avermelhada, Agora, vamos dar uma olhada nos sinais. Como você pode ver aqui, traçamos dois tipos de setas Flecha cor de limão e as flechas coloridas Fucans Fuchs. A cor de limão que as setas indicam sempre que nossa estratégia nos dá o sinal de entrada longo Para a seta colorida com os pés, quando está abaixada, significa que a estratégia está sinalizando para a saída da posição Agora, também precisamos ter certeza de verificar quais outros sinais estão configurados no momento. Atualmente, definimos a tendência de MA. Atualmente, para a tendência MA, usamos regressão linear e 100 Eu adicionei aqui um dos meus indicadores super MA que tem esse tipo de média móvel, regressão linear configurada, para que possamos ver o indicador real no gráfico que estamos usando em nossa estratégia avançada de MG ultimate Você vê aqui a regressão linear 100. Então, sempre que a inclinação dessa regressão linear é para cima, a cor é verde, sempre que está para baixo, a cor é vermelha Porque temos essa tendência que pode permitir nossa estratégia de MGD Portanto, as características serão obtidas sempre que a inclinação estiver alta. Por exemplo, vamos dar uma olhada nesse exemplo. O que vemos aqui. A linha de sinal com a cor azul-petróleo começou a subir aqui, e o magdee está acima do Você vê que esse magdee verde está acima do sinal azul. Então temos um sinal aqui, e também porque o tema da tendência está aumentando. Vamos dar outro exemplo. Aqui vemos a tendência de queda deles . É vermelho. Portanto, até mesmo a linha de sinal está subindo e o Mg D está acima. Não há negociações realizadas. Não há características adotadas na estratégia Mag De porque a tendência é de queda Agora vamos dar uma olhada em alguns outros parâmetros em nossa estratégia Mag De Temos aqui que a tendência ADX está desativada até agora. Atualmente, a estratégia tem as condições ADX desativadas. Mas quando adicionamos condições ADX, a estratégia se comportará de forma diferente Os sinais de que ele será gerado serão diferentes porque ele também precisa verificar a condição do ADX Além disso, junto com outras condições, tendências e condições dos indicadores de Mg. É provável que se comporte de forma alquídica. Precisamos dar uma olhada no testador de estratégia da loja. Podemos ver agora o que temos aqui. Sem testador de estratégia. Temos aqui 87 características e 5 milhões por cento. Vamos dar uma olhada no que mudará se adicionarmos condições adicionais à nossa estratégia com sinais AD. Você vê que o desempenho da estratégia mudou. Temos menos características. Temos 87, agora temos menos negócios e temos menos lucro Além disso, temos menos saque saque é basicamente calculado quando é a maior perda em comparação com o maior lucro possível Agora, quanto melhor esse rebaixamento , como você vê, sempre que desativamos o ADX, sempre que desativamos o ADX, rebaixamento do sorteio está basicamente aumentando, o que não é Sempre que habilitamos, o rebaixamento diminui, o que é bom. No entanto, o lucro também está diminuindo, mas o número de negociações também é menor O fator de lucro está aumentando, o que é bom. O fator de lucro é calculado dividindo o lucro total da estratégia pela perda total Isso é apenas uma ilustração quando se trata da flexibilidade dessa estratégia. Ao usar essa estratégia, você pode habilitar desativação de determinados indicadores aninhados nessa estratégia para otimizar o desempenho de sua estratégia no mercado selecionado Concluindo, nesta lição, demonstrei como desenvolver estratégia de negociação avançada com três indicadores, Mac D, ADX, NDI e média móvel Aprendemos como combinar sinais de vários indicadores e usá-los para gerar negociações em uma estratégia A estratégia desenvolvida pode ser aplicada a diferentes mercados comerciais. Por meio do ajuste da variedade de parâmetros da estratégia e aplicação seletiva dos indicadores da estratégia Este é o fim desta lição, e nos vemos na próxima 26. Aula 26: visão geral dos alertas em indicadores e estratégias em roteiro de pinho: Colon, bem-vindo a esta aula. Eu reviso os alertas em indicadores e estratégias no Pine Scree. Esta lição consiste nas seções a seguir. Na primeira seção, apresentarei Allerts in trading view, Pine scri, nas próximas três Apresentarei uma visão geral dos diferentes tipos de alertas, alerta usando a função de alerta, alerta usando a função de condição e alertas em estratégias no evento do pedido última seção desta lição é dedicada ao resumo do Allerte. Vamos começar. Os alertas do Trading View operam 24 horas por dia, 7 dias por semana, nos servidores, independentemente de o usuário estar bloqueado ou não Os usuários podem criar e configurar alertas por meio da interface de usuário dos gráficos, usando o formulário de diálogo Criar alerta. Existem vários tipos de alertas, incluindo alertas genéricos de desenho e script que são chamados a partir do script e configurados como qualquer alerta no formulário de diálogo Criar alerta. Os alertas de script acionados pela função de alerta ou alerta de condição de alerta exigem um código de script pine específico no script Para entender melhor os diferentes tipos de alertas e como configurá-los e usá-los. Vejamos a tabela deste slide que descreve três tipos de alertas em indicadores e estratégias Você vê nesta tabela que existem três tipos de alertas e suas propriedades podem ser visíveis O primeiro tipo de alerta é usar a função de alerta. É chamada de função Allert do script. Para esse alerta, para esse tipo de alerta, devemos usar a chamada da função de alerta de um script. Este é um exemplo da função at. Alerta Depois disso, especificamos a mensagem de alerta e o próximo parâmetro é a frequência do alerta. Neste exemplo, podemos ver que especificamos a chamada da função de alerta. Especificamos que a última barra está ativa, que é a mensagem de alerta, e o segundo parâmetro é ert dot frequency 1/bar close Essa é a frequência de alerta. Ele também pode ter configurações como para todas as frequências, que também podem ser todas ou 1/bar Esse tipo de alerta usa a função de alerta e também todos os outros tipos de alerta Eles exigem uma configuração que possa ser inserida, que possa ser configurada usando o formulário de diálogo de criação de alerta. Não basta apenas ter uma chamada de função de alerta no script. Você também precisa criar uma configuração de alerta usando o formulário de diálogo de criação de alerta. Todos os três alertas exigem qualquer configuração que será associada à chamada de alerta do script ou, como no caso de uma estratégia, com o próprio script. Também é preciso mencionar que o tipo de alerta que está usando chamada da função de alerta pode ser usado em indicadores e nas estratégias. Próximo tipo de alerta usando a condição de alerta. Aqui temos, para esse tipo de alerta, que devemos especificar na chamada de condição de alerta do script A função de condição de alerta tem três parâmetros. Primeiro, especificamos a condição após essa condição quando essa condição será acionada. Em seguida, especificamos o título do alerta e, depois disso, a mensagem de alerta Aqui está um exemplo de chamada de condição de alerta. Primeiro, especificamos a condição se fechar for maior do que aberto. Somente quando essa condição for verdadeira, alerta será acionado. O segundo parâmetro é, neste caso, alerta na barra verde. Esse é o título do alerta e o último é a mensagem de alerta. O ponto de exclamação da barra verde é uma mensagem de alerta. Então, você especifica essa chamada no script e, depois disso, cria configuração de alerta usando o formulário de diálogo de criação de alerta e, em seguida, pode usar esse alerta no indicador Nas estratégias, condição de alerta não é e não deve ser usada. O tipo de alerta final nesta tabela é um tipo de alerta de evento de ordem estratégica. Mas esse tipo de aller, como você vê nesta tabela, só pode ser usado em estratégias Para que esse tipo de chamada seja acionado, não é necessário usar nenhuma função no script de estratégia Além disso, essa função certamente requer a configuração usando o formulário de diálogo de alerta de taxa, e o alerta será acionado por uma estratégia sempre que posição mudar na estratégia e a ordem na estratégia for preenchida Analisamos todos os três tipos de alerta, a função de alerta de alerta, o alerta usando a função de condição de alerta e o alerta de evento de preenchimento de pedidos de estratégia Há considerações importantes sobre o uso dos alertas que preciso mencionar Primeiro, o código de script Pine relacionado ao alerta não cria e executa diretamente um alerta Isso apenas cria um evento de alerta. O formulário de diálogo de alerta criado pela configuração pode ser configurado para usar esses eventos de alerta do script para que o alerta seja executado e realmente exibido. segundo ponto é que os alertas são acionados em barras em tempo real, limitando a funcionalidade do código do script Pine apenas a cenários em tempo real Em outras palavras, os alertas serão executados somente em barras em tempo real Eles não serão executados em bares históricos. Finalmente, ao criar um formulário de diálogo de criação de Au. Este é o exemplo de criar um formulário de diálogo Allur que pode ser acessado quando você clica na tela do supergráfico neste botão do relógio e, em seguida, associa quaisquer alertas que você configurou no script ou na Associe essas estratégias ou qualquer outro script que esteja usando o alluts a essa configuração de alerta específica criada usando o formulário de diálogo At create Ao criar um alerta, usando o formulário de diálogo de criação de alerta, trading view salva um instantâneo do símbolo de entrada e do período de tempo em seus servidores . As alterações subsequentes no gráfico e nos scripts relacionados não afetam os alertas em execução existentes Você deve excluir e criar alertas para que as alterações entrem em vigor. Em outras palavras, é que depois de criar um alerta, quando ele é salvo, você pode alterar o script associado a um alerta, você pode alterar o gráfico atual em uma tela de supergráfico Isso não afeta o alerta que você criou. Agora, vamos analisar um exemplo de configuração de alertas usando a função de alerta Neste exemplo, você pode ver que temos um script. Pode ser uma estratégia ou indicador porque você pode usar a função de alerta em uma estratégia ou indicador. Neste script, você tem duas chamadas de função de alerta Sempre que fechar é maior que abrir, última barra fica ativa, alerta que será chamado uma vez por fechamento de barra sempre que fechar for menor que aberto, teremos outro alerta acionado com a mensagem. A última barra está inativa e a frequência é fechada uma vez por barra. Criamos essas duas chamadas de alerta. Mas para que o alerta seja executado, precisamos criar uma configuração de alerta criar um formulário de diálogo de alerta. Em seguida, associamos essa configuração aos alertas no script. Mais uma coisa que preciso mencionar sempre que você tiver um script para associar à configuração do alert, você deve adicionar esse script ao gráfico Em seguida, o que você faz é definir a condição para que você selecione o script pelo nome do script nessa condição. Caixa combinada. Depois disso, você seleciona basicamente a subcondição. Nesse caso, você pode selecionar para este caso as chamadas da função de alerta. Porque na estratégia, você pode ter diferentes tipos de alertas. No nosso caso, queremos associar a função de alerta a essa configuração de alerta. Portanto, selecionamos a chamada da função Aalert. Em seguida, definimos a data de validade da nossa configuração de alerta e configuramos o nome do alerta. Depois de clicar em criar, a configuração do alerta será definida e ativa. E então, sempre que um script e, sempre que esse script for acionado, o alerta, você receberá uma Agora, vamos analisar como configurar notificações para alertas usando a função alert. Como você pode ver aqui, temos duas guias: configurações e notificações para configurar o tipo de notificação que você deseja receber Você clicará na etapa de notificação e obterá esses parâmetros. Como você pode ver nesta etapa, você pode configurar diferentes tipos de notificações ou qualquer combinação dessas notificações. A primeira é a notificação I por notificação no aplicativo, que significa que você pode baixar o aplicativo móvel Trading View em seu dispositivo móvel e, sempre que isso estiver ativado, você receberá uma mensagem de notificação do aplicativo móvel Sempre que esse alerta for executado. Em segundo lugar, mostre um pop-up, o que significa que no site da plataforma Trading View, sempre que este Alerta for executado, você receberá uma mensagem com a notificação do alerta, terceiro parâmetro de envio de e-mail. Você receberá um e-mail se tiver esse parâmetro de envio de e-mail ativado sempre que o alert for executado URL do webhook, isso significa que sempre que o alert for executado, um determinado URL será chamado E isso geralmente é usado sempre que você precisa ligar para um determinado URL associado à sua conta de corretora, sempre que você vincular, sempre que precisar vincular esse alerta à sua conta de corretora para executar negociações em sua conta associada Agora, o próximo parâmetro é o som de reprodução. Você pode selecionar o tipo de som quando esse alerta será executado. Além disso, você pode configurar o para ser notificado por SMS, sempre que enviar e-mail para SMS. O parâmetro está ativado. É assim que você configura as notificações para o Allert. Agora, vamos analisar outro tipo de alerta de alerta usando a função de condição de alerta. Neste exemplo, neste indicador, configuramos dois códigos de condição de alerta. Por exemplo, na primeira chamada de condição de alerta, temos uma condição sempre que fecha mais do que aberta, depois temos um alerta de título na barra verde e a marca de escalonamento da barra verde da mensagem Outra condição de alerta sempre que fechar menos do que abrir , temos um título desse alerta na barra vermelha e a mensagem é marca de escalonamento da barra vermelha Temos duas chamadas de condições de alerta do nosso indicador. Como próxima etapa, para executar esse alerta, ele deve ser sempre executado com a configuração de alerta de toque definida usando o formulário de diálogo create At configuração de alerta de toque definida usando o formulário de diálogo create At Nesse formulário, selecionamos nosso indicador. Nomeie o exemplo da condição de alerta e, em seguida, selecionamos a condição de alerta específica. Temos duas condições de alerta e podemos selecionar apenas uma delas. Se você quiser definir a configuração para outra condição de alerta, precisará definir outra configuração de alerta. Em outras palavras, é que para cada condição de alerta, chame seu script, você precisa definir uma configuração de alerta separada usando a caixa de diálogo de criação de alerta quatro. próximo parâmetro é um gatilho, você pode especificar apenas uma vez. Sempre que você quiser que esse alerta seja acionado sempre que o alerta for acionado Você especifica quando deseja que o alerta seja realmente executado? Apenas uma vez 1/bar, 1/bar fechar ou uma vez por minuto. Como funciona, sempre que a condição de alerta é acionada e, em seguida, essa condição é verificada. O alerta será executado somente uma vez, somente 1/barra de fechamento, etc. No próximo parâmetro, como expiração, você especifica quando deseja que esse alerta expire Depois disso, você define o nome e a mensagem do alerta. Neste slide, você pode ver o exemplo de alerta. Como você vê nesta mensagem de alerta, isso é o que realmente vamos receber. Esta é uma notificação que recebemos no site da plataforma de visualização de negociação esse tipo de alerta é executado. Assim, você recebe alertas sobre o tipo de gráfico Alt em D. Dessa forma, você sabe em qual mercado esse alerta é acionado. Em seguida, recebemos um alerta de barra verde. Esse é o nome do nosso alerta e, depois disso, recebemos a mensagem de alerta, barra verde e a hora do alerta. Este é um exemplo de como você configura o alerta usando a função de condição de alerta. Por fim, vamos analisar como configurar um alerta para o evento de preenchimento de pedidos na estratégia. Aqui, temos a str uma estratégia simples que é criada e adicionada ao gráfico Depois disso, clicamos nesse relógio com o botão de alerta adicional para adicionar a configuração config ert a essa estratégia Quando fazemos isso, obtemos essa configuração de alerta. Formulário. Em seguida, devemos selecionar o script. Nesse caso, roteiro de estratégia. A estratégia estratégica, tudo sob encomenda, parece que o evento Sim, só pode ser criada para as estratégias. Portanto, selecionamos a estratégia nessa condição. Caixa combinada. Depois disso, definimos a data de expiração para tudo, especificamos o nome do ert para o próximo parâmetro e especificamos a mensagem de alerta. Essa mensagem de alerta pode usar determinadas variáveis localizadas dentro dos colchetes duplos. Você pode usar os parâmetros da estratégia, como ação do pedido, número de contratos, posição e tamanho. Além disso, você pode especificar o horário do preço de fechamento e alguns outros parâmetros, e esses parâmetros serão convertidos em texto sempre que esse alerta for executado e exibido. E o alerta estratégico será acionado. Na estratégia, sempre que o evento de preenchimento do pedido acontece, o evento preenchimento do pedido acontece, sempre que a posição da estratégia muda. Por exemplo, compra de estratégias, alguns contratos ou ações ou vende alguns contratos ou interrompe ou fecha todas as posições, mudanças de posições, estratégia aciona um evento e, sempre que você se associar à configuração do alerta estratégico, o alerta será executado e você será notificado Resumindo esta lição, apresentamos uma visão geral de como configurar e usar alertas com funções de alerta e condição de alerta e evento de arquivo de pedido na estratégia do Pine Script Além disso, aprendemos que os alertas são executados no servidor, independentemente de o usuário estar logado ou não, e independentemente de o usuário fazer alguma modificação no código ou no gráfico após a configuração e o início do alerta Por fim, estudamos como configurar notificações de alerta. Este é o fim desta lição, e nos vemos na próxima. 27. Aula 27: como configurar e usar alertas com função de alerta (): Olá, bem-vindo a esta lição, como configurar e usar alertas com a função Allert. Esta lição consiste nas seções a seguir. Na primeira seção, apresentarei os alertas usando a função Alert. próximas duas seções, um estudo prático sobre como atualizar o script Pine e adicionar chamadas de função Allert nesse script Pine Na próxima seção, demonstrarei como configurar o alerta com a caixa de diálogo de criação de alertas. E associe essa configuração do Allert aos alertas do script pine Na última seção, resumirei como usar o alerta com a função de alerta . Então, vamos começar. Vamos usar esse indicador simples para demonstrar como usar alertas com a função de Esse indicador traça diferentes tipos de coluna, como você vê neste gráfico, dependendo se a barra está para cima, para baixo ou plana Sempre que a barra do mercado está baixa, ela traça a coluna vermelha, sempre que a barra do mercado está alta, ela traça a coluna verde, sempre que o mercado está plano, ela traça a coluna com Como você pode ver neste indicador, temos essa função de comutação que retorna a direção da barra. Sempre que as barras se levantam, ela retorna um, sempre que as barras caem, retorna menos Caso contrário, quando o mercado desliza, ele retorna zero e, dependendo da direção da barra , traça uma coluna com cores diferentes Digamos que queiramos criar uma aut para cada barra, cada barra com uma cor diferente nesse indicador e dizendo nesse alerta se a barra está para cima, para baixo ou plana Portanto, é conveniente colocar esse alerta sob diferentes condições dentro dessa função de comutação Sabemos que sempre que a barra está aberta, ela retorna uma. Portanto, é benéfico criarmos chamada de alerta sob essa condição. Vamos fazer isso. Vamos usar função Alert aut, vamos configurar uma mensagem aqui A massagem será a última barra a chegar. A última barra de massagem está pronta. Depois disso, precisamos especificar a frequência. Como você vê, podemos frequentar sempre que isso for acionado. A frequência pode ser que tudo seja 1/bar ou 1/bar próximo Vamos usar 1/bar close. Vamos copiar isso. E insira essa configuração de parâmetro aqui. Agora, esse alerta será acionado sempre que fechar for maior que aberto Vamos acionar um alerta diferente sempre que a barra estiver inativa. Aqui, sempre que fechar for zero do que abrir, queremos ser notificados com a mensagem. L at bar está desativado. Com a mesma frequência quando o bar liga. A última barra da chamada de alerta final está plana. Sempre que a barra não está nem para cima nem para baixo, ela é plana. Especificamos no código várias chamadas de alerta usando a função de alerta Vamos salvar esse script. Agora, precisamos especificar a configuração allt correspondente associada a esse script e a todas as chamadas, para que esses alertas sejam realmente Para adicionar a configuração de alerta, a este script e a essas chamadas de alerta. Precisamos adicionar a configuração de alerta. Precisamos garantir que, antes de tudo, esse script seja adicionado ao gráfico. Ele foi adicionado agora. Depois disso, para adicionar um alerta, você pode clicar nesse botão de alerta. Essa é uma maneira de fazer isso. Outra forma é clicar nesse botão de alertas e, em seguida, clicar nesse botão de adição para adicionar a configuração de alerta associada a esse script. E com essa chamada de alerta. Em seguida, vamos configurar a condição. Clicamos nessa caixa de combinação e precisamos selecionar o nome do nosso script Barra de alertas de aula para cima e para baixo. Esse é o nome do nosso script. Precisamos selecioná-lo. Depois disso, precisamos selecionar outro item na próxima condição. Precisamos selecionar qualquer chamada de função de alerta, que significa que todas as chamadas de alerta do nosso script serão associadas a essa configuração de alerta Em seguida, podemos configurar sempre que quisermos que esse alerta expire Em seguida, após o parâmetro final aqui nesta etapa de configuração, podemos configurar o nome do alerta. Vamos chamá-la de barra de alerta para cima e para baixo. Vamos clicar em Criar. Após a criação semanal, esperamos que o alerta seja adicionado a essa lista de alertas. Nesta guia de alertas. Como você pode ver, o alerta está ativo, o que significa que ele gerará alerta sempre que determinadas condições forem atendidas. Em seguida, podemos simplesmente configurar. Podemos alterar o alerta se precisarmos alterá-lo ou podemos alterar a forma como queremos que esse alerta seja notificado. Não vamos mudar nada no momento porque não precisamos, mas precisamos garantir que o aplicativo de notificação e, por exemplo, pop-up de exibição esteja ativado, esse pop-up de exibição esteja ativado e você receberá uma notificação. Na plataforma de visualização de negociação, sempre que o alerta for executado. Esse alerta está ativo no momento e esperamos que ele seja acionado sempre que determinada condição for atendida. Precisamos esperar até que a barra chegue e esperamos que a mensagem correspondente seja exibida nesta tela. Atualmente, vemos que essa é uma barra de 1 minuto e, sempre que a barra é fechada , e, sempre que a barra é fechada , esse alerta pode ser acionado porque especificamos a frequência de fechamento de 1/bar em cada alerta. Podemos ver que o alerta acabou de ser acionado. Nessa mensagem de alerta, recebemos o alerta e o nome do par, nome do mercado em que temos esse alerta. Associado a um teorema do mercado de USD. Recebemos aqui o nome da barra altert, d para cima e para baixo Esse é o nome do alerta. A próxima linha é a mensagem de alerta. A última barra está desativada. A hora em que esse alerta foi acionado. A última barra foi lida. Na verdade, a última barra estava fechada, então Aert está correto. Eu demonstrei como configurar chamadas de alerta a partir do script e como configurar o alert. E associe esse alerta à chamada das funções de alerta do script. Resumindo esta lição, estudamos como criar um alerta com a função de alerta e como configurar esse tipo de alerta com o formulário de diálogo de criação de alerta Eu demonstrei como esse alerta é executado e o usuário recebe uma notificação pop-up. Usar a função de alerta pode ser muito benéfico quando determinados eventos comerciais ou de mercado ocorrem determinados eventos comerciais ou de mercado sob determinadas condições, e o usuário deseja ser notificado sobre isso, utilizando uma variedade de tipos de notificação Este é o fim desta lição e nos vemos na próxima. 28. Aula 28: como configurar e usar alertas com a função alertcondition(): Olá e bem-vindo a esta lição, como configurar e usar alertas com a função de condição de alerta. Esta lição consiste nas seguintes seções. Na primeira seção, apresentarei os alertas usando a função de condição de alerta. Na próxima seção, demonstrarei como criar chamadas de função de condição de alerta no script Pine. Na próxima seção, estudaremos como configurar o alerta com a caixa de diálogo de criação de alerta para funções de condição de alerta. Na última seção, vamos resumir o que aprendemos nesta lição sobre o uso alerta com a função de condição de alerta Vamos começar. Vamos usar esse indicador simples de tocar em barra para testar como a função de condição de alerta funciona e como podemos criar alertas usando funções de condição de alerta. Esse indicador simples traça diferentes tipos de colunas. Para a barra verde, ela traça em verde, para a barra vermelha, ela traça em vermelho e, para a barra plana, ela traça uma coluna de cor cinza Digamos que queremos que, para cada tipo dessa coluna traçada, nosso indicador acione um alerta com a mensagem correspondente Uma coisa importante a lembrar é que função de condição de alerta não pode ser usada no escopo local. Ele só pode ser usado no escopo global. O que significa que, por exemplo, se quisermos colocar a função de condição de alerta no escopo local aqui, ela não funcionará e gerará um erro para nós. Não vai compilar Portanto, precisamos usar o escopo global. Criaremos chamadas de função de condição de alerta no escopo global. Então, condição de alerta depois disso, vamos especificar cada parâmetro. A primeira condição é que já tenhamos atribuído valores correspondentes à variável de direção da barra. Portanto, não precisamos verificar cada uma dessas condições no switch novamente. É suficiente verificarmos o valor dessa variável para determinar se a barra está acima e abaixo. Se a direção da barra for uma, significa que a barra é verde. O título estará alerta na barra verde. Este é o título e a mensagem da mensagem será uma barra verde. Dessa forma, configuramos uma chamada a partir do nosso script. Com certas condições, título e mensagem. Agora vamos configurar duas outras chamadas de condição de alerta para duas outras condições restantes para a barra vermelha e para a barra de inundação Para a barra vermelha, temos condição de que a direção da barra seja igual a menos um. Então, vamos corrigir a mensagem, a mensagem e o título dessa chamada de condição de alerta Para a direção da barra de inundação, é igual a zero Portanto, alerta na barra de inundação é o nome ou título da nossa condição de alerta, e a mensagem será barra de inundação Criamos três chamadas de alerta, três chamadas de condição de alerta para cada tipo de bar. Este indicador está traçando as barras vermelha, verde e de inundação . Vamos salvá-lo. Agora, queremos criar uma configuração de alerta associada usando a configuração de alerta associada caixa de diálogo de criação de alerta. Podemos pressionar essa parte inferior para criar a configuração associada para nossas chamadas de condição de alerta. A próxima etapa será selecionar o nome do script. No nosso caso, é uma barra de alertas de aula para cima ou para baixo. Depois disso, podemos ver que temos aqui três títulos de condições de alerta. Isso significa que para cada chamada de condição de alerta do nosso script, precisamos criar uma configuração de alerta separada. Vamos começar a criar a partir do primeiro alerta na barra de inundação. Então, vamos preencher o nome do alerta. Alerta de inundação e gatilho quando o bar é fechado, mas você pode escolher o que quiser em seu script Você pode escolher outros gatilhos, se necessário. Criamos Agora esperamos que essa nova configuração seja criada e precise estar ativa. Agora, podemos interrompê-lo se não quisermos que ele seja executado temporariamente ou clicar em reiniciar se você quiser que o alerta fique ativo novamente para ser reiniciado Agora, vamos criar duas outras configurações de alerta para duas outras chamadas de condição de alerta Outra forma de criar uma configuração de alerta associada é pressionar esse botão de alerta. Agora selecionamos o nome do nosso script e agora selecionamos o segundo alerta de condição de alerta na barra verde Vamos definir o nome desse alerta e definir o gatilho quando estiver na barra. Ele estará ativo, mas queremos posar e testá-lo mais tarde. Depois de concluirmos a configuração todas as condições de alerta do nosso script Vamos criar a última configuração de alerta para a barra vermelha. Uma vez por barra, feche o gatilho e o nome da barra vermelha será barra vermelha ert I. Agora vamos começar todas elas Clicamos em reiniciar e clicamos em reiniciar. Agora, esperamos ver a mensagem de alerta correspondente sempre que uma dessas condições for verdadeira e, quando a barra for fechada, esperaremos ver a mensagem de alerta correspondente. A barra está se formando. O bar ainda não está fechado. Esperamos que, sempre que a barra atual for fechada, qualquer uma dessas condições seja verdadeira e isso acionará o alerta. Como temos, todas essas três configurações de alerta estão configuradas e correspondem a cada chamada de condição de alerta do nosso script Você pode ver que temos um alerta acionado aqui com as seguintes informações. Alerta ativado e negociação, no nosso caso, I D. Em seguida, na próxima linha, você pode ver o alerta da barra verde, que é o nome do alerta. O nome da barra verde do Alert configurada é a mensagem de alerta e, depois disso, podemos ver a hora em que o alerta foi acionado Esta é a demonstração como configurar chamadas de condição de alerta a partir do indicador e a demonstração de como configurar como configurar a cada chamada de condição de alerta configuração correspondente de cada chamada de condição de alerta usando a caixa de diálogo de criação de alertas. Podemos pausar todos os alertas agora porque não precisamos deles no momento Resumindo esta lição, estudamos como criar um alerta com a função de condição de alerta e como configurar esse tipo de alerta com a caixa de diálogo de criação de alerta É importante lembrar que a função de condição de alerta funciona somente no indicador Não funciona em estratégias. Para cada indicador de chamada de condição de alerta, você deve configurar uma configuração de alerta separada com o formulário de diálogo de criação de alerta Eu demonstrei como esse alerta é executado e o usuário recebe uma notificação pop-up. Usar a função de condição de alerta pode ser muito benéfico quando ocorrem determinados eventos de negociação ou de mercado e sob certas condições. Além disso, o usuário deseja configurar uma configuração de alerta separada para cada chamada da função de condição de alerta. Depois que essa configuração de alerta for concluída, usuário será notificado quando o alerta for acionado por uma variedade de notificações configuradas de diferentes tipos. Este é o fim desta lição, e nos vemos na próxima. 29. Aula 29: como configurar e usar alertas em estratégias de preenchimento de pedidos: Olá, bem-vindo a esta lição sobre como configurar e usar alertas em estratégias no evento de preenchimento de pedidos Esta lição consiste nas seguintes seções. Primeiro, apresentarei alertas de estratégia no evento de preenchimento de pedidos e, em seguida, estudaremos como configurar alertas de estratégia no evento de preenchimento de pedidos Depois disso, resumirei a lição sobre o uso de alertas estratégicos. Vamos começar. Vamos usar essa estratégia simples para demonstrar como usar o alerta estratégico. Essa barra de estratégias para cima e para baixo gera um sinal longo em cada barra verde e gera um sinal curto de célula em cada barra vermelha. Sempre que a cor da barra muda , a estratégia fecha tudo, fecha a posição e estabelece a posição de Como você pode ver aqui, a direção da barra é igual a um, significa fechar maior do que abrir, o que significa que a barra é verde, então ela gera um sinal longo e gera um sinal curto, sempre que a direção da barra é menos um, significa fechar menos E nesse caso, ele gera sinal curto de célula. Sempre que você cria alertas de estratégia, não há necessidade de fazer nenhuma chamada de função f específica de uma estratégia relacionada ao alerta. Você usa a estratégia como está, e a ideia é que, sempre que a posição da estratégia mudar, evento ordene se acontecer, e o alerta criado capturará esse evento e nós executaremos o alerta estratégico. Vamos ver como fazemos isso. Essa estratégia gera negociações em cada barra. Portanto, é fácil demonstrar como usar o alerta estratégico usando essa estratégia de barra para baixo. Para criar um alerta estratégico relacionado à estratégia. Vamos para a etapa Alerta e clique no botão Criar alerta Depois disso, estabelecemos condições. Parâmetro, selecionamos nossa estratégia, menos barra de estratégia de alerta acima para baixo. Depois disso, vamos criar o nome do alerta, vamos chamá-lo de strategy bar down lot. Depois disso, podemos ver que o alerta de estratégia pré-criado já é uma mensagem para nós. Podemos deixar a mensagem como esta ou podemos atualizá-la se precisarmos. Como você pode ver, essa mensagem está usando parâmetros, certas variáveis que serão convertidas em texto sempre que essa mensagem for gerada para o alerta str. Nossa mensagem de alerta de estratégia conterá esses valores de parâmetros, valores de parâmetros como pedido, ação, número de contratos, tamanho da posição e ticker É assim que você configura seu alerta para a estratégia. Vamos clicar em Criar. Agora, esperamos que ele apareça acima e que o alerta de estratégia esteja ativo. Agora, sempre que a barra fechar, esperamos receber o alerta de estratégia correspondente Então, vamos ver como isso vai funcionar para nós. O que esperamos obter aqui se esse bar for fechado em verde. Então, esperamos que mais um contrato seja adicionado a essa posição. posição anterior era sh e a nova posição será longa. Precisamos esperar até que esse bar feche. bar foi fechado, o que temos aqui, nova posição estratégica é a que esperamos. Como isso aconteceu. Isso aconteceu por meio da execução de uma ordem por meio de dois contratos dois contratos, porque a posição anterior era curta, barra anterior foi lida. posição anterior era menos um, e para obter a posição final, um, tivemos que comprar dois contratos menos um mais dois, e obtivemos a posição final Atualmente, nossa estratégia é longa por um contrato. Vamos parar com esse alerta Agora, dessa forma, demonstrei como configurar o alerta estratégico. Resumindo esta lição, estudamos como criar um alerta em um evento de estratégia de preenchimento de pedidos e como configurar esse tipo de alerta com o formulário de diálogo de criação de alerta Eu demonstrei como esse alerta é executado e o usuário recebe uma notificação de mensagem pop-up. Os alertas de estratégia têm uma configuração simples, pois não exigem nenhuma chamada de função específica do script. Depois que essa configuração de alerta for concluída, crie o formulário de diálogo Aer. O usuário será notificado quando posição da estratégia mudar no evento de preenchimento do pedido e será notificado por uma variedade de notificações configuradas de diferentes tipos. Este é o fim da aula, e nos vemos na próxima. 30. Aula 30: resumo dos principais tópicos deste curso: Olá. Bem-vindo a esta lição. Resumo das principais conclusões deste curso. Vamos abordar os principais tópicos abordados neste curso. Principais tópicos que estudamos neste curso. No primeiro capítulo deste curso, fiz uma visão geral desses objetivos do curso e dos principais tópicos No próximo capítulo, estudamos os fundamentos da programação para negociar o novo Pine Script Especificamente, apresentei o editor de scripts Pine e seus recursos. Depois disso, estudamos o guia passo a passo sobre a criação do primeiro script Pine, depois abordamos a compreensão fundamental dos indicadores e estratégias e, em seguida, exploramos modo de execução do script Pine e os fundamentos das séries temporais. Depois disso, abordamos as estruturas básicas do Pinscript, incluindo identificadores, operadores e declarações ribais Em seguida, aprendemos exploração aprofundada de estruturas condicionais, loops e sistema de tipos Depois disso, abordamos uma compreensão abrangente dos tipos de script pine, qualificadores e da importância do valor de NA Em seguida, dominamos o uso de tuplas e a criação de funções definidas pelo usuário Depois disso, começamos a estudar como desenvolver indicadores e especificamente, como criar um ADX DMI de média móvel avançada Em seguida, começamos a estudar como criar testes retroativos, testes avançados e otimizar a estratégia de negociação. E, particularmente, o desenvolvimento da estratégia de negociação usando médias móveis Em seguida, analisamos a ferramenta de teste de estratégia Pine Script e, depois disso, forneci a você guia detalhado sobre estratégias de backtesting e forward testing Em seguida, estudamos técnicas para otimizar as estratégias de negociação No próximo capítulo, estudamos como criar estratégias de negociação avançadas no Pine Script. Criamos três estratégias de negociação avançadas. Primeiro, abordamos e estudamos o guia passo a passo para desenvolver uma estratégia de negociação com base no indicador ADX VMA Em seguida, construímos uma estratégia de negociação usando vários indicadores de média móvel. Finalmente, aprendemos um tutorial aprofundado sobre desenvolvimento de uma estratégia sofisticada baseada no indicador Mac D. No capítulo principal final, estudamos alertas na negociação via Pine Screen. E, particularmente, entendemos o papel dos alertas no script Pie Depois disso, tivemos uma aula de implementação prática de alertas usando a função de alerta Em seguida, estudamos como utilizar função de condição de alerta para configurar alertas. Por fim, aprendemos como implementar alertas na estratégia com base nos eventos do arquivo de pedidos. No geral, o curso de programação avançada Master trading view Pine Script forneceu uma abrangente e aprofundada exploração abrangente e aprofundada da programação do Pine Script, dedicada tanto a usuários iniciantes quanto a usuários mais experientes, que buscam técnicas avançadas. Este curso começou com uma introdução perspicaz, preparando o terreno para uma jornada por uma complexidade de visões comerciais do script Pine Ele abordou o essencial, começando com o editor de scripts Pine, orientando você na criação de seus scripts iniciais e introduzindo os principais conceitos relacionados a indicadores e estratégias À medida que o curso progredia, você se aprofundou nos detalhes da execução do script Pine, na análise demorada e nas estruturas fundamentais do script Pine, incluindo identificadores, incluindo identificadores, aparadores As aulas sobre estruturas condicionais, loops e o sistema de tipos da escrita Pine ampliaram e alcançaram a compreensão dessa linguagem de script a compreensão dessa linguagem de O curso enfatizou o aprendizado prático, permitindo que você domine a criação e as funções definidas pelo usuário, estabelecendo as bases para esforços script mais avançados Uma parte significativa do curso foi dedicada à criação de indicadores avançados e estratégias de negociação no script Pine. Desde a construção e movimentação do indicador ADX DMI até a elaboração estratégias complexas, como várias estratégias MA Pyramid e Você adquiriu as habilidades necessárias para desenvolver ferramentas sofisticadas para análise de mercado e tomada de decisões. Este curso foi além da mera compreensão teórica, incorporando aulas práticas sobre backtesting, forward testing e otimização de estratégias de negociação, fornecendo uma visão abrangente desenvolvimento e implementação da estratégia Além disso, o curso abordou o aspecto crítico da incorporação de alertas às estratégias do Pine Script Você obteve informações sobre os tipos de alertas disponíveis. Seu papel em indicadores e estratégias e aulas práticas sobre a configuração alertas usando funções como alerta e condição de alerta As aulas finais abordaram o uso de alertas e estratégias com base na ordem dos eventos Oferecendo um guia abrangente para aproveitar alertas para sinais de negociação eficazes e automação comercial Em essência, este curso equipou você com o conhecimento e as habilidades necessárias para navegar programação do script Pi com confiança. Seja criando indicadores complexos, desenvolvendo estratégias de negociação avançadas ou integrando sistemas de alerta, você surgiu com uma base sólida no script Pi que contribui significativamente para sua capacidade de criar e implementar estratégias de negociação bem-sucedidas da plataforma de visualização de negociação Este é o fim desta lição, e nos vemos na próxima. 31. Aula 31: recursos para aprendizagem e desenvolvimento adicionais no TradingView Pine Script: Olá, bem-vindo a esta lição, recursos para maior aprendizado e desenvolvimento em Trading view Pin Script. À medida que você continua aprendendo e desenvolvendo suas habilidades no script Trading View Pin, há uma variedade de recursos disponíveis para ajudá-lo a melhorar e se manter atualizado. Aqui estão alguns recursos recomendados para aprendizado e desenvolvimento adicionais no Trading view Pin Script. Número um, o site Trading View. O site de visualização disponível na visualização de negociação que comprova uma riqueza de informações sobre o script Pine, incluindo documentação, tutoriais e exemplos. É um ótimo lugar para começar a aprender e desenvolver suas habilidades. Segundo recurso, a visão comercial Pine Script Community. A comunidade Trading View Pine Script disponível em tradingviw.com slash scripts é um fórum onde você pode fazer perguntas, compartilhar seus scripts e aprender Terceiro recurso, tutoriais e exemplos do Pincript e Há muitos tutoriais e exemplos do Pine Script disponíveis no YouTube Essa é uma maneira fácil de aprender e ver o roteiro em ação. Recurso número quatro, prática. O mais importante é praticar, praticar, praticar. Quanto mais você praticar a escrita de textos em linha, melhor você se tornará nisso E quinto recurso para aprender sobre análise técnica e indicadores, recomendo a seção Chart School no site stockcharts.com, disponível em school stochars.com Lá, você encontrará informações detalhadas sobre cálculo, interpretação e sinais de negociação de uma ampla gama de indicadores técnicos, como média móvel, RSI, ADX, etc Ao utilizar esses recursos e continuar praticando, você poderá aprimorar suas habilidades e desenvolver seus próprios indicadores, estudos e estratégias personalizados para analisar mercados financeiros e tomar decisões comerciais Este é o fim deste curso. Parabéns. Desejo a você tudo de bom e feliz programando e negociando.