Ist das Glas halb voll oder halb leer - wie analysiert man das Glas und wendet es beim Handel an? - Seite 4

 
Alexey Kozitsyn:

Und eine Strategie kann umgesetzt werden. Eine Art "Frontrunning" ist möglich.

Ich möchte nichts über die Strategie sagen - ich kenne sie noch nicht. Das Glas ist praktisch, um Positionen zu setzen und zu entladen, aber im derzeitigen Standardglas kann man den Preis seiner Position nicht sehen, was sehr unangenehm ist, und es ist nicht einmal klar, warum eine so offensichtliche Notwendigkeit nicht umgesetzt wurde.

 
Alexey Kozitsyn:

Wenn man alles bis auf die Linien machen kann, kann man auch die Linien machen.

Wo sonst findet man einen solchen Handwerker...

 
Aleksey Vyazmikin:

Wo sonst findet man einen solchen Handwerker...

Sie können eine finden, aber warum? Alles andere um eines Strichs im Glas willen zu schreiben?

 
Alexey Kozitsyn:

Ein Handwerker kann gefunden werden, aber warum? Um einen Strich im Glas zu haben, um alles andere zu schreiben?

Die Kennzeichnung von Stufen ist sehr wichtig. Aber es ist durchaus möglich, einfach eine Angabe zu machen, die Linien in das Diagramm einzutragen und von dort aus die Niveaus zu nehmen.

 

Hallo, ich versuche, die Datendarstellung im Glas zu optimieren. Nachdem ich einen separaten Beitrag erstellt hatte, haben die lokalen Clowns das Thema zugemüllt, ohne dass es sich entwickeln konnte. Hier ist ein Thema mit einem willkürlichen Indikator.

https://www.mql5.com/ru/forum/231011

Die Idee besteht darin, aus allen sich schnell ändernden und gefälschten Ebenen in der Tasse die Informationen auszuwählen, die für die Vorhersage verwendet werden können. Ich tue dies, indem ich jeder Ebene willkürliche Gewichtungen/Ordnungszahlen zuordne.

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots 1

#property indicator_label1 "Delta"
#property indicator_type1 DRAW_LINE
#property indicator_color1 clrBlack
#property indicator_width1 1

int iStart;
double iDelta[];

void OnDeinit(const int reason)
{
  string symbol = Symbol();

  MarketBookRelease(symbol);
}

void OnInit()
{
  string symbol = Symbol();

  SetIndexBuffer(0, iDelta, INDICATOR_DATA);
  ArraySetAsSeries(iDelta, true);

  IndicatorSetString(INDICATOR_SHORTNAME, "OrderBook");
  IndicatorSetInteger(INDICATOR_DIGITS, Digits());

  MarketBookAdd(symbol);
}

int OnCalculate(
  const int bars,
  const int counted,
  const datetime& time[],
  const double& open[],
  const double& high[],
  const double& low[],
  const double& close[],
  const long& ticks[],
  const long& volume[],
  const int& spread[]
)
{
  if (iStart == 0)
  {
    iStart = 1;
    ZeroMemory(iDelta);
  }
  else if (bars != counted)
  {
    iDelta[0] = iDelta[1];
  }

  string symbol = Symbol();

  double ask = SymbolInfoDouble(symbol, SYMBOL_ASK);
  double bid = SymbolInfoDouble(symbol, SYMBOL_BID);

  MqlBookInfo levels[];

  bool book = MarketBookGet(symbol, levels);

  int indexBuy = 1;
  int indexSell = 1;
  long volumeBuy = 0;
  long volumeSell = 0;

  if (book)
  {
    int size = ArraySize(levels);

    for (int k = 0; k < size; k++)
    {
      if (levels[k].price >= ask) 
      {
        volumeSell += indexSell * levels[k].volume;
        indexSell++;
      }
    }

    for (int k = size - 1; k >= 0; k--)
    {
      if (levels[k].price <= bid) 
      {
        volumeBuy += indexBuy * levels[k].volume;
        indexBuy++;
      }
    }
  }

  iDelta[0] = (double) (volumeBuy - volumeSell);
  
  return bars;
}
 
Andy Sanders:

Keine gute Umsetzung.

1. Buchen werden besser in einer speziellen Funktion empfangen, da sie sonst übersprungen werden.

2. Ja, Sie können die Schleifen früher verlassen. Sie müssen jeweils 20 zusätzliche Kontrollen durchführen.

Was die Idee betrifft, so klären Sie bitte, was Sie sich davon versprechen. Was macht Ihr Indikator? Wie hilft es, "nicht gefälschte" Pegel zu erkennen?

 
Alexey Kozitsyn: Was die Idee angeht - bitte erklären Sie, was sie bewirkt? Was macht Ihr Indikator? Wie hilft es, "nicht gefälschte" Ebenen hervorzuheben?

Danke für den Kommentar, ich werde es später optimieren
die Becher, die ich gesehen habe, sehen ungefähr gleich aus, zwei Wände auf jeder Seite der Ausbreitung, und dazwischen einige Bände


1. schnell wechselnde Fettstufen rund um die Ausbreitung
2. [#2 im Bild] weiter gibt es eine Wand mit mittlerem Volumen, die aber einen starken Rückgang nach oben halten kann, ein Auftrag kann nicht hinter dieser Wand platziert werden, weil, wenn die Bewegung allmählich ist, wird es beginnen, sich zu bewegen
3. [Ganz am Rande gibt es eine Art Drachenvolumen, das jeder Art von Trend zu widerstehen scheint, aber in Wirklichkeit wird es sich auch bewegen, wenn wir eine allmähliche Bewegung haben.
4. höchstwahrscheinlich befinden sich zwischen #1 und #2 die Mengen an Robotern, die versuchen, die Wand irgendwie zu benutzen, und wenn sich die Wand bewegt, ändern sich diese Ebenen synchron.

Der erste Gedanke, der einem bei der Analyse dieser Niveaus in den Sinn kommt, ist, dass, wenn das Gesamtvolumen an der Spitze größer ist, dies bedeutet, dass der Market Maker seine Verkaufsabsicht bekundet und den Markt nach unten bewegt, die Nachfrage also größer ist, und umgekehrt. Diese Annahme ist jedoch nicht ganz richtig, denn.

1. Die Position dieser Wände ändert sich und wir können uns nicht auf sie als Unterstützung oder Widerstand verlassen. Deshalb können wir diese Drachenvolumina auch nicht als Open Interest betrachten, da diese Aufträge höchstwahrscheinlich nie ausgeführt werden und sich verschieben werden, so dass wir die falschen Wände irgendwie aus der Open Interest-Analyse ausschließen sollten.
2. Gleichzeitig wird die Bewegung in der Regel durch Marktaufträge ausgelöst und beginnt um den Spread herum, außerdem ist es für die Roboter riskant, mit gefälschten Aufträgen um den Spread herum zu spielen, sie könnten auch ausgeführt werden, daher die Annahme, dass die meisten echten Marktabsichten nur bei Aufträgen um die Spanne herum zu sehen sind, wenn der Auftrag erteilt wird, wollen sie, dass er ausgeführt wird, aber vor dem Hintergrund der Scheinwände könnten diese Bewegungen unbemerkt bleiben, ein Grund mehr, pseudo-große Volumina, die weit von der Spanne entfernt stehen, aus dem Becher zu entfernen

In Anbetracht der obigen Ausführungen können wir Pseudo-Wände nicht einfach verwerfen, da wir keine klare Definition haben, was eine Pseudo-Wand und was eine große Ordnung ist.

Цена | Обьем - Стандартный стакан

20    | 5
20.5  | 200
30    | 10
30.5  | 5
40    | 20
40.5  | 1         Итого: 241 контрактов на покупку

50

50.5  | 1
60    | 40
60.5  | 10
70    | 50
70.5  | 100
80    | 5         Итого: 206 контрактов на покупку
Mit anderen Worten, wenn wir die Mengen addieren, denken wir, dass es viele Verkäufer gibt, aber diese 200 Verkäufer an der Spitze werden nie etwas verkaufen...
Aber wenn wir die Bestellungen vor den Wänden abgleichen, werden die Käufer den Käufern voraus sein.
Versuchen wir, eine Skala zu verwenden.
Цена | Обьем - Реалистичный стакан

20    | 5     х 1
20.5  | 200   х 2
30    | 10    х 3
30.5  | 5     х 4
40    | 20    х 5
40.5  | 1     х 6         Итого: 561 контрактов на покупку

50

50.5  | 1     х 6
60    | 40    х 5
60.5  | 10    х 4
70    | 50    х 3
70.5  | 100   х 2
80    | 5     х 1        Итого: 601 контрактов на покупку
Dies ist realistischer. Vielleicht sollten die Gewichte nicht linear, sondern geometrisch verlaufen, dann werden wir besser sehen. Außerdem wollen wir die Abhängigkeit der Preisänderungen von den Stapeldaten sehen. Deshalb erlaubt uns das korrekte Hinzufügen von Gewichten zu sehen, wie sich der Preis in Abhängigkeit vom Zustand des Stapels auf einem bestimmten Balken ändert
 
Andy Sanders:


Wenn wir also die Mengen addieren, denken wir, dass es viele Verkäufer gibt, aber diese 200 Verkäufer an der Spitze werden nie etwas verkaufen.
Und wenn wir die Bestellungen vor den Wänden abgleichen, werden die Käufer den Käufern voraus sein.
Versuchen wir, eine Skala zu verwenden.
Dies ist realistischer. Vielleicht sollten die Gewichte nicht linear, sondern geometrisch verlaufen; in diesem Fall werden wir besser sehen. Außerdem wollen wir die Abhängigkeit der Preisänderungen von den Stapeldaten sehen. Deshalb erlaubt uns das korrekte Hinzufügen von Gewichten zu sehen, wie sich der Preis in Abhängigkeit vom Zustand des Stapels auf einem bestimmten Balken ändert

Das ist eine interessante Idee. Aber man muss bedenken, dass die Bonzen Eisberggebote verwenden, d.h. solche, die sich selbst wieder auffüllen, falls sie versuchen, gefressen zu werden. Und wie tief ist das Glas, an dem die Ebenen aufgehängt sind - 6 auf jeder Seite?

 
Aleksey Vyazmikin:

Das ist eine interessante Idee. Aber man muss bedenken, dass die Bonzen Eisberggebote verwenden, d.h. solche, die sich selbst wieder auffüllen, falls sie versuchen, gefressen zu werden. Und wie tief ist das Glas, an dem die Ebenen aufgehängt sind - 6 auf jeder Seite?

Ich habe gerade gemerkt, dass das jetzt ein bisschen falsch ist.
Es gibt nun einen Zyklus vom Rand der Schale bis zur Ausbreitung, die Ordnungszahl der Iteration ist das Gewicht.
In diesem Fall, wenn die Volumina klein, aber die Niveaus zahlreich sind, erhalten wir große Gewichte in der Nähe des Spreads.

Daher ist es im Gegenteil notwendig, die Anzahl der analysierten Ebenen festzulegen, z. B. 10 auf jeder Seite und das maximale Gewicht, und mit der Platzierung der Gewichte von der Ausbreitung aus zu beginnen, anstatt von den Rändern, näher an den Rändern werden die Gewichte abnehmen, bis hin zu Null. In diesem Fall ist es korrekter, die Kursbewegung um +- 10 Pips zu analysieren, unabhängig davon, wie viele Niveaus festgelegt wurden.

Wie man Eisberge loswird - ich weiß es nicht, theoretisch werden sie auf beiden Seiten gleich groß sein, so dass sie die Analyse nicht beeinflussen sollten.

 
Andy Sanders:

Die Idee ist klar, danke. Und warum wird nicht einfach geschaut, ab welcher Ebene ein hohes Volumen (> X Lots) über einen bestimmten Zeitraum (> Y Cup Updates) nicht entfernt wird, um "Mauern" zu finden? Und diesen Punkt auf dem Diagramm mit einem Punkt markieren?

Dadurch würden Roboter, die große Mengen hin und her schleppen, sofort herausgefiltert, da sie nicht lange an einem Ort bleiben.

Das könnte so aussehen:

Jeder Punkt ist ein Level von mindestens 500 Lots mit einer Dauer von mindestens 150 Cup Updates.

Grund der Beschwerde: