Monday 18 December 2017

Weekly trading system amibroker no Brasil


Back-testando suas idéias de negociação Uma das coisas mais úteis que você pode fazer na janela de análise é testar novamente sua estratégia de negociação em dados históricos. Isso pode lhe dar informações valiosas sobre pontos fortes e pontos fracos do seu sistema antes de investir dinheiro real. Esta única característica da AmiBroker é poupar muito dinheiro para você. Escrevendo suas regras comerciais Primeiro você precisa ter regras objetivas (ou mecânicas) para entrar e sair do mercado. Este passo é a base da sua estratégia e você precisa pensar sobre isso, já que o sistema deve combinar sua tolerância ao risco, tamanho do portfólio, técnicas de gerenciamento de dinheiro e muitos outros fatores individuais. Uma vez que você tenha suas próprias regras de negociação, você deve escrevê-las como comprar e vender regras na AmiBroker Formula Lanugage (mais curto e cobrir se você quiser testar também negociação curta). Neste capítulo consideramos o sistema de cruzamento médio móvel muito básico. O sistema compraria contratos de ações quando o preço de fechamento subir acima da média móvel exponencial de 45 dias e venderá contratos de ações quando o preço de fechamento cai abaixo da média móvel exponencial de 45 dias. A média móvel exponencial pode ser calculada em AFL usando sua função embutida EMA. Tudo o que você precisa fazer é especificar a matriz de entrada e o período de média, portanto, a média móvel exponencial de 45 dias dos preços de fechamento pode ser obtida pela seguinte declaração: O identificador próximo refere-se a matriz incorporada que possui os preços de fechamento do símbolo atualmente analisado . Para testar se o preço de fechamento cruza acima da média móvel exponencial, usaremos a função cruzada incorporada: buy cross (close, ema (close, 45)). A declaração acima define uma regra de negociação de compra. Dá quot1quot ou quottruequot quando o preço próximo cruza acima de ema (close, 45). Então, podemos escrever a regra de venda que daria quot1quot quando a situação oposta ocorrer - o preço próximo se cruza abaixo de ema (fechar, 45): vender cruz (ema (fechar, 45), fechar) Por favor, note que estamos usando a mesma função cruzada, mas A ordem oposta de argumentos. Então, a fórmula completa para negócios longos será assim: comprar cruzar (fechar, ema (fechar, 45)) vender cruzar (enviar (fechar, 45), fechar) NOTA: Para criar uma nova fórmula, abra o Editor de Fórmula usando o Editor Análise-gtFormula Menu, digite a fórmula e escolha o menu Ferramentas-gtSend to Analysis no editor de fórmulas Para testar novamente o sistema, basta clicar no botão Voltar na tela de análise automática. Certifique-se de ter digitado a fórmula que contém, pelo menos, regras de negociação de compra e venda (conforme mostrado acima). Quando a fórmula está correta, o AmiBroker começa a analisar seus símbolos de acordo com suas regras de negociação e gera uma lista de trades simulados. Todo o processo é muito rápido - você pode voltar a testar milhares de símbolos em questão de minutos. A janela de progresso mostrará o tempo de conclusão estimado. Se você deseja interromper o processo, basta clicar no botão Cancelar na janela de progresso. Quando o processo é concluído, a lista de trades simulados é mostrada na parte inferior da janela de análise automática. (O painel Resultados). Você pode examinar quando os sinais de compra e venda ocorreu apenas clicando duas vezes no painel Comércio no resultado. Isso lhe dará sinais crus ou não filtrados para cada barra quando as condições de compra e venda forem atendidas. Se você quiser ver apenas setas de comércio único (abrir e fechar o comércio selecionado no momento), você deve clicar duas vezes na linha enquanto pressiona a tecla SHIFT pressionada. Alternativamente, você pode escolher o tipo de exibição selecionando o item apropriado no menu de contexto que aparece quando você clica no painel de resultados com o botão direito do mouse. Além da lista de resultados, você pode obter estatísticas muito detalhadas sobre o desempenho do seu sistema clicando no botão Relatório. Para saber mais sobre as estatísticas do relatório, verifique a descrição da janela do relatório. Alterar as configurações de teste de volta O mecanismo de teste de volta no AmiBroker usa alguns valores predefinidos para executar sua tarefa, incluindo o tamanho do portfólio, periodicidade (dailyweeklymonthly), quantidade de comissão, taxa de juros, perda máxima e paradas de lucro, tipo de negociação, campos de preços e assim em. Todas essas configurações podem ser alteradas pelo usuário usando a janela de configurações. Depois de alterar as configurações, lembre-se de executar o teste de volta novamente novamente se desejar que os resultados sejam sincronizados com as configurações. Por exemplo, para voltar a testar as barras semanais em vez de diariamente, basta clicar no botão Configurações, selecionar Semanal da caixa de combinação de Periodicidade e clicar em OK. Em seguida, execute sua análise clicando em Voltar teste. Nomes das variáveis ​​reservadas A tabela a seguir mostra os nomes das variáveis ​​reservadas usadas pelo analisador automático. O significado e os exemplos sobre a sua utilização são apresentados posteriormente neste capítulo. Permite controlar o valor do dólar ou percentual do portfólio que é investido no comércio (ver explicações abaixo) Análise automática (novo em 3.9) Até agora, discutimos o uso bastante simples do testador de volta. AmiBroker, no entanto, suporta métodos e conceitos muito mais sofisticados que serão discutidos mais adiante neste capítulo. Observe que o usuário iniciante deve primeiro jogar um pouco com os tópicos mais fáceis descritos acima antes de prosseguir. Então, quando estiver pronto, veja os seguintes recursos recentemente introduzidos do back-tester: a) host de scripts AFL para escritores de fóruns avançados b) suporte aprimorado para transações curtas c) maneira de controlar o preço de execução da ordem a partir do Script d) vários tipos de paradas no testador de retorno e) dimensionamento da posição f) tamanho do lote redondo e tamanho da marca g) conta de margem h) backtesting futuros O host de scripts AFL é um tópico avançado que é abordado em um documento separado disponível aqui e não discuto Neste documento. Os recursos restantes são muito mais fáceis de entender. Nas versões anteriores do AmiBroker, se você queria testar o sistema usando transações longas e curtas, você só poderia simular a estratégia de parar e reverter. Quando a posição longa foi fechada, uma nova posição curta foi aberta imediatamente. Foi porque as variáveis ​​reservadas de compra e venda foram utilizadas para ambos os tipos de negócios. Agora (com versão 3.59 ou superior) existem variáveis ​​reservadas separadas para abrir e fechar negócios longos e curtos: buy-quottruequot ou 1 valor abre venda de longo prazo - quottruequot ou 1 valor fecha curto comércio curto - quottruequot ou 1 valor abre cobertura comercial curta - quottruequot ou 1 valor encerra o comércio curto Som para testar as negociações curtas que você precisa para atribuir variáveis ​​curtas e variáveis. Se você usa o sistema stop-and-reverso (sempre no mercado), simplesmente atribua vender a curto e compre para cobrir a cobertura de venda curta Compre. Isso simula o modo como as versões pré-3.59 funcionaram. Mas agora o AmiBroker permite que você tenha regras de negociação separadas para ir longas e curtas como mostrado neste exemplo simples: regras de entrada e saída de negociações compradas: comprar cruzar (cci (), 100) vender cruzar (100, cci ()) curto Negocia regras de entrada e saída: cruz curta (-100, cci ()) cobertura cruzada (cci (), -100) Observe que neste exemplo, se CCI estiver entre -100 e 100, você está fora do mercado. Controle do preço comercial AmiBroker agora fornece 4 novas variáveis ​​reservadas para especificar o preço no qual as ordens de compra, venda, curto e cobertura são executadas. Essas matrizes têm os seguintes nomes: preço de compra, preço de venda, preço reduzido e preço de cobertura. A principal aplicação dessas variáveis ​​é o controle do preço do comércio: BuyPrice IIF (dayofweek () 1, HIGH, CLOSE) na compra de segunda feira, de outra forma, compre em close. Então, você pode escrever o seguinte para simular pedidos de parada real: BuyStop. A fórmula para comprar stop level SellStop. A fórmula para o nível de parada de venda, se a qualquer momento durante o dia os preços subirem acima do nível do comprador (highgtbuystop), a ordem de compra ocorre (na compra ou baixa, o que for mais alto) Compre Cross (High, BuyStop) se a qualquer momento durante o dia os preços caíram abaixo do nível do sellprice (Baixa venda) a ordem de venda ocorre (na venda ou alta o que for menor) Venda Cruz (SellPrice, SellStop) BuyPrice max (BuyStop, Low) certifique-se de comprar o preço não inferior ao Low SellPrice min (SellStop, High) certifique-se Preço de venda não superior a alta Tenha em atenção que as variáveis ​​de preços de compra, preço de venda, shortprice e coverprice da AmiBroker com os valores definidos na janela de configurações do teste do sistema (mostrado abaixo), para que você possa, mas não precisa defini-las na sua fórmula. Se você não os define, o AmiBroker funciona como nas versões antigas. Durante o teste posterior, o AmiBroker verificará se os valores que você atribuiu ao preço de compra, preço de venda, preço reduzido e preço de cobertura se encaixam na faixa de baixo e baixo da barra dada. Caso contrário, o AmiBroker irá ajustá-lo a um preço alto (se o valor da matriz do preço for maior do que o alto) ou ao preço baixo (se o valor da tabela de preços for menor que o baixo) O objetivo do lucro é interrompido. Como você pode ver na imagem acima, novas configurações para As paradas de objetivo de lucro estão disponíveis na janela de configurações de teste do sistema. As paradas de objetivo de lucro são executadas quando o preço alto para um determinado dia excede o nível de parada que pode ser dado como uma porcentagem ou aumento de ponto do preço de compra. Por padrão, as paradas são executadas ao preço que você define como matriz de preço de venda (para negócios longos) ou matriz de preço de cobertura (para transações curtas). Esse comportamento pode ser alterado usando quotExit no recurso stopquot. QuotExit no recurso stopquot Se você marca quotExit na caixa stopquot nas configurações, as paradas serão executadas no nível de parada exata, ou seja, se você definir stop de lucro em 10 seu stop e o preço de compra foi 50 stop order será executado em 55, mesmo que Sua tabela de preços de venda contém um valor diferente (por exemplo, preço de fechamento de 56). A perda máxima pára o trabalho de forma similar - eles são executados quando o preço baixo para um determinado dia cai abaixo do nível de parada que pode ser dado como uma porcentagem ou aumento de ponto do preço de compra. Esse tipo de parada é usado para proteger os lucros, pois ele Rastreia seu comércio, então cada vez que um valor de posição atinge um novo nível alto, a parada final é colocada em um nível mais alto. Quando o lucro cai abaixo do nível de paragem final, a posição é fechada. Este mecanismo está ilustrado na figura abaixo (10 paradas de trânsito são mostradas): uma implementação de amostra de baixo nível de parada de objetivo de lucro em AFL: Comprar Cruz (MACD (), Sinal ()) para (i 0 i lt BarCount i) Se (priceatbuy 0 Comprar i) priceatbuy BuyPrice i if (priceatbuy gt 0 SellPrice i gt 1.1 priceatbuy) Venda i 1 SellPrice i 1.1 priceatbuy priceatbuy 0 else Venda i 0 Este é um novo recurso na versão 3.9. O dimensionamento da posição no backtester é implementado por meio de uma nova variável reservada. Posicione a matriz de licenciamento. Agora você pode controlar o valor do dólar ou a porcentagem de carteira que é investida no valor do comércio positivo definido (dólar) que é investido no comércio, por exemplo: PositionSize 1000 invest 1000 em todos os números negativos do comércio -100 ..- 1 definição de porcentagem: -100 dá 100 do tamanho atual do portfólio, -33 dá 33 de capital disponível, por exemplo: PositionSize -50 sempre investir apenas metade do exemplo de dimensionamento dinâmico da equidade atual: PositionSize - 100 RSI () como RSI varia de 0..100 isso resultará em posição dependendo dos valores de RSI - gt valores baixos de RSI resultará em maior porcentagem investida Se menos de 100 de dinheiro disponível for investido, o valor restante ganha taxa de juros Conforme definido nas configurações. Há também uma nova caixa de seleção na janela de configurações de AA: quotAllow tamanho da posição shrinkingquot - isso controla como o backtester lida com a situação quando o tamanho da posição solicitada (via a variável PositionSize) excede o caixa disponível: quando esse sinalizador é marcado, a posição é inserida com o tamanho cortado Dinheiro disponível se não for marcado, a posição não está inserida. Para ver os tamanhos de posição reais, use um novo modo de relatório na janela de configurações de AA: lista de preços com preços e pos. Sizequot Para o final, aqui está um exemplo de técnica de dimensionamento de posição baseada em ATR de Tharps codificada em AFL: Compre a fórmula de compra ltyour heregt Venda 0 vendendo apenas por stop TrailStopAmount 2 ATR (20) Capital 100000 IMPORTANTE: Configure também nas Configurações: Inicial Risco de Equidade 0.01Capital PositionSize (RiskTrailStopAmount) BuyPrice ApplyStop (2, 2, TrailStopAmount, 1) A técnica pode ser resumida da seguinte forma: O capital total por símbolo é 100,000, estabelecemos o nível de risco em 1 do patrimônio total. O nível de risco é definido da seguinte forma: se uma parada de trânsito em 50 ações for, digamos, 45 (o valor de dois ATRs contra a posição), a perda 5 é dividida em 1000 riscos para dar 200 ações para comprar. Assim, o risco de perda é 1000, mas o risco de alocação é de 200 partes x 50 partes ou 10 000. Então, estamos alocando 10 do capital para a compra, mas apenas arriscando 1000. (Excerto editado da lista de discussão AmiBroker) Tamanho do lote redondo e tamanho do tiquetaque Vários instrumentos são negociados com várias unidades quottrading ou quotblocksquot. Por exemplo, você pode comprar um número fracionado de unidades de fundo mútuo, mas você não pode comprar um número fracionado de ações. Às vezes você tem que comprar em lotes de 10s ou 100s. AmiBroker agora permite que você especifique o tamanho do bloco no nível global e por símbolo. Você pode definir o tamanho do lote redondo por símbolo na página Symbol-gtInformation (foto 3). O valor de zero significa que o símbolo não tem tamanho de lote redondo especial e usará quotDefault tamanho de lote redondo (configuração global) na página de configurações de Análise automática (foto 1). Se o tamanho padrão for definido também para zero, isso significa que o número fracionado de contratos de compartilhamento é permitido. Você também pode controlar o tamanho do lote redondo diretamente da sua fórmula AFL usando a variável reservada RoundLotSize, por exemplo: Esta configuração controla o movimento do preço mínimo de um símbolo dado. Você pode defini-lo no nível global e por símbolo. Tal como acontece com o tamanho do lote redondo, você pode definir o tamanho de marca por símbolo na página Symbol-gtInformation (foto 3). O valor de zero instrui o AmiBroker a usar tamanho de tamanho quotdefault definido na página Configurações (foto 1) da janela Análise automática. Se o tamanho da marca padrão também estiver definido para zero, significa que não há movimento de preço mínimo. Você pode definir e recuperar o tamanho de seleção também da fórmula AFL usando a variável reservada do TickSize, por exemplo: Observe que a configuração do tamanho do tiquetaque afeta somente as transações encerradas por paradas embutidas e ApplyStop (). O backtester assume que os dados de preços seguem os requisitos de tamanho de marca e não altera os arrays de preços fornecidos pelo usuário. Então, especificar o tamanho do ticulário só faz sentido se você estiver usando paradas embutidas, então os pontos de saída são gerados aos níveis de preços permitidos em vez dos calculados. Por exemplo, no Japão - você não pode ter partes fracionadas do iene, então você deve definir ticksize global para 1, então o built-in pára de sair das negociações em níveis inteiros. A configuração da margem de conta define o requisito de margem de porcentagem para a conta inteira. O valor padrão da margem da Conta é 100. Isso significa que você precisa fornecer 100 fundos para entrar no comércio, e é assim que o backtester funcionou em versões anteriores. Mas agora você pode simular uma conta de margem. Quando você compra na margem, você está simplesmente emprestando dinheiro do seu corretor para comprar ações. Com os regulamentos atuais, você pode colocar 50 do preço de compra do estoque que deseja comprar e emprestar a outra metade do seu corretor. Para simular isso, basta inserir 50 no campo da margem da conta (veja a foto 1). Se a sua equidade inicial for definida para 10000, seu poder de compra será então 20000 e você poderá entrar em posições maiores. Por favor, note que esta configuração define a margem para uma conta inteira e NÃO está relacionada a negociação de futuros. Em outras palavras, você pode negociar ações na conta de margem. O sinal de entrada inversa força a caixa de seleção exitquot para as configurações do Backtester. Quando está ligado (a configuração padrão) - o backtester funciona como nas versões anteriores e fecha positon já aberto se o novo sinal de entrada na direção inversa for encontrado. Se esta opção estiver DESLIGADA - mesmo que o sinal inverso ocorra, o backtester mantém o comércio aberto no momento e não fecha até que o sinal de saída (venda ou cobertura) seja gerado. Em outras palavras, quando esta opção é OFF, o backtester ignora os sinais curtos durante longas negociações e ignora sinais de compra durante transações curtas. QuotAllow mesma opção de barra de saída (comércio de barra única) quot opção para as configurações Quando está ligado (as configurações padrão) - entrada e saída na mesma barra é permitido (como em versões anteriores) se ele estiver OFF - saída pode acontecer a partir de Apenas a barra seguinte (isto aplica-se aos sinais regulares, há uma configuração separada para as saídas geradas pelo ApplyStop). Alterar para DESLIGAR permite reproduzir o comportamento do backtester MS que não é capaz de lidar com as saídas do mesmo dia. QuotActivate pára imediatamente. Esta configuração resolve o problema dos sistemas de teste que entram negociações no mercado aberto. Nas versões anteriores ao 4.09, o backtester assumiu que você estava entrando em negociações no mercado fechado, de modo que as paradas internas foram ativadas no dia seguinte. O problema era quando você definiu o preço aberto como o preço de entrada comercial - as flutuações de preços no mesmo dia não provocaram as paradas. Houve algumas soluções alternativas baseadas no código AFL, mas agora você não precisa usá-las. Simplesmente se você trocar em abrir, você deve marcar quotActivate pára imediatamente (foto 1). Você pode perguntar por que não basta verificar o preço de compra ou a matriz de preços baixos se for igual a preço aberto. Infelizmente, isso não funcionará. Por que simplesmente porque há dias doji quando o preço aberto é igual ao fechado e o backtester nunca saberá se o comércio foi inserido no mercado aberto ou fechado. Então, nós realmente precisamos de uma configuração separada. QuotUse QuickAFLquotQuickAFL (tm) é uma característica que permite um cálculo AFL mais rápido sob certas condições. Inicialmente (desde 2003) estava disponível apenas para indicadores, a partir da versão 5.14 também está disponível na Análise automática. Inicialmente, a idéia era permitir redragamentos de gráfico mais rápidos ao calcular a fórmula AFL apenas para a parte que está visível no gráfico. De forma semelhante, a janela de análise automática pode usar um subconjunto de cotações disponíveis para calcular AFL, se o parâmetro 8220range8221 selecionado for inferior a 8220. Todas as cotações. A explicação detalhada sobre como o QuickAFL funciona e como controlá-lo é fornecida neste artigo da Base de Conhecimento: amibrokerkb20080703quickafl. Observe que esta opção funciona não apenas no backtester, mas também em otimizações, explorações e scans. Title: Sistema de Negociação Triplo SCreen Usando Amibroker Descrição : Sistema de Negociação jest1081 - 28 de junho de 2006 06:17 PM (GMT) Oi tudo, só quero compartilhar algo que eu programei (não totalmente por mim contribuições de outros comerciantes em Amibroker também). Eu tentei e testei, e penso que funciona muito bem no sistema que foi ensinado. O fim do dia deve se lembrar, o sistema envolveu dinheiro, não procure o Santo Graal. Seja um comerciante disciplinado. ÚNICAMENTE PARA USO EM CARTÕES AMIBROKER TA CARTES SEMANAL COM SISTEMA DE IMPULSO MENSAL Tabela de barras semanal SECTIONBEGIN (quot Weekly Graphquot) SetChartOptions (0, chartShowArrows124chartShowDates) Parâmetro definido pelo usuário para períodos EMA EMAType Param (quotEMA-1, TEMA-2, JMA-3quot, 2 1, 3, 1) EMAprds Param (quotEMAperiodsquot, 7, 1, 30, 1) StdMACD Param (questtandard MACD No-0, Yes-1quot, 1, 0, 1, 1) Plotfashion Param (quotBarArrows-1, Impulse Bars -2quot, 2, 1, 2, 1) Permitir que o usuário defina a localização e a posição da fita semanais e mensais de altura WRP1 Param (quot Weekly Ribbon Locationquot, -10.5, -1000, 1000, 0.1) WRP2 Param (quet Weekly Ribbon Heightquot, 366.5, -0.001 , 500, 0.1) MRP1 Param (quotMonthly Ribbon Locationquot, 5.2, -1000, 1000, 0.1) MRP2 Param (quot Monthly Ribbon Heightquot, 199, -0.001, 500, 0.1) TimeFrameSet (inWeekly) Compute o histograma EMA e MACD se (EMAType 1 ) DayEMA EMA (Close, EMAprds) se (EMAType 2) DayEMA TEMA (Close, EMAprds) se (EMAType 3) Linha a seguir para ser usado com Jurik JMA Day EMA JurikJMA (C, EMAPrds) se (StdMACD 0) MACDval MACD (5, 8) Signalval Signal (5, 8, 5), exceto MACDval MACD (12, 26) Signalval Signal (12, 26, 9) Histograma MACDval - Signalval Determine Se tivermos Impulso UP, DOWN ou None ImpulseUp DayEMA gt Ref (DayEMA, -1) E Histograma gt Ref (Histograma, -1) ImpulseDown DayEMA lt Ref (DayEMA, -1) E Histograma lt Ref (Histograma, -1) ImpulseNone (NÃO ImpulseUP) E (NÃO ImpulseDown) whrising DayEMA gt Ref (DayEMA, -1) E Histograma gt Ref (Histograma, -1) whacheing DayEMA lt Ref (DayEMA, -1) E Histograma lt Ref (Histograma, -1) TimeFrameRestore () Agora obtenha histograma mensal de MACD. TimeFrameSet (inMonthly) MACDval MACD (5, 8) Signalval Signal (5, 8, 5) Histinm MACDval - Signalval mhrising Histinm gt Ref (Histinm, -1) mhfalling Histinm lt Ref (Histinm, -1) whrising TimeFrameExpand (whrising, inWeekly , ExpandLast) whfalling TimeFrameExpand (whfalling, inWeekly, expandLast) mhrising TimeFrameExpand (mhrising, inMonthly, expandLast) mhfalling TimeFrameExpand (mhfalling, inMonthly, expandLast) kol IIf (whrising, colorBrightGreen, IIf (whfalling, colorRed, colorLightGrey)) mkol IIf (mhrising , ColorBlue, IIf (mhfalling, colorYellow, colorLightGrey)) TimeFrameSet (inWeekly) Trate-os all33 se (Plotfashion 1) Plot (Close, quotClosequot, colorTeal, styleBar) PlotShapes (shapeUpArrow ImpulseUp, colorBrightGreen, 0, Low, -12) PlotShapes ( ShapeDownArrow ImpulseDown, colorRed, 0, High, -12) PlotShapes (shapeSmallCircle ImpulseNone, colorWhite, 0, High, 5) else barkol IIf (impulseUP, colorBrightGreen, IIf (impulseDown, colorRed, colorCustom11)) Plot (C, quotClosequot, barko L, styleBar) Plot (10, quot Weekly Ribbonquot, kol, styleOwnScale124styleArea124styleNoLabel, WRP1, WRP2) Tendência semanal GREEN RISING, RED FALLING, WHITE NEUTRAL Plot (10, quotMonthly Ribbonquot, mkol, styleOwnScale124styleArea124styleNoLabel, MRP1, MRP2) Tendência mensal AZUL AUMENTANDO, AMARELO FALLING, WHITE NEUTRAL TimeFrameRestore () SECTIONBEGIN (quotEMA1quot) P ParamField (quotPrice fieldquot, -1) Periods Param (quotPeriodsquot, 15, 2, 200, 1, 10) Plot (EMA (P, Períodos), DEFAULTNAME (), ParamColor ( QuotColorquot, colorCycle), ParamStyle (quotStylequot)) SECTIONEND () SECTIONBEGIN (quotZIG - Zigquot) TimeFrameSet (inWeekly) P ParamField (quotPrice fieldquot) alterar Param (quot changequot, 5,0.1,25,0.1) Plot (Zig (P, change ), DEFAULTNAME (), ParamColor (quotColorquot, colorCycle), ParamStyle (quotStylequot)) TimeFrameRestore () SECTIONEND () Weekly MACD Histogran SECTIONBEGIN (quotWeekly MACDquot) TimeFrameSet (in Weekly) MACDw MACD (12, 26) - Sinal (12, 26, 9) MACDLLINE MACD (12, 26 ) MACDwSignal Signal (12, 26, 9) Cor IIf (Ref (MACDw, -1) gtMACDw, colorRed, colorBrightGreen) TimeFrameRestore () Plot (MACDw, quotMACD Weeklyquot, Color, styleHistogram 124 styleThick) Lote (MACDwLINE, quotMACD Weekly Linequot, ColorRed, styleLine) Plot (MACDwSignal, quotMACD Weekly Signal Linequot, colorBrightGreen, styleLine) SECTIONEND () ÍNDICE DE FORÇA SEMANAL 13 dias MA SECTIONBEGIN (quotForce Index2quot) Períodos TimeFrameSet (inWeekly) Param (quotPeriodsquot, 13, 1, 100, 1) FI EMA ( (Close - Ref (Close, -1)) V), períodos) FIkol IIf (fi lt 0, colorRed, colorBrightGreen) Plot (Close, quotClosequot, colorRed, 2) Plot (FI, quotForce Indexquot, FIkol, styleLine124styleThick) (0, quotquot, colorViolet, estiloLine 124 styleThick 124 styleNoLabel) Nome do título () EncodeColor (colorWhite) quot - Force Index - quot WriteVal (períodos, 1) quot days, quode EncodeColor (colorRed) quot Close quot EncodeColor (colorWhite) quot quot WriteVal (Close) quot, quode EncodeColor (colorBlue) quotForce Index quot E NcodeColor (colorWhite) WriteVal (FI, 1.2) TimeFrameRestore () SECTIONEND () SECTIONBEGIN (quotVolumequot) TimeFrameSet (inWeekly) Plot (Volume, DEFAULTNAME (), ParamColor (quotColorquot, colorBlueGrey), ParamStyle (quotStylequot, styleHistogram 124 styleOwnScale 124 styleThick, maskHistogram ), 2) TimeFrameRestore () SECTIONEND () GRÁFICO DIÁRIO COM SISTEMA DE IMPULSO SEMANAL Parâmetro definido pelo usuário para períodos EMA EMAType Param (quotEMA-1, TEMA-2, JMA-3quot, 2, 1, 3, 1) EMAprds Param (quotEMAperiodsquot , 7, 1, 30, 1) StdMACD Param (Standard MACD No-0, Yes-1quot, 1, 0, 1, 1) Plotfashion Param (quatBarArrows-1, Impulse Bars-2quot, 2, 1, 2, 1) Permitir que o usuário defina a localização semanal e mensal da fita e o parâmetro WRP1 de altura (quot Weekly Ribbon Locationquot, 5.2, -1000, 1000, 0.1) WRP2 Param (quot Weekly Ribbon Heightquot, 199, -0.001, 500, 0.1) MRP1 Param (quotMonthly Ribbon Locationquot, 5.2, -1000, 1000, 0.1) MRP2 Param (QuotMonthly Ribbon Heightquot, 199, -0.001, 500, 0.1) Compute EMA e MACD H (EMAType 1) DayEMA EMA (Close, EMAprds) se (EMAType 2) DayEMA TEMA (Close, EMAprds) se (EMAType 3) Linha abaixo para ser usado com Jurik JMA DayEMA JurikJMA (C, EMAPrds) Histograma MACD () - Sinal () Determine se temos Impulso UP, DOWN ou None ImpulseUp DayEMA gt Ref (DayEMA, -1) E Histograma gt Ref (Histograma, -1) ImpulseDown DayEMA lt Ref (DayEMA, -1) E Histograma lt Ref (Histograma , -1) ImpulseNone (NOT ImpulseUP) E (NÃO ImpulseDown) Compute Weekly MACD e determine se eleva ou cai Nota: usa quotnon-parâmetros padrão33 TimeFrameSet (inWeekly) se (StdMACD 0) MACDval MACD (5, 8) Signalval Signal (5 8, 5) mais MACDval MACD (12, 26) Signalval Signal (12, 26, 9) Histinw MACDval - Sinalização do sinal Histinw gt Ref (Histinw, -1) whfalling Histinw lt Ref (Histinw, -1) whnone (NOT whrising ) E (NÃO HABILITANDO) Agora receba Histograma Mensal de MACD. TimeFrameSet (inMonthly) MACDval MACD (5, 8) Signalval Signal (5, 8, 5) Histinm MACDval - Signalval mhrising Histinm gt Ref (Histinm, -1) mhfalling Histinm lt Ref (Histinm, -1) whrising TimeFrameExpand (whrising, inWeekly , ExpandLast) whfalling TimeFrameExpand (whfalling, inWeekly, expandLast) whnone TimeFrameExpand (whnone, inWeekly, expandLast) mhrising TimeFrameExpand (mhrising, inMonthly, expandLast) mhfalling TimeFrameExpand (mhfalling, inMonthly, expandLast) kol IIf (whrising, colorBrightGreen, IIf (whfalling, ColorRed, IIf (whnone, colorCustom11, colorLightGrey))) mkol IIf (mhrising, colorBlue, IIf (mhfalling, colorYellow, colorLightGrey)) Trate-os all33 se (Plotfashion 1) Plot (Close, quotClosequot, colorTeal, styleBar) PlotShapes (shapeUpArrow ImpulseUp ColorBrightGreen, 0, Low, -12) PlotShapes (shapeDownArrow ImpulseDown, colorRed, 0, High, -12) PlotShapes (shapeSmallCircle ImpulseNone, colorWhite, 0, High, 5) else barkol IIf (impulseUP, colorBrightGreen, IIf (impulseDo Wn, colorRed, colorCustom11)) Plot (C, quotClosequot, barkol, styleBar) Plot (10, quot Weekly Ribbonquot, kol, styleOwnScale124styleArea124styleNoLabel, WRP1, WRP2) Tendência semanal VERDADEIRO, RED FALLING, WHITE NEUTRAL Plot (10, quotMonthly Ribbonquot, mkol , StyleOwnScale124styleArea124styleNoLabel, MRP1, MRP2) Tendência mensal AZUL AUMENTANDO, QUEDA AMARELA, NEVE VERMELHA LookBkPd 100 AvgPd 22 ExternalBarPct 15 ConvergePct 2 EMA médio (C, AvgPd) Rng HHV (H, LookBkPd) - LLV (L, LookBkPd) X Rng deltaX X2 Do Over H gt Middle X Under L lt Middle - X OuterPct 100 (Sum (Over, LookBkPd) Sum (Under, LookBkPd)) LookBkPd OP LastValue (OuterPct) XXsign (OP - ExternalBarPct) deltaX deltaX deltaX2 enquanto (abs (OP - ExternalBarPct ) Gt ConvergePct) Plot (Middle, quotMAquot, colorYellow, styleLine124styleNoTitle) Plot (MiddleX, quotMAquot, colorSkyblue, styleDashed124styleNoTitle) Plot (Middle-X, quotMAquot, colorSkyblue, styleDashed124styleNoTitle) Explorer Se Determinar se o status do Impulso é otimista, neutro ou de baixa. Exibir como coluna de texto. ImpulseState WriteIf (ImpulseUp, quotBulllishquot, WriteIf (ImpulseDown, quotBearishquot, quotNeutralquot)) Defina a cor de fundo para Impulse Status Column ImpulseCol IIf (ImpulseUp, colorGreen, IIf (ImpulseDown, colorRed, colorLightGrey)) Determine Tendência Semanal. Exibir como coluna de texto WeeklyTrend WriteIf (whrising, quotRisingquot, WriteIf (whfalling, quotFallingquot, quotFlat33quot)) WeeklyCol IIf (whrising, colorGreen, IIf (whfalling, colorRed, colorLightGrey)) Determine tendência mensal. Exibir como coluna de texto MonthlyTrend WriteIf (mhrising, quotRisingquot, WriteIf (mhfalling, quotFallingquot, quotFlat33quot)) MonthlyCol IIf (mhrising, colorGreen, IIf (mhfalling, colorRed, colorLightGrey)) Determine quantas barras o estado atual existe barsinbull Min (BarsSince ( Impulsionado), BarsSince (impulsedown)) barsinbear Min (BarsSince (impulseup), BarsSince (impulsenone)) barsinneut Min (BarsSince (impulsedown), BarsSince (impulseup)) Defina uma única variável para mostrar o número de barras no estado atual, dependendo do Impulso real Status - Conjunto de barras, baixas ou neutras IIf (ImpulseUp, barsinbull, IIf (Impulsedown, barsinbear, barsinneut)) Colunas para exibição no Explorer AddTextColumn (ImpulseState, quotImpulse Statusquot, 1, colorWhite, ImpulseCol) AddColumn (barrasinstate, quotBars neste estado, 1, colorWhite, Impulsecol) AddTextColumn (WeeklyTrend, quotWeekly Trendquot, 1, colorWhite, WeeklyCol) AddTextColumn (MonthlyTrend, quotMonthly Trendquot, 1, colorWhite, MonthlyCo L) SECTIONBEGIN (quotZIG - Zigquot) P ParamField (quotPrice fieldquot) alterar Param (quot changequot, 5,0.1,25,0.1) Plot (Zig (P, change), DEFAULTNAME (), ParamColor (quotColorquot, colorCycle), ParamStyle ( QuotStylequot)) SECTIONEND () MACD hemisférico Histogran SECTIONBEGIN (quotWeekly MACDquot) TimeFrameSet (inDaily) MACDw MACD (12, 26) - Sinal (12, 26, 9) MACDLLINE MACD (12, 26) Sinal MACDwSignal (12, 26, 9) Cor IIf (Ref (MACDw, -1) gtMACDw, colorRed, colorBrightGreen) TimeFrameRestore () Lote (MACDw, quotMACD Dailyquot, Color, styleHistogram 124 styleThick) Lote (MACDwLINE, quotMACD Daily Linequot, colorRed, styleLine) Lote (MACDwSignal, quotMACD Dail Sinal Linequot, colorBrightGreen, styleLine) SECTIONEND () ÍNDICE DA FORÇA DIÁRIA 2DAY MA períodos Param (queriodsquot, 2, 1, 100, 1) FI EMA (((Close - Ref (Close, -1)) V), períodos) FIkol IIf (Limpar 0, colorRed, colorBrightGreen) Plot (Close, quotClosequot, colorRed, 2) Plot (FI, quotForce Indexquot, FIkol, styleLine124styleThick) Plot (0, quotquot, ColorViolet, StyleLine 124 styleThick 124 styleNoLabel) Nome do título () EncodeColor (colorWhite) quot - Force Index - quot WriteVal (períodos, 1) quot days, quode EncodeColor (colorRed) quot Fechar quot EncodeColor (colorWhite) quot quot WriteVal (Close) quot , Quot EncodeColor (colorBlue) quotForce Index quot EncodeColor (colorWhite) WriteVal (FI, 1.2) SECÇÃO () SECTIONBEGIN (quotVolumequot) Plot (Volume, DEFAULTNAME (), ParamColor (quotColorquot, colorBlueGrey), ParamStyle (quotStylequot, styleHistogram 124 styleOwnScale 124 styleThick , Mascara Histogram), 2) SECÇÃO () H1 Ref (H, -1) L1 Ref (L, -1) T IIf (HltH1 E LgtL1, 0, IIf (H-H1gtL1-L, H-H1, L1-L) ) Val1 H-H1 Val2 L1-L Val IIf (Val1gtVal2, Val1, Val2) Mediana média (Val, 22) cor IIf (Val lt Avgval, colorBlue, IIf (Val gt Avgval AND Val lt Avgval 3, colorViolet, IIf (Val Gt Avgval 3, colorOrange, colorViolet))) Plot (T, DEFAULTNAME (), color, styleHistogram 124 styleThick) P ParamField (quotPreço fieldquot, -1) Períodos Para M (quinto período 22, 2, 200, 1, 10) Plot (EMA (P, Periods), quotEMA 22quot, colorGreen, styleThick) Daily BullPower SECTIONBEGIN (quotBull Power EMAquot) Bull Power Lookback Param (quotEMA Lookbackquot, 13) BullPower High - EMA (Close, Lookback) Plot (BullPower, quotquot, ParamColor (quotColorquot, colorCustom11), styleHistogram) Nome do título () quot quot Date () quot Bull Powerquot WriteVal (Lookback, 3.0) quot Day: quot WriteVal (BullPower, 5.3) GraphXSpace 5 SECTIONEND () Daily BearPower SECTIONBEGIN (quotBear Power EMAquot) Bear Power Lookback Param (quotEMA Lookbackquot, 13) BearPower Low - EMA (Close, Lookback) Plot (BearPower, quotquot, ParamColor (quotColorquot, colorRed), styleHistogram) Título Nome ( ) Quot quot Date () quot Bear Powerquot WriteVal (Lookback, 3.0) quot Day: quot WriteVal (BearPower, 5.3) GraphXSpace 5 SECTIONEND () ESCALA DE TELA TRIPLE DO ANIMALISMO Elder Triple Screen Trading System. Codificado por Dennis Skoblar 7052005. Derrived from quotTrading For A Livingquot e quotCome Into My Trading Roomquot de Alexander Elder. Esta varredura encontra candidatos pela inclinação semanal de História de MACD e o Índice de Força de Período Diário 2 mergulhando acima ou abaixo da linha zero de It's. Trace um Período Semanal 26 EMA para ajudar a confirmar a direção semanal. Ele deve estar aumentando com um aumento no histograma semanal do MACD para passar por muito tempo. No entanto, Elder escreve que divergências no MACD Histograma substituem o EMA. O Índice de Força do Período Diário 2 estará abaixo da linha zero de It's. Procure o estoque para retroceder em torno dele39's Daily 13 Period EMA. Também use o Daily 22 Period EMA para confirmar a direção da tendência diária. Faça o contrário para calções. Use as guias de direção semanal LongShort EMA como filtros para descartar a varredura para exibir apenas o EMA semanal na direção comercial pretendida. Use o LongShort Elder Ray Tabs (BullPower AND BearPower) para ajustar os sinais de entrada. Esta guia é melhor usada quando estiver de acordo com as guias de direção semanal LongShort EMA. Um Período 50 EMA gt 100000 é usado para Filtrar Volume. Um mínimo de uma corrida de 5 pontos em um mês é usado como um filtro para um intervalo de estoque. Esta varredura é melhor usada como uma Exploração. TimeFrameSet (inWeekly) WeeklyMACD MACD (12,26) - Sinal (12,26,9) WeekHistRising Ref (WeeklyMACD, -1) lt Ref (WeeklyMACD, 0) WeekHistFalling Ref (WeeklyMACD, -1) gt Ref (WeeklyMACD, 0) FIWeekly EMA (V (C-Ref (C, -1)), 13) WeeklyForceIndexLong FIWeekly gt 0 WeeklyForceIndexShort FIWeekly lt 0 TimeFrameRestore () Critérios semanais MACDLongW WeekHistRising MACDShortW WeekHistFalling FILONGW WeeklyForceIndexLong FIShortW WeeklyForceIndexShort Critérios diários FIDaily EMA (V (C-Ref ( C, -1)), 2) FILONGD FIDaily lt 0 FIShortD FIDaily gt 0 VFilter EMA (V, 50) gt 100000 TenTwentyFilter HHV (H, 20) - LLV (L, 20) Quanto caiu o preço em um mês (gt10 Os pontos são preferíveis) CinquentaDayHVFilter round (StDev (log (CRef (C, -1)), 50) 100sqrt (256)) Um ano de volubilidade (gt40 preferível) bullpower Alto - EMA (Close, 13) bearpower Low - EMA (Close, 13 ) Critérios de verificação ElderLong MACDLongW e FILongD e FILongW ElderShort MACDShortW e FIShortD e FIShortW Colunas para exploração Column0 FullName () Column0Name quotTick O nome da coluna Column1 quot quot Column1Name quot Quot Column2 ElderLong Column2Name quotLongquot Column3 ElderLong AND EMA (C, 130) gt Ref (EMA (C, 130), - 5) Column3Name quotLong EMA Weekly Directionquot Column4 Column3 AND (bearpower lt 0 AND bullpower gt 0 ) Column4Name quotLong Elder Ray Filterquot Coluna5 quot Quot Column5Name quot Quot Column6 ElderShort Column6Name quotShortquot Coluna7 ElderShort E EMA (C, 130) lt Ref (EMA (C, 130), - 5) Coluna7 Nome quotShort EMA Semanal Direção Coluna8 Coluna7 E (força de vida lt 0 AND bullpower gt 0) Column8Name quotShort Elder Ray Filterquot Coluna9 quot quot Column9Name quot quot Column10 TenTwentyFilter Column10Name quotOne Month Point Rangequot Column11 FiftyDayHVFilter Column11Name quotHistorical Volotility 50 Dayquot AddTextColumn (IndustryID (1), quotIndustryquot) AddTextColumn (MarketID (1), quotMarketquot) Filtros Filtro VFilter AND (ElderLong OR ElderShort) Compre ElderLong Sell 0 Short ElderShort Cover 0 Hc - 29 de junho de 200 6 12:38 AM (GMT) Obrigado por compartilhar os códigos. BTW, você usou o Metastock antes? Como Amibroker comparou com a Metastock Hope para ver seus comentários sobre Amibroker. Jest1081 - 29 de junho de 2006 02:54 PM (GMT) Não, não tenho experiência com metastock. Amibroker entrega. No muito básico, você precisa saber um pouco de codificação para criar um sistema de comércio básico. Eu não gosto muito dos gráficos. Não é muito nítido. Você pode pegar o meu blog, ele contém algumas fotos, clique em Uma coisa com certeza é quanto mais eu troco, mais satisfação eu quero obter, as tabelas funcionam bem, mas falta profundidade, se você sabe o que quero dizer, apenas Não lhe dê isso 39feeling39. Então, novamente, eu ainda posso ficar com o Amibroker quando eu for em tempo real em futuros e índices. Procure fóruns Inicie sua própria comunidade de graça. Saiba mais middot Inscreva-se gratuitamente

No comments:

Post a Comment