Dukascopy jforex strategy


Crie uma Estratégia.


Crie nova / abra a estratégia existente.


Para abrir uma nova estratégia, clique com o botão direito no painel Estratégias no navegador.


Uma vez que uma "estratégia nova" é selecionado, o sistema cria um novo arquivo de estratégia em & quot;


\ AppData \ Local \ JForex \ Strategies & quot; diretório. A estratégia, por si só, é um arquivo java, que pode ser editado em qualquer editor compatível com Java.


O exemplo a seguir é um arquivo de estratégia típico com métodos de implementação mínimos necessários para uma compilação bem-sucedida:


Uma estratégia pode ser compilada pressionando o botão de compilação na barra de ferramentas do seu editor de estratégias:


Os resultados da compilação podem ser visualizados nas "Mensagens" aba. A "Compilando. OK " a mensagem é exibida, se a compilação tiver sido bem-sucedida. Caso contrário, você obtém mensagens de erro detalhadas.


Execute o programa.


Para trazer um sentido para o nosso exemplo, vamos ajustar os métodos OnStart e onTick para fazer com que ele imprima ticks recebidos:


Uma vez compilada a estratégia, pode-se executá-la clicando com o botão esquerdo no painel Navegador e selecionando Execução local.


Para mais informações sobre o desenvolvimento de estratégias e os exemplos de uso, consulte Estratégia API.


Dukascopy.


Desejo usar jForexAPI para criar uma estratégia. Eu codifiquei muitas linhas no MT4 e eu já estou perdido com seu jForex api.


Eles só ajudam a ver que é um PDF muito breve.


Existem fóruns para compilações dds?


Qual plataforma de desenvolvimento eu uso para criar arquivos dds?


Onde estão os muitos exemplos do dds?


Como criar um arquivo dds, apenas através de bloco de notas.


O bloco de notas não é bom para o desenvolvimento de script, então há algo mais?


Tudo o que eu quero fazer é um script que irá colocar uma perda de parada e atingir o lucro e, em uma condição, começar uma parada posterior depois de colocar uma ordem de mercado. Assim, como um script de criação de pedidos automático, salva-me fazendo o gerenciamento de comércio. Então eu preciso de recursos de exemplo ou um codificador para me ajudar.


Qualquer ajuda seria ótimo.


Embora o Duskacopy tenha uma ferramenta para construir uma ponte do MT4 para a plataforma Dukascopy, o problema é que o carregamento de dados MT4 geralmente não é "completamente confiável".


Portanto, provavelmente é melhor programar a estratégia com a API Jforex usando Dukascopy Datafeed.


Aqui está a documentação para quem está interessado:


O pdf que você listou. Eles não dizem nada sobre como construir um script para sua plataforma java.


Dukas está dizendo que o bloco de notas é a plataforma de desenvolvimento, bem, não pode ser, como é que alguém teste o script e depura-o.


Sua plataforma de negociação java não possui depurador de código ou escritor.


Eu não posso nem uma lista de exemplos. Nem mesmo um fórum suportado por dukas para ajudar os construtores da estratégia. Talvez seja eu, e não sou muito bom no google.


Foram as ferramentas, recursos, fóruns, exemplos, etc.


[Question] Dukascopy - Estratégia JForex.


Alguém reescreveu uma famosa EA scalper na Estratégia JForex e vendendo.


O teste de volta parece excelente e o teste avançado em DEMO parece excelente também.


Alguém experiente com JForex? Qual a diferença entre a sua conta DEMO e REAL? Quão confiável seus resultados de teste de volta?


Sinais de negociação pelo Dukascopy Forex Broker.


Tenho certeza de que a maioria de vocês sabe sobre a Dukascopy TV e suas transmissões. Eles têm um novo programa a partir deste mês - indicadores técnicos e seu desempenho. A Dukascopy TV transmite o programa de sinais comerciais todos os dias após as 8:00 GMT. Os métodos utilizados no programa incluem indicadores como MACD, RSI, estocástico, ADX, CCI, Aroon, SAR e Alligator.


Só pensei que as pessoas aqui poderiam achar isso útil.


Alguém reescreveu uma famosa EA scalper na Estratégia JForex e vendendo.


O teste de volta parece excelente e o teste avançado em DEMO parece excelente também.


Alguém experiente com JForex? Qual a diferença entre a sua conta DEMO e REAL? Quão confiável seus resultados de teste de volta?


Estou negociando com a Jforex. melhor com eles é que eles têm um feed de dados. Também para executar a estratégia é muito fácil e estou certo de que este é um lugar certo para negociar com estratégia automática.


Se alguém quiser, posso reescrever o MQL EA para o Jforex.


Ou posso codificar EA para Jforex do seu sistema manual.


programador de lol que possui erros de digitação em seu endereço de e-mail (cão) hehe.


Se alguém quiser, posso reescrever o MQL EA rentável para o Jforex.


Ou eu posso escrever EA para o Jforex do seu sistema.


Alex, e-mail fxprogrammer (cão) rambler (ponto) ru.


programador de lol que possui erros de digitação em seu endereço de e-mail (cão) hehe.


Eu achei esse tópico útil sempre que preciso de alguma ajuda com a codificação:


Eu usei alguns dos programadores e eles não têm erros de digitação, lol.


Olhando para mudar para o jForex da Dukascopy? Eu posso ajudar!


Alguém está aqui com um sistema comercial lucrativo que gostaria de mudar para a plataforma jForex da Dukascopy? A Dukascopy é conhecida por ser um excelente corretor, e atualmente oferece contas privadas com saldo de abertura mínimo de apenas US $ 10.000.


Eu estaria disposto a codificar estratégias para usar na plataforma jForex para qualquer pessoa que tenha um sistema comercial lucrativo (independentemente de quão simples ou complexo seja), gratuitamente. A única tentativa é que eu quero ver suas declarações de conta ao vivo por pelo menos os últimos 3 meses antes de assumir seu projeto para que eu possa decidir se o seu sistema vale ou não o meu tempo.


Estou planejando abrir uma conta privada com a Dukascopy no futuro, mas atualmente não tenho um sistema rentável para usar, então estou olhando para emparelhar com alguém que possui o sistema, mas pode não ter a experiência de programação para desenvolver uma Estratégia jForex. Se alguém aqui estiver interessado, envie-me um e-mail ou um PM.


Olá, amigos.


Onde posso aprender a criar uma EA na linguagem Java?


Tutorial de estratégia.


Este tutorial contém informações sobre como criar e desenvolver estratégias JForex. O tutorial começa com uma estratégia simples que apenas imprime uma mensagem e, em seguida, prossegue a estratégia de negociação que, com cada seção, mais evolui à medida que adicionamos dados históricos, indicadores e uso de gráficos. Embora todas as estratégias fornecidas possam ser desenvolvidas dentro da plataforma JForex, considere o uso de um Ambiente de Desenvolvimento Integrado (IDE) para o desenvolvimento da estratégia.


Estratégia simples.


Em primeiro lugar, criaremos uma estratégia simples clicando com o botão direito do mouse no nó Estratégias no painel Navegador e escolhendo Nova Estratégia.


A plataforma JForex gera um novo arquivo e abre no editor. Tente compilar o arquivo pressionando F5 ou compilar o botão:


O JForex solicitará que você nomeie e salve o arquivo java em seu disco rígido.


Se você salvar o arquivo com um nome de arquivo personalizado, não se esqueça de alterar o nome da classe no arquivo gerado. O nome do arquivo e o nome da classe devem ser os mesmos. Por exemplo. Se salvar o arquivo como StartStrategy. java, o nome da classe também deve ser StartStrategy.


Modifique onStart.


A classe de estratégia gerada implementa a interface IStrategy. Os métodos de estratégia são implementados com corpos de métodos vazios no arquivo java da estratégia gerada. Modifique o método onStart. Esse método é chamado sempre que se inicia uma estratégia. Preencha o corpo do método onStart com o seguinte código:


Compile o arquivo pressionando F5 ou compilar o botão.


Execute a estratégia.


Teste a estratégia clicando com o botão direito do mouse na estratégia no JForex e escolha Local Run.


Há três coisas que indicam que a estratégia foi chamada:


O ícone da Estratégia é alterado no nó Estratégias - um triângulo verde é adicionado, indicando que a estratégia está no estado em execução:


Na guia Mensagens, uma nova mensagem é adicionada:


Uma nova aba é aberta para a estratégia iniciada. Esta guia mostra o resultado da estratégia. Neste caso, vemos que a declaração println foi executada com sucesso e impressa & quot; Método onStart () chamado "quot ;:


Faça o comércio simples.


Definir Parâmetros.


Os parâmetros da estratégia são definidos antes da execução do método onStart. Abra o arquivo java da estratégia no editor e adicione um parâmetro ao arquivo java. Leia o artigo Parâmetros de estratégia para saber mais sobre os parâmetros da estratégia.


Compile o arquivo. No lançamento da estratégia, o "Definir Parâmetros & quot; diálogo aparece. Aqui pode-se modificar os valores dos parâmetros da estratégia.


Depois de definir os valores dos parâmetros, escolha Executar para iniciar a estratégia.


Obtendo barras e carrapatos.


Nesta parte do tutorial, estamos usando os parâmetros previamente definidos. Esses parâmetros são usados ​​para obter os objetos IBar e ITick. Pode-se visitar Barras de História ou História Ticks para aprender mais sobre barras e carrapatos.


Inicialmente, defina a barra e marque. Referências de objeto na classe:


Inicialize as referências do objeto anteriorBar e myLastBar no método onStart usando os métodos IHistory. getBar e IHistory. getLastTick:


Em seguida, devemos dar algum resultado para que se possam verificar os valores no gráfico e na saída da estratégia:


Antes de executar a estratégia, é necessário subscrever um instrumento usando um método IContext. setSubscribedInstruments. Coloque o seguinte código antes do código de inicialização IBar:


Compile o arquivo.


Quando um executa a estratégia, acontecem três coisas:


Se o instrumento escolhido não estiver na lista da janela Instrumentos, é adicionado (é por isso que precisamos subscrever um instrumento, se o instrumento não for subscrito, então a estratégia não funcionará)


A mensagem na guia Mensagens é exibida. A mensagem também mostra os valores dos parâmetros.


As mensagens de saída da estratégia são exibidas na guia da estratégia.


Observe os valores de abertura e fechamento da barra. Estes serão necessários para comparar os valores do gráfico e os valores da barra.


Compare a saída da estratégia com a saída do gráfico!


Abra o gráfico desejado de acordo com o instrumento que será selecionado no "Definir Parâmetros" diálogo. Defina o mesmo Valor de Período para o gráfico como será em "Definir Parâmetros" diálogo. Em seguida, execute a estratégia. Compare os parâmetros Open, Close, High, Low e Volume da guia de saída da estratégia e da última barra completa do gráfico. Estes devem ser os mesmos:


Fazer um negócio.


No início, escreva uma declaração de importação para importar Enumeração OrderCommand. Este enum define comandos - VENDER e COMPRAR. Nós precisaremos dessas constantes de enum mais tarde.


Neste exemplo, estamos usando o arquivo java da estratégia criado anteriormente - BarsAndTicks. java. Agora adicione algum código para negociação. Primeiro, escreva uma linha de código que decidirá vender ou comprar. Nesse caso, estamos tomando essa decisão com base na última barra completa. Todo o código a seguir é adicionado ao método onStart. Se o valor recuperado do método getOpen da barra for menor que o valor getClose (barra verde), então compraremos, se oposto (barra vermelha), venderemos:


Quando agora, o tipo de operação comercial que faremos, podemos executar o nosso OrderCommand usando o método de envio de um método IEngine. O método submitOrder leva como um parâmetro um objeto String - o rótulo da ordem. Lembre-se de que este rótulo para cada pedido deve ser exclusivo.


Compile o arquivo e execute a estratégia. Observe que na guia Posições há uma nova entrada onde Ext. ID é igual a "quot; MyStrategyOrder2 & quot ;. Este é o rótulo de ordem que damos como parâmetro para o método IEngine. submitOrder.


Pode-se fechar a ordem selecionando a caixa de seleção da ordem na guia Posições, clicando com o botão direito do mouse e selecionando Fechar Posição:


Comércio de acordo com o último barramento concluído.


Nesta parte do tutorial, modificaremos a estratégia criada anteriormente BarsAndTicksTrade. java. O método onBar é chamado em cada barra para cada período básico e instrumento no qual o aplicativo está inscrito. Para trabalhar com instrumentos específicos apenas no método onBar, precisaremos filtrar esses arquivos. Neste exemplo, mostraremos como registrar os eventos da ordem com um método onMessage. Para registrar mensagens relacionadas à ordem de todas as outras mensagens, precisaremos filtrar elas. Neste exemplo, estamos simulando o log por simplesmente imprimir na guia de saída da estratégia.


Crie a lógica no método onBar.


Mova a lógica da estratégia criada anteriormente do método onStart para o método OnBar. Aqui está o método onStart após o movimento:


Defina um novo parâmetro de instância do tipo IOrder. Nós precisaremos desse objeto IOrder mais tarde para verificar os pedidos existentes com o mesmo rótulo:


Em seguida, implemente o método onBar da seguinte maneira:


Faça o login.


Implementar o método onMessages como o seguinte:


Clique aqui para saber mais sobre o log. Aqui está o arquivo java da estratégia completa - OnBarExample. java.


Pode-se verificar a forma como a estratégia funciona em situações reais com dados históricos reais, utilizando um verificador histórico. Testamos nossa estratégia com base nos dados do último dia. Para fazer isso, selecione Tools-Historical Tester para abrir a guia histórica do testador. Escolha a estratégia de uma lista suspensa; pressione o botão Instrumento para ajustar o instrumento desejado; defina o período em uma lista suspensa para o último dia; Defina o período para Ticks. Finalmente, pressione o botão play para iniciar o teste.


Se você estiver interessado em mais detalhes sobre como trabalhar com o Historical Tester, visite o wiki do Tester Histórico.


Os resultados do teste são abertos em um navegador por padrão.


Comércio de acordo com a SMA Trend.


A estratégia desta parte do tutorial irá negociar de acordo com as mudanças do indicador SMA - comprar em tendência ascendente e vender em tendência descendente. Usaremos um indicador SMA (Simple Moving Average) e atualizaremos nosso arquivo java de estratégia criado anteriormente.


A idéia é usar um método Indicators. sma para obter valores para as duas últimas barras concluídas (segundo a último e último) e tomar uma decisão de acordo com os valores dessas barras. Neste caso, usamos o método sma que leva intervalos de vela como parâmetros. Clique aqui para saber mais como usar os intervalos de vela para o cálculo do indicador.


Vamos preparar a estratégia para a nossa nova implementação do método onBar. Precisamos definir o atributo do período de tempo para o método sma e poucas constantes para a matriz retornada do método sma. Além disso, adicionaremos um método de utilitário para imprimir mensagens no console:


Aqui está um código completo do método onBar:


public void onBar (Instrumento, período, IBar askBar, IBar bidBar) lança JFException.


Aqui está o arquivo java de uma estratégia completa - SMASampleTrade. java.


Teste nossa estratégia por alguns dias com o Historical Tester. Quando o gráfico é aberto, confirme se o período é o mesmo que você deu como um parâmetro. Estamos usando os seguintes parâmetros nesta amostra:


Adicione o indicador SMA ao gráfico clicando no botão f (x) e, em seguida, escolha Adicionar indicador. Em uma pesquisa de Filtro Rápido para SMA - Simple Moving Average e configure os seguintes parâmetros:


Pode-se ver que a decisão é tomada nas duas últimas barras concluídas. Se uma linha de tendência da SMA começar a subir, vendemos, se descer, então, comprar. Verifique também a saída da estratégia - aqui você pode ver os indicadores SMA para duas últimas barras concluídas (último e segundo para último) e as mensagens da ordem.


Clique aqui para saber mais sobre o Cálculo do Indicador.


Representando Eventos no Gráfico.


Nesta parte do tutorial, pode-se aprender como adicionar objetos de gráfico a um gráfico e como os personalizar. Vamos adicionar e personalizar um SMA indicador, IOhlcChartObject, ISignalDownChartObject e ISignalUpChartObject objetos. Essa estratégia fará ordens de acordo com os valores da SMA e adicionará o objeto ISignalDownChartObject ou ISignalUpChartObject ao gráfico no ponto da linha do tempo quando uma nova ordem for criada. Estamos criando essa nova estratégia no arquivo SMASampleTrade. java criado anteriormente. Clique aqui para saber mais sobre como adicionar objetos a um gráfico.


Em primeiro lugar, adicione as seguintes importações:


Vamos usar os ícones IChart e IChartObjectFactory para trabalhar com os gráficos. Então, criamos um parâmetro de instância para cada um deles. Como adição, estamos criando uma instância.


Ao executar a estratégia, uma pessoa poderá escolher se deseja adicionar ou não o indicador e os valores da OHLC ao gráfico e se deseja ou não fechar o gráfico depois que a estratégia for fechada. Então, adicione os seguintes parâmetros ao código:


Em seguida, inicialize as variáveis ​​de instância necessárias para adicionar um indicador de SMA ao gráfico e ligue para um método (addToChart) que fará o trabalho. O método onStart:


Modifique o método onStop para que ele leve em consideração a escolha dos usuários para fechar ou não o gráfico se a estratégia for fechada:


Como adição à lógica criada anteriormente, adicionaremos ao gráfico um objeto ISignalDownChartObject ou ISignalUpChartObject sempre que o método onBar for invocado para o nosso instrumento e período. Considere o seguinte código no método onBar:


Adicione um novo método de utilidade para impressão de mensagens de erro na saída da estratégia:


Por fim, implemente o método addToChart. Este método irá adicionar o indicador SMA e, opcionalmente, as variáveis ​​OHLC ao gráfico:


Aqui está o arquivo java da estratégia completa - ChartUsage. java.


Teste a estratégia com o Tester Histórico. Não escolha fechar o gráfico no método onStop ao testar com o Historical Tester (ele mostrará mensagens de erro), um deve fechar manualmente o gráfico antigo antes de executar um novo teste. Neste exemplo, estamos executando nossa estratégia com os seguintes parâmetros:


Aqui está um gráfico resultante:


Adicione Stop Loss e obtenha lucros.


Nesta parte do tutorial, usamos stop-loss (SL) e obtem valores de lucro (TP) de uma ordem. Vamos modificar o arquivo java da estratégia criado anteriormente - ChartUsage. java.


Começamos adicionando novas importações e removendo desnecessariamente. Anteriormente, nós atribuímos objetos de sinal e sinal para um tipo IChartObject, mas agora usaremos outro tipo de referência (mais específico) - IChartDependentChartObject. Ao usar esse tipo de objeto, pode-se indicar que o objeto não ficará em uma barra quando adicionado ao gráfico (com o tipo de objeto IChartObject, não é possível).


Defina novas variáveis ​​de instância. Nós precisaremos deles mais tarde:


Como mencionado anteriormente, vamos usar os valores SL e TP de uma ordem, então nós adicionamos novos parâmetros para poder definir os valores necessários na inicialização da estratégia. A variável breakEventPips é usada para definir o nível de lucro-pips. Quando esse nível de lucro em pips é atingido, o valor SL da ordem é definido como o nível de preço aberto da ordem.


Defina um enum que contenha constantes de todos os estados de linha de tendência SMA possíveis:


Break Even in onTick.


Considere o método onTick que é chamado no tiquete de cada instrumento. Filtramos apenas os instrumentos em que nos interessamos, então o método é executado somente quando precisamos. Mais tarde, no método OnBar, adicionamos cada nova ordem a um objeto Map. Aqui, passamos pelo Mapa de pedidos para ver se já mudamos o SL de acordo com o nível de equilíbrio. Se não for alterado, verificamos se o lucro em pips é maior que o parâmetro breakEventPips. Se for, podemos mudar o valor SL para o nível de preço aberto da ordem. Toda vez que o valor SL é ajustado para o preço aberto, adicionamos um triângulo (invocando um método addBreakToChart que é descrito mais tarde) para indicar o processo visualmente no gráfico. Finalmente, alteramos o preço SL da encomenda e atualizamos a entrada no Mapa. Aqui está a implementação do método onTick:


Comércio de acordo com a SMA.


Nós modificamos nosso método onBar criado anteriormente. Estamos mudando o método onBar da maneira que ele usará os valores de ENUM SMATrend para verificar quando criar uma nova ordem. Nós também definimos os valores de SL e TP. Uma diferença em relação ao exemplo anterior é que não fechamos a ordem anterior se uma nova abrir. Os pedidos são fechados automaticamente quando os valores de SL ou TP são atingidos. Além disso, todos os novos pedidos são salvos no Mapa para verificar mais tarde o método onTick.


Adicionando um indicador ao gráfico.


Modifique o método addToChart para que a verificação do gráfico aconteça em um novo método - checkChart:


O método para verificar um gráfico:


Traçando um triângulo de equilíbrio na tabela.


Implementar o método addBreakToChart que é invocado no método onTick para mostrar uma representação visual das alterações SL no gráfico. Neste método, estamos adicionando um triângulo ao nosso gráfico se o valor SL for alterado para uma ordem. O triângulo verde representa as alterações SL para encomendas longas e uma vermelha para pedidos curtos. O triângulo é desenhado para que ele comece quando a ordem é criada e termina quando o valor SL é alterado. Adicionamos um texto ao triângulo para representar os valores novos e novos de SL.


Aqui está o arquivo java da estratégia completa - StopLossStrategy. java.


Clique aqui para saber mais sobre SL.


Testando a Estratégia.


Execute a estratégia no testador histórico. Neste exemplo, estamos usando os seguintes parâmetros:


Considere a saída do gráfico! As setas vermelha e verde mostram as ordens curtas e longas no gráfico ao mesmo tempo em que a ordem é criada. O lado direito dos triângulos mostra o tempo de mudança de SL e os novos e novos valores de SL. O canto esquerdo do triângulo começa na mesma posição no tempo em que a ordem é criada - ao fazê-lo, pode-se controlar facilmente a qual ordem a mudança SL é feita.


Usando o Feed de Dados.


Nesta seção, vamos mudar o tipo de dados de feed de 10 minutos para 2-pip renko bars (e, alternativamente, barras de período personalizadas de 30 segundos) deixando a lógica de estratégia restante igual. Para criar uma estratégia que funcione com diferentes feeds de dados, é necessário criar uma classe que implemente uma interface IFeedListener. Esta classe precisa implementar apenas um método - IFeedListener. onFeedData. Esse método é invocado sempre que os dados de feed chegam. Neste exemplo, vamos modificar o arquivo java da estratégia criado anteriormente - StopLossStrategy. java.


Declaração de um Tipo de Alimentação.


Modifique o arquivo StopLossStrategy. java e adicione as seguintes importações:


Conforme mencionado na introdução, precisamos implementar a interface IFeedListener para recuperar dados de feed. Implementaremos a interface na mesma classe onde a interface IStrategy é implementada:


Se estiver usando mais de um tipo de feed de dados no código, então precisamos usar Instrumento, Oferta, Preço, Período de acordo com um feed subscrito. Todos esses valores podem ser recuperados de um elemento IFeedDescriptor. Substitua essas variáveis ​​em todos os métodos com chamadas de métodos IFeedDescriptor que recuperam as mesmas variáveis ​​de acordo com o tipo de feed. Então, remova os parâmetros myInstrument, myOfferSide e myPeriod.


Neste exemplo, forneceremos uma escolha na inicialização da estratégia para escolher entre dois tipos de feed, então, vamos adicionar um novo parâmetro. Precisamos detectar a escolha de feed de um usuário e subscrevê-lo. Por isso, declaramos um novo enum. Esse enum possui um construtor que atribui um valor para a variável IFeedDescriptor de uma constante. Ao fazê-lo, podemos usar a constante enum's (FeedType) para obter informações sobre um feed de dados selecionado (Instrument, OfferSide, etc.).


Assinatura de um Feed.


Assinamos um tipo específico de feed no método onStart. Adicionamos o código que subscreve o feed:


Implementação de uma interface IFeedListener.


Estamos movendo toda a lógica do método onBar para onFeedData. Não estamos mais interessados ​​em executar o método onBar, pois estamos usando o feed de dados. Estamos interessados ​​em que nossa lógica seja executada sempre que um novo dado chegue. Para recuperar os dados, precisamos implementar a interface IFeedListener. Esta interface declara apenas um método - onFeedData. Uma diferença do código da estratégia criada anteriormente é que os valores do Instrumento e da Oferta são obtidos do objeto IFeedDescriptor. Todo o código está inserido em um bloco try-catch, porque alguns dos métodos (por exemplo, IIndicators. calculateIndicator) trow JFException. O objeto IBar é recuperado ao lançar o objeto ITimedData (a interface IBar estende a interface ITimedData). Um feed do indicador também é recuperado de uma maneira um pouco diferente - estamos usando o método IIndicators. calculateIndicator em vez de IIndicators. sma devido ao uso do objeto IFeedDescriptor.


O método onBar permanece com o corpo vazio:


Modificação do método de verificação de gráfico.


No método de verificação de gráfico, substituímos a forma de obter os objetos do Instrumento e da Oferta. Estamos usando o objeto IFeedDescriptor para recuperá-los. A lógica de verificar o gráfico também é um pouco diferente da anterior. Precisamos detectar o tipo de feed de dados e verificar o gráfico de acordo com ele:


O código-fonte completo da estratégia - Feeds. java.


Testando a Estratégia.


Neste exemplo, estamos usando intervalos mais específicos (30 segundos) e preço (2 pips). Antes de iniciar a estratégia, é necessário abrir um gráfico com os mesmos parâmetros dados nos parâmetros da estratégia. Para adicionar intervalos específicos de intervalos de tempo / preço, é necessário escolher Ferramentas - & gt; Preferências - & gt; Período e adicionar períodos obrigatórios. Para iniciar a estratégia, você precisa adicionar os períodos Renko 2 Pips e 30 Seconds.


Testando com um Renko Feed.


Estamos executando o teste de Renko 2 Pips com os seguintes parâmetros:


Aqui está um exemplo de imagem dos resultados do tipo de feed Renko (2 pips). Podemos ver que o indicador SMA e as ordens longas / curtas são adicionados ao gráfico:


Testando com uma alimentação personalizada da vela da Perda.


Ao testar a alimentação do Time Bar 30 segundos, estamos usando pids de Stop Loss e Break Event mais pequenos porque, com os valores maiores, seria difícil rastrear as alterações SL (os triângulos plotados seriam muito amplos). Parâmetros usados:


Adicionando GUI à Estratégia.


Neste exemplo, estamos adicionando um elemento GUI (Interface gráfica de usuário) (JDialog) que exibirá uma caixa de diálogo de aviso sempre que uma nova ordem for enviada. A caixa de diálogo conterá o texto da mensagem com um rótulo da ordem criada. Se acontecer que a nova ordem seja criada antes que a caixa de diálogo antiga seja fechada, a caixa de diálogo simplesmente altera o rótulo da nova ordem no texto da mensagem.


Vamos modificar nossa estratégia criada anteriormente - Feeds. java.


Em primeiro lugar, estamos adicionando novas importações para GUI. Vamos usar um objeto JDialog, que incluirá (envolve) o objeto JOptionPane (o conteúdo do JDialog).


Declare variáveis ​​de instância para a caixa de diálogo.


Por padrão, a caixa de diálogo bloquearia um acesso à plataforma enquanto a caixa de diálogo está em aberto. Para tornar a caixa de diálogo não modal, adicione a seguinte linha de código ao método onStart:


Para mostrar uma caixa de diálogo, chamamos um método de showNotification do método onDataFeed. Ligue para o método showNotification se uma nova ordem for criada. Aqui está um trecho de código:


O método showNotification mostra a caixa de diálogo sempre que uma nova ordem é criada (se a caixa de diálogo antiga é fechada) ou modifica a mensagem de uma caixa de diálogo existente (se a caixa de diálogo antiga não estiver fechada). Se a caixa de diálogo não estiver fechada, o método adiciona uma lógica que escuta os eventos da caixa de diálogo. Neste caso, estamos a ouvir os eventos próximos da janela. Se a janela de diálogo for fechada, a variável dialogClosed é definida como falsa, então, na execução do próximo método, agora que a caixa de diálogo está em posição fechada.


Aqui está o arquivo java da estratégia concluída - FeedsGUI. java.


Ao executar a estratégia, aparece uma nova caixa de diálogo de aviso. Se fecharmos a caixa de diálogo, então, na próxima submissão da ordem, aparecerá uma nova caixa de diálogo. Se não fecharmos a caixa de diálogo antes da nova encomenda, a mensagem da caixa de diálogo será alterada. O diálogo deve ser o seguinte:


Pode-se clicar aqui para saber mais sobre como usar o JDialog e outros objetos swing do Java ™.


Carteira de negociação algorítmica.


Os detalhes estão listados abaixo da tabela de resultados. A única PORTFÓLIO DE ESTRATÉGIAS FUNCIONAIS à venda na Internet.


Em março de 2018 terminei o décimo lugar no Dukascopy Strategy Contest.


Nota: Estratégia grátis para download O ApacheJForexRobot desenvolvido para Dukascopy Strategy Contest foi criado apenas para fins de competição para maximizar o lucro e pode levar a chamada de margem.


Para resultados uniformes devem ser as estratégias (resultados em pips) equilibradas pelo tamanho de posições que cada estratégia tem uma renda adequada. A comparação de pips é, portanto, apenas uma matemática, não lógica. * Algumas das estratégias usam gerenciamento de dinheiro especial e, em tais casos, os pips são multiplicados por posições para poder se comparar com outras estratégias. O lucro corresponde a estes pips. ** Em cada mês são contados apenas negócios fechados este mês. *** 28 pares: AUDCAD, AUDCHF, AUDJPY, AUDNZD, AUDUSD, CADCHF, CADJPY, CHFJPY, EURAUD, EURCAD, EURGBP, EURCHF, EURJPY, EURNZD, EURUSD, GBPAUD, GBPCAD, GBPCHF, GBPJPY, GBPNZD, GBPUSD, NZDCAD, NZDCHF, NZDJPY, NZDUSD, USDCAD, USDCHF, USDJPY.


Forex ROBOTS para a plataforma JForex da Dukascopy.


[robôs jforex, estratégias jforex, análises técnicas, arquivos jfx, download jfx, análises forex]


& # x2000; & # x2000; NOTÍCIAS A Dukascopy lançou o CFD. Eu me pergunto se eu posso encontrar estratégias com maior desempenho do que para o forex.


& # x2000; & # x2000; PREPARANDO: As estratégias selecionadas estarão disponíveis para a plataforma METATRADER.


& # x2000; & # x2000; BÔNUS: se você abrir uma conta com o Dukascopy Bank ou a Dukascopy Europe e me colocar como um Business Introducer ao abrir uma conta, você obtém FREE ROBOT para esta conta! Contate-me para mais detalhes.


& # x2000; & # x2000; VANTAGEM: Você pode substituir o robô já adquirido por outro valor e você pode fazê-lo gratuitamente.


& # x2000; & # x2000; Mostrar resultados são pips não balanceados, as estratégias de negociação são, obviamente, equilibradas pelo tamanho da posição em uma relação próxima de 1: 1: 1: 1.


& # x2000; & # x2000; O tamanho das posições é determinado pelo próprio comerciante como uma porcentagem do saldo da conta ou em lotes fixos. A estratégia não exige da sua parte nenhuma configuração de lógica, todos os valores estão predefinidos. As estratégias são regularmente revisadas e ajustadas para maximizar os retornos.


& # x2000; & # x2000; As opções de pagamento para usar a estratégia são ambas, preço fixo ou comissão a partir do valor negociado.


& # x2000; & # x2000; Licença de vida para uma estratégia e duas contas ao vivo máximo para 50 000 EUR O total do saldo de contas é acessível por preço fixo. No caso do sistema de tarifas, é necessário um preço de 0,001% do valor negociado e um saldo mínimo da conta de 50 000 EUR. Para obter o preço do código fonte Você pode entrar em contato comigo.


& # x2000; & # x2000; Para obter informações mais gerais, por favor, clique em Porquê.


máximo para o saldo da conta de 50 000 EUR.


do saldo da conta 50 000 EUR.


0,001% do valor negociado.


5-50% de participação nos lucros)


Existem estratégias automáticas 5-10 como aplicativo JForexRobot autônomo. Entre em contato comigo para acessar a conta de demonstração ou se você quiser tentar as estratégias em si.


& # x2000; & # x2000; Over +2000 pips aberto na conta ao vivo.


Estratégias programadas para encomendar e publicar com permissões pelo usuário.


Estratégias removidas em execução no HT ou R. I.P.


Eu sou COMERCIAL de TEMPO COMPLETO! Agora, foco principalmente em Futuros, Opções, etc.


Fora do escritório até 10 de maio.


Novas estratégias SIRIUS e GAPPA.


Estratégias HAWK e SQUADHAWK atualizadas.


Estratégias MULTIMAC e PARALEN atualizadas.


A Dukascopy lançou operações de CFD em contas de demonstração. Eu me pergunto se eu posso encontrar estratégias com maior desempenho do que para o forex.


Nova noite estratégia MIDNIGTH.


Fora do escritório até 10 de julho.


A melhor estratégia DEUS foi publicada.


Nova estratégia de usuário HADES.


Desenvolvimento da estratégia de escalação Apache.


Nova estratégia SUPERNOVA. Backtest a estratégia para os 21 pares desde 1990.


Fora do escritório até o Ano Novo.


Facelift da estratégia mais antiga EMAC.


Nova estratégia MULTISKYTE baseada nos princípios da estratégia Skyte.


Nova estratégia PROFHET. Estratégia BEAT atualizada.


Fora do cargo até 25 de agosto.


Estratégias de desenvolvimento e backtesting Prophet, Thaw, ZZTop.


Direitos autorais e cópia; 2009-2018 GeniuZ. Todos os direitos reservados. Arbitragem.


Carteira de negociação algorítmica.


Os detalhes estão listados abaixo da tabela de resultados. A única PORTFÓLIO DE ESTRATÉGIAS FUNCIONAIS à venda na Internet.


Em março de 2018 terminei o décimo lugar no Dukascopy Strategy Contest.


Nota: Estratégia grátis para download O ApacheJForexRobot desenvolvido para Dukascopy Strategy Contest foi criado apenas para fins de competição para maximizar o lucro e pode levar a chamada de margem.


Para resultados uniformes devem ser as estratégias (resultados em pips) equilibradas pelo tamanho de posições que cada estratégia tem uma renda adequada. A comparação de pips é, portanto, apenas uma matemática, não lógica. * Algumas das estratégias usam gerenciamento de dinheiro especial e, em tais casos, os pips são multiplicados por posições para poder se comparar com outras estratégias. O lucro corresponde a estes pips. ** Em cada mês são contados apenas negócios fechados este mês. *** 28 pares: AUDCAD, AUDCHF, AUDJPY, AUDNZD, AUDUSD, CADCHF, CADJPY, CHFJPY, EURAUD, EURCAD, EURGBP, EURCHF, EURJPY, EURNZD, EURUSD, GBPAUD, GBPCAD, GBPCHF, GBPJPY, GBPNZD, GBPUSD, NZDCAD, NZDCHF, NZDJPY, NZDUSD, USDCAD, USDCHF, USDJPY.


Forex ROBOTS para a plataforma JForex da Dukascopy.


[robôs jforex, estratégias jforex, análises técnicas, arquivos jfx, download jfx, análises forex]


& # x2000; & # x2000; NOTÍCIAS A Dukascopy lançou o CFD. Eu me pergunto se eu posso encontrar estratégias com maior desempenho do que para o forex.


& # x2000; & # x2000; PREPARANDO: As estratégias selecionadas estarão disponíveis para a plataforma METATRADER.


& # x2000; & # x2000; BÔNUS: se você abrir uma conta com o Dukascopy Bank ou a Dukascopy Europe e me colocar como um Business Introducer ao abrir uma conta, você obtém FREE ROBOT para esta conta! Contate-me para mais detalhes.


& # x2000; & # x2000; VANTAGEM: Você pode substituir o robô já adquirido por outro valor e você pode fazê-lo gratuitamente.


& # x2000; & # x2000; Mostrar resultados são pips não balanceados, as estratégias de negociação são, obviamente, equilibradas pelo tamanho da posição em uma relação próxima de 1: 1: 1: 1.


& # x2000; & # x2000; O tamanho das posições é determinado pelo próprio comerciante como uma porcentagem do saldo da conta ou em lotes fixos. A estratégia não exige da sua parte nenhuma configuração de lógica, todos os valores estão predefinidos. As estratégias são regularmente revisadas e ajustadas para maximizar os retornos.


& # x2000; & # x2000; As opções de pagamento para usar a estratégia são ambas, preço fixo ou comissão a partir do valor negociado.


& # x2000; & # x2000; Licença de vida para uma estratégia e duas contas ao vivo máximo para 50 000 EUR O total do saldo de contas é acessível por preço fixo. No caso do sistema de tarifas, é necessário um preço de 0,001% do valor negociado e um saldo mínimo da conta de 50 000 EUR. Para obter o preço do código fonte Você pode entrar em contato comigo.


& # x2000; & # x2000; Para obter informações mais gerais, por favor, clique em Porquê.


máximo para o saldo da conta de 50 000 EUR.


do saldo da conta 50 000 EUR.


0,001% do valor negociado.


5-50% de participação nos lucros)


Existem estratégias automáticas 5-10 como aplicativo JForexRobot autônomo. Entre em contato comigo para acessar a conta de demonstração ou se você quiser tentar as estratégias em si.


& # x2000; & # x2000; Over +2000 pips aberto na conta ao vivo.


Estratégias programadas para encomendar e publicar com permissões pelo usuário.


Estratégias removidas em execução no HT ou R. I.P.


Eu sou COMERCIAL de TEMPO COMPLETO! Agora, foco principalmente em Futuros, Opções, etc.


Fora do escritório até 10 de maio.


Novas estratégias SIRIUS e GAPPA.


Estratégias HAWK e SQUADHAWK atualizadas.


Estratégias MULTIMAC e PARALEN atualizadas.


A Dukascopy lançou operações de CFD em contas de demonstração. Eu me pergunto se eu posso encontrar estratégias com maior desempenho do que para o forex.


Nova noite estratégia MIDNIGTH.


Fora do escritório até 10 de julho.


A melhor estratégia DEUS foi publicada.


Nova estratégia de usuário HADES.


Desenvolvimento da estratégia de escalação Apache.


Nova estratégia SUPERNOVA. Backtest a estratégia para os 21 pares desde 1990.


Fora do escritório até o Ano Novo.


Facelift da estratégia mais antiga EMAC.


Nova estratégia MULTISKYTE baseada nos princípios da estratégia Skyte.


Nova estratégia PROFHET. Estratégia BEAT atualizada.


Fora do cargo até 25 de agosto.


Estratégias de desenvolvimento e backtesting Prophet, Thaw, ZZTop.


Direitos autorais e cópia; 2009-2018 GeniuZ. Todos os direitos reservados. Arbitragem.

Comments

Popular Posts