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.