*

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

関連記事

no image

シンプルなニューラルネットワークに基づいたEA(の記事)

MQLの記事って、ロシア語->英語->日本語の順に訳されるんで日本語の検索結果に上がるころには結構時

記事を読む

【EA】直近二日の高値、安値のブレイクアウト戦略が意外と良い件について

...表題の通りです。 もともと昔から「日の高値、安値のブレイクアウト」、もしくは「高値・安値に数p

記事を読む

最適化なしで勝率98.31%()のトレードシステム【あげます】

GBPUSD D1 Spread:2 2018/1/1~2018/12/31 DD:4.49% 勝

記事を読む

no image

最近の海外のEA開発の流行り:ロングとショートのパラメータ群を分ける

表題の通りですが、最近海外製のEAではロングとショートのパラメータを分けるのが流行っているようです。

記事を読む

グラフの見栄えがいい利小損大モデル【EA配布】

GBPUSD 2018/1/1~2018/12/31 D1 Spread:2 PF:2.21 勝率

記事を読む

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

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽者がいるらしいのでご注意ください。
【MT4】H4, D1用EA(プレゼント企画)

EURUSD 2018/1/1~2018/12/31 D1

質問回答コラム

Q. 管理人さん自身はEAで運用しているのですか A.  して

【MT5】MACD, ストキャスティクス, モメンタムEA(配布)

GBPUSD 2018/1/1~2018/12/31 H2

【MT5】 3通貨相関アービトラージEA(無料プレゼント)

EUR, GBP, USD の3通貨の相関を利用したさや取りトレード

no image
仮想通貨対応マーチンゲールEA(無料配布)

USDJPY 2018/1/1~2018/12/31 Spread:

→もっと見る

PAGE TOP ↑