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

 
Vitaly Muzichenko :

Hiç çalıştı mı, çalışmadı mı?

Giriş parametrelerindeki rengi değiştirirken bu rengin " gösterge_renk1'de olması için nasıl yapılır "? Şimdi değiştirmeyin - bir baş harfi var

 Comment (Buffer1_Color[ 0 ]);

Belki bu yüzden?

 
Сергей Таболин :

Belki bu yüzden?

 
Vitaly Muzichenko :

Hiç çalıştı mı, çalışmadı mı?

Giriş parametrelerindeki rengi değiştirirken bu rengin " gösterge_renk1'de olması için nasıl yapılır "? Şimdi değiştirmeyin - bir baş harfi var

Bir şey şu şekilde izlenebilir:

 //+------------------------------------------------------------------+
//|                                                         Test.mq5 |
//|                              Copyright © 2019, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2019, Vladimir Karputov"
#property link        "http://wmua.ru/slesar/"
#property version    "1.00"
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_plots    1
//--- plot Label1
#property indicator_label1    "Label1"
#property indicator_type1    DRAW_LINE
#property indicator_color1    clrDarkGoldenrod
#property indicator_style1    STYLE_SOLID
#property indicator_width1    1
//--- indicator buffers
double          Label1Buffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   SetIndexBuffer ( 0 ,Label1Buffer, INDICATOR_DATA );

//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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[])
  {
//---
   Print ( PlotIndexGetInteger ( 0 , PLOT_LINE_COLOR , 0 ));
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+
Dosyalar:
Test.mq5  5 kb
 
Vladimir Karputov :

Bir şey şu şekilde izlenebilir:

Harika, işte başlıyoruz: PlotIndexGetInteger ( 0 , PLOT_LINE_COLOR , 0 )

Teşekkür ederim!

 

Herhangi bir zaman diliminde yalnızca bir dakikalık zaman serisi için özel bir göstergede OnCalculate()'den veri nasıl alınır? Elimden geldiğince CopyRates(sym,PERIOD_M1,...) kullanıyorum, herhangi bir tavsiye?

 
Vladimir M. :

Herhangi bir zaman diliminde yalnızca bir dakikalık zaman serisi için özel bir göstergede OnCalculate()'den veri nasıl alınır? Elimden geldiğince CopyRates(sym,PERIOD_M1,...) kullanıyorum, herhangi bir tavsiye?

Aynı anda birkaç bara ihtiyacınız varsa, daha iyi bir şey bulamazsınız. Ve bence CopyRates kullanarak bir çubuğun değerlerini almak daha iyidir

 
Alexey Viktorov :

Aynı anda birkaç bara ihtiyacınız varsa, daha iyi bir şey bulamazsınız. Ve bence bir çubuğun değerleri CopyRates'i kullanmak daha iyidir

Ayrıca her şeyi tekrar okudum ve her şeyi denedim, daha iyi bir şey bulamıyorum.Öte yandan OnCalculate() gereksiz olarak göstergeden kaldırılamaz. Aynı verileri iki kez aldığınız ortaya çıktı?
 
Vladimir M. :
OnCalculate(), göstergeden gereksiz olarak kaldırılmaz. Aynı verileri iki kez aldığınız ortaya çıktı?

OnTick () ise onsuz mümkün görünüyor?

 
Vladimir M. :
Ayrıca her şeyi tekrar okudum ve her şeyi denedim, daha iyi bir şey bulamıyorum.Öte yandan OnCalculate() gereksiz olarak göstergeden kaldırılamaz. Aynı verileri iki kez aldığınız ortaya çıktı?

Peki, ihtiyacın yoksa ikinci seçeneği kullanabilirsin.

 int OnCalculate ( const int rates_total,       // размер массива price[] 
                 const int prev_calculated,   // обработано баров на предыдущем вызове 
                 const int begin,             // откуда начинаются значимые данные 
                 const double & price[]       // массив для расчета 
   );
 
Igor Zakharov :

OnTick () ise onsuz mümkün görünüyor?

Bunun mümkün olduğundan şüpheliyim, ama denemeyeceğim. Ve belgeler diyor ki:

"... NewTick olayı yalnızca Uzman Danışmanlar için, Uzman Danışmanın eklendiği sembole yeni bir onay işareti geldiğinde oluşturulur. NewTick olayı olduğundan , OnTick() işlevini özel bir gösterge veya komut dosyasında tanımlamak işe yaramaz. onlar için üretilmez..."