[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 263

 
Leute, ich brauche eure Hilfe, ich kann die Funktion iMAOnArray für die RSI-Mittelwertbildung in meinem EA nicht verwenden. Kann jemand einen Code zu diesem Thema liefern? Danke.
 
kwadrad:
Leute, ich brauche eure Hilfe, ich kann die Funktion iMAOnArray für die RSI-Mittelwertbildung in meinem EA nicht verwenden. Kann jemand einen Code zu diesem Thema liefern? Danke.
//+------------------------------------------------------------------+
//|                                         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);
  }
//+------------------------------------------------------------------+
 

Eine weitere Frage. Vielleicht wurde es schon besprochen, aber trotzdem. Im Tester im Visualisierungsmodus (alle Häkchen) können Sie die Geschwindigkeit des Eintreffens der Angebote einstellen. Maximum = 32. Ich habe den Höchstwert 31 eingestellt, und der Test ist relativ langsam. Ich habe den Höchstwert auf 32 eingestellt und es geht sehr schnell. Wie kann ich sie umgehen? Hier ist ein Blick auf das, was Sie bekommen:

>
 
Und ich werde nicht nachschauen. Dieses Thema ist so alt wie das Forum. Aus irgendeinem Grund hat sich die Situation immer noch nicht verbessert.
 
granit77:
Und ich werde es mir nicht ansehen. Dieses Thema ist so alt wie das Forum. Aus irgendeinem Grund hat sich die Situation immer noch nicht verbessert.

Das ist das "Highlight" des Testers!

;)

 
drknn:

Eine weitere Frage. Vielleicht wurde es schon besprochen, aber trotzdem. Im Tester können Sie im Visualisierungsmodus (alle Häkchen) die Geschwindigkeit der Ankunft der Angebote einstellen. Maximum = 32. Ich habe den Höchstwert 31 eingestellt, und der Test ist relativ langsam. Ich habe den Höchstwert auf 32 eingestellt und es geht sehr schnell. Wie kann ich sie umgehen? Hier ist ein Blick auf das, was Sie bekommen:


Gehen Sie auf https://www.mql5.com/ru/forum/131853/page5#548438, halten Sie an den richtigen Stellen oder in den richtigen Abständen an, stellen Sie eine Geschwindigkeit von 32" ein und genießen Sie.
 
Das ist schade, denn dadurch ging viel Lebenszeit unwiederbringlich verloren. Und ich bin nicht der Einzige.
 
FAQ:

Gehen Sie auf https://www.mql5.com/ru/forum/131853/page5#548438, halten Sie an den richtigen Stellen oder in den richtigen Intervallen an, stellen Sie eine Geschwindigkeit von "32" ein und genießen Sie.

Ich schaffe es einfach nicht, den Schalthebel rechtzeitig zu treffen :(
 
Ist es schwierig, zu Beginn jeder Kerze für ein paar Millisekunden zu verlangsamen, oder ist es ein kompliziertes Software-Design?
 
Ich danke Ihnen. Frage entfernt - wird zu Eröffnungspreisen getestet :(