Monday 14 August 2017

Sistema De Negociação P3 T3


Alguém pode me ajudar a descobrir o ângulo (em graus) das linhas de média móvel (ou outras linhas para esse assunto). Eu basicamente quero saber o ângulo que faz de dizer um dia para outro, ou de uma hora para outra. E gostaria de construir uma estratégia com base em se o ângulo é íngreme ou plano. Alguém tem uma idéia ou mesmo um código de exemplo. Da geometria, sabemos que um ângulo de tal triângulo que você está descrevendo é simplesmente uma tangente. Então tente isso: x várias barras no passado. Para mais cálculos ou exibições não há necessidade de converter Tangente em Graus, a menos que você deva. Eu também estava interessado em determinar o ângulo, no entanto, eu não acho que quottimequot é uma boa escolha, pois ele terá um ângulo diferente (para a mesma raiva de pip) para diferentes momentos. O que é quotstandardquot é a distância real do gráfico (pixel) que compõe cada intervalo de tempo (5M, 15M, etc.). E mesmo nisso, o intervalo muda com base na faixa de preço do gráfico para quantos pips são representados por eah horz. grade. Eu acho que é preciso para o ângulo, em todos os cronogramas. É preciso saber quantos pips fazer uma horz. grade. E então (de alguma forma) determinam uma distância simular para a grade vertical. Possivelmente usando uma linha de 45 graus para fazer a medida (horz. E vert. Distância precisaria ser igual a obter uma linha de 45). Além disso, considero o produto tangente expresso em radianos. Não graus. Mas eu posso estar enganado. Qualquer pensamento - acho que penso ser preciso para o ângulo, em todos os cronogramas. É preciso saber quantos pips fazer uma horz. grade. E então (de alguma forma) determinam uma distância simular para a grade vertical. Possivelmente usando uma linha de 45 graus para fazer a medida (horz. E vert. Distância precisaria ser igual a obter uma linha de 45). Além disso, considero o produto tangente expresso em radianos. Não graus. Mas eu posso estar enganado. Qualquer pensamento - bem, você está misturando a geometria matemática com uma visualização. O tempo é constante e é absoluto como variável independente, portanto, é o valor horizontal apropriado de um gráfico. O valor da pip também é constante no símbolo específico como variável dependente, portanto, é o valor vertical apropriado de um gráfico. Portanto, PipsTime é expressão adequada para a tangente de um ângulo. Para fins de cálculo, a tangente permanece constante, independentemente do período, porque Timei e Pips são Highi são constantes em M1 e H1. Não há mudança de tangente ao mudar de M1 para H1 e vice-versa. Claro que você deve compensar o turno: ou seja, o tempo M1 Timei de M1iBarShift (símbolo, M1, Timei de H1) para encontrar o tempo M1 absoluto e, ao contrário, o tempo H1. Portanto, a tangente de um ângulo (pipstime) calculado em M1 pode ser usada, digamos H1 ou D1. No entanto, a visualização é outra questão. Se você desenhar duas linhas de tendência (p1t1 - p2t2) e (p3t3 - p4t4), elas terão uma tangente constante de um ângulo entre si, independentemente da exibição em M1 ou H1, mas elas podem parecer diferentes na tela. Isso não deve enganar você porque a visualização tem a ver com matemática ou geometria real. A visualização é simplesmente uma distorção da realidade. O mercado FX é simplesmente função do tempo ou, como nós dizemos os americanos: quotTime é moneyquot, acho que seja preciso para o ângulo em todos os cronogramas. É preciso saber quantos pips fazer uma horz. grade. E então (de alguma forma) determinam uma distância simular para a grade vertical. Possivelmente usando uma linha de 45 graus para fazer a medida (horz. E vert. Distância precisaria ser igual a obter uma linha de 45). Além disso, considero o produto tangente expresso em radianos. Não graus. Mas eu posso estar enganado. Qualquer pensamento - bem, você está misturando a geometria matemática com uma visualização. O tempo é constante e é absoluto como variável independente, portanto, é o valor horizontal apropriado de um gráfico. O valor da pip também é constante no símbolo específico como variável dependente, portanto, é o valor vertical apropriado de um gráfico. Portanto, PipsTime é expressão adequada para a tangente de um ângulo. Para fins de cálculo, a tangente permanece constante, independentemente do período, porque Timei e Pips são Highi são constantes em M1 e H1. Não há mudança de tangente ao mudar de M1 para H1 e vice-versa. Claro que você deve compensar o turno: ou seja, o tempo M1 Timei de M1iBarShift (símbolo, M1, Timei de H1) para encontrar o tempo M1 absoluto e, ao contrário, o tempo H1. Portanto, a tangente de um ângulo (pipstime) calculado em M1 pode ser usada, digamos H1 ou D1. No entanto, a visualização é outra questão. Se você desenhar duas linhas de tendência (p1t1 - p2t2) e (p3t3 - p4t4), elas terão uma tangente constante de um ângulo entre si, independentemente da exibição em M1 ou H1, mas elas podem parecer diferentes na tela. Isso não deve enganar você porque a visualização tem a ver com matemática ou geometria real. A visualização é simplesmente uma distorção da realidade. O mercado FX é simplesmente função do tempo ou, como nós dizemos os americanos: quotTime é moneyquot. Isso é uma ótima explicação, mas não baseamos nossas entradas em informações visuais. Para um indicador particular que usa ângulo, nós olhamos essa informação visual, e entram se Atende a certos critérios visuais. Sua fórmula é muito útil, vou aplicá-la ao meu indicador e ver o que ele produz para um ângulo. Obrigado pela resposta Isso é uma ótima explicação, mas não baseamos nossas entradas em informações visuais Sim, nós fazemos No entanto, não importa o que você vê porque uma visão distorcida não influenciará sua estratégia comercial. Pense nisso desta maneira: o gráfico é grade de tempo com certa relação de aspecto. Enquanto a relação de aspecto for 1: 1, então você não tem exibição de distorção. Portanto, a distorção é causada pela relação de aspecto não pela mudança de pontos desenhados na grade de tempo, eles permanecem constantes. Portanto, quando você desenha sua estratégia no gráfico, você está conectando as coordenadas de grade de tempo por dados de olho fornecidos pelo mercado com os mesmos valores de grade. Uma vez que você desenha sua linha de tendência com base em sua estratégia entre dois pontos, você criou uma tangente de ângulo e tempo. Tomar essa tangente e, inversamente, multiplicá-la por um tempo futuro, você irá dar-lhe valor naquele momento. Observe que a mudança em uma relação de aspecto não alterará o resultado do seu gráfico. Para um indicador particular que usa o ângulo, olhamos para essa informação visual e insira se atende a determinados critérios visuais. Então, quem se importa se 10 na proporção 1: 1 parece 20 na relação de aspecto 2: 1 Atrás de toda essa distorção angular é uma tangente que é constante representando sua base de estratégia visual ao conectar dois pontos de vela para obter um ponto desconhecido no futuro com base em interpolação linear. Há algum tempo, propus a Slawa implementar a função trend-sign-function (uma onda) além da função line-trendline-line para que você possa prever o valor futuro com base na ondulação, freqüência ou ciclo de tempo, o que seria uma previsão mais precisa Porque os dados do mercado são uma soma de ciclos e seu harmônico criado por comerciantes em todo o mundo que estão todos sincronizados pelo uso dos mesmos quadros de tempo M1, M5, M15, M30, H1, H4. Observe que a onda contém ambos os valores do ASAM do amplificador BID onde a linha contém apenas BID ASK valor. MetaTrader 5 - Indicadores Canais de desenho - Vista interna e externa Introdução Eu acho que não será um exagero, se eu disser que os canais são a ferramenta mais popular para o Análise do mercado e tomada de decisões comerciais após as médias móveis. No primeiro artigo da série, dedicado aos canais, vamos discutir a base matemática e a implementação teórica de um indicador que desenha um canal definido por três extremums na tela do terminal do cliente. À primeira vista, o desenho de um canal parece ser uma tarefa fácil, uma vez que se baseia na equação de uma linha reta, que é ensinada na escola primária. No entanto, sua implementação prática no terminal do cliente envolve muitas questões que não podem ser respondidas diretamente. Como organizar a definição de extremum e rastrear suas mudanças da melhor maneira O que fazer e como desenhar um canal, se sua parte do meio estiver nas barras perdidas. E se o extremum esquerdo de um canal for na sexta-feira e o direito é Na segunda-feira, então os dias de folga sem barras estão entre eles. Como podemos obter os valores atuais das fronteiras de um canal. Estas e algumas outras perguntas são respondidas no primeiro artigo da série de artigos sobre canais. Aqui você também pode encontrar a implementação de desenho de canais por três extremums especificados usando as classes padrão e a abordagem orientada a objetos. Nós vamos implementar a gaveta do canal sob a forma de um indicador. Definindo Extremums Na verdade, a posição de um canal em um gráfico é determinada por pelo menos três extremums. Se damos uma definição a um extremum, podemos aceitar isso: é o valor máximo ou mínimo de uma função em um determinado intervalo. Um ponto em que um extremum é atingido é chamado de ponto extremum. Respectivamente, se um mínimo é alcançado, o ponto extremum é chamado de ponto mínimo. E se é um máximo, então é chamado de ponto máximo. A análise matemática define outro termo - um extremum local (o mínimo e o máximo, respectivamente). No ponto máximo (mínimo), o valor da função é maior (menor) do que os valores de todos os pontos adjacentes. A definição é de Wikipedia (traduzida do russo). Para fins de desenho de canais, precisamos de extremums locais. Permite mostrar graficamente sem entrar nas fórmulas matemáticas. Na figura 1 localizada abaixo, existem três extremums locais marcados com os níveis de preços vermelhos. Os pontos de retângulo mostram dois máximos e um mínimo: Figura 1. Os exemplos de extremums locais Nem todos os extreum existentes estão marcados no gráfico, apenas os mais significativos. Para um castiçal ou um gráfico de barras, é conveniente usar o termo fractal para definir extremums - quando várias barras adjacentes à esquerda e à direita são estritamente descendentes ou ascendentes (ver fig.1). Uma vez que não temos um propósito de fazer uma gaveta de canal automática, a posição dos extremums será configurada como se mostra na fig. 1 - pela posição nos eixos de tempo e preços. Os mais adequados para este fim são rótulos de preços - os objetos gráficos especiais do terminal do cliente MetaTrader 5. Um rótulo de preço possui propriedades de coordenadas de tempo e preço, o que permite identificar definitivamente um ponto de extremidade em um gráfico. O objeto para armazenar extremums é a classe TExtremum. O primeiro a fazer é desenvolver uma classe de contêineres para armazenar extremums e uma classe para manipular um grupo de extremums. Uma vez que vamos usar as classes padrão incluídas no terminal tanto quanto possível, a classe TExtremum será herdada do CObject classe padrão. A descrição da nossa classe é dada abaixo: a maioria dos métodos são triviais e não vale a pena prestar atenção à sua implementação. O que devemos demorar é o método TExtremum :: Compare. Esse método é declarado na classe CObject e é usado para classificar dentro de uma lista. Nós implementamos da seguinte maneira: O modo de parâmetro aqui é destinado a definir uma direção de classificação. Se for maior que zero, então a classificação é direta (ascendente), caso contrário, é reverso (descendente). Além disso, existem dois métodos destinados a salvar um extremum. Permite armazenar o nosso extremo em variáveis ​​globais. Aqui estão esses métodos: Dois métodos de leitura escrita em variáveis ​​globais TExtremum :: LoadExtremum e TExtremum :: SaveExtremum retornam verdadeiro em caso de execução bem-sucedida. Manipulando a Lista de Extremums - a classe TExtremumList Uma vez que precisamos de armazenamento e classificação de extremums por tempo, devemos herdar a classe TExtremumList do class CList padrão. Com esta herança, obtemos um manipulador universal de extremums sem limites em seu número e tipo. Isso permite uma maior expansão do número de canais que são desenhados. Por exemplo, podemos adicionar o desenho do canal se regressão não linear por vários extremums. A descrição desta classe é dada abaixo: O método principal da classe é TExtremumList :: AddExtremum. É destinado a adicionar um novo extremum à lista. A classificação dos extremums na lista pelo ponto extremum é realizada após a adição. O código deste método é dado abaixo: Os seguintes métodos da classe base são usados ​​aqui: CList :: Add - para adicionar um novo elemento à lista e CList :: Sort - para selecionar elementos na lista. O método TExtremum :: Compare é usado no CList :: Sort. Vamos dar uma olhada no método de procurar um extremum com o tempo especificado na lista TExtremumList :: FindExtremum. O código do método é dado abaixo: Os seguintes métodos da classe base são usados ​​aqui: CList :: GetFirstNode - para obter o primeiro elemento da lista (se a lista estiver vazia, ele retorna um ponteiro zero) e CList: : GetNextNode - para obter o próximo elemento da lista (se não houver nenhum elemento seguinte e a lista acabada, um ponteiro zero será retornado). Existe um ponteiro para um elemento atual nos dados internos da lista de classes CList. Este ponteiro é alterado ao chamar métodos de mudança na lista (CList :: GetFirstNode, CList :: GetNextNode, CList :: GetPrevNode, etc.). Se nenhum desses métodos já foi chamado antes, o pinter para um elemento atual aponta para o primeiro. No caso de um extremum com o tempo determinado ser encontrado com sucesso, o método TExtremumList :: FindExtremum índice do elemento encontrado. Se não houver tal elemento, ele retornará -1. Os métodos TExtremum :: MakeDTimeName e TExtremum :: MakePriceName são auxiliares. Eles são destinados a obter nomes de variáveis ​​globais que são usados ​​ao salvar e ler extremums. Esses métodos têm a seguinte implementação: Um exemplo de nome obtido: MainChannelEURUSD5DTimeExtr1. Esse nome corresponde a um ponto extremum temporário do canal MainChannel (nome convencional), o símbolo EURUSD, o período de tempo 5M e o número de extremum 1. O número para um extremum é atribuído por ordem de ascensão do seu tempo, a partir de 1. Praticamente , É o índice deslocado em 1 em uma lista ordenada ascendente. Um exemplo de valor de três extremums salvos no terminal é mostrado na figura abaixo: Figura 2. Os extremums armazenados nas variáveis ​​globais As classes descritas acima estão anexadas ao artigo no arquivo ExtremumClasses. mqh. Indicador para configurar os extremos manualmente - ExtremumHandSet Bem, temos tudo o que é necessário para o desenvolvimento do primeiro indicador, usando o qual definiremos a posição dos extremums no modo manual. O código do indicador é anexado ao artigo no arquivo ExtremumHandSet. MQ5. Vamos analisar seu desenho em detalhes. Antes de tudo, podemos imaginar visualmente o que queremos ver na tela: Figura 3. O indicador de configuração de extremums Usando os rótulos de preço à esquerda, estabelecemos posições de extremums nos eixos de tempo e preço do gráfico. O indicador deve determinar a posição desses rótulos no gráfico, exibir pontos de extremidade temporários na tela e salvá-los nas variáveis ​​globais do terminal de clientes no formato descrito acima. Além disso, o indicador deve acompanhar o movimento dos rótulos de preços no gráfico e corrigir os pontos de extremidade temporários carregados. O rastreamento do movimento dos rótulos de preços no gráfico será realizado uma vez por segundo. Isso permitirá que o sistema seja independente de vir de citações e dias úteis de trabalho. Em primeiro lugar, vamos conectar as bibliotecas necessárias: A primeira biblioteca contém as classes para organização da exibição de informações de texto na tela (veja o artigo Crie seu próprio Market Watch usando as Classes de Biblioteca Padrão). Ao usá-lo, vamos exibir os valores de pontos extremum temporários. Em seguida, adicionamos os parâmetros de entrada do indicador (somente os principais são descritos aqui): O primeiro parâmetro PrefixString define um prefixo que é usado para compor nomes de variáveis ​​globais ao escrever um extremum. Também dá a possibilidade de usar vários indicadores desse tipo em um único gráfico. A única coisa a fazer é definir diferentes prefixos para eles. O parâmetro ExtremumPointColor define uma cor para etiquetas de preço à esquerda que determinam a posição dos extremums. Os rótulos de preços devem ser de uma cor especificada. Esta conformidade é verificada no indicador. Os rótulos com diferentes parâmetros são ignorados. O parâmetro ShowInfo controla a exibição das informações de texto sobre os pontos extremum especificados na tela. Em seguida, vamos criar os objetos para exibir informações e manipular os extremums: esses objetos são inicializados no seguinte: Na lista PrevExtrList, carregamos extremums das variáveis ​​globais usando o método TExtremumList :: LoadExtremumList. Esta lista irá armazenar os extremums para compará-los com os novos, que serão lidos a partir de um gráfico ao arrastar os rótulos de preços na tela. A lista CurrExtrList é usada como uma atual, ela armazena extremums atuais. Uma vez que no começo temos apenas os extremos lidos das variáveis ​​globais, eles são considerados como os reais. Na lista NewExtrList, vamos escrever novas extremidades encontradas no gráfico. Examinamos as principais funções que são usadas no indicador. A primeira função FindExtremumPoints é usada para ler e verificar os parâmetros dos rótulos de preços que determinam a posição dos extremums. Em primeiro lugar, a lista NewExtrList é desmarcada chamando o método TExtremumList :: Clear. E então todos os pontos extreum encontrados, que têm os parâmetros especificados, são adicionados a ele. Se o número de pontos encontrados for três, a lista será salva nas variáveis ​​globais e a função retornará verdadeira. A outra função CheakExtremumMoving rastreia o movimento dos pontos extremum no gráfico. Se pelo menos no ponto for movido ao longo do eixo do tempo do gráfico, esta função retorna verdadeira. Seu código é dado abaixo: Consideramos a maneira de definir pontos extremum no modo manual. Temos o indicador pronto que permite controlar esse processo e escrever os pontos nas variáveis ​​globais. O código completo do indicador está no arquivo anexado ExtremumHandSet. mq5. Agora podemos mudar para a parte principal - desenhar um canal. Desenho de um canal - Alguma teoria Um canal linear consiste em duas linhas paralelas que passam estritamente através de pontos extremos. Além disso, uma linha deve passar por dois pontos, e a outra deve passar pelo que é deixado paralelo à primeira linha. Pode ser mostrado em uma imagem simples: Figura 4. Desenho de um canal usando três pontos extremos Como sabemos pela geometria, apenas uma linha reta pode ser desenhada através de dois pontos. Esta linha tem a cor vermelha na fig. 4. É pensado dois pontos que têm as seguintes coordenadas - (T1, P1) e (T2, P2) os pontos são marcados com as letras A e B. A equação desta linha é: (1) P (t) P1 (T - T1) (P2 - P1) (T2 - T1) P (t) aqui é o preço calculado no tempo t. Através do ponto C (o terceiro extremum), devemos desenhar outra linha reta paralela à primeira. Esta linha tem a cor verde na fig. 3. Uma vez que os pontos T1 e T2 são os mesmos para ambas as linhas, devemos encontrar os valores de P1 e P2 (ver figura 4). Antes de avançar, precisamos fazer uma observação importante. O gráfico do terminal não exibe furos de tempo. Por exemplo, os dias de folga, quando as citações não chegam ao terminal, devem ser exibidas como quebras de preços. E é ruim que eles não sejam. Qual é o ponto de olhar para um gráfico vazio No entanto, se usarmos o tempo absoluto na equação acima, obteremos um canal errado. Felizmente, a situação não é desesperadora. Se mudarmos o tempo absoluto para o número relativo de uma barra, então seja capaz de usar essas coordenadas para desenhar um canal, porque a enumeração de barras não pode ter quebras (praticamente, é um índice em uma matriz de preços). Se avançarmos e assumir que o ponto A na fig. 4 sempre está em uma coordenada zero (zero bar) do eixo do tempo, então nossa equação será ainda mais fácil. Então, T10, T3B3,22. 3 e 2 aqui são os números de uma barra relativamente ao ponto 1 (isto é, o ponto zero). É claro que essa suposição não leva à inclinação da linha. Então, obtemos a seguinte equação de uma linha reta que atravessa os pontos A e B: (2) P (n) P1 n (P2-P1) B2, onde P (n) é o preço calculado para uma barra que possui o Número n. Então, conhecemos os valores P1, P2, P3 e B2, B3. Agora precisamos encontrar os valores P1 e P2. Combinando duas equações e resolvendo-as, obtemos as seguintes fórmulas, usando o qual podemos encontrar os valores desconhecidos: (3) P1 P3 - B3 (P2 - P1) B2 Ao encontrar o valor P1 e substituí-lo pela fórmula (4) , Obteremos o valor P2. Agora temos a base teórica para desenhar um canal. Vamos começar a implementá-lo. Bordas do canal de desenho - a classe TChannelBorderObject Esta classe é derivada da classe padrão CChartObjectTrend. Seu objetivo é armazenar todos os parâmetros conectados às bordas de um canal, bem como desenhar a remoção das linhas de borda e controlar os parâmetros gráficos dessas linhas. A descrição desta classe é dada abaixo: Esta classe não precisa de alguns comentários especiais. Vamos prestar nossa atenção apenas ao método de obter o preço da borda em um ponto específico: a função do terminal ObjectGetValueByTime é usada aqui, retorna o valor do preço por um tempo especificado. É conveniente usar as possibilidades do terminal em vez de calcular o valor usando uma fórmula matemática. Desenho de um canal - o Class TSlideChannelObject Esta classe é derivada do class CList padrão. Seu objetivo é seguir: armazenar objetos da classe TChannelBorderObject e executar diferentes ações com eles, calculando pontos para desenhar linhas necessárias que compõem um canal armazenando e modificando os parâmetros de um canal recebendo valores calculados que descrevem um canal desenhado (sua altura, valores de preço em Fronteiras, etc.) O código que descreve esta classe é muito grande para ser mostrado aqui completamente. Aqueles que desejam podem vê-lo no arquivo SlideChannelClasses. mqh anexado ao artigo. Vamos analisar algumas partes principais dela. Em primeiro lugar, está obtendo os valores B2 e B3 nos pontos T2 e T3, respectivamente (ver fig.4). O código a seguir é usado: para evitar uma situação de chamada de barras ausentes, usamos a função Terminal Barras que retorna o número de barras no histórico para um símbolo e um período especificados. Se a informação ainda não for formada, a função retornará um valor zero que é usado para verificação. Se a função retorna um valor diferente de zero, podemos obter os valores 2 e 3. É feito usando a mesma função Barras, mas chamando-a na outra forma. Nós estabelecemos limites de tempo e conseguimos o número de barras dentro desse intervalo. Uma vez que nossa margem esquerda é a mesma, obtemos a mudança nas barras para os pontos 2 e 3. A mudança para o ponto 1 é sempre igual a zero. Agora podemos calcular todo o ponto das linhas de canal. Pode haver no máximo nove deles, uma vez que nosso canal irá exibir (além das bordas superior e inferior) a linha do meio e as linhas de zonas de porcentagem em torno das bordas e da linha do meio. Vamos analisar a parte principal do cálculo. Todo o cálculo está no método TSlideChannelObject :: CalcChannel. Os preços diretos e os preços justos aqui são os arrays que armazenam as coordenadas de preço das nove linhas do canal. A coordenada de tempo de todas as linhas do canal já é conhecida. Em primeiro lugar, determine o coeficiente da inclinação da linha (veja a fórmula (2)) koeffA. Então calculamos o valor do preço da linha AB no ponto T3 (ver figura 4). É feito para determinar, qual tipo de canal é especificado para desenho - por dois máximos e um mínimo ou por dois mínimos e um máximo. Nós verificamos, qual ponto é maior no eixo do preço - o ponto C ou o ponto que tem as coordenadas (P3, T3). Dependendo da sua posição, determinamos se o canal tem o primeiro ou o segundo tipo. Assim que as coordenadas de duas linhas principais do canal (superior e inferior) forem determinadas, o cálculo das coordenadas das outras sete linhas não é difícil. Por exemplo, calculamos as coordenadas da linha do meio usando as coordenadas das bordas superior e inferior do canal da seguinte maneira: Basta tirar o valor médio das bordas superior e inferior do canal. Indicador para desenhar um canal por Extremums especificados - SlideChannel Bem, já temos a classe para desenhar um canal. Agora, vamos escrever um indicador que leia os parâmetros de extremums das variáveis ​​globais e desenhe um canal em um gráfico. Ele será o seguinte: Figura 5. O exemplo de um canal desenhado usando extremums As informações sobre o canal desenhado também são exibidas aqui - sua largura, distância em pontos do preço atual para as bordas do canal e a linha do meio. Permite conectar as bibliotecas necessárias: a primeira biblioteca contém as classes para a organização da exibição de informações de texto na tela (veja o artigo Crie seu próprio Market Watch usando as Classes de Biblioteca Padrão). Ao usá-lo, vamos exibir os valores de pontos extremum temporários. Em seguida, adicione os parâmetros de entrada do indicador (apenas os principais são descritos aqui): o primeiro parâmetro PrefixString. Exatamente como no indicador ExtremumHandSet, define um prefixo que é usado para compor o nome das variáveis ​​globais ao ler extremums. Também dá a possibilidade de usar vários indicadores desse tipo em um único gráfico. A única coisa a fazer é definir diferentes prefixos para eles. O parâmetro ExtremumTimeFrame define um período de tempo, que será usado para ler os pontos extremum das variáveis ​​globais. É um parâmetro muito útil. Ele permite o desenho de canais síncronos em diferentes cronogramas. Por exemplo, se você definir os extremums de H1, você pode desenhar o mesmo canal no prazo M5. Para fazê-lo, basta adicionar o nosso indicador para desenhar canais para o gráfico M5 e exibirá de forma síncrona todas as mudanças. O parâmetro ShowInfo controla a exibição das informações de texto sobre os parâmetros do canal na tela. Em seguida, crie objetos para exibir as informações e desenho do canal: O objeto para desenhar um canal é inicializado da seguinte maneira: Aqui, em primeiro lugar, criamos um canal chamando o método TSlideChannelObject :: CreateChannel. E então definimos os parâmetros necessários da linha do canal. A seqüência de configuração não importa, você pode fazê-lo vice-versa - definir os parâmetros e, em seguida, criar o canal. O parâmetro período de corrente é o período que é usado ao ler extremums das variáveis ​​globais. Pode ser diferente do período de um gráfico atual. Examinamos as principais funções que são usadas no indicador. A primeira função GetExtremums é usada para ler a posição de extremums e atualizar o canal de acordo com os valores obtidos: Para atualizar o canal na tela, usamos o método TSlideChannelObject :: SetExtremums. Este método recalcula as coordenadas das linhas de canal e redrava o canal na tela. Um exemplo de desenho de um canal em intervalos de tempo diferentes é mostrado no vídeo abaixo: A seqüência de indicadores de partida realmente não importa, mas é lógico começar o indicador ExtremumHandSet primeiro e, em seguida, adicionar três etiquetas de preço à esquerda da cor amarela (a cor Dos rótulos é definido nos parâmetros do indicador, a cor amarela é definida como padrão), e o indicador de SlideChannel inicia o canal que desenha o canal pelos extremums especificados. Para que um canal seja desenhado de forma síncrona com os extremos do primeiro gráfico, você deve definir o prazo no parâmetro ExtremumTimeFrame do indicador SlideChannel o mesmo que o do gráfico onde os extremums estão configurados. Isto é o resultado de separar a função de definir os pontos extremum do canal a partir da função de seu desenho na tela do terminal. Conclusão Consideramos o ciclo completo - desde a posição de configuração de um canal na tela até seu desenho. Tudo parecia não ser tão complicado, especialmente quando se utilizam as classes padrão e OOP. Mas há uma questão de questes: como devemos usar os canais para trabalhar no mercado. Em primeiro lugar, são necessários para a análise técnica de um estado atual de um instrumento financeiro. E, em segundo lugar, após a análise, são necessários para tomar decisões. Os canais podem ajudar muito. É possível desenvolver um consultor especialista semi-automático que analisará as bordas de um canal para abrir ou fechar uma posição. Pode funcionar tanto com a passagem de uma borda como com o deslocamento de volta. Este será o assunto do próximo artigo - Métodos de trabalho com um canal - Roll Back and Break Through. The Wendy Kirkland publicação timeline autor analista comerciante Em 2004, quando o furacão Frances e Ivan trouxe um dilúvio de chuva para inundar o presente da nossa família Loja, eu não fazia ideia de que os eventos me ajudariam a redefinir-me. Aos 54 anos, comecei uma jornada que mudou minha vida e a circunstância financeira de nossa família. T3: The Traders Edge pega onde o P3 Squeeze sai do Mapa e Spotting Opções Semanais Oportunidades comerciais Fatos básicos do gráfico para o novo comerciante Gráficos e manchas Opções semanais Oportunidades comerciais apresentou vídeos links rápidos testemunhos Meus cumprimentos para o seu programa. Sem entrar em detalhes demais, o que você conseguiu é exatamente como eu desejo trocar, ou seja, opções de chamadas nulas e encontrar os estoques que aparecem no lado direito de sua base recém formada. Você descobriu através das configurações técnicas como prever com mais precisão os candidatos mais fortes. Estou ansioso para aplicar tudo o que você ensina e deve ser muito gratificante.

No comments:

Post a Comment