Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1357

 

Yönetim sorusu.

Osiris danışmanının demo sürümünü indirmeye yardımcı olun.

İndirmeye çalıştığınızda danışman indirilmez.

Купите Торговый робот (Expert Advisor) 'Astroloqer' для MetaTrader 4 в магазине MetaTrader Market
Купите Торговый робот (Expert Advisor) 'Astroloqer' для MetaTrader 4 в магазине MetaTrader Market
  • www.mql5.com
Советник Звездочет 1.0 универсал. НЕ мартинит НЕ усредняется И не торгует сетками ордеров. Терминал МТ4. Это вы можете сами проваерить при
 
Oleg Kolesov # :
Ana soru çözülmeden kaldı. Tampon iki renkte nasıl renklendirilir. >= Maviden <= Kırmızıya.

Ama şartlarınızı anlayamıyorum.

Misal. sınır = 5

Değer == 8, renk - mavi.

Değer == 1, renk - kırmızı.

Değer == 5, renk - ne?

 
Oleg Kolesov # :
bir ara vereceğim. Teşekkür ederim.

göstergenizi biraz yeniden tasarladı (test cihazı için bir uzman)

Ekran görüntüsü 2021-10-12 071433

Dosyalar:
V2.mq5  9 kb
 
SanAlex'i nasıl değerlendirebilirsiniz?
 
Oleg Kolesov # :
SanAlex'i nasıl değerlendirebilirsiniz?

herkes gibi sıradan - bir uzman, bunu tüm zil ve ıslıklarla yaparsanız, kazanacaktır.

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

EUR\USD-H2 Göstergeniz saat 2 yönünde aşağı yönde - şu anda nötr bir yukarı geçişi bekliyor veya aşağı hareket etmeye devam edecek.

EURUSDH2it

 
Yazdır komutu neden günlüğe kaydedilmemiş olabilir?
 
Evgeny Dyuka # :
Yazdır komutu neden günlüğe kaydedilmemiş olabilir?

Karşı koruma ... yanlış kullanıcı eylemleri tetiklenir. Terminalde, "Uzmanlar" sekmesinde sağ tıklayın ve "Görünüm" komutunu çalıştırın.

 

Merhaba baylar ve bayanlar!

Sorum için terlik atmayın. Saf olduğunu anlıyorum, ama hepimiz "Tanrım, ne kadar saftık" (romantizm).

Orijinal algoritmaya dayalı bir Uzman Danışman yazdım . Testler, ölçekleme modunda en etkili olduğunu göstermektedir. Şimdilik sonuçlar hakkında sessiz kalacağım çünkü inanmayacaksınız, perpetuum mobile ve Grails'in mucitlerini burada bildiğimizi söylüyorlar. Ne biri ne de diğeri ve ciddi bir dezavantajı var - tüm scalping stratejileri gibi, yayılmanın boyutuna, komisyonlara ve durma seviyesine bağlıdır. Neredeyse aynı ayara sahip - SL, 5 basamakta 6-10 pps testinde. Bununla nasıl başa çıkılacağı veya bu oyunları hangi broker ile oynayabileceğiniz konusunda beni aydınlatır mısınız?

 
Merhaba.
Bir gösterge var. Emir defterindeki limit emirleri toplar ve bir grafik olarak görüntüler.
 #property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots 2

#property indicator_label1 "Delta buy"
#property indicator_type1 DRAW_HISTOGRAM
#property indicator_color1 clrWhite
#property indicator_width1 3

#property indicator_label2 "Delta sell"
#property indicator_type2 DRAW_HISTOGRAM
#property indicator_color2 clrBlue
#property indicator_width1 3

int iStart;
double iDelta1[];
double iDelta2[];

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

   MarketBookRelease (symbol);
}

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

   SetIndexBuffer ( 0 , iDelta1, INDICATOR_DATA );
   ArraySetAsSeries (iDelta1, true );
  
   SetIndexBuffer ( 1 , iDelta2, INDICATOR_DATA );
   ArraySetAsSeries (iDelta2, 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 (iDelta1);
     ZeroMemory (iDelta2);
  }
   else if (bars != counted)
  {
    iDelta1[ 0 ] = iDelta1[ 1 ];
    iDelta2[ 0 ] = iDelta2[ 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++;
     
      }
    }
  }

 iDelta1[ 0 ] = ( double ) ( - volumeSell);
 iDelta2[ 0 ] = ( double ) (volumeBuy); 
   return bars;
}
Ve bardaktaki her yeni değişiklikle, önceki miktarı yeniden yazar. Ve miktarı biriktirmek nasıl? Yani, mevcut çubuktaki verileri yeniden yazmadı, ancak ekledi mi? Her şeyi while döngüsü boyunca uygulamaya ve mevcut çubuk hareket edene kadar verileri toplamaya çalıştım, ancak bir şeyler ters gitti. Lütfen böyle banal bir soru için sert vurmayın.
 

FileOpen 5001 hatası veriyor (Aynı anda 64'ten fazla dosya açılamaz ).
Görünüşe göre FileClose (file_handle) aracılığıyla her doğru kapattığımda.

Açık dosyaların sayacı nerede ve nasıl birikir ve nasıl sıfırlayabilirim?