特定の Web ページから引き出されたいくつかのデータ スニペットを必要とする MQL4 でプログラムを開発しています。
.csv
これを5分ごとにファイルにダンプするにはどうすればよいですか?
私はこれについてどのように行くつもりなのか行き詰まっています。
構造
.html
ページからダンプされたデータの一部.csv
ファイルにプラグイン- MQL4 による読み取り
特定の Web ページから引き出されたいくつかのデータ スニペットを必要とする MQL4 でプログラムを開発しています。
.csv
これを5分ごとにファイルにダンプするにはどうすればよいですか?
私はこれについてどのように行くつもりなのか行き詰まっています。
.html
ページからダンプされたデータの一部.csv
ファイルにプラグインあなたの質問は非常に一般的であるため(特定のコーディングの問題ではありません)、範囲が広すぎます。正しい方向に向けるために、一般的な回答を提供します。独自の調査を行う必要があります。
パート 1 - イベントのスケジュール
EventSetTimer(5*60)
ます。OnTimer()
場合は、ダウンロード プログラムを呼び出します (パート 2 を参照)。パート 2 - HTML のダウンロード
これは、サードパーティの DLL を使用せずに実現できます。組み込みの WindowsWininet.DLL
には、これに適した API があります。
import "wininet.dll" //Put a # in-front of import
int InternetAttemptConnect (int x);
int InternetOpenW(string sAgent, int lAccessType,
string sProxyName = "", string sProxyBypass = "",
int lFlags = 0);
int InternetOpenUrlW(int hInternetSession, string sUrl,
string sHeaders = "", int lHeadersLength = 0,
int lFlags = 0, int lContext = 0);
int InternetReadFile(int hFile, int& sBuffer[], int lNumBytesToRead,
int& lNumberOfBytesRead[]);
int InternetCloseHandle(int hInet);
import //Put a # in-front of import
これで、ダウンロード部分を開始できます (自分で調査を行ってください)。
OpenW
で URL を開き、OpenURLW
ReadFile API でページのコンテンツを読み取ります。最後に、 でセッションを閉じCloseHandle
ます。パート 3 - .CSV に書き込むには
ファイル書き込み操作を実行するには、FileOpen()
、FileWriteString()
およびFileClose()
MQL4 関数を見ています。
パート 4 - .CSV を読み取るには
FileReadString()
.StringSplit()
ます。.ex4
制御と同期の必要性のために ZeroMQ 経由で接続されています (ZMQ には多くの本番環境用のポート/ラッパーがあるため、MQL4 を必要なものと統合する準備ができています