MetaTrader 4 - Exemplos Portfolio trading em MetaTrader 4 Magnus ab integro saeclorum nascitur ordo Publius Vergilius Maro, Eclogues Introdução O princípio do portfólio é conhecido desde há muito tempo. Ao diversificar os fundos em diversas direções, os investidores criam suas carteiras, reduzindo o risco global de perda e aumentando o crescimento da renda. A teoria da carteira ganhou impulso em 1950, quando o modelo matemático do primeiro portfólio foi proposto por Harry Markowitz. Na década de 1980, uma equipe de pesquisa da Morgan Stanley desenvolveu a primeira estratégia comercial de propagação, preparando o caminho para o grupo de estratégias de mercado neutro. A teoria atual do portfólio é diversificada e complexa, tornando quase impossível descrever todas as estratégias de portfólio em um único artigo. Portanto, apenas uma pequena variedade de estratégias especulativas, juntamente com sua possível implementação na plataforma MetaTrader 4, serão consideradas aqui. Algumas definições aplicadas neste artigo são as seguintes: conjunto de posições de carteira (cesta, instrumento sintético) em múltiplos instrumentos de negociação com volumes ótimos calculados. As posições permanecem abertas por algum tempo, são rastreadas como uma e fechadas com um resultado financeiro comum. Ajuste de carteira (cesta, instrumento sintético) alterando o conjunto de instrumentos de portfólio e seus volumes para minimizar perdas ou corrigir resultados intermediários. Número de volume sintético de posições sintéticas (número de vezes que o portfólio foi comprado ou vendido). Resultado financeiro de lucro virtual que pode ser obtido ao manter uma posição dentro de um determinado intervalo de tempo. As carteiras de investimento clássicas são geralmente aplicadas nos mercados de ações. No entanto, essa abordagem não se adapta ao Forex, uma vez que a maioria das carteiras são especulativas aqui. Eles são criados e comercializados de forma ligeiramente diferente. No que diz respeito ao Forex, a negociação de carteira é realmente uma negociação multi-moeda, no entanto, nem todas as estratégias de múltiplas moedas são as de portfólio. Se os símbolos são negociados de forma independente e não é rastreada a dinâmica total dos resultados, trata-se de uma negociação multi-símbolo. Se vários sistemas independentes se comercializarem em uma única conta comercial, este é um portfólio estratégico. Aqui vamos considerar uma negociação de carteira no sentido estrito quando uma posição sintética é formada a partir de vários símbolos e é gerenciada posteriormente. Princípios O desenvolvimento do portfólio consiste nas duas etapas: selecionar símbolos e calcular lotes e instruções para eles. Aqui vamos discutir apenas alguns métodos simples de desenvolvimento de portfólio, juntamente com amostras de algoritmo. Em particular, propomos o método dos mínimos quadrados ordinários (OLS) e a análise de componentes principais (PCA) como base. Mais informações podem ser encontradas aqui: Ao desenvolver um portfólio, geralmente é necessário definir o comportamento do gráfico de portfólio desejado. O gráfico do portfólio representa as mudanças do lucro total de todas as posições incluídas no portfólio dentro de um determinado intervalo de tempo. Otimização de portfólio é uma busca por uma combinação de lotes e direções que melhor se adaptem ao comportamento de portfólio desejado. Por exemplo, dependendo da nossa tarefa, pode ser necessário que um portfólio tenha uma recorrência ao valor médio ou atributos de uma tendência claramente marcada ou seu gráfico deve ser semelhante ao gráfico de uma função. Três tipos de portfólio (tendência, plano, função): um portfólio pode ser representado pela seguinte equação: A, B, C. são séries temporais correspondentes a símbolos de portfólio k1, k2, k3. São lotes de símbolos (compra positiva, venda negativa) Função alvo F (definida por valores em pontos de séries temporais) Esta é uma equação de regressão linear multivariada com um termo constante zero. Suas raízes podem ser facilmente encontradas usando OLS. Em primeiro lugar, as séries temporais devem ser feitas comparáveis, o que significa que os preços devem ser trazidos para uma moeda de depósito. Neste caso, cada elemento de cada timeseries representará um valor de lucro virtual de um único lote do símbolo apropriado em um determinado momento. A logaritmo do preço preliminar ou o uso de diferenças de preços geralmente são recomendados nas tarefas de aplicação estatística. No entanto, isso pode ser desnecessário e mesmo prejudicial no nosso caso, uma vez que os dados críticos da dinâmica dos símbolos globais seriam destruídos ao longo do caminho. A função alvo define o tipo de gráfico de portfólio. Os valores da função alvo devem ser calculados preliminarmente em cada ponto em conformidade. Por exemplo, ao desenvolver um portfólio de crescimento simples (portfólio de tendências), o portfólio de objetivos terá os valores 0, 1S, 2S, 3S, etc., onde S é um incremento no valor do dinheiro, ao qual o portfólio deve ser aumentado em cada barra Em um intervalo predeterminado. O algoritmo OLS acrescenta séries temporais A, B, C., de modo que sua soma total está buscando repetir a tabela de funções alvo. Para conseguir isso, o algoritmo OLS minimiza a soma de desvios quadrados entre a soma da série e a função alvo. Esta é uma tarefa estatística padrão. Não é necessária uma compreensão detalhada da operação do algoritmo, pois você pode usar uma biblioteca pré-fabricada. Também pode acontecer que a função alvo contenha apenas valores zero (portfólio plano). Neste caso, um limite de soma de razão adicional deve ser adicionado (por exemplo: k1 k2 k3. 1) para ignorar a resolução de uma equação de regressão com raízes zero. A alternativa é mover um termo de equação para a direita tornando-se uma função alvo recebendo a proporção de -1, enquanto os termos restantes são otimizados como de costume. Nesse caso, equiparamos a cesta de instrumentos para um instrumento selecionado, criando assim um portfólio de spread. Finalmente, o algoritmo PCA mais avançado pode ser usado para desenvolver tais carteiras. Aplica a matriz de covariância do instrumento para calcular o vetor de coeficientes correspondente ao hiperplano de seção transversal de nuvem pontual com a variância residual mínima da carteira. Novamente, você não precisa entender o algoritmo em detalhes aqui, pois você pode usar uma biblioteca pré-fabricada. Algoritmos Agora, é hora de implementar todas as idéias descritas acima usando a linguagem MQL. Usaremos uma conhecida biblioteca de matemática ALGLIB adaptada para MT4. Às vezes, problemas podem surgir durante a sua instalação, então eu vou ocupar mais sobre isso. Se vários terminais estiverem instalados em um PC, é muito importante encontrar a pasta de dados correta, uma vez que o compilador não vê a biblioteca se ela estiver localizada em outra pasta de dados de terminais. Instalando a biblioteca ALGLIB: baixe a biblioteca (mql5encode11077), descompacte o arquivo zip, abra a pasta de inclusão e encontre o diretório de Matemática dentro do lançamento da plataforma etarader 4, para a qual a biblioteca deve ser adicionada selecione o comando do menu: Arquivo Abrir pasta de dados abrir MQL4 e Incluir cópia da subpasta Pasta Matemática para Incluir pasta do terminal verifique os resultados: os arquivos. mhq devem estar dentro do MQL4IncludeMathAlglib. O primeiro estágio chave: conversão de séries temporais de pontos de preço em moeda de depósito. Para conseguir isso, precisamos escrever uma função especial para calcular o preço do contrato a qualquer momento. A função MarketInfo convencional não é adequada para isso, uma vez que fornece um preço de ponto correto somente para a última barra de gráfico. O problema é que os desvios inevitavelmente aparecem na história, pois os preços pontuais de alguns símbolos mudam constantemente. Portanto, é fundamental converter com precisão as séries de dados para evitar desequilíbrios significativos no portfólio. A função de amostra que calcula o preço do contrato é mostrada abaixo: Esta função sempre será usada no futuro. Ele funciona com pares de moedas, índices, futuros e CFDs. Além disso, ele também considera prefixos de símbolos e postfixes (FXprefix, FXpostfix) aplicados por alguns corretores. O resultado é convertido em uma moeda alvo (ChartCurrency). Se multiplicarmos o valor da função retornada pelo preço do símbolo atual, obtemos o preço dos símbolos um lote. Depois de somar todos os preços contratados na carteira considerando lotes, obtemos o preço de toda a carteira. Se multiplicarmos o valor da função por uma diferença de preço no tempo, recebemos lucros ou prejuízos gerados durante essa mudança de preço. O próximo passo é calcular o lucro virtual para todos os contratos de lotes individuais. O cálculo é implementado como uma matriz bidimensional onde a primeira dimensão é um índice de ponto no intervalo calculado, enquanto a segunda dimensão é um índice de símbolos (o segundo tamanho de dimensão pode ser limitado por um certo número sabendo que a quantidade de símbolos em O portfólio não o excederá obviamente): primeiro, devemos armazenar preços iniciais para todos os símbolos (no limite esquerdo do intervalo calculado). Então, a diferença entre os preços inicial e final é calculada em cada ponto do intervalo calculado e multiplicado pelo preço do contrato. Cada vez, mudamos para a direita por um intervalo de tempo no loop: no fragmento de código acima, tempo zero dos intervalos calculados limite esquerdo, tempo limite dos limites calculados limite direito, número de minutos do intervalo na barra do trabalho Cronograma, indica o número total de pontos detectados no intervalo calculado. A regra de conformidade estrita do rótulo de tempo é usada no exemplo acima. Se uma barra para uma determinada etiqueta de tempo estiver ausente mesmo em um símbolo, uma posição é ignorada e uma mudança é feita para a próxima. O gerenciamento de rótulos de tempo é muito importante para a preparação de dados preliminares, uma vez que o desalinhamento de dados em símbolos diferentes pode causar distorções sérias no portfólio. Os dados do portfólio de amostra para três símbolos e uma função independente (parábola de raiz quadrada): Agora que preparamos dados, é hora de enviá-los para o modelo de otimização. A otimização deve ser realizada usando as funções LRBuildZ, LSFitLinearC e PCABuildBasis da biblioteca ALGLIB. Essas funções são descritas brevemente dentro da própria biblioteca, bem como o site oficial do projeto: alglib. netdataanalysislinearregression. php e aqui: alglib. netdataanalysisprincipalcomponentsanalysis. php. Primeiro, certifique-se de incluir a biblioteca: Em seguida, o fragmento de código considerando os recursos do modelo deve ser definido para cada modelo de otimização. Primeiro, vamos examinar o modelo de tendência da amostra: no início, isso pode parecer complicado, mas basicamente tudo é simples. No início, a função de tendência linear é calculada e seus valores são colocados na matriz MODELO. O parâmetro ModelGrowth define o valor de crescimento para todo o intervalo de cálculo (o valor pelo qual o portfólio deve crescer na moeda de depósito). Os parâmetros ModelAbsolute e ModelPhase são opcionais e não têm importância no estágio atual. A matriz é criada para cálculos (MATRIX). Os dados sobre o lucro virtual de todos os contratos da matriz EQUITY, bem como os valores da função alvo da matriz MODELO são baixados para a última linha da matriz. O número de variáveis de equações de regressão independentes é armazenado em variáveis. A função LRBuildZ é chamada depois para executar o cálculo. Depois disso, as raízes da equação de regressão são escritas na matriz ROOTS usando a função LRUnpack. Todas as matemáticas complexas estão localizadas dentro da biblioteca, enquanto você pode usar as funções prontas. A principal dificuldade é de natureza técnica aqui e relacionada com a configuração de todas as chamadas corretamente e a preservação dos dados durante os preparativos. O mesmo fragmento de código pode ser usado para qualquer função. Simplesmente substitua os conteúdos da matriz MODELO pela sua função alvo. O cálculo da função parabólica da raiz quadrada da amostra é mostrado abaixo: abaixo é um exemplo de uma função mais complexa que representa a soma de uma tendência linear e oscilações harmônicas: no exemplo acima, é possível gerenciar um tamanho de tendência (usando o parâmetro ModelGrowth) e oscilação Amplitude (usando o parâmetro ModelAmplitude). O número de ciclos de oscilação é definido por ModelCycles, enquanto o deslocamento de fase de oscilação é realizado usando ModelPhase. Além disso, a mudança vertical deve ser realizada para permitir que a função seja igual a zero em um ponto zero para garantir que os cálculos estejam corretos: esses exemplos facilitam o desenvolvimento de uma função personalizada. Você pode criar qualquer tipo de função dependendo da sua tarefa e configuração comercial. Quanto mais complexo for o tipo de função, mais difícil é selecionar a melhor solução, já que o mercado não é obrigado a seguir a função. Aqui, a função é apenas uma aproximação. Você não precisa de uma função de destino para criar propagação e retornar carteiras planas. Por exemplo, se você quiser criar uma propagação entre duas cestas de símbolos, o cesto otimizado é baixado para a parte principal da matriz, enquanto o cesto de referência é usado como função alvo e é baixado para a última coluna da matriz como um total Montante: abaixo é um exemplo de cálculo de portfólio plano onde a função LSFitLinearC torna o portfólio tão simétrico quanto possível em torno de zero dentro do intervalo calculado: abaixo é mais um exemplo importante de cálculo de um portfólio plano com variância mínima usando o método PCA. Aqui, a função PCABuildBasis calcula as proporções para que o gráfico do portfólio permaneça como comprimido dentro do intervalo de cálculo possível: se você se sente sobrecarregado por todos esses conceitos de matemática, não se preocupe. Como já disse, você não precisa entender todos os detalhes matemáticos para desenvolver e usar portfólios. Geralmente, a seqüência de etapas é a seguinte: Cálculo do lucro virtual para símbolos de portfólio com lotes únicos. Cálculo de gráfico e negociação usando o portfólio Agora que obtivemos ROOTS matriz de índices ótimos usando uma série de procedimentos, é hora de transformar os índices em grande quantidade. Para fazer isso, precisamos de normalização: dimensionamento e arredondamento. Definir uma escala exigida torna muito conveniente negociar. O arredondamento é necessário para aumentar a capacidade dos lotes em conformidade com os requisitos do corretor. Às vezes, é recomendável realizar a normalização por margem total do portfólio, mas este método apresenta graves desvantagens (uma vez que a margem de símbolos individuais varia e pode mudar). Portanto, é muito mais razoável realizar a normalização por um preço de carteira ou sua volatilidade. Abaixo está um exemplo simples do algoritmo de normalização pelo preço da carteira: aqui, o preço do portfólio é equiparado ao exigido através das proporções. PortfolioValue exigiu o preço do portfólio, valor total do valor total do portfólio com os índices de inadimplência, taxa de escala de escala de escala, LotsDigits capacidade do lote, matriz LOTS dos valores do lote adequados para negociação. Os valores dos lotes formam a estrutura final do portfólio. Os lotes positivos correspondem a uma posição longa, enquanto lotes negativos a um curto. Conhecendo a estrutura da carteira, podemos traçar seu gráfico e realizar operações de negociação com o portfólio. Abaixo está uma estrutura de portfólio de exemplo após a normalização: o gráfico de portfólio é representado apenas por preços fechados e exibidos em uma sub-janela de indicadores separados. Para construir o gráfico de portfólio, precisamos calcular cada barra de gráfico da mesma forma que os lucros virtuais para símbolos separados foram previamente calculados. No entanto, agora eles são resumidos considerando lotes designados: neste fragmento de código, podemos ver que o gráfico é plotado entre as barras inicial e final: drawbegin e drawend. O valor do portfólio é igual à soma de lucros perdidos em todos os símbolos calculados como uma diferença de preço multiplicada por um preço do contrato e um lote anteriormente calculado. Eu omiti com aspectos técnicos relacionados aos buffers de indicadores, formatação e similares. O indicador de portfólio pré-fabricado está descrito na seção abaixo. Aqui você pode examinar a construção do gráfico de portfólio de amostra (subjacente inferior do indicador) com o gráfico de função alvo anexado: Aqui, a parábola de raiz quadrada feita simétrica em relação ao ponto de referência (ModelAbsolutetrue) é usada como função alvo. Os limites do intervalo calculado são mostrados como linhas pontilhadas vermelhas, enquanto o gráfico de portfólio tende a se mover ao longo da linha de função alvo dentro e fora do intervalo calculado. Você pode realizar análises técnicas de gráficos de portfólio semelhantes aos gráficos de preços de símbolos comuns, incluindo a aplicação de médias móveis, linhas de tendência e níveis. Isso amplia as capacidades analíticas e de negociação, permitindo selecionar a estrutura de portfólio para formar uma determinada configuração de negociação em um gráfico de portfólio, por exemplo, correção após impulso de tendência, enfraquecimento da tendência, saída de um flat overbought-oversold, convergência-divergência, breakout, nível Consolidação e outras configurações. A qualidade da instalação de negociação é afetada pela composição do portfólio, método de otimização, função alvo e segmento de histórico selecionado. É necessário conhecer a volatilidade das carteiras para selecionar um volume comercial apropriado. Uma vez que o gráfico de portfólio é inicialmente baseado em uma moeda de depósito, você pode avaliar uma faixa de flutuação de portfólio e uma potencial profundidade de retirada diretamente nessa moeda, usando o modo de cursor da cruz e puxando. Um sistema de negociação deve ser baseado em propriedades de comportamento de portfólio e estatísticas de configuração. Até agora, não mencionamos o fato de que o comportamento do portfólio pode mudar drasticamente fora do intervalo de otimização. Um apartamento pode se transformar em uma tendência, enquanto uma tendência pode se transformar em uma inversão. Um sistema de comércio também deve considerar que as propriedades do portfólio são propensas a mudar ao longo do tempo. Esta questão será discutida abaixo. As operações de negociação com um portfólio incluem uma compra única de todos os símbolos de portfólio com volumes calculados. Para mais conveniência, seria razoável ter um Consultor especializado especializado para realizar todo o trabalho de rotina, incluindo a obtenção de dados de estrutura de portfólio, a preparação de posições sintéticas, o rastreamento de níveis de entrada, a fixação de lucros e a limitação de perdas. Aplicaremos os seguintes termos relativos à operação de EA: posição de carteira sintética longa e posição breve de carteira sintética (onde as posições longas são substituídas por curtas e vice-versa). A EA deve ser capaz de acumular posições, rastrear volumes sintéticos, bem como realizar redes de portfólio e transformação. A amostra EA é considerada na próxima seção, embora sua estrutura não seja explicada devido às restrições de volume do artigo. Abaixo está a interface minimalista da amostra para um portfólio de EA: às vezes, é necessário construir não uma, mas várias carteiras. No caso mais simples, é necessário comparar duas carteiras. Algumas tarefas exigem que uma série de portfólio inteira seja construída em um único segmento de histórico, resultando em um conjunto de carteiras contendo certos padrões. Para implementar tais tarefas, é necessário o algoritmo gerando carteiras de acordo com um determinado modelo. O exemplo de implementar esse indicador pode ser encontrado na próxima seção. Aqui, descreveremos apenas os recursos de operação mais críticos. Precisamos organizar uma matriz de estrutura para armazenar os dados de várias pastas, por exemplo: neste fragmento de código, DIMSIZE define o tamanho máximo para armazenamento de carteiras. A estrutura é organizada da seguinte maneira: matriz de símbolo de portfólio de símbolos, matriz de lote para símbolos de portfólio, cadeia de texto de fórmula com a equação de portfólio, direção de portfólio de direção (longo ou curto), atributo de filtro filtro (incluído). A aplicação da matriz de estrutura é mais conveniente e razoável do que usar matrizes separadas. A matriz de estrutura também pode ser criada para armazenar matrizes de buffer de gráficos de portfólio: as carteiras dentro do conjunto variam de acordo com suas combinações de símbolos. Essas combinações podem ser definidas de antemão ou geradas de acordo com certas regras. Trabalhar com um conjunto de carteiras pode incluir várias etapas dependendo de uma tarefa. Vamos considerar a seguinte seqüência de etapas aqui: Cálculo de gráficos de carteiras separadas Primeiro, as carteiras separadas dentro de um conjunto são calculadas de acordo com os princípios descritos anteriormente. A combinação de carteiras em um ponto zero é necessária para facilitar a análise. Para fazer isso, um ponto, no qual todas as carteiras são iguais a zero, é selecionado. As carteiras de reversão relativas a um nível zero também podem ser úteis para simplificar a análise. As carteiras em queda tornam-se crescentes depois que os lotes são invertidos. Filtrar as carteiras dentro de um conjunto significa selecionar as melhores carteiras por algum critério, por exemplo, uma velocidade de crescimento, desvio de zero, posição dentro de um conjunto relativo a outras carteiras. Assim, as melhores carteiras selecionadas e penteadas em uma cesta de carteiras, ou uma superportfolio (superposição de carteiras). A imagem abaixo ilustra estas etapas: Uma mudança vertical é usada para combinar carteiras. O portfólio é revertido quando multiplicado por -1. Finalmente, um filtro é aplicado por triagem e amostragem por valores. Nenhuma descrição detalhada desses algoritmos é fornecida aqui para evitar uma enorme quantidade de código de rotina. Abaixo está um conjunto de amostras de carteiras construídas seguindo os princípios mencionados: O gráfico mostra um conjunto de carteiras calculadas pelo modelo PCA com um curto período. Os limites calculados do intervalo são mostrados como linhas tracejadas vermelhas. Aqui podemos ver a expansão do portfólio configurado em ambos os lados do intervalo de otimização. O ponto zero é selecionado no limite esquerdo do intervalo de otimização, enquanto os momentos de inversão relativos a zero e a aplicação do filtro são marcados pelas linhas pontilhadas roxas. A linha grossa descreve o superportfolio constituído pelas carteiras mais ativas e, portanto, tem uma corrida decente a partir do ponto zero. A combinação de carteiras oferece possibilidades adicionais de análise e desenvolvimento de estratégias de negociação, por exemplo, diversificação entre carteiras, spreads entre carteiras, convergência-divergência do conjunto de carteiras, espera por torção de um conjunto de portfólio, passando de um portfólio para outro e outras abordagens. Exemplos de implementação Os métodos descritos no artigo atual foram implementados como um indicador de portfólio e uma EA semi-automatizada. Aqui você pode encontrar as instruções, baixar o código-fonte e adaptá-lo às suas necessidades: Portfolio Modeller, desenvolvedor e otimizador de portfólio. Possui diversos tipos de modelos de otimização com parâmetros configuráveis. Além disso, você pode adicionar seus próprios modelos e funções de destino. Existem também ferramentas básicas para análise técnica de carteiras, bem como várias opções de formatação de gráfico. Gerador de Portfolio Multigraph de conjuntos de portfólio com os mesmos modelos e parâmetros e opções adicionais para transformação e filtração de portfólio, além de criar uma superportfolio. Gerente de portfólio EA para trabalhar com carteiras e superpontrolas. Ele opera em conjunto com o indicador de portfólio e permite abrir e gerenciar posições sintéticas, além de funcionalidade de correção de portfólio e modo de negociação automática com base em linhas gráficas de pedidos virtuais. Estratégias de negociação Existem muitas estratégias comerciais baseadas na aplicação de instrumentos sintéticos. Vamos considerar algumas idéias básicas que podem ser úteis ao criar uma estratégia de negociação de portfólio. Ao mesmo tempo, não podemos esquecer os riscos e as limitações. A abordagem clássica para gerar um portfólio é identificar ativos subvalorizados com potencial de crescimento e incluí-los no portfólio com a expectativa de seu aumento. A volatilidade da carteira é sempre inferior à soma das volatilidades dos instrumentos incluídos. Esta abordagem é boa para o mercado de ações, mas é de uso limitado no Forex, uma vez que as moedas geralmente não demonstram crescimento sustentado, ao contrário dos estoques. Abaixo está Warren Buffetts carteira de longo prazo: quando se trabalha com carteiras de investimento padrão, é necessário avaliar cuidadosamente o estado atual dos ativos para comprá-lo durante o movimento descendente do preço. A primeira e mais fácil opção para a negociação de carteiras especulativas é um par de negociação criando uma propagação de dois símbolos correlacionados. No Forex, esta abordagem é significativamente limitada, uma vez que mesmo os pares de moedas altamente correlacionados não têm cointegração e, portanto, podem divergir consideravelmente ao longo do tempo. Neste caso, lidamos com uma propagação quebrada. Além disso, essa troca de pares se transforma em negociação de uma taxa cruzada sintética, pois os pares com uma moeda comum geralmente estão incluídos em um spread. Esse tipo de troca de pares é uma idéia muito ruim. Depois de abrir posições opostas por propagação, às vezes temos que aguardar muito tempo antes que as curvas convergem novamente. Abaixo está um exemplo de pares altamente correlacionados e sua divergência gradual e inevitável: o desenvolvimento desta abordagem é uma negociação de spread multilateral quando três e mais pares de moedas estão incluídos no spread. Isso já é melhor do que o comércio por pares, pois é mais fácil criar um spread mais uniforme com maior número de opções de combinação. No entanto, os mesmos riscos permanecem: um spread pode divergir e não voltar a convergir. É muito mais fácil conseguir uma boa propagação de retorno em um mercado silencioso, mas fortes notícias fundamentais causam uma divergência rápida e irreversível depois de um tempo. Curiosamente, se aumentarmos o número de instrumentos em um spread, a probabilidade de divergência também é aumentada, uma vez que quanto mais as moedas estão envolvidas, maior a probabilidade de algo acontecer durante algum comunicado de imprensa. Esperar que o spread converge novamente seria uma estratégia extremamente prejudicial, uma vez que isso funciona apenas em um mercado plano silencioso. Abaixo está uma amostra de comportamento de propagação multi-lateral durante um comunicado de imprensa: A propagação de negociação tem mais oportunidades de estoque ou mercado de câmbio no caso de existir uma conexão fundamental entre ativos. No entanto, ainda não há garantias contra as diferenças de spread na data do dividendo ou durante a expiração do contrato de futuros. As expansões também podem ser compostas por índices de mercado e futuros, mas isso requer uma consideração dos recursos comerciais cambiais. Uma filial sem saída da operação de spread é representada por um bloqueio múltiplo quando os pares de moedas cíclicamente relacionados (por exemplo, EURUSD-GBPUSD-EURGBP) são selecionados e usados para formar um spread equilibrado. Nesse caso, temos um spread perfeito, que é impossível de comercializar, uma vez que o total de spreads e as comissões são muito altas. Se tentarmos desbalancear um pouco, o gráfico se torna mais tendencial - o que contradiz o spread comercial, enquanto os custos permanecem elevados o suficiente, tornando esta abordagem sem sentido. Abaixo está um exemplo de um multi-bloqueio equilibrado. O spread total é mostrado como duas linhas vermelhas: as desvantagens de transação de spread nos fazem mudar para modelos de tendência. À primeira vista, tudo parece ser bastante harmonioso aqui: identifique a tendência, entre durante uma correção e saia com lucro em níveis mais elevados. Abaixo está um exemplo de um modelo de boa tendência: no entanto, os modelos de tendência podem não ser tão simples e acessíveis às vezes. Às vezes, um portfólio se recusa a crescer ainda mais e às vezes ele desce de forma acentuada. Neste caso, lidamos com uma tendência quebrada. Isso ocorre com bastante frequência em modelos de curto e médio prazo. A eficiência comercial depende muito da fase de mercado aqui. Quando o mercado está na moda, o sistema funciona bem. Se o mercado é plano ou especialmente volátil, podem ocorrer numerosas perdas. Abaixo você pode ver uma conclusão de tendência acentuada: estas desvantagens nos fazem reconsiderar as abordagens tradicionais. Agora, dê uma olhada na disseminação e nos métodos de troca de tendências. A suposição comum é que, como não podemos evitar a instabilidade do portfólio, devemos aprender a usá-lo. A fim de desenvolver uma configuração de breakout espalhada, precisamos criar um spread muito compacto de curto período de tempo com a volatilidade mínima em antecipação a um movimento forte. Quanto mais comprimimos a volatilidade da carteira, mais forte estourará. Para propagação acelerada, é possível formar uma configuração antes de iniciar as sessões de troca e antes da notícia selecionar certos intervalos de um mercado silencioso. O método de otimização PCA é mais adequado para compressão de volatilidade. Nesta configuração, não sabemos antecipadamente, em que direção a ocorrência ocorre, a entrada já está definida quando se deslocam dos limites espalhados. Abaixo está uma saída de amostra do canal de propagação de curto período com os limites do canal de propagação destacados: as vantagens do método: os spreads de curto período de tempo são freqüentes em gráficos e a volatilidade após a quebra geralmente excede a largura do corredor espalhado. As desvantagens: os spreads são expandidos durante os lançamentos de notícias e uma serra pode se formar quando o preço se move para cima e para baixo algumas vezes. A entrada conservadora pode ser proposta como uma alternativa depois de sair um corredor espalhado durante a correção para o limite do corredor, se possível. Para criar uma configuração de reversão de tendência, é criado um modelo de tendência, bem como movimentos de giro e os níveis de preços do portfólio são rastreados. A direção do movimento está claramente definida, mas não sabemos antecipadamente quando a tendência inverte-se. Um cruzamento interno da linha de tendências, correção reversa e roll-back são rastreados para uma entrada conservadora. Tocar uma linha de tendência externa e um roll-back são rastreados para uma entrada agressiva. Abaixo está um exemplo de um portfólio de tendências com as linhas externas e internas exibidas: as vantagens do método: bom preço de entrada, conveniência, instabilidade de preços extremos a favor da configuração. Desvantagens: o preço do portfólio pode aumentar a tendência devido a razões fundamentais. Para melhorar a situação, podemos inserir volumes fracionários de vários níveis. Uma configuração semelhante pode ser implementada usando o modelo de função parabólica de raiz quadrada. A configuração é baseada em uma propriedade bem conhecida: quando o preço atinge um limite teórico de uma faixa de distribuição do mercado, seu movimento adicional é dificultado. Como em outros casos, a função de otimização de destino é ajustada para a distribuição atual do mercado. Se os mercados apresentassem a distribuição Gaussiana normal, a lei da raiz quadrada baseada no tempo sempre funcionou perfeitamente, mas como a distribuição do mercado é fractal e não estacionária em sua natureza, é necessário o ajuste situacional. Você pode encontrar mais sobre as distribuições do mercado nos seguintes livros por Edgar Peters: Caos e ordem nos mercados de capitais Análise do mercado de fracturas Abaixo está um exemplo de um portfólio que se afasta da função parabólica: Esta configuração é perfeita para se adaptar à volatilidade do meio prazo . No entanto, como no caso de uma configuração de tendência, um preço de carteira pode se mover para cima devido a fatores fundamentais. O mercado não é obrigado a seguir nenhum comportamento de função alvo, mas tampouco é obrigado a se desviar disso também. Um certo grau de liberdade e dualidade permanecem em todos os momentos. Todas as configurações de comércio não são neutras no mercado no sentido absoluto, mas são baseadas em alguma forma de análise técnica. A natureza dupla da tendência e do apartamento pode ser vista abaixo. Um modelo de tendência é semelhante a um plano desigual em uma escala maior: além da combinação de símbolos e do modelo, a localização dos limites de intervalo estimados é de grande importância ao desenvolver um portfólio. Ao configurar o portfólio, pode ser útil mover os limites e comparar os resultados. Uma boa escolha de limites permite encontrar portfólios que são mais adequados em termos de uma configuração de negociação. Se uma posição de carteira entra em uma redução, é possível corrigir o portfólio sem fechar posições existentes. Deslocar os limites altera a curva do portfólio adaptando-a a uma situação em mudança. As posições devem ser corrigidas em conformidade após a reorganização do portfólio. Isso não significa que a redução diminua em um momento, mas o portfólio corrigido pode tornar-se mais eficiente. Next, lets consider some properties of portfolio sets and their possible applications in trading systems. The first property of portfolio sets to catch the eye is a set expansion, or divergence of portfolios with distance from the zero point. It would be only natural and reasonable to use this property for trading: buying rising portfolios and selling falling ones. Below is a sample expanding set of portfolios: The second property portfolio set compression (convergence) is opposite to the previous one. It happens after an expansion. Expansion and compression cycles suggest that this behavior can be used to open synthetic positions in anticipation of returning to the center of the set after reaching an alleged highest degree of expansion. However, the expansion highest degree always vary, and it is impossible to predict the final boundaries of the set curves expansion. Below is a sample compressing set of portfolios: Applying various target functions, filtration parameters, reversals and combinations provides good opportunities for experimenting and searching for efficient trading setups. Generally, all setups can be divided into two classes: trading breakouts and trading roll-backs. Below is an example of the first type trading setup with a reversal and shift of a portfolio set: A sample roll-back trading setup based on the multi-trend model is provided below: Another recurring portfolio property is a set twist (self-crossing). Typically, this corresponds to a change of a market trend. If we trade in anticipation of an expansion of portfolios, a twist is a negative effect requiring the set re-arrangement. For other strategies, crossing of some portfolio curves can be used to identify promising and played-out portfolios. Besides, it is necessary to consider a distance traveled, levels, position in a set and position relative to the target function. Below is an example of a set twisting multiple times: We have not focused out attention on the volume management issue up until now, though this is a critical part of any trading system. Generally, we can describe the following approaches: trading a single synthetic position (the simplest case) dividing the volumes (extended entry by levels) adding to a rising portfolio (pyramiding by trend) adding to a portfolio in a drawdown (position averaging) adding to a portfolio after a correction (finishing method) adding to a portfolio after a reversal (expansive strategy) adding to new portfolios (portfolio consolidation) combined approach (combining several approaches) Specific volume management method should be selected considering trading system features. When planning a profit and a drawdown, your calculations should be based on a portfolio volatility. In the simplest case, the portfolio volatility can be evaluated as the movement range of its graph within a certain segment. It is much better to evaluate volatility not only within the optimization interval but on the previous history as well. Knowing the portfolio volatility, it is possible to calculate a theoretical value of the maximum total drawdown at a series of positions. Traditionally, we caution against too frequent aggressive volume adding. The total funds allocated for a portfolio coverage on a trading account should be able to withstand unfavorable movement considering all additional positions. Multi-portfolio trading means systematic portfolio selection and consolidation. If one portfolio is bought and another one is added to it, this may have a positive diversification effect if the portfolios have noticeable differences. But if portfolios are correlating, this may have a negative effect, since they both may find themselves in a drawdown in case of an unfavorable movement. Normally, you should avoid adding correlating portfolios. At first glance, trading spread between two correlating portfolios may seem to be very promising but closer examination shows that such spreads are no different from usual spreads since they are not stationary. Various exit strategies can be applied in multi-portfolio trading, including: closing by total result of all portfolios closing a group of portfolios by the groups total result closing by certain portfolios targets and limits. For some strategies, the entry point is of critical importance. For example, if a strategy applies extreme prices before a trend reversal or correction, a period suitable for entry is very short. Other strategies are more reliant on the optimal calculation of a position adding system and portfolio selection principle. In this case, individual portfolios may enter a drawdown, but other (more efficient) portfolios within the consolidated series adjust the overall result. Conclusion Portfolio trading advantages: optimization allows you to create a portfolio curve according to your preferences, as well as form a desired trading setup and trade it similar to trading symbols on a price chart. However, unlike trading portfolios, buying and selling conventional assets leave traders in passive position (since they are only able to accept the current price chart or avoid using it). Besides, as the situation evolves, traders can adjust their portfolios to new market conditions. Portfolio trading drawbacks: standard pending orders are not applicable, more stringent minimum volume requirements, bigger spreads on 30 and lower charts, hindered intraday scalping, no OHLC data, not all indicators can be applied to portfolios. Generally, this is a rather specific approach in trading. Here we have only made an introductory overview of the portfolio properties and working methods. If you want to perform deeper studies of portfolio trading systems, I recommend using the MetaTrader 5 platform for that, while market distribution properties should be studied in specialized statistical packages. Warning: All rights to these materials are reserved by MQL5 Ltd. Copying or reprinting of these materials in whole or in part is prohibited. Portfolio optimization Real-Time After Hours Pre-Market News Flash Quote Summary Quote Interactive Charts Default Setting Please note that once you make your selection, it will apply to all future visits to NASDAQ. Se, a qualquer momento, você estiver interessado em reverter as nossas configurações padrão, selecione Configuração padrão acima. Se você tiver dúvidas ou encontrar quaisquer problemas na alteração das configurações padrão, envie um email para isfeedbacknasdaq. Confirme a sua seleção: Você selecionou para alterar sua configuração padrão para a Pesquisa de orçamento. Esta será a sua página de destino padrão, a menos que você altere sua configuração novamente ou exclua seus cookies. Are you sure you want to change your settings We have a favor to ask Please disable your ad blocker (or update your settings to ensure that javascript and cookies are enabled), so that we can continue to provide you with the first-rate market news and data youve come to expect from us. Forex robots portfolio Dear friends, this is going to be another long post, please bear with me because it contains all the details of an exciting challenge: long term forex profitability. I8217m not talking about huge quick profits followed by fast droppings, I8217m talking about consistent and realistic monthly earnings. This post represents my way of thinking and my actual model of forex trading. This may change in the future, but for now I stick to it. And since I don8217t like empty words, I8217ll show you one of my live accounts on which this portfolio runs. One more thing: I8217m not trying to sell you anything or convince you of anything so please keep the criticism for those unscrupulous sellers who can8217t back up their claims of becoming billionaires (if that8217s the way things are, why do they sell you those 299 webminarscoursesguidesEAs without showing you a live account instead). Of course, I8217m not talking about those few honest vendors, you know who they are. My approach My current approach can be summarized in a few words. They are not my words, they belong to a russian trader. 8220The system itself is actually a reflection of the outworld. The harmoniously developing life dictates its laws. When children, we all observed the following scene: ants hold a straw from different sides and pull it into an ant-hill. And each ant pulls the straw its own way. Nevertheless, finally the stray is carried in the direction of the ant-hill8221 How does this translates in actual trading I8217m going to use different strategies in a single portfolio: trend follower, pullback, swing, scalper, volatility breakout. All these are profitable on backtest in the long haul, their drawdown periods are not correlated therefore strategies are different but profits are summed up. I8217m using a forex robot for each strategy. My rules that all forex robots from my portfolio must obey 1. Entries are taken at the beginning of a new bar only. 2. Stop Loss and Take Profit are sent to broker server for protection in case of disconnects. 3. Entry and exit rules must be as simple as possible. One extra rule one more step toward curve fitting and I don8217t want that. Money is made on the future, not on backtest. 4. I have my strict optimization rules and all my robots must obey them. My optimization rules Just optimizing the robot from 2000 to 2013 and choosing the best performing parameters doesn8217t work properly. Here are my methods of optimization: 1. At first, the robot must survive without any optimization I only code the entry and exit rules and hit the Start button in MT4 backtester. If the strategy is valid, then it should survive, please note I8217m talking about survival not profit. But it must survive. If it doesn8217t, I don8217t waste my time on it. 2. To a certain extent, every EA is curve fitted, a rule is a form of curve fitting when we talk about non-deterministic systems, please read the rest of my articles to get a grasp of the concept. But money are made in the future, not in the past, so the present must be adjusted and prepared to face the future, not the past. Therefore, I optimize the forex robot from 2007 to 2013 then test the resulted parameters against the past period 2000-2007. If the drawdown remains almost the same, the profit almost doubles and the number of trades is large enough for the chosen timeframe, then the parameters are valid and should be written down for further use. 3. The forex robot must survive and be profitable on a correlated pair without any kind of optimization for the test pair, I8217m just using the best selected parameters for the main pair. For example the best performing parameters resulted from backtesting the forex robot on EURUSD must be profitable on USDCHF also. 4. The following criteria should be met: (Total profit in pips number of years to backtest) maximum historical drawdown in pips gt 1 The last selection criteria This should give us a clue about how the forex robot behaves under real live trading conditions. Please note that this formula is made by me, it8217s my personal criteria, don8217t be surprised if you can8217t find it anywhere else. Real Profit Ratio (RPR) ((WFER Total profit in pips) number of years to backtest) MCWCS WFER Walk Forward Efficiency Ratio MCWCS Monte Carlo Worst Case Scenario (MC analysis is performed having the best selected parameters as a starting base) If RPRlt0.5, the EA should be discarded. If RPRgt0.5 AND RPRlt0.6 8211 modest performance if RPRgt0.6 AND RPRlt0.8 8211 good performance if RPRgt0.8 8211 an excellent EA Forex robots from my portfolio and their characteristics All backtests were conducted with spread2, starting balance of 10,000, fixed lot of 0.1, Alpari UK no holes data. Period 2000-2013 1. Trend follower, EURUSD, M30 Total profit in pips: 21,397 Maximum drawdown in pips: 978 RPR: 0.7 2. Pullback, EURUSD, M30 Total profit in pips: 17,780 Maximum drawdown in pips: 700 RPR: 0.8 3. Pullback, USDCHF, M30 Total profit in pips: 16,127 Maximum drawdown in pips: 750 RPR: 0.65 4. Scalper, EURUSD, M30 Total profit in pips: 5,367 Maximum drawdown in pips: 260 RPR: 0.9 5. Swing (Forex Cleaner), EURUSD, M30 Total profit in pips: 12,878 Maximum drawdown in pips: 1000 RPR: 0.5 (oops) 6. Countertrend, EURUSD, H4 Total profit in pips: 15,387 Maximum drawdown in pips: 800 RPR: 0.55 7. Volatility breakout (Forex Fancy Bot reoptimized), EURUSD, M15 Total profit in pips: 13,000 Maximum drawdown in pips: 600 RPR: 0.6 The robots marked with red are publicly available commercial EAs, the rest are my private EAs. Here is how my portfolio looks like: Forex Robots Portfolio Portfolio monthly profits Overall portfolio performance Total profit in pips: 107,000 Maximum historical drawdown in pips: 1800 Maximum number of days without profit (drawdown length): 111 8,200 pips per year on average for a maximum historical drawdown of 1,800 pips. The worst case ever we should expect is half the average profit and double the maximum historical drawdown. ( MCWCS 1800 2). Even in the worst case we should still have a positive profit ratio: (8,200 2) (1800 2) 4100 3600 1.13 This means I should prepare to suffer without a blink of an eye a drawdown of 3,600 pips and a drawdown length of 4 months in the worst case scenario. I8217m trading 500 with 0.01 lots so the maximum drawdown I can experiment is 360 pips (360). But the reward is very appealing: 8,000 pips per year (800) for a maximum drawdown of 1,800 pips (180). In the next article I8217ll give details about the strategies I8217m using and about my private EAs. Forex Cleaner and FFB (Forex Fancy Bot won8217t be much discussed, they were publicly available commercial EAs). Forex Fancy Bot will be updated at the end of this month and all members will receive a notification email. And keep in mind: don8217t invest what you can8217t afford to lose and don8217t keep your eggs on the same basket. I have a large number of live accounts spread across multiple brokers. And I don8217t invest what I can8217t afford to lose, I keep adding 500 to my account every month. For this account, I can only lose 360 so I8217m very relaxed. I hope for your sake you got the point. There are no guaranteed profits in forex, forex is an art, not a science, otherwise we all would have been billionaires by now. If you want to receive news from me in real time just Like my facebook page. Zamolxis Tradind System
Estratégias de Negociação de Ponto Pivot Os pontos de pivô são uma ferramenta de negociação amplamente reconhecida que há muito foi usada por comerciantes financeiros. O uso deles permite que seja feito um cálculo rápido e fácil, que identifique o viés de mercado esperado e suporte potencial e níveis de resistência de qualquer lado do preço atual. Eles foram desenvolvidos pela primeira vez por comerciantes de piso como uma maneira rápida e fácil de calcular a direção do mercado a curto prazo. O cálculo analisa os períodos anteriores de alta, baixa e baixa para produzir o ponto central 8216Pivot Point8217. Isso fornece então a base para movimentos projetados de cada lado do pivô central. Eles são fáceis de controlar e podem ser usados para gerar estratégias simples de negociação de pontos de pivô para gerar sinais de opções binárias. The Theory The Pivot Level fornece o foco central da estratégia. Onde o preço negocia em relação ao pivô é importante. Isso mostra o sentimento dominante...
Comments
Post a Comment