[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 35

 
skyjet:
Buenas noches, ¿podrían decirme si he implementado correctamente la función start() de un indicador en un EA? La compilación no está de acuerdo.


Bueno, tantos sietes no pueden estar equivocados, ¡¡¡es un JACK-POT!!!

Pero en serio, la descripción del problema es obviamente incompleta, deberías ir al Club de Telépatas. O describir con más detalle lo que está mal, una lista de errores del compilador, por ejemplo.

 
evillive:


Bueno, tantos sietes no pueden estar equivocados, ¡¡¡es un JACK POINT!!!

Pero en serio, la descripción del problema es obviamente incompleta, deberías ir al Club de Telépatas. O describa con más detalle lo que está mal, lista de errores del compilador, por ejemplo.


Al principio me dio este error:

'\end_of_program' - ending bracket '}' expected C:\Program Files\Alpari \experts\xxx.mq4 (305, 1)

Por supuesto he añadido un paréntesis, después de eso :

'Ind_Start' - la función no está definida C:Archivos de programa de Alpari \N -experts\xxx.mq4 (86, 1)

'{' - se esperaba un punto y coma C:\N-Archivos de programa\N-Alpari \N-Experts\xxx.mq4 (87, 3)

 
skyjet:
Buenas noches, ¿podrían decirme si he prescrito correctamente la función start() de un indicador en mi EA? La compilación no está de acuerdo.
int start()
{

int varGet_Indicator_start = funcGet_Indicator_start();

return();
  
}


int funcGet_Indicator_start()

{
77777777777777777777777777777
77777777777777777777777777
777777777777777777777777777777
и чтоб возвращало int!!!
}


debería estar tan de acuerdo

 

Ayuda, el indicador no funciona. ¿Qué he escrito mal?

//-----
  int i,limit;
  int counted_bars=IndicatorCounted();
  if (counted_bars>0) counted_bars--; 
  limit=Bars-counted_bars;
//-----
   for(i=limit; i>=0; i--)
  {SMMA[i]=iMA(NULL,0,TrixPeriod,0,MODE_SMMA,PRICE_CLOSE,i);}
//-----
  for(i=limit; i>=0; i--)
  {EMAOnArray[i]=iMAOnArray(SMMA,0,TrixPeriod,0,MODE_EMA,i);}
//-----
  for(i=limit; i>=0; i--)
  {SMMAOnArray[i]=iMAOnArray(EMAOnArray,0,TrixPeriod,0,MODE_SMMA,i);}
//-----
  for(i=limit; i>=0; i--)
  {Trix[i]=(SMMAOnArray[i]-SMMAOnArray[i+1])/SMMAOnArray[i];}
//-----
  for(i=limit; i>=0; i--)
  {Signal[i]=iMAOnArray(Trix,0,SignalPeriod,0,MODE_EMA,i);}       
//-----
  for(i=limit; i>=0; i--)
  {Histogram[i]=Trix[i]-Signal[i];}
//-----
 

Por favor, aconséjeme.

Supongamos que tengo varias posiciones abiertas en el terminal y necesito saber el precio de apertura de una de las órdenes, digamos de COMPRA, ¿también conozco la magia de cada orden?

¿Cómo lo hago?

 
artem86:

Por favor, aconséjeme.

Supongamos que tengo varias posiciones abiertas en el terminal y necesito saber el precio de apertura de una de las órdenes, digamos de COMPRA, ¿también conozco la magia de cada orden?

¿Cómo lo hago?

//+------------------------------------------------------------------+
//|--------------------// Last Bull Open Price //--------------------|
//+------------------------------------------------------------------+
double LastBullOpenPrice()
{
  double MyLastBullOpenPrice=0;
  for(int Cnt=0;Cnt<OrdersTotal();Cnt++)
  { 
    OrderSelect(Cnt,SELECT_BY_POS,MODE_TRADES);
    if(OrderMagicNumber()==Magic && OrderType()==OP_BUY)
    {
      MyLastBullOpenPrice=OrderOpenPrice();
    }
  }
  return(MyLastBullOpenPrice);
}

 

¡Buenas tardes!

Podría decirme por favor, lo escribo así:

si ((b1!=0) && (b2==0))

openBuy(Lot,Magic);

si ((b1==0) && (b2!=0))

closeAll();

si ((s1!=0) && (s2==0))

openSell(Lot,Magic);

si ((s1==0) && (s2!=0))

closeAll();

pero los pedidos no se abren así que ayúdame a encontrar la razón

Archivos adjuntos:
 
ll77012:

¡Buenas tardes!

Podría decirme por favor, lo escribo así:

si ((b1!=0) && (b2==0))

openBuy(Lot,Magic);

si ((b1==0) && (b2!=0))

closeAll();

si ((s1!=0) && (s2==0))

openSell(Lot,Magic);

si ((s1==0) && (s2!=0))

closeAll();

pero los pedidos no se abren así que por favor ayúdenme a encontrar la razón


https://book.mql4.com/ru/trading/ordersend

Todo es muy claro y detallado.

 
algo está mal con la condición y no se llama
 
ll77012:

¡Buenas tardes!

¿Podría decirme, por favor, cómo se escribe?

si ((b1!=0) && (b2==0))

openBuy(Lot,Magic);

si ((b1==0) && (b2!=0))

closeAll();

si ((s1!=0) && (s2==0))

openSell(Lot,Magic);

si ((s1==0) && (s2!=0))

closeAll();

pero los pedidos no se abren así que ayúdame a encontrar la razón


indicador buffer=EMPTY_VALUE; no es igual a 0, sino a 2147483647.
Razón de la queja: