Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1296

 

Bom dia a todos. Pergunta sobre a função WebRequest, quando envio um pedido POST não envia um conjunto de dados. No lado do servidor recebo " <WSGIRequest: POST '/'> ". Abaixo está o 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:

Bom dia a todos. Pergunta sobre a função WebRequest, quando envio um pedido POST não envia um conjunto de dados. No lado do servidor recebo " <WSGIRequest: POST '/'> ". Abaixo está o código:

Então tem um GET, certo? Aqui estou eu a enviar um json (MQL5). Tudo 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.s. O que se passa com a estúpida expressão "bom dia"? Aqui, por exemplo, está um artigo sobre este assunto. Desculpe pela inundação :)

 

Em referência:

datetime  iTime( 
   const string        symbol,          // символ 
   ENUM_TIMEFRAMES     timeframe,       // период 
   int                 shift            // сдвиг 
   );
Neste código, o turno é tomado como o NÚMERO de BARs em relação à hora actual.
O exemplo aqui é:
 int bar_index=iBarShift(symbol,tf,time,exact); 
   
 datetime bar_time=iTime(symbol,tf,bar_index); 
A ajuda especifica que o iBarShift devolve o índice de barras.

O meu entendimento é que o número de barras e o índice de barras são parâmetros diferentes.

Eu compreenderia se a numeração das barras começasse a partir da hora actual (corrente = 0).
Mas OnCalculate() produz o número do índice de barras desde o início do histórico da janela.

Por favor, pode explicar o que é que eu tenho de errado?
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Bars - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Descobri por mim mesmo.

A ajuda do iBarShift está escrita em heresia.
A função retorna não índice de barras no sentido OnCalculate(),
, mas offset de barras, ou seja, deslocamento.

Nos tempos da Inquisição, isto teria sido queimado na fogueira:)
Документация по MQL5: Доступ к таймсериям и индикаторам / iBarShift
Документация по MQL5: Доступ к таймсериям и индикаторам / iBarShift
  • www.mql5.com
iBarShift - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
User_mt5:
Descobri por mim mesmo.

A ajuda para o iBarShift está cheia de heresia.
A função retorna não índice de barras no sentido OnCalculate(),
mas offset de barras, ou seja, deslocamento.

Nos tempos da Inquisição, isto teria sido queimado na fogueira:)

Não sou especialista em tudo isto.... Mas o primeiro candidato para a fogueira... é VOCÊ. Antes de escrever "tal heresia", deveria ter lido a documentação você mesmo...!

P.S. E descubra o quê, onde e como...
 

Boa saúde para todos!

A questão é simples e ingénua. Escrevi um EA em Mql5. Quero utilizar este algoritmo para trabalhar com moedas criptográficas na troca, tais como BitMex. Não consigo entender como reescrever a EA para esta troca noutra língua, é melhor em C, porque o Mql5 parece ser semelhante ao C.

 
Boa tarde a todos. Pode dizer-me, por favor, se a minha conta foi bloqueada? O meu analista, que me conduziu, disse-me para encontrar um corretor. Não conheço um corretor. O que fazer nesta situação. O montante na conta era de 500 dólares.
 
Evgen1504:
Boa tarde a todos. Pode dizer-me, por favor, se a minha conta foi bloqueada? O meu analista, que me conduziu, disse-me para encontrar um corretor. Não conheço o corretor. O que fazer nesta situação. O montante na conta era de 500 dólares.
Foi enganado, não 500.
 
Amon1953:

Boa saúde para todos!

A questão é simples e ingénua. Escrevi um EA em Mql5. Quero utilizar este algoritmo para trabalhar com moedas criptográficas na troca, tais como BitMex. Não consigo compreender como reescrever a EA para esta troca noutra língua, é melhor em C, porque o Mql5 parece ser semelhante ao C.

Não é necessário reescrevê-lo. Pode procurar um corretor que permita a negociação de moeda criptográfica em MQL5.
Por via das dúvidas, veja em MT5 / Ver / Símbolos

 
Rost17:
Esta é uma questão para especialistas em mql. Como é que mudo de posições fechando marcas em Expert Advisors? Quero ter uma seta vermelha para a esquerda num fecho de Venda e uma seta azul para a esquerda num fecho de Compra. Então eu veria imediatamente que não é a abertura oposta, mas exactamente o fecho. Tive-o no MT4 e não conhecia um problema. Gostaria de o alterar no MT5. Obrigado de antemão.

Pesquise ou escreva a sua própria função para exibir o comércio num gráfico