Thursday 19 October 2017

Trading station 2 indicators no Brasil


Posto de Negociação Aviso de Investimento de Alto Risco: a negociação de divisas e contratos para diferenças de margem comporta um alto nível de risco e pode não ser adequado para todos os investidores. Existe a possibilidade de que você possa sustentar uma perda em excesso de seus fundos depositados e, portanto, você não deve especular com o capital que não pode perder. Antes de decidir trocar os produtos oferecidos pela FXCM, você deve considerar cuidadosamente seus objetivos, situação financeira, necessidades e nível de experiência. Você deve estar ciente de todos os riscos associados à negociação na margem. A FXCM fornece conselhos gerais que não levam em consideração seus objetivos, situação financeira ou necessidades. O conteúdo deste site não deve ser interpretado como um conselho pessoal. A FXCM recomenda que você procure o conselho de um consultor financeiro separado. Clique aqui para ler o aviso de risco total. A FXCM é uma negociante de câmbio mercantil e varejista registrada da Futures Commission com a Commodity Futures Trading Commission e é membro da National Futures Association. NFA 0308179 Forex Capital Markets, LLC (FXCM LLC) é uma subsidiária operacional do grupo de empresas FXCM (coletivamente, o Grupo FXCM). Todas as referências neste site para FXCM se referem ao Grupo FXCM. Tenha em atenção que as informações contidas neste site destinam-se apenas a clientes de varejo e certas representações aqui contidas podem não ser aplicáveis ​​aos Participantes de Contrato Elegíveis (ou seja, clientes institucionais) conforme definido na Lei de Câmbio de Mercadorias, seção 1 (a) (12). Direitos autorais copiam 2017 Forex Capital Markets. Todos os direitos reservados. 55 Water St. 50th Floor, Nova Iorque, NY 10041 USAHome rsaquo Forex Trading Software rsaquo Como começar com a FXCM Trading Station Indicador e desenvolvimento de sistemas Como começar com o FXCM Trading Station Indicator and Systems Development Hoje, I8217m estou muito feliz em apresentar um Postagem convidada de Omar Hafez. Ele me contatou por e-mail e, quando conversamos, estava realmente interessado no que ele estava fazendo com a plataforma FXCM Trading Station. Quase todos em Forex (incluindo eu), falam sobre Metatrader8230 algumas pessoas falam sobre Ninjatrader e algumas pessoas mencionam a TradeStation agora e novamente. Mas fiquei surpreendido quanto flexibilidade existe na plataforma de desktop FXCM e quão poderosa pode ser. A melhor parte é que ele usa uma linguagem de programação já estabelecida (em vez de algo estranho como o EasyLanguage), que é mais fácil de aprender do que a maioria. Além disso, o FXCM possibilita que os desenvolvedores vendam seu código na versão FXCM de uma loja 8220app, 8221 algo que a Omar entrará na segunda parte desta série. De qualquer forma, Omar faz um melhor trabalho para explicar isso do que eu. Então, sem mais demoras, aqui está Omar8230 Meu nome é Omar Hafez da MooMooFX e hoje I8217m vai lhe dar uma rápida introdução ao desenvolvimento da plataforma FXCM Trading Station. Primeiro, um pouco de fundo sobre mim e por que escolhi a FXCM como minha plataforma. I8217m um engenheiro de software com mais de 10 anos de experiência trabalhando com grandes corporações 8211 7 desses 10 anos com os bancos de investimento. Um dia, eu decidi que tinha o que era preciso para escrever meu próprio sistema de troca algorítmica automática e decidi concentrar-me neste tempo integral. Eu tentei muitos softwares e sistemas do broker8217 com foco naqueles que forneceram contas de demonstração, e muitos deles eram muito bons para os comerciantes do dia, mas não o cortaram para os interessados ​​em desenvolver seus próprios indicadores e sistemas. Enquanto o MetaTrader e o Ninjatrader são muito populares, e sua comunidade on-line é enorme (embora IMO principalmente lixo), acabei me estabelecendo com os sistemas FXCM8217s. As ferramentas de backtester e otimização de estratégias FXCM8217s são incríveis e são facilmente superiores a outros sistemas. A linguagem subjacente, Lua. É fácil de pegar e há uma grande quantidade de documentação e um fórum ativo para apoiá-lo. Hoje, apenas para mostrar-lhe o quão fácil é, vamos recriar, a partir do zero, uma simples implementação do famoso indicador do oscilador MACD em conjunto. À medida que passamos, as coisas são simples e breves, ao mesmo tempo que ligue a documentação on-line para leitura adicional para os interessados. Pré-requisitos Mas, primeiro, se você quiser fazer isso sozinho, então você precisa dos seguintes pré-requisitos: Um pouco de uma experiência de programação ou interesse para aprender Faça o download e instale a Estação de Negociação do Indicore SDK FXCM (se quiser ver seu indicador em ação). Tutorial Então, let8217s começam. A função Init () para inicializar o perfil do indicador 8211 dados gerais no indicador. A função Preparar () para inicializar uma instância particular do indicador. A função Update () que executa o número de crunching cada vez que há uma atualização para os dados de preço. Tudo bem, então primeiro let8217s olham para a função Init (). O objetivo desta função é basicamente definir ou configurar o nosso perfil do indicador8217s, entre todos os outros indicadores disponíveis. Portanto, precisaremos definir coisas específicas desse indicador, mas gerais para todas as instâncias desse indicador, como seu nome, que tipo de dados ele precisa e os parâmetros de configuração do it8217s. Para aqueles que não estão familiarizados com o termo instância neste contexto. Basta imaginar que você adicione o indicador MACD duas vezes no mesmo gráfico que diferem em seus comprimentos médios móveis, isso significa que você tem duas instâncias diferentes do indicador MACD. A função Init () está bem, então let8217s crie a função Init () e adicione algumas das coisas mencionadas acima. Nota: Dois sinais menos, 8211, representam um comentário que não tem impacto na fonte do indicador, mas é útil adicionar comentários ou notas ao código. Vou usá-los para explicar cada item que estamos fazendo. Tudo bem. O acima é bastante padrão e necessário para todos os indicadores que desenvolvemos. Contudo, nós ainda não terminamos com a função Init (). Precisamos definir alguns parâmetros que podemos configurar, como por exemplo, quanto tempo as médias móveis devem ser, e talvez a cor que queremos que as linhas sejam etc. Então, adicionando mais8230 E we8217re feito com Init () Então você pode ver que temos Agora adicionou alguns parâmetros que podemos usar para ajustar o cálculo e alguns parâmetros para que possamos ajustar o estilo de cada instância. A função Preparar () Agora, só precisamos escrever a função Preparar (), onde realmente usamos a configuração que acabamos de definir para configurar nossa instância e, em seguida, escrevemos o número de peças crucificadas quando o preço muda. Assim, como antes, let8217s definem uma função Prepare () e uma rápida validação de nossos valores de parâmetros. OK, uma vez que passamos a seção de validação, let8217s definem o nome dessa instância específica para algo exclusivo desta configuração da instância8217s para que possamos distingui-la de outras. Podemos acessar a fonte de par de moedas usando instance. source, então let8217s use isso e adicione os comprimentos das médias móveis. Streams de dados Em seguida, precisamos dizer ao sistema que tipo de dados estaremos criando. Isso é feito através de fluxos de dados. Neste caso, precisamos criar três fluxos. Dois deles serão do tipo Line (a linha MACD e a linha de sinal) e um será do tipo Bar (o histograma). Além disso, o sistema precisa conhecer a cor do fluxo (nossa chance de usar os parâmetros de cores que definimos na função Init ()) e precisamos dizer quando os primeiros dados são esperados. Mais sobre fluxos aqui. Oh, não espere, não está certo. Se definimos os fluxos dentro de uma função, não podemos acessá-los no exterior. Precisamos ter acesso a esses fluxos na função Atualização () para que possamos atualizar seus valores. Além disso, precisamos usar o valor de quando os primeiros dados são esperados, então let8217s também transformam isso em uma variável global (então Podemos acessá-lo a partir de qualquer função). Let8217s reescreva as últimas linhas assim e termine a função Prepare (). Let8217s não se esqueça de definir as variáveis ​​globais fora da função. Então, apenas acima, mas a linha de função Prepare (), mas após o fim da função Init (), let8217s adicione o seguinte: OK great Estamos quase concluídos. A função Update () Por fim, let8217s amarrar tudo junto na função Update () e fazer os cálculos reais. Então, para aqueles que não sabem, o indicador MACD realmente calcula duas médias móveis, então toma a diferença entre essas médias móveis e traça isso Como a linha MACD. Além disso, outra média móvel é tomada da linha MACD, e isso é chamado de linha de sinal. Por fim, um histograma é criado tomando a diferença entre a Linha MACD e as Linhas de Sinal. Então, let8217s movem-se na função Update (), ao contrário das funções Prepare () e Init (), vem com duas entradas 8211 o período e o modo. Para o propósito deste exemplo, I8217m vai ignorar o modo e descrever o período como simplesmente uma instância no tempo. Então, se nós queríamos representar o tempo como quando nossa instância é criada como T0, então let8217s dizem period0. Se precisarmos de 10 carrapatos ou 10 barras de dados, não podemos calcular nada até que o período seja maior ou igual a 10. Portanto, com sorte, já calculamos quando nossos dados estão disponíveis acima. A função Update () deve começar um pouco como esta8230 OK, então ficando um pouco mais complexo agora, mas espero que você possa ver o que o we8217ve feito aqui. Ao tomar a média dos dados de preços representados por instance. source, para intervalos especificados, podemos calcular as duas médias móveis que precisamos. Então, ao diferenciá-los, já calculamos um dos três fluxos de saída que precisamos. Então let8217s finalizam isso e that8217s ele salva o arquivo como SimpleMACD. lua e we8217re feito Se você estivesse seguindo de perto, o código-fonte completo deveria se parecer com Isto (download de arquivo de amostra no formato zip). Agora você pode carregar isso no aplicativo Lua Indicator Debugger que veio com o IndicoreSDK e executá-lo contra alguns dados de teste. Você deve ter algo que se parece a isto. Se ele for executado corretamente no depurador, então você pode importá-lo para o FXCM Trading Station e começar a usá-lo para ajudar sua negociação. You8217ll precisa ter o FXCM Trading Station instalado e uma conta válida (ao vivo ou demo) para vê-lo executado, mas se você fizer isso deve parecer algo assim Conclusão E aí temos 8211 nosso próprio indicador personalizado, neste caso um oscilador Sob o gráfico de preços. Espero que tenham gostado deste rápido tutorial. É claro que apenas concluímos uma implementação simples do indicador MACD. Você poderia expandir isso para calcular as médias móveis exponenciais, ou adicionar mais funk ao seu indicador. Essa é a beleza de poder escrever código, você pode conseguir que os computadores funcionem para você. Os próximos passos seriam escrever uma Estratégia Automática que gere sinais comerciais a partir do seu indicador personalizado (quando as linhas cruzarem ou sempre que desejar). Então você pode sentar e assistir seu sistema trocar por si só, ou permitir que ele trote enquanto você está dormindo. Escrever uma estratégia não é muito mais difícil do que o que fizemos hoje. Se você está interessado, há mais informações on-line e você pode fazer algumas coisas muito legais. A maioria das informações está no FxCodeBase. No Fórum de Indicadores Personalizados ou nos links WikiSDK. Aqui estão alguns links para ajudá-lo no seu caminho: se você tiver alguma dúvida para o Omar até agora, pergunte-lhes nos comentários abaixo. Nota dos editores: Gostaria realmente de agradecer a Omar por terem tido tempo para criar este tutorial. Fique de olho na segunda parte, onde ele fala sobre vender seu código na loja de aplicativos FXCM.

No comments:

Post a Comment