Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 266

 
jommerbot:

Vale, incluso en el caso más sencillo no funciona:

No entiendo dónde está mi error. Copiar el buffer del mismo indicador en el EA y en el script funciona, pero no en el indicador. La manija del indicador se inicializa sin error.

Encuentra la diferencia. )

#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);
  }
//+------------------------------------------------------------------+
 

Sip, lo tengo, en la última versión de mi código el manejador del indicador estaba entrando en el ámbito equivocado de la variable. Me lo perdí, gracias. Pero hay un problema - en el probador, en las barras históricas antes del comienzo del período de prueba, el indicador funciona normalmente, pero a partir del comienzo del período de prueba los ticks recién llegados no se consideran. Es decir, el buffer de un indicador hijo no se actualiza.

 

Buenas personas, por favor ayuden a corregir el código, para que a partir de la línea de trabajo en "Parámetros de entrada" del asesor
extern string Lot = "0.2 0.2 0.3 0.4 0.5"; // (a través de un espacio)
el último valor (en este caso 0.5) se repita infinitamente es decir no escribir
"0.2 0.2 0.3 0.4 0.5 0.5 0.5 0.5 0.5";

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

StringToArrayLot(Lote,xiLote);

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

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));
}

 
¿Por qué no puedo ver mi EA en el sitio web o en el terminal?
 
Krasev157:
¿Por qué no puedo ver mi EA en el sitio web o en el terminal?
Para verlo en la web tienes que subirlo. Para compilarlo en el terminal.
 
zfs:
Para verlo en la página web tienes que subirlo. Para compilarlo en el terminal.

No puedo verlo en mi perfil, pero no puedo verlo en mi perfil.

 
Krasev157:

lo publicará en el sitio web no puedo verlo en mi perfil

Dame un enlace a un diccionario de albanés, por favor.
 
barabashkakvn:
Dame un enlace a un diccionario de albanés, por favor.

http://www.txtblog.ru/blog/1165306807 aquí tienes

 

Herr Hattar está en llamas.

¡Vamos!

¡Bazinga!

 
Hola, si no es mucha molestia, ¿podría decirme por favor? ¿Cómo pongo el precio de los últimos 5 ticks en un array?