Estratégia baseada no indicador "ZigZag" - "Last ZZ50". - página 3

 

Última versão ZZ50.mq5 "1.001".

Decidi primeiro verificar como o indicador se comporta quando uma nova barra aparece ou após uma quebra de conexão: a cada tick recebo a quantidade de dados calculados para nosso indicador, se esta quantidade for diferente da quantidade do tick anterior - uma impressão é exibida:

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   static int  bars_calculated      = 0;
   int         prev_bars_calculated = bars_calculated;
   bars_calculated=BarsCalculated(handle_iCustom);
   if(bars_calculated!=prev_bars_calculated)
      Print(iTime(0),", BarsCalculated: ",bars_calculated,", prev: ",prev_bars_calculated);
//---

  }

E agora dois logs (Separador Especialistas e Separador Diário)

Peritos:

2017.07.17 08:03:32.161 Last ZZ50 (USDJPY,M1)   2017.07.17 08:03:00, BarsCalculated: 373610, prev: 100009
2017.07.17 08:04:05.250 Last ZZ50 (USDJPY,M1)   2017.07.17 08:04:00, BarsCalculated: 373611, prev: 373610
2017.07.17 08:05:45.575 Last ZZ50 (USDJPY,M1)   2017.07.17 08:05:00, BarsCalculated: 100000, prev: 373611
2017.07.17 08:06:08.768 Last ZZ50 (USDJPY,M1)   2017.07.17 08:06:00, BarsCalculated: 100001, prev: 100000
2017.07.17 08:07:06.192 Last ZZ50 (USDJPY,M1)   2017.07.17 08:07:00, BarsCalculated: 100002, prev: 100001
2017.07.17 08:07:29.676 Last ZZ50 (USDJPY,M1)   2017.07.17 08:07:00, BarsCalculated: 100002, prev: 0
2017.07.17 08:08:01.653 Last ZZ50 (USDJPY,M1)   2017.07.17 08:08:00, BarsCalculated: 100003, prev: 100002
2017.07.17 08:09:01.827 Last ZZ50 (USDJPY,M1)   2017.07.17 08:09:00, BarsCalculated: 100004, prev: 0
2017.07.17 08:10:00.283 Last ZZ50 (USDJPY,M1)   2017.07.17 08:10:00, BarsCalculated: 100005, prev: 100004
2017.07.17 08:11:02.493 Last ZZ50 (USDJPY,M1)   2017.07.17 08:11:00, BarsCalculated: 100006, prev: 100005

Diário de bordo:

2017.07.17 08:04:47.227 Network '6121033': scanning network for access points
2017.07.17 08:05:23.297 Network '6121033': connection to MetaQuotes-Demo lost
2017.07.17 08:05:34.000 Network '6121033': authorized on MetaQuotes-Demo through Access Point EU 2 (ping: 48.01 ms)
2017.07.17 08:05:34.001 Network '6121033': previous successful authorization performed from 178.165.123.77 on 2017.07.17 07:50:17
2017.07.17 08:05:34.105 Network '6121033': terminal synchronized with MetaQuotes Software Corp.
2017.07.17 08:05:34.105 Network '6121033': trading has been enabled - hedging mode
2017.07.17 08:07:28.881 Experts expert Last ZZ50 (USDJPY,M1) removed
2017.07.17 08:07:28.915 Experts expert Last ZZ50 (USDJPY,M1) loaded successfully
2017.07.17 08:08:53.494 Experts expert Last ZZ50 (USDJPY,M1) removed
2017.07.17 08:08:53.527 Experts expert Last ZZ50 (USDJPY,M1) loaded successfully


Como você pode ver, o número de barras calculadas muda.

Arquivos anexados:
Last_ZZ50.mq5  10 kb
 

Última versão ZZ50.mq5 "1.002".

Novo: adicionar indicador usado nos cálculos ao gráfico - para visualização (então ele procurará pelos pontos "A", "B" e "C" e desenhará uma linha vertical sobre eles - novamente, para o controle do código visual).


Arquivos anexados:
Last_ZZ50.mq5  11 kb
 

Última versão ZZ50.mq5 "1.003".

Procura os vértices "A", "B" e "C". Traça linhas verticais através destes vértices.

A pesquisa de vértices é realizada pelo método "obter valores de uma barra de cada vez".

Última versão ZZ50 "1.003".

Arquivos anexados:
Last_ZZ50.mq5  23 kb
 
Vladimir Karputov:

Última versão ZZ50.mq5 "1.003".

Procura os vértices "A", "B" e "C". Traça linhas verticais através destes vértices.

A busca de vértices é feita pelo método "obter um valor de uma barra de cada vez".


Já alguma coisa)

 

Vladimir, haverá uma seqüência, ou chamaremos de um dia =)

 
Vitaly Muzichenko:

Vladimir, haverá uma sequela, ou acabaremos com ela lá =)


Amanhã haverá uma descrição - já com ordens pendentes.

 

Encontrei quatro formações de pontos "A", "B" e "C" - preciso descobrir como fazer pedidos pendentes em cada caso (ou melhor, seu tipo: Comprar**** ou Vender***):

Figura 1 e 2 иFigura 3 e 4


 
Vladimir Karputov:

Encontrei quatro formações de pontos "A", "B" e "C" - preciso descobrir como fazer pedidos pendentes em cada caso (ou melhor, seu tipo: Comprar**** ou Vender***):

Colocar e arrastar sempre no meio da viga:

Funciona:

Red SellStop, blue BuyStop

Um pedido é feito em um raio. Se um pedido tiver funcionado nesse raio, não faça mais pedidos nele.

 
Vitaly Muzichenko:

Sempre colocar e arrastar no meio da viga:

Exausto:

Red SellStop, blue BuyStop.

Em um raio, há um pedido e se o pedido funcionou nesse raio, não faça mais pedidos nele


O "trabalhado" nem sempre é o caso, porque a EA pode aparecer no gráfico a qualquer momento. Portanto, peço-lhe mais uma vez que reveja a Fig. 3 e Fig. 4 em termos de: A EA acaba de entrar no gráfico e há uma imagem assim...

 
Vladimir Karputov:

O "trabalhado" nem sempre é o caso, pois a EA pode subir na tabela a qualquer momento. Portanto, por favor, revise mais uma vez Fig. 3 e Fig. 4 em termos de: o Conselheiro Especialista acaba de passar para o gráfico e há uma imagem...

Se o centro do raio estiver quebrado, o raio é considerado trabalhado

Para evitar problemas após o reinício, os pontos do último raio devem ser salvos na variável global do terminal, e trabalhar com eles.