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

 
Константин :
@Artyom Trishkin

Konuyla ilgili tavsiye verebilir misiniz?

Hindiler hakkında çok farklı bilgiler verebilirim.

Yeni başlayanlar için: sülün ailesinden bir kuş. Diyet et. Onları kediye yediriyorum. lezzetli olduğunu söylüyor...

 
Константин :

Konu hakkında tavsiye verebilir misiniz?

Ve bu durumda, komut dosyasını neden göstergeden çalıştırmanız gerekiyor?

 
Mihail Matkovskij :

Ancak bu durumda, göstergeden komut dosyaları çalıştırmanız için size böyle saçma sapan şeyleri kim söyledi? :)

Ve en önemlisi neden?...

Göstergeden alınan parametre ile butona basarak scripti çalıştırabilmem için grafik üzerinde bir buton yapmak istiyorum.

 
Константин :

Göstergeden alınan parametre ile butona basarak scripti çalıştırabilmem için grafik üzerinde bir buton yapmak istiyorum.

Düğme kodunu gösterge koduna yazın ve komut dosyası kodunu bir işlev olarak gösterge koduna entegre edin. Düğmeye basıldı - gösterge parametresini ilettiğiniz işlevi çağırdı.

 
Константин :

Göstergeden alınan parametre ile butona basarak scripti çalıştırabilmem için grafik üzerinde bir buton yapmak istiyorum.

Sorun düğmenin kendisindeyse, işte burada:

 //+------------------------------------------------------------------+
//|                                                  ClickButton.mq5 |
//|                                      Copyright 2020, © Cyberdev. |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, © Cyberdev."
#property version    "1.00"
#property indicator_chart_window

#property indicator_plots 0

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
#include <ChartObjects\ChartObjectsTxtControls.mqh>

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
CChartObjectButton button;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit () {
  button.Create( 0 , "pushBtn" , 0 , 30 , 30 , 80 , 21 );
  button.SetString( OBJPROP_TEXT , "Push my" );
  button.SetInteger( OBJPROP_BGCOLOR , clrDodgerBlue );
  button.Color( clrWhite );
   return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| 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
) {
   if (id == CHARTEVENT_OBJECT_CLICK ) {
     if (sparam == button.Name()) {
       Alert ( "Button \"" +sparam+ "\" clicked!" ); // Вместо этого функция с кодом...
      button.State( 0 );
       ChartRedraw ( 0 );
    }
  }
}
//+------------------------------------------------------------------+
 
Mihail Matkovskij :

Sorun düğmenin kendisini oluşturmaktaysa, burada:

Teşekkür ederim, komut dosyasını nasıl ekleyeceğimi bulana kadar düğmeyi çözdüm. C:\Users\...\MQL4\Scripts\Order.ex4 konumunda komut dosyası

 
Bir soru daha. Windows'ta faresiz küçük bir tablet kullanıyorum , grafikteki düğmeler benim için uygun bir çözüm. Grafikte bir düğmeye basıldığında, Ctrl + F5 klavye komutu yürütüldüğünde, izi görmem daha uygun olur mu? profil.
 
Константин :

Teşekkürler, komut dosyasını nasıl ekleyeceğimi bulana kadar düğmeyi çözdüm. C:\Users\...\MQL4\Scripts\Order.ex4 konumunda komut dosyası

Komut dosyasına bir kısayol tuş kombinasyonu atayın ve WinAPI kullanarak simüle edin. Ama MQL programlarında böyle bir şey yapmadım. Bu yüzden " SendInput User32.dll WinAPI " google'ını deneyin.

 

Tünaydın!

Burada bir soru yüzünden acı çekiyorum, lütfen nasıl çözeceğimi söyle.

İşin özü şudur: Mumun bir önceki tepe noktası boyunca bir çizgi çizilir. Bir önceki zirveye bağlı olarak hareket etmek için çizgiye ihtiyacım var.

 void OnTick ()
  {
//---
   double    o1 = iOpen ( Symbol (), Period (), 1 );
   double    h1 = iHigh ( Symbol (), Period (), 1 );
   double    l1 = iLow ( Symbol (), Period (), 1 );
   double    c1 = iClose ( Symbol (), Period (), 1 );
   double    c0 = iClose ( Symbol (), Period (), 0 );
   double    rt = 0 ;
   double    rs1 = 0 ;


rt= MathAbs (c1-o1)/ _Point ; //размер тела свечи
rs1= MathAbs (h1-c1)/ _Point ; // размер верхней тени свечи


if (rs1>=rt) // условие для построения уровней (если верхняя тень предыдущей свечи, больше, или равна телу этой же всечи, то...   
{
double PRH= iHigh ( Symbol (), _Period , 1 ); // то это будет максимум
ObjectCreate ( 0 , "HL" , OBJ_HLINE , 0 , _Period ,PRH); // и строим по этому максимуму, горизонтальную линию
Comment ( "ЦЕНА МАКС =======" ,PRH, "\n" ); // комментарий пред. максимума
}
}
Документация по MQL5: Константы, перечисления и структуры / Константы индикаторов / Стили рисования
Документация по MQL5: Константы, перечисления и структуры / Константы индикаторов / Стили рисования
  • www.mql5.com
При создании пользовательского индикатора можно указать один из 18 типов графического построения (способа отображения на главном окне графика или в подокне графика), значения которых указаны в перечислении ENUM_DRAW_TYPE. В зависимости от стиля рисования, может потребоваться от одного до четырех буферов значений (отмеченных как INDICATOR_DATA...
 
Alexey Belyakov :

Tünaydın!

Burada bir soru yüzünden acı çekiyorum, lütfen nasıl çözeceğimi söyle.

İşin özü şudur: Mumun bir önceki tepe noktası boyunca bir çizgi çizilir. Bir önceki zirveye bağlı olarak hareket etmek için çizgiye ihtiyacım var.

2 seçenek var
1. Oluşturmadan önce nesneyi silin
2. Nesneyi oluşturduktan sonra fiyatı ayarlayın