Indicadores: Feed de todas as transações - página 3

 
Konstantin:

Você tem algum resultado de teste para um longo período de negociação a partir das densidades encontradas na pilha? Se tiver, forneça um link para o arquivo de monitoramento ou relatório.

Sim, há alguns robôs negociando com as densidades encontradas na pilha.

Este está negociando há 8 meses, quase desde sua criação https://www.mql5.com/pt/signals/397533.

Ele está sendo executado em 5 instrumentos no modo de cesta, com o sistema de negociação somente em um instrumento, os outros estão desligados https://www.mql5.com/pt/signals/461368.

Em geral, sinto-me atraído por tudo o que está relacionado à pilha, pois é a única ferramenta que permite, pelo menos de alguma forma, monitorar os preços, identificar padrões e automatizá-los para obter lucro.

Agora estou tentando combinar os padrões nas densidades de vidro com os dados negociados por um período de tempo - a partir da faixa de opções de todas as negociações.

Tenho algumas ideias e estou trabalhando nelas aos poucos

Торговые сигналы для MetaTrader 5: SAURON
Торговые сигналы для MetaTrader 5: SAURON
  • www.mql5.com
Символ Сделки Sell Buy Символ Общая прибыль, USD Убыток, USD Прибыль, USD Символ Общая прибыль, pips Убыток, pips Прибыль, pips Точечные графики распределения MFE и MAE Для каждой открытой позиции в течение ее жизни записываются значения максимальной прибыли (MFE) и максимального убытка (MAE). Эти показатели...
[Excluído]  
Konstantin Seredkin:

Eu mesmo fiz isso, decidi escrever algumas cartas e agradecer ao autor pelo link para meu indicador.

Esse indicador me ajudou a entender como coletar dados sobre compras e vendas e seu volume + resumir todos os dados

Primeiro, coloquei tudo em comentários e obtive essa tabela, que mostra o número de compras - vendas, o volume de vendas e compras e resume todos os dados. Os dados são atualizados a cada minuto.

Dê uma olhada no artigo. Talvez ele ajude. No indicador do apêndice.

 
Alexey Kozitsyn:

Dê uma olhada no artigo. Ele pode ajudar. Há um indicador no apêndice.

Dei uma olhada no artigo há cerca de 3 horas, muito informativo, e tenho uma pergunta que fiz em seu tópico.
 
Konstantin Seredkin:

Eu mesmo fiz isso, decidi escrever algumas cartas e agradecer ao autor pelo link para meu indicador.

Esse indicador me ajudou a entender como coletar dados sobre compras e vendas e seu volume + resumir todos os dados

Primeiro, coloquei tudo em comentários e obtive essa tabela, que mostra o número de compras - vendas, o volume de vendas e compras e resume todos os dados. Os dados são atualizados a cada minuto.

Em seguida, fui além e coloquei tudo no gráfico e agora sei qual volume foi negociado em uma barra de minutos, sei qual volume foi negociado nela em lotes para compra - venda + o número de lances para compra e venda, então os dados são resumidos e, se houve mais compras do que vendas e se o volume negociado foi maior do que o definido nas configurações, então uma seta é desenhada em compras e abaixo o volume total nessa barra é exibido; se houve mais vendas, então o oposto é verdadeiro.

Acabou sendo um bom analisador, que mostra como, em alguns níveis, as pessoas compram ou vendem, rastreando os volumes negociados acima de 2.000 lotes por minuto. Com base nisso, é possível analisar onde as pessoas estão tentando negociar.... Se os volumes negociados forem inferiores a 2.000 (o parâmetro é ajustável), então nada será desenhado, o que significa que há um ruído, um nível baixo - isso em teoria.



Eu não tinha nada para fazer, decidi automatizar tudo, então puramente para testar ideias, o tópico é muito interessante, você pode identificar muitos padrões diferentes, devido ao algoritmo de oferta e demanda (volume total - número total de ordens de compra - venda no vidro) que veria nesses dados onde a multidão realmente pressiona.

Acrescentei a mesma definição de níveis de suporte e resistência e acrescentei a definição de grandes densidades de lances da pilha - as densidades são pesquisadas por Ask e Bid na pilha, mas são pesquisadas por um determinado algoritmo, primeiro encontramos o mais próximo do preço de Ask densidade selecionada de 2000 lances e mais, em seguida, procuramos a mesma densidade mais alta na profundidade da pilha, de cima para baixo, assim encontramos a inferior e a superior, quando o preço da densidade superior = inferior, a linha é recolorida, o que significa que, para toda a profundidade da pilha de 20 preços, há apenas uma densidade de ordens e não há mais de 2000 ordens acima dela - então podemos fazer uma entrada a partir dela ou interpolá-la de alguma forma... o mesmo vale para o preço de oferta na pilha ...



O autor é muito grato pelo exemplo, pois, como você pode ver, a partir da ideia de um simples indicador, surgem muitas ideias interessantes

Você é bom. Só que seu trabalho não será muito lucrativo se você negociar com o instrumento analisado.

Você pode se beneficiar muito mais se fizer essa análise, por exemplo, no BRENT, e negociar no Si.

Sabendo em BRENT onde o mercado vai "quebrar", você terá um pouco de tempo para (comprar/vender) Si

Adicionado

Em 2016, tentei usar o BRENT e o Si para negociar o RTS

Dê uma olhada no indicador, pode ser interessante (sua análise é mais aprofundada)

(Não me lembro por que abandonei essa ideia)

Adicionado

Você precisa assistir em tempo real e apostar no RTS M1 atual

 
prostotrader:

Você é bom. Apenas seu trabalho não trará grandes lucros se você negociar com o instrumento analisado.

Você pode obter muito mais lucro se fizer essa análise, por exemplo, no BRENT, e negociar no Si.

Não estou analisando dois instrumentos

Por exemplo, ao negociar futuros do Sberbank, analiso a ação do Sberbank.

A ação do Sberbank serve como um guia.

Condições - se a oferta e a demanda pressionarem as vendas, bem como o delta entre esses dados for maior do que o estabelecido, por exemplo, para a ação eu coloco 10.000, se o excesso de peso nas vendas for maior em 10 mil do que as compras, então começamos a olhar para os futuros, deve haver uma situação idêntica, mas eu coloco lá o excesso de peso já é de 3.000 no volume e 300 nos próprios lances.

Como todas as condições foram cumpridas, determinamos a direção das posições vendidas, então o robô começa a procurar acima do preço uma densidade de ordens maior que 1000, assim que a encontra, começa a testar, se depois de testar e analisar ela satisfaz todas as condições, uma ordem é colocada sob ela, ela dispara e obtemos lucro.

O mesmo acontece com o Si, eu o filtro com o petróleo, mas apenas na direção inversa, porque são instrumentos multidirecionais, se o petróleo cresce, o Si cai


Vou anexar o manual, tudo está descrito em detalhes lá, só que há muitas coisas no robô, eu o escrevi e testei todos os métodos implementados por 8 meses, porque no testre eu não posso executá-lo, não há mercado lá, eu tive que escrever e 2-3 dias para testá-lo, escrever e testá-lo novamente, então por um mês para colocá-lo no comércio, para complementá-lo, etc.

Estou interessado nesse algoritmo.... Obrigado pelo robô, vou dar uma olhada, talvez apareçam algumas idéias com base nele.

Arquivos anexados:
 
Konstantin Seredkin:

Não, estou apenas analisando dois instrumentos

Por exemplo, ao negociar futuros do Sberbank, analiso a ação do Sberbank.

As ações do Sberbank são um guia.


O SPOT não é um guia muito bom, pois depende de outros fatores.

Por exemplo, uma mudança no preço do petróleo leva a:

1. mudança no USDRUB_TOD SPOT

2. mudança no Si

É por isso que sugeri monitorar a fonte para ficar um pouco à frente de outros robôs.

Adicionado

E é ainda melhor negociar ouro (8 anos de negociação)

Ele não está sujeito a mudanças repentinas de tendência, se subir ou descer, você não pode pará-lo.


Mas no MT-5 não há índice do dólar - o guia do ouro.

Mas, por meio de dados indiretos, você pode criar um índice do dólar

 
prostotrader:

O SPOT não é um bom guia, pois depende de outros.

Por exemplo, uma mudança no preço do petróleo leva a:

1. alteração do SPOT USDRUB_TOD

2. alteração em Si

É por isso que sugeri monitorar a fonte original para ficar um pouco à frente de outros robôs.

Adicionado

E ainda melhor para negociar ouro (8 anos de negociação)

Ele não está sujeito a mudanças bruscas de tendência, para cima ou para baixo, você não pode parar.


Mas não existe um índice do dólar no MT-5, que é um guia para o ouro.

Mas é possível criar um índice do dólar usando dados indiretos.

Hoje, amanhã, escreverei o código, pegarei 3 instrumentos para análise de uma só vez, o atual RTS Sishka e o petróleo e contarei os volumes neles, se houver um aumento acentuado de volume acima dos valores que especificarei para cada um, então o RTS entrará em retrocesso, mas na direção da oferta e da demanda.... Vou ver o que acontece, agora eu tenho apenas um instrumento de volumes, há 2000 de lucro todos os dias, eu acho que se você tomar os volumes como você tem no indicador, mas de acordo com o meu método, o sinal será mais preciso, 3 volumes de diferentes instrumentos já é uma probabilidade, e de uma única suposição de qualquer rebote.

Verei o que acontece.

 
Konstantin Seredkin:

Hoje, amanhã, escreverei o código, pegarei 3 instrumentos para análise de uma só vez, o RTS Sishka e o petróleo atuais e contarei os volumes neles, se houver um aumento acentuado de volume acima dos valores que especificarei para cada um, então o RTS entrará em retrocesso, mas na direção da oferta e da demanda.... Verei o que acontecerá. Agora, tenho apenas um instrumento com volumes, com lucro de 2.000 todos os dias. Acho que se você considerar os volumes como no indicador, mas usando meu método, o sinal será mais preciso, 3 volumes de instrumentos diferentes já são uma probabilidade, e de um só pressuposto de qualquer recuperação.

Verei o que acontece.

Ótimo, você acertou.

Se algo ficar mais claro em uma direção positiva, entre em contato comigo como consultor.

Adicionado

Mas não se esqueça de que esses instrumentos são muito voláteis, portanto, o intervalo de cálculo deve ser

não muito longo.

 
prostotrader:

Tudo bem, você acertou.

Se alguma coisa for positiva, eu lhe devo um conselheiro.

Adicionado

Mas não se esqueça de que esses instrumentos são muito voláteis, portanto, o intervalo de cálculo deve ser

não muito longo.

Eu tenho um pouco diferente, quando aparece uma nova barra, eu reinicio tudo e começo um novo cálculo, é quase o mesmo que o indicador de volume no terminal, só que nos mostra o volume total de compras e vendas, eu conto tudo separadamente para saber onde e em que direção foi o excesso de peso e o volume total.

Também conto as próprias transações, seu volume total + excesso de peso.


Em seguida, vem a lógica propriamente dita

Se o volume + as negociações estiverem com sobrepeso em relação às posições vendidas, então temos um sinal de posição vendida nessa barra; se houver uma diferença, então há um conflito e não há sinal; eu coloco todos os dados no painel para orientar o que em relação a quê.

O único erro que vi foi ao controlar uma nova barra.

void TimeZero()
{
// Calcular o sinal por tempo se esse modo estiver ativado.
   static datetime PrevBars=0;
   datetime time_0=iTime(Symbol(),PERIOD_M1,0);
   if(time_0==PrevBars)
      return;
   PrevBars=time_0;
   //+------------------------------------------------------------------+

   start_time_1=0;   // Zerar a hora 
   start_time_2=0;   // Zerar a hora
   start_time_3=0;   // Zerar a hora
}

Eu redefino a variável de tempo para zero para que o cálculo comece novamente em um novo minuto, mas de acordo com as observações - comparando com o indicador de volume, meus dados nem sempre coincidem com ele, há um atraso nesse controle, talvez por causa do ping, eu ainda não descobri, mas os dados podem ser 50-100 volumes diferentes, então o contador é ligado em uma nova barra com um atraso, eu peco no meu ping em meio segundo, se você olhar para o tempo que está passando no terminal, muitas vezes vejo uma imagem de um segundo 15, congela, então imediatamente 18, pode congelar novamente, 25
Em princípio, para o algoritmo, isso não é crítico
Amanhã vou vincular o sinalizador ao algoritmo de negociação, ver o que acontece, quero verificar o seguinte
- Instrumento de negociação RTS, seu filtro Si- BR
- Para cada instrumento, defina o volume, por exemplo, RTS = 1000, Si = 5000, BR=10000
- Se por um minuto de tempo voar em cada instrumento tal volume, mas com a direção de RTS - sobrepeso em longas, petróleo sobrepeso em longas, Si sobrepeso em curtas
- Então, na próxima barra, entre em curtas no RTS, como na correção após o surto.
- Mas a entrada no RTS será se essa direção coincidir com os dados de oferta e demanda

Quero verificar dessa forma por enquanto, depois verei.

 

Não, Konstantin. Não é possível fazer scalp no intervalo entre as barras (as próprias barras no FORTS podem aparecer com um atraso e isso é normal).

Há saltos de preço muito acentuados em uma direção ou outra.

Recebemos informações praticamente sem atrasos (processamos 3 pilhas de instrumentos de alta liquidez).

Portanto, depois que o indicador é definido (quando prev_calc = 0), zeramos tudo e contamos com os intervalos que definimos.

Com GetMicrosecondCount(), isso nos permitirá "capturar" mudanças rápidas de tendência + podemos salvar um histórico "contínuo" (para processamento posterior no futuro).

#property version   "1.00"
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots   1
ulong start_time, cur_time;
double a_buff[]; 

input ulong TimeGap = 100000; //Período de cálculo

struct A_TICKS_DATA
{
  double prise;
  long volume;
  /Outros dados
};

A_TICKS_DATA a_data[];
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado
//+------------------------------------------------------------------+
int OnInit()
  {
//--- mapeamento de buffers de indicadores
   ArrayResize(a_data, INT_MAX, INT_MAX); 
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Função de iteração de indicador personalizado
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[])
  {

  if(prev_calculated == 0)
  {
    ArrayInitialize(a_buff, EMPTY_VALUE);
    start_time = GetMicrosecondCount();
  }
  else
  {
    cur_time = GetMicrosecondCount();
    //Comparar com o período TimeGap
  }
   
//--- valor de retorno de prev_calculated para a próxima chamada
   return(rates_total);
  }
//+------------------------------------------------------------------+