Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1296

 

Всем доброго времени суток. Вопрос по работе функции WebRequest, при отправке POST запроса он не отправляет массив с данными. На стороне сервера получаю " <WSGIRequest: POST '/'> ". Ниже код:

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:

Всем доброго времени суток. Вопрос по работе функции WebRequest, при отправке POST запроса он не отправляет массив с данными. На стороне сервера получаю " <WSGIRequest: POST '/'> ". Ниже код:

Так у вас вроде GET? Вот я json отправляю (MQL5). Всё работает.

   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. Что за дурацкое выражение "доброго времени суток"? Вот, например, статья по этому вопросу. Сорри за флуд :)

 

В справке:

datetime  iTime( 
   const string        symbol,          // символ 
   ENUM_TIMEFRAMES     timeframe,       // период 
   int                 shift            // сдвиг 
   );
В этом коде shift воспринимается как КОЛИЧЕСТВО БАРОВ относительно текущего момента.
Тут же в примере такое:
 int bar_index=iBarShift(symbol,tf,time,exact); 
   
 datetime bar_time=iTime(symbol,tf,bar_index); 
В справке указано, что iBarShift возвращает ИНДЕКС бара.

По моим представлениям, количество баров и индекс бара - это разные параметры.

Я бы ещё это понял, если бы нумерация баров начиналась с текущего мометнта (текущий = 0).
Но OnCalculate() выдаёт порядковый номер бара от начала истории окна.

Объясните, пожалуйста, что я не так понял?
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Bars - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Выяснил сам.

В справке по  iBarShift написана ересь.
Функция возвращает не индекс бара в понимании OnCalculate(),
а смещение бара, т.е. shift.

За такое во времена инквизиции сожгли бы на костре:)
Документация по MQL5: Доступ к таймсериям и индикаторам / iBarShift
Документация по MQL5: Доступ к таймсериям и индикаторам / iBarShift
  • www.mql5.com
iBarShift - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
User_mt5:
Выяснил сам.

В справке по  iBarShift написана ересь.
Функция возвращает не индекс бара в понимании OnCalculate(),
а смещение бара, т.е. shift.

За такое во времена инквизиции сожгли бы на костре:)

Я совсем не спец во всём этом.... Но на костёр - самый первый кандидат.. это ВЫ. Прежде, чем написать "такую ересь", вам следовало бы самому ознакомиться с документацией!..

П.С. И разобраться что, куда и как...
 

 Здроровья всем!

 Вопрос простой и наивный. Я написал советника  на Mql5. Хочу по этому алгоритму поработать с криптовалютами на бирже например BitMex. Никак не могу понять как переписать советника для этой биржи на другом языке, понятно что лучше на Си, так как Mql5 вроде как подобен Си.

 
Всем добрый день. Подскажите пожалуста у меня заблокировали счет. Аналитик который вел меня сказал чтоб я нашел брокера. Брокера я не знаю. как быть в этой ситуации. сумма на счете была 500 долларов.
 
Evgen1504:
Всем добрый день. Подскажите пожалуста у меня заблокировали счет. Аналитик который вел меня сказал чтоб я нашел брокера. Брокера я не знаю. как быть в этой ситуации. сумма на счете была 500 долларов.
Вас нагрели всего не 500¿
 
Amon1953:

 Здроровья всем!

 Вопрос простой и наивный. Я написал советника  на Mql5. Хочу по этому алгоритму поработать с криптовалютами на бирже например BitMex. Никак не могу понять как переписать советника для этой биржи на другом языке, понятно что лучше на Си, так как Mql5 вроде как подобен Си.

Переписывать не нужно. Поищи брокера, у которого разрешена торговля криптовалютой на MQL5.
На всякий случай, посмотри МТ5 / Вид / Символы

 
Rost17:
Такой вопрос специалистам по mql. Как в эксперте меняются отметки закрытия позиций? Я хочу сделать так, чтобы на закрытии селлов была красная стрелочка влево, а у баев - синяя стрелочка влево. Я бы тогда сразу видел, что это не противоположное открытие, а именно закрытие. Ну, так было в МТ4 и горя не знал, хочется сделать также в МТ5. Заранее спасибо. 

Поискать или написать свою функцию изображения сделок на графике

Причина обращения: