MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1388

 
Artyom Trishkin :

Dene.

Deniyorum. İlk izlenim, 3 veya 4 araç yüklediği, ancak 10'a ihtiyacınız var.
Herkesin hikayeleri dolu.
 
Valeriy Yastremskiy :
Deniyorum. İlk izlenim, 3 veya 4 araç yüklediği, ancak 10'a ihtiyacınız var.
Herkesin hikayeleri dolu.

O zaman bilmiyorum - dördünü çok uzun süre açmadım

 

Algoritmayı hızlıca kontrol etmek için MT4'ü açtım.

Test cihazında düzgün çalışması çok garip ve gerçeğe ayarladıktan sonra işlemleri tersine çeviriyor. Kod basittir, sadece 2 gösterge tamponu


 
MakarFX :
Yardımın için çok teşekkürler. Kodun bu bölümünü yeniden düzenledim - ve fiyat filtresi açıkken çelik yataklar hatasız kuruldu. Gecikme hala asılıyken yalnızca bu sinyaller atlanır. Amaçlandığı gibi. Tekrar çok teşekkür ederim))) Sadece bir sorum var - sinyalin olduğu yerler var, ancak gecikme ayarlanmadı ve hata yok. Yani bu yerde uygun koşullar yoktu ve bu normal - huzur içinde yaşayabilir misin?)))) Ve bu yerde de asılı otlozhak yoktu ...
 
DanilaMactep :
Yardımın için çok teşekkürler. Kodun bu bölümünü yeniden düzenledim - ve fiyat filtresi açıkken çelik yataklar hatasız kuruldu. Gecikme hala asılıyken yalnızca bu sinyaller atlanır. Amaçlandığı gibi. Tekrar çok teşekkür ederim))) Sadece bir sorum var - sinyalin olduğu yerler var, ancak gecikme ayarlanmadı ve hata yok. Yani bu yerde uygun koşullar yoktu ve bu normal - huzur içinde yaşayabilir misin?)))) Ve bu yerde de asılı otlozhak yoktu ...
Uygun şartlar yoksa ve bu normalse huzur içinde yaşayabilirsiniz.
 
Artyom Trishkin :

O zaman bilmiyorum - dördünü çok uzun süre açmadım

Bir hata yaptım, test cihazı mevcut verileri diğer cihazlardan alıyor. Sadece buradan (diğer araçlardan) şimdiki zamandan farkı hesaplayabilirsiniz. Mevcut olana yakınsa ve hikayeler yüklüyse, test cihazının saatine geçiş yapabilirsiniz. Koltuk değneği hala aynı.)

 

Soru: 370 boyutunda bir panel oluşturuluyor , grafiği sıkıştırırken boyutu nasıl 200 olarak değiştirebilirim?

 #property strict

#property indicator_chart_window
#property indicator_buffers 0
#property indicator_plots    0

#include "PanelDialog.mqh"
//+------------------------------------------------------------------+
//| Global Variables                                                 |
//+------------------------------------------------------------------+
CPanelDialog ExtDialog;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ( void )
  {
//--- create application dialog
   if (!ExtDialog.Create( 0 , "Spread" , 0 , 12 , 12 , 250 , 370 ))
     return ( INIT_FAILED );
//--- run application
   if (!ExtDialog.Run())
     return ( INIT_FAILED );
//--- ok
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//--- destroy application dialog
   ExtDialog.Destroy(reason);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const int begin,
                 const double &price[])
  {
//---
 
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent ( const int id,
                   const long &lparam,
                   const double &dparam,
                   const string &sparam)
  {
   ExtDialog.ChartEvent(id,lparam,dparam,sparam);
  }
//+------------------------------------------------------------------+
 
Vitaly Muzichenko :

Soru: 370 boyutunda bir panel oluşturuluyor, grafiği sıkıştırırken boyutu nasıl 200 olarak değiştirebilirim?

Ve grafiğin sıkıştırılması nasıl belirlenir?
 
MakarFX :
Ve grafiğin sıkıştırılması nasıl belirlenir?
   if (id== CHARTEVENT_CHART_CHANGE ) {
       // ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS); // Высота графика
   }
 
Vitaly Muzichenko :

Yükseklik sıkıştırması ise

   int ChartHigh=( ChartGetDouble ( 0 , CHART_PRICE_MAX , 0 )- ChartGetDouble ( 0 , CHART_PRICE_MIN , 0 ))/ Point ; //высота графика в пунктах
   if (ChartHigh> 500 )  
      ExtDialog.Create( 0 , "Spread" , 0 , 12 , 12 , 250 , 200 )
   else
      ExtDialog.Create( 0 , "Spread" , 0 , 12 , 12 , 250 , 370 )

genişlikte sıkıştırma varsa

   if ( ChartGetInteger ( 0 , CHART_SCALE , 0 )> 2 ) 
      ExtDialog.Create( 0 , "Spread" , 0 , 12 , 12 , 250 , 200 )
   else
      ExtDialog.Create( 0 , "Spread" , 0 , 12 , 12 , 250 , 370 )
genişlikte ayrıca CHART_VISIBLE_BARS yapabilirsiniz