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

 

Buenos días a todos. Pregunta sobre la función WebRequest, cuando envío la petición POST no envía el array de datos. En el lado del servidor obtengo " <WSGIRequest: POST '/'> ". A continuación se muestra el código:

string headers=NULL;
   char   data[],result[];
   string result_headers;
   string url="http://127.0.0.1:8000";

   ResetLastError();
   string params = "email=app@exemple.com&account=56781234";
   StringToCharArray(params, data, 0, StringLen(params));
   //ArrayResize(data,StringToCharArray(params,data,0,WHOLE_ARRAY,CP_UTF8));
   Print("data: ", CharArrayToString(data));
   int res=WebRequest("GET", url, headers, 0, data, result, result_headers);

   if(res!=200)
     {
      Print("Ошибка передачи файла на сервер #"+(string)res+", LastError="+(string)GetLastError());
     }
   else
     {
      Print(ArraySize(result));
     }
 
Alexander Mikryukov:

Buenos días a todos. Pregunta sobre la función WebRequest, cuando envío la petición POST no envía el array de datos. En el lado del servidor obtengo " <WSGIRequest: POST '/'> ". A continuación se muestra el código:

Así que tienes un GET, ¿verdad? Aquí estoy enviando un json (MQL5). Todo funciona.

   char data[]; 
   ArrayResize(data, StringToCharArray(jv.Serialize(), data/*, 0, WHOLE_ARRAY*/)-1);
   
   
   char res_data[];
   string res_headers=NULL;
   int r=WebRequest("POST",m_uri, "Content-Type: application/json\r\n", 5000, data, res_data, res_headers);
   Print(__FUNCTION__+": web server response code: ",(string)r);
   if(r!=-1)
     {
      Print(__FUNCTION__+": JSON message sent: "+CharArrayToString(data));
      if(save_to_file)
        {
         string file_name=file_name_prefix+"_"+m_symbol+"_"+(string)m_magic_number+".csv";
         int file_handle=FileOpen(file_name,FILE_READ|FILE_WRITE|FILE_CSV);
         if(file_handle!=INVALID_HANDLE)
           {
            FileSeek(file_handle,0,SEEK_END);
            FileWriteString(file_handle,"\n"+CharArrayToString(data));
            FileClose(file_handle);
           }
        }
     }

p.d. ¿A qué viene esa estúpida expresión de "buen día"? Aquí, por ejemplo, hay un artículo sobre este tema. Perdón por la inundación :)

 

En referencia:

datetime  iTime( 
   const string        symbol,          // символ 
   ENUM_TIMEFRAMES     timeframe,       // период 
   int                 shift            // сдвиг 
   );
En este código, el desplazamiento se toma como el NÚMERO de BARRAS relativo al tiempo actual.
El ejemplo es:
 int bar_index=iBarShift(symbol,tf,time,exact); 
   
 datetime bar_time=iTime(symbol,tf,bar_index); 
La ayuda especifica que iBarShift devuelve el índice de la barra.

Tengo entendido que el número de barras y el índice de barras son parámetros diferentes.

Entendería que la numeración de las barras empezara desde la hora actual (actual = 0).
Pero OnCalculate() da el número de índice de la barra desde el principio de la historia de la ventana.

¿Puede explicarme en qué me he equivocado?
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Bars - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Lo descubrí por mí mismo.

La ayuda de iBarShift está escrita en clave de herejía.
La función no devuelve el índice de la barra en el sentido de OnCalculate(),
, sino el desplazamiento de la barra, es decir, el desplazamiento.

En tiempos de la Inquisición, esto habría sido quemado en la hoguera:)
Документация по MQL5: Доступ к таймсериям и индикаторам / iBarShift
Документация по MQL5: Доступ к таймсериям и индикаторам / iBarShift
  • www.mql5.com
iBarShift - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
User_mt5:
Lo descubrí por mí mismo.

La ayuda de iBarShift está llena de herejías.
La función no devuelve el índice de la barra en el sentido de OnCalculate(),
sino el desplazamiento de la barra, es decir, el desplazamiento.

En tiempos de la Inquisición, esto habría sido quemado en la hoguera:)

No soy un experto en todo esto.... Pero el primer candidato a la hoguera... eres tú. Antes de escribir "semejante herejía", deberías haber leído tú mismo la documentación...

P.D. Y averiguar qué, dónde y cómo...
 

¡Buena salud para todos!

La pregunta es simple e ingenua. Escribí un EA en Mql5. Quiero utilizar este algoritmo para trabajar con criptomonedas en el intercambio, como BitMex. No puedo entender cómo reescribir EA para este intercambio en otro lenguaje, es mejor en C, porque Mql5 parece ser similar a C.

 
Buenas tardes a todos. Por favor, pueden decirme si mi cuenta ha sido bloqueada. Mi analista, que me guió, me dijo que buscara un corredor. No conozco a ningún corredor de bolsa. Qué hacer en esta situación. La cantidad en la cuenta era de 500 dólares.
 
Evgen1504:
Buenas tardes a todos. Por favor, pueden decirme si mi cuenta ha sido bloqueada. Mi analista, que me guió, me dijo que buscara un corredor. No conozco al corredor de bolsa. Qué hacer en esta situación. La cantidad en la cuenta era de 500 dólares.
Te han estafado, no 500.
 
Amon1953:

¡Buena salud para todos!

La pregunta es simple e ingenua. Escribí un EA en Mql5. Quiero utilizar este algoritmo para trabajar con criptomonedas en el intercambio, como BitMex. No puedo entender cómo reescribir el EA para este intercambio en otro lenguaje, es mejor en C, porque Mql5 parece ser similar a C.

No es necesario reescribirlo. Puede buscar un broker que permita operar con criptodivisas en MQL5.
Por si acaso, mira en MT5 / View / Symbols

 
Rost17:
Esta es una pregunta para los especialistas en mql. ¿Cómo puedo cambiar las marcas de cierre de las posiciones en los Asesores Expertos? Quiero tener una flecha roja a la izquierda en un cierre de venta y una flecha azul a la izquierda en un cierre de compra. Entonces vería inmediatamente que no es la apertura opuesta, sino exactamente el cierre. Lo he tenido en MT4 y no he conocido ningún problema, me gustaría cambiarlo en MT5. Gracias de antemano.

Busque o escriba su propia función para mostrar las operaciones en un gráfico

Razón de la queja: