0

特定の Web ページから引き出されたいくつかのデータ スニペットを必要とする MQL4 でプログラムを開発しています。

.csvこれを5分ごとにファイルにダンプするにはどうすればよいですか?

私はこれについてどのように行くつもりなのか行き詰まっています。

構造

  1. .htmlページからダンプされたデータの一部
  2. .csvファイルにプラグイン
  3. MQL4 による読み取り
4

2 に答える 2

3

あなたの質問は非常に一般的であるため(特定のコーディングの問題ではありません)、範囲が広すぎます。正しい方向に向けるために、一般的な回答を提供します。独自の調査を行う必要があります。

パート 1 - イベントのスケジュール

  • EA の OnInit(); でタイマーを作成しEventSetTimer(5*60)ます。
  • これにより、イベント OnTimer() イベントがトリガーされます。5*60 = 5 分。
  • その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 を開き、OpenURLWReadFile API でページのコンテンツを読み取ります。最後に、 でセッションを閉じCloseHandleます。
  • MT4コード内の文字列変数にHTMLを取得したら、必要なのはそれを好きなようにマッサージすることだけです.

パート 3 - .CSV に書き込むには

ファイル書き込み操作を実行するには、FileOpen()FileWriteString()およびFileClose()MQL4 関数を見ています。

パート 4 - .CSV を読み取るには

  • CSV ファイルを読み取るには、FileReadString().
  • 関数を使用して、文字列を CSV に分割できStringSplit()ます。
于 2015-03-09T10:19:13.333 に答える
0

ショートバージョン

  1. はい、可能です -- MQL4 に依存しない外部プロセスを介して、.ex4制御と同期の必要性のために ZeroMQ 経由で接続されています (ZMQ には多くの本番環境用のポート/ラッパーがあるため、MQL4 を必要なものと統合する準備ができています
  2. はい、可能です --初心者です、親愛なるワトソン...
  3. はい、可能です -- プロセス間で利用できる可能性があります (参照 #1 および #2 )

スタック オーバーフローのこれと他の MQL4/ZeroMQ の投稿を確認してください

別の MQL4 リアルタイム出力、リモートログおよびアニメーション化

于 2015-03-05T23:18:09.350 に答える