Friday 30 June 2017

Volatility Stop Indicator Thinkorswim Forex


Maximize os lucros com as paradas de volatilidade Os comerciantes ativos sobrevivem porque usam a proteção inicial da perda de parada, bem como as paradas de trânsito para se equilibrar ou bloquear os lucros. Muitos comerciantes passam horas aperfeiçoando o que consideram ser o ponto de entrada perfeito, mas poucos passam a mesma quantidade de tempo criando um ponto de saída de som. Isso cria uma situação em que os comerciantes estão certos sobre a direção do mercado, mas não conseguem participar de ganhos enormes porque sua parada final foi atingida antes que o mercado subisse ou quebrasse em sua direção. Essas paradas geralmente são atingidas prematuramente porque o comerciante geralmente o coloca de acordo com uma formação de gráfico ou um montante em dólares. O objetivo deste artigo é apresentar ao leitor o conceito de colocar uma parada de acordo com a volatilidade dos mercados. No passado, a Investopedia abordou o tópico de usar uma parada de volatilidade com base no intervalo verdadeiro médio (ATR). Este artigo irá comparar a parada ATR para outras paradas de volatilidade com base na maior alta, o balanço dos mercados e um ângulo Gann. (Para um primário no ATR, consulte o nosso artigo: Medir a volatilidade com a faixa média verdadeira.) Metodologia de saída As três chaves para o desenvolvimento de uma metodologia de saída de som são para determinar qual indicador de volatilidade usar para a colocação de parada adequada, por que a parada deve ser Colocado desta forma e como essa volatilidade particular pára funciona. Este artigo também mostrará um exemplo de um comércio onde a volatilidade pára lucros maximizados. Finalmente, para manter o artigo equilibrado, discutirei as vantagens e desvantagens dos vários tipos de paradas. Existem essencialmente dois tipos de pedidos de parada. A parada inicial e a parada final. A ordem de parada inicial é colocada imediatamente após a ordem de entrada ser executada. Esta parada inicial geralmente é colocada sob ou sobre um nível de preço que, se violado, negaria o propósito de estar no comércio. Por exemplo, se uma ordem de compra for executada porque o preço de fechamento foi superior a uma média móvel, então a parada inicial geralmente é colocada em referência à média móvel. Neste exemplo, a parada inicial pode ser colocada em um ponto predeterminado sob a média móvel. Outro exemplo seria entrar em um comércio quando o mercado cruzasse um topo de balanço e colocando a parada inicial sob o último fundo de balanço ou comprando em uma linha de tendência de alta com uma parada inicial sob a linha de tendência. Em cada caso, a parada inicial está relacionada ao sinal de entrada. Uma parada final é geralmente colocada após o mercado se mover na direção do seu comércio. Usando a média móvel como um exemplo, uma parada posterior seria abaixo da média móvel como a entrada original apreciada em valor. Para uma posição longa com base na entrada do gráfico de balanço, a parada final seria colocada sob cada fundo posterior mais alto. Finalmente, se o sinal de compra foi gerado em uma linha de tendência de alta, então uma parada final seguiria a linha de tendência em um ponto abaixo da linha de tendência. Determinando uma Parada Em cada exemplo, a parada foi colocada a um preço baseado em uma quantidade predeterminada sob um ponto de referência (isto é, média móvel, balanço e linha de tendência). A lógica por trás da parada é que, se o ponto de referência for violado por uma quantidade predeterminada, a razão original pela qual o comércio foi executado em primeiro lugar foi violada. O ponto predeterminado geralmente é decidido por extensos testes de back-testing. As paradas colocadas dessa maneira geralmente levam a melhores resultados comerciais, pois, no mínimo, são colocadas de maneira lógica. Alguns comerciantes entram em posições e colocam paradas com base em montantes em dólares específicos. Por exemplo, eles fazem um longo mercado e param uma quantia fixa em dólares sob a entrada. Esse tipo de parada geralmente é atingido na maioria das vezes, porque não há lógica por trás disso. O comerciante está baseando a parada em um valor em dólares que pode não ter nada a ver com a entrada. Alguns comerciantes sentem que esta é a melhor maneira de manter as perdas em um nível consistente, mas, na realidade, resulta em parar de ser atingido com mais freqüência. Se você estudar um mercado suficientemente próximo, você deve observar que cada mercado tem sua própria volatilidade única. Em outras palavras, ele tem um movimento mensurável normal. Este movimento pode ser com a tendência ou contra a tendência. Na maioria das vezes, ele é usado em referência a movimentos que estão contra a tendência. Este movimento é referido como um ruído do mercado. Os melhores sistemas de negociação respeitam o ruído e as melhores paradas são colocadas fora do ruído. Um dos melhores métodos para determinar o ruído do mercado é estudar a volatilidade dos mercados. O que esperar A volatilidade é basicamente a quantidade de movimento a esperar de um mercado durante um certo período de tempo. Uma das melhores medidas de volatilidade para os comerciantes de usar é o intervalo verdadeiro médio (ATR). Uma parada de volatilidade leva um múltiplo do ATR, o acrescenta ou o subtrai do fechamento. E coloca a parada a esse preço. O batente só pode mover-se mais alto durante as distâncias acima, mais baixo durante as distâncias baixas ou laterais. Uma vez que a parada final foi estabelecida, nunca deve ser movida para uma posição pior. A lógica por trás da parada é que o comerciante aceita o fato de que o mercado terá ruído contra a tendência, mas multiplicando esse ruído, conforme medido pelo ATR por um fator, por exemplo, dois ou três e adicionando ou subtraindo-o do Certo, a parada será mantida fora do barulho. Ao completar este passo, o comerciante pode manter sua posição mais longa, dando assim ao comércio uma melhor chance de sucesso. Outros tipos de paradas baseadas na volatilidade do mercado são paradas que são calculadas em referência ao maior ou menor baixo durante um período de tempo fixo, uma tabela de balanço que permite que o mercado se mova para cima e para baixo dentro de uma tendência e um Ângulo de Gann que se move a uma taxa de velocidade uniforme na direção da tendência. (Para saber mais sobre os ângulos de Gann, dê uma olhada em nosso artigo: How To Use Gann Indicators.) Exemplos Ao trabalhar com as paradas de volatilidade, é preciso definir claramente os objetivos da estratégia de negociação. Cada indicador de volatilidade tem suas próprias características, especialmente em relação à quantidade de lucro aberto que é devolvido em um esforço para permanecer com a tendência. Figura 1: 2009 Maio SoybeansUPDATE 18 de maio de 2009: Erro corrigido como observado nos comentários abaixo (Obrigado, Jeff) ATUALIZAÇÃO 23 de fevereiro de 2009: opção adicionada para usar HighLow, bem como fechar como o gatilho de comutação de volatilidade. Também alterou 8220AverageTrueRange8221 para a média exponencial de High-Low para que funcione em gráficos de ticks. Este indicador Thinkscript é um ponto de arranque à base de volatilidade, semelhante ao Chandelier Stop. Quando a direção muda de curto para longo (ou vice-versa), o nível de parada inicial é um número especificado de múltiplos do alcance real médio (ATR) das últimas barras 8216n8217. Então o valor é arrastado, ficando mais apertado se a volatilidade diminuir ou o preço se mover para novos extremos. Um fechamento através do nível de parada significa uma mudança de tendência neste indicador, cruzando o valor e fechando de volta do outro lado não. A parte desse indicador que foi complicada é a lógica de parada final, além de mudar a direção do indicador8211long ou curto. O Thinkscript corre de forma muito linear, e você pode definir um indicador em um ponto e, em seguida, alterar o valor em outro ponto. A solução é colocar portas lógicas complicadas na própria definição. Existem duas entradas aqui: O fator ATR e o comprimento para o cálculo ATR. Estes podem ser redefinidos a partir da janela de estudos sem alterar o Thinkscript. Se desejar um valor padrão diferente, altere o código abaixo para o valor desejado. O código pode ser encontrado no meu site do Google. Como isto: Postar navegação Deixe uma resposta Cancelar responder uma coisa muito legal seria ter esta opção atr stop baseada em Heikin Ashi Candle Value8230. Gostaria de doar pelo menos 50 para ver isso acontecer, obrigado). Lembre-se disso, então agradeço muito pelo código. Você pode me explicar a diferença entre a configuração 8220close8221 e o 8220highlow close8221. O meu palpite é que ele muda o preço usado ao subtrair o múltiplo ATR dele. Além disso, eu calculo algumas paradas com base em ATR e o preço alto da perna atual, mas os valores são diferentes dos seus. Eu tentei com ambos 8220average true range8221 e 8220ATRwilder8221, mas ainda os números estão desligados. Em vez de obter um fator 2.5 ATR com os resultados do code8217s, eles são mais como 3-3.5. Você pode ajudar a explicar isso graças. A configuração de 8220HighLow8221 e 8220Close8221 é para a lógica de reversão. Se configurado para 8220Close8221, ganhou a direção inversa, a menos que uma vela feche o nível de parada. No 8220HighLow8221, se o preço tocar a parada, o indicador inverterá. Desta forma, ele atua como uma ordem de stop loss. Meu script costumava usar o cálculo do verdadeiro intervalo real, mas, por algum motivo, Think ou Swim8217s A função ATR didn8217t funcionava para mim nos gráficos de ticks. Então eu mudei para apenas uma média exponencial do alto-baixo. O ATR é diferente na medida em que leva lacunas em conta no cálculo, escolhendo o máximo de alta-baixa ou fechar-fechar1. Em um gráfico intradía sem lacunas, o cálculo deve ser o mesmo. Mais uma sutileza é que o intervalo 8220ATR8221 calculado no meu indicador é multiplicado pelo fator e depois subtraído do extremo oposto. Digamos que simplesmente mudamos de curto a longo com uma parada de 2 ATR. Você tira esse ATR, multiplique por 2, depois subtrai-o daquela alta definição, não é que o bar8217s está baixo. Como a parada do candelabro, a parada é pendurada no ponto mais alto na direção do indicador. Um novo alto resultará na parada de mudança para cima. Uma contração de volatilidade também resultará em um movimento menor. Como é uma parada de trânsito, ela nunca pode se mover na direção oposta do comércio. Espero que esclareça um pouco Depois de analisar sua parada de traição baseada em volatilidade, acho que encontrei um erro no código. A partir da sua explicação a partir de 5109, você afirma, 8221Uma mais sutileza é que a escala ATR calculada no meu indicador é multiplicada pelo fator e depois subtraída do extremo oposto. Digamos que simplesmente mudamos de curto para longo com uma parada de 2 ATR. Você tira esse ATR, multiplique por 2, depois subtrai-lo das barras HIGH, não que as barras baixem.8221 Do código postado acima8221def lvs low multatr8221. Com este código (eu acho) está calculando a longa parada de voltagem do ponto baixo da vela, não a alta. Quando eu mudo para 8220def lvs alto 8211 multatr8221, ele muda o valor de parada para um que coincide se eu o calculo de forma manual usando Tos ATR. Isso também significa que a SVS precisa ser alterada. Por favor, deixe-me saber se estou olhando isso incorretamente. Graças à merda, Jeff, você está correto. Boa pegada Obrigado por apontar isso. Quero dizer, eu estava testando todos vocês, sim, testando you8230 I8217ve atualizou o código no meu site do Google. Para levar esse indicador para o próximo nível, ele deve ter um mecanismo para apertar o múltiplo ATR à medida que os lucros se acumulam. Para este exemplo, digamos que acabamos de mudar para a entrada LONG: mudar o caminho do dia 8211 com um múltiplo de 3 ATR Após 3 ATRs de lucro desde o dia do Switch, aperte a trilha para um múltiplo de 2 ATR Após 5 ATRs de lucro desde o dia do Switch, Aperte a trilha para um múltiplo de 1 ATR Eu concordo com Andy. Se isso for possível no Thinkscript, eu adoraria. Eu tentei calcular o valor da parada mesmo e nunca sai exatamente como seu código. Aqui é o que eu fiz em 12211: (6 meses, gráfico diário de DIS) mult 3.0, comprimento 10, estilo highlow e quando eu fiz isso sozinho: atual alto 40 ATR (10) valor 0,5705 calculado parada 40- (30.5705) 38.2885 code8217s parar 38.18 está fora por bastante. Você pode me dizer onde meus cálculos estão errados? Estou usando a ATR errada. Estou usando o padrão 8220AverageTrueRange8221 em pensar em nadar. Também, por que os cálculos do code8217s também são muito diferentes do think ou swim8217s 8220ATRtrailing stop8221 Eu pensei que eles eram o mesmo conceito. Meu ATR não é realmente um alcance real médio. It8217s uma média do (alto-baixo) para as últimas N barras. Para os gráficos intradiários, ele deve estar próximo, mas nos gráficos diários, o intervalo verdadeiro médio levará em consideração as lacunas, enquanto o meu não será. Então, provavelmente, a diferença que você está vendo. Muito obrigado pela resposta rápida. Eu adoro a interface do seu código quer usá-lo sobre qualquer coisa que o TOS tenha lá fora. A melhor parte é a capacidade de usar alertas nos campos personalizados. Mas eu me sinto estranho usando um código que eu posso calcular de forma rápida e precisa apenas de olhar para o gráfico. Você ainda teria seu código antigo que usa o ATR padrão ou sabe como posso ajustar isso para um ATR8230I percebi em uma resposta acima que você disse que originalmente você usou o padrão ATR. Existe um código que pode calcular uma média de 20 períodos (20 dias passados) da faixa de preços abertos menos fechamento para Estudos Personalizados na guia Marketwatch. Se não, há código para fazer isso em um estudo 8220 mais brilhante8221 em um gráfico. Obrigado por um estudo mais baixo sobre Um gráfico diário: Declare lower Def omc open 8211 close Plot avg average (omc, 20) Marketwatch tab, isso pode funcionar: se não, tente isso: (Open (period8221day8221) 20 - Close (period8221day8221) 20 Open (period8221day8221) 19 8211 Fechar (período8221day8221) 19 8230 e assim por diante até abrir (período8221day8221) 1 8211 Fechar (período8221day8221) 1) 20 Ei, obrigado Seu código funciona 0) Hmmm8230 Se você tiver tempo, eu gostaria de alguma entrada em uma questão fora do tópico sobre macros do Excel, etc8230 Se você tem informações sobre o assunto, eu criei o código abaixo, e estou basicamente tentando extrair automaticamente os dados abertos, altos, baixos e fechados do Yahoo Finance para 250 símbolos de ticker por caderno de trabalho. Eu consegui fazer o script funcionar corretamente para a primeira planilha, no entanto, não sei como fazer o loop, então todas as 250 planilhas contêm citações recentes para todos os símbolos encontrados na coluna A da planilha 1 Cheers Sub getData () 8216 8216 getData Macro 8216 Dim x As Integer Para x 1 a 250 Com ActiveSheet. QueryTables. Add (Conexão: 8220TEXTC: UsuáriosRaphDesktopYahoo Finanças Quotes 8211 1 de 3.txt8221, Destino: Intervalo (8220A18221 amp x)). Nome 8220Yahoo Citações Financeiras 8211 1 de 38221.FieldNames. RowNumbers Verdadeiros. FillAdjacentFormulas false false. PreserveFormatting verdadeira. RefreshOnFileOpen Falso. RefreshStyle xlInsertDeleteCells. SavePassword Falso. SaveData verdadeira. AdjustColumnWidth verdadeira. RefreshPeriod 0.TextFilePromptOnRefresh Falso. TextFilePlatform xlWindows. TextFileStartRow 1.TextFileParseType xlDelimited. TextFileTextQualifier xlTextQualifierDoubleQuote. TextFileConsecutiveDelimiter Falso. TextFileTabDelimiter True. TextFileSemicolonDelimiter False. TextFil ECommaDelimiter False. TextFileSpaceDelimiter Falso. TextFileColumnDataTypes Array (1).Refresh BackgroundQuery: False End With Range (8220A18221 amp x).Selecione ActiveCell. FormulaR1C1 82208221 Folhas (8220Sheet8221 amp x). Selecione com ActiveSheet. QueryTables. Add (Conexão: 8220URLfinance. yahooqhpsA 8220, Destino: intervalo (8220A18221 amp x)). Nome 8220hpsA8221.FieldNames True. RowNumbers False. FillAdjacentFormulas False. PreserveFormatting True. RefreshOnFileOpen False. BackgroundQuery True. RefreshStyle xlInsertDeleteCells. SavePassword False. SaveData True. AdjustColumnWidth True. RefreshPeriod 0.WebSelectionType xlSpecifiedTables. WebFormatting xlWebFormattingNone. WebTables 8220158221.WebPreFormattedTextToColumns True. WebConsecutiveDelimitersAsOne True. WebSingleBlockTextImport False. WebDisableDateRecognition False. Refresh BackgroundQuery: Falso End With Wow Pro. Tropeçou por este site8230 você tem algumas coisas muito legais aqui e materiais de aprendizagem. Eu especialmente gosto deste stop8230, mas desejei que ele alternasse entre ATR e EMA. Eu também pensei que o Montecarlo sim era ótimo, mas I8217m não tinha certeza de como usá-lo com meus parâmetros. De qualquer forma, eu estava esperando que você pudesse responder algumas perguntas do ThinkScript quando você tiver um momento. Eu tentei ToS, mas, embora eu segui com 3 e-mails, não recebi uma resposta, e acho que não tenho certeza. Pergunta 1: Existe alguma forma de usar dinamicamente algo como AddChartLabel (ou outro) para que, quando meu cursor se mova em diferentes barras, o valor AddChartLabel muda. Se isso não for possível, existe de qualquer maneira para mostrar os valores no estudo abaixo ou acima sem mostrar o gráfico. Ou seja, Para cada barra, eu quero saber alguns valores em um blance que é um múltiplo do ATR. Embora eu saiba como traçar o ATR, eu quero salvar o espaço do gráfico e só quero ver os valores e não as feias linhas esguichadas. Pergunta 2: No mesmo estudo, gostaria de usar parcelas (ou defs) previamente definidas para criar um novo argumento somente se certas condições forem verdadeiras. por exemplo. Dentro de um estudo, let8217s dizem que eu escrevo o seguinte: trace SignalA if (Close gt Close3, 0. double. NaN) note. Eu irei colorar manualmente as propriedades gráfico verde SignB se (Low gt Low3, 0. double. NaN) nota. Vou colorar manualmente as propriedades verdes. Eu gostaria de criar um novo gráfico com base nos gráficos acima, de modo que se SignalA for True hoje (ou seja, verde próximo) e SignalB também é Verdadeiro (isto é, verde) no final de hoje ou dentro de Os dois dias anteriores, então, uma seta verde aparecerá8230 em vez dobre. Eu tentei algo como: trama FinalSignal se ((SignalA double. nan) e (SignalA0 double. nan ou SignalA1 double. nan ou SignalA2 double. nan), 0. duplo. NaN) Eu tentei variações disso, mas parece que não funciona. Eu sei que o código parece simples, mas no estudo real que planejo juntar, 8216SignalA8217 8230 8216B82178230.etc. São muito mais longos e envolvem múltiplos sinais e o uso de não () também será necessário, e é por isso que eu gostaria de chamar em parcelas (ou defs) previamente definidas em vez de copiar o amplificador combinando a lógica. Existe uma maneira de fazer isso? 3. Existe uma maneira fácil de fazer referência aos meus estudos (isto é, indicadores) nas Estratégias. Esta é a respeito da sua resposta postada em 23 de janeiro de 2011 às 10:56 am8230. É possível calcular apenas O Open minus Close 20 SMA SOMENTE durante dias em que o fechamento é gt do que o código aberto ie para a guia Marketwatch para estudos personalizados, e ou estudos mais baixos somente para dias UP (filtra os dias baixos para que apenas as 20 barras anteriores que fecharam São usados) Hmm, parece que seu blog comeu meu primeiro comentário (era extremamente longo), então eu acho que eu apenas resumi o que eu enviei e disse, i8217m aproveitando o seu blog. Eu também sou um blogueiro de blogs aspirante, mas I8217m ainda é novo para o todo. Você tem dicas e sugestões para escritores de blogs novatos I8217d definitivamente apreciá-lo. Prospecto qualquer chance de uma versão ninjascript disso eu realmente apreciaria

No comments:

Post a Comment