Wie funktioniert der Algorithmus zur Erkennung von MA-Futtermittelclustern? - Seite 18

 

Dies sind die lokalen Höchstwerte. Bilden Sie einen Zickzack-Kurs um sie herum, etwa von oben nach unten. Überlegen Sie sich ein Kriterium, nach dem Sie sie aufbauen wollen. Zum Beispiel die Größe der Differenz zwischen den Balkenwerten in horizontaler Richtung oder der überschüssige Abstand in vertikaler Richtung (Anzahl der Punkte) oder eine Kombination aus beidem.

 
Mikhail Toptunov:

Es gibt doch eine Methode zur Berechnung der blauen Linie in der Statistik, oder nicht?


Wie kann man nur...?

Forum zum Thema Handel, automatische Handelssysteme und Strategietests

Wie kann ich die Erkennung des MA-Feed algorithmisieren?

Aleksei Stepanenko, 2021.04.07 15:10

In einem sortierten Array finden Sie z. B. das 90. Alles, was darüber hinausgeht, ist besonders hoch.

 
Mikhail Toptunov:

Hallo, kann mir jemand sagen, mit welchen statistischen Modellen man besonders hohe Werte ermitteln kann?

RMS
 

Kann jemand eine SQL-Abfrage vorschlagen. Warum kann ich nicht 0 in die fünfte Spalte schreiben?

   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() ist mit code=5625 fehlgeschlagen
 
Renat Akhtyamov:
RMS

+

 

Alles erledigt. Sie müssen die Abfrage richtig stellen und brauchen keine unnötigen Funktionen


  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);
 

Hallo, könnten Sie mir bitte sagen, wie man die ask, bid tick Werte zu bekommen?

Ich habe eine Kryptobörse in mein System integriert.

Das Problem ist, dass in der Marktübersicht und auf dem Chart selbst die Kurse korrekt angezeigt werden, aber wenn sie über die :

   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);

Zitate werden nicht mehr korrekt wiedergegeben. allgemeiner Mist!!!!!!!!!!


Wie kann ich auf andere Weise Werte erhalten?

Ich bitte die Analysten, nicht vorbeizugehen! Ich habe ein Drittel meines Lebens mit der Entwicklung eines Roboters verbracht, die Ziellinie ist in Sicht, und es gibt so viele Probleme!

Es sieht so aus, als ob der Fehler am Wochenende auftaucht...

 
Mikhail Toptunov:

Beispiel:

Array mit 30 MA-Kurswerten, Suche nach der Mitte des geordneten Arrays.

Wir erhalten den Wert 15(L0) in der Mitte des Arrays, dann erhalten wir zwei Arrays von L0 abwärts und L0 aufwärts und finden die Mitte dieser Arrays und so weiter, bis wir dieFokusnummer erhalten(zum Beispiel sieben Werte)

Die erste Ableitung von MA:(X(0)-X(n))/(n+1). Wir brauchen die Mitte der beiden Reihen, oder können wir das durch einfache Analyse erreichen?

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

Erste Ableitung von MA:(X(0)-X(n))/(n+1). Benötigen Sie die Mitte von zwei Feldern, oder reicht eine einfache Analyse aus?

Danke, aber das habe ich bereits hinter mir gelassen.

Ich habe gerade begonnen, nach Fraktalen der n-ten Anzahl von MAs auf dem interessierenden Balken zu suchen.