Errores, fallos, preguntas - página 2230

 

¿Cómo puedo saber sin esperar el resultado de la operación de la solicitud MqlTradeRequest en OnTradeTransaction cuando se utiliza OrderSend/OrderSendAsync?


De este modo, podrá escuchar sólo después de que se ejecute la solicitud de operación.

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

Varias posiciones

fxsaber, 2018.07.16 15:48

// Repeater

sinput int AmountPositions = 3;
input string OrderComment = "";

void OnTradeTransaction( const MqlTradeTransaction &Trans, const MqlTradeRequest &Request, const MqlTradeResult &Result )
{
  if ((Trans.type == TRADE_TRANSACTION_REQUEST) && (!Request.position) && (Request.comment == OrderComment))
  {
    MqlTradeResult MyResult;
    MqlTradeRequest MyRequest = Request;        
    
    bool Res = true;
    
    for (int i = 1; Res && (i <= AmountPositions); i++)
    {
      MyRequest.comment = Request.comment + "_" + (string)i;;

      Res = OrderSendAsync(MyRequest, MyResult);
    }
  }
}

¿Cómo ver la OP? Sugiero a los desarrolladores que rellenen la estructura de la solicitud cuando Trans.order_state == ORDER_STATE_STARTED. Es la única opción lógica y no muleta.

 
¿Por qué razón se cortan los comentarios en el historial de MT4-Signals? Por ejemplo, el comentario original es "[+3;+3][tp]" pero en Señales aparece como "[tp]".
 

Se ha observado la aparición regular de cuentas falsas en el foro, bajo las cuales se esconden los bots. La administración/moderadores están tratando de limpiar el foro a diario...

 

Quería colorear los niveles en Fibo programáticamente

      ObjectSetInteger(0,"FiboLevels",OBJPROP_LEVELCOLOR, 0 ,clrBlack); 
      ObjectSetInteger(0,"FiboLevels",OBJPROP_LEVELCOLOR, 1, clrRed); 
      ObjectSetInteger(0,"FiboLevels",OBJPROP_LEVELCOLOR, 2, clrGreen); 

He entendido en la ayuda que se puede establecer un color para cada nivel...

Pero no funcionó... El ejemplo de la ayuda debería poder cambiar el color, pero no funciona...

 
Vladimir Pastushak:

Quería colorear los niveles en Fibo programáticamente

He entendido en la ayuda que se puede establecer un color para cada nivel...

Pero no funcionó... El ejemplo de la ayuda debería poder cambiar el color, pero no funciona...

No se puede establecer un color diferente para cada nivel.

 
Vladimir Pastushak:

Quería colorear los niveles en Fibo programáticamente

He entendido en la ayuda que se puede establecer un color para cada nivel...

Pero no funcionó... El ejemplo de la ayuda debería poder cambiar el color, pero no funciona...

A mí me funciona.

   ObjectSetInteger(ChartID(), "FiboLevels", OBJPROP_LEVELCOLOR, 0, clrBlack);
   ObjectSetInteger(ChartID(), "FiboLevels", OBJPROP_LEVELCOLOR, 2, clrGreen);
   ObjectSetInteger(ChartID(), "FiboLevels", OBJPROP_LEVELCOLOR, 4, clrYellow);
 
Alexey Kozitsyn:

No se puede dar a cada nivel un color diferente.

¿Por qué no?

 
Alexey Viktorov:

¿Por qué?

Por experiencia personal... Lo intenté así en una ocasión - no funcionó, tal vez se arregló algo o yo estaba haciendo algo mal.

Añadido:

Sí, es posible colorear los niveles. Aquí está el script (configuración para EURUSD):

#property version   "1.00"
#property script_show_inputs
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
sinput   datetime inpT1=    D'2018.07.19 13:27';
sinput   double   inpP1=   1.16136;
sinput   datetime inpT2=    D'2018.07.19 15:31';
sinput   double   inpP2=   1.15746;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   const string name="FiboTest";
//---
   if(ObjectCreate(0,name,OBJ_FIBO,0,inpT1,inpP1,inpT2,inpP2))
     {
      ObjectSetInteger(0,name,OBJPROP_SELECTABLE,true);
      ObjectSetInteger(0,name,OBJPROP_LEVELS,6);
      //---
      ObjectSetInteger(0,name,OBJPROP_LEVELCOLOR,0,clrYellow);
      ObjectSetInteger(0,name,OBJPROP_LEVELCOLOR,1,clrRed);
      ObjectSetInteger(0,name,OBJPROP_LEVELCOLOR,2,clrLime);
     }
  }
//+------------------------------------------------------------------+

Sólo que hay una trampa. Si después voy a las propiedades del objeto y salgo - los niveles se colorean de un solo color:) Sin embargo, esta coloración presenta algunos retrasos. Compilación 1881, x64.

 

Problema en el mercado:

Al responder a los mensajes de la sección Discusión, o al añadir una nueva respuesta, aparece una página en blanco:

Mientras que si copias el enlace después de la respuesta, aparece la misma página en blanco.

Pero si haces clic en la pestaña de Discusión, entonces aparece la página con el mismo enlace (lo he comparado) y todo está bien.

 

Hay un problema en el mercado desde un teléfono móvil:

Si vas desde tu teléfono móvil (cualquier teléfono) a tu perfil - vendedor - estadísticas, las estadísticas se cuelgan y el sitio es inaccesible durante unos 5 minutos.

No ocurre nada, no se muestra ningún dato.

La barra de estado se congela.

Esto es sólo en la sección Vendedor - Estadísticas