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

 
IgorM:


todo el problema era la declaración de una variable:

Taki no. He intentado declararlo tanto al principio del código, donde están los parámetros, como antes de los contadores.
 
IgorM:


Poner siempre llaves después de "for" por ahora, luego te harás a la idea

Revisaré todo el código :)


Gracias a todos.

 
Abzasc:

Vamos a revisar todo el código :)

Sin paréntesis, sólo un operador entra en el ámbito de las condiciones (if, while, for). Si hay más de uno, hay que utilizar corchetes.

 
ToLik_SRGV:

Sin paréntesis, sólo se puede utilizar un operador después de las condiciones (if, while, for). Si hay más de uno, el uso de llaves es obligatorio.

Ahora ya he aprendido :)
 

¡Amigos! No puedo entenderlo... Hay una línea de tendencia dibujada en el gráfico del indicador AD (en este caso la línea de tendencia es ARRIBA). Cuando la línea de tendencia cruza esta línea de tendencia arriba-abajo tenemos, por así decirlo, una señal de venta preliminar. Si la línea del indicador se mantiene por debajo de la línea de tendencia en la primera barra, la venta es probable. No encuentro cómo debo comparar el valor de la tendencia en la barra 0 con el valor del precio en la barra 0. Lo escribí de forma abstrusa... Supongamos que puedo calcular la proyección de la línea de tendencia sobre el cero o la primera barra, digamos, utilizando la ecuación de la línea recta... Pero, ¿cómo puedo obtener el valor del punto obtenido en el gráfico de precios a partir de ahí? ??? No entiendo... Después de todo, en última instancia necesito entender que el precio ha cruzado la línea de tendencia de arriba a abajo... Al mismo tiempo - qué tiene que ver con el precio, si estoy mirando el indicador... Pero, aun así, ¿cómo puedo comparar el nivel calculado mediante la ecuación de la línea recta con el precio? Estoy confundido... ¿Puede alguien desenredarme?


La línea de tendencia en el gráfico de precios, trazada a partir de los mínimos de las barras donde se encontraban los extremos en el gráfico AD no dice nada, y no es relevante...

 

Poner el SL y el TP a cero -- no funciona, no se colocan órdenes.

¿O es la noche y la fatiga?

//+------------------------------------------------------------------+
//|                                                         Grid.mq4 |
//|                                                     Yuriy Tokman |
//|                                            yuriytokman@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Yuriy Tokman"
#property link      "yuriytokman@gmail.com"

#property show_inputs

extern double volume = 0.1;
extern int price = 500;
extern int slippage = 30;
extern int stoploss = 500;
extern int takeprofit = 500;
extern int steps = 500;
extern int count_orders = 5;

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   double buy_price = Ask+price*Point;
   double sell_price = Bid-price*Point;

   int ticket;

   for(int i = 0;i<count_orders;i++)
    {
     
     ticket=OrderSend(Symbol(),OP_SELLSTOP,volume,
     sell_price-i*steps*Point,slippage,
     sell_price-i*steps*Point+stoploss*Point,
     sell_price-i*steps*Point-takeprofit*Point,
     "yuriytokman@mail.com    "+i+" *");
     if(ticket<0)
       {
        Print(i,"  OrderSend failed with error #",GetLastError());
        return(0);
       }

     ticket=OrderSend(Symbol(),OP_BUYSTOP,volume,
     buy_price+i*steps*Point,slippage,
     buy_price+i*steps*Point-stoploss*Point,
     buy_price+i*steps*Point+takeprofit*Point,
     "yuriytokman@mail.com    "+i+" *");
     if(ticket<0)
       {
        Print(i,"  OrderSend failed with error #",GetLastError());
        return(0);
       }     
         
    }
//----
   return(0);
  }
//+------------------------------------------------------------------+
Archivos adjuntos:
grid.mq4  2 kb
 
Swetten:

Poner el SL y el TP a cero -- no funciona, no se colocan órdenes.

¿O es la noche y el cansancio?

No me des una patada, estoy aprendiendo :)

Se trata de precio_compra+i*pasos*punto-stoploss*punto,

precio de venta + contador*500... ¿No es mucho? Sin el multiplicador de SL y TP, tal vez tenga que ser más pequeño...

 

En el curso del código, tenemos esta construcción:

LastTimeDN     =TimeDN[l-1];
LastVarDN      =PeakDN[l-1];
PreLastTimeDN  =TimeDN[l];
PreLastVarDN   =PeakDN[l];
LastTimeDN y PreLastTimeDN son de tipo datetime. Después de realizar las operaciones anteriores estas variables contienen el número de segundos desde el año ... de mi nacimiento...
¿Pueden decirme cómo convertirlos en números de barra?
 
artmedia70:

¿Cómo se compara el nivel calculado a partir de la ecuación de la línea recta con el precio?

Hay que tener en cuenta el ángulo, es complicado...

¿Qué quiere decir con "el precio ha cruzado la línea de tendencia de arriba a abajo"? El precio lo ha cruzado, así que el indicador lo ha cruzado. ¿No?

 

Swetten:

Poner el SL y el TP a cero -- no funciona, no se colocan órdenes.

¿O es la noche y la fatiga?

Aquí, todo funciona con 5 dígitos. Tal vez esté trabajando con 4 dígitos, entonces sólo tiene que reducir el precio o reducir los parámetros de la secuencia de comandos.