0

POSTこれは、MQL4 スクリプトから upload.php という名前の外部 php スクリプトへの 13 個のパラメーター値のセットに使用しようとしているコードの一部です。

   string headers = "Content-Type: application/x-www-form-urlencoded";
   string data    = "{\"ohlcVectors\":{\"ticker\":\"dax\",\"barIntervalSeconds\":300,\"open\":[6844.2998046875," +
      "6847.7998046875]},\"className\":\"MAIndicator\",\"parameters\":{\"periods\":2}}";

string acceptTypes[1] = {"*/*"};

   int HttpOpen    = InternetOpenA(   "HTTP_Client_Sample", 1, NULL, NULL, 0 );
   int HttpConnect = InternetConnectA( HttpOpen, "127.0.0.1", 7777, NULL, NULL, 3, 0, 1 );
   int HttpRequest = HttpOpenRequestA( HttpConnect, "POST", "/tradesheet/upload.php", NULL, NULL, acceptTypes, 0, 1 );
                     HttpSendRequestA( HttpRequest, headers, StringLen( headers ), data, StringLen( data ) );

dataコンパイラは、互換性のない型であるというエラーをスローし続けます。その文字列は、phpにパラメーターを送信dataする方法を探していたときに、サイトから取得されました。しかし、その文字列に独自のパラメーター値を持たせる必要がありますが、正しい形式にする方法がわかりません。MQL4POSTdata

かなり検索してみましたが、役立つものが見つかりません。

以下は、upload.php に送信する必要があるパラメーター リストです。HttpSendRequestA()誰かがそれを期待している形式で手配するのを手伝ってもらえますか?

string params[13][13];
params[0][0] = "x1";
params[0][1] = "GOD@GMAIL.com";

params[1][0] = "x2";
params[1][1] = 10000;

params[2][0] = "x3";
params[2][1] = 10000;

params[3][0] = "x4";
params[3][1] = "fxpro";

params[4][0] = "x5";
params[4][1] = "usd";

params[5][0] = "x6";
params[5][1] = 10000;

params[6][0] = "x7";
params[6][1] = 5000;

params[7][0] = "x8";
params[7][1] = 10;

params[8][0] = "x9";
params[8][1] = 10;

params[9][0] = "x10";
params[9][1] = "sdfskfms";

params[10][0] = "x11";
params[10][1] = 232;

params[11][0] = "x12";
params[11][1] = 230;

params[12][0] = "x13";
params[12][1] = "fxpro";

ありがとうございます

4

1 に答える 1

1

ビルド 600 を使用している可能性が高いです。ビルド 600 は、Ansi ではなく Unicode をサポートしています。

したがって、これらは使用する必要がある関数です。

InternetOpenW
InternetConnectW
HttpOpenRequestW
HttpSendRequestW

下記参照:

MT4 b600 / ghttp.mqh と InternetOpenUrlA() の問題

于 2014-03-10T21:34:59.263 に答える