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

 
Artyom Trishkin :

CArrayObj dizisine başka bir CArrayObj dizisi eklemeniz yeterlidir: Add()

Böyle çalışmıyor. parametre dönüştürmeye izin verilmiyor

Bu arada, eğer önemliyse. Diziye eklenen nesnem, CArrayObj öğesinden miras alan bir sınıftır.

 class CCustomClass : public CArrayObj
{
}




CCustomClass obj1;
CCustomClass obj2;
...

CArrayObj objects_array;
objects_array.Add(obj1); 
Eh, son satırda yemin ediyor - parametre dönüştürmeye izin verilmiyor.
 
objects_array.Add(GetPointer(obj1)); 
İşe yaradı, bir işaretçim olmadığını fark etmedim.
 
TaywinLannister :

Forumchane sevgili yardım pozyazya!!!

Bir değişkene fiyat adımı atamak istiyorum:

int V=SymbolInfoInteger(Symb, SYMBOL_POINT );

hata veriyor: 'SymbolInfoInteger' - aşırı yüklemelerden hiçbiri işlev çağrısına uygulanamaz

yine benim hatam ne


int V=(int)SymbolInfoInteger(Symb, SYMBOL_POINT );

o zaman dene

 
foreXteller :

Sevgili Forum kullanıcıları!

Lütfen bana söyle!!!

MetaTrader 5 penceresi, hangi Teklif ve Talep değerlerini görüntüler?   (Anladığım kadarıyla) kazanç/kayıp belirlenir.

Ancak, stratejimi test etmek için 1 dakikalık geçmiş alıntıları kullanmaya çalıştığımda, bu alıntılar Teklif değerlerini içermiyor.   ve Sor ve değerler verin   "AÇIK", "YÜKSEK", "DÜŞÜK", "KAPALI", "TICKVOL",   "VOL", " YAYILMA ". Aynı zamanda bu değerlerden nasıl Bid alınacağı tamamen belirsizdir.   ve Ask ile yayılmanın bu değerlerden nasıl hesaplandığı.

Kesinlikle her şey mevcuttur. Lütfen "dakika geçmişi alıntılarını kullanmaya çalıştığımda" tam olarak ne anlama geldiğini daha ayrıntılı olarak açıklayın? Tam olarak ne yapıyorsun veya yapmak istiyorsun?

 
TaywinLannister :

Forumchane sevgili yardım pozyazya!!!

Bir değişkene fiyat adımı atamak istiyorum:

int V=SymbolInfoInteger(Symb, SYMBOL_POINT );

hata veriyor: 'SymbolInfoInteger' - aşırı yüklemelerden hiçbiri işlev çağrısına uygulanamaz

yine benim hatam ne


Yardım SymbolInfoInteger :

1. Doğrudan özelliğin değerini döndürür.

 long    SymbolInfoInteger ( 
   string                     name,       // символ 
   ENUM_SYMBOL_INFO_INTEGER   prop_id     // идентификатор свойства 
   );

2. İşlevin başarısına bağlı olarak doğru veya yanlış döndürür. Başarılı olursa, özellik değeri, son parametre olarak referans tarafından geçirilen alıcı değişkene yerleştirilir.

 bool    SymbolInfoInteger ( 
   string                     name,       // символ 
   ENUM_SYMBOL_INFO_INTEGER   prop_id,   // идентификатор свойства 
   long &                     long_var   // сюда примем значение свойства 
   );


Yani, OR long OR bool .

 
TaywinLannister :

Forumchane sevgili yardım pozyazya!!!

Bir değişkene fiyat adımı atamak istiyorum:

int V=SymbolInfoInteger(Symb, SYMBOL_POINT );

hata veriyor: 'SymbolInfoInteger' - aşırı yüklemelerden hiçbiri işlev çağrısına uygulanamaz

yine benim hatam ne


 double V= SymbolInfoDouble (Symb, SYMBOL_POINT );

Nokta - double türünün değeri. Bir int olarak alındığında, null olacaktır.

 
Vladimir Karputov :

Yardım SymbolInfoInteger :

1. Doğrudan özelliğin değerini döndürür.

2. İşlevin başarısına bağlı olarak doğru veya yanlış döndürür. Başarılı olursa, özellik değeri, son parametre olarak referans tarafından geçirilen alıcı değişkene yerleştirilir.


Yani, OR long OR bool .

anladım teşekkürler)

 
#property copyright "Copyright 2018, Sergey S Morozov"
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict

//#property indicator_separate_window    // Индик. рисуется в новом окне
#property indicator_chart_window      // Индик. рисуется в основном окне

#property indicator_buffers 1        // Количество буферов
#property indicator_color1 Red     // Цвет первой линии

extern int History  = 50 ;             // Колич.баров в расчётной истории
extern int Aver_Bars= 5 ;             // Количество баров для расчёта

double ArrayBuff[];

//----------------------------------------------------------------------------------------------------

int OnInit ()
{
   SetIndexBuffer ( 0 ,ArrayBuff);
   SetIndexStyle ( 0 , DRAW_LINE , STYLE_SOLID , 1 );
   return ( INIT_SUCCEEDED );
}

int OnCalculate (

                 const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])

  {

       int i,                           // Индекс бара
      n,                               // Формальный параметр
      Counted_bars;                     // Количество просчитанных баров 
       double
      Sum_H,                           // Сумма значений High за переиод
      Sum_L;                           // Сумма значений Low  за переиод
   //--------------------------------------------------------------------
      Counted_bars= IndicatorCounted (); // Количество просчитанных баров
      i= Bars -Counted_bars- 1 ;           // Индекс первого непосчитанного
       if (i>History- 1 )                 // Если много баров то ..
         i=History- 1 ;                   // ..рассчитывать заданное колич.
       while (i>= 0 )                       // Цикл по непосчитанным барам
        {
         Sum_H= 0 ;                       // Обнуление в начале цикла
         Sum_L= 0 ;                       // Обнуление в начале цикла
         for (n=i;n<=i+Aver_Bars- 1 ;n++) // Цикл суммирования значений
           {
            Sum_H=Sum_H + High [n];     // Накопление суммы макс.значений
            Sum_L=Sum_L + Low [n];       // Накопление суммы мин. значений
           }
         ArrayBuff[i]=(Sum_H-Sum_L)/Aver_Bars;   // Знач. 0 буфера на i-ом баре
         i--;                                   // Расчёт индекса следующего бара
        }

   return (rates_total);

  }
//+------------------------------------------------------------------+

Yeni başladım, hala bu dilde nasıl yazacağımı bilmiyorum. Ancak sorun şudur - yeni bir penceredeyse grafik görünür. Ama mevcutta gösteremiyorum ... Hatam ne? Kendim yazıp örneklerden derleyemediğim için burada bulamıyorum. Üstelik, tüm bunlar SetChartData( point1 , point2); ama nasıl oluyor...

Eh, değişken ( gösterge_chart_window ) gibi görünüyor, ama yine de çalışmıyor....

Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
  • www.mql5.com
Задавайте вопросы по техническому анализу, обсуждайте торговые системы и улучшайте свои навыки программирования торговых стратегий на языке MQL5. Общайтесь и обменивайтесь опытом на форуме с трейдерами всего мира и помогайте ответами новичкам — наше сообщество развивается вместе с вами. Как прописать расписание торговли робота? Здравствуйте...
 
Vladimir Karputov :

Kesinlikle her şey mevcuttur. Lütfen "dakika geçmişi alıntılarını kullanmaya çalıştığımda" tam olarak ne anlama geldiğini daha ayrıntılı olarak açıklayın? Tam olarak ne yapıyorsun veya yapmak istiyorsun?

Geçmiş fiyat tekliflerini indirmek için MetaTrader 5'i yükleyin, c simgesine tıklayın dolar sembolü: "Bir sembol listesi görüntüle" (veya Ctrl tuşuna basabilirsiniz) U ). Semboller penceresi görünecektir. "SPESİFİKASYON" sekmesinde istenen para birimi çiftini buluyoruz, örneğin GBPCHF .   "BARS" sekmesinde, dakika tırnaklarını (M1) ve gerekli dönemin başlangıç ve bitiş tarihlerini ayarlayın. "İSTEK" düğmesine tıkladıktan sonra, bir metatrader kullanarak stratejileri test etmek için kullanılabilecek bir csv dosyası indirilecektir veya   onların programları ile.

EXCEL'i kullanma İlk satırın dosyadaki bilgilerin içeriğini gösterdiği bu dosyanın içeriğini görebilirsiniz, yani. "tarih, saat" ve ardından,   "AÇIK", "YÜKSEK", "DÜŞÜK", "KAPALI", "TICKVOL", "VOL",   " YAYILMAK "

Bu verilerin ne anlama geldiğini çok iyi anlıyorum, ancak bunlardan BIT'in nasıl çıkarılacağını ve MetaTrader 5'in kullandığını SORUN ?

 
Sayın moderatörler, sembolle ilgili bilgileri mt5'te nerede görebileceğinizi söyleyebilir misiniz? mt 4'te strateji test cihazında kontrol etmenin mümkün olduğunu hatırlıyorum, ancak mt5 test cihazında bu işlevi bulamadım.