Criando sinais de negociação


Crie seu próprio robô comercial em 6 etapas!
Mais uma vez sobre o Assistente MQL5.
O mundo ao nosso redor está mudando rapidamente e tentamos acompanhá-lo. Não temos tempo para aprender algo novo, e essa é uma atitude normal de um ser humano normal. Os comerciantes são pessoas como todos os outros, eles querem obter o máximo de resultados para o mínimo de esforço. Especialmente para traders, o MetaEditor 5 oferece um maravilhoso MQL5 Wizard. Existem vários artigos descrevendo como criar um sistema de negociação automatizado usando o assistente, incluindo um "MQL5 Wizard for light version" para Dummies e uma "versão de desenvolvedores" - MQL5 Wizard: New Version.
Tudo parece bom - um robô comercial é criado em 5 cliques do mouse, você pode testá-lo no Strategy Tester e otimizar os parâmetros de um sistema de negociação, você pode deixar o robô resultante em sua conta sem a necessidade de fazer qualquer outra coisa manualmente . Mas o problema surge quando o desenvolvedor de um comerciante / MQL5 quer criar algo próprio, algo único que nunca foi descrito em lugar algum, e vai escrever seu próprio módulo de sinais de negociação. O trader abre a documentação do MQL5, acessa a Biblioteca Padrão e fica horrorizado ao ver.
Cinco classes terríveis.
É verdade que o Assistente MQL5 simplifica muito a criação de Expert Advisors, mas primeiro você precisa aprender o que será usado como entrada para isso. Para criar automaticamente um Expert Advisor usando o Assistente MQL5, certifique-se de que seus componentes adiram a cinco classes básicas da seção Classes Base de Expert Advisors:
CExpertBase é uma classe base para quatro outras classes.
Aqui está toda a força da abordagem "grande e terrível" que é chamada de programação orientada a objetos (OOP). Mas não tenha medo, agora quase todo mundo tem um celular com muita função, e quase ninguém sabe como funciona. Nós não precisamos estudar tudo isso, discutiremos apenas algumas funções da classe CExpertSignal.
Neste artigo, vamos percorrer os estágios de criação de um módulo de sinais de negociação, e você verá como fazer isso sem ter que aprender OOP ou as classes. Mas se você quiser, pode ir um pouco mais além.
1. Criando uma classe a partir do zero.
Não vamos alterar nenhum módulo existente de sinais de negociação para as nossas necessidades, porque é a maneira de ficar confuso. Portanto, nós simplesmente escreveremos nossa própria classe, mas primeiro usaremos o Navegador para criar uma nova pasta para armazenar nossos sinais em MQL5 / Include / Expert /.
Clique com o botão direito do mouse na pasta que criamos, selecione "Novo arquivo" e crie uma nova classe para o nosso módulo de sinais de negociação.
Preencha os campos:
Nome da Classe - o nome da classe. Este será um módulo para gerar sinais na interseção de duas médias móveis, então vamos chamar de MA_Cross.
Clique em "Concluir" e um rascunho do nosso módulo está pronto. É todo o leste até agora. Nós só precisamos adicionar a declaração #include ao arquivo resultante para que o compilador saiba onde encontrar a classe base CExpertSignal.
Verifique a classe resultante (ela deve estar livre de erros de compilação) e clique em F7. Não há erros e podemos seguir em frente.
2. Um identificador para o módulo.
Nossa classe está completamente vazia, não tem erros e podemos testá-la - vamos tentar criar um novo Expert Advisor no Assistente MQL5 baseado nele. Chegamos ao passo de selecionar um módulo de sinais de negociação e ver. que o nosso módulo não está lá.
E como pode estar lá? Nós não adicionamos nenhuma indicação para o Assistente MQL5 entender que nossa classe pode ser algo útil. Vamos consertar isso. Se você observar os módulos do pacote padrão, verá que cada um deles contém um cabeçalho no início do arquivo. Este é o identificador do módulo compilado de acordo com certas regras. E as regras são muito simples.
Abra, por exemplo, o código-fonte do módulo de sinais de negociação baseados em AMA (consulte a descrição lógica em Sinais da Média Móvel Adaptável.) E execute o Assistente MQL5 escolhendo este módulo. Comparar:
O último bloco na alça refere-se aos parâmetros do módulo, a primeira linha contém o nome do módulo a ser exibido no Assistente MQL5. Como você pode ver, não há nada complicado. Assim, o identificador de cada módulo contém as seguintes entradas:
Título - o nome do módulo a ser mostrado no Assistente MQL5. Type - a versão do módulo de sinais. Deve sempre ser SignalAdvanced. Nome - o nome do módulo após ele ser selecionado no Assistente MQL5 e é usado em comentários para descrever parâmetros internos do Expert Advisor gerado (preferencialmente especificado).
Em seguida vem a descrição dos parâmetros na forma de Parameter = list_of_values, em que o seguinte é especificado (separado por vírgulas):
O nome da função para definir o valor do parâmetro ao iniciar o Expert Advisor. O tipo de parâmetro pode ser enumeração. O valor padrão para o parâmetro, ou seja, o valor que será definido para o parâmetro, se você não alterá-lo no Assistente MQL5. Descrição do parâmetro, que você vê quando inicia o Expert Advisor gerado no Assistente MQL5.
Agora, sabendo tudo isso, vamos criar a alça do nosso módulo de sinais de negociação. Então, estamos escrevendo um módulo para obter sinais de negociação na intersecção de duas médias móveis. Precisamos definir pelo menos quatro parâmetros externos:
FastPeriod - o período da média móvel rápida FastMethod - o tipo de suavização da média móvel rápida SlowPeriod - o período da média móvel lenta SlowMethod - o tipo de suavização da média móvel lenta.
Você também pode adicionar uma mudança e o tipo de preços para calcular cada uma das médias móveis, mas isso não muda nada fundamentalmente. Portanto, a versão atual é a seguinte:
A alça do módulo está pronta e descrevemos o seguinte:
O nome exibido no Assistente MQL5 - "Sinais na interseção de duas médias móveis". Quatro parâmetros externos para configurar os sinais de negociação. FastPeriod - o período da média móvel rápida com o valor padrão de 13. FastMethod - o tipo de suavização da média móvel rápida, suavização simples por padrão. SlowPeriod - o período da média móvel lenta com o valor padrão de 21. SlowMethod - o tipo de suavização da média móvel lenta, suavização simples por padrão.
Salve as alterações e compile. Não deve haver erros. Execute o Assistente MQL5 para verificar. Você vê, nosso módulo agora está disponível para seleção e mostra todos os nossos parâmetros!
Parabéns, nosso módulo de sinal de negociação está ótimo agora!
3. Métodos para definir parâmetros.
Agora é hora de trabalhar com os parâmetros externos. Como o nosso módulo de negociação é representado pela classe MA_Cross, seus parâmetros devem ser armazenados dentro da mesma classe que os membros privados. Vamos adicionar quatro linhas (iguais ao número de parâmetros) à declaração da classe. Nós já descrevemos o parâmetro no handle e sabemos o seguinte:
Mas como os valores dos parâmetros externos do módulo aparecem nos membros apropriados da nossa classe MA_Cross? É tudo muito simples, você só precisa declarar métodos públicos com o mesmo nome na classe, a saber, adicionar quatro linhas à seção pública:
Quando você gera um Expert Advisor com base nesse módulo usando o Assistente MQL5 e o executa no gráfico, esses quatro métodos são chamados automaticamente ao inicializar o Expert Advisor. Então, aqui está uma regra simples:
A regra de criação de parâmetros no módulo - para cada parâmetro que declaramos no handle, devemos criar um membro privado na classe para armazenar seu valor e um membro público para definir um valor para ele. O nome do método deve corresponder ao nome do parâmetro.
E o último momento é definir valores padrão para nossos parâmetros que serão usados ​​caso os métodos de configuração de valor não sejam chamados. Cada variável declarada ou membro da classe deve ser inicializada. Essa técnica permite evitar muitos erros difíceis de encontrar.
Para inicialização automática, o mais adequado é o construtor de classe; é sempre o primeiro a ser chamado ao criar um objeto. Para valores padrão, usaremos aqueles escritos no manipulador do módulo.
Aqui os membros da turma são inicializados usando a lista de inicialização.
Como você pode ver, ainda não usamos indicadores de média móvel. Encontramos uma regra simples - como muitos parâmetros são declarados no handle do módulo, muitos métodos e membros devem estar na classe que implementa o módulo. Não há nada complicado! No entanto, não esqueça de definir valores padrão de parâmetros no construtor.
4. Verifique a exatidão dos parâmetros de entrada.
Nós criamos parâmetros para o nosso módulo de negociação, métodos escritos para definir valores para eles, e agora vem a próxima fase importante - a precisão dos parâmetros deve ser verificada. No nosso caso, devemos verificar os períodos de médias móveis e o tipo de suavização para seu cálculo. Para este propósito, você deve escrever seu próprio método ValidationSettings () na classe. Esse método é definido na classe pai CExpertBase e, em todos os seus filhos, é obrigatoriamente redefinido.
Mas se você não sabe nada sobre programação orientada a objetos, lembre-se - em nossa classe, devemos escrever a função ValidationSettings (), que não requer parâmetros e retorna true ou false.
Como você pode ver, na parte pública da classe MA_Cross, adicionamos a declaração do método ValidationSettings () e adicionamos o corpo do método no seguinte formato:
Primeiro vem o tipo de retorno, depois o nome da classe e, em seguida, o operador de resolução do escopo. e tudo isso é seguido pelo nome do método declarado anteriormente. Não se esqueça de que o nome e o tipo de parâmetros devem corresponder na declaração e na descrição do método da classe. No entanto, o compilador irá avisá-lo de tal erro.
Observe que primeiro o método da classe base é chamado e, em seguida, os parâmetros de entrada são verificados.
Se você não adicionar essa linha, o Expert Advisor gerado não poderá inicializar nosso módulo de sinais de negociação.
5. Onde estão nossos indicadores?
É hora de trabalhar com os indicadores, já que todo o trabalho preparatório com os parâmetros para eles foi concluído. Cada módulo de sinais de negociação contém o método InitIndicators (), que é chamado automaticamente quando você executa o Expert Advisor gerado. Neste método, devemos fornecer indicadores de médias móveis para o nosso módulo.
Primeiro, declare o método InitIndicators () na classe e cole o rascunho:
Portanto, não há nada complicado, declaramos o método e depois simplesmente criamos o corpo do método, como fizemos para o método ValidationSettings (). Acima de tudo, não esqueça de inserir o nome da classe e o operador :: na definição da função. Temos um rascunho, que podemos inserir em um código para criar médias móveis. Vamos fazer isso corretamente - para cada indicador, criamos uma função separada na classe, que retorna true se for bem-sucedida. A função pode ter qualquer nome, mas deixe refletir sua finalidade, então vamos chamar as funções CreateFastMA () e CreateSlowMA ().
Isso é tudo, só precisamos escrever código que gere os indicadores MA e de alguma forma integre as alças desses indicadores no módulo de negociação, para que o módulo possa usar os valores desses indicadores. É por isso que um ponteiro para uma variável do tipo CIndicators é passado como um parâmetro. O seguinte está escrito em Documentação sobre isso:
O CIndicators é uma classe para coletar instâncias de timeseries e classes de indicadores técnicos. A classe CIndicators fornece a criação de classes de indicadores técnicos instanciados, seu armazenamento e gerenciamento (sincronização de dados, manipulação e gerenciamento de memória).
Isso significa que devemos criar nossos indicadores e colocá-los nessa coleção. Como somente os indicadores do formulário do CIndicator e seus filhos podem ser armazenados na coleção, devemos usar esse fato. Vamos usar o CiCustom, que é a criança acima mencionada. Para cada média móvel, declaramos um objeto do tipo CiCustom na parte privada da classe:
Obviamente, você pode criar sua própria classe de indicador, que será derivada do CIndicator, e implementar todos os métodos necessários para uso com o Assistente MQL5. Mas neste caso queremos mostrar como você pode usar qualquer indicador customizado no módulo de sinais de negociação usando o CiCustom.
Veja como fica no código:
No método CreateFastMA (), primeiro verifique o ponteiro da coleção de indicadores e, em seguida, adicione um ponteiro do rápido MA m_fast_ma a essa coleção. Em seguida, declare a estrutura MqlParam, que é especialmente projetada para armazenar parâmetros de indicadores personalizados e preenchê-lo com valores.
Usamos a Média móvel personalizada do pacote de entrega de terminal padrão como o indicador MA personalizado. O nome do indicador deve ser indicado em relação à pasta data_folder / MQL5 / Indicadores /. Como o Custom Moving Average. mq5 'do pacote padrão está localizado em data_folder / MQL5 / Indicadores / Examples /, especificamos seu caminho incluindo a pasta Examples:
Se você observar o código deste indicador, poderá ver todos os dados necessários:
Os valores da estrutura contêm os pares de valor de tipo:
tipo de parâmetro - string (para transferir o nome do indicador)
Depois de preencher a estrutura, o indicador é inicializado pelo método Create () de todos os parâmetros necessários: nome do símbolo e o período de tempo em que é calculado, o tipo do indicador da enumeração ENUM_INDICATOR, o número de parâmetros do indicador e o MqlParam estrutura com valores de parâmetros. E o último é especificar o número de buffers de indicadores usando o método NumBuffers ().
O método CreateSlowMA () para criar a média móvel lenta é simples. Ao usar indicadores personalizados no módulo, não se esqueça de que o Expert Advisor gerado pelo Assistente MQL5 também será executado no testador. Assim, no início do nosso arquivo, adicionamos a propriedade #property tester_indicator que comunica ao testador a localização dos indicadores necessários:
Se usarmos vários indicadores diferentes, devemos adicionar essa linha para cada um deles. Então, nós adicionamos os indicadores. Para mais conveniência, vamos fornecer dois métodos para receber valores MA:
Como você pode ver, os métodos são muito simples, eles usaram o método GetData () da classe pai do Sindicator, que retorna um valor do buffer do indicador especificado na posição especificada.
Se você precisa de aulas para trabalhar com indicadores clássicos do pacote padrão, eles estão disponíveis na seção Aulas para trabalhar com indicadores. Estamos prontos para avançar para o estágio final.
6. Defina os métodos LongCondition e ShortCondition.
Tudo está pronto para fazer nosso módulo funcionar e gerar sinais de negociação. Essa funcionalidade é fornecida por dois métodos que devem ser descritos em cada filho de CExpertSignal:
LongCondition () verifica as condições de compra e retorna a força do sinal Longo de 0 a 100.
Se a função retornar um valor nulo, isso significa que não há sinal de negociação. Se houver condições para o sinal, você poderá estimar a intensidade do sinal e retornar qualquer valor que não exceda 100. A avaliação da força do sinal permite que você crie sistemas de negociação flexivelmente baseados em vários módulos e modelos de mercado. Leia mais sobre isso no Assistente MQL5: Nova Versão.
Como estamos escrevendo um módulo simples de sinais de negociação, podemos concordar que os sinais de compra e venda são valorizados igualmente (100). Vamos adicionar métodos necessários na declaração da classe.
Além disso, vamos criar a descrição das funções. É assim que o sinal de compra é verificado (é tudo o mesmo com o sinal de venda):
Observe que declaramos a variável idx, para a qual o valor retornado pela função StartIndex () da classe pai CExpertBase é atribuído. A função StartIndex () retorna 0, se o Expert Advisor foi projetado para funcionar em todos os ticks e, nesse caso, a análise começa com a barra atual. Se o Expert Advisor foi projetado para funcionar a preços abertos, StartIndex () retorna 1 e a análise começa com a última barra formada.
Por padrão, StartIndex () retorna 1, o que significa que o Expert Advisor gerado pelo MQL5 Wizard só será executado na abertura de uma nova barra e irá ignorar os ticks recebidos durante a formação da barra atual.
Como ativar este modo e como ele pode ser usado será descrito posteriormente no curso final.
O módulo está pronto para uso, então vamos criar um robô comercial no Assistente MQL5 baseado neste módulo.
Verificando um Expert Advisor no Testador.
Para testar a eficiência do nosso módulo, vamos gerar um Expert Advisor baseado nele no Assistente MQL5 e executá-lo no gráfico. A aba "Entradas" da janela inicial exibida contém os parâmetros do módulo MA_Cross.
Todos os outros parâmetros também foram adicionados pelo Assistente MQL5 ao gerar o EA com base no módulo de gerenciamento de dinheiro selecionado e no módulo de manutenção de posição (Trailing Stop). Assim, só tivemos que escrever um módulo de sinais de negociação e recebemos uma solução pronta. Esta é a principal vantagem de usar o Assistente MQL5!
Agora vamos testar o robô comercial no Testador de Estratégia do MetaTrader 5. Vamos tentar executar uma otimização rápida dos principais parâmetros.
Nessas configurações de parâmetros de entrada, é necessário mais de meio milhão de passes para otimização total. Portanto, escolhemos a otimização rápida (algoritmo genético) e, adicionalmente, utilizamos o MQL5 Cloud Network para acelerar a otimização. A otimização foi feita em 10 minutos e nós obtivemos os resultados.
Como você pode ver, a criação de um robô de negociação no MQL5 e a otimização dos parâmetros de entrada levaram muito menos tempo do que seria necessário para gravar a lógica de serviço de gerenciamento de posição, depurar e procurar os melhores algoritmos.
Você pode pular este item ou voltar mais tarde quando estiver completamente confortável com a técnica de escrever um módulo de sinais de negociação.
Se você abrir o código-fonte do Expert Advisor gerado pelo Assistente MQL5, encontrará a variável global Expert_EveryTick com o valor false. Com base nessa variável, a função StartIndex () retorna seu valor. Comunica ao Expert Advisor o modo em que deve ser executado.
Se você definir Expert_EveryTick como true e compilar o código, o robô de negociação analisará cada tick recebido e, portanto, tomará decisões sobre os valores da barra incompleta atual. Faça isso apenas se você entender como funciona. Nem todos os sistemas de negociação são projetados para funcionar dentro da barra.
Você também pode adicionar uma entrada de palavra-chave para o parâmetro Expert_EveryTick e, em seguida, terá um novo parâmetro de entrada do Expert Advisor, que pode ser definido na inicialização do EA em um gráfico ou no testador:
E agora é hora de resumir o que fizemos.
6 etapas para criar um módulo de sinais de negociação.
Se você já domina o MQL5, não precisa mais escrever um Expert Advisor do zero. Basta criar um módulo de sinais de negociação e, com base nesse módulo, gerar automaticamente um robô de negociação com os módulos de gerenciamento de volume comercial e de troca ativados. E mesmo que você não esteja familiarizado com o OOP ou não queira mergulhar muito na estrutura das classes de comércio, você pode simplesmente passar por 6 etapas:
Crie uma nova classe usando o Assistente MQL5 em uma pasta separada MQL5 / Include / MySignals /. Nosso módulo de sinais de negociação será armazenado lá.
Cada etapa é simples e requer pouca habilidade na programação MQL5. Você só precisa escrever seu módulo uma vez, seguindo as instruções, e a verificação adicional de qualquer ideia comercial não levará mais de uma hora, sem horas cansativas de codificação e depuração.
Do simples ao complexo.
Lembre-se de que a estratégia de negociação implementada pelo seu robô de negociação criado usando o Assistente MQL5 é tão complexa quanto o módulo de sinais de negociação usado. Mas antes de começar a construir um sistema de negociação complexo baseado em um conjunto de regras para entrada e saída, divida-o em vários sistemas simples e verifique cada um separadamente.
Com base em módulos simples, você pode criar estratégias de negociação complexas usando os módulos prontos de sinais de negociação, mas este é um tópico para outro artigo!
Traduzido do russo por MetaQuotes Software Corp.

Criando sinais de negociação
Вопрос. возможно ли реализовать отображение нескольких счетов (разных брокеров) на одном графике? Визуализация на скриншоте.
Машинное обучение в трейдинге: теория и практика (торговля и не только)
Добрый день всем, & # 160; Юнаю, что есть на форуме энтузиасты aprendizado de máquina и статистики. Предлагаю в этой теме обсуждать (без холиваров), делиться и обогащать собственную копилку знаний в этой интересной сфере. & # 160; De acordo com as regras de uso do contrato, & ndash; & ndash; & # 160;
Lona - то круто!
Поставил себе задачу: коротким кодом эффектно продемонстрировать возможности пользовательской графики через класс CCanvas. Вот что из этого получилось. Данный скрипт работает как на MQL5, так и на MQL4. Только на MT5 гораздо быстрее. Каждый кадр уникален и не повторяется, то есть скрипт не цикличный.
Организация цикла перебора ордеров.
Уту тему были перенесены комментарии, не относящиеся к & quot; Особенности языка mql4, тонкости и приёмы работы & quot ;.
Вопросы от начинающих MQL5 MT5 MetaTrader 5.
Подскажите пожалуйста, такой показатель тестера в жизни реален? И хороший это или плохой результат за год с депо 3000 $?
FOREX - Termografia, Aplicações e Certificação 2018.
Правила ветки: ветке жёсткая модерация. Ругань, оскорбления - под запретом. & # 160; Елательный формат подачи информации: ВСТАВЛЕННАЯ картинка с разметкой и небольшое & # 160; пояснение. Por exemplo: Скриншоты торговой платформы MetaTrader USDCAD. m, M15, 2016.01.08 RoboTrade Ltd, MetaTrader 5, Real Exemplo # И.
Интересное и Юмор.
Форумяне, не забывайте соблюдать правила & # 160;
Ищу опытных трейдеров для ДУ.
Команда TradeLife ищет опытных трейдеров Форекс длядоверительного управления. & # 160; От Вас как управляющего Forex требуется: 1. Опыт торговли на валютномрынке Forex Não há estatísticas relacionadas. 2. Clique para ampliar Myforexbook adicionou 6 meses atrás.
Ошибки, баги, вопросы.
Особенности языка mql5, тонкости и приёмы работы.
Ванной теме будут обсуждаться недокументированные приёмы работы с языком mql5, примеры решения тех, или иных задач. FAQотелось бы, чтобы эта ветка была по содержанию ближе к FAQ, чем к обсуждению. Предлагаю всем опытным программистам делиться найденными решениями и приёмами программирования.
Статьи по торговле на финансовых рынках.
ZUP - зигзаг универсальный с паттернами Песавенто. Поиск паттернов.
Индикаторная платформа ZUP позволяет производить поиск множества известных паттернов, параметры которых уже заданы. Но можно также и подстраивать эти параметры в соответствии со своими требованиями. Есть и возможность создавать новые паттерны с помощью графического интерфейса ZUP и сохранять их параметры в файл. После этого можно быстро проверить, встречаются ли новые паттерны на графиках.
LifeHack para o fim de semana: ForEach на дефайнах (#define)
Промежуточная ступенька для тех, кто всё ещё пишет на MQL4, но никак не может перейти на MQL5. Мы продолжаем искать возможности для написания кода в стиле MQL4. На этот раз рассмотрим макроподстановку препроцессора - #define.
Глубокие нейросети (Vасть V). Байесовская оптимизация гиперпараметров DNN.
В статье рассатриваются возможности байесовской оптимизации гиперпараметров глубоких нейросетей, полученных различными вариантами обучения. Сравнивается качество классификации DNN оптимальными гиперпараметрами при различных вариантах обучения. - орвард-тестами проверена глубина эффективности оптимальных гиперпараметров DNN. Определены возможные направления улучшения качества классификации.
LifeHack para o jogo: готовим фастфуд из индикаторов.
Если вы переходите на MQL5 только сейчас, то эта статья вам пригодится: с одной стороны, доступ к данным индикаторов и к сериям выполнен в привычном вам MQL4-стиле, с другой - вся реализация этой простоты написана на MQL5. Все функции максимально понятны и отлично подходят для пошаговой отладки.
Автоматическое построение линий поддержки и сопротивления.
В статье рассаатривается автоматическое построение линий поддержки и сопротивления через локальные максимумы и минимумы ценовых графиков. Для определения этих экстремумов применяется всем известный индикатор ZigZag.
Правление капиталом по Винсу. Реализация в виде модуля Мастера MQL5.
Статья написана на основе книги Р. Винса & quot; Математика управления капиталом & quot ;. В ней рассматриваются эмпирические и параметрические методы нахождения оптимального размера торгового лота, на основе которых написаны торговые модули управления капиталом для мастера MLQ5.
Тестирование паттернов, возникающих при торговле корзинами валютных пар. IIIасть III.
Мы заканчиваем тестирование паттернов, которые можно увидеть при торговле корзинами пар. В статье представлены результаты тестирования паттернов, отслеживающих движение валют пары по отношению друг к другу.
Паттерн прорыва канала.
Как известно, ценовые тренды образуют ценовые каналы. Один из сильных сигналов на изменение тренда - прорыв текущего канала. В этой статье я предлагаю попробовать автоматизировать процесс поиска таких сигналов и посмотреть, действительно ли можно на этом построить свою стратегию торговли.
Пользовательский тестер стратегий на основе быстрых математических вычислений.
Статья описывает создание пользовательского тестера стратегий и своего собственного анализатора прогонов оптимизации. Прочитав ее, вы поймете, как работает режим математических вычислений и механизм так называемых фреймов, как можно подготовить и загрузить свои собственные данные для расчетов и использовать эффективные алгоритмы их сжатия. Также эта статья будет интереснавсем, кто интересуется способами хранения пользовательской информации внутри эксперта.
Como você pode ver o artigo.
Торговля на финансовых рынках связана с целым комплексом рисков, которые должны учитываться в алгоритмах торговых систем. Снижение таких рисков - важнейшая задача для получения прибыли при трейдинге.
Работа Фрилансерам.
СКРИПТ ЛИБО ЭКСПЕРТ ДЛЯ РАБОТЫ С МАНИМЕНЕДЖМЕНТОМ.
Необходимо написать скрипт либо эксперт для работы именно со значениями БАЛАНС И СРЕДСТВА депозита. Скрипт (эксперт) должен уметь отключать либо включать работу других советников по условиям, закрывать по условиям все открытые ордера. Так же необходимо создать мини инфо-панель с возможностью.
Простой робот - только математика.
Первый ордер открывается 1 - есть вариант в ручную 2 - отложенный ордер. Допустим: робот состоит из 2 противоположных ордеров - расстояние между этими ордерами будет равно расстояним стопов. prntscr / ifnbaq - мы видим что открыт 1 ордер на покупку 1,6 лота и 3,2 лота отложенный на.
Добрый день друзья, обращусье еще раз с просьбой написать советник с минимальной панелькой для БО.
Советник для Бинарных опционов ExpertTrendLine Добрый день, опишу алгоритм работы советника На графике в терминале МТ 4 в левом верхнем углу располагаются две кнопки Comprar - Venda. С помощью этих кнопок выставляются на график трендовые линии в виде отрезков. (есть.
Нужна консультация математика. Расчет критериев для построения кривых. Только для профи.
Необходима консультация по построению кривых. Определение критериев и расчет параметров. Код пишу сам. Использую ALGLIB и похожие библиотеки. От вас - хорошее знание высшей математики, мат. статистики. Опыт применения пакетов MathCad e R будет плюсом. Оплата через этот сервис. Однако общение по.
Очу видеть прошлые важные экономич. отчеты с сайта investir (3 головы - NFP, PMI, CPI) на графике внизу в мт4.
Идея: загрузить все новости разной важности (1-3 башки с сайта investir например), чтобы увидеть как инструмент реагирует на негативные \ позитивные новости (показать "esperado" и "real" - ожидаемые и реальные цифры) Для удобства чтобы эти новости отображались сразу на всем протяженииграфика. Например.
Нужен индикатор & quot; поглощения & quot;
Смысл в том, что нужен индикатор, указывающий, что текущая свеча перекрыла своим телом тело предыдущей свечи. Необходимо, чтобы уведомления могли приходить как PUSH на телефон с установленным mt4. Пример уведомлений "EURUSD call / put" - в зависимости поглотила.
Нужен волновой индикатор на основе двух скользящих средних.
Всем привет. Нужен волновой индикатор на основе двух скользящих средних. Настройки: ТФ по которому проводятся все вычисления. МА1: Период. Тип сглаживания..вет. Толщина. МА2: Период. Тип сглаживания.
Сделать из обычного графика - секундный график.
Необходимо сделать скрипт / программу - которая преобразует обычный график - в секундный график. График можно настроить ïî секундам от 1 до 60 секунд (отоброжение в свечах) Необходимо что бы на график можно было наложить индикаторы и торгового робота. В настройках графика необходимо ввести параметр.
Нужна библиотека MT4 для отправки команд на binário.
В бублиотеке нужна одна функция открытия ордера (купить / продать опцион) возвращающая результат операции успешно или нет. О о о о о m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m mql5 / de / market / product / 21025 Скорее всего там даже библиотеки есть грузятся на автомате.
Нужен скрипт для открытия ордеров в тестере MT4.
Нужен именно скрипт, ане эксперт для открытия всех типов ордеров в тестере MT4. При запуске должен выводить окно с настройками - тип ордера, sl, tp, lotes, открывать ордер в тестере и выгружаться. Должен быть написан без использования подключенных библиотек (как минимум без использования функций.
Магазин Приложений.
Gráficos Sincronizados.
Скрипт Synchronized Charts различных самилных различных периодов одного символа различных символов или баров различных периодов одного символа. Запустите скрипт на графике и изменяйте положение и масштаб графика, позиция в истории всех открытых графиков будет синхронизирована. Бары на разных графиках выравниваются по левой границе окна в соответствии с временем открытия.
CreateGridOrdersTune.
Скрипт для открытия сетки ордеров Если Вам необходимо быстро открыть несколько отложенных ордеров (Buy Limit, vender, comprar Stop, Sell Stop) на некотором расстоянии от текущей цены, то этот скрипт избавит Вас от рутинных действий! Разрешите авто-торговлю перед запуском скрипта. Использование: апустите скрипт на графике. Входные параметры: Linguagem das mensagens exibidas (EN, RU, DE, FR, ES) - язык вывода сообщений (английский, русский, немецкий, французский, испанский). Preço para aberto.
AccountQuickReport.
Скрипт создает в отдельном окне краткий торговый отчет. Отчет можно создавать как для всех совершенных сделок, так и для сделок по отдельным финансовым инструментам. Есть возможность задавать временной интервал расчета, записать отчет в htm-файл. Входные параметры скрипта relatório data de início - начальная дата составления отчета. data final do relatório - конечная дата составления отчета. selecção de símbolos para relatório - вариант выбора инструмента составления отчета. allSymbol - отчет сост.
Pedido de parada virtual pendente de compra.
Скрипт используется для автоматизации выставления отложенных Comprar Parar ордеров, стоп-лоссов и тейк-профитов на заданных трейдером уровнях. Основные цели Избежать необоснованного входа в длинную позицию на ложном пробое уровня в результате расширения спреда дилинговым центром; Избежать необоснованного срабатывания стоп-лосса в результате & quot; прокола & quot; котировкой важного уровня (фрактала) без подтверждения закрытием цены; Установить нужный виртуальный ордер и войти в рынок при запрете дилин.
Tendência PipFinite PRO MT5.
Стратегия пробоя для торговли по тренду, фильтрация и все необходимые функции, встроенные в один мощный инструмент! Trendникальный алгоритм индикатора O Trend Pro oferece uma solução para os problemas que você pode encontrar em sua vida. Новые функции улучшают правила статистических расчетов и улучшают работу индикатора. Você está aqui: Nome de Usuário: Trend Pro Senha de Compra: mql5 / pt / blogs / post / 713938 Autor: Veronica.
Belkaglazer.
Belkaglazer - полностью автоматизированный советник для создания разнообразных торговых стратегий. Você está relacionado com 3-хобобщенных моделях: PriceChannel, Pivot, PriceAction. Модели имеют прозрачную логику. Советник имеет модульную структуру; Модели могут быть использованы в сочетании со следующими стратегиями: breakout, momentum или reversão à média; Советник предоставляет возможности для творчества и исследований; Поддерживает Limit / Stop и Market ордера. Com Instant и Mark.
Herói Grid - полностью автоматизированный советник с использованием продвинутого сеточного алгоритма (P. A.M. A.) вместе с фирменным комплексом торговли ïî ценовому действию (Ação Preço) и модуля самонастраивающейся обработки искусственного инстинкта. Herói da grade разрабатывался, тестировался e оптимизировалсястрогоследуяметодикеразработки & quot; Обратной выборки & quot ;, основанной на & quot; Внутривыборочной & quot; фазе (с. 2012 года в 2017 год) и & quot; Вневыборочной & quot; фазе (с 2004 a partir de 2011). Он прошел тестирование на р.
Tendência PipFinite PRO.
Стратегия пробоя для торговли по тренду, фильтрация и все необходимые функции, встроенные в один мощный инструмент! Trendникальный алгоритм индикатора O Trend Pro oferece uma solução para os problemas que você pode encontrar em sua vida. Новые функции улучшают правила статистических расчетов и улучшают работу индикатора. Você está aqui: Nome de produto: Trend Pro Descrição do item: mql5 / pt / blogs / post / 713938 Anterior Próxima демо-версию и и.
Avançado Scalper.
Advanced Scalper — это результат более чем 15-летнего изучения рынков и программирования торговых советников. Эксперт использует продвинутые алгоритмы выхода и имеет встроенные фильтры спреда и алгоритмы контроля проскальзывания. Гибкая кастомизация в соответствии с потребностями клиента, широкие возможности настройки. Конечно, есть также рекомендуемые настройки, которые можно посмотреть на странице комментариев. Базовая логика советника уже более двух лет с успехом работает на реальных счетах.
Apogeum Price Action.
Apogeum Price Action - это полностью автоматизированный торговый советник, который имеет собственный алгоритм распознавания поведения цены и зарождения тренда. Система не использует токсичные методы торговли такие, как мартингейл, усреднения убыточных позиций, не является скальпирующей (уровень прибыли для каждой сделки среднесрочный), а так же обладает фиксированными значениями Stop Loss и Take Profit. Apogeum Price Action является инвестиционной стратегией, рассчитанной на долгосрочное испол.

Sinal de comércio.
DEFINIÇÃO de 'Trade Signal'
Um sinal comercial é um acionador para ação, seja para comprar ou vender uma garantia ou outro ativo, gerado por análise. Essa análise pode ser humana gerada usando indicadores técnicos. Ou pode ser gerado usando algoritmos matemáticos com base na ação do mercado, possivelmente em combinação com fatores extra-mercado, como indicadores econômicos.
QUEBRANDO PARA BAIXO 'Trade Signal'
Sinais de comércio podem usar uma variedade de entradas de várias disciplinas. Normalmente, a análise técnica é um componente importante, mas análise fundamental, análise quantitativa e economia também podem ser entradas. Eles podem incluir medidas de sentimento e até mesmo sinais de outros sistemas de sinais comerciais. O objetivo é dar aos investidores e comerciantes um método mecânico, sem emoção, comprar ou vender uma garantia ou outro bem.
Além de simples disparadores de compra e venda, os sinais de comércio podem ser usados ​​para modificar um portfólio, determinando quando pode ser um bom momento para comprar mais de um determinado setor, como a tecnologia e iluminar outro, como os produtos básicos de consumo. Os comerciantes de títulos poderiam ter sinais para ajustar a duração de suas carteiras vendendo uma maturidade e comprando uma maturidade diferente. E, finalmente, também pode ajudar com a alocação da classe de ativos, como trocar dinheiro entre ações, títulos e ouro.
Não há limite para a complexidade de um sinal comercial. No entanto, os comerciantes tendem a manter as coisas simples usando apenas um punhado de insumos. Para fins práticos, é muito mais fácil gerenciar um gerador de sinal simples e testá-lo periodicamente para ver quais componentes precisam ser ajustados ou substituídos. Muitas entradas introduziriam complexidade que requer mais tempo do que um comerciante tem para oferecer. E uma vez que os mercados mudam ao longo do tempo, muitas vezes com grande velocidade, estratégias complexas podem ser obsoletas antes que o teste seja concluído.
Criando um sinal comercial.
Novamente, há infinitas possibilidades, mas os comerciantes tendem a querer apenas automatizar seus pensamentos. Um exemplo pode ser ", para um estoque com uma relação preço / lucro inferior a um preço seguro, compre quando uma certa formação técnica explodir para o lado positivo e os preços estão acima de uma certa média móvel e as taxas de juros estão caindo".
Aqui estão vários dos insumos mais comuns. Os comerciantes podem combiná-los como eles desejam satisfazer qualquer critério que eles usam para selecionar negócios.
Movendo a cruz média. A maioria dos investidores observa médias móveis de 50 e 200 dias, mas há muitos outros em uso comum. A contribuição pode ser quando a atividade de negociação cruza acima ou abaixo da média. Ou pode ser quando duas médias se cruzam.
Aumento de volume. O volume excepcionalmente elevado é muitas vezes um precursor de um novo movimento no mercado. Nos mercados futuros, o interesse aberto também pode ser usado.
Taxa de juros. Mudanças nas taxas podem frequentemente sugerir mudanças nos mercados de ações e commodities.
Volatilidade. Existem muitas maneiras de medir a volatilidade e, como acontece com outros indicadores, altas ou baixas extremas na volatilidade podem desencadear mudanças no mercado.
Ciclos Os mercados de todos os tipos tendem a refluxar e fluir ao longo do tempo, mesmo que estejam em uma tendência estável ou em uma condição não-tendenciosa. Um dos ciclos mais amplamente conhecidos é o ciclo sazonal para estoques - é bom em maio e vai embora - o que poderia ajudar a determinar se uma estratégia está operando na metade forte ou fraca do ano.
Sentimentos extremos. Usado como um indicador contrário, o bullishness excessivo de acordo com pesquisas ou atividade de negociação real, pode sugerir topes de mercado. Por outro lado, o excesso de preços pode levar ao fundo do mercado.
Avaliação. Uma avaliação excessivamente alta em comparação com medidas específicas do mercado, do setor ou do estoque podem levar a vender sinais.

Usando indicadores técnicos para desenvolver estratégias de negociação.
Indicadores, como médias móveis e Bollinger Bands®, são ferramentas de análise técnica baseadas na matemática que os traders e investidores usam para analisar o passado e prever tendências e padrões futuros de preços. Onde os fundamentalistas podem acompanhar relatórios econômicos e relatórios anuais, os traders técnicos contam com indicadores para ajudar a interpretar o mercado. O objetivo na utilização de indicadores é identificar oportunidades de negociação. Por exemplo, um cruzamento de média móvel geralmente prevê uma mudança de tendência. Neste caso, aplicar o indicador de média móvel a um gráfico de preços permite que os comerciantes identifiquem áreas em que a tendência pode mudar. A Figura 1 mostra um exemplo de um gráfico de preços com uma média móvel de 20 períodos.
As estratégias, por outro lado, freqüentemente empregam indicadores de maneira objetiva para determinar as regras de entrada, saída e / ou gestão comercial. Uma estratégia é um conjunto definitivo de regras que especifica as condições exatas sob as quais as negociações serão estabelecidas, gerenciadas e fechadas. As estratégias normalmente incluem o uso detalhado de indicadores ou, mais freqüentemente, vários indicadores, para estabelecer instâncias em que a atividade de negociação ocorrerá. (Aprofunde-se nas médias móveis. Leia Simples versus Médias Móveis Exponenciais.)
Embora este artigo não se concentre em nenhuma estratégia de negociação específica, ele serve como uma explicação de como os indicadores e estratégias são diferentes e como eles trabalham juntos para ajudar os analistas técnicos a identificar as configurações de negociação de alta probabilidade. (Para mais, confira Crie suas próprias estratégias de negociação.)
Um número crescente de indicadores técnicos está disponível para os comerciantes estudarem, incluindo aqueles de domínio público, como a média móvel ou o oscilador estocástico, bem como indicadores proprietários disponíveis comercialmente. Além disso, muitos traders desenvolvem seus próprios indicadores exclusivos, às vezes com a ajuda de um programador qualificado. A maioria dos indicadores tem variáveis ​​definidas pelo usuário que permitem que os traders adaptem as principais informações, como o "período retrospectivo" (quantos dados históricos serão usados ​​para formar os cálculos) para atender às suas necessidades.
Uma média móvel, por exemplo, é simplesmente uma média do preço de um título em um determinado período. O período de tempo é especificado no tipo de média móvel; por exemplo, uma média móvel de 50 dias. Essa média móvel fará a média dos 50 dias anteriores da atividade de preço, geralmente usando o preço de fechamento do título em seu cálculo (embora outros pontos de preço, como o aberto, alto ou baixo, possam ser usados). O usuário define o comprimento da média móvel, bem como o ponto de preço que será usado no cálculo. (Para saber mais, consulte nosso Tutorial de Médias Móveis.)
Uma estratégia é um conjunto de regras absolutas e objetivas, que definem quando um profissional vai agir. Normalmente, as estratégias incluem filtros de comércio e gatilhos, ambos geralmente baseados em indicadores. Os filtros de negociação identificam as condições de configuração; Os gatilhos comerciais identificam exatamente quando uma determinada ação deve ser tomada. Um filtro de negociação, por exemplo, pode ser um preço que fechou acima da média móvel de 200 dias. Isso define o cenário para o gatilho de negociação, que é a condição real que leva o trader a agir - AKA, a linha na areia. Um acionador de negociação pode ser quando o preço atinge um tick acima da barra que violou a média móvel de 200 dias. A Figura 2 mostra uma estratégia utilizando uma média móvel de 20 períodos com confirmação do RSI. As entradas e saídas comerciais são ilustradas com pequenas setas pretas.
Para ser claro, uma estratégia não é simplesmente "Compre quando o preço se move acima da média móvel". Isso é muito evasivo e não fornece detalhes definitivos para a ação. Aqui estão alguns exemplos de perguntas que precisam ser respondidas para criar uma estratégia objetiva:
Que tipo de média móvel será usada, incluindo o comprimento e o ponto de preço a ser usado no cálculo? Até que ponto acima da média móvel o preço precisa se mover? A negociação deve ser feita assim que o preço se move a uma determinada distância acima da média móvel, no fechamento da barra ou na abertura da próxima barra? Que tipo de pedido será usado para colocar o negócio? Limite? Mercado? Quantos contratos ou ações serão negociados? Quais são as regras de gerenciamento de dinheiro? Quais são as regras de saída?
Todas essas questões devem ser respondidas para desenvolver um conjunto conciso de regras para formar uma estratégia.
Usando indicadores técnicos para desenvolver estratégias.
Um indicador não é uma estratégia de negociação. Um indicador pode ajudar os comerciantes a identificar as condições de mercado; Uma estratégia é o livro de regras de um negociante: como os indicadores são interpretados e aplicados para fazer suposições sobre a atividade futura do mercado. Existem muitas categorias diferentes de ferramentas técnicas de negociação, incluindo indicadores de tendência, volume, volatilidade e momentum. Muitas vezes, os comerciantes usarão vários indicadores para formar uma estratégia, embora sejam recomendados diferentes tipos de indicadores ao usar mais de um. A utilização de três indicadores diferentes do mesmo tipo - momento, por exemplo - resulta na contagem múltipla da mesma informação, um termo estatístico referido como multicolinearidade. A multicolinearidade deve ser evitada, uma vez que produz resultados redundantes e pode fazer com que outras variáveis ​​pareçam menos importantes. Em vez disso, os comerciantes devem selecionar indicadores de diferentes categorias, como um indicador de momento e um indicador de tendência. Freqüentemente, um dos indicadores é usado para confirmação; isto é, para confirmar que outro indicador está produzindo um sinal preciso. (Para saber mais, consulte Princípios Básicos de Regressão para Análise de Negócios.)
Uma estratégia de média móvel, por exemplo, pode empregar o uso de um indicador de momento para confirmação de que o sinal de negociação é válido. Um indicador de momentum é o Índice de Força Relativa (RSI), que compara a mudança de preço médio dos períodos de avanço com a mudança de preço médio dos períodos de declínio. Como outros indicadores técnicos, o RSI tem entradas variáveis ​​definidas pelo usuário, incluindo a determinação de quais níveis representarão condições de sobrecompra e sobrevenda. O RSI, portanto, pode ser usado para confirmar quaisquer sinais produzidos pela média móvel. Sinais opostos podem indicar que o sinal é menos confiável e que o comércio deve ser evitado.
Cada combinação de indicador e indicador requer pesquisa para determinar a aplicação mais adequada em relação ao estilo do trader e tolerância ao risco. Uma vantagem de quantificar as regras de negociação em uma estratégia é que ela permite que os operadores apliquem a estratégia a dados históricos para avaliar como a estratégia teria sido realizada no passado, um processo conhecido como backtesting. É claro que isso não garante resultados futuros, mas certamente pode ajudar no desenvolvimento de uma estratégia comercial lucrativa. (Saiba mais sobre os benefícios e desvantagens do backtesting. Leia o teste de backtesting e o teste de encaminhamento: A importância da correlação.)
Independentemente de quais indicadores são usados, uma estratégia deve identificar exatamente como os indicadores serão interpretados e precisamente quais ações serão tomadas. Indicadores são ferramentas que os comerciantes usam para desenvolver estratégias; eles não criam sinais de negociação por conta própria. Qualquer ambiguidade pode causar problemas.
Escolhendo indicadores para desenvolver uma estratégia.
Que tipo de indicador um comerciante usa para desenvolver uma estratégia depende do tipo de estratégia que ele ou ela pretende construir. Isto está relacionado ao estilo de negociação e tolerância ao risco. Um operador que busca movimentos de longo prazo com grandes lucros pode se concentrar em uma estratégia de acompanhamento de tendências e, portanto, utilizar um indicador de acompanhamento de tendência, como uma média móvel. Um trader interessado em pequenos movimentos com pequenos ganhos frequentes pode estar mais interessado em uma estratégia baseada na volatilidade. Novamente, diferentes tipos de indicadores podem ser usados ​​para confirmação. A figura 2 mostra as quatro categorias básicas de indicadores técnicos com exemplos de cada um.
Os traders têm a opção de comprar sistemas de negociação "black box", que são estratégias proprietárias comercialmente disponíveis. Uma vantagem para a compra desses sistemas de caixa preta é que toda a pesquisa e o backtesting foram teoricamente feitos para o trader; a desvantagem é que o usuário está "voando às cegas", já que a metodologia geralmente não é divulgada e, muitas vezes, o usuário não pode fazer nenhuma personalização para refletir seu estilo de negociação. (Saiba como os sistemas de caixa preta funcionam com os ETFs inteligentes para aprimorar seu portfólio com ETFs inteligentes.)
Indicadores sozinhos não fazem sinais de negociação. Cada trader deve definir o método exato no qual os indicadores serão usados ​​para sinalizar oportunidades de negociação e desenvolver estratégias. Os indicadores podem certamente ser usados ​​sem serem incorporados em uma estratégia; entretanto, as estratégias técnicas de negociação geralmente incluem pelo menos um tipo de indicador. Identificar um conjunto absoluto de regras, como com uma estratégia, permite que os investidores façam o backtest para determinar a viabilidade de uma determinada estratégia. Também ajuda os operadores a entender a expectativa matemática das regras ou como a estratégia deve funcionar no futuro. Isso é fundamental para os comerciantes técnicos, pois ajuda os comerciantes a avaliar continuamente o desempenho da estratégia e pode ajudar a determinar se e quando é hora de fechar uma posição.
Os comerciantes costumam falar sobre o Santo Graal - o segredo comercial que levará a uma lucratividade instantânea. Infelizmente, não existe uma estratégia perfeita que garanta o sucesso de cada investidor. Cada comerciante tem um estilo único, temperamento, tolerância ao risco e personalidade. Como tal, cabe a cada comerciante aprender sobre a variedade de ferramentas de análise técnica disponíveis, pesquisar como elas funcionam de acordo com suas necessidades individuais e desenvolver estratégias com base nos resultados. (Para mais, confira Survive The Trading Game.)

Creating trading signals


Obter através da App Store Leia esta publicação em nosso aplicativo!
Creating Trading Signals in R.
I'm constructing a trading strategy and am stuck at two key areas. When using Stoch and MACD in quantmod , I am trying to create a signal when the slow stochastic crosses over the fast stochastic (1), and visa-versa(-1), and flat when in between (0). MACD the code is identical except with the column names MACD and Signal. Lastly, I am trying to merge the three signals to create a master signal when all three signals equal 1, -1, 0.
Update : I fixed all the nasty loops using a diff instead after this answer.
This is how I would approach this problem. You are calculating all position that have the desired relationships. You only want the first position that satisfies the trading signal to act on it as soon as possible.
I would set up the Bollinger band signal like this:
I would create the stochastic signal like this:
Once you calculate the difference, you want to find the first crossover where one is higher than the other so you need to consider the i th and i-1 th positions. Also the signal will be stronger if you are in overbought or oversold territory (0.8 or 0.2).
Similarly for MACD:
Now we merge them and calculate the combine signal:
If it were me, I would rather have a sum of the signals because it will tell you how trust worthy each signal is. If you have a 3, that is stong but a 1 or 2 not as strong. So I would go with the sum as the combined signal.
Now all is a matrix with all the signals and the last column is the combined signal strength.
Também pense em como isso pode não dar-lhe um bom sinal. Using the approach for this chart, The strongest signals I get are -2, and I only get 5 occasions. Kind of odd since the chart goes straight up but there are no strong buys.
These sell signals only give a short downside and then the chart rockets higher. Claro que tudo depende do estoque etc.
You also get situations like this:
Some indicators are faster or slower than others. This would be my approach, but you should do broad based tests and determine if you think these will be actionable trades and if you would make any money acting on them minus commission and hold duration.

Enhanced decision making mechanism of rule-based genetic network programming for creating stock trading signals.
Destaques.
A novel rule-based decision making mechanism for stock trading is proposed.
A large number of effective trading rules are generated by evolution and learning.
A classification algorithm for stock trading is proposed.
The results show that the rule-based system is better than individual-based method.
Evolutionary computation generally aims to create the optimal individual which represents optimal action rules when it is applied to agent systems. Genetic Network Programming (GNP) has been proposed as one of the graph-based evolutionary computations in order to create optimal individuals. GNP with rule accumulation is an extended algorithm of GNP, which extracts a large number of rules throughout the generations and stores them in rule pools, which is different from general evolutionary computations. Concretely, the individuals of GNP with rule accumulation are regarded as evolving rule generators in the training phase and the generated rules in the rule pools are actually used for decision making. In this paper, GNP with rule accumulation is enhanced in terms of its rule extraction and classification abilities for generating stock trading signals considering up and down trends and occurrence frequency of specific buying/selling timing. A large number of buying and selling rules are extracted by the individuals evolved in the training period. Then, a unique classification mechanism is used to appropriately determine whether to buy or sell stocks based on the extracted rules. In the testing simulations, the stock trading is carried out using the extracted rules and it is confirmed that the rule-based trading model shows higher profits than the conventional individual-based trading model.
Escolha uma opção para localizar / acessar este artigo:
Verifique se você tem acesso através de suas credenciais de login ou sua instituição.

Comments

Popular posts from this blog

4m trading inc forex

3 nível zz semafor forex indicator

Estratégia de negociação de breakout