[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 265

 
Beyler, yardımınıza ihtiyacım var, ortalama RSI için EA'daki iMAOnArray işlevini kullanamıyorum. Birisi bu konuyla ilgili bir kod parçası atabilir mi? Teşekkür ederim.
 
kwadrad :
Beyler, yardımınıza ihtiyacım var, ortalama RSI için EA'daki iMAOnArray işlevini kullanamıyorum. Birisi bu konuyla ilgili bir kod parçası atabilir mi? Teşekkür ederim.
 //+------------------------------------------------------------------+
//|                                         Heiken Ashi Smoothed.mq4 |
//+------------------------------------------------------------------+
//|                                                      mod by Raff |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, Forex-TSD.com "
#property link       "https://www.forex-tsd.com/"

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Magenta
#property indicator_color2 MediumSpringGreen
#property indicator_color3 Magenta
#property indicator_color4 MediumSpringGreen
//---- parameters
extern int MaMetod  = 2 ; /*

0 - MODE_SMA Простое скользящее среднее 
1 - MODE_EMA 1 Экспоненциальное скользящее среднее 
2 - MODE_SMMA 2 Сглаженное скользящее среднее 
3 - MODE_LWMA 3 Линейно-взвешенное скользящее среднее 


*/
extern int MaPeriod = 6 ;
extern int MaMetod2  = 3 ;
extern int MaPeriod2 = 2 ;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];

double ExtMapBuffer5[];
double ExtMapBuffer6[];
double ExtMapBuffer7[];
double ExtMapBuffer8[];
//----
int ExtCountedBars= 0 ;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//|------------------------------------------------------------------|
int init()
  {
//---- indicators
   IndicatorBuffers ( 8 );

   SetIndexStyle ( 0 , DRAW_HISTOGRAM , 0 , 1 , Magenta ); // Хай/лоу отрисованной свечи
   SetIndexBuffer ( 0 , ExtMapBuffer1);
   SetIndexStyle ( 1 , DRAW_HISTOGRAM , 0 , 1 , MediumSpringGreen ); // Хай/лоу отрисованной гистограммы
   SetIndexBuffer ( 1 , ExtMapBuffer2);
   SetIndexStyle ( 2 , DRAW_HISTOGRAM , 0 , 3 , Magenta ); // Оупен/Клоуз отрисованной гистограммы
   SetIndexBuffer ( 2 , ExtMapBuffer3);
   SetIndexStyle ( 3 , DRAW_HISTOGRAM , 0 , 3 , MediumSpringGreen ); // Оупен/Клоуз отрисованной гистограммы
   SetIndexBuffer ( 3 , ExtMapBuffer4);
//----
   SetIndexDrawBegin ( 0 , 5 );
//---- indicator buffers mapping
   SetIndexBuffer ( 0 ,ExtMapBuffer1);
   SetIndexBuffer ( 1 ,ExtMapBuffer2);
   SetIndexBuffer ( 2 ,ExtMapBuffer3);
   SetIndexBuffer ( 3 ,ExtMapBuffer4);
   
   // Накопительные массивы - они подготавливаются, а затем усредняются второй скользящей
   // результат усреднения вносится в индикаторный буффер и отрисовывается на графике
   SetIndexBuffer ( 4 ,ExtMapBuffer5);
   SetIndexBuffer ( 5 ,ExtMapBuffer6);
   SetIndexBuffer ( 6 ,ExtMapBuffer7);
   SetIndexBuffer ( 7 ,ExtMapBuffer8);
//---- initialization done
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//---- TODO: add your code here
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   double maOpen, maClose, maLow, maHigh; // переменные для показаний скользящих, построенных по разным ценам
   double haOpen, haHigh, haLow, haClose; // переменны вычисленные 
   if ( Bars <= 10 ) return ( 0 );
   ExtCountedBars= IndicatorCounted ();
//---- check for possible errors
   if (ExtCountedBars< 0 ) return (- 1 );
//---- last counted bar will be recounted
   if (ExtCountedBars> 0 ) ExtCountedBars--;
   int pos= Bars -ExtCountedBars- 1 ;
   int pos2=pos;
   while (pos>= 0 )
     {
      maOpen= iMA ( NULL , 0 ,MaPeriod, 0 ,MaMetod,MODE_OPEN,pos);
      maClose= iMA ( NULL , 0 ,MaPeriod, 0 ,MaMetod,MODE_CLOSE,pos);
      maLow= iMA ( NULL , 0 ,MaPeriod, 0 ,MaMetod,MODE_LOW,pos);
      maHigh= iMA ( NULL , 0 ,MaPeriod, 0 ,MaMetod,MODE_HIGH,pos);

      haOpen=(ExtMapBuffer5[pos+ 1 ]+ExtMapBuffer6[pos+ 1 ])/ 2 ;
      haClose=(maOpen+maHigh+maLow+maClose)/ 4 ;
      haHigh= MathMax (maHigh, MathMax (haOpen, haClose));
      haLow= MathMin (maLow, MathMin (haOpen, haClose));

       if (haOpen<haClose) 
        {
         ExtMapBuffer7[pos]=haLow;
         ExtMapBuffer8[pos]=haHigh;
        } 
       else
        {
         ExtMapBuffer7[pos]=haHigh;
         ExtMapBuffer8[pos]=haLow;
        } 
      ExtMapBuffer5[pos]=haOpen;
      ExtMapBuffer6[pos]=haClose;

           pos--;
     }
     
   int i;
   for (i= 0 ; i<pos2; i++) ExtMapBuffer1[i]= iMAOnArray (ExtMapBuffer7, Bars ,MaPeriod2, 0 ,MaMetod2,i);
   for (i= 0 ; i<pos2; i++) ExtMapBuffer2[i]= iMAOnArray (ExtMapBuffer8, Bars ,MaPeriod2, 0 ,MaMetod2,i);
   for (i= 0 ; i<pos2; i++) ExtMapBuffer3[i]= iMAOnArray (ExtMapBuffer5, Bars ,MaPeriod2, 0 ,MaMetod2,i);
   for (i= 0 ; i<pos2; i++) ExtMapBuffer4[i]= iMAOnArray (ExtMapBuffer6, Bars ,MaPeriod2, 0 ,MaMetod2,i);

//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
 

Bir soru daha. Daha önce tartışılmış olabilir, ama yine de. Test cihazında görselleştirme modunda (tüm onaylar), tekliflerin alınma oranını ayarlayabilirsiniz. Maksimum = 32. Maksimum 31 koydum ve test nispeten yavaş. En fazla 32 koyuyorum ve çok hızlı uçuyor. Bunun üstesinden nasıl gelirsin? İşte olanlar:

>
 
Ve izlemeyeceğim. Bu soru forum kadar eski. Nedense hala düzelmedi.
 
granit77 :
Ve izlemeyeceğim. Bu soru forum kadar eski. Nedense hala düzelmedi.

Bu, test cihazının "vurgulaması"!

;)

 
drknn :

Bir soru daha. Daha önce tartışılmış olabilir, ama yine de. Test cihazında görselleştirme modunda (tüm onaylar), tekliflerin alınma oranını ayarlayabilirsiniz. Maksimum = 32. Maksimum 31 koydum ve test nispeten yavaş. En fazla 32 koyuyorum ve çok hızlı uçuyor. Bunun üstesinden nasıl gelirsin? İşte olanlar:


https://www.mql5.com/ru/forum/131853/page5#548438 adresine gidin, gerekli noktalarda veya belirli aralıklarla mola verin, hızı "32" olarak ayarlayın ve keyfini çıkarın.
 
Yazık - bu nedenle hayatın çok fazla zamanı onarılamaz bir şekilde öldürüldü. Ve sadece bende de yok.
 
FAQ :

https://www.mql5.com/ru/forum/131853/page5#548438 adresine gidin, gerekli noktalarda veya belirli aralıklarla mola verin, hızı "32" olarak ayarlayın ve keyfini çıkarın.

fiziksel olarak shift'e basamıyorum :(
 
Kahretsin, bu danışman tarafından yapılmalı. Her mumun başında birkaç milisaniye yavaşlamak zor mu? Yoksa karmaşık bir yazılım tasarımı mı?
 
Teşekkür ederim. Soru kaldırıldı - Açılış fiyatlarında test edeceğim :(