Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 269

 
Artyom Trishkin:
  1. Hay una señal para abrir una posición de compra, por ejemplo.
  2. Encuentre en el historial de órdenes la última operación cerrada.
  3. ver su tipo,
    1. Si es de Venta, puede abrirse de Compra ----> return(ORDER_TYPE_BUY);
    2. si es una compra, entonces
  4. ver con qué beneficio se cerró esta posición de compra.
    1. Si es negativo, podemos abrir una compra ----> return(ORDER_TYPE_BUY);
    2. Si es positivo, no podemos abrir una nueva compra ----> return(WRONG_VALUE);
   double ma;
   int    res;
   bool nomber = OrdersHistoryTotal();
   bool tip=OrderType();
   if(OrderSelect(nomber,SELECT_BY_POS,MODE_HISTORY)==true)
   {
   tip=OrderType();
   }
   ma=iMA(NULL,0,MovingPeriod,120,MODE_SMA,PRICE_CLOSE,1);
   if(Bid<ma)
   if(tip!=OP_SELL)
   {
      res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,Bid-TP*Point,"",MAGICMA,0,Red);
      return;
     }

Lo escribí aquí pero sigue sin funcionar. ¿Qué ocurre? Por favor, aconséjeme.

 

Buenas tardes.

Cómo escribir la condición en el cuatro: si el primer viernes del mes fuera un toro, y

Elsegundo lunes es bajista, entonces abrimos una operación de venta.

 
Darirunu: Escriba la condición: si el primer viernes del mes fue alcista, y

el segundo lunes es bajista, entonces abre una operación de venta.

Ahora este es un problema interesante: puede mostrar la secuencia de pasos para resolver cualquier problema
Determina el mes actual MM y el año YYYY. Tome la fecha 1.MM.YYYY y determine el día de la semana correspondiente.
2. Piensa en una o dos fórmulas (para ello confeccionamos dos tablas de 7 filas) y utiliza estas fórmulas para determinar las fechas de los días que te interesan
3. Si la segunda fecha en el futuro - salida.
4. Utilizando las fechas determinamos los números de las barras correspondientes en el gráfico diario
5. Determina el número de barras por su pertenencia a los toros - osos.
6. Llegar a una conclusión sobre la entrada en el mercado

Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением...
 
LRA:

Este es un problema interesante: se puede utilizar para mostrar una secuencia de pasos para resolver cualquier problema
Determina el mes actual MM y el año YYYY. Tome la fecha MM.YYYY y determine el día de la semana correspondiente.
2. Piensa en una o dos fórmulas (para ello confeccionamos dos tablas de 7 filas) y utiliza estas fórmulas para determinar las fechas de los días que te interesan
3. Si la segunda fecha en el futuro - salida.
4. Utilizando las fechas determinamos los números de las barras correspondientes en el gráfico diario
5. Determina el número de barras por su pertenencia a los toros - osos.
6. Llegar a una conclusión sobre la entrada en el mercado


De hecho, todavía no he visto la respuesta en forma de código ... El algoritmo es claro ...

 
Darirunu: De hecho, todavía no he visto una respuesta en forma de código... El algoritmo está claro...

Si el algoritmo está claro, escribe un programa... Si tiene dificultades, pregunte...

 
LRA:

Si el algoritmo está claro, escribe un programa... Si tiene problemas, pregunte...


Usted debe ser un genio)) ¿Crees que si yo sabía que iba a pedir aquí? Sólo tiene que escribir el día de la semana no es un problema ... La pregunta es cómo determinar qué semana del mes? El libro de Mt4 no dice nada al respecto.

Cualquier pregunta de los novatos en MQL4, ayuda y discusión sobre algoritmos y códigos

 
Lowech:
   bool nomber = OrdersHistoryTotal();
   bool tip=OrderType();
   if(OrderSelect(nomber,SELECT_BY_POS,MODE_HISTORY)==true)
   {
   tip=OrderType();
   }

Aquí lo he preseleccionado, pero sigue sin funcionar. ¿Qué ocurre? Por favor, aconséjeme.

Veamos esta parte. En la primera línea, la variable nomber almacena el número de pedidos en el historial. Pongamos el cursor en OrdersHistoryTotal() y pulsemos F1. Aquí puedes ver:

intHistorialPedidosTotal();


La función devuelve un número entero. Pero un bool sólo tiene dos valores. ¿Cómo puede un bool contener un valor de tipo int?

La segunda línea contiene el mismo error y uno más. Se pone el cursor en OrderType() y se pulsa F1. Vemos: El pedido debe ser preseleccionado mediante la función OrderSelect().

La tercera línea contiene una situación horrible. 1) if(OrderSelect( - si se selecciona una orden, se ejecuta algo. ¿Pero qué pasa si se produce un error aquí? Su programa sigue funcionando. 2) Se debe seleccionar una orden con el número nomber. Pero, ¿existe un pedido con tal número? ¿Cuál es el número mínimo y máximo de pedido si el número total es nomber? 3) En lugar de if(OrderSelect(nomber,SELECT_BY_POS,MODE_HISTORY)==true) casi cualquiera escribiría simplemente if(OrderSelect(nomber,SELECT_BY_POS,MODE_HISTORY)) y una cosita más.

Mi consejo es el siguiente: empiece a aprender el lenguaje con elementos sencillos, escriba scripts sencillos y muestre el resultado. Compruebe el resultado de cada línea

 
Darirunu: La cuestión es cómo determinar de qué semana del mes se trata. No hay nada en el libro de Mt4 sobre

¿Por qué necesitas saber qué semana del mes es? No está en mi algoritmo. (sólo ponga un espacio después de los signos de puntuación)

 
LRA:

¿Por qué necesito saber qué semana del mes es? En mi algoritmo, no lo hace. (ponga un espacio sólo después de los signos de puntuación)


Lo siento, probablemente no estabas prestando atención a la pregunta.

Cómo se escribe la condición en el cuatro: si el primer viernes del mes fue alcista y

el segundo lunes es bajista entonces abrimos una operación de venta.

DayOfWeek()==1 El lunes está claro, pero ¿qué lunes del mes?)

 
Darirunu:

De hecho, nunca vi una respuesta en forma de código. El algoritmo es claro...

Sólo tienes que saber qué día de la semana fue el primero del mes. El resto está calculado.