*

久しぶりにMQL4を触って違和感を覚えたこと(覚書)

公開日: : FX自動売買開発

ほとんどの人には関係ない記事だと思います。

開発者の方が検索してたまたま見てもらうような覚書です。

StringToTimeは0や0000.00.00 00 00を変換すると2001年1月1日のタイムスタンプになる

0を変換したら0(1970/1/1)のタイムスタンプになると思いきや2001年に飛ばされるんですね。

マニュアルにも一切注意書きがないので意外と引っかかりました。

OrderClosePriceは決済前では現在レートを返す

MT4のオーダー情報もそうなってるので当たり前と言っちゃ当たり前ですが、

よく考えると(いや、良く考えなくても)この仕様っておかしいですよね。

この2つが何に影響するかというと、決済されているかどうかを調べるときにOrderCloseTime>0 とするかOrderClosePrice>0とするかに響いてきます。

前述のようにOrderClosePrice>0ではこの条件を上手く表してくれません。EA内でOrderCloseTimeを判定するときには良いのですが、外部から時刻を文字列で引っ張て来てそれを変換して比較しようとすると、上の仕様にぶち当たります。

OrdersHistoryTotalとOrderSelectのMODE_HISOTRYの検索順序

履歴のオーダーを調べたい場合、履歴の情報が膨大になるとメモリに負担がかかるので、たとえば最新10件のオーダーだけを調べたいことなどがあります。

そのときに重要になってくるのが、OrderSelectでSELECT_BY_POSしたときの順序です。

とすると、古い10件が取り出せます。

新しい10件を取り出したい場合には、

とすればOKです。

ちなみに順序はチケットナンバー順です。OrderOpenTimeではないので注意が必要です。

Message

メールアドレスが公開されることはありません。

このコメントはWEBに公開されるので、問い合わせ等はメールでお願いします。

関連記事

【MQL4】外部ソフトなしで稼働するコピートレードツールを作る。その①

MT4で自動売買ソフトを稼働させるトレーダーには、ときとしてトレードを別のMT4にコピーしたい場合が

記事を読む

EA単体で業者間アービトラージ

業者間アービトラージが話題になった時代が数年前にありましたが、 今回は今の技術で業者間アービトラー

記事を読む

EAに自動的に最適化させる

どんなに優秀なEAでも、 ライブで稼働させる場合、定期的なパラメータの最適化が必要です。

記事を読む

MQLxPHP サーバを経由するコピートレードツールを作る6

前回までの内容でサーバを経由するコピートレードツールは (ある程度MQLとPHPがわかっていれば)

記事を読む

MQLxPHP サーバを経由するコピートレードツールを作る2

まず、データをサーバに送信するEAを作ります。 飛ばすトレード情報のデータは、 ・チケットナ

記事を読む

 
  • ブログ管理人の横瀬兼元(ペンネーム)です。

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで

no image
サービス展開向けの仮想通貨自動売買システムを作るには

前置き ビットコイン、仮想通貨の自動売買を作る目的として、通常は個人

一回の演算で複数のリクエストを送る 仮想通貨の自動売買⑪

公開:2017/9/4 基本的にjson形式でAPIをたたく場合

コインチェックAPIで信用取引 仮想通貨の自動売買⑩

公開:2017/9/4 これまではAPIで現物取引を扱ってきまし

POLONIEXのAPIでビットコインのヒストリデータを取得 仮想通貨の自動売買⑨

公開:2017/9/4 国内の取引所でもAPIを発行している取引

APIでコインチェック、ZAIF、bitFlyerのレートの比較&トレード 仮想通貨の自動売買開発⑧

公開:2017/7/11 今回は業者間アービトラージに向け、PU

→もっと見る

PAGE TOP ↑