ラベル MetaTrader の投稿を表示しています。 すべての投稿を表示
ラベル MetaTrader の投稿を表示しています。 すべての投稿を表示

2020/05/16

MetaTrader4 設定情報取得スクリプト

MetaTrader4 で、口座情報、証拠金状況情報、時刻情報、マーケット情報、商品情報を取得するスクリプトを作りました。

AccountXxx() や MarketInfo() を使って情報を取得するスクリプトはけっこうあちこちで見掛ける、珍しくもなんともないものなのですが、一応いくつか特徴があります。

  • コード値を返すものは、その意味が分かるようなメッセージにしている
  • 日付・時刻はフォーマットしている
  • サーバ時刻とローカル時刻の時差を計算している
  • 単位のある数値は、単位を表記するようにしている
    • point とか % とか
    • 例えば JPY 口座で USDCHF の情報を見ているときに、各種金額が JPY なのか USD なのか CHF なのかを明示している
  • おそらく MetaTrader5 由来だと思うのですが、AccountInfoXxx() や SymbolInfoXxx() でしか拾えない情報があるので、それらも表示するようにしている

2020/05/05

日付処理 - MetaTrader - ニューヨークサマータイム判定 (第n日曜日以降判定)

ニューヨークのサマータイム期間は、以下のようになっています。

  • 2006年以前
    • 4月第1日曜日~10月最終日曜日
  • 2007年以降
    • 3月第2日曜日~11月第1日曜日

ある日がサマータイム期間に入っているかどうかを判定するためには、第n日曜日以降なのかどうかを調べる必要があります。
Java ならこうするだけなのですが、今回は MetaTrader での実現を考えました。MetaTrader ではサマータイム情報を持っていないため、算出してみようという話です。

2020/04/29

MacOS Catalina で MetaTrader4 を動かす

MacOS Catalina (10.15.x) では、32ビットアプリケーションが動作しなくなりました。
そのため、様々な FX 業者で MT4 for Mac として配布している、MacOS 上の Wine を使って MT4 を動かしているようなものは、軒並動作しなくなってしまいました。

そこで、別のアプローチで動かしてみましたので、ご紹介します。

2020/03/14

MetaTrader4 の ExpertAdvisor 動作サンプルを動画で公開しました

最近作成した EA の動作がなかなか爽快なので、動画にして YouTube に載せてみました。
MacOSX の標準機能で録画して、iMovie で早送りにして会社ロゴをオーバーレイしてみました。iMovie から直接 YouTube にアップロードできるんですね。とてもお手軽でした。

2020/03/12

MT4 のログをチケット番号で整理する perl ワンライナー

MT4 で1つのチケット (リーブオーダーやポジション) に対して何度も OrderModify() するような、かつ大量のチケットをハンドルするような EA を動かしていると、各チケットがどういう経緯を経ているのかが追いづらくなることがあります。 そのため、以下のような perl ワンライナーで簡易的に整理するようにしてみました。