Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 266

 
jommerbot:

OK, mesmo no caso mais simples, não funciona:

Não compreendo onde está o meu erro. Copiar o mesmo tampão indicador em EA e trabalhos de script, mas não em indicador. O manípulo indicador é inicializado sem erros.

Encontrar a diferença. )

#property copyright "Copyright 2010, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots   1
#property  indicator_type1   DRAW_LINE
#property  indicator_color1  clrRed
//---
double ExtLineBuffer[];
int    iRocHandleEURUSD =INVALID_HANDLE;
int    iPlotShift       =0;
int    iPeriod          =6;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit()
  {
   IndicatorSetInteger(INDICATOR_DIGITS,2);
   SetIndexBuffer(0,ExtLineBuffer,INDICATOR_DATA);
   PlotIndexSetInteger(0,PLOT_SHIFT,iPlotShift);
   PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,iPeriod-1);
//---
   iRocHandleEURUSD=iCustom("EURUSD",0,"Examples\\ROC");
   if(iRocHandleEURUSD==INVALID_HANDLE)
      Print("Не удалось получить хендл индикатора ROC EURUSD");
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int    rates_total,
                const int    prev_calculated,
                const int    begin,
                const double &price[])
  {
//---
   if(rates_total<iPeriod)
      return(0);
//---
   int first=0;
   double aRocRatesEURUSD[];
   ArraySetAsSeries(ExtLineBuffer,true);
//---
   if(prev_calculated==0)
      first=0;
   else
      first=prev_calculated-1;
//---
   for(int bar=first; bar<rates_total; bar++)
     {
      CopyBuffer(iRocHandleEURUSD,0,bar,1,aRocRatesEURUSD);
      Print("bar: ",bar,"; value: ",DoubleToString((aRocRatesEURUSD[0]!=EMPTY_VALUE)?aRocRatesEURUSD[0]:0,2));
      ExtLineBuffer[bar]=aRocRatesEURUSD[0];
     }
//---
   return(rates_total);
  }
//+------------------------------------------------------------------+
 

Sim, percebi, na última versão do meu código o manipulador do indicador estava a entrar no âmbito errado da variável. Perdi-o, obrigado. Mas há um problema - no testador, nas barras históricas antes do início do período de testes, o indicador funciona normalmente, mas a partir do início do período de testes os carrapatos recém-chegados não são considerados. Isto é, o indicador de uma criança não é actualizado.

 

Boas pessoas, por favor ajudem a corrigir o código, para que a partir da linha de trabalho em "Parâmetros de entrada" do conselheiro
, Lote de string externa = "0.2 0.2 0.3 0.4 0.5"; // (através de um espaço)
o último valor (neste caso 0.5) repetiria infinitamente, ou seja, não digitar
"0.2 0.2 0.2 0.3 0.4 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5";

//----------------------------

StringToArrayLot(Lote,xiLot);

//---------------------------------------------------

int StringToArrayLot(string st,double &ad[])
{
int i=0,np; string stp;ArrayResize(ad,0);
while(StringLen(st)>0)
{
np=StringFind(st," ");
if(np<0)
{
stp=st;
st="";
} else{
stp=StringSubstr(st,0,np);
st=StringSubstr(st,np+1);
}
i++;
ArrayResize(ad,i);
ad[i-1]=StrToDouble(stp);
}
return(ArraySize(ad));
}

 
Porque não consigo ver a minha EA no website ou no terminal?
 
Krasev157:
Porque não consigo ver a minha EA no website ou no terminal?
Para o ver no sítio Web, tem de o carregar. Para a compilar no terminal.
 
zfs:
Para o ver no site, tem de o carregar. Para a compilar no terminal.

Não consigo vê-lo no meu perfil, mas não consigo vê-lo no meu perfil.

 
Krasev157:

publicá-lo-á no website Não o consigo ver no meu perfil

Dê-me um link para um dicionário albanês, por favor.
 
barabashkakvn:
Dê-me um link para um dicionário albanês, por favor.

http://www.txtblog.ru/blog/1165306807 aqui vai você

 
Krasev157:

http://www.txtblog.ru/blog/1165306807 aqui vai você

Herr Hattar's em chamas.

Vá lá!

Bazinga!

 
Olá, se não for muito incómodo, pode dizer-me, por favor? Como colocar o preço dos últimos 5 ticks numa matriz?
Razão: