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

 
Alex :

Cevaplar ve sabır için teşekkürler.


Vladimir, muhtemelen sana zaten işkence ettim :) Ama temellerin temelleri boyunca ilerlemek çok zor bir şey. Kopyalama işlevleriyle bir test görevi yapmaya çalıştım... Printe'de rakamlar olmasına rağmen gösterge çizilmiyor... Hiçbir şey anlamıyorum.


Aynı UpBar dizisi iki arabelleğe gider: 0 ve 1.

Değer ayarlamak istemediğiniz dizinler için boş değerler yazın.

Ve anladığım kadarıyla 3'ten Histori çubuklarına kadar değerler yazıyorsunuz. Bu, en son değerlerin değil, en eski değerlerin yazılacağı anlamına gelir (numaralandırma sırası mql4'teki numaralandırmadan farklıdır).

 
Alex :

Cevaplar ve sabır için teşekkürler.


Vladimir, muhtemelen sana zaten işkence ettim :) Ama temellerin temelleri boyunca ilerlemek çok zor bir şey. Kopyalama işlevleriyle bir test görevi yapmaya çalıştım... Printe'de rakamlar olmasına rağmen gösterge çizilmiyor... Hiçbir şey anlamıyorum.


 //+------------------------------------------------------------------+
//|                                                        PBars.mq5 |
//|                                                                  |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright ""
#property link        ""
#property version    "1.00"
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_plots    1
//--- plot UpBar
#property indicator_label1   "UpBar"
#property indicator_type1   DRAW_HISTOGRAM
#property indicator_color1   clrGreen
#property indicator_style1   STYLE_SOLID
#property indicator_width1   6
////--- plot DnBar
//#property indicator_label2  "DnBar"
//#property indicator_type2   DRAW_HISTOGRAM
//#property indicator_color2  clrRed
//#property indicator_style2  STYLE_SOLID
//#property indicator_width2  6
//--- input parameters
input int    Histori= 30 ;
input ENUM_TIMEFRAMES TimeFrame= 0 ;
input string   Simvol= "EURUSD" ;
//--- indicator buffers
double          UpBar[];
//double         DnBar[];
double          O_Price[];
double          C_Price[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   SetIndexBuffer ( 0 ,UpBar, INDICATOR_DATA );
//SetIndexBuffer(1,UpBar,INDICATOR_DATA);
   SetIndexBuffer ( 1 ,O_Price, INDICATOR_CALCULATIONS );
   SetIndexBuffer ( 2 ,C_Price, INDICATOR_CALCULATIONS );
//---
   ArraySetAsSeries (O_Price, true );
   ArraySetAsSeries (C_Price, true );
   ArraySetAsSeries (UpBar, true );
   ArrayInitialize (UpBar, 0.0 );
//---
   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[])
  {
   ArraySetAsSeries (open, true );
   ArraySetAsSeries (close, true );

   if (prev_calculated== 0 )
     {
       ArrayInitialize (UpBar, 0.0 );
       ArrayInitialize (O_Price, 0.0 );
       ArrayInitialize (C_Price, 0.0 );
       Print ( __FUNCTION__ );
       ResetLastError ();
       if ( CopyOpen (Simvol,TimeFrame, 0 ,Histori,O_Price)==- 1 )
         Print ( "Error CopyOpen #" , GetLastError ());
       ResetLastError ();
       if ( CopyClose (Simvol,TimeFrame, 0 ,Histori,C_Price)==- 1 )
         Print ( "Error CopyClose #" , GetLastError ());
       for ( int t= 3 ; t<Histori; t++)
        {
         UpBar[t]= MathAbs ( NormalizeDouble ((O_Price[t]-C_Price[t]), Digits ()));
         Print ( IntegerToString (t), " " , DoubleToString (UpBar[t], Digits ()));
         int g= 0 ;
        }
     }
   return (rates_total);
  }
//+------------------------------------------------------------------+

Ve sonuç:

Sonuç

 
Karputov Vladimir :

Ve sonuç:


Tekrar teşekkürler.
 
Alex :
Tekrar çok teşekkür ederim.
Rica ederim. MQL5 hakkında herhangi bir sorunuz varsa bizimle iletişime geçin.
 

Lütfen MQL4'te belirtilen çubuk sayısı için maksimum/minimum fiyat değerlerini döndüren işlevler olup olmadığını söyler misiniz?

Sanırım bir tane vardı ama bulamıyorum...

 
-Aleks- :

Lütfen MQL4'te belirtilen çubuk sayısı için maksimum/minimum fiyat değerlerini döndüren işlevler olup olmadığını söyler misiniz?

Sanırım bir tane vardı ama bulamıyorum...

https://docs.mql4.com/ru/series/ihighest

https://docs.mql4.com/ru/series/ilowest

iHighest - Доступ к таймсериям и индикаторам - Справочник MQL4
iHighest - Доступ к таймсериям и индикаторам - Справочник MQL4
  • docs.mql4.com
iHighest - Доступ к таймсериям и индикаторам - Справочник MQL4
 
Evet, teşekkür ederim - kötü bakıyordum - zaten kendim buldum.
 
-Aleks- :
Evet, teşekkürler - kötü bakıyordum - zaten kendim buldum.
mql5 CopyHigh ve CopyLow ile uyumlu işlevler, ardından ortaya çıkan ArrayMaximum ve ArrayMinimum dizisinde
 
Bir ticaret sistemini oluşturan her bir değişken kümesinin rastgele bir kâr ve zarar dağılımı ile karakterize edildiği doğru mu?
 
Евгений :
Bir ticaret sistemini oluşturan her bir değişken kümesinin rastgele bir kâr ve zarar dağılımı ile karakterize edildiği doğru mu?

Karşı soru.

Ne düşünüyorsunuz - herhangi bir döviz çiftindeki hareket: çizelge, teklif ve satış fiyatları vb., değişkenleriniz grubuna mı bağlı?