
Como desenvolver um sistema de negociação baseado no indicador Estocástico
Introdução
Uma das coisas mais bonitas na negociação da análise técnica é que nós temos muitas ferramentas e nós podemos usar uma ferramenta individualmente ou combinar mais de uma ferramenta e isso pode ser útil e lucrativo para nós. Além disso, nós temos uma ferramenta incrível que pode ser muito útil para melhorar os nossos resultados e desempenho de negociação. Esta ferramenta é a programação que nos permite criar programas que podem ser muito úteis: damos instruções ao computador para fazer o que nós precisamos de forma automática e precisa de acordo com as nossas condições.
Este artigo é outra contribuição para tentar aprender e ensinar o que pode ser útil neste contexto de negociação técnica e programação de estratégias de negociação lucrativas. Nós discutiremos através deste artigo uma nova ferramenta que pode ser útil em nossas negociações, o indicador "Oscilador Estocástico" que é um dos mais populares na negociação usando a análise técnica. Se você leu meus outros artigos aqui, você deve saber que eu gosto de aprender e ensinar as raízes das coisas para entender todos os detalhes e o mecanismo das coisas o máximo que puder. Então, eu vou discutir com você este tópico usando o mesmo método. Os seguintes tópicos serão abordados neste artigo:
- Definição do Estocástico
- Estratégia do Estocástico
- Esquema do Estocástico
- Sistema de negociação do Estocástico
- Conclusão
Através do tópico "Definição do Estocástico", nós aprenderemos detalhadamente sobre o indicador Oscilador Estocástico para saber o que é e o que ele mede. Em seguida, na "Estratégia do Estocástico", nós aprenderemos algumas estratégias simples que nós podemos usar. Depois disso, nós projetaremos um esquema para essas estratégias simples para nos ajudar a codificá-las em MQL5 para que nós possamos usá-las na MetaTrader 5 — isso será considerado no tópico "Esquema do Estocástico". Em seguida, nós continuaremos aprendendo como escrever um código para projetar um sistema de negociação para essas estratégias simples — isso será feito no tópico "Sistema de negociação do Estocástico".
Nós usaremos a plataforma de negociação MetaTrader 5 e a linguagem MetaQuotes, que está integrada à MetaTrader 5. A plataforma pode ser baixada no seguinte link: https://www.metatrader5.com/pt/download
Ressalva: Qualquer informação fornecida aqui é apenas para fins educacionais e sem fins comerciais ou de aconselhamento. As informações não garantem nenhum tipo de resultado. Se você optar por usar esses materiais em qualquer uma de suas contas de negociação, você fará isso por sua conta e risco, sendo o único responsável.
Agora, nós vamos começar nossa nova jornada sobre um novo tópico interessante, vamos fazê-lo.
Definição do Estocástico
Nesta parte, nós aprenderemos com mais detalhes sobre um dos indicadores técnicos mais populares, que é o indicador Oscilador Estocástico. Foi desenvolvido por George Lane e isso é mencionado no livro "New Trading Systems and Methods" de Perry J. Kaufman. Mas há outras opiniões sobre isso, uma delas é que não está absolutamente claro quem criou o indicador Estocástico — isso é mencionado no livro "Technical Analysis, The Complete Resource for Financial Market Technicians" de Charles D. Kirkpatrick e Julie R. Dahlquist e a outra opinião é que o indicador foi popularizado por George Lane conforme mencionado no livro "Technical Analysis of The Financial Markets" de John J. Murphy.
A ideia por trás do indicador estocástico é a seguinte: observou-se que durante a tendência de alta, os preços de fechamento tendem a fechar mais perto da parte superior da faixa de preço para um período específico e vice-versa, durante a tendência de baixa, os preços de fechamento tendem a fechar mais próximo da parte inferior da faixa de preço por um período específico. Ele mede a relação entre o preço de fechamento atual e a máxima e mínima dos preços de um período específico.
O indicador Oscilador Estocástico consiste em duas linhas e essas duas linhas oscilam entre o nível zero e o nível 100:
- A linha %K é a linha mais rápida.
- A linha %D é a linha mais lenta, ela é é suavizada.
Há mais de uma versão para o indicador Oscilador Estocástico. As versões mais populares são as duas seguintes:
- O Estocástico rápido.
- O Estocástico lento.
Nós veremos a diferença nos métodos nos quais o indicador Oscilador Estocástico pode ser calculado.
A seguir estão as etapas para calcular o indicador Oscilador Estocástico:
- Determinar o período necessário para calcular o indicador.
- Determinar o valor máximo do período determinado.
- Determinar o valor mínimo do período determinado.
- Obtemos %K do estocástico rápido = 100*((fechamento atual-menor mínima)/(maior máxima-menor mínima))
- Obtemos %D do estocástico rápido = 3 períodos da média móvel de %K do estocástico rápido
- Obtemos %K do estocástico lento = %D do estocástico rápido
- Obtemos %D do estocástico lento = 3 períodos da média móvel de (%K do estocástico lento que é o mesmo de %D do estocástico rápido)
Agora, vamos ver um exemplo de como aplicar esses cálculos para obter o indicador Oscilador Estocástico. Se tivermos os seguintes dados:
Dias | Fechamento | Máxima | Mínima |
---|---|---|---|
1 | 100 | 110 | 90 |
2 | 130 | 140 | 120 |
3 | 140 | 160 | 120 |
4 | 130 | 150 | 110 |
5 | 120 | 140 | 100 |
6 | 140 | 150 | 130 |
7 | 160 | 170 | 150 |
8 | 170 | 180 | 160 |
9 | 155 | 170 | 150 |
10 | 140 | 170 | 130 |
11 | 160 | 180 | 155 |
12 | 180 | 190 | 175 |
13 | 190 | 220 | 190 |
14 | 200 | 230 | 200 |
15 | 210 | 215 | 205 |
16 | 200 | 200 | 190 |
17 | 190 | 195 | 180 |
18 | 185 | 105 | 180 |
19 | 195 | 210 | 185 |
20 | 200 | 220 | 190 |
Para calcular o indicador Oscilador Estocástico, nós seguiremos as etapas mencionadas anteriormente, portanto, nós fazemos o seguinte:
- Determinamos o período que será = 14, então nós precisamos primeiro ter 14 períodos de negociação para começar a calcular o indicador.
- Determinamos a maior máxima dos últimos 14 períodos, será (230) e a imagem a seguir nos mostrará isso para o primeiro valor e o restante dos dados:
- Determinamos a menor mínima dos últimos 14 períodos, será (90) e a imagem a seguir nos mostrará isso para o primeiro valor e o restante dos dados:
- Obtemos o %K do estocástico rápido = 100*((fechamento atual - menor mínima)/(maior máxima - menor mínima)),
- Obtemos o %D de estocástico rápido = 3 períodos da média móvel de %K do estocástico rápido,
- A imagem a seguir nos mostrará os resultados do cálculo para os dados disponíveis:
- Obtemos o %K do estocástico lento = %D do estocástico rápido,
- Obtemos o %D do estocástico lento = 3 períodos da média móvel de %K do estocástico lento,
- A imagem a seguir nos mostrará os resultados do cálculo para os dados disponíveis:
Através das etapas anteriores, nós calculamos o indicador Oscilador Estocástico manualmente. Felizmente, nós não precisamos calculá-lo manualmente todas as vezes, pois nós temos um indicador embutido pronto para uso na plataforma de negociação MetaTrader5. Nós podemos simplesmente escolhê-lo na lista de indicadores disponíveis na plataforma clicando na guia Inserir da MetaTrader 5, conforme mostrado na figura a seguir:
Após escolher o "Oscilador Estocástico", será aberta a seguinte janela para os parâmetros do indicador:
Parâmetros do indicador:
- Determinar o período
- Determinar o período da média móvel para %D rápido
- Determinar o período da média móvel para %D lento
- Determinar o preço apresentado para medir a relação com ele
- Determinar o tipo da média móvel que será usado no cálculo
- Determinar a cor da linha, o estilo da linha e a espessura da linha de %K
- Determinar a cor da linha, o estilo da linha e a espessura da linha de %D
Após determinar os parâmetros de acordo com as suas preferências, o indicador será anexado ao gráfico e aparecerá como na figura a seguir:
Após inserir o Oscilador Estocástico, nós podemos encontrar conforme a figura anterior que nós temos o indicador plotado na janela inferior com 2 linhas (%K, %D) oscilando entre zero e 100 e nós podemos encontrá-lo igual ao abaixo:
- Stoch(14, 3,3): representa o nome do indicador e os parâmetros escolhidos: 14 períodos, 3 para a média móvel de %D do estocástico rápido, 3 para a média móvel de %D do estocástico rápido.
- 36.85: representa o valor %k
- 38.28: representa o valor %D
De acordo com o cálculo do indicador Oscilador Estocástico, ele se moverá na direção do mercado de uma forma específica na maioria das vezes, pois nós sabíamos que os preços de fechamento tendem a fechar perto da faixa de preço superior ou inferior de um período específico de acordo com o movimento do mercado.
Durante a tendência de alta:
Uma tendência de alta é uma direção de mercado na qual os preços sobem devido ao controle dos compradores ou touros. Normalmente, os preços criam mínimas e máximas ascendentes. Nesse caso, nós podemos chamar esse mercado de mercado de alta.
Nós podemos descobrir durante essa direção de mercado que na maioria das vezes, os preços de fechamento tendem a fechar perto da parte superior da faixa de preço durante esse período de movimento de "Tendência de alta" e o indicador estocástico oscilará entre o nível 50 e o nível 100. Um exemplo dessa situação é mostrado na imagem a seguir:
Durante a tendência de baixa:
Uma tendência de baixa é uma direção de mercado na qual os preços caem devido ao controle dos vendedores ou ursos. Os preços criam máximas e mínimas descendentes. Nesse caso, nós podemos chamar esse mercado de mercado de baixa.
Durante essa direção de mercado, na maioria das vezes, os preços de fechamento tendem a fechar perto da faixa inferior do movimento dos preços durante esse período de movimento de "tendência de baixa". Assim, nós podemos descobrir que o indicador estocástico se move entre os níveis 50 e 0 durante o período de movimento de baixa. Um exemplo dessa situação é mostrado na imagem a seguir:
Durante as lateralizações:
Uma lateralização é um movimento de preço que é um movimento sem uma direção clara para cima ou para baixo. Ela pode ser considerada como um equilíbrio entre os compradores e vendedores ou touros e ursos. Ela é qualquer movimento, exceto uma tendência de alta ou uma tendência de baixa.
Durante esse movimento lateral não há movimento claro para cima ou para baixo, os preços tendem a fechar perto da faixa média de preços para esse período de movimento "lateralizado" e, portanto, nós podemos descobrir que na maioria das vezes, o estocástico se move em torno dos níveis 20 e 80 e a imagem a seguir é um exemplo disso:
Agora que nós analisamos como o indicador estocástico pode atuar em diferentes movimentos do mercado. Agora, nós precisamos aprender como nós podemos usá-lo a nosso favor, e é isso que vamos aprender no tópico a seguir.
Estratégia do Estocástico
Nesta parte, nós falaremos sobre como nós podemos usar esse indicador por meio de estratégias simples. Nós podemos obter os sinais do indicador estocástico de acordo com a tendência do mercado e essas estratégias são estratégia de tendência de alta, estratégia de tendência de baixa e estratégia lateralizada.
- Estratégia um: Estratégia de tendência de alta
De acordo com essa estratégia, nós precisamos verificar se a linha %K e a linha %D estão abaixo do nível 50, então, o sinal de compra será gerado quando a linha %K cruzar acima da linha %D. Nós podemos obter lucro de acordo com outra ferramenta eficaz, como a ação do preço, procurando por mínimas descendentes, por exemplo.
%K, %D < 50 --> %K > %D = sinal de compra- Estratégia dois: estratégia de tendência de baixa
De acordo com essa estratégia, nós precisamos verificar se a linha %K e a linha %D estão acima do nível 50, então, o sinal de venda será gerado quando a linha %K cruzar abaixo da linha %D. Nós podemos obter lucro de acordo com outra ferramenta eficaz, como a ação do preço, procurando por máximas ascendentes, por exemplo.
%K, %D > 50 --> %K < %D = sinal de venda- Estratégia três: estratégia lateralizada
- O sinal de compra:
De acordo com essa estratégia, nós precisamos verificar se a linha %K e a linha %D estão abaixo do nível 20, então, o sinal de compra será gerado quando a linha %K cruzar acima da linha %D. Quando a linha %K e a linha %D estiverem acima de 80, o sinal de lucro será gerado quando a linha %K cruzar abaixo da linha %D.
%K, %D < 20 --> %K > %D = sinal de compra%K, %D > 80 --> %K < %D = take profit
- O sinal de venda
De acordo com essa estratégia, nós precisamos verificar se a linha %K e a linha %D estão acima do nível 80, então, o sinal de venda será gerado quando a linha %K cruzar abaixo da linha %D. Quando a linha %K e %D estiverem abaixo do nível 20, o sinal de lucro será gerado quando a linha %K cruzar acima da linha %D.
%K, %D > 80 --> %K < %D = sinal de venda
%K, %D < 20 --> %K > %D = take profit
EU gostaria de mencionar aqui que existem muitas estratégias de estocástico que podem ser usadas, desde estratégias simples a complicadas e esse indicador pode ser usado individualmente ou combinado com outra ferramenta de forma que possa dar melhores resultados, mas aqui, nós mencionamos apenas estratégias simples para entender como esse indicador pode ser usado.
Esquema do Estocástico
Nesta parte, nós projetaremos um plano para as estratégias mencionadas anteriormente que devem nos ajudar a criar facilmente um sistema de negociação. Este esquema será uma diretriz passo a passo para identificar o que nós precisamos que o programa faça exatamente.
- Estratégia um: estratégia de tendência de alta
%K, %D < 50 --> %K > %D = sinal de compra
Primeiro, nós precisamos que o programa verifique (%K, %D) e decida se está abaixo ou acima do nível 50, então se estiver abaixo do nível 50, ele não fará nada até que a linha %K cruze acima da linha %D para dar o sinal de compra. Se (%K, %D) estiver acima ou igual ao nível 50, o programa não fará nada.
A imagem a seguir é um esquema para essa estratégia de tendência de alta:
- Estratégia dois: estratégia de tendência de baixa
%K, %D > 50 --> %K < %D = sinal de venda
Primeiro, nós precisamos que o programa verifique (%K, %D) e decida se está acima ou abaixo do nível 50, então se estiver acima do nível 50, ele não fará nada até que a linha %K cruze abaixo da linha %D para dar o sinal de venda. Se (%K, %D) estiver abaixo ou igual ao nível 50, o programa não fará nada.
A imagem a seguir é um esquema dessa estratégia:
- Estratégia três: estratégia lateralizada
O sinal de compra:
%K, %D < 20 --> %K > %D = sinal de compra
%K, %D > 80 --> %K < %D = take profit
Primeiro, nós precisamos que o programa verifique (%K, %D) e decida se está abaixo ou acima do nível 20, então se estiver abaixo do nível 20, ele esperará para não fazer nada até que a linha %K cruze acima da linha %D para dar o sinal de compra. Se (%K, %D) estiver acima ou igual ao nível 20, o programa não fará nada. Então, o programa verificará (%K, %D) e decidirá se está acima ou abaixo do nível 80, então se estiver acima do nível 80, ele não fará nada até que a linha %K cruze abaixo da linha %D para dar o sinal de lucro. Se (%K, %D) estiver abaixo ou igual ao nível 80, o programa não fará nada.
A imagem a seguir é um modelo para essa estratégia:
O sinal de venda:
%K, %D > 80 --> %K < %D = sinal de venda
%K, %D < 20 --> %K > %D = take profit
Primeiro, nós precisamos que o programa verifique (%K, %D) e decida se está acima ou abaixo do nível 80, então se estiver acima do nível 80, ele não fará nada até que a linha %K cruze abaixo da linha %D para dar o sinal de venda. Se (%K, %D) estiver abaixo ou igual ao nível 80, o programa não fará nada. Então, o programa verificará (%K, %D) e decidirá se está abaixo ou acima do nível 20, então se estiver abaixo do nível 20, ele não fará nada até que a linha %K cruze acima da linha %D para dar o sinal de lucro. Se (%K, %D) estiver acima ou igual ao nível 20, o programa não fará nada.
A imagem a seguir é um esquema para este sinal de venda da estratégia lateralizada:
Até agora, nós consideramos estratégias simples que podem ser usadas pelo indicador estocástico e nós projetamos os esquemas para essas estratégias para nos ajudar a criar um sistema de negociação. Na próxima parte, nós aprenderemos como projetar esse sistema de negociação.
Sistema de negociação do Estocástico
Agora, nós iniciaremos uma parte interessante neste artigo para aprender a codificar um sistema de negociação que funcione com essas estratégias. A programação é uma ótima ferramenta que nos ajuda a negociar de forma eficaz, pois nos ajuda a executar nosso plano e estratégia de maneira disciplinada, sem envolver emoções em nossa decisão de negociação, além da precisão na execução, mas o mais importante é testar qualquer estratégia antes de executá-la. Vamos escrever o nosso sistema de negociação de acordo com as estratégias discutidas anteriormente...
Primeiro, nós precisamos escrever um código para um programa que forneça os valores das linhas do estocástico no gráfico, e através da escrita deste código nós aprenderemos linha por linha o que estamos escrevendo para podermos, após esta etapa, entender e criar o sistema de negociação.
Primeiros passos, nós precisamos criar matrizes do tipo double para a linha %K e a linha %D que apresentam valores com uma parte fracionária:
double Karray[]; double Darray[];
Então, nós precisamos classificar essas matrizes criados a partir dos dados atuais, usando a função "ArraySetAsSeries":
ArraySetAsSeries(Karray, true); ArraySetAsSeries(Darray, true);
Então, nós precisamos definir o indicador "Stochastic" e usaremos a função "iStochastic" após criar uma variável com "StochDef" para ser igual à definição "Stochastic":
int StochDef = iStochastic(_Symbol,_Period,14,3,3,MODE_SMA,STO_LOWHIGH);
Então, nós precisamos preencher a matriz com os dados dos preços e usaremos a função "CopyBuffer":
CopyBuffer(StochDef,0,0,3,Karray); CopyBuffer(StochDef,1,0,3,Darray);
Em seguida, nós calcularemos o valor da linha %K e da linha %D dos dados atuais usando o tipo "float" para diminuir o tamanho das frações e aproximá-las:
float KValue = Karray[0]; float DValue = Darray[0];
A última linha de código será para deixar o programa apresentar o valor da linha %K e o valor da linha %D no gráfico em duas linhas e nós usaremos a função "Comment":
Comment("%K value is ", KValue,"\n""%D Value is ",DValue);
A seguir está o mesmo código anterior, mas em um bloco para poder copiá-lo em apenas uma etapa, se você precisar:
//+------------------------------------------------------------------+ //| Simple Stochastic System - Lines Value.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ void OnTick() { //creating arrays for %K line and %D line double Karray[]; double Darray[]; //sorting arrays from the current data ArraySetAsSeries(Karray, true); ArraySetAsSeries(Darray, true); //defining the stochastic indicator int StochDef = iStochastic(_Symbol,_Period,14,3,3,MODE_SMA,STO_LOWHIGH); //filling arrays with price data CopyBuffer(StochDef,0,0,3,Karray); CopyBuffer(StochDef,1,0,3,Darray); //calculating value of %K and %D line of cuurent data float KValue = Karray[0]; float DValue = Darray[0]; //commenting calcualted values on the chart Comment("%K value is ",KValue,"\n" "%D Value is ",DValue); } //+------------------------------------------------------------------+
Até agora, nós escrevemos o código de um programa que pode apresentar os valores atuais das linhas do indicador estocástico no gráfico; agora nós precisamos executar este programa em nossa plataforma de negociação (MetaTrader5), já que podemos encontrá-lo na janela do navegador após a sua compilação:
Após arrastar e soltar o arquivo Simple Stochastic System - Lines Value, a seguinte janela será aberta:
Após pressionar OK, o programa ou o (Expert Advisor) será anexado ao gráfico da mesma forma que a imagem abaixo:
Então, nós podemos ver que o programa gera valores das linhas do estocástico iguais o da figura abaixo:
Agora, nós vamos começar a escrever o código para criar um sistema de negociação para as nossas estratégias, e o que precisamos fazer aqui é criar um sistema de negociação que seja capaz de apresentar o sinal adequado como um comentário no gráfico de acordo com a estratégia utilizada. Vamos começar a fazer isso...
- Estratégia um: estratégia de tendência de alta
%K, %D < 50 --> %K > %D = sinal de compra
O código a seguir é para criar um sistema de negociação para executar o que nós precisamos de acordo com essa estratégia de tendência de alta:
//+------------------------------------------------------------------+ //| Simple Stochastic System - Uptrend Strategy.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ void OnTick() { string signal=""; double Karray[]; double Darray[]; ArraySetAsSeries(Karray, true); ArraySetAsSeries(Darray, true); int StochDef = iStochastic(_Symbol,_Period,14,3,3,MODE_SMA,STO_LOWHIGH); CopyBuffer(StochDef,0,0,3,Karray); CopyBuffer(StochDef,1,0,3,Darray); double KValue0 = Karray[0]; double DValue0 = Darray[0]; double KValue1 = Karray[1]; double DValue1 = Darray[1]; if (KValue0<50&&DValue0<50) if ((KValue0>DValue0) && (KValue1<DValue1)) { signal = "BUY"; } Comment("SSS - Uptrend Strategy - Signal is ",signal); } //+------------------------------------------------------------------+
Como você pode ver, as diferenças aqui são:
Criamos uma variável para o "signal" com uma atribuição vazia, pois nós vamos calcular ele depois disso:
string signal="";
Criado duas variáveis para os valores %K (0,1) e duas variáveis para os valores %D (0,1) para os dados atuais e os dados anteriores ao atual:
double KValue0 = Karray[0]; double DValue0 = Darray[0]; double KValue1 = Karray[1]; double DValue1 = Darray[1];
Para avaliar o cruzamento entre %K e %D, precisamos que o cruzamento seja para cima, ou seja, precisamos que %K rompa %D para cima e mover acima dele após esse cruzamento; é isso que podemos encontrar no código da linha do "if":
if (KValue0<50&&DValue0<50) if ((KValue0>DValue0) && (KValue1<DValue1)) { signal = "BUY"; }
Após a avaliação do cruzamento, se for verdadeiro, nós precisamos de um sinal para "COMPRAR" e esta será a atribuição para "signal". Então nós precisamos de um comentário com este sinal no gráfico e ele será de acordo com a seguinte linha de código:
Comment("SSS - Uptrend Strategy - Signal is ",signal);
Para tanto, nós criamos o código do programa e após compilá-lo nós podemos encontrá-lo na janela do navegador:
Após arrastar e soltar este arquivo no gráfico, a seguinte janela aparecerá:
Após pressionar OK, ele será anexado:
O sinal aparecerá igual ao exemplo a seguir durante o teste:
- Estratégia dois: estratégia de tendência de baixa
%K, %D > 50 --> %K < %D = sinal de venda
O código a seguir é para criar um programa para executar essa estratégia de tendência de baixa:
//+------------------------------------------------------------------+ //| Simple Stochastic System - Downtrend Strategy.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ void OnTick() { string signal=""; double Karray[]; double Darray[]; ArraySetAsSeries(Karray, true); ArraySetAsSeries(Darray, true); int StochDef = iStochastic(_Symbol,_Period,5,3,3,MODE_SMA,STO_LOWHIGH); CopyBuffer(StochDef,0,0,3,Karray); CopyBuffer(StochDef,1,0,3,Darray); double KValue0 = Karray[0]; double DValue0 = Darray[0]; double KValue1 = Karray[1]; double DValue1 = Darray[1]; if (KValue0>50&&DValue0>50) if ((KValue0<DValue0) && (KValue1>DValue1)) { signal = "SELL"; } Comment("SSS - Downtrend Strategy - Signal is ",signal); } //+------------------------------------------------------------------+
As diferenças são:
- Condições do cruzamento
if (KValue0>50&&DValue0>50) if ((KValue0<DValue0) && (KValue1>DValue1)) { signal = "SELL"; }
- O comentário de acordo com esta estratégia:
Comment("SSS - Downtrend Strategy - Signal is ",signal);
Após a compilação, nós podemos encontrar o arquivo deste programa na janela do navegador:
Arraste e solte este arquivo no gráfico e a seguinte janela será aberta:
Após pressionar OK, o arquivo será anexado ao gráfico:
O sinal aparecerá como um comentário no gráfico de acordo com as condições desta estratégia e a imagem a seguir é um exemplo disso:
- Estratégia três: estratégia lateralizada
- Sinal de compra:
%K, %D < 20 --> %K > %D = sinal de compra
%K, %D > 80 --> %K < %D = sinal take profit
O código a seguir é para criar um programa capaz de executar essa estratégia lateralizada:
//+------------------------------------------------------------------+ //| Simple Stochastic System - Sideways - Buy Strategy.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ void OnTick() { string signal=""; double Karray[]; double Darray[]; ArraySetAsSeries(Karray, true); ArraySetAsSeries(Darray, true); int StochDef = iStochastic(_Symbol,_Period,5,3,3,MODE_SMA,STO_LOWHIGH); CopyBuffer(StochDef,0,0,3,Karray); CopyBuffer(StochDef,1,0,3,Darray); double KValue0 = Karray[0]; double DValue0 = Darray[0]; double KValue1 = Karray[1]; double DValue1 = Darray[1]; if (KValue0<20&&DValue0<20) if ((KValue0>DValue0) && (KValue1<DValue1)) { signal = "BUY"; } Comment("SSS - Sideways - Buy Strategy - Signal is ",signal); if (KValue0>80&&DValue0>80) if ((KValue0<DValue0) && (KValue1>DValue1)) { signal = "Take Profit"; } Comment("SSS - Sideways - Buy Strategy - Signal is ",signal); } //+------------------------------------------------------------------+
As diferenças são:
- Condições de cruzamento de acordo com o sinal de compra da estratégia lateralizada:
if (KValue0<20&&DValue0<20) if ((KValue0>DValue0) && (KValue1<DValue1)) { signal = "BUY"; }
- O comentário de acordo com o sinal de compra da estratégia lateralizada:
Comment("SSS - Sideways - Buy Strategy - Signal is ",signal);
- Condições do sinal de lucro da estratégia lateralizada:
if (KValue0>80&&DValue0>80) if ((KValue0<DValue0) && (KValue1>DValue1)) { signal = "Take Profit"; }
- O comentário de acordo com o sinal de lucro da estratégia lateralizada:
Comment("SSS - Sideways - Buy Strategy - Signal is ",signal);
Após a compilação, o arquivo deste sistema de negociação aparecerá na janela do Navegador:
Arraste e solte o arquivo no gráfico, a seguinte janela será aberta:
Após pressionar OK, o programa será anexado ao gráfico:
O sinal será exibido como um comentário no gráfico de acordo com esta estratégia. A imagem a seguir mostra um exemplo de tal sinal:
O exemplo do sinal "take profit":
- Estratégia lateralizada: sinal de venda
%K, %D > 80 --> %K < %D = sinal de venda
%K, %D < 20 --> %K > %D = sinal take profit
Veja a seguir como escrever o código de um programa que executa essa estratégia:
//+------------------------------------------------------------------+ //| Simple Stochastic System - Sideways - Sell Strategy.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ void OnTick() { string signal=""; double Karray[]; double Darray[]; ArraySetAsSeries(Karray, true); ArraySetAsSeries(Darray, true); int StochDef = iStochastic(_Symbol,_Period,5,3,3,MODE_SMA,STO_LOWHIGH); CopyBuffer(StochDef,0,0,3,Karray); CopyBuffer(StochDef,1,0,3,Darray); double KValue0 = Karray[0]; double DValue0 = Darray[0]; double KValue1 = Karray[1]; double DValue1 = Darray[1]; if (KValue0>80&&DValue0>80) if ((KValue0<DValue0) && (KValue1>DValue1)) { signal = "SELL"; } Comment("SSS - Sideways - Sell Strategy - Signal is ",signal); if (KValue0<20&&DValue0<20) if ((KValue0>DValue0) && (KValue1<DValue1)) { signal = "TAKE PROFIT"; } Comment("SSS - Sideways - Sell Strategy - Signal is ",signal); } //+------------------------------------------------------------------+
As diferenças são:
- Condições de cruzamento de acordo com o sinal de venda da estratégia lateralizada:
if (KValue0>80&&DValue0>80) if ((KValue0<DValue0) && (KValue1>DValue1)) { signal = "SELL"; }
- O comentário de acordo com o sinal de venda da estratégia lateralizada:
Comment("SSS - Sideways - Sell Strategy - Signal is ",signal);
- Condições do sinal de lucro da estratégia lateralizada:
if (KValue0<20&&DValue0<20) if ((KValue0>DValue0) && (KValue1<DValue1)) { signal = "TAKE PROFIT"; }
- O comentário de acordo com o sinal de lucro da estratégia lateralizada:
Comment("SSS - Sideways - Sell Strategy - Signal is ",signal);
Após a compilação, o arquivo deste sistema de negociação aparecerá na janela do Navegador:
Arraste e solte-o no gráfico e a seguinte janela será aberta:
Após pressionar OK, o programa será anexado ao gráfico para estar pronto para gerar os sinais:
A imagem a seguir é um exemplo de um sinal de venda gerado de acordo com esta estratégia:
A imagem a seguir é um exemplo de um sinal de lucro gerado de acordo com esta estratégia:
Conclusão
No final deste artigo, nós podemos dizer que aprendemos o básico de como criar um sistema de negociação simples usando o indicador técnico "Oscilador Estocástico", que é um dos indicadores mais populares no mundo da negociação. Eu espero que você tenha entendido o que é o indicador "Oscilador Estocástico", o que ele mede e como calculá-lo - nós o consideramos em detalhes. Eu espero que você tenha descoberto algo novo sobre como usar o indicador estocástico aprendendo algumas estratégias simples que podem ser usadas. Além disso, o artigo apresentou um esquema para essas estratégias simples, com base nas quais é possível criar um sistema de negociação de maneira fácil e suave. Além disso, nós consideramos como projetar um sistema de negociação com base nessas estratégias simples mencionadas.
Espero que você tenha achado este artigo útil para você e sua negociação, e que ele ajude a encontrar novas ideias, fornecendo informações sobre um dos indicadores mais populares e úteis - o "Oscilador Estocástico" no mundo da negociação.
Traduzido do Inglês pela MetaQuotes Ltd.
Artigo original: https://www.mql5.com/en/articles/10692





- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso