Maintenance
サイトから" " 値を取得する方法
MQL4
スクリプトを使用していますか?
私が理解しているように、インターネット接続を設定し、サイトからデータを取得し、解析してデータを取得する必要があります。
私がそれを行う方法はありますか?
どんな例でも感謝します。
Maintenance
サイトから" " 値を取得する方法
MQL4
スクリプトを使用していますか?
私が理解しているように、インターネット接続を設定し、サイトからデータを取得し、解析してデータを取得する必要があります。
私がそれを行う方法はありますか?
どんな例でも感謝します。
これは、(DLL 回避策を使用しない場合) タスク全体でホイールを再発明し、MQL4 内で HTML パーサーを構築する必要があることを意味します。実行可能ですが、誰のリソースも無駄にします。
DLL インポート機能を使用する場合、MQL4 コード実行制限をバイパスし、Windows-API サービスを呼び出してサブプロセスをフォークし、物事を前進させることができますが、私の意見では、Windows-API はむしろ豊富なインターフェース フレームワークを備えていますが、基本的なサービスへのかなり低レベルのアクセスのためです。そのため、MQL4 サンドボックスの制限から「外に」、再びホイールを再発明することができます。
私たちの想像力を制限しなければ、あなたのプロジェクトは Python でのラピッド プロトタイピングの恩恵を受け、異機種の Python / MQL4 環境でピアツーピア分散メッセージング/コントロールをセットアップすることができます。
他の利点に加えて、( だけでなく) スマートで強力な Web コンテンツ処理における Python の強みはすばらしいため、この分散型アプローチは MQL4 プロジェクトを戦略的に新しい、目に見えない次元へと導きます。
Python のスマート スクレイピング (ばかげたものではありません):
def askAtPublisherWebURL( aControlDICT,
aURL = "https://globalde?.?.?.?y?.com/en/products/.../...-DLON?Class_type=class_symbol=???&Class_exchange=???&ps=999&md=03-2014",
anOPT = "ESX",
aMaturityDATE = "03-2014",
anEmailRECIPIENT = "Me.Robot-GWY-2013-PoC@gmail.com",
aFileNAME = "ESX_2014-03_anObservedStateTIMESTAMP[]"
):
import time, urllib, re, winsound, urllib2 # late, dirty import
try:
aReturnFLAG = True
anOutputSTRING = "|TRYING: " + aURL # a crash-proof proxy-value for a case IOError <EXC> would appear
# --------------------------------------------------------# urllib2 MODE
anInputHANDLER = urllib2.urlopen( aURL, None, 120 ) # urllib2 MODE with a 120 [sec] timeout before urllib2.URLError ... still gets stuck during peak-hours ( on aMaturityDATE )
aListOfLINEs = anInputHANDLER.readlines()
anInputHANDLER.close()
# --------------------------------------------------------# urllib2 MODE
except urllib2.URLError as anExcREASON:
aReturnFLAG = False
# no RET here // JMP .FINALLY: to log IOError....
except exceptions.IOError as ( ErrNO, ErrSTR ): # an IOError <EXC> hase appeared, handle with care before JMP .FINALLY:
aReturnFLAG = False
else: # no IOError or any other <EXC>, process the <content> .. JMP .FINALLY:
# ------------------------------------------------------# HTML-processor
# smart html-processing goes here
# ...
# ------------------------------------------------------# HTML-processor
finally: # in any case do all this TIDY-UP-BEFORE-EXIT
# fileIO + pre-exit ops
# sendMsg4MQL() --> SIG MT4
return aReturnFLAG # MISRA-motivated single point of RET
タカ派のPythoneerにとって、投稿では意図的にPEP-8以外のソースコード形式を使用しています。著者の経験によると、学習段階では、コードの読みやすさが課題解決への焦点を改善し、労力を費やすのではなく、根底にある概念に慣れるのに役立ちます。タイポグラフィを正式に遵守することについて。ヘルプを提供するという原則が尊重され、読みやすさという名目で PEP-8 以外のスタイル形式が許されることを願っています。