Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 153

 
barabashkakvn:
Fíjate en la altura de mi tabla y la mía: son diferentes, por lo que la sangría es distinta en cada caso.
¿Tal vez en algún lugar de MT4 y MT5 hay una oportunidad para establecer la distancia de la parte superior y la parte inferior, por lo que el gráfico de cotizaciones se estira / se extiende por sí mismo?
 
kon12:

Repetí la imagen en el mío y esto es lo que obtuve

La pregunta es por qué no tengo la misma imagen que tú. La escala es la misma. No me gusta porque trabajo con MT4, la sangría es la misma para arriba y para abajo. Mi indicador pone marcas de texto en el gráfico para el máximo y el mínimo. Se ve bien en la tableta. Pero en MT5 en la tableta la sangría en la parte inferior se come el 10% del espacio del gráfico. Es desagradable en una pantalla pequeña.

Si tienes un robot de trading y no sabes cómo utilizarlo, no dudes en ponerte en contacto con el Service Desk:

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

Preguntas de los principiantes

paladin800, 2013.11.11 21:49

¿Tal vez en algún lugar de MT4 y MT5 hay una posibilidad de establecer la distancia de la parte superior e inferior para que el gráfico de cotizaciones se estire/alargue por sí mismo?

Si tiene claro el hombre de la mano derecha, puede intentar utilizarlo como asesor experto o programador para desarrollar su idea de estrategia, utilizarlo como entrada para su propia estrategia de marketing.

Los desarrolladores suelen aplicar las sugerencias razonables de los usuarios.

 

Me pueden decir cómo especificar el tipo de una orden pendiente, y luego hacer más movimientos dependiendo de su tipo.

Por ejemplo, sólo puedo tener BUY_STOP o SELL_STOP.

Yo hago lo siguiente en mi EA:

// Если нет открытых позиций то закрываем отложные ордера!
  {
   ulong order_ticket;
//--- пройдем по всем отложенным ордерам
   for(int i=OrdersTotal()-1;i>=0;i--)
      if((order_ticket=OrderGetTicket(i))>0)
         //--- ордер с подходящим ORDER_MAGIC
         if(Mag2==OrderGetInteger(ORDER_MAGIC))
         
         if (PositionsTotal()<1) // открытых позиций нет?
         {
            MqlTradeResult result={0}; // удаляем отложные ордера!!
            MqlTradeRequest request={0};
            request.order=order_ticket;
            request.action=TRADE_ACTION_REMOVE;
            OrderSend(request,result);
            //--- выведем в лог ответ сервера  
            Print(__FUNCTION__,": ",result.comment," код ответа ",result.retcode);
           
         }else { 
                   type          =EnumToString(ORDER_TYPE);   // Устанавливаем тип отложного ордера
                   Print("ОРДЕР type =" , type );
                   
                   if (type == ORDER_TYPE_BUY_STOP && BezUbitok>0 && bool (mrate[1].close < BBMidle[1]) ) 
                  {
                   ModificationPosition_BUY_STOP (); // модифицируем ордер BUY_STOP
                  }
                   if (type == ORDER_TYPE_SELL_STOP && BezUbitok>0 && bool (mrate[1].close > BBMidle[1]) ) 
                  {
                   ModificationPosition_SELL_STOP (); // модифицируем ордер SELL_STOP
                  }
                   
              }     
               
  }  

Después de intentar determinar el tipo type =EnumToString(ORDER_TYPE); // Establecer el tipo de la orden pendiente

Compruebo lo que ha definido ahí, por si acasoPrint("Tipo de orden =", tipo );

Veo en el registro: 2013.11.12 17:42:09 Core 1 2006.06.21 13:00:00 Tipo de orden =ORDER_TYPE

Es decir, el tipoORDER_TYPE pero que es SELL_STOPoBUY_STOP ¿cómo lo determino?

¿O estoy haciendo algo mal?)

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
papaklass:

Prueba la línea

Sustitúyelo por.

En este caso, el registro da valores numéricos:

2013.11.12 19:08:32 Core 1 2008.04.22 10:00:07 ORDER type =5
2013.11.12 19:08:31 Core 1 2007.08.17 14:00:00 ORDER type =4

Tal vez 4 es BUY_STOP y 5 es SELL_STOP

Pero deberían estar numerados como 5 y 6, esto es una tontería).

https://www.mql5.com/ru/docs/constants/tradingconstants/orderproperties#enum_order_type

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
papaklass:

Aquí está la impresión del guión:

Y el código del script:

Gracias.

Se supone que ORDER_TYPE_BUY debe ser = 1).

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 

¿Cuánto tiempo tardaré en empezar a distribuir mi configuración a otros usuarios?

 
Kirillos:

¿cuánto tiempo tardaré en empezar a distribuir mi configuración a otros usuarios?

Probablemente querías preguntar: "...regalar tus recursos..." con el Probador de Estrategias de MetaTrader 5? Básicamente, todo depende de la calificación (PR) que hayan obtenido sus agentes. Con un PR inferior a 120 no habrá muchas tareas por día - la carga total aproximada por día es de unos 10 minutos.

Ve a tu perfil en mql5.com y selecciona la pestaña de agentes(https://www.mql5.com/ru/users/kirillos/agents/list), allí podrás ver la valoración de tus agentes.

 
¿existe un análogo de Sharp? o ¿cómo hacer uno?
 

¿Dónde está el que falta?

   int dig=_Digits-1;
   double max=NormalizeDouble(1.33182,dig);//Мах на всем участке 
   double min=NormalizeDouble(1.30492,dig);//Мин на всем участке
   //double max=1.3318;
   //double min=1.3049;
   int mm=(int)((max-min)*pow(10,dig))+1;
   Alert(max," ",min," ",mm);

Si utiliza cadenas comentadas, es correcto. Tal como está, es 1 menos.

Esta construcción produce13317 , no 13318 . ¿Esun error mío o de MT?

Alert(int(max*10000));
 
Rorschach:

¿Dónde está el que falta?

Si utiliza cadenas comentadas, es correcto. Tal como está, es 1 menos.

Esta construcción produce13317 , no 13318 . ¿Esun error mío o de MT?

Entonces, ¿hay que conseguir 1,33182 para conseguir 1,3318? ¿Es necesario descartar el quinto dígito después del punto decimal o redondear hasta el cuarto dígito, es decir, de 1,33186 se necesita 1,3318 o 1,3319?
Razón de la queja: