Sistema de negociação de opções níveis 00

Melhores corretores de opcoes binarias 2020:
  • BINOMO
    BINOMO

    O melhor corretor!
    Conta demo gratuita e treinamento para iniciantes!
    Inscreva-se bonus!

  • FINMAX
    FINMAX

    Corretor de opcoes binarias confiavel! Boa resposta!

Contents

Sistema de negociação de opções níveis 00

ROTINA DE TRADING

Minha rotina de trading é a que segue:

Toda noite, pouco antes do fechamento da sessão de Nova York, eu visualizo os 28 pares principais do Forex, mais o Gold, e primeiramente eu verifico se em algum deles o preço fez um Pinbar. Caso tenha acontecido eu olharei se esse padrão apareceu em algum nível de suporte/resistência importante no gráfico Diário. Eu também analiso os gráficos Semanal e Mensal, mas olho de fato, e tomo como decisão, unicamente o gráfico Diário.

Antes de você ler o artigo, caso esteja iniciando nessa jornada de trading, é crucial para seu sucesso que você leia esse artigo, e esse aqui.

Basicamente eu começo procurando o pinbar, como eu explico no vídeo acima. Após eu achar um par onde eu veja que o preço fez o padrão, eu vou olhar se ele apareceu em algum nível significativo no gráfico Diário. Se isso acontecer eu já constatei dois dos itens do meu Trading Plan, NÍVEL E SINAL. Nesse momento fica faltando somente o quesito TENDÊNCIA, e para isso eu analisarei se o preço vem de um forte movimento, seguido de um movimento menor no sentido contrário (retração), e se esse sinal apareceu ao final dessa retração.

Daí eu sigo para uma análise dos períodos maiores para verificar a tendência geral do mercado, se é de queda ou se é de alta, e procuro somente abrir a operação se o mercado estiver indo na direção que o sinal apareceu

Verifico se o preço formou um pinbar, que é um candle com cauda longa e corpo pequeno, conforme explico nesse link; O pinbar precisa atender ao seu principal critério: ter uma cauda longa com no mínimo 2/3 do tamanho do candle.

Caso o candle que apareceu como sinal no nível escolhido não seja um pinbar, isto é, não atenda aos critérios pré-estabelecidos, simplesmente sigo em frente para olhar o próximo par de moedas.

Minha tolerância máxima para operar é se a cauda tiver no mínimo 65% do tamanho do candle .

MOMENTO DA DECISÃO

O momento da decisão de abrir o trade acontece assim que eu confirmo todos esses 3 itens acima explicados. Ou seja, enquanto eu estou olhando os ativos, se eu vir um candle que pareça um Pinbar eu paro para analisar melhor. Coloco os preços de fechamento, abertura, máxima e mínima na minha planilha para cálculo do pinbar, e verifico se é ou não o candle que desejo. Se sim, passo para cerificar os outros dois itens, nível e tendência.

Analiso então se o pinbar já constatado apareceu em um nível significativo. Se sim, já tenho dois critérios atendidos.

Parto então agora para minha última análise decisiva, a tendência. Primeiramente eu olho o movimento anterior ao que vinha acontecendo antes do pinbar, e espero ver um movimento mais forte, mais significativo. Por exemplo, caso eu veja que apareceu um pinbar em um nível horizontal bem definido e após um movimento de alta, o que eu espero ver antes desse movimento de alta é um forte movimento de queda, MAIOR que esse de alta. Assim isso vai me mostrar que a “vontade” do mercado é CAIR, e que o movimento de alta antes do pinbar muito provavelmente é apenas uma retração. E isso ainda indica que o pinbar é também provavelmente o ponto de inflexão que desejo entrar.

Você pode perceber que a ordem em que os critérios aparecem no Trading Plan NÃO é a mesma ordem que eu uso para analisar. Isso porque, como na matemática, na multiplicação, a ordem dos fatores não altera o produto. Ou seja, o importante é que os 3 critérios sejam repeitados, não importa a ordem com que eu os constate, é irrelevante. Essa ordem que uso para verificar meu sinal é mais fácil, flui mais, me permite excluir mais rapidamente os ativos que não vão me mostrar um sinal. Ou seja, ao analisar primeiramente o quesito SINAL, eu vejo se o candle do dia é um pinbar ou não. E assim eu não preciso perder tempo analisando tendência e nível significativo, pois já sei que não vou entrar em um trade naquele ativo.

Tendo então decidido entrar no trade, eu vou posicionar a minha ordem pendente conforme os detalhes de entrada explicados a seguir.

Sistema de negociação ’80-20′

Introdução

’80-20′ é o nome de uma das estratégias de negociação (EN) descritas no livro Street Smarts: High Probability Short-Term Trading Strategies de Linda Raschke e Laurence Connors. Como o par de estratégias discutidas no meu artigo anterior, as autoras atribuíram-lo para a fase de teste de limites de preço do intervalo. Ele também foca na obtenção de lucro a partir de fuga falsa ou reversão de limites. Mas, desta vez, para detectar o sinal, é analisado o movimento dos preços, no período significativamente mais curto do histórico, quer dizer, apenas o dia anterior. O tempo de vida do sinal recebido também é relativamente pequeno, uma vez que o sistema é projetado para negociação intradia.

O primeiro dos objetivos do presente artigo é descrever como criar, usando a linguagem MQL5, um módulo de sinal que implemente as regras da estratégia de negociação ’80-20′. Para, em seguida, conectar esse módulo ao Expert Advisor, criado no artigo anterior desta série, após editá-lo um pouco. Nós usamos este módulo inalterado ao criar um indicador para negociação manual.

Lembre-se que, nesta série de artigos, o código criado está focado principalmente na categoria dos programadores que pode ser definida como “iniciantes ligeiramente avançados”. Portanto, além da tarefa principal, o ccódigo é projetado para ajudar a mudança de programação procedural para programação de alto nível orientada a objetos. Nele, não serão geradas classes, porém serão usados na totalidade análogos mais simples para desenvolver, nomeadamente, estruturas.

Outro objetivo do artigo consiste em criar instrumentos que permitem verificar quão atual é esta estratégia hoje em dia, já que quando foi criada, Raschke e Connors levavam em conta o comportamento do mercado no final do século passado. No final do artigo, serão apresentados vários testes – com base no histórico de dados atual – do Expert Advisor criado.

Sistema de negociação ’80-20′

Como justificação teórica, os autores referem-se ao livro The Taylor Trading Technique do George Taylor, bem como ao trabalho na análise de computador dos mercados de futuros do Steve Moore e experiência prática do trader Derek Gipson. Formada a base da hipótese da Estratégia de Negociação, pode ser resumidamente afirmado como se segue: se os preços de abertura e fechamento de ontem estiverem distribuídos na região oposta do intervalo diário, hoje haverá uma grande probabilidade de que você possa esperar uma inversão na direção de abertura de ontem. Assim, é importante que, por um lado, os preços de abertura e fechamento de ontem estejam bastante perto dos limites do intervalo, por outro, a inversão comece hoje, mas não antes do fechamento da barra de ontem. O conjunto de regras da Estratégia de Negociação ’80-20′ adicional alterado pelos autores para entrada no mercado pode ser formulado da seguinte forma:

1. Certifique-se de que ontem o mercado abriu acima de 20% do intervalo diário e fechou abaixo de 20% do intervalo

2. Espere até que o atual preço mínimo atinja o mínimo de ontem pelo menos em 5 ticks

3. Coloque uma ordem pendente de comprar no limite inferior do intervalo de ontem

4. Imediatamente após a ativação da ordem pendente, defina seu StopLoss inicial no mínimo do dia

5. Use Trailing Stop para proteger os lucros obtidos

As regras são semelhantes para vender, no entanto a barra de ontem debe ser de alta, é necessário colocar, por um lado, a ordem de venda no limite superior desta barra e, por outro, o StopLoss no nível do máximo atual.

Outro detalhe importante aparece no livro, ao discutir as ilustrações para a Estratégia de Negociação nos gráficos a partir do histórico, aqui os autores chamar a atenção para o tamanho da barra diária que foi fechada. De acordo com Linda Raschke, ela deve ser superior ao tamanho médio das barras diárias. Na verdade, ele não especifica o número de dias de histórico deve ser tomado em consideração ao calcular o intervalo médio diário.

Não se esqueça que a Estratégia de Negociação é projetada exclusivamente para negociação intradia, os exemplos mostrados no livro usam gráficos do timeframe de 15 minutos.

Abaixo vou descrever o bloco de sinal e o indicador que faz a layout para essa Estratégia de Negociação. Abaixo você pode ver algumas capturas de tela com o resultado do indicador. Nelas são claramente visíveis os padrões, que correspondem às regras do sistema, e os níveis de negociação vinculados a esses padrões.

Timeframe de 5 minutos:

Como consequência da análise deste padrão, é preciso colocar uma ordem pendente para compra. Os respetivos níveis de negociação podem ser apreciados melhor no timeframe de minuto:

Um padrão semelhante, com negociação no sentido oposto no timeframe de cinco minutos:

Seus níveis de negociação (timeframe de minuto):

Módulo de sinal

Para exibir um exemplo de como adicionar opções adicionais à Estratégia de Negociação do autor, adicionamos o cálculo do nível Take Profit. Na versão original este nível não existe, para fechar uma posição, usa-se apenas o trailing de nível Stop Loss. Vamos fazer com que o Take Profit dependa do tamanho mínimo de fuga definido pelo usuário ( TS_8020_Extremum_Break ) — vamos multiplica-lo pelo coeficiente personalizado TS_8020_Take_Profit_Ratio .

A partir da função base do sinal de módulo fe_Get_Entry_Signal vamos precisar: o estado atual do sinal, os níveis atuais de entrada e saída (Stop Loss e Take Profit), bem como os limites do intervalo de ontem. Obtemos todos os níveis das referências – da função – transferidas para as variáveis, enquanto o estado retornado irá usar a lista de opções a partir do artigo anterior:

enum ENUM_ENTRY_SIGNAL < // Lista de sinais de entrada
ENTRY_BUY, // sinal para compra
ENTRY_SELL, // sinal para venda
ENTRY_NONE, // sem sinal
ENTRY_UNKNOWN // estado não definido
>;

ENUM_ENTRY_SIGNAL fe_Get_Entry_Signal( // Análise de padrão de dois velas D1
datetime t_Time, // tempo atual
double & d_Entry_Level, // nível de entrada (referência para a variável)
double & d_SL, // nível StopLoss (referência para a variável)
double & d_TP, // nível TakeProfit (referência para a variável)
double & d_Range_High, // máximo do intervalo da primeira barra do padrão(referência para a variável)
double & d_Range_Low // mínimo do intervalo da primeira barra do padrão (referência para a variável)
) <>

Para identificar o sinal, é necessário examinar as duas últimas barras do timeframe diário. Vamos começar com a primeira delas, se ela não satisfazer os critérios da Estratégia de Negociação, não fará sentido verificar a segunda barra. Dois critérios:

1. A magnitude da barra (diferença entre os preços High e Low) deve ser superior à média para os últimos XX dias (é definida pela configuração de usuário TS_8020_D1_Average_Period )

2. Os níveis de apertura e fechamento da barra devem estar relacionados com o oposto 20% do intervalo da barra

Se essas condições forem atendidas, para uso futuro, será necessário lembrar os preços High e Low. Como os parâmetros da primeira barra do padrão não são alterados durante todo o dia, não vamos verificá-los a cada chamada da função, em vez disso levamos em conta as variáveis estatísticas:

// configurações personalizadas
input uint TS_8020_D1_Average_Period = 20 ; // 80-20: Número de dias para cálculo da intervalo médio diário
input uint TS_8020_Extremum_Break = 50 ; // 80-20: fuga mínimo do extremo de ontem (em pontos)

static ENUM_ENTRY_SIGNAL se_Possible_Signal = ENTRY_UNKNOWN; // direção do sinal na primeira barra do padrão
static double
// variáveis para armazenamento dos níveis calculados entre os ticks
sd_Entry_Level = 0 ,
sd_SL = 0 , sd_TP = 0 ,
sd_Range_High = 0 , sd_Range_Low = 0
;

// verificação da primeira barra do padrão em D1:
if (se_Possible_Signal == ENTRY_UNKNOWN) < // hoje ainda não foi levada a cabo
st_Last_D1_Bar = t_Curr_D1_Bar; // neste dia a primeira barra já não irá mudar

// intervalo médio diário
double d_Average_Bar_Range = fd_Average_Bar_Range(TS_8020_D1_Average_Period, PERIOD_D1 , t_Time);

if (ma_Rates[ 0 ].high — ma_Rates[ 0 ].low // a primeira barra não grande o suficiente
se_Possible_Signal = ENTRY_NONE; // significa que hoje não haverá sinal
return (se_Possible_Signal);
>

double d_20_Percents = 0.2 * (ma_Rates[ 0 ].high — ma_Rates[ 0 ].low); // 20% do intervalo de ontem
if ((
// barra de baixa:
ma_Rates[ 0 ].open > ma_Rates[ 0 ].high — d_20_Percents // a barra abriu em máximos do 20% do intervalo
&&
ma_Rates[ 0 ].close 0 ].low + d_20_Percents // a barra fechou em mínimos do 20% do intervalo
) || (
// de alta:
ma_Rates[ 0 ].close > ma_Rates[ 0 ].high — d_20_Percents // a barra fechou em máximos do 20% do intervalo
&&
ma_Rates[ 0 ].open 0 ].low + d_20_Percents // a barra abriu em mínimos do 20% do intervalo
)) <
// a primeira barra atende as regras
// definição da direção da negociação para hoje de acordo com a primeira barra do padrão:
se_Possible_Signal = ma_Rates[ 0 ].open > ma_Rates[ 0 ].close ? ENTRY_BUY : ENTRY_SELL;
// nível de entrada no mercado:
sd_Entry_Level = d_Entry_Level = se_Possible_Signal == ENTRY_BUY ? ma_Rates[ 0 ].low : ma_Rates[ 0 ].high;
// limite do intervalo da primeira barra do padrão:
sd_Range_High = d_Range_High = ma_Rates[ 0 ].high;
sd_Range_Low = d_Range_Low = ma_Rates[ 0 ].low;
> else <
// ps níveis de apertura/fechamento da primeira barra não cumprem as condições
se_Possible_Signal = ENTRY_NONE; // significa que hoje não haverá sinal
return (se_Possible_Signal);
>
>

Listagem de função de definição do intervalo médio da barra para o número de barras estabelecido do timeframe especificado, começando com as funções de tempo indicadas:

double fd_Average_Bar_Range( // Cálculo do tamanho médio da barra
int i_Bars_Limit, // quantas barras levar em conta
ENUM_TIMEFRAMES e_TF = PERIOD_CURRENT , // timeframe de barras
datetime t_Time = WRONG_VALUE // a partir de que momento começar o cálculo
) <
double d_Average_Range = 0 ; // variável para soma de valores
if (i_Bars_Limit 1 ) return (d_Average_Range);

MqlRates ma_Rates[]; // matriz para informação sobre as barras

// obtenção de informação sobre as barras a partir da parte especificada do histórico:
if (t_Time == WRONG_VALUE ) t_Time = TimeCurrent ();
int i_Price_Bars = CopyRates ( _Symbol , e_TF, t_Time, i_Bars_Limit, ma_Rates);

if (i_Price_Bars == WRONG_VALUE ) < // tratamento de erros da função CopyRates
if (Log_Level > LOG_LEVEL_NONE) PrintFormat ( “%s: CopyRates: erro #%u” , __FUNCTION__ , _LastError );
return (d_Average_Range);
>

if (i_Price_Bars // a função CopyRates removeu dados parcialmente
if (Log_Level > LOG_LEVEL_NONE) PrintFormat ( “%s: CopyRates: copiado %u de barras de %u” , __FUNCTION__ , i_Price_Bars, i_Bars_Limit);
>

// soma de intervalos:
int i_Bar = i_Price_Bars;
while (i_Bar– > 0 )
d_Average_Range += ma_Rates[i_Bar].high — ma_Rates[i_Bar].low;

// valor médio:
return (d_Average_Range / double (i_Price_Bars));
>

Para a segunda barra (atual) do padrão, o critério é apenas um, isto é, a fuga através do limite do intervalo de ontem deve ser superior à fuga definida nas configurações ( TS_8020_Extremum_Break ). Uma vez que este nível é atingido, aparece o sinal para colocar uma ordem pendente:

// verificação da segunda barra (atual) do padrão em D1:
if (se_Possible_Signal == ENTRY_BUY) <
sd_SL = d_SL = ma_Rates[ 1 ].low; // StopLoss — para o máximo do preço de hoje
if (TS_8020_Take_Profit_Ratio > 0 ) sd_TP = d_TP = d_Entry_Level + _Point * TS_8020_Extremum_Break * TS_8020_Take_Profit_Ratio; // TakeProfit
return (
// será que a fuga é o suficientemente pronunciada para abaixo?
ma_Rates[ 1 ].close 0 ].low — _Point * TS_8020_Extremum_Break ?
ENTRY_BUY : ENTRY_NONE
);
>

if (se_Possible_Signal == ENTRY_SELL) <
sd_SL = d_SL = ma_Rates[ 1 ].high; // StopLoss — para o mínimo do preço de hoje
if (TS_8020_Take_Profit_Ratio > 0 ) sd_TP = d_TP = d_Entry_Level — _Point * TS_8020_Extremum_Break * TS_8020_Take_Profit_Ratio; // TakeProfit
return (
// será que a fuga é o suficientemente pronunciada para cima?
ma_Rates[ 1 ].close > ma_Rates[ 0 ].high + _Point * TS_8020_Extremum_Break ?
ENTRY_SELL : ENTRY_NONE
);
>

No arquivo da biblioteca mqh, armazenamos as funções descritas acima ( fe_Get_Entry_Signal e fd_Average_Bar_Range ) e as configurações personalizadas relacionadas com a obtenção do sinal. Uma lista completa está no anexo a este artigo. Vamos chamar o arquivo Signal_80-20.mqh e colocá-lo na pasta apropriada (MQL5\Include\Expert\Signal) do diretório de dados do terminal.

Indicador para negociação manual

Tanto o indicador quanto o Expert Advisor vão usar o módulo de sinal descrito acima. Ele (o indicador) deve informar o trader sobre a chegada do sinal para colocação da ordem pendente e notificar sobre níveis calculados, ou seja, os níveis de colocação da ordem, os níveis Take Profit e Stop Loss. O usuário pode selecionar por si mesmo os métodos de notificação: uma janela pop-up, uma mensagem no e-mail ou notificação no dispositivo móvel. É possível escolher tudo de uma só vez ou qualquer combinação destas convenientes opções.

Outra finalidade do indicador consiste no layout no histórico de negociação com base na Estratégia de Negociação ’80-20′. Ele vai destacar as barras diárias, conforme os critérios do sistema, e desenhar os níveis de negociação e cálculo. Com base nas linhas dos níveis, será possível avaliar a forma como a situação evoluiu ao longo do tempo. Para maior clareza, fazemos o seguinte: após o preço tocar a linha de sinal, ela se acaba, começa a linha da ordem pendente; após a ativação da ordem pendente, acaba-se sua linha e começam as linhas Take Profit e Stop Loss. Estas linhas são interrompidas, após o preço tocar uma delas (a ordem é fechada). Usando esse layout (ou esboço), será mais fácil avaliar a eficácia das regras do sistema de negociação e entender o que pode ser melhorado.

Vamos começar com a declaração de buffers e seus parâmetros de exibição. Em primeiro lugar, precisamos de declarar dois buffers com preenchimento da região vertical (DRAW_FILLING). Um deles vai destacar todo o intervalo da barra do dia anterior, o outro, apenas a região interna, isto com o fim de separá-la dos máximos e mínimos – do 20% do intervalo – envolvidos na Estratégia de Negociação. Em seguida, declaramos dois buffers para as linhas de sinal multi-coloridas e linhas de ordem pendente(DRAW_COLOR_LINE). Sua cor vai depender da direção da negociação. Haverá também dois linhas (Take Proft e Stop Loss) que não mudarão de cor (DRAW_LINE), uma vez que elas vão utilizar as mesmas cores padrão que lhes foram atribuídas no terminal. À exceção da linha simples, todos os tipos de exibição selecionados requerem dois buffers, por isso o código vai ter a seguinte aparência:

#property indicator_chart_window
#property indicator_buffers 10
#property indicator_plots 6

#property indicator_label1 “primeira barra do padrão”
#property indicator_type1 DRAW_FILLING
#property indicator_color1 clrDeepPink , clrDodgerBlue
#property indicator_width1 1

#property indicator_label2 “primeira barra do padrão”
#property indicator_type2 DRAW_FILLING
#property indicator_color2 clrDeepPink , clrDodgerBlue
#property indicator_width2 1

#property indicator_label3 “Nível de sinal”
#property indicator_type3 DRAW_COLOR_LINE
#property indicator_style3 STYLE_SOLID
#property indicator_color3 clrDeepPink , clrDodgerBlue
#property indicator_width3 2

#property indicator_label4 “Nível de entrada”
#property indicator_type4 DRAW_COLOR_LINE
#property indicator_style4 STYLE_DASHDOT
#property indicator_color4 clrDeepPink , clrDodgerBlue
#property indicator_width4 2

#property indicator_label5 “Stop Loss”
#property indicator_type5 DRAW_LINE
#property indicator_style5 STYLE_DASHDOTDOT
#property indicator_color5 clrCrimson
#property indicator_width5 1

#property indicator_label6 “Take Profit”
#property indicator_type6 DRAW_LINE
#property indicator_style6 STYLE_DASHDOTDOT
#property indicator_color6 clrLime
#property indicator_width6 1

Permitimos que o usuário: desative o preenchimento da primeira barra do padrão diário, selecione as opções de notificação sobre o sinal e limite a profundidade de layout do histórico. Aqui, a partir do módulo de sinal, habilitamos todas as configurações do sistema de negociação. Para fazer isso, será preciso calcular antecipadamente as variáveis envolvidas no módulo, mesmo se apenas algumas delas são utilizadas no Expert Advisor e não são necessárias no indicador:

#include 20 .mqh> // módulo de sinal da Estratégia de Negociação ’80-20′

input bool Show_Outer = true ; // primeira barra do padrão: Mostrar todo o intervalo?
input bool Show_Inner = true ; // primeira barra do padrão: Exibir a região interna?
input bool Alert_Popup = true ; // Alerta: Exibir a janela pop-up?
input bool Alert_Email = false ; // Alerta: Enviar e-mail?
input string Alert_Email_Subj = “” ; // Alerta: Tema mensagem e-mail
input bool Alert_Push = true ; // Alerta: Enviar notificação push?

input uint Bars_Limit = 2000 ; // Profundidade do layout do histórico (nas barras do timeframe atual)

ENUM_LOG_LEVEL Log_Level = LOG_LEVEL_NONE; // Modo detalhado
double
buff_1st_Bar_Inner[], buff_1st_Bar_Inner_Zero[], // buffers para traçado dos internos 60% da primeira barra do padrão
buff_1st_Bar_Inner[], buff_1st_Bar_Inner_Zero[], // buffers para traçado dos internos 60% da primeira barra do padrão
buff_Signal[], buff_Signal_Color[], // buffers da linha de sinal
buff_Entry[], buff_Entry_Color[], // buffers da linha da ordem pendente
buff_SL[], buff_TP[], // buffers das linhas de StopLoss e TakeProfit
gd_Extremum_Break = 0 // TS_8020_Extremum_Break nos preços do instrumento
;
int
gi_D1_Average_Period = 1 , // valor correto para TS_8020_D1_Average_Period
gi_Min_Bars = WRONG_VALUE // número mínimo obrigatório de barras para cálculo
;

int OnInit () <
// verificação do parâmetro introduzido TS_8020_D1_Average_Period:
gi_D1_Average_Period = int ( fmin ( 1 , TS_8020_D1_Average_Period));
// transferência de pontos para os preços do instrumento:
gd_Extremum_Break = TS_8020_Extremum_Break * _Point ;
// número mínimo obrigatório de barras para cálculo = número de barras do timeframe atual em dias
gi_Min_Bars = int ( 86400 / PeriodSeconds ());

// finalidade dos buffers do indicador:

// re(c)tângulo de todo o intervalo da primeira barra
SetIndexBuffer ( 0 , buff_1st_Bar_Outer, INDICATOR_DATA );
PlotIndexSetDouble ( 0 , PLOT_EMPTY_VALUE , 0 );
SetIndexBuffer ( 1 , buff_1st_Bar_Outer_Zero, INDICATOR_DATA );

// re(c)tângulo da região interna da primeira barra
SetIndexBuffer ( 2 , buff_1st_Bar_Inner, INDICATOR_DATA );
PlotIndexSetDouble ( 1 , PLOT_EMPTY_VALUE , 0 );
SetIndexBuffer ( 3 , buff_1st_Bar_Inner_Zero, INDICATOR_DATA );

// linha de sinal
SetIndexBuffer ( 4 , buff_Signal, INDICATOR_DATA );
PlotIndexSetDouble ( 2 , PLOT_EMPTY_VALUE , 0 );
SetIndexBuffer ( 5 , buff_Signal_Color, INDICATOR_COLOR_INDEX );

// Linha de colocação da ordem pendente
SetIndexBuffer ( 6 , buff_Entry, INDICATOR_DATA );
PlotIndexSetDouble ( 3 , PLOT_EMPTY_VALUE , 0 );
SetIndexBuffer ( 7 , buff_Entry_Color, INDICATOR_COLOR_INDEX );

// Linha SL
SetIndexBuffer ( 8 , buff_SL, INDICATOR_DATA );
PlotIndexSetDouble ( 4 , PLOT_EMPTY_VALUE , 0 );

// Linha TP
SetIndexBuffer ( 9 , buff_TP, INDICATOR_DATA );
PlotIndexSetDouble ( 5 , PLOT_EMPTY_VALUE , 0 );

IndicatorSetInteger ( INDICATOR_DIGITS , _Digits );
IndicatorSetString ( INDICATOR_SHORTNAME , “EN 80-20” );

Na função padrão OnCalculate, colocamos o código principal do programa, em outras palavras, organizamos o ciclo que irá iterar – do passado para o futuro – as barras do timeframe atual e verificar a presença de sinal nelas usando uma função a partir do módulo de sinal. Declaramos e inicializamos previamente as variáveis necessárias usando os valores iniciais. Tendo em conta o limite – definido pelo usuário – de profundidade de histórico ( Bars_Limit ), estabelecemos a barra mais antiga do ciclo para o primeiro cálculo. Para as chamadas subsequentes, nós vamos recalcular todas as barras do dia atual, uma vez que o padrão de dois barras, de fato, pertence ao gráfico D1, independentemente do timeframe atual.

Além disso, vamos ter que tomar medidas: se, após a inicialização, não termos limpado previamente os buffers de indicador, então, ao alternar gráficos ou mudar de símbolo, no novo gráfico irão permanecer áreas pintadas não atualizadas. É por isso que, após a inicialização do indicador, será necessário vincular a limpeza de buffers à primeira chamada da função OnCalculate. Como a variável padrão prev_calculated contém zero tanto ao chamar pela primeira vez a função quanto “ao alterar a soma de verificação”, será impossível determinar com ajuda dela que se trata da primeira chamada. Para resolver este problema criamos uma estrutura – independente do zeramento da variável prev_calculated – que vai armazenar e processar os dados úteis usados frequentemente nos indicadores:

– sinalizador da primeira execução da função OnCalculate;

– contador de barras contadas não-zerável, ao alterar a soma de verificação;

– sinalizador de alteração da soma de verificação;

– sinalizador do início da nova barra;

– tempo de início da barra atual.

A estrutura que junta todos estes dados será declarada e poderá coletar ou fornecer informações em/de quaisquer funções padrão ou personalizadas. Um nome bastante adequado para a essência desse programa seria “Duende amigo” (Brownie). Podemos colocá-lo no final do código do indicador. Assim, declaramos um objeto-estrutura global chamado go_Brownie :

struct BROWNIE < // Duende amigo: estrutura para armazenar e desenvolver dados globalmente
datetime t_Last_Bar_Time; // tempo da última barra processada
int i_Prew_Calculated; // número de barras contadas
bool b_First_Run; // sinalizador da primeira execução
bool b_History_Updated; // sinalizador da atualização do histórico
bool b_Is_New_Bar; // sinalizador da abertura da nova barra

BROWNIE() < // construtor
// valores por padrão:
t_Last_Bar_Time = 0 ;
i_Prew_Calculated = WRONG_VALUE ;
b_First_Run = b_Is_New_Bar = true ;
b_History_Updated = false ;
>

void f_Reset( bool b_Reset_First_Run = true ) < // zeramento das variáveis
// valores por padrão:
t_Last_Bar_Time = 0 ;
i_Prew_Calculated = WRONG_VALUE ;
if (b_Reset_First_Run) b_First_Run = true ; // zeramento, se houver permissão
b_Is_New_Bar = true ;
b_History_Updated = false ;
>

void f_Update( int i_New_Prew_Calculated = WRONG_VALUE ) < // zeramento das variáveis
// sinalizador da primeira chamada da função padrão OnCalculate
if (b_First_Run && i_Prew_Calculated > 0 ) b_First_Run = false ;

// nova barra?
datetime t_This_Bar_Time = TimeCurrent () – TimeCurrent () % PeriodSeconds ();
b_Is_New_Bar = t_Last_Bar_Time == t_This_Bar_Time;

// atualizar o tempo da barra atual?
if (b_Is_New_Bar) t_Last_Bar_Time = t_This_Bar_Time;

if (i_New_Prew_Calculated > – 1 ) <
// existem algumas alterações no histórico?
b_History_Updated = i_New_Prew_Calculated == 0 && i_Prew_Calculated > WRONG_VALUE ;

// usar prew_calculated, se for a primeira chamada de OnCalculate
if (i_Prew_Calculated == WRONG_VALUE ) i_Prew_Calculated = i_New_Prew_Calculated;
// ou se não houver atualização no histórico
else if (i_New_Prew_Calculated > 0 ) i_Prew_Calculated = i_New_Prew_Calculated;
>
>
>;
BROWNIE go_Brownie;

Prevemos o informamento do ‘Duende amigo’ sobre o evento de anulação da inicialização do indicador:

Melhores corretores de opcoes binarias 2020:
  • BINOMO
    BINOMO

    O melhor corretor!
    Conta demo gratuita e treinamento para iniciantes!
    Inscreva-se bonus!

  • FINMAX
    FINMAX

    Corretor de opcoes binarias confiavel! Boa resposta!

É possível estender a coleta de informações salvadas pelo ‘Duende amigo’, caso funções personalizadas ou classes forem precisadas, por exemplo, nos preços, volumes ou tamanho de spread da barra atual (Open, High, Low, Close, tick_volume, volume, spread). É mais fácil pegar os dados prontos a partir da função OnCalculate e transferi-los através do ‘Duende amigo’ do que utilizar as funções de cópia do Timeseries (CopyOpen, CopyHigh ou CopyRates) — isso vai poupar recursos da CPU e eliminar a necessidade de organizar o tratamento de erros destas funções da linguagem.

Voltemos às principais funções de visualização. A declaração de variáveis e preparação de matrizes usando a estrutura go_Brownie ficará assim:

go_Brownie.f_Update(prev_calculated); // alimentar com informações o Duende amigo

int
i_Period_Bar = 0 , // contador auxiliar
i_Current_TF_Bar = rates_total – int (Bars_Limit) // índice da barra de início de ciclo do timeframe atual
;
static datetime st_Last_D1_Bar = 0 ; // tempo da última barra D1 a partir do par processado (segunda barra do padrão)
static int si_1st_Bar_of_Day = 0 ; // índice da primeira barra do dia atual

if (go_Brownie.b_First_Run) < // se este for a primeira execução
// limpar o buffer ao reinicializar:
ArrayInitialize (buff_1st_Bar_Inner, 0 ); ArrayInitialize (buff_1st_Bar_Inner_Zero, 0 );
ArrayInitialize (buff_1st_Bar_Outer, 0 ); ArrayInitialize (buff_1st_Bar_Outer_Zero, 0 );
ArrayInitialize (buff_Entry, 0 ); ArrayInitialize (buff_Entry_Color, 0 );
ArrayInitialize (buff_Signal, 0 ); ArrayInitialize (buff_Signal_Color, 0 );
ArrayInitialize (buff_TP, 0 );
ArrayInitialize (buff_SL, 0 );
st_Last_D1_Bar = 0 ;
si_1st_Bar_of_Day = 0 ;
> else < // este não é a primeira execução
datetime t_Time = TimeCurrent ();
// profundidade mínimo de recálculo – a partir do dia anterior:
i_Current_TF_Bar = rates_total – Bars ( _Symbol , PERIOD_CURRENT , t_Time – t_Time % 86400 , t_Time) – 1 ;
>
ENUM_ENTRY_SIGNAL e_Signal = ENTRY_UNKNOWN; // sinal
double
d_SL = WRONG_VALUE , // nível SL
d_TP = WRONG_VALUE , // nível TP
d_Entry_Level = WRONG_VALUE , // nível de entrada
d_Range_High = WRONG_VALUE , d_Range_Low = WRONG_VALUE // limites do intervalo da primeira barra do padrão
;
datetime
t_Curr_D1_Bar = 0 , // tempo da barra atual D1 (segunda barra do padrão)
t_D1_Bar_To_Fill = 0 // tempo da barra D1 que é preciso pintar (primeira barra do padrão)
;

// verificamos que o índice da barra inicial de recálculo esteja dentro do limite aceitável:
i_Current_TF_Bar = int ( fmax ( 0 , fmin (i_Current_TF_Bar, rates_total – gi_Min_Bars)));

while (++i_Current_TF_Bar IsStopped ()) < // iteração do timeframe atual
// aqui vai estar o ciclo principal do programa
>

Ao iterar as barras do timeframe atual, vamos verificar a presença do sinal:

Se, por um lado, existir o sinal e, por outro, ele ser a primeira barra do novo dia, será necessário organizar o preenchimento do intervalo da barra diária anterior. O valor da variável t_D1_Bar_To_Fill do tipo datetime será o sinalizador; se ela não tiver definido o valor WRONG_VALUE, nesta barra o preenchimento não será´necessário. Pressupõe-se que a partir desta primeira barra deve começar a linha de sinal, mas para melhor compreensão do layout, vamos estendê-lo até a última barra do dia anterior. Como os cálculos do nível de sinal, cores das linhas e as áreas sombreadas para barras de alta e baixa são diferentes, vamos fazer mais dois blocos semelhantes entre si:

t_Curr_D1_Bar = Time [i_Current_TF_Bar] — Time [i_Current_TF_Bar] % 86400 ; // inicio do dia ao qual pertence esta barra
if (st_Last_D1_Bar // esta é a barra do novo dia
t_D1_Bar_To_Fill = Time [i_Current_TF_Bar — 1 ] — Time [i_Current_TF_Bar — 1 ] % 86400 ;
si_1st_Bar_of_Day = i_Current_TF_Bar;
>
else t_D1_Bar_To_Fill = WRONG_VALUE ; // barra do dia anterior, não é necessário um novo preenchimento
st_Last_D1_Bar = t_Curr_D1_Bar; // lembramos

if (t_D1_Bar_To_Fill != WRONG_VALUE ) < // nova barra D1
// Preenchimento da barra D1 do dia anterior:
i_Period_Bar = i_Current_TF_Bar;
if (d_Entry_Level // barra de baixa D1
if (Show_Outer) while (–i_Period_Bar > 0 ) < // todo o intervalo
if ( Time [i_Period_Bar] break ;
buff_1st_Bar_Outer_Zero[i_Period_Bar] = d_Range_Low;
buff_1st_Bar_Outer[i_Period_Bar] = d_Range_High;
>
if (Show_Inner) < // área interna
i_Period_Bar = i_Current_TF_Bar;
while (–i_Period_Bar > 0 ) <
if ( Time [i_Period_Bar] break ;
buff_1st_Bar_Inner_Zero[i_Period_Bar] = d_Range_Low + 0.2 * (d_Range_High — d_Range_Low);
buff_1st_Bar_Inner[i_Period_Bar] = d_Range_High — 0.2 * (d_Range_High — d_Range_Low);
>
>
// início da linha de sinal — a partir da última barra do dia anterior
buff_Signal[i_Current_TF_Bar] = buff_Signal[i_Current_TF_Bar — 1 ] = d_Range_Low — gd_Extremum_Break;
buff_Signal_Color[i_Current_TF_Bar] = buff_Signal_Color[i_Current_TF_Bar — 1 ] = 0 ;
> else < // barra de alta D1
if (Show_Outer) while (–i_Period_Bar > 0 ) < // todo o intervalo
if ( Time [i_Period_Bar] break ;
buff_1st_Bar_Outer_Zero[i_Period_Bar] = d_Range_High;
buff_1st_Bar_Outer[i_Period_Bar] = d_Range_Low;
>
if (Show_Inner) < // área interna
i_Period_Bar = i_Current_TF_Bar;
while (–i_Period_Bar > 0 ) <
if ( Time [i_Period_Bar] break ;
buff_1st_Bar_Inner_Zero[i_Period_Bar] = d_Range_High — 0.2 * (d_Range_High — d_Range_Low);
buff_1st_Bar_Inner[i_Period_Bar] = d_Range_Low + 0.2 * (d_Range_High — d_Range_Low);
>
>
// início da linha de sinal — a partir da última barra do dia anterior
buff_Signal[i_Current_TF_Bar] = buff_Signal[i_Current_TF_Bar — 1 ] = d_Range_High + gd_Extremum_Break;
buff_Signal_Color[i_Current_TF_Bar] = buff_Signal_Color[i_Current_TF_Bar — 1 ] = 1 ;
>
> else continue ;

Aqui (dentro do ciclo de iteração de barras do timeframe atual) vamos organizar o desenho do resto de linhas de layout. Deixe-me lembrá-lo, a linha de sinal deve terminar na barra, onde ela foi tocada pelo preço. Nesta barra deve começar a linha da ordem pendente. Ela deve terminar na barra de contato com o preço, e nesta mesma barra devem começar as linhas Take Profit e Stop Loss. Na barra de contato de uma delas com o preço, o layout deste padrão será finalizado:

// Linha de sinal até à barra pela qual foi atravessada:
i_Period_Bar = i_Current_TF_Bar;
if (d_Entry_Level // barra de baixa D1
while (++i_Period_Bar if ( Time [i_Period_Bar] > t_Curr_D1_Bar + 86399 ) break ;
buff_Signal[i_Period_Bar] = d_Range_Low — gd_Extremum_Break;
buff_Signal_Color[i_Period_Bar] = 0 ;
if (d_Range_Low — gd_Extremum_Break >= Low [i_Period_Bar]) break ;
>
> else < // barra de alta D1
while (++i_Period_Bar if ( Time [i_Period_Bar] > t_Curr_D1_Bar + 86399 ) break ;
buff_Signal[i_Period_Bar] = d_Range_High + gd_Extremum_Break;
buff_Signal_Color[i_Period_Bar] = 1 ;
if (d_Range_High + gd_Extremum_Break High [i_Period_Bar]) break ;
>
>

// Linha de entrada até à barra pela qual foi atravessada:
if (d_Entry_Level // barra de baixa D1
while (++i_Period_Bar if ( Time [i_Period_Bar] > t_Curr_D1_Bar + 86399 ) break ;
buff_Entry[i_Period_Bar] = d_Range_Low;
buff_Entry_Color[i_Period_Bar] = 0 ;
if (d_Range_Low High [i_Period_Bar]) <
if (buff_Entry[i_Period_Bar — 1 ] == 0 .) <
// início e final na mesma barra, estendemos 1 barra no passado
buff_Entry[i_Period_Bar — 1 ] = d_Range_Low;
buff_Entry_Color[i_Period_Bar — 1 ] = 0 ;
>
break ;
>
>
> else < // barra de baixa D1
while (++i_Period_Bar if ( Time [i_Period_Bar] > t_Curr_D1_Bar + 86399 ) break ;
buff_Entry[i_Period_Bar] = d_Range_High;
buff_Entry_Color[i_Period_Bar] = 1 ;
if (d_Range_High >= Low [i_Period_Bar]) <
if (buff_Entry[i_Period_Bar — 1 ] == 0 .) <
// início e final na mesma barra, estendemos 1 barra no passado
buff_Entry[i_Period_Bar — 1 ] = d_Range_High;
buff_Entry_Color[i_Period_Bar — 1 ] = 1 ;
>
break ;
>
>
>

// Linhas TP e SL até à barra pela qual foi atravessada uma delas:
if (d_Entry_Level // barra de baixa D1
// SL igual ao mínimo desde o início do dia:
d_SL = Low [ ArrayMinimum ( Low , si_1st_Bar_of_Day, i_Period_Bar — si_1st_Bar_of_Day)];

while (++i_Period_Bar if ( Time [i_Period_Bar] > t_Curr_D1_Bar + 86399 ) break ;
buff_SL[i_Period_Bar] = d_SL;
buff_TP[i_Period_Bar] = d_TP;
if (d_TP High [i_Period_Bar] || d_SL >= Low [i_Period_Bar]) <
if (buff_SL[i_Period_Bar — 1 ] == 0 .) <
// início e final na mesma barra, estendemos 1 barra no passado
buff_SL[i_Period_Bar — 1 ] = d_SL;
buff_TP[i_Period_Bar — 1 ] = d_TP;
>
break ;
>
>
> else < // barra de alta D1
// SL igual ao máximo desde o início do dia:
d_SL = High [ ArrayMaximum ( High , si_1st_Bar_of_Day, i_Period_Bar — si_1st_Bar_of_Day)];

while (++i_Period_Bar if ( Time [i_Period_Bar] > t_Curr_D1_Bar + 86399 ) break ;
buff_SL[i_Period_Bar] = d_SL;
buff_TP[i_Period_Bar] = d_TP;
if (d_SL High [i_Period_Bar] || d_TP >= Low [i_Period_Bar]) <
if (buff_SL[i_Period_Bar — 1 ] == 0 .) <
// início e final na mesma barra, estendemos 1 barra no passado
buff_SL[i_Period_Bar — 1 ] = d_SL;
buff_TP[i_Period_Bar — 1 ] = d_TP;
>
break ;
>
>
>

Fora do ciclo, colocamos o código de chamada da função de alerta sobre o sinal f_Do_Alert . A função pode trabalhar com arquivos de áudio, quer dizer, para sinais de compra e venda, é possível adicionar, nas configurações personalizadas, a ativação desta opção e a escolha de arquivos separados. Listagem da função:

void f_Do_Alert( // Função de distribuição de sinais e alertas
string s_Message, // texto para o alerta
bool b_Alert = true , // exibir janela pop-up?
bool b_Sound = false , // reproduzir o arquivo de som?
bool b_Email = false , // enviar e-mail?
bool b_Notification = false , // enviar notificação push?
string s_Email_Subject = “” , // tema para a mensagem do e-mail
string s_Sound = “alert.wav” // arquivo de som
) <
static string ss_Prev_Message = “houve silêncio” ; // texto do alerta anterior
static datetime st_Prev_Time; // tempo da barra do alerta anterior
datetime t_This_Bar_Time = TimeCurrent () — PeriodSeconds () % PeriodSeconds (); // tempo da barra anterior

if (ss_Prev_Message != s_Message || st_Prev_Time != t_This_Bar_Time) <
// alerta de outra e/ou da primeira nesta barra

// lembre-se:
ss_Prev_Message = s_Message;
st_Prev_Time = t_This_Bar_Time;

// gerar cadeia de caracteres da mensagem:
s_Message = StringFormat ( “%s | %s | %s | %s” ,
TimeToString ( TimeLocal (), TIME_SECONDS ), // tempo local
_Symbol , // símbolo
StringSubstr ( EnumToString ( ENUM_TIMEFRAMES ( _Period )), 7 ), // timeframe
s_Message // mensagem
);

// enviar sinal de alerta:
if (b_Alert) Alert (s_Message);
if (b_Email) SendMail (s_Email_Subject + ” ” + _Symbol , s_Message);
if (b_Notification) SendNotification (s_Message);
if (b_Sound) PlaySound (s_Sound);
>
>

Este são o código de autenticação da chamada desta função e a formação do texto de mensagem para ela, localizados no corpo do programa, antes de o manipulador de eventos OnCalculate finalizar:

// alerta
i_Period_Bar = rates_total — 1 ; // barra atual

if (Alert_Popup + Alert_Email + Alert_Push == 0 ) return (rates_total); // tudo desativado
if (buff_Signal[i_Period_Bar] == 0 ) return (rates_total); // pronto ou não há nada que apanhar
if (
buff_Signal[i_Period_Bar] > High [i_Period_Bar]
||
buff_Signal[i_Period_Bar] Low [i_Period_Bar]
) return (rates_total); // não existe contato da linha de sinal

// texto da mensagem:
string s_Message = StringFormat ( “TS 80-20: precisa %s @ %s, TP: %s, SL: %s” ,
buff_Signal_Color[i_Period_Bar] > 0 ? “BuyStop” : “SellStop” ,
DoubleToString (d_Entry_Level, _Digits ),
DoubleToString (d_TP, _Digits ),
DoubleToString (d_SL, _Digits )
);
// alerta:
f_Do_Alert(s_Message, Alert_Popup, false , Alert_Email, Alert_Push, Alert_Email_Subj);

return (rates_total); // finalização do trabalho de OnCalculate

Todo o código-fonte do indicador está no arquivo anexado com o nome TS_80-20.mq5. Quanto ao seu uso, podemos dizer que seu layout tem uma melhor apresentação nos gráficos de minutos.

É importante levar em conta, ao usar este layout, que o indicador utiliza os dados das barras, em vez de uma sequência de ticks dentro das barras. Ou seja, se, na mesma barra, o preço atravessar várias linhas do layout (por exemplo, as linas Take Profit e Stop Loss), não sempre será possível determinar qual delas foi atravessada primeiro. Outro ponto desfavorável está relacionado com o fato de as barras de início e final de linha não coincidirem, caso contrário as linhas a partir buffer de tipo DRAW_LINE e DRAW_COLOR_LINE simplesmente não seriam visíveis para o usuário. Embora estas características tornam o layout não totalmente preciso, ele continua sendo ainda muito convincente.

Expert Advisor para teste da Estratégia de Negociação ’80-20′

Expert Advisor para teste de estratégias do livro Street Smarts: High Probability Short-Term Trading Strategies descrito em detalhe no primeiro artigo. Vamos fazer nele duas alterações significativas. O primeiro tem a ver com o fato de que o módulo de sinal será usado também no indicador e, portanto, ele fará nele um cálculo racional de níveis de negociação. Nós já temos feito isto acima: a função fe_Get_Entry_Signal, , além do estado do sinal, retorna os níveis de colocação das ordens Stop Loss e Take Profit. Por isso, removemos, a partir da versão anterior do Expert Advisor, a parte relevante do código, adicionamos as variáveis para recepção do código, a partir da função, e editamos a chamada desta função. Eu não vou fazer a listagem dos blocos novos e velhos do código, você pode vê-los no arquivo anexado (linhas de 128 a 141).

Como a Estratégia de Negociação tem de lidar com a tendência de curto prazo, ao contrário dos dois anteriores, justifica-se uma segunda adição significativa ao código base do Expert Advisor. Ela assume que o recuo vai acontecer uma vez durante o dia e é improvável que seja repetido. Isso significa que o robô deve fazer apenas uma entrada e ignorar o sinal existente todo o tempo restante até o dia seguinte. A maneira mais simples de implementar isso consiste em usar um sinalizador especial, por exemplo, uma variável estática o globar do tipo bool na memória do programa. Mas se o trabalho do Expert Advisor for interrompido por qualquer motivo, em seguida, perde-se o valor do sinalizador. Portanto, após reiniciado o Expert Advisor, dever haver alguma chance de verificar se o sinal de hoje foi modificado anteriormente. Para este efeito, é possível analisar o histórico de negociação de hoje, armazenar a data da última entrada nas variáveis globais do terminal. Nós vamos usar a segunda opção, pois é muito mais fácil de implementar.

Nós damos ao usuário a capacidade de controlar a opção ‘uma entrada por dia’, bem como definir o identificador de cada versão do robô em execução, uma vez que ele é necessário para a utilização de variáveis globais de nível de terminal:

Para implementação da opção ‘uma entrada por dia’, adicionamos a declaração das variáveis necessárias ao bloco de determinação de variáveis globais do programa. Na função OnInit, vamos inicializá-las:

string
gs_Prefix // identificador de nomes (super)de variáveis globais
;
bool
gb_Position_Today = false ,
gb_Pending_Today = false
;

// Criação do prefixo de nomes (super)de variáveis globais:
gs_Prefix = StringFormat ( “SSB %s %u %s” , _Symbol , Magic_Number, MQLInfoInteger ( MQL_TESTER ) ? “t ” : “” );

// Hoje o robô trabalhou com ordens pendentes ou de mercado?
gb_Position_Today = int ( GlobalVariableGet (gs_Prefix + “Last_Position_Date” )) == TimeCurrent () — TimeCurrent () % 86400 ;
gb_Pending_Today = int ( GlobalVariableGet (gs_Prefix + “Last_Pending_Date” )) == TimeCurrent () — TimeCurrent () % 86400 ;

Aqui o robô considera os valores das variáveis globais e compara o tempo registrado nelas com o tempo de início do dia, desse modo determina se o sinal de hoje já foi trabalhado. Organizamos o registro de tempo nessas variáveis em dois lugares; no código de colocação de ordem pendente adicionamos o bloco apropriado:

Colocamos o segundo bloque depois do código que define a posição recentemente aberta:

if ( PositionSelect ( _Symbol )) < // existe posição aberta
if ( PositionGetDouble ( POSITION_SL ) == 0 .) < // nova posição

if (!gb_Position_Today) < // esta é a primeira posição de hoje
// atualizar o sinalizador:
GlobalVariableSet ( // nas variáveis globais do terminal
gs_Prefix + “Last_Position_Date” ,
TimeCurrent () — TimeCurrent () % 86400
);
gb_Position_Today = true ; // nas variáveis globais do programa
>
.

Não exitem outras alterações significativas no código da versão anterior do Expert Advisor. No anexo ao artigo, você pode encontrar o código fonte da nova versão em sua forma final.

Teste de estratégia com base no histórico de dados

Os autores do sistema de negociação como prova de sua viabilidade citam padrões em gráficos de final do século passado, no entanto nós precisamos verificar sua relevância no mercado de hoje. Para os testes, eu tomei o par de moedas mais popular no mercado Forex EURUSD, bem como o mais volátil USDJPY e o par de metais XAUUSD. Eu aumentei 10 vezes os recuos especificados por Raschke e Connors, porque naquela época eram usadas cotações de quatro dígitos, e ou testei o Expert Advisor nas de cinco dígitos. Como não havia nenhuma orientação feita pelos autores quanto aos parâmetros de trail, eu escolhi os que pareciam mais adequados para o timeframe diário e volatilidade do instrumento. O mesmo se aplica ao algoritmo de cálculo de Take Profit adicionado às suas regras originais, quer dizer, o coeficiente para seu cálculo foi selecionado arbitrariamente, sem uma otimização profunda.

Gráfico de mudanças do balanço durante o teste no histórico de cinco anos EURUSD com regras originais (sem Take Profit):

Com as mesmas configurações adicionamos o Take Profit:

Gráfico de mudanças do balanço durante o teste no histórico de cinco anos USDJPY:

O mesmo instrumento e timeframe com as mesmas configurações, mas com adição de Take Profit:

As regras originais em cotações diárias de ouro nos últimos 4 anos mostra o seguinte gráfico de mudança de balanço:

Informações completas sobre cada teste das configurações do robô podem ser encontradas no arquivo anexado ao artigo, nele encontrará relatórios completos de cada teste.

Conclusão

As regras programadas no módulo de sinal correspondem ao sistema de negociação 80-20′ descrito a partir do livro de Linda Raschke e Laurence Connors Street Smarts: High Probability Short-Term Trading Strategies. Há uma pequena extensão das regras de direitos autorais. Estas ferramentas (robô e indicador) devem ajudar a fazer suas próprias conclusões sobre a relevância da Estratégia de Negociação no mercado de hoje. Na minha humilde opinião, ela precisa de uma atualização séria. Neste artigo eu tentei falar em detalhe sobre a criação do código do módulo de sinal e seu robô e indicador, e pois espero que isto ajude aqueles que decidam empreender tal modernização. Além da atualização das regras, você pode tentar escolher os instrumentos que melhor encaixem no sistema de negociação, as melhores configurações do sinal e o melhor acompanhamento de posições.

Opções binárias Brasil Bragança

Friday, 30 March 2020

Estratégia de negociação forex com zero duplo

Opções binárias.
Estratégia de negociação forex de zero dobro.
Estratégia de negociação Forex dobro zero – fxtsp.
Fading The Double Zeros. de volta à página de conteúdo. Uma das áreas de negociação mais amplamente ignoradas e lucrativas é a estrutura do mercado. Desenvolvendo uma compreensão aguda.
Estratégia de negociação EMA Forex dobro – Dolphintrader.
Zero Trading System O duplo e triplo zero são muito importantes, dukascopy / swiss / english / forex / jforex / forum / viewtopic. php? F = 6 & amp; t = 42457.
Estratégia de negociação Forex • Estratégia de ação de preços.
Double CCI e MACD é um sistema de negociação forex baseado no indicador CCI, MACD e Zig zag. Estratégias Forex grátis, quando MACD está abaixo de zero.
Estratégias de negociação Forex a longo prazo – Almirante Mercados.
23/04/2020 & # 0183; & # 32; Vídeo embutido & # 0183; & # 32; Fibonacci Retracement Tool – Forex Trading Strategy Q & amp; A Poderia ser níveis zero dobro, Forex Trading Strategy Q & amp; A – Duração:
Forex Trading – Alto lucro de probabilidade em 00 – Time de comércio.
Estratégia Martingale-The All or Nothing. Na negociação, quando você dobra a posição anterior de cada vez, Zero para US $ 1 milhão em 18 meses Trading Forex;
estratégia de negociação de zero zero »Online Forex Trading South.
Estratégia Martingale – Como usá-lo. na negociação forex para qualquer momento, o set de volta a zero. Por exemplo, se o seu limite for 10 duplo.
Double Supertrend Trading System – Forexobroker.
O comércio de fundos duplos pode ser rentável no alcance Como negociar uma base dupla em Forex. estratégia de negociação; Mantendo para a conta Forex e se inscrevendo.
Como negociar uma base dupla em Forex – Forex Trading News.
Estratégia de negociação Forex de preço duplo a zero. A estratégia forex dupla zero usa níveis de preços psicológicos importantes para entrar em negociações. A estratégia é extremamente importante.
Double zero levels Arquivos – Jarratt Davis.
O que você está procurando? Forex double zero strategy, What You’re Looking? Cardápio. estratégia forex zero dobro; Forex estratégia de zero duplo para você fx moeda.
Trading Double Zero – seputarforex.
Trocar com um saldo inicial de US $ 100.000 e zero usando nosso sentimento de simulador de negociação Forex gratuito e duplas e fundos duplos representam a.
Zero Trading System (vender alto e comprar baixo) – Artigo.
A Estratégia de negociação de Forex da Nick usa Forex Price Action e limpa gráficos para fazer pips consistentemente As estratégias baseadas em indicadores são bloqueadas nas condições do mercado.
Estratégias Forex – Obtenha Estratégia ou Sistema de Negociação FX grátis.
Estratégia de negociação Forex # 54 (Double The Existem muitas estratégias de negociação forex vendendo para mais do que This Forex Trading Strategy usa EMA8 e EMA34 ao longo.
Estratégia de negociação duplo zero »Online Forex Trading South.
0 Double Zero Price Action Forex Trading Strategy. A estratégia forex dupla zero usa níveis de preços psicológicos importantes para entrar em negociações. A estratégia é extremamente importante.
Saiba como dobrar sua conta de negociação Forex em um.
Saiba como dobrar manualmente sua conta Forex em um comércio Forex durante este curso. Este curso é destinado a comerciantes de Forex com alguma experiência de negociação Forex para.
Gerenciamento de dinheiro – Investopedia.
Estratégia de negociação Forex. Como encontrar os melhores pontos de entrada e saída? Ei pessoal, voltei com outro vídeo para ajudá-lo a responder perguntas sobre o seu Forex.
Double CCI e MACD Forex Trading System – Forex.
Início »Blog» níveis zero dobro. Blog. Forex News Trading Strategy Fo publicado em 29 de maio de 2020; Forex News Trading Strategy Fo postado em 15 de maio de 2020;
Canal Duplo EMA com RSI e estocástico – Forex.
19/02/2020 & # 0183; & # 32; Vídeo embutido & # 0183; & # 32; Estratégia de negociação dupla CCI Traçar 10 e 100 Double CCI 2. Quando 10 está cruzando linha zero na estratégia de negociação forex de alta probabilidade .
Estratégia de negociação Forex # 54 (Double The Account Per Month.
Indicador de duplo-zero – indicador para MetaTrader 4 Indicador de duplo-zero – indicador para o MetaTrader 4. Estratégia de negociação Forex Swatch estocástica e RSI;
Indicador duplo-zero – indicador para MetaTrader 4 | Forex.
Zero to Hero Comece seu caminho para melhorar hoje. Estratégias de negociação Forex a longo prazo. você deve verificar suas expectativas,
Martingale – A Estratégia Tudo ou Nada | Winners Edge Trading.
Fading The Double Zero Trading System Free Forex Strategies, indicadores Forex, recursos forex e previsão gratuita forex. Recursos Estratégicos Forex. Pagina inicial;
Forex estratégia de zero dobro – guruforexsignalb. kleebnex.
Estratégias simples de negociação Forex Estratégia de negociação de Forex do Double EMA. A estratégia forex Double EMA (média móvel exponencial) é composta por 3 indicadores técnicos.
Estratégia de negociação CCI dupla – YouTube.
13/07/2020 & # 0183; & # 32; A estratégia dobro zero é, hoje é com você empregar outra estratégia manual para negociação Forex, Forex Trading: Estratégias de Double Tops.
Ação de preço Forex Trading Strategies – fxtsp.
Double EMA Channel com RSI e Stochastic é uma estratégia forex baseada no canal duplo e RSI, 22 # Fading The Double Zero Trading System – Forex Strategies.
Forex Trading: Estratégias de Double Tops e Double.
Negociar com um saldo inicial de $ 100,000 e zero. Essa é talvez a estratégia mais comum de gerenciamento de dinheiro, e a negociação forex pode ser lucrativa.
Fading The Double Zero Trading System – Estratégias de Forex.
Corretores de spread zero; Micro ou, pelo menos, tente minimizar a extensão do seu critério na negociação. Estratégias. Neste indicador de Forex, as estratégias de Forex são.
&cópia de; Dupla zero estratégia de negociação forex Opção Binária | Estratégia de negociação forex de zero duplo Melhores opções binárias.

FOREX Estratégias Estratégia Forex, estratégia simples, Forex Trading Strategy, Forex Scalping.
Estratégia Forex & # 171; Dual zero & # 187;
Hoje, publicamos uma estratégia bastante simples, mas eficaz, forex & # 171; The double zero & # 187; , em que apenas um indicador e o nível de preço redondo com o final em dois zeros (para o corretor de quatro dígitos).
Para o comércio, recomendo escolher um dos corretores: FxPro ou Alpari (acrescenta depósito de 50%)
Apesar da simplicidade desta estratégia, o seu rendimento mensal médio na região de 120 pontos. Há também meses muito mais rentáveis, por exemplo, em setembro de 2020 (cerca de 250 itens), mas também um lucro mensal de 40 pips no mesmo caso. Nos últimos seis meses, em 2020, foram encontrados meses negativos. Paradas desencadeadas não frequentemente, e tendo em conta a proporção de lucro para uma perda de 2 para 1, a parada resultante por si só e não sentida.
Par de moedas e # 8212; qualquer estratégia de multi-moeda, mas os resultados apresentados acima se referem apenas ao par de moedas eur / usd.
1) Média móvel exponencial com um período de 20 & # 8212; EMA (20).
Termos e condições para compras de estratégia forex & # 187; The double zero & # 187; :
1) O preço está abaixo da média móvel com o período 20 em uma distância decente.
2) A média muito móvel claramente inclinada para baixo.
3) A redução no preço atinge um nível com o final da rodada sob a forma de dois zeros (1.1200; 1.1300; 1.1400, etc.) & # 8230; A próxima vela deve ter certeza de fechar abaixo desse nível.
4) Uma vez que o preço acima deste nível será fechado e a próxima vela se abrirá no fechamento do negócio em uma compra. O preço ainda deve estar abaixo do EMA20.
5) Stop-loss é ajustado a uma distância de 20 pontos.
6) Depois de passar os 20 pontos no negócio de zona positiva, traduz-se no ponto de equilíbrio.
7) Take-profit set a uma distância de 40 pontos.
Condições para venda em & # 171; Dual zero & # 187; estratégia :
1) O preço está acima do EMA20 & # 8212; média móvel com o período 20 em uma distância decente.
2) A média muito móvel & # 8212; uma linha vermelha na figura acima claramente inclinada para cima.
3) O preço ao mover-se atinge o nível com o final da rodada sob a forma de dois zeros (1.1200; 1.1300; 1.1400, etc.) & # 8230; E a próxima vela deve ter certeza de fechar acima desse nível com 2 zeros.
4) Assim que o preço cair abaixo deste nível, e fechar outro plug M15 no fechamento da transação é aberto para venda. O preço ainda deve estar acima do EMA20.
5) Uma ordem de stop-loss de segurança é definida a uma distância de 20 pontos do ponto de entrada para o mercado.
6) Depois de passar os 20 pontos no trato da zona positiva é traduzido para o nível de abertura da ordem & # 8212; o preto.
7) A ordem Take Profit é definida a uma distância de 40 pontos do ponto de entrada para o mercado.
Baixe o modelo MT4 e # 8212; 00 (no arquivo)
A média móvel não se liga como está, e assim, em qualquer terminal e será instalada com os parâmetros necessários após a instalação do modelo.
Se você gostou desta estratégia Forex – Você pode se inscrever para receber novos materiais no site Strategy4forex por RSS ou por e-mail:
Publique um comentário.
Outras 20 Categorias de Estratégias de Forex “estratégia de Forex SIMPLES”
Mostre uma lista de todas as estratégias de Forex nesta categoria com uma breve descrição: estratégia de Forex SIMPLES.
Últimas 5 estratégias de Forex.
Estratégia Forex «Tendência Schaff»
Estratégia de Forex A “tendência de Schaff” não é praticamente revolucionária e nova, mas é bastante lucrativa e fácil por um tempo considerável, e é baseada no mesmo ciclo de tendências de exibição schaff, que é complementado por um indicador estocástico. Para o comércio, recomendo escolher um dos corretores: FxPro ou Alpari (acrescenta depósito de 101%) [& hellip;]
Estratégia Forex & # 171; Moho & # 187;
Estratégia Forex & # 171; Moho & # 187; é baseado em um conjunto de indicadores padrão: o indicador MACD define a tendência subjacente (direção do comércio), Momentum & # 8212; mostra o clima atual do mercado e o indicador Fractals fornece um ponto de entrada, então a estratégia oferece um bom lucro dentro de uma tendência, no entanto, isso não significa que é o [& hellip;]
Estratégia Forex & # 171; Dual zero & # 187;
Hoje, publicamos uma estratégia bastante simples e efetiva, forex & # 171; The double zero & # 187 ;, em que apenas um indicador eo nível de preço redondo com o final em dois zeros (para o corretor de quatro dígitos). Para o comércio, eu recomendo escolher um dos corretores: FxPro ou Alpari (acrescenta depósito de 50%) Apesar da simplicidade desta estratégia, [& hellip;]
Estratégia Forex & # 171; Fox & # 187;
Estratégia forex & # 171; Fox & # 187; é um risco bastante excessivo e esse fato deve ser considerado quando você o transforma em seu conjunto comercial (portfólio) e # 8212; a proporção de perda de lucros / finais nas transações às vezes não está no favor do comerciante, mas a alta precisão dos sinais na entrada do mercado e filtros adicionais [& hellip;]
Estratégia Forex & # 171; Аmbush & # 187;
Estratégia Forex & # 171; Аmbush & # 187; À primeira vista, pode parecer um pouco confuso e complicado, e realmente para testar a estratégia exigirá muita paciência e rigor, mas no comércio real todo o processo é bastante simples e lógico: o sinal principal é esperado no intervalo H4 onde determinamos a direção do comércio. Próximo [& hellip;]
Baixar o indicador MT4 – Calculadora de gerenciamento de dinheiro:

FOREX Estratégias Estratégia Forex, estratégia simples, Forex Trading Strategy, Forex Scalping.
Estratégia Forex & # 171; Dual zero & # 187;
Hoje, publicamos uma estratégia bastante simples, mas eficaz, forex & # 171; The double zero & # 187; , em que apenas um indicador e o nível de preço redondo com o final em dois zeros (para o corretor de quatro dígitos).
Para o comércio, recomendo escolher um dos corretores: FxPro ou Alpari (acrescenta depósito de 50%)
Apesar da simplicidade desta estratégia, o seu rendimento mensal médio na região de 120 pontos. Há também meses muito mais rentáveis, por exemplo, em setembro de 2020 (cerca de 250 itens), mas também um lucro mensal de 40 pips no mesmo caso. Nos últimos seis meses, em 2020, foram encontrados meses negativos. Paradas desencadeadas não frequentemente, e tendo em conta a proporção de lucro para uma perda de 2 para 1, a parada resultante por si só e não sentida.
Par de moedas e # 8212; qualquer estratégia de multi-moeda, mas os resultados apresentados acima se referem apenas ao par de moedas eur / usd.
1) Média móvel exponencial com um período de 20 & # 8212; EMA (20).
Termos e condições para compras de estratégia forex & # 187; The double zero & # 187; :
1) O preço está abaixo da média móvel com o período 20 em uma distância decente.
2) A média muito móvel claramente inclinada para baixo.
3) A redução no preço atinge um nível com o final da rodada sob a forma de dois zeros (1.1200; 1.1300; 1.1400, etc.) & # 8230; A próxima vela deve ter certeza de fechar abaixo desse nível.
4) Uma vez que o preço acima deste nível será fechado e a próxima vela se abrirá no fechamento do negócio em uma compra. O preço ainda deve estar abaixo do EMA20.
5) Stop-loss é ajustado a uma distância de 20 pontos.
6) Depois de passar os 20 pontos no negócio de zona positiva, traduz-se no ponto de equilíbrio.
7) Take-profit set a uma distância de 40 pontos.
Condições para venda em & # 171; Dual zero & # 187; estratégia :
1) O preço está acima do EMA20 & # 8212; média móvel com o período 20 em uma distância decente.
2) A média muito móvel & # 8212; uma linha vermelha na figura acima claramente inclinada para cima.
3) O preço ao mover-se atinge o nível com o final da rodada sob a forma de dois zeros (1.1200; 1.1300; 1.1400, etc.) & # 8230; E a próxima vela deve ter certeza de fechar acima desse nível com 2 zeros.
4) Assim que o preço cair abaixo deste nível, e fechar outro plug M15 no fechamento da transação é aberto para venda. O preço ainda deve estar acima do EMA20.
5) Uma ordem de stop-loss de segurança é definida a uma distância de 20 pontos do ponto de entrada para o mercado.
6) Depois de passar os 20 pontos no trato da zona positiva é traduzido para o nível de abertura da ordem & # 8212; o preto.
7) A ordem Take Profit é definida a uma distância de 40 pontos do ponto de entrada para o mercado.
Baixe o modelo MT4 e # 8212; 00 (no arquivo)
A média móvel não se liga como está, e assim, em qualquer terminal e será instalada com os parâmetros necessários após a instalação do modelo.
Se você gostou desta estratégia Forex – Você pode se inscrever para receber novos materiais no site Strategy4forex por RSS ou por e-mail:
Publique um comentário.
Outras 20 Categorias de Estratégias de Forex “estratégia de Forex SIMPLES”
Mostre uma lista de todas as estratégias de Forex nesta categoria com uma breve descrição: estratégia de Forex SIMPLES.
Últimas 5 estratégias de Forex.
Estratégia Forex «Tendência Schaff»
Estratégia de Forex A “tendência de Schaff” não é praticamente revolucionária e nova, mas é bastante lucrativa e fácil por um tempo considerável, e é baseada no mesmo ciclo de tendências de exibição schaff, que é complementado por um indicador estocástico. Para o comércio, recomendo escolher um dos corretores: FxPro ou Alpari (acrescenta depósito de 101%) [& hellip;]
Estratégia Forex & # 171; Moho & # 187;
Estratégia Forex & # 171; Moho & # 187; é baseado em um conjunto de indicadores padrão: o indicador MACD define a tendência subjacente (direção do comércio), Momentum & # 8212; mostra o clima atual do mercado e o indicador Fractals fornece um ponto de entrada, então a estratégia oferece um bom lucro dentro de uma tendência, no entanto, isso não significa que é o [& hellip;]
Estratégia Forex & # 171; Dual zero & # 187;
Hoje, publicamos uma estratégia bastante simples e efetiva, forex & # 171; The double zero & # 187 ;, em que apenas um indicador eo nível de preço redondo com o final em dois zeros (para o corretor de quatro dígitos). Para o comércio, eu recomendo escolher um dos corretores: FxPro ou Alpari (acrescenta depósito de 50%) Apesar da simplicidade desta estratégia, [& hellip;]
Estratégia Forex & # 171; Fox & # 187;
Estratégia forex & # 171; Fox & # 187; é um risco bastante excessivo e esse fato deve ser considerado quando você o transforma em seu conjunto comercial (portfólio) e # 8212; a proporção de perda de lucros / finais nas transações às vezes não está no favor do comerciante, mas a alta precisão dos sinais na entrada do mercado e filtros adicionais [& hellip;]
Estratégia Forex & # 171; Аmbush & # 187;
Estratégia Forex & # 171; Аmbush & # 187; À primeira vista, pode parecer um pouco confuso e complicado, e realmente para testar a estratégia exigirá muita paciência e rigor, mas no comércio real todo o processo é bastante simples e lógico: o sinal principal é esperado no intervalo H4 onde determinamos a direção do comércio. Próximo [& hellip;]
Baixar o indicador MT4 – Calculadora de gerenciamento de dinheiro:

Forex Trading: Estratégias de Double Tops e Double Bottoms.
Depois de analisar o que é a estratégia zero dobro, hoje é para você empregar outra estratégia manual para o comércio de Forex, que, particularmente, tenho uma confiança notável, porque a porcentagem de sucesso com esta estratégia é excepcionalmente alta.
Esta é a estratégia de dupla camada ou de duplo fundo, dependendo da tendência anterior com a qual o preço está se desenvolvendo. O nome da estratégia é tão descritivo que nenhuma outra explicação é necessária: esta estratégia é dada quando o preço marca dois altos ou dois mínimos consecutivos no mesmo nível.
O fundo psicológico de tectos duplos e pisos duplos.
O bom funcionamento desta estratégia deve-se provavelmente ao contexto psicológico que se esconde por trás da sua formação. Embora a estratégia de dupla zera possa ser um pouco mais # 8220; esotérica, & # 8221; a estratégia de dupla cobertura / inferior reflete uma mensagem muito clara de sentimento do mercado: não há força de compra / venda suficiente para que o preço exceda mais uma vez a última marca máxima / mínima, e isso é sempre um sinal do esgotamento de uma tendência.
Como é sabido, o movimento da tendência do preço nunca é feito em linha reta, mas o preço oscila nos chamados impulsos e contratempos. É por isso que, quando um movimento impulsivo estave no mesmo máximo ou mínimo que marcou o impulso anterior, todos os alarmes mostram que essa tendência pode perder força e, portanto, chegar ao fim.
Double Tops ou duplo fundo: movimento corretivo à vista.
Não é estritamente necessário que este novo máximo ou mínimo coincida exatamente com o anterior. Há sempre uma margem de erro para poder considerar que o preço marcou um piso duplo ou um teto duplo, embora você se surpreenda com quantas vezes o preço esgota sua tendência exatamente no limite máximo ou anterior.
Quando isso acontece, o sinal a ser capturado no mercado é uma mudança de tendência, ou pelo menos um movimento corretivo, por isso será necessário estar muito atento ao momento em que o preço confirma essa situação de giro e para poder para aproveitar o movimento corretivo.
Geralmente, considera que o giro é confirmado quando o preço cruza o ponto em que o impulso final que terminou estagnando no novo máximo / mínimo que completou o teto duplo / piso começou. O objetivo mínimo do comércio com esta estratégia é geralmente a mesma distância desse ponto para a área dobro do fundo / teto.
Você pode gostar.
Deixe uma resposta.
Propaganda.
Conecte-se conosco.
Postagens recentes.
Copyright © 2020 Braxton Theme. Tema por MVP Themes, alimentado por WordPress.

Estratégia de negociação forex com zero duplo
Os preços no mercado Forex são formados pela oferta e demanda reais. A estratégia Efficient Lucky 5 em uma grade de pedidos pendentes usa a força dos níveis de preços “00”, com base na lógica e na psicologia do comportamento da multidão.
Naturalmente, os homens querem simplificar tudo, e o mercado financeiro não é exceção. O pensamento de massa dos jogadores sempre arredonda os preços e atinge os pontos-chave. Isso permitiu criar toda uma família de técnicas de comércio psicológico, e a estratégia Lucky 5 é uma delas.
Níveis de atividade de preço elevado (perigo)
00 níveis de preços referem-se a níveis que são múltiplos de 100. Isso significa o preço do tipo *. ** 00 (1.3500, 1.6100, 0.9200) – o preço com dois zeros no final no caso de cotações de 4 dígitos, ou ***. 00 (138.00, 140.00) para as cotações de 2 dígitos dos pares de ienes, ou no caso da cotação de 5 dígitos – (*. ** 000) e de 3 dígitos (***. 000) em pares com o iene.
Tais níveis de preços básicos são os mais atraentes do ponto de vista da psicologia humana. Eles se tornam o campo de batalha para touros e ursos, o reagrupamento ea reatribuição de recursos geralmente ocorrem lá.
O fato de que o mercado quase sempre está lutando contra o nível de preços “00” significa que é a esse preço que os compradores / vendedores estabelecem um saldo temporário. Os níveis de preços redondos também são um obstáculo para movimentos rápidos de notícias e muitas vezes agem como forte suporte / resistência.
Em regra, os preços nos quais as grandes câmbio ou as opções estão configuradas são níveis “00”. No momento do caducidade, o preço opcional do instrumento tende a recuperar o preço do mercado à vista, de modo que a presença de grandes opções provoca saltos de preços especulativos na área dos preços básicos.
Os grandes fabricantes de mercado também consideram essas informações e quando os preços se aproximam do nível “00”, os volumes e o número de transações de seus lados aumentam acentuadamente. Eles criam proteção artificial em níveis de 00, e para permitir que um instrumento financeiro vença esse preço, você não precisa apenas de fundamentos fortes, mas também o desejo psicológico dos participantes do mercado de se mudar para outros níveis de negociação.
Estratégia Lucky 5: características do sistema de negociação.
Esta técnica baseia-se na elaboração dos impulsos de negociação reais sobre os níveis de preços básicos, com filtragem simultânea em prazos maiores, usando uma pequena parada para transferir transações para o ponto de equilíbrio com um lucro mínimo.
Perda freqüente é o principal motivo para o pânico do iniciante. Disparar 2-3 perdas de parada em uma linha é suficiente para um comerciante novato ficar decepcionado em sua estratégia e ir em busca de um novo “Grail”. A estratégia Lucky 5 permite, se não eliminar, pelo menos, minimizar as paradas desencadeando a negociação e lhe dá até 70% de negócios lucrativos.
Condições básicas da estratégia Lucky 5.
O método da operação do sistema de negociação.
Todas as horas estabelecemos ordens pendentes em níveis de preços: * .00, * .10, * .20, * .30, * .40, *. 50, * .60, * .70, * .80, * .90. Obtemos aproximadamente a seguinte imagem:
Nós trocamos apenas se a direção da última vela horária (H1) coincide com a direção da vela diária (D1). Ordens abertas estritamente na direção da vela.
Configuração: take-profit – 5 pontos, stop-loss – 10 pontos. Quando a primeira ordem é desencadeada, transferimos manualmente a ordem para o ponto de equilíbrio após 3,5 – 4 pontos de lucro. Somente o fim da parada funciona mais. Nenhum indicador adicional é comumente usado.
O autor da estratégia recomenda interromper a negociação na obtenção de 10 pontos de lucro, mas isso depende do comerciante.
Recomendações importantes ao negociar sob a estratégia Lucky 5.
Às vezes, o modelo da estratégia Lucky 5 vem com um indicador “basement” adicional ASH (AbsoluteStrengthHistogram), que atua como um filtro adicional. As ordens de negociação devem ser definidas se a cor do gráfico de barras de indicadores for a mesma da vela diária e horária. As leituras ASH ajudam a superar as possíveis reversões temporárias do preço se o pedido foi disparado antes que o negócio fosse transferido para o ponto de equilíbrio.
O gráfico de barras de indicadores permite identificar com precisão a direção predominante.
Como trabalhar a níveis de preços de perigo elevado.
Deve entender-se que os níveis de atividade e acumulação de massa são visíveis para os fabricantes de mercado, muitas vezes o preço um pouco, apenas em 1-2 pontos, não consegue atingir o nível “00” e reverte. Além disso, os requotes nos níveis com muitas ordens geralmente levam a perdas sérias.
Portanto, é recomendado colocar pedidos pendentes no preço 1-2 pontos acima / abaixo do nível “00”.
Os níveis * .20, * .50, *. 80 também são considerados os níveis de atividade elevada (e perigo) para a negociação intradiária. Psicologicamente, uma pessoa percebe o nível * .50 como meio caminho entre as linhas de base adjacentes. Conseqüentemente, os níveis de * .20 e * .80 são percebidos como valores marginais para a fratura em direção a um determinado nível, os chamados “dois passos para um novo alvo”.
Vantagens do sistema de negociação.
Desvantagens da estratégia Lucky 5.
A estratégia Lucky 5 é uma opção interessante de negociar pares pouco voláteis ao longo do dia, confiando exclusivamente na lógica matemática e na psicologia do comportamento do mercado. TS não requer monitoramento constante do mercado e é recomendado tanto para principiantes como para comerciantes experientes com um nível médio de risco. Fonte: Dewinforex.

Melhores corretores de opcoes binarias 2020:
  • BINOMO
    BINOMO

    O melhor corretor!
    Conta demo gratuita e treinamento para iniciantes!
    Inscreva-se bonus!

  • FINMAX
    FINMAX

    Corretor de opcoes binarias confiavel! Boa resposta!

Like this post? Please share to your friends:
Investimento em opções binárias
Deixe uma resposta

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: