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

 

En basit göstergeyi mql4'te yazdım, mql5'e çevirmek istedim ve bir haftadır deniyorum, olmuyor! Zaten sinirlerime dolanmış anne mql5, nasıl yani, mql5'te 34 satırdaki en sade hindi zaten 88 yazmış!

İşte mql4 kodu:

 #property indicator_separate_window
#property indicator_level1 0
#property indicator_buffers 3

extern int kol_vo_bar = 15 ;
extern string Symbol_1 = "GBPJPY" ;
extern string Symbol_2 = "EURJPY" ;

double SpreadA[];
double SpreadB[];
double Spread[];

int init()
{
   SetIndexBuffer ( 0 ,SpreadA);
   SetIndexBuffer ( 1 ,SpreadB);
   SetIndexBuffer ( 2 ,Spread);
   SetIndexStyle( 0 , DRAW_SECTION ,EMPTY, 2 ,Red);
   SetIndexStyle( 1 , DRAW_SECTION ,EMPTY, 2 ,Blue);
   SetIndexStyle( 2 , DRAW_HISTOGRAM ,EMPTY, 1 ,Gray);
   return ( 0 );
}

int start()
{
   int k;
   for (k = 0 ; k < iBars(Symbol_1, 0 ); k++)
   {
            SpreadA[k] = iClose(Symbol_1, 0 ,k)* 100 /iOpen(Symbol_1, 0 ,k+kol_vo_bar)- 100 ;
            SpreadB[k] = iClose(Symbol_2, 0 ,k)* 100 /iOpen(Symbol_2, 0 ,k+kol_vo_bar)- 100 ;                  
            Spread[k] = SpreadA[k]-SpreadB[k];
   }
   return ( 0 );
}

Ve burada mql5'te:

 #property indicator_separate_window
#property indicator_buffers 3
#property indicator_plots    3
//--- plot Label1
#property indicator_label1   "Label1"
#property indicator_type1   DRAW_SECTION
#property indicator_color1   clrRed
#property indicator_style1   STYLE_SOLID
#property indicator_width1   2
//--- plot Label2
#property indicator_label2   "Label2"
#property indicator_type2   DRAW_SECTION
#property indicator_color2   clrBlue
#property indicator_style2   STYLE_SOLID
#property indicator_width2   2

#property indicator_label3   "Label3"
#property indicator_type3   DRAW_HISTOGRAM
#property indicator_color3   clrGray
#property indicator_style3   STYLE_SOLID
#property indicator_width3   1

//--- input parameters
input int kol_vo_bar= 96 ;
input string    Symbol_1= "GBPJPY" ;
input string    Symbol_2= "EURJPY" ;
//--- indicator buffers
double          Label1Buffer[];
double          Label2Buffer[];
double          Label3Buffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   SetIndexBuffer ( 0 ,Label1Buffer, INDICATOR_DATA );
   SetIndexBuffer ( 1 ,Label2Buffer, INDICATOR_DATA );
   SetIndexBuffer ( 2 ,Label3Buffer, 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[])
  {
//---
   for ( int k= 0 ; k< Bars ( _Symbol , _Period ); k++)
   {
            Label1Buffer[k] = iClose(Symbol_1, PERIOD_CURRENT ,k)* 100 /iOpen(Symbol_1, PERIOD_CURRENT ,k)- 100 ;
            Label2Buffer[k] = iClose(Symbol_2, PERIOD_CURRENT ,k)* 100 /iOpen(Symbol_2, PERIOD_CURRENT ,k)- 100 ;                  
            Label3Buffer[k] = Label1Buffer[k]-Label2Buffer[k];
   }
//--- return value of prev_calculated for next call
   return (rates_total);
  }
double iClose( string symbol, ENUM_TIMEFRAMES tf, int index)
{
   if (index < 0 ) return (- 1 );
   double Arr[];
   if ( CopyClose (symbol,tf,index, 1 ,Arr)> 0 )
         return (Arr[ 0 ]);
   else return (- 1 );
}
double iOpen( string symbol, ENUM_TIMEFRAMES tf, int index)
{
   if (index < 0 ) return (- 1 );
   double Arr[];
   if ( CopyOpen (symbol,tf,index+kol_vo_bar, 1 ,Arr)> 0 )
         return (Arr[ 0 ]);
   else return (- 1 );
}

MT5'teki a göstergesinin çizgileri doğru görüntülenmiyor.

Neyi yanlış yazdım?

İyi insanlar yardım edin zavallıya acıyın ben zaten kırılma noktasındayım açıkçası. Burada yemin edememen çok yazık!

Moderatör beni banlamayın, bir terslik olursa önce bir kez uyarın.

 

Her işarette mevcut tüm çubukları yeniden hesaplarsınız, bu en iyi seçenek değildir, frenler korkunçtur.

 
zlodei :


MT5'teki a göstergesinin çizgileri doğru görüntülenmiyor.

Neyi yanlış yazdım?

PlotIndexXXX ile çalışma nerede?

tembellik belgeleri ve örnekleri okumanıza izin vermedi mi?



Moderatör beni banlamayın, bir terslik olursa önce bir kez uyarın.

kod tabanına gidin ve okuyun. yüzlerce örnek.
 
sergeev :

PlotIndexXXX ile çalışma nerede?

tembellik belgeleri ve örnekleri okumanıza izin vermedi mi?


kod tabanına gidin ve okuyun. yüzlerce örnek.

Merak ediyorum, neden kodun başında buna ihtiyacınız var:

 #property indicator_label1   "Label1"
#property indicator_type1   DRAW_SECTION
#property indicator_color1   clrRed
#property indicator_style1   STYLE_SOLID
#property indicator_width1   2

#property indicator_label2   "Label2"
#property indicator_type2   DRAW_SECTION
#property indicator_color2   clrBlue
#property indicator_style2   STYLE_SOLID
#property indicator_width2   2

#property indicator_label3   "Label3"
#property indicator_type3   DRAW_HISTOGRAM
#property indicator_color3   clrGray
#property indicator_style3   STYLE_SOLID
#property indicator_width3   1

Her satırın tüm özellikleri burada listeleniyor mu? Veya mql5 yeterli değil, şimdi satırların özelliklerini PlotIndex üzerinden mi aramanız gerekiyor?

Bir sürü örnek ve belge okudum,% 80 ve her şey anlaşılmaz, örneğin, neden basit şeyleri karmaşıklaştıralım?

Örneğin mql4'te:

   SetIndexStyle( 0 , DRAW_SECTION ,EMPTY, 2 ,Red);
   SetIndexStyle( 1 , DRAW_SECTION ,EMPTY, 2 ,Blue);
   SetIndexStyle( 2 , DRAW_HISTOGRAM ,EMPTY, 1 ,Gray);

Şimdi mql5'te, muhtemelen 50 satır olmak üzere satır stillerini belirlemenin ne kadar sürebileceğini hayal bile edemiyorum, ancak sonuç 1 ve aynı.

MQL5 PROGRAMCILAR için tasarlanmıştır, MQL4 Tüccarlar için tasarlanmıştır. Onlar. Sistemi test etmek istiyorsanız, mql4'te programlayın, aynısını sadece MT5 için istiyorsanız, bir programcıyla iletişime geçin veya ticareti durdurun ve mql5'i öğrenmeye zaman ayırın.

MT5'in piyasaya sürülmesiyle, bir tüccar olarak, yalnızca 1 gelişme fark ettim, bu, tüm işlemci çekirdeklerini kullanma yeteneğine sahip 64 bitlik bir test cihazı.

Mql dilinin karmaşıklığı, manuel veya otomatik ticaretin sonuçlarını etkilemeyecektir. Dilin karmaşıklığı programcılar için önemlidir, evet - güzel düğmeler ve paneller yapabilirsiniz, ancak her türlü anlaşılmaz WinAPI vb. ile entegre olabilirsiniz, ancak bu ticaretin sonucunu etkilemedi. Öyleyse neden tüm bu zorluklar mql4'te programlamak ve kontrol etmek mümkünse, bu sadece 1 BÜYÜK eksi - x64 terminali ve tüm çekirdekleri kullanma yeteneğine sahip bir test cihazı yok. Bu 2 şey olsaydı - MT4 fiyatları olmazdı. Ama kasten yapılmayacak, MT5 için rekabet yaratmasın ve benim gibi insanlar acı çeksin ya da para ödesin.

Genel olarak, dikkatiniz için, "yardımınız" için teşekkür ederiz. Yorum yapmayın, neyse konuya girmeyeceğim, bu sadece benim fikrim, artık yok, gittim.

 
Ben burada yeniyim. RTS endeksi vadeli işlemleri için MT5'te işlem yaptığımı söyle. 2009'dan bugüne bir teklif tablosu nasıl görüntülenir?
 
sbr080 :
Ben burada yeniyim. RTS endeksi vadeli işlemleri için MT5'te işlem yaptığımı söyle. 2009'dan bugüne bir teklif tablosu nasıl görüntülenir?
Size yapıştırılmış bir tablo vermesi için komisyoncuyla iletişime geçin.
 
barabashkakvn :
Size yapıştırılmış bir tablo vermesi için komisyoncuyla iletişime geçin.
Kendim yapıştırabilir miyim?
 
sbr080 :
Kendim yapıştırabilir miyim?
Numara. Sadece komisyoncu. Kendi başınıza iseniz, kendi göstergenizi yazmanız gerekecektir.
 
barabashkakvn :
Numara. Sadece komisyoncu. Kendi başınıza iseniz, kendi göstergenizi yazmanız gerekecektir.
teşekkür etmek.
 
Söyleyin, bir uzmanın kullandığı parametrelerle teknik göstergeleri tablo üzerinde göstermesi mümkün müdür? Onlar. strateji test cihazında görselleştirme kullanırken olduğu gibi yaklaşık olarak aynıdır. Bu bilgiyi hiçbir yerde bulamıyorum.
Документация по MQL5: Технические индикаторы
Документация по MQL5: Технические индикаторы
  • www.mql5.com
Технические индикаторы - Документация по MQL5