[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 361

 
¿cómo optimizar un parámetro si está dentro de una función de usuario?
 

¿Qué significa optimizar? Junto con el robot en el probador, optimice.

¿Podría decirme qué '(' - tipos incompatibles C:\NDocumentos y Ajustes\NMis Documentos\NFxClub\NTeleTRADE\Nexperts\Constructor.mq4 (68, 39)
relative return(errorcomment);?

 
lottamer:
¿cómo optimizar un parámetro si está dentro de una función de usuario?

Póngalo en extern
 

Estoy tratando de compilar el código, que amablemente me sugirieron en FAQ.

Pero el compilador se resiste y pide un punto y coma después del operador de asignación (resaltado en amarillo).

'bool' - se esperaba un punto y coma C:\NFicheros de Programa\Nde Alpari NZ MT4\Nexperts\GRAAL-1.mq4 (5, 3)

Pero los tengo ahí .... y sigue preguntando, preguntando, preguntando...... y preguntando....

¿Dime a qué se refiere?

GRACIAS.

  int start()
  
  bool have = true ;
        
  for(int i=0;i<10;i++)
  {

   if(Low[i]<=Low[i+1])
   {have=false; 
   break;} 

} 

if(have == true )
{

OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-1510*Point,"jfh",123 );// действия если условие соблюдено 

}
else
{

 return(0);
}
 

Me encontré con esto en uno de los códigos:

if (StringSubstr(AccountCurrency(), 0, 3) == "JPY") 
    {
      ld_24 = MarketInfo("USDJPY" + StringSubstr(Symb, 6), MODE_BID);
      if (ld_24 > 0.1) ld_16 = ld_24;
      else ld_16 = 82;
    }

¿Puede decirme para qué se utiliza esto? - Supongo que como menciona la moneda de la cuenta, debe haber un factor de conversión a la otra moneda. Pero... ¿por qué está arreglado? - ¿De qué depende este coeficiente? - En este caso el número es 82.

Y esta línea parece interesante - su significado no lo entiendo en absoluto:

MarketInfo("USDJPY" + StringSubstr(Symb, 6), MODE_BID)

porque si se añade "EURUSD" a "USDJPY", por ejemplo, pero para la sexta letra, se obtiene cero - entonces, ¿por qué añadirlo? Hmmm...

Es un galimatías que no entiendo, pero por experiencia me gustaría entender el principio de la conversión de una moneda a otra. Y creo que, si la gente lo utiliza (en mi consulta no tengo cuentas no monetarias), no es por estupidez. Significa que tiene sentido.

Gracias por la aclaración. Creo que será interesante no sólo para mí. : ))

 

Hola. He escrito un simple EA (tratando de aprenderlo yo mismo). El robot sólo abre operaciones para vender, pero no quiere comprar. Entiendo que no escribí bien las condiciones de compra o no las dividí correctamente. Estoy pidiendo ayuda. Aquí está:

extern int tp=100;

extern int sl=100;

extern int H=14;

extern int M=00;

doble ma1, ma2;

int inicio()

{

ma1=iMA (NULL,0,18,0,MODE_SMA,PRICE_CLOSE,0);

ma2=iMA (NULL,0,36,0,MODE_SMA,PRICE_CLOSE,0);

if (OrdersTotal ()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)<iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1<ma2)

OrderSend ("EURUSD", OP_SELL,0.1,Bid,0,Ask+sl*Point,Ask-tp*Point,",123,Red);

if (OrdersTotal ()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)>iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1>ma2)

OrderSend ("EURUSD", OP_BUY,0.1,Ask,0,Bid+sl*Point,Bid-tp*Point,",123,Red);

}

retorno (0);

 
r772ra:

Póngalo en extern


¿Cómo hacerlo?

La función modifica el orden fijando los topes y los takei. aquí hay que optimizarlos.

 
solnce600:

Estoy tratando de compilar el código, que amablemente me sugirieron en FAQ.

Pero el compilador se resiste y pide un punto y coma después del operador de asignación (resaltado en amarillo).

'bool' - se esperaba un punto y coma C:\NFicheros de Programa\Nde Alpari NZ MT4\Nexperts\GRAAL-1.mq4 (5, 3)

Pero los tengo ahí .... y sigue preguntando, preguntando, preguntando...... y preguntando....

¿Dime a qué se refiere?

GRACIAS.

También es posible que no se haya puesto el punto y coma justo encima del código en otro lugar. El compilador sólo dice que falta en alguna parte hasta este punto.

Y este código parece tener toda la puntuación correcta.

 
Chiripaha:

Otra posibilidad es que falte un punto y coma en alguna parte del código. El compilador sólo dice que falta un punto y coma en alguna parte hasta este punto.

Pero este código parece tener toda la puntuación correcta.


Y por encima sólo hay START y nada más.
  int start()
  
  bool have = true;
  {
  for(int i=0;i<10;i++)
  {

   if(Low[i]<=Low[i+1])
   {
   have=false; 
   break;
   } 

} 

if(have )
{

OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-1510*Point,"jfh",123 );// действия если условие соблюдено 

}
else
{

 return(0);
}
 
lottamer:


¿Cómo se puede hacer esto?

la función modifica la orden fijando los stops y las tomas de posesión, por lo que hay que optimizarlas.


Bueno, exactamente en código de Pr0t0tip (bueno, y apodo - me cansé de volver a escribir : )) ) Estas variables extern int sl=100; (etc.) son mapeadas. Por lo tanto, es necesario declarar una variable, entonces aparecerá en la configuración del búho, entonces su valor puede ser cambiado y optimizado.
Razón de la queja: