Como vocês algoritmam a detecção de aglomerados de ração MA? - página 18

 

Estes são os altos locais. Construa um zig-zag em torno deles, digamos de cima para baixo. Pense em um critério que você usará para construí-los. Por exemplo, o tamanho da diferença entre os valores das barras na horizontal, ou o excesso de distância na vertical (número de pontos), ou uma combinação de ambos.

 
Mikhail Toptunov:

Veja, existe um método para calcular a linha azul nas estatísticas, não existe?


Como você simplesmente...?

Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos

Como posso detectar a alimentação MA através de um algoritmo?

Aleksei Stepanenko, 2021.04.07 15:10

Em uma matriz ordenada encontram-se, por exemplo, o percentil 90. Qualquer coisa superior a isso é particularmente alta.

 
Mikhail Toptunov:

Olá, alguém pode me dizer quais modelos estatísticos podem ser usados para determinar valores que são particularmente altos?

RMS
 

Qualquer pessoa pode sugerir uma consulta SQL. Por que eu não consigo 0 na quinta coluna

   filename=_symbol()+(string)_Period+"_stats.sqlite";
   int database=DatabaseOpen(filename, DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE | DATABASE_OPEN_COMMON);
   if(database==INVALID_HANDLE)
     {
      Print("SS: ", filename, " open failed with code ", GetLastError());
      return;
     }
   if(DatabaseTableExists(database, "DEALS"))
     {
      //--- создадим запрос и получим хендл на него
      int request=DatabasePrepare(database, "SELECT * FROM DEALS WHERE ID="+IntegerToString(i));
      if(!DatabaseBind(request,4,0))
        {
         PrintFormat("DatabaseBind() failed with code=%d", GetLastError());
         return;
        }
     }
   DatabaseClose(database);
DatabaseBind() falhou com code=5625
 
Renat Akhtyamov:
RMS

+

 

Tudo feito. Você precisa fazer a consulta correta e não precisa de funções desnecessárias


  int database=DatabaseOpen(filename, DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE | DATABASE_OPEN_COMMON);
   if(database==INVALID_HANDLE)
     {
      Print("SS: ", filename, " open failed with code ", GetLastError());
      return;
     }
//--- заблокируем базу данных перед выполнением транзакций
//--- пройдем по всем сделкам и внесем их в базу данных
   bool failed=false;
   DatabaseTransactionBegin(database);
//--- внесем в таблицу каждую сделку через запрос
   string request_text="UPDATE DEALS SET Activity=1, timeClose="+(string)tc+" WHERE ID="+(string)i+"OR ID="+(string)(i+1);
   if(!DatabaseExecute(database,request_text))
     {
      PrintFormat("%s: failed to insert deal #%d with code %d", __FUNCTION__, i, GetLastError());
      failed=true;
     }
   if(failed)
     {
      //--- откатим все транзакции и разблокируем базу данных
      DatabaseTransactionRollback(database);
      PrintFormat("%s: DatabaseExecute() failed with code ", __FUNCTION__, GetLastError());
      DatabaseClose(database);
      return;
     }
   PrintFormat("Закрытие сделки ID: %d ", DealOpen[i].ID);
//--- все транзакции прошли успешно - зафиксируем изменения и разблокируем базу данных
   DatabaseTransactionCommit(database);
   DatabaseClose(database);
 

Olá, você poderia me dizer como obter os valores de ask,bid tick?

Eu tenho uma troca criptográfica integrada em meu sistema.

O problema é que na visão geral do mercado e no próprio gráfico as cotações são exibidas corretamente, mas quando solicitadas através do :

   MqlTick last_tick;
   SymbolInfoTick(Symbol(),last_tick);
   ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);
   bid=SymbolInfoDouble(Symbol(),SYMBOL_BID);
   Comment(": Bid = ",bid," Ask = ",ask," tick Time ",TimeToString(last_tick.time,TIME_SECONDS),
           "\n"," Ls_bid ",last_tick.bid," Ls_ask ",last_tick.ask);

As citações não são mais exibidas corretamente. bummer!!!!!!!!!! general bummer!!!!!!!!!!


De que outras formas posso obter valores?

Peço aos analistas, por favor não passem por aqui! Um terço da minha vida desenvolvendo um robô, a linha de chegada está se aproximando no horizonte, e há tantos problemas!

Parece que o erro está aparecendo no fim de semana. Por que...

 
Mikhail Toptunov:

Exemplo:

Conjunto de 30 valores de preço de MA, procure o meio do conjunto encomendado.

Recebemos o valor 15(L0) no meio da matriz e depois recebemos duas matrizes de L0 para baixo e L0 para cima e encontramos o meio dessas matrizes e assim por diante até obter o númerofokus (sete valores, por exemplo)

A primeira derivada de MA:(X(0)-X(n))/(n+1). Precisamos do meio de duas matrizes, ou podemos fazer com uma simples análise?

 
Алексей Тарабанов:

Primeira derivada de MA:(X(0)-X(n))/(n+1). Necessita do meio de duas matrizes, ou podemos fazer com uma simples análise?

Obrigado, mas já passei disso em frente.

Acabava de começar a procurar fractals do n.º de MAs na barra de interesse.