Errores, fallos, preguntas - página 59

 
Renat:

Afortunadamente, el problema de las configuraciones antiguas ha quedado atrás. 50 construcciones es mucho tiempo y nos hemos permitido cambiar de formato varias veces.

Para los corredores hemos proporcionado no sólo una red de entrega de distribuciones distribuidas, sino también un depósito centralizado de todas las distribuciones en files.metaquotes.net - esto resuelve fundamentalmente el problema de las actualizaciones oportunas de cientos de copias de distribuciones para diferentes empresas.

En cualquier caso, mis disculpas por este disgusto; estoy seguro de que no volverá a ocurrir.

Además, ahora aplicaremos un método aún más avanzado para localizar de forma automática y segura los servidores de comercio de los corredores cuando fallen las conexiones con los puntos de acceso conocidos. Esto resolverá fundamentalmente el problema de la publicación de listas de puntos de acceso que funcionan.

Gracias a Dios que Alpari se ha arreglado, creo que el lanzamiento ya está disponible allí en la página web 291. Queda por explicar a Admiral markets que no es necesario mantener la versión antigua en el sitio - hay una versión 237 que pesa 7 mb... :)
 
EQU:

Chicos, ¿qué pasa con el cursor... Definitivamente es F7, está saliendo...

En lugar de hosannas, sólo palabras...

y las teclas de acceso rápido - por favor - traer de vuelta... no es difícil... es un hábito - se ha dibujado durante años...


En cuanto a las teclas de acceso rápido, se acepta. La tarea está ahí.

Es un poco más complicado con el cursor. Sigue sin observarse ni siquiera por las acciones que mencionas.

 

Escribí una situación de este tipo, traté de ejecutarlo, el terminal se bloquea.

2010.07.22 13:43:55 StandardDeviationChannel (EURUSD,M1) Array fuera de rango en 'StandardDeviationChannel.mq5' (114,51)

He tomado un ejemplo del indicador MACD en el conjunto estándar de indicadores personalizados en la carpeta ...\NMQL5\NIndicadores\NEjemplos

//+------------------------------------------------------------------+
//|                                     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:

Escribí una situación de este tipo, trato de ejecutarlo, el terminal se bloquea.

2010.07.22 13:43:55 StandardDeviationChannel (EURUSD,M1) Array fuera de rango en 'StandardDeviationChannel.mq5'(114,51)

Por favor, indique dónde se encuentran las posiciones de la línea 114 y 51 en el código adjunto.
 
ExtUpBuffer[i]=ExtMABuffer[i]+(InpDeviation*E xtStdDevBuffer[i]);
resaltados en rojo
 
sergey1294:
resaltados en rojo.

Aparentemente su to_copy es claramente menor que rates_total.
 
mql5:
Aparentemente, su to_copy es claramente menor que rates_total.

Sí, to_copy=1.
 
Rosh:
Sí, to_copy=1.

y ¿cómo se puede arreglar esto? si es uno, ¿por qué cuando se eliminan estas líneas

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

el indicador comienza a funcionar y muestra МА

 
sergey1294:

y ¿cómo se puede arreglar esto? si es uno, ¿por qué cuando se eliminan estas líneas

el indicador comienza a funcionar y muestra МА


Ha especificado

#property indicator_buffers 4

y lo pones en

   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:
Usted señaló

#property indicator_buffers 4

pero lo hiciste.

Muchas gracias, no me había dado cuenta de una cosa tan pequeña, ya está bien