MQL5'te birlikte öğrenme ve yazma - sayfa 11

 
m_a_sim :

Her şeyin göstergelerle ilgili olduğu ortaya çıktı? test cihazı bana bir hata veriyor

2010.09.01 19:44:36 Core 1 2010.06.01 00:00:01 'trend_v3.mq5' içinde dizi aralık dışında (71,9)
2010.09.01 19:44:36 Core 1 2010.06.01 00:00:01 'trend_v3_5.mq5' içinde dizi aralık dışında (83,9)

Sınır dışı dizi .

'trend_v3.mq5' koduna bakın. Hatta belirli satırlar belirtilmiştir.

 
m_a_sim :

Her şeyin göstergelerle ilgili olduğu ortaya çıktı? test cihazı bana bir hata veriyor

2010.09.01 19:44:36 Core 1 2010.06.01 00:00:01 'trend_v3.mq5' içinde dizi aralık dışında (71,9)
2010.09.01 19:44:36 Core 1 2010.06.01 00:00:01 'trend_v3_5.mq5' içinde dizi aralık dışında (83,9)


alexvd :

Sınır dışı dizisi.

'trend_v3.mq5' koduna bakın. Hatta belirli satırlar belirtilmiştir.

Merak ediyorum, hindilerin kendileri işe yarıyor mu?
 
alexvd :

Sınır dışı dizi.

'trend_v3.mq5' koduna bakın. Hatta belirli satırlar belirtilmiştir.

büyük ihtimalle sorun göstergede, yeniden düzenledim, mql4 ile çiziliyor ama hata veriyor , yeni bar henüz dikkate alınmadı, nasıl doğru yapacağımı çözemiyorum yani yok mql5 ile çakışmalar

işte trend_v3. 9. satırı mı kastediyorsun?

 //+------------------------------------------------------------------+
//|                                                     trend_v3.mq5 |
//|                        Copyright 2010, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2010, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
#property indicator_chart_window


#property  indicator_buffers 1
#property indicator_plots   1
#property indicator_type1   DRAW_LINE
#property  indicator_color1  Blue


input int period = 20 ;

double A[];
//+--------------
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping

 SetIndexBuffer ( 0 ,A, INDICATOR_DATA );
   ArraySetAsSeries (A,true);

//---
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| 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[])
  {
  //int    counted_bars=IndicatorCounted();
   int   i, j, k, q, limit;
   double X[ 4 ][ 4 ], Y[ 4 ], B[ 4 ], x[ 4 ][ 2000 ], y[ 2000 ], a;
   
   // int Bar=Bars("EURUSD",_Period);
    ArraySetAsSeries (close,true);
 // limit=BarsCalculated-counted_bars;
 for (q=prev_calculated;q<rates_total;q++)
     {
  //for(q=0; q<Bar; q++)
  // {
     
   ArrayInitialize (X, 0 );
   ArrayInitialize (Y, 0 );   
   ArrayInitialize (B, 0 );   
   ArrayInitialize (x, 0 );
   ArrayInitialize (y, 0 );  
//===========================================
for (i= 0 ; i<=period; i++) {

x[ 0 ][i]= 1 ;
x[ 1 ][i]=i+q;
y[i]=   close[i+q];
}
//===========================================
  for (k= 1 ; k<=period; k++) {
  for (j= 0 ; j<= 1 ; j++) {
  for (i= 0 ; i<= 1 ; i++) { 
   X[i][j]=x[j][k]*x[i][k]+X[i][j];   
   }
   Y[j]=y[k]*x[j][k]+Y[j];
   }}  
//===========================================  
k= 0 ; 
 j= 1 ; 
  a=X[k][j]/X[k][k];
  for (i= 0 ; i<= 3 ; i++){
  X[i][j]=X[i][j]-X[i][k]*a; 
  }
  Y[j]=Y[j]-Y[k]*a;

//==========================================  
for (k= 2 ; k>= 1 ; k--){
a= 0 ;
for (i= 1 ; i>=k; i--){
a=X[i][k- 1 ]*B[i]+a;
}
B[k- 1 ]=(Y[k- 1 ]-a)/X[k- 1 ][k- 1 ];
}
//=========================================


   A[q]=B[ 0 ]+B[ 1 ]*q;
   }

//---
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+
Ограничения и проверки в экспертах
Ограничения и проверки в экспертах
  • 2010.08.02
  • MetaQuotes Software Corp.
  • www.mql5.com
Можно ли торговать этим инструментом в понедельник? Хватит ли денег на открытие позиции? Какой размер убытка мы получим, если сработает Stop Loss? Как ограничить количество отложенных ордеров? Была ли выполнена торговая операция на этом баре или это было на предыдущем? Если торговый робот не может сделать подобные проверки, то любая прибыльная торговая система может превратиться в проигрышную. В этой статье показаны примеры проверок, которые пригодятся в любом эксперте.
 
m_a_sim :

büyük ihtimalle sorun göstergede, yeniden düzenledim, mql4 ile çiziliyor ama hata veriyor , yeni bar henüz dikkate alınmadı, nasıl doğru yapacağımı çözemiyorum yani yok mql5 ile çakışmalar

işte trend_v3. 9. satırdan mı bahsediyorsun?


71 satır, 9 sembol...

Anladığım kadarıyla burası yemin ediyor

y[i]=   close[i+q];
 
Interesting :

71 satır, 9 sembol...

Anladığım kadarıyla burası yemin ediyor

Elle saymak yerine satır numarası ve karakter aramanın programlı bir yolu var mı?
 
m_a_sim :
Elle saymak yerine satır numarası ve karakter aramanın programlı bir yolu var mı?

Elbette var. Düzenle menüsü, Satır öğesine git ( Ctrl+G )...

not

Satır numarası ve konumu altta yazılır. Ayrıca işlevlere (adlarına göre) hızlı bir şekilde atlamanın bir yolu vardır...

 
Interesting :

Elbette var. Düzenle menüsü, satır öğesine git...

not

Satır numarası ve konumu altta yazılır. Ayrıca işlevlere (adlarına göre) hızlı bir şekilde atlamanın bir yolu vardır...


ve neden yakınlaşmayı sevmiyordu?
 
m_a_sim :
ve neden yakınlaşmayı sevmiyordu?
Dizinin boyutunu kontrol edin. Ama önce, EA'nın kendisine engellilik ve veri kullanılabilirliği için bir kontrol ekleyeceğim ...
Документация по MQL5: Операции с массивами / ArrayRange
Документация по MQL5: Операции с массивами / ArrayRange
  • www.mql5.com
Операции с массивами / ArrayRange - Документация по MQL5
 
Interesting :
Dizinin boyutunu kontrol edin. Ama önce, EA'nın kendisine engellilik ve veri kullanılabilirliği için bir kontrol eklerdim ...
Daha detaylı olarak mümkün mü, verinin engellilik ve erişilebilirliği ne anlama geliyor?
 
m_a_sim :
Daha detaylı olarak mümkün mü, verinin engellilik ve erişilebilirliği ne anlama geliyor?

Bunun gibi bir şey

 void OnTick ()
{
//----------------------------------------------------------------------------//
//Work variables
MqlTradeRequest mrequest;  
MqlTradeResult mresult;
MqlTick latest_price;   

int i, j,jj, k, g, q, ticket,l;
double stop;
//----------------------------------------------------------------------------//

ArraySetAsSeries (ind1,true);
ArraySetAsSeries (ind2,true);

   if (hind1== INVALID_HANDLE ||hind2== INVALID_HANDLE )
  {
   Print ( "Ошибка!!!" );
  }
   else
  {
  MAX = CopyBuffer (hind1, 2 , 0 , 3 ,ind1);
  MIN = CopyBuffer (hind2, 0 , 0 , 3 ,ind2);
  }
//----------------------------------------------------------------------------//  
}

not

Hindilerle yapılan tüm işleri de sınıf şeklinde düzenlerdim...

Neden: