Hatalar, hatalar, sorular - sayfa 2041

 
Kirill Belousov :
Alt pencerenin numarasını belirtmiyoruz, ancak işlev bize (bu bir giriş değil, bir çıkış parametresidir) - fiyat grafiğinin belirtilen kimliğe sahip grafiğin hangi alt penceresinde bulunduğunu ve hangi fiyat ve zamana karşılık geldiğini söyler. O çizelgede belirttiğimiz X,Y koordinatları.

Bu, parametreyi referans olarak ileterek anlaşılabilir. Ancak soru açık: işlev neden göstergenin hangi alt pencere numarasında ayarlandığını görmüyor ve ondan veri almıyor?

 
Vitaly Muzichenko :

Bu, parametreyi referans olarak ileterek anlaşılabilir. Ancak soru açık: işlev neden göstergenin hangi alt pencere numarasında ayarlandığını görmüyor ve ondan veri almıyor?

CHART_HEIGHT_IN_PIXELS
 
fxsaber :
CHART_HEIGHT_IN_PIXELS

Bu, alt pencerelerde birkaç gösterge varsa, hesaplamalarla dolu bir hikaye, ancak yine de zaman ayırdığınız için teşekkürler.

 
Vitaly Muzichenko :

Bu, alt pencerelerde birkaç gösterge varsa, hesaplamalarla dolu bir hikaye, ancak yine de zaman ayırdığınız için teşekkürler.

https://www.mql5.com/ru/docs/chart_operations/chartwindowfind

Документация по MQL5: Операции с графиками / ChartWindowFind
Документация по MQL5: Операции с графиками / ChartWindowFind
  • www.mql5.com
1. Функция ищет на указанном графике подокно с указанным "коротким именем" индикатора (короткое имя выводится слева вверху подокна) и в случае удачи возвращает номер подокна. Не следует путать короткое имя индикатора и имя файла, которое указывается при создании индикатора функциями iCustom() и IndicatorCreate(). Если короткое наименование...
 

Evet, tüm bu işlevleri biliyorum.

Görev basit, 4. alt penceredeki (kırmızı ile vurgulanan) nesneyi fiyata bağlamanız gerekiyor, bu durumda -0.02 ve grafikteki Y koordinatı 34


 
Vitaly Muzichenko :

Görev basit, 4. alt penceredeki (kırmızı ile vurgulanan) nesneyi fiyata bağlamanız gerekiyor, bu durumda -0.02 ve grafikteki Y koordinatı 34

 #property indicator_separate_window

#property indicator_buffers 0 
#property indicator_plots 0

#define CHART_SUBWINDOW_BORDER_SIZE 2 // Размер разделителя подокон

void OnInit ()
{
   int X = 0 ;
   int Y = 0 ;

   const int SubWindow = ChartWindowFind ();
  
   for ( int i = 0 ; i < SubWindow; i++)  
    Y += ( int ) ChartGetInteger ( 0 , CHART_HEIGHT_IN_PIXELS , i) + CHART_SUBWINDOW_BORDER_SIZE;
  
   int SubWindow2;
   datetime time;
   double Price;
  
   if ( ChartXYToTimePrice ( 0 , X, Y, SubWindow2, time, Price))
     Print (SubWindow2);
}

int OnCalculate ( const int rates_total, const int , const int , const double &[] )
{ 
   return (rates_total);
}
 
fxsaber :

Hazır sürüm için teşekkürler, göstergelere bağlamaya çalışacağım.

PS Anlaşıldı, tekrar teşekkürler!


Ancak soru devam ediyor, bir tef ile dans etmeniz gerekiyorsa, işlevde neden alt pencere numarasını belirtin?

 
Vitaly Muzichenko :

Bir tef ile dans etmeniz gerekiyorsa, işlevde neden genellikle alt pencerenin numarasını belirtin?

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Hatalar, hatalar, sorular

Kirill Belousov , 2017.10.15 19:50

Alt pencerenin numarasını belirtmiyoruz, ancak işlev bize ( bu bir çıktı parametresidir, bir giriş parametresi değil ) - fiyat grafiğinin belirtilen kimliğe sahip grafiğin hangi alt penceresinde bulunduğunu ve hangi fiyat ve zamanın karşılık geldiğini söyler. o çizelgede belirttiğimiz X,Y koordinatları.
 
Vitaly Muzichenko :

Hazır sürüm için teşekkürler, göstergelere bağlamaya çalışacağım.

PS Anlaşıldı, tekrar teşekkürler!


Ancak soru devam ediyor, bir tef ile dans etmeniz gerekiyorsa, işlevde neden alt pencere numarasını belirtin?

Bu parametre ile ChartGetInteger() kullanılarak dans kısaltılabilir.

CHART_WINDOW_YDISTANCE

Gösterge alt penceresinin üst çerçevesi ile ana grafik penceresinin üst çerçevesi arasındaki dikey Y ekseni boyunca piksel cinsinden mesafe. Fare olayları meydana geldiğinde, gösterge alt penceresindeki grafik nesnelerin koordinatları alt pencerenin sol üst köşesine göre ayarlanırken, imleç koordinatları ana grafik penceresinin koordinatlarında iletilir.

Değer, koordinatları alt pencere çerçevesinin sol üst köşesine göre ayarlanmış grafik nesnelerle doğru çalışma için ana grafiğin mutlak koordinatlarını alt pencerenin yerel koordinatlarına dönüştürmek için gereklidir.

int r/o değiştirici - alt pencere numarası

 
Kirill Belousov :

Bu parametre ile ChartGetInteger() kullanılarak dans kısaltılabilir.

CHART_WINDOW_YDISTANCE

Gösterge alt penceresinin üst çerçevesi ile ana grafik penceresinin üst çerçevesi arasındaki dikey Y ekseni boyunca piksel cinsinden mesafe. Fare olayları meydana geldiğinde, gösterge alt penceresindeki grafik nesnelerin koordinatları alt pencerenin sol üst köşesine göre ayarlanırken, imleç koordinatları ana grafik penceresinin koordinatlarında iletilir.

Değer, koordinatları alt pencere çerçevesinin sol üst köşesine göre ayarlanmış grafik nesnelerle doğru çalışma için ana grafiğin mutlak koordinatlarını alt pencerenin yerel koordinatlarına dönüştürmek için gereklidir.

int r/o değiştirici - alt pencere numarası

Teşekkürler, kısaltılmış, sonuç aynı, ancak daha az kod!