[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 322

 

¿Cómo hago un bucle en los pedidos CERRADOS?

Necesito contar cuántas órdenes se cierran en Take Profit en general.

No podemos trabajar de esta manera:

 //+--Цикл, в котором определяется сколько ордеров закрыто по тейк-профиту--
              ValueToStopTrade=0;                                 // Предварительно обнуляем переменную
              total=OrdersTotal();
              for(cnum=0;cnum<total;cnum++)                        //Для всех ордеров
              {
                  OrderSelect(cnum, SELECT_BY_POS, MODE_HISTORY); //Выбираем ордер
                  if (OrderProfit()>0)                            //Если профит больше 0
                  {
                     ValueToStopTrade=ValueToStopTrade+1;         //Увеличиваем счетчик на 1
                  } 
              }                                                   //Конец цикла for

La documentación dice que OrdersTotal() muestra los pedidos abiertos y pendientes.... Por eso no funciona.

¿Qué hacer? En lugar de los totales, ¿debo poner simplemente algún número? )

 
libeadier:

¿Cómo hago un bucle en los pedidos CERRADOS?

Necesito contar cuántas órdenes se cierran en Take Profit en general.

No podemos trabajar de esta manera:

La documentación dice que OrdersTotal() muestra los pedidos abiertos y pendientes.... Por eso no funciona.

¿Qué hacer? En lugar de los totales, ¿debo poner simplemente algún número? )

Así es como debería funcionar:

 double ProfitableOrders()
 {
   double orders=0; 
   for(int i=0; i<OrdersHistoryTotal(); i++){
     if(!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))continue;
     if(OrderMagicNumber()!=Magic)continue;
     if(OrderType()>1)continue;
     if(OrderProfit()>0)orders++;
   }      
  return(orders);
 } 
 

Difícil, y no lo vi en la documentación.....

Gracias.

charter:

Así es como debería funcionar:

 
charter:

Muy a menudo, trabajando en la misma TF, se utiliza un diseño:

Pregunta:

¿No es este código de entrada un obstáculo para la correcta optimización de los parámetros, incluidos el SL y el TP?

Me parece que un EA que trabaje, por ejemplo, en H1 y que esté optimizado/probado en el modo "por precio de apertura" en H1 no reaccionará correctamente al SL y TP establecidos,

Como un EA sólo ve el gráfico una vez por hora, no es capaz de ejecutar correctamente las órdenes Stop, es decir, en sus puntos de cruce.

............................

Como ejemplo https://www.mql5.com/ru/code/9386, donde sólo se optimiza un parámetro (SL).

Allí, en PS, el autor escribe:

El Asesor Experto utiliza el modelo por precios de apertura de barra. No tiene sentido optimizar mediante otros modelos: es una pérdida de tiempo y de recursos informáticos. Sólo se pueden verificar los resultados de la optimización mediante la emulación de todos los ticks.

Los Reshettes son un original excepcional...

Busca otra cosa como ejemplo.

 

¿Alguien sabe si existe un indicador o asesor experto de MT4 que dibuje "barras de rango"?

Hay uno: RangeBars_fromM1_time.


¿Cómo hacer un EA para poder operar en un gráfico RangeBar?

 
Diubakin:

¿Cómo puedo hacer que mi Asesor Experto opere en el gráfico de barras de rango?


Un mal Asesor Experto también se ve obstaculizado por el gráfico.
 
Aún así, ¿es posible hacer una operación de Asesor Experto en un gráfico RangeBars_fromM1_time?
 
Diubakin:
Aún así, ¿es posible hacer una operación de Asesor Experto en un gráfico RangeBars_fromM1_time?
Es posible.
 
Así que... ¿CÓMO FUNCIONA ESO? si no es un secreto...
 
Hola. Intentando añadir un nivel de Fibonacci "112" al código. He añadido un nivel "superior" y ha funcionado. Pero no consigo que esté en el fondo. Por favor, eche un vistazo a lo que se puede hacer. Gracias. Estoy esperando la respuesta.
Archivos adjuntos:
1.mq4  6 kb