Erros, bugs, perguntas - página 59

 
Renat:

Felizmente, o problema das velhas configurações está ultrapassado. 50 construções há muito tempo e já nos permitimos mudar várias vezes os formatos.

Para os corretores fornecemos não só uma rede de distribuição distribuída, mas também um repositório centralizado de todas as distribuições em files.metaquotes.net - isto resolve fundamentalmente o problema das actualizações atempadas de centenas de cópias de distribuições para diferentes empresas.

Em todo o caso, as minhas desculpas por este aborrecimento - tenho a certeza de que não voltará a acontecer.

Além disso, vamos agora aplicar um método ainda mais avançado de localização automática e segura de servidores de negociação de corretores quando as ligações a pontos de acesso conhecidos falharem. Isto irá resolver fundamentalmente o problema da publicação de listas de pontos de acesso de trabalho.

Graças a Deus Alpari está resolvido, penso que o lançamento está agora disponível no website 291. Resta explicar aos mercados Almirantes que não é necessário manter a versão antiga no site - há uma versão de 237 lançamentos com um peso de 7 mb... :)
 
EQU:

Rapazes, o que se passa com o cursor... É definitivamente F7, está a sair...

Em vez de hosannas - apenas palavras...

e as hotkeys - por favor - trazem de volta... não é difícil... é um hábito - está desenhado há anos...


Quanto às hotkeys - aceites. A tarefa está lá.

É um pouco mais complicado com o cursor. Ainda não observado, mesmo pelas acções que mencionou.

 

Escrevi uma tal situação, tentei geri-la, acidentes terminais.

2010.07.22 13:43:55 StandardDeviationChannel (EURUSD,M1) Array out of range in 'StandardDeviationChannel.mq5' (114,51)

Tomei um exemplo do indicador MACD no conjunto padrão de indicadores personalizados na pasta ...MQL5 Indicadores\\\i1}Exemplos

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

Escrevi uma tal situação, tentei geri-la, acidentes terminais.

2010.07.22 13:43:55 StandardDeviationChannel (EURUSD,M1) Array out of range in 'StandardDeviationChannel.mq5'(114,51)

Favor indicar onde se encontram as posições das linhas 114 e 51 no código em anexo.
 
ExtUpBuffer[i]=ExtMABuffer[i]+(InpDeviation*E xtStdDevBuffer[i]);
destacado a vermelho
 
sergey1294:
destacado a vermelho.

Aparentemente, o seu to_copy é claramente inferior às taxas_total.
 
mql5:
Aparentemente, o seu to_copy é claramente inferior às taxas_total.

Sim, to_copy=1.
 
Rosh:
Sim, to_copy=1.

e como é que isto pode ser corrigido? se é uma, porque é que quando se remove estas linhas

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

o indicador começa a funcionar e mostra МА

 
sergey1294:

e como é que isto pode ser corrigido? se é uma, porque é que quando se remove estas linhas

o indicador começa a funcionar e mostra МА


Especificou

#property indicator_buffers 4

e define-o para

   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:
Apontou

#property indicator_buffers 4

mas o fez.

Muito obrigado, não tinha reparado numa coisa tão pequena, agora está tudo bem