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

 

Lütfen bana bir Uzman Danışmanda çıkarmak için bir sınıfta bir diziyi nasıl bildireceğimi söyle?

 m_pr_hl2[b] = MathAbs (( iHigh ( this .m_symbol, this .m_timeframe,b) + iLow ( this .m_symbol, this .m_timeframe,b))/ 2 );
 class CNewBar : public CObject
  {
private :
   string             m_symbol;
   ENUM_TIMEFRAMES    m_timeframe;
   datetime           m_time;
   double              m_pr_hl2[];
   datetime           Time( void );
   string              Symbol ( void )         { return this .m_symbol;    }
public :
   ENUM_TIMEFRAMES    Timeframe( void )      { return this .m_timeframe; }
   datetime           GetTime( void )        { return this .m_time;      } //  Возвращает время последнего обращения
   int                PriceHL2( void );       
   bool               IsNewBar( void );                                   //  Основная функция класса
                     CNewBar( const string symbol, const ENUM_TIMEFRAMES timeframe);
                    ~CNewBar( void ) {;}
  };
//+------------------------------------------------------------------+
//| Конструктор                                                      |
//+------------------------------------------------------------------+
CNewBar::CNewBar( const string symbol, const ENUM_TIMEFRAMES timeframe) : m_time( 0 )
  {
   this .m_symbol = symbol;
   this .m_timeframe = (timeframe == PERIOD_CURRENT ? Period () : timeframe);
   m_rt= this .RatesTotal();
   m_pc= 0 ;
   PriceHL2();
  }
//+------------------------------------------------------------------+
//| CNewBar Time Возвращает время нулевого бара                      |SERIES_LASTBAR_DATE
//+------------------------------------------------------------------+
datetime CNewBar::Time( void )
  {
   datetime array[ 1 ], ret;
   ret = CopyTime ( this .m_symbol, this .m_timeframe, 0 , 1 , array) == 1 ? array[ 0 ] : 0 ;
   return (array[ 0 ]);
  }

//+------------------------------------------------------------------+
//| Расчет цены                                                      |
//+------------------------------------------------------------------+
int CNewBar:: PriceHL2 ( void )
  {
   int res= ArrayResize ( this .m_pr_hl2, this .m_rt);
   for ( int b= this .m_pc; b< this .m_rt; b++)
       m_pr_hl2[b] = MathAbs (( iHigh ( this .m_symbol, this .m_timeframe,b) + iLow ( this .m_symbol, this .m_timeframe,b))/ 2 );
   return (res);
  }
//+------------------------------------------------------------------+
//| CNewBar IsNewBar Основная функция класса                         |
//+------------------------------------------------------------------+
bool CNewBar::IsNewBar( void )
  {
   datetime tm= this .Time();
   if (tm== 0 )
       return false ;
   if (tm!= this .m_time)
     {
       //--- определяем время
       this .m_time=tm;
       this .PriceHL2();
       return true ;
     }
   return false ;
  }
 
Göstergenin " ara hesaplamaları " için bir dizi oluştururken, onu basitçe oluşturabilirsiniz ve her şey çalışır veya INDICATOR_CALCULATION özelliğini belirtebilirsiniz.
Bu neden? Ne gibi fırsatlar sunuyor?
 
Evgeny Dyuka # :
Göstergenin " ara hesaplamaları " için bir dizi oluştururken, onu basitçe oluşturabilirsiniz ve her şey çalışır veya INDICATOR_CALCULATION özelliğini belirtebilirsiniz.
Bu neden? Hangi fırsatları veriyor?

dinamik bir diziyi bir gösterge arabelleğine bağladıysanız, bu dizi için bellek ayırmaktan terminal sorumludur ve bu dizinin boyutu grafikteki çubukların sayısına eşit olacaktır.

bu, çizim için kullanılan INDICATOR_DATA gösterge tamponları ve INDICATOR_CALCULATIONS - hesaplamalar için yardımcı tamponlar için geçerlidir.

 
Igor Makanu # :

dinamik bir diziyi bir gösterge arabelleğine bağladıysanız, bu dizi için bellek ayırmaktan terminal sorumludur ve bu dizinin boyutu grafikteki çubukların sayısına eşit olacaktır.

bu, çizim için kullanılan INDICATOR_DATA gösterge tamponları ve INDICATOR_CALCULATIONS - hesaplamalar için yardımcı tamponlar için geçerlidir.

anladım teşekkürler
 
Söyle bana, grafik nesnelerin (trend çizgileri, fibo ızgaraları) manyetizasyonunu MT5 platformundaki göstergelere ayarlamak mümkün mü? Örneğin, fibo ızgara değeri "0" hareketli ortalamaya manyetize olsun diye. Düz tırtıl onun tırtıl üzerine düştü.
 
Grafik nesnesini grafik penceresinde belirli bir yere sabitlemek gerekir. Örneğin, sol alt köşedeki kare. Y koordinatını belirlemek için CHART_PRICE_MIN vardır ve X için minimum süre nasıl bulunur?
ENUM_CHART_PROPERTY_INTEGER içinde uygun bir şey bulamadım

Veya daha geniş bir soru sorun. Harita penceresindeki bir nesnenin konumu (örneğin, "ortada") grafiğin kendisine bağlı kalmadan nasıl doğru bir şekilde düzeltilir?


 
CHART_SCALEFIX_11 "1:1 ölçek modu" gibi bir grafik özelliği vardır ve ne için olduğu ve nasıl kullanılacağı açıklanmamıştır.
Bu, ölçeğe bağlamak için grafik nesnelerinin boyutları mı?
Eğer öyleyse, hangi birimlerde ve ölçekle ilişkili olmaları için nesnelerin boyutları nasıl belirlenir?

Genel olarak, çizim nesneleri tablo ölçeğiyle nasıl doğru bir şekilde ilişkilendirilir?
 
Evgeny Dyuka # :
Grafik nesnesini grafik penceresinde belirli bir yere sabitlemek gerekir. Örneğin, sol alt köşedeki kare. Y koordinatını belirlemek için CHART_PRICE_MIN vardır ve X için minimum süre nasıl bulunur?
ENUM_CHART_PROPERTY_INTEGER içinde uygun bir şey bulamadım

Veya daha geniş bir soru sorun. Harita penceresindeki bir nesnenin konumu (örneğin, "ortada") grafiğin kendisine bağlı kalmadan nasıl doğru bir şekilde düzeltilir?


Bu gizli bilgiye gerçekten ihtiyacım var
 
Evgeny Dyuka # :
CHART_SCALEFIX_11 "1:1 ölçek modu" gibi bir grafik özelliği vardır ve ne için olduğu ve nasıl kullanılacağı açıklanmamıştır.
Bu, ölçeğe bağlamak için grafik nesnelerinin boyutları mı?
Eğer öyleyse, hangi birimlerde ve ölçekle ilişkili olmaları için nesnelerin boyutları nasıl belirlenir?

Genel olarak, çizim nesneleri harita ölçeğiyle nasıl doğru bir şekilde ilişkilendirilir?
...Ve bu da
 
Evgeny Dyuka # :
Grafik nesnesini grafik penceresinde belirli bir yere sabitlemek gerekir. Örneğin, sol alt köşedeki kare. Y koordinatını belirlemek için CHART_PRICE_MIN vardır ve X için minimum süre nasıl bulunur?
ENUM_CHART_PROPERTY_INTEGER içinde uygun bir şey bulamadım

Veya daha geniş bir soru sorun. Harita penceresindeki bir nesnenin konumu (örneğin, "ortada") grafiğin kendisine bağlı kalmadan nasıl doğru bir şekilde düzeltilir?


CHART_FIRST_VISIBLE_BAR

Grafikteki ilk görünen çubuğun numarası. Çubuk indeksleme, zaman serilerine karşılık gelir.

int r/o


Ancak tüm nesneler bu şekilde bağlanamaz.

Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
  • www.mql5.com
Примеры работы с графиком - Константы графиков - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5