Bardak - yarısı dolu veya yarısı boş - bardağı nasıl analiz eder ve ticarete uygularsınız? - sayfa 4

 
Alexey Kozitsyn :

Ve strateji uygulanabilir. Bir tür "ön koşu" elde edilir.

Strateji hakkında bir şey söylemek istemiyorum - henüz onları anlamıyorum. Emir defteri bir pozisyon kazanmak ve bir pozisyonu boşaltmak için uygundur, ancak mevcut standart emir defteri pozisyonunuzun fiyatını göstermiyor ki bu son derece elverişsiz, bu kadar bariz bir ihtiyacın neden uygulanmadığı bile belli değil.

 
Alexey Kozitsyn :

Her şeyi çizgilere kadar yapmayı başarırsanız, çizgiler mümkün olacaktır.

Böyle bir uzmanı başka nerede bulabilirsiniz...

 
Aleksey Vyazmikin :

Böyle bir uzmanı başka nerede bulabilirsiniz...

Bir usta bulabilirsin, ama neden? Bardakta bir satır uğruna, diğer her şeyi yazar mısın?

 
Alexey Kozitsyn :

Bir usta bulabilirsin, ama neden? Bardakta bir satır uğruna, diğer her şeyi yazar mısın?

İşaretleme seviyeleri çok önemlidir. Ancak, basitçe bir gösterge yapmak ve çizgileri tabloya koymak ve oradan seviyeler almak oldukça mümkündür.

 

Merhabalar, camdaki verilerin sunumunu optimize etmeye çalışıyorum, ayrı bir gönderi oluşturduktan sonra, yerel palyaçolar konuyu geliştirmeye izin vermeden spam yaptı, belki burada birilerinin işine yarar. İşte özel göstergeli bir tema.

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

Buradaki amaç, sipariş defterindeki tüm hızlı değişen ve sahte seviyelerden tahmin için kullanılabilecek bilgileri çıkarmaktır. Bunu yapmak için her seviyeye keyfi ağırlıklar / seri numaraları uygularım.

 #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 :

Çok iyi bir uygulama değil.

1. Bunun için özel olarak tasarlanmış bir fonksiyonda kayın almak daha iyidir, aksi takdirde geçiş alırsınız.

2. Evet, döngülerden daha erken çıkabilirsiniz. Her biri için fazladan 20 kontrol yapın.

Fikirle ilgili - açıklayın, lütfen ne veriyor? Göstergeniz ne işe yarıyor? "Sahte olmayan" seviyelerin vurgulanması nasıl yardımcı olacaktır?

 
Alexey Kozitsyn : ilgili olarak - lütfen ne verdiğini açıklar mısınız? Göstergeniz ne işe yarıyor? "Sahte olmayan" seviyelerin vurgulanması nasıl yardımcı olacaktır?

Yorum için teşekkürler, daha sonra güncelleyeceğim
Gördüğüm gözlükler aşağı yukarı aynı görünüyor, yayılımın her iki tarafında iki duvar ve aralarında bazı ciltler var.


1. yayılma çevresinde ince, hızlı değişen seviyeler
2. [Resimdeki #2] sonraki orta hacimli, ancak yukarı doğru keskin bir itme tutabilen bir duvardır, bu duvarın arkasına bir sipariş verilemez, çünkü hareket kademeli ise, o zaman hareket etmeye başlayacaktır.
3. [Resimdeki 1 numara] en kenarlarda, herhangi bir harekete dayanabilecek bir tür gaddar hacim var, ama aslında, kademeli bir hareketle hareket etmeye başlıyor
4. 1 ile 2 arasında, büyük ihtimalle bu duvarı bir şekilde kullanmaya çalışan çok sayıda robot vardır, duvar hareket ettiğinde bu seviyeler senkronize olarak değişir.

Bu seviyelerin nasıl analiz edileceği ile ilgili akla gelen ilk düşünce, eğer üstteki toplam hacim daha büyükse, o zaman piyasa yapıcı, piyasayı satma ve aşağı çekme niyetini gösterir, sırasıyla daha fazla talep vardır ve bunun tersi de geçerlidir. Ancak bu varsayım tamamen doğru değil, çünkü ...

1. bu duvarların konumu değişiyor ve onlara destek ya da direnç olarak güvenemezsiniz ve bu nedenle bu acımasız hacimleri açık faiz olarak da alamazsınız, bu emirler büyük olasılıkla hiçbir zaman yerine getirilmeyecek, değişecekler , bu nedenle sahte duvarları bir şekilde açık faiz analizinden çıkarmanız gerekir.
2. Aynı zamanda, hareket genellikle piyasa emirleri tarafından başlatılır ve spread etrafında başlar, ayrıca robotların spread etrafında sahte emirler oynaması risklidir, çünkü bunlar gerçekleştirilebilir, dolayısıyla en gerçek piyasanın varsayımı Niyet sadece yayılma etrafındaki emirlerde görülebilir, zaten bir sipariş verdiyseniz, bunun yapılmasını istiyorlar, ancak sahte duvarların hacminin arka planına karşı, bu hareketler fark edilmeyebilir, sahte kaldırmak için başka bir neden yayılmadan uzak sipariş defterinden büyük hacimler

Yukarıdakiler göz önüne alındığında, sözde duvarları basitçe göz ardı edemeyiz, çünkü sözde duvarın nerede olduğuna ve nerede büyük bir sipariş olduğuna dair net bir tanım yoktur, bu nedenle yalnızca dikkat etmek için sipariş defteri seviyelerine ağırlıklar atarız. yayılma etrafında hareket etmek.

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

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 контрактов на покупку
Yani, sadece hacimleri özetlersek, çok fazla satıcı olduğunu düşünüyoruz, sadece yukarıdan gelen 200 satıcı asla hiçbir şey satmayacak ...
Aynı zamanda, siparişleri duvarlardan ÖNCE eşleştirirken, açıkça alıcıların bir üstünlüğü olacaktır.
Ağırlıklarla deneyelim.
Цена | Обьем - Реалистичный стакан

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 контрактов на покупку
Zaten daha gerçekçi. Belki ağırlıklar doğrusal olmayan bir şekilde yerleştirilmelidir, ancak katlanarak, o zaman daha da görünür olacaktır. Ayrıca, fiyat değişiminin emir defteri verilerine bağımlılığını görmek istedim, böylece seviyelerin doğru toplamı, sipariş defterinin durumuna bağlı olarak fiyatın det üzerinde nasıl değiştiğini görmenizi sağlar. çubuk
 
Andy Sanders :


Yani, sadece hacimleri özetlersek, çok fazla satıcı olduğunu düşünüyoruz, sadece yukarıdan gelen 200 satıcı asla hiçbir şey satmayacak ...
Aynı zamanda, siparişleri duvarlardan ÖNCE eşleştirirken, açıkça alıcıların bir üstünlüğü olacaktır.
Ağırlıklarla deneyelim.
Zaten daha gerçekçi. Belki ağırlıklar doğrusal olmayan bir şekilde yerleştirilmelidir, ancak katlanarak, o zaman daha da görünür olacaktır. Ayrıca, fiyat değişiminin emir defteri verilerine bağımlılığını görmek istedim, böylece seviyelerin doğru toplamı, sipariş defterinin durumuna bağlı olarak fiyatın det üzerinde nasıl değiştiğini görmenizi sağlar. çubuk

İlginç fikir. Ancak, büyük tüccarın bir buzdağı uygulamaları kullandığı dikkate alınmalıdır, yani. yemeye çalışıyor olmaları durumunda kendilerini dolduranlar. Ve seviyeler camın hangi derinliğinde asılı - her iki tarafta 6?

 
Aleksey Vyazmikin :

İlginç fikir. Ancak, büyük tüccarın bir buzdağı uygulamaları kullandığı dikkate alınmalıdır, yani. yemeye çalışıyor olmaları durumunda kendilerini dolduranlar. Ve seviyeler camın hangi derinliğinde asılı - her iki tarafta 6?

Bunun biraz yanlış olduğunu yeni fark ettim.
Artık bardağın kenarından yayılmaya kadar bir döngü var, yinelemenin seri numarası ağırlıktır.
Bu senaryoda, hacimler küçükse, ancak birçok seviye varsa, yayılmaya yakın dev ağırlıklar alacağız.

Bu nedenle, aksine, analiz edilen seviyelerin sayısını, örneğin her bir tarafta 10'u ve maksimum ağırlığı ayarlamak ve ağırlıkları kenarlardan değil, kenarlara daha yakın olan yayılımdan yerleştirmeye başlamak gerekir. ağırlıklar sıfıra kadar azalır. Bu durumda kaç seviye atmış olursanız olun fiyat hareketini + - 10 puan analiz etmeniz daha doğru olacaktır.

Buzdağlarından nasıl kurtulurum - Teorik olarak bilmiyorum, her iki tarafta da eşdeğer olacaklar, bu yüzden analizi etkilememeliler.

 
Andy Sanders :

Fikir açık, teşekkürler. Ve neden "duvarlar" aramak için belirli bir süre boyunca (> Y DOM güncellemeleri) büyük bir hacmin (> X lot) hangi seviyeden kaldırılmadığına bakmıyorsunuz? Ve bu anı grafikte bir nokta ile işaretleyin?

Bu, büyük hacimleri ileri geri taşıyan robotları anında filtreler. bir yerde uzun süre kalmazlar.

Bunun gibi görünebilir:

Her nokta, en az 150 DOM güncellemesi süresi olan en az 500 lotluk bir seviyedir.