Fehler, Irrtümer, Fragen - Seite 59

 
Renat:

Glücklicherweise liegt das Problem der alten Konfigurationen nun hinter uns. 50 Jahre sind eine sehr lange Zeit und wir haben uns mehrmals erlaubt, das Format zu wechseln.

Für die Makler haben wir nicht nur ein verteiltes Distributionsnetzwerk bereitgestellt, sondern auch ein zentrales Repository aller Distributionen unter files.metaquotes.net - dies löst grundsätzlich das Problem der rechtzeitigen Aktualisierung von Hunderten von Kopien von Distributionen für verschiedene Unternehmen.

Auf jeden Fall möchte ich mich für diese Unannehmlichkeit entschuldigen - ich bin sicher, es wird nicht wieder vorkommen.

Darüber hinaus werden wir jetzt eine noch fortschrittlichere Methode anwenden, um automatisch und sicher Broker-Handelsserver zu finden, wenn Verbindungen zu bekannten Zugangspunkten ausfallen. Damit wird das Problem der Veröffentlichung von Listen funktionierender Zugangspunkte grundlegend gelöst.

Gott sei Dank ist Alpari wieder in Ordnung, ich glaube, die Version ist jetzt dort auf der Website 291 verfügbar. Es bleibt für Admiral Markets zu erklären, dass es nicht notwendig ist, die alte Version auf der Website zu halten - es gibt eine 237 Version mit 7 mb... :)
 
EQU:

Leute, was ist mit dem Cursor... Es ist definitiv F7, es springt heraus...

Statt Hosiannas - nur Worte...

und die Hotkeys - bitte - zurückbringen... es ist nicht schwierig... es ist eine Gewohnheit - es wird seit Jahren gezeichnet...


Was die Hotkeys betrifft - akzeptiert. Die Aufgabe ist da.

Mit dem Cursor ist es ein bisschen komplizierter. Auch bei den von Ihnen erwähnten Maßnahmen wird dies nicht beachtet.

 

Ich schrieb eine solche Situation, ich versuchte, es auszuführen, stürzt Terminal.

2010.07.22 13:43:55 StandardDeviationChannel (EURUSD,M1) Array außerhalb des Bereichs in 'StandardDeviationChannel.mq5' (114,51)

Ich habe ein Beispiel des MACD-Indikators aus dem Standardsatz der benutzerdefinierten Indikatoren im Ordner ...\MQL5\Indikatoren\Beispiele

//+------------------------------------------------------------------+
//|                                     StandardDeviationChannel.mq5 |
//|                                                    Сергей Грицай |
//|                                               sergey1294@list.ru |
//+------------------------------------------------------------------+
#property copyright "Сергей Грицай"
#property link      "sergey1294@list.ru"
#property version   "1.00"
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_plots   3
#property indicator_type1   DRAW_LINE
#property indicator_type2   DRAW_LINE
#property indicator_type3   DRAW_LINE
#property indicator_color1  DodgerBlue
#property indicator_color2  DodgerBlue
#property indicator_color3  Blue
#property indicator_style3  STYLE_DOT

input int                InpMAPeriod=14;              // Period
input int                InpMAShift=0;                // Shift
input ENUM_MA_METHOD     InpMAMethod=MODE_SMA;        // Method
input ENUM_APPLIED_PRICE InpAppliedPrice=PRICE_CLOSE; // Applied price
input int                InpDeviation=2.0;            // Deviation
//--- indicator buffers
double                   ExtUpBuffer[];
double                   ExtDownBuffer[];
double                   ExtMiddBuffer[];
double                   ExtMABuffer[];
double                   ExtStdDevBuffer[];
//--- indicator handle
int                      ExtMAHandle;
int                      ExtStdDevMAHandle;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   SetIndexBuffer(0,ExtUpBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,ExtDownBuffer,INDICATOR_DATA);
   SetIndexBuffer(2,ExtMiddBuffer,INDICATOR_DATA);
   SetIndexBuffer(3,ExtMABuffer,INDICATOR_CALCULATIONS);
   SetIndexBuffer(4,ExtStdDevBuffer,INDICATOR_CALCULATIONS);
   
   PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,InpMAPeriod-1);
   PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,InpMAPeriod-1);
   PlotIndexSetInteger(2,PLOT_DRAW_BEGIN,InpMAPeriod-1);


   ExtMAHandle=iMA(NULL,0,InpMAPeriod,0,InpMAMethod,InpAppliedPrice);
   ExtStdDevMAHandle=iStdDev(NULL,0,InpMAPeriod,0,InpMAMethod,InpAppliedPrice);
   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[])
  {
//---
//--- return value of prev_calculated for next call
   if(rates_total<InpMAPeriod)
      return(0);
//--- not all data may be calculated
   int calculated=BarsCalculated(ExtMAHandle);
   if(calculated<rates_total)
     {
      Print("Not all data of ExtMAHandle is calculated (",calculated,"bars ). Error",GetLastError());
      return(0);
     }
   calculated=BarsCalculated(ExtStdDevMAHandle);
   if(calculated<rates_total)
     {
      Print("Not all data of ExtStdDevMAHandle is calculated (",calculated,"bars ). Error",GetLastError());
      return(0);
     }
//--- we can copy not all data
   int to_copy;
   if(prev_calculated>rates_total || prev_calculated<0) to_copy=rates_total;
   else
     {
      to_copy=rates_total-prev_calculated;
      if(prev_calculated>0) to_copy++;
     }
//--- get MA buffer
   if(CopyBuffer(ExtMAHandle,0,0,to_copy,ExtMABuffer)<=0)
     {
      Print("Getting fast MA is failed! Error",GetLastError());
      return(0);
     }
//--- get StdDev buffer
   if(CopyBuffer(ExtStdDevMAHandle,0,0,to_copy,ExtStdDevBuffer)<=0)
     {
      Print("Getting slow StdDev is failed! Error",GetLastError());
      return(0);
     }
//---
   int limit;
   if(prev_calculated==0)
      limit=0;
   else limit=prev_calculated-1;
//--- the main loop of calculations
   for(int i=limit;i<rates_total;i++)
     {
      ExtMiddBuffer[i]=ExtMABuffer[i];
      ExtUpBuffer[i]=ExtMABuffer[i]+(InpDeviation*ExtStdDevBuffer[i]);
      ExtDownBuffer[i]=ExtMABuffer[i]-(InpDeviation*ExtStdDevBuffer[i]);
     }
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
sergey1294:

Ich schrieb eine solche Situation, ich versuche, es auszuführen, stürzt Terminal.

2010.07.22 13:43:55 StandardDeviationChannel (EURUSD,M1) Array außerhalb des Bereichs in 'StandardDeviationChannel.mq5'(114,51)

Bitte geben Sie an, wo sich die Positionen der Zeilen 114 und 51 im beigefügten Code befinden.
 
ExtUpBuffer[i]=ExtMABuffer[i]+(InpDeviation*E xtStdDevBuffer[i]);
rot hervorgehoben
 
sergey1294:
in rot hervorgehoben.

Offenbar ist Ihr to_copy deutlich kleiner als rates_total.
 
mql5:
Offenbar ist Ihr to_copy deutlich kleiner als rates_total.

Ja, to_copy=1.
 
Rosh:
Ja, to_copy=1.

und wie lässt sich das Problem beheben? Wenn es eines ist, warum ist es so, dass, wenn man diese Zeilen entfernt

      ExtUpBuffer[i]=ExtMABuffer[i]+(InpDeviation*ExtStdDevBuffer[i]);
      ExtDownBuffer[i]=ExtMABuffer[i]-(InpDeviation*ExtStdDevBuffer[i]);

der Indikator beginnt zu arbeiten und zeigt МА an

 
sergey1294:

und wie lässt sich das Problem beheben? Wenn es eines ist, warum ist es so, dass, wenn man diese Zeilen entfernt

der Indikator beginnt zu arbeiten und zeigt МА an


Sie haben angegeben

#property indicator_buffers 4

und Sie setzen es auf

   SetIndexBuffer(0,ExtUpBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,ExtDownBuffer,INDICATOR_DATA);
   SetIndexBuffer(2,ExtMiddBuffer,INDICATOR_DATA);
   SetIndexBuffer(3,ExtMABuffer,INDICATOR_CALCULATIONS);
   SetIndexBuffer(4,ExtStdDevBuffer,INDICATOR_CALCULATIONS);
 
mql5:
Sie haben darauf hingewiesen

#property indicator_buffers 4

aber Sie haben es getan.

Vielen Dank, ich hatte eine solche Kleinigkeit nicht bemerkt, jetzt ist es in Ordnung.
Grund der Beschwerde: