初心者の方からの質問 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            // сдвиг 
   );
このコードでは、シフトは現在時刻からの相対的なBARの数 として扱われます。
ここでは例として、
 int bar_index=iBarShift(symbol,tf,time,exact); 
   
 datetime bar_time=iTime(symbol,tf,bar_index); 
ヘルプでは、iBarShiftがバーのインデックスを返すと指定されています。

私の理解では、バーの数とバーインデックスは異なるパラメータです。

バーの番号付けが現在の時間(current = 0)から始まるのであれば理解できるのですが。
しかし、OnCalculate()では、ウィンドウ履歴の先頭からのバーインデックス番号が与えられます。

どうか、私が何を間違えたのか説明してください。
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Bars - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
自分自身で発見した。

iBarShiftの ヘルプは意味不明なことばかりです。
この関数は OnCalculate() の意味でのバーインデックス(
)ではなく、バーオフセット、すなわちシフトを返します。

異端審問の時代なら、これは火あぶりにされていたかもしれませんね:)
Документация по MQL5: Доступ к таймсериям и индикаторам / iBarShift
Документация по MQL5: Доступ к таймсериям и индикаторам / iBarShift
  • www.mql5.com
iBarShift - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
User_mt5:
自分自身で発見した。

iBarShiftの ヘルプには異端児がいっぱい。この関数は OnCalculate() でいうところの小節のインデックス ではなく、小節のオフセット、つまりシフトを返します。異端審問の時代なら、これは火あぶりにされていたかもしれませんね:)



すべてにおいて専門家ではないのですが......。しかし、焚き火の最初の候補は...あなたです。そんな異端な」と書く前に、自分でドキュメントを読むべきだったのでは......!

追伸:そして、何を、どこで、どのように・・・を考えてください。
 

皆さん、お元気ですか?

質問は単純で素朴なものです。Mql5でEAを書きました。このアルゴリズムを使って、BitMexなどの取引所にある暗号通貨と連動させたいのです。Mql5はC言語と似ているようなので、C言語の方が良いのですが、このやりとりのEAを 他の言語で書き換える 方法がわかりません。

 
皆さん、こんにちは。私のアカウントがブロックされたのかどうか教えてください。私を指導してくれたアナリストは、ブローカーを探せと言った。ブローカーを知りません。 このような場合、どうしたらよいでしょうか。 口座にある金額は500ドルでした。
 
Evgen1504:
皆さん、こんにちは。私のアカウントがブロックされたのかどうか教えてください。私を指導してくれたアナリストは、ブローカーを探せと言った。ブローカーを知りません。 このような場合、どうしたらよいでしょうか。 口座にある金額は500ドルでした。
500どころか詐欺に遭いましたね。
 
Amon1953:

皆さん、お元気ですか?

質問は単純で素朴なものです。Mql5でExpert Advisorを書きました。このアルゴリズムを使って、BitMexなどの取引所にある暗号通貨と連動させたいのです。Mql5はC言語と似ているようなので、C言語でよいのですが、このやりとりのEAを 他の言語で書き換える方法がわかりません。

書き直す必要はありません。MQL5で暗号通貨を取引できるブローカーを探してみてはいかがでしょうか。
念のため、MT5 / 表示 / シンボルを見てみましょう。

 
Rost17:
これはmqlのスペシャリストへの質問です。Expert Advisorでポジションの終値を 変更するにはどうすればよいですか?売りの終値で左側に赤い矢印、買いの終値で左側に青い矢印を表示させたいのですが。そうすると、逆の開き方ではなく、まさに閉じ方であることがすぐにわかるのです。MT4で使っていて問題なかったので、MT5で変更したいです。よろしくお願いします。

トレードをグラフで表示する関数を検索したり、自分で書いたりすることができる

理由: