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

 
dyxaa:

Exactamente. Brillantemente simple))))

Necesito un stop de compra si el precio se mueve 100 pips hacia abajo para eliminarlo.

¿Lo pones de forma programada o manual?

Si es manual, entonces ciérrelo manualmente (mejor).

Si se hace de forma programada (a través de un Asesor Experto), entonces recorre las órdenes y encuentra la correcta. Entonces:

if (Bid < OrderOpenPrice()-100*Point) OrderDelete(OrderTicket());   // Это для Вашего типа ордера - Бай-Стоп

Si no sabes cómo hacer el rebasamiento y otras acciones más sencillas, empieza por leer un tutorial sobre la ACM. Porque en este caso, es poco probable que pueda hacer frente al código.

 
hoz:

Tengo una idea, pero cómo hacerlo en la vida real y cómo funcionará de forma fiable en la vida real, no lo sé realmente.

La esencia es la siguiente. Debemos entrar en el mercado después de colocar el búho en el gráfico inmediatamente después del cierre de la barra, es decir, en la apertura de una nueva barra. Esta es la primera orden. Además, cuando la orden es cerrada por un TP o un precio Stop, debemos abrir una orden en la apertura de una nueva barra inmediatamente. ¿Cómo hacerlo de forma más razonable?

Entiendo que debemos crear una variable. Coloca el precio de apertura de la barra actual. Y compara este valor con el precio de apertura de la barra actual. Si el valor de la variable no es igual al precio de apertura de la barra actual con el índice cero, abriremos una orden.

Esta es la variante más óptima, ¿no?

Aquí, he encontrado una función para determinar el Nuevo Bar mientras resolvía mis propios casos:

//+------------------------------------------------------------------+
//|  Проверка на появление нового бара                               |
//+------------------------------------------------------------------+
bool isNewBar()
   {  static datetime TimeBar=0;
      bool flag=false;
      if(TimeBar!=Time[0])
         {
          TimeBar=Time[0];
          flag=true;
         } 
      return (flag);
   }
//+------------------------------------------------------------------+
Ahora sólo queda abrir un pedido... : )))
 
dyxaa:

Exactamente. Brillantemente simple))))

Necesito un stop de compra si el precio se mueve 100 pips hacia abajo y tengo que borrarlo.

¡Tengo mi propia cruz y tengo que contar 100 puntos por la diferencia entre el precio y el precio para colocar la orden pendiente!
 

No entiendo lo que está mal, ayúdame a entender, error 'start' - variable no definida, necesito encontrar el máximo de los valores RSI para un determinado período

(RSIBuffer3[i]) // matriz con valores RSI

// definir el tamaño del array

int count=ArraySize(RSIBuffer3[i]);

// buscar el valor máximo de la matriz

int RSI_max=ArrayMiximum (RSIBuffer3[i], count-1, int start=0);

 
Chiripaha:

Si se implementa, funcionará con la misma fiabilidad en la vida real que en la demo. Pero no el hecho de que sea rentable.

Se puede implementar a través de la apertura de un nuevo bar. Pero no has formulado en qué dirección se abre la barra, ni en qué condiciones se determina este lado.

No es necesario comparar nada - simplemente abra una orden cuando aparezca una nueva barra (basada en su entrada) y ya está.

Si no tienes ni idea:

"La experiencia es hija de muchos errores.
Y un genio es amigo de las paradojas" (Alexander Sergeyevich le habla).

Tienes que hacer (escribir) un búho y comprobarlo experimentalmente. - No creo que nadie escriba el búho por ti (gratis). Dar una pista es una cosa. Pero poner en práctica las ideas (pensamientos) no es una ayuda, sino un trabajo.


Me lo imagino todo. La idea es que la primera orden, si utilizamos una u otra función para determinar la nueva barra, se abrirá espontáneamente, cuando el EA se adjunte al gráfico como . en el momento de poner el EA en el gráfico, la variable que almacena la hora de apertura de la barra no será igual a la hora de apertura de la barra actual.. He pensado en asignar la hora de apertura de la barra actual a la variable del Inite y luego, si esta variable es igual a la hora de apertura de la barra actual, no haré nada más y, si no es igual, ejecutaré la función de apertura. Pensé que sería la variante más adecuada o quizás podría prescindir del inite.

 
Merincool:

No entiendo lo que está mal, ayúdame a entender, error 'start' - variable no definida, necesito encontrar el máximo de los valores RSI para un determinado período

(RSIBuffer3[i]) // matriz con valores RSI

// definir el tamaño del array

int count=ArraySize(RSIBuffer3[i]);

// buscar el valor máximo de la matriz

int RSI_max=ArrayMiximum (RSIBuffer3[i], count-1, int start=0);

// determinar el tamaño de la matriz

int count=Tamaño del array(RSIBuffer3);

// buscar el valor máximo de la matriz

int RSI_max=ArrayMiximum(RSIBuffer3, count-1, int start=0);

 

¿Qué tengo que escribir en el acceso directo del programa para que el terminal se inicie con una cuenta específica?

 
Hola, hay 4 indicadores y el usuario intenta escribir un Asesor Experto para ello. La pregunta es lo que necesita para prescribir para obtener el valor del precio para cada indicador para no salir 0, y sin embargo el número. necesidad simplemente prescribir grammotnoho en icustom, prescribo que, pero eso no funciona, aquí es el "conjunto".
Archivos adjuntos:
 
Elektronik, parece que se abre con el último que has trabajado, al menos, no he visto ningún otro.
 
palomnik:
Elektronik, parece que se abre con la última, al menos no he visto ninguna otra.

Termino con el probador y empiezo con el real.