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

 
Aleksey Mavrin :

ihtiyaç )

Alexey, teşekkürler!

İyi adam, lütfen tecrübesizlere söyle:
MQL5/Sounds klasörü hayatımızda nasıl bir rol oynamalı (yapabilir)? (sorum sayfa 1221'in başında)

 

Panelin neden sadece yeni bir onay işareti geldiğinde tablodaki konumunu değiştirdiğini söyleyebilir misiniz? 5 Haziran tarihli MT5, Just2Trade yapısı

 #include <Controls\Dialog.mqh>
#include <Controls\Button.mqh>
CAppDialog Main;
CBmpButton nadpr, nadlos, nadot;
CBmpButton podpr, podlos, podot;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
   ChartSetInteger ( 0 , CHART_EVENT_MOUSE_MOVE , true );
   Main.Create( 0 , "Main" , 0 , 50 , 50 , 260 , 130 );
   Main.Run();
      
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
   Main.Destroy(reason);
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//---
   
  }
//+------------------------------------------------------------------+
void OnChartEvent ( const int id,         // идентификатор события   
                   const long & lparam,   // параметр события типа long 
                   const double & dparam, // параметр события типа double 
                   const string & sparam)   // параметр события типа string
{
  Main.OnEvent(id,lparam,dparam,sparam);
}
 
Nikita Chernyshov :

Panelin neden sadece yeni bir onay işareti geldiğinde tablodaki konumunu değiştirdiğini söyleyebilir misiniz? 5 Haziran tarihli MT5, Just2Trade yapısı

Kodunuzu ve panel örneğini standart dağıtımdan [data folder]\MQL5\Experts\Examples\Controls\Controls.mq5 karşılaştırın

 

İyi günler, uzmanlara bir soru:

Böyle bir yapıyı bir araya getirmeye çalışıyorum - bir fonksiyon, dört değişken ve bir dizi, bu dört değişkeni hesaplamak için fonksiyon içinde veri elde edilecek olan referans olarak parametre olarak veriliyor. Programda bu tür iki dizi (işleve aktarılacak) vardır, ZigZag'ın üst ve alt ekstremleri. fonksiyonun TrendLine'ı oluşturmak için noktaları hesaplaması gerekecektir.

Soru, hesaplamalarda + veya - uygulamak için, bu belirli yinelemede iki diziden hangisinin kullanıldığı işlevinin içine nasıl bir kontrol yazılacağıdır ???

Beceriksizce formüle edilmişse, tekrar sorun, lütfen, zevkle açıklayacağım. Ekli bir tasarım taslağıdır.

 //+------------------------------------------------------------------+ 
//| Вычисляем значения точек привязки трендовых линий                | 
//+------------------------------------------------------------------+ 
void CalculateTrendPoints( datetime &time_1, double &price_1, 
                           datetime &time_2, double &price_2, double & zigbuf[] )  
{
   int ind_time_1, ind_time_2;
   int size_zigbuf = ArraySize (zigbuf);
   for ( int i = 0 ; i < size_zigbuf; i++){ if (zigbuf[i] != EMPTY_VALUE ) break ;}
      price_1    = zigbuf[i];
      ind_time_1 = i;
   for ( int i = ind_time_1 + 1 ; i < size_zigbuf; i++){ if (zigbuf[i] != EMPTY_VALUE ) break ;}
      price_2    = zigbuf[i];
      ind_time_2 = i;

   //Дальше будут расчеты, в которых в зависимости от того для чего используется функция
   //(построение ТрЛайн для верхних пиков или для нижних)будет применяться 
+ или - , < или >. 
   //Думаю что легче всего понять данное конкретное применение по тому, какой массив зашел в параметрах (&zigbuf[]), 
   //Вопрос не сложный - как это написать???    
} 

Yani, zigbuf[] parametresinin değiştirilecek yalnızca iki seçeneği olacaktır - ya ZigzagPeakBuffer[] veya ZigzagBottomBuffer[]. Şu anda hangi seçeneğin değiştirildiğini fonksiyon içinden nasıl kontrol edebilirim ???


 

Şimdiye kadar, hangi dizilerin dahil olduğunu belirleme fikrini buldum - eşleşen olduğu bulunan değeri karşılaştırarak, o bizimki. Ama daha güzel ve daha kısa bir çözüm mutlaka vardır.

Bilenler - söyle bana pliz !!!

 //+------------------------------------------------------------------+ 
//| Вычисляем значения точек привязки трендовых линий                | 
//+------------------------------------------------------------------+ 
void CalculateTrendPoints( datetime &time_1, double &price_1, 
                           datetime &time_2, double &price_2, double & zigbuf[] )  
{
   int ind_time_1 = 0 ;
   int ind_time_2 = 0 ;
   int size_zigbuf = ArraySize (zigbuf);
   for ( int i = 0 ; i < size_zigbuf; i++)
      {
         if (zigbuf[i] != EMPTY_VALUE )
            price_1    = zigbuf[i];
            ind_time_1 = i;
             break ;
      }
   for ( int i = ind_time_1 + 1 ; i < size_zigbuf; i++)
      {
         if (zigbuf[i] != EMPTY_VALUE )
            {
               if ( zigbuf[i] == ZigzagPeakBuffer[i] && zigbuf[i] > price_1)
                  {
                     price_2    = zigbuf[i];
                     ind_time_2 = i;
                     break ;
                  }
               if ( zigbuf[i] == ZigzagBottomBuffer[i] && zigbuf[i] < price_1)
                  {
                     price_2    = zigbuf[i];
                     ind_time_2 = i;
                     break ;
                  }
            }
      }
   //Дальше будут расчеты, в которых в зависимости от того для чего используется функция
   //(построение ТрЛайн для верхних пиков или для нижних)будет применяться + или - , < или > .
   //Думаю что легче всего понять данное конкретное применение по тому, какой массив зашел в параметрах (&zigbuf[]), 
   // Вопрос не сложный - как это написать???   
}
 

herkese iyi seyirler))


Soru: OBJ_FIBO çizildiğinde grafikte bir açılır pencere vermiyor (OBJPROP_TOOLTIP). Her şey OBJPOP_TXT aracılığıyla grafiksel olarak düzenlenir/ Araç ipucu aracılığıyla FIBO'da bir açılır pencere oluşturmak nasıl mümkün olabilir ve mümkün müdür?

Amaç: Fareyi fibo seviyesinin üzerine getirdiğinizde, HLINE gibi bir pencere açılır (örnek olarak).

Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
 
kopeyka2 :

herkese iyi seyirler))


Soru: OBJ_FIBO çizildiğinde grafikte bir açılır pencere vermiyor (OBJPROP_TOOLTIP). Her şey OBJPOP_TXT aracılığıyla grafiksel olarak düzenlenir/ Araç ipucu aracılığıyla FIBO'da bir açılır pencere oluşturmak nasıl mümkün olabilir ve mümkün müdür?

Amaç: Fareyi fibo seviyesinin üzerine getirdiğinizde, HLINE gibi bir pencere açılır (örnek olarak).

OBJPROP_TEXT özelliğini kullanın

 ObjectSetString (chart_ID,name, OBJPROP_TEXT , "Это всплывающая подсказка" );
 
kullanmadığınız demo ürünleri nasıl reddedersiniz? Sistemden sürekli mesaj alma "Yeni sürüm ........."
 
Sergey Voytsekhovsky :

Şimdiye kadar, hangi dizilerin dahil olduğunu belirleme fikrini buldum - eşleşen olduğu bulunan değeri karşılaştırarak, o bizimki. Ama daha güzel ve daha kısa bir çözüm mutlaka vardır.

Bilenler - söyle bana pliz !!!

Neden kendin için problem yaratıyorsun? Bunlar yeterli olacaktır.

Sadece iki ayrı fonksiyon yapın.

 
Bana set dosyasından MqlParam dizisini nasıl alacağımı söyle?