[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 363

 
¿Qué es este botón?
 
Pr0t0tip:

Hola. He escrito un sencillo EA (estoy intentando 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);

Bueno, mira - de un vistazo - justo en esta línea:

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

Usted, como en el caso de las operaciones en corto, suma a Bid+sl para el Stop-Loss y resta a Bid-tp para el Take-Profit. Y por el contrario, es necesario restar el SL del Bid - para un stop loss, y añadir el TP al Bid - para un beneficio.

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

Creo que debería funcionar. Pruébalo.

Y puedes ver lo agradable y fácil de leer que es el código, cuando se inserta usando SRC.

 
Pr0t0tip:
¿Qué es este botón?
Es donde se escribe el texto en el cuadro, en la parte superior hay botones que se utilizan para hacer el texto. Uno de ellos es el botón SRC. Está al lado de la cámara.
 
Gracias, todo ha funcionado. Sólo el asesor está vertiendo, pero eso no es lo principal en esta etapa.
 
Dimka-novitsek:

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

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

No entiendo muy bien, ¿era una pregunta o era una respuesta?

Voy a omitir la primera línea ya que no está del todo clara.

Y sobre el 2º punto (si era una pregunta) - es jurar que el tipo de soporte es incompatible. Probablemente, en algún lugar el corchete es redondo en lugar de cuadrado (o rizado).

 

¡Buenos días! ¡Por favor, ayuda!

Quiero escribir una función que devuelva el tipo de posición abierta en función de los precios de oferta.

Si alguna cantidad de precios de oferta sube constantemente - escriba Bcu y viceversa.

Lo he intentado yo mismo, pero siempre devuelve 0.

//+----------------------------------------------------------------------------+ 
//|  Описание : Возвращает тип открываемой позиции.                            |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|                                                                            |
//|                                                                            |
//|  Глобальные переменные:     NAME_OP - тип открываемой позиции              |
//|                             BID[]   - массив цены BID                      |
//+----------------------------------------------------------------------------+
int NamePositions(string sy="") 
{
int Kol_Tikov=6;
ArrayResize(BID,Kol_Tikov);
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
   if (sy=="0") sy=Symbol();
   {
   for(int i=Kol_Tikov-1;i>0;i--)
         BID[i]=BID[i-1];
         BID[0]=NormalizeDouble(MarketInfo(sy,MODE_BID),5);
         
         if (BID[3]>BID[2] && BID[2]>BID[1]) NAME_OP=OP_SELL;
         if (BID[3]<BID[2] && BID[2]<BID[1]) NAME_OP=OP_BUY;
   }
   return(NAME_OP);
}
 
NICK_R:

¡Buenos días! ¡Por favor, ayuda!

Quiero escribir una función que devuelva el tipo de posición abierta en función de los precios de oferta.

Si alguna cantidad de precios de oferta sube constantemente - escriba Bcu y viceversa.

Lo he intentado yo mismo, pero siempre devuelve 0.


 

Antes era así: en el probador, marcas OPTIMIZAR y aparece una ventana con todas tus variables EXTERNAS. especificas el mínimo, el máximo y el paso. eso es todo.

Ahora marco la casilla... y no pasa nada.

¿podría decirme dónde está la ventana de parámetros y de paso?

 
lottamer:

Antes era así: en el probador, marcas OPTIMIZAR y aparece una ventana con todas tus variables EXTERNAS. especificas el mínimo, el máximo y el paso. eso es todo.

pero ahora lo compruebo... y no pasa nada.

¿podría decirme dónde está la ventana de parámetros y de paso?

Cuando esté en el probador, vaya a la configuración del EA - hay 4 columnas. La primera columna es la que funcionará sin optimización. La 2ª columna son los parámetros iniciales de la optimización, la 3ª columna es el paso y la 4ª columna es el final de la optimización.
 
Chiripaha:
Cuando esté en el probador, vaya a la configuración de EA - hay 4 columnas. La primera columna es la que funcionará sin optimización. La 2ª columna son los parámetros iniciales de la optimización, la 3ª columna es el paso y la 4ª columna es el final de la optimización.


Sólo veo PROPIEDADES EXPERTAS en el probador. No veo la configuración del Asesor Experto. ¿Dónde están?

no hay nada de eso en las propiedades. construir 500