*

久しぶりに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に公開されるので、問い合わせ等はメールでお願いします。

関連記事

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

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

記事を読む

第15回:OrderModifyで損切り、利確注文を出す

SL,TPをEAから送信する ここでは ポジション取得時に損切りと利確を同時に送信するMQLプロ

記事を読む

合成通貨アービトラージ

FXは通貨ペアなので、 その組み合わせは無数にあります。 例えば、ドルから円に換える場合、

記事を読む

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

前回は「”過去に”コピー元のトレードを持っていたか調べる関数」と「"現在"コピー元のトレードを持って

記事を読む

第6回:オーダーに条件をつける IF文

ここではオーダーを送信する前に条件文を挿入します。 条件の書き方 前回までには、「新規ポジシ

記事を読む

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

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽物がいるらしいので偽物にご注意ください。
no image
シンプルなニューラルネットワークに基づいたEA(の記事)

MQLの記事って、ロシア語->英語->日本語の順に訳されるんで日本語の

no image
自動売買における仮想ストップロス、仮想テイクプロフィットの概念と意味

最近の自動売買系の論文やコードを読んでいると「仮想ストップロス」、「仮

no image
[bitwallet]paypal, Netteler, Skrillの次のオンラインマネーウォレット

近頃FX業界ではbitwallet(旧:mybitwallet)という

no image
ストップレベル=0はストップレベルがないことではない

MT4/MT5では予約注文を行う際にストップレベルというものがあります

no image
私の偽者、偽ブログにご注意ください

読者の方からご連絡いただいたのですが、私のブログの内容をそのままコピー

→もっと見る

PAGE TOP ↑