Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1296

 

Buona giornata a tutti. Domanda sulla funzione WebRequest, quando invio una richiesta POST non invia array di dati. Sul lato server ottengo " <WSGIRequest: POST '/'> ". Qui sotto c'è il codice:

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:

Buona giornata a tutti. Domanda sulla funzione WebRequest, quando invio una richiesta POST non invia array di dati. Sul lato server ottengo " <WSGIRequest: POST '/'> ". Qui sotto c'è il codice:

Quindi avete un GET, giusto? Qui sto inviando un json (MQL5). Tutto funziona.

   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.s. Cos'è questa stupida espressione "buona giornata"? Ecco, per esempio, un articolo su questo argomento. Scusa per il diluvio :)

 

In riferimento:

datetime  iTime( 
   const string        symbol,          // символ 
   ENUM_TIMEFRAMES     timeframe,       // период 
   int                 shift            // сдвиг 
   );
In questo codice, lo spostamento è preso come il NUMERO di BAR rispetto al tempo corrente.
L'esempio qui è:
 int bar_index=iBarShift(symbol,tf,time,exact); 
   
 datetime bar_time=iTime(symbol,tf,bar_index); 
L'aiuto specifica che iBarShift restituisce l'indice della barra.

La mia comprensione è che il numero di barre e l'indice delle barre sono parametri diversi.

Lo capirei se la numerazione delle barre partisse dal tempo corrente (corrente = 0).
Ma OnCalculate() dà il numero di indice della barra dall'inizio della storia della finestra.

Potete per favore spiegarmi cosa ho sbagliato?
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Bars - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
L'ho scoperto da solo.

L'aiuto di iBarShift è scritto in eresia.
La funzione non restituisce l'indice della barra nel senso di OnCalculate(),
, ma l'offset della barra, cioè lo spostamento.

Ai tempi dell'Inquisizione, questo sarebbe stato bruciato sul rogo:)
Документация по MQL5: Доступ к таймсериям и индикаторам / iBarShift
Документация по MQL5: Доступ к таймсериям и индикаторам / iBarShift
  • www.mql5.com
iBarShift - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
User_mt5:
L'ho scoperto da solo.

L'aiuto per iBarShift è pieno di eresie.
La funzione non restituisce l'indice della barra nel senso di OnCalculate(),
ma l'offset della barra, cioè lo spostamento.

Ai tempi dell'Inquisizione, questo sarebbe stato bruciato sul rogo:)

Non sono un esperto in tutto questo.... Ma il primo candidato per il falò... sei TU. Prima di scrivere "tale eresia", avresti dovuto leggere tu stesso la documentazione...!

P.S. E capire cosa, dove e come...
 

Buona salute a tutti!

La domanda è semplice e ingenua. Ho scritto un EA in Mql5. Voglio usare questo algoritmo per lavorare con le criptovalute in borsa, come BitMex. Non riesco a capire come riscrivere EA per questo scambio in un altro linguaggio, è meglio in C, perché Mql5 sembra essere simile a C.

 
Buon pomeriggio a tutti. Potete per favore dirmi se il mio account è stato bloccato. Il mio analista, che mi ha guidato, mi ha detto di trovare un broker. Non conosco un broker, cosa fare in questa situazione. L'importo sul conto era di 500 dollari.
 
Evgen1504:
Buon pomeriggio a tutti. Potete per favore dirmi se il mio account è stato bloccato. Il mio analista, che mi ha guidato, mi ha detto di trovare un broker. Non conosco il broker, cosa fare in questa situazione. L'importo sul conto era di 500 dollari.
Siete stati truffati, non 500.
 
Amon1953:

Buona salute a tutti!

La domanda è semplice e ingenua. Ho scritto un EA in Mql5. Voglio usare questo algoritmo per lavorare con le criptovalute in borsa, come BitMex. Non riesco a capire come riscrivere l'EA per questo scambio in un altro linguaggio, è meglio in C, perché Mql5 sembra essere simile al C.

Non è necessario riscriverlo. Si può cercare un broker che permetta il trading di criptovalute in MQL5.
Per sicurezza, guarda su MT5 / View / Symbols

 
Rost17:
Questa è una domanda per gli specialisti di mql. Come posso cambiare i segni di chiusura delle posizioni in Expert Advisors? Voglio avere una freccia rossa a sinistra su una chiusura di vendita e una freccia blu a sinistra su una chiusura di acquisto. Allora vedrei subito che non è l'apertura opposta, ma esattamente la chiusura. L'ho avuto in MT4 e non ho avuto problemi. Vorrei cambiarlo in MT5. Grazie in anticipo.

Cerca o scrivi la tua funzione per visualizzare gli scambi su un grafico

Motivazione: