*

(MQL4プログラマのための)先に知っておくと時間を節約できるMQL4の仕様

公開日: : 中級者EA開発

Originally posted 2018-06-01 14:42:26.

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

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

StringToTimeの仕様

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ではないので注意が必要です。(MT4のヒストリーの表示状態に依存する可能性があります。)

 

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

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

ストップレベルというのは、現在レートに近すぎるレートに予約注文(指値、逆指値)は出せませんよ~、という目安の数字です。

 

ストップレベルが10の場合は、最低でも現在レートよりも10point離れたレートでないと予約注文を出すことができません。(それ以内の場合は注文拒否にになります。)

 

さて、表題の件ですが、MarketInfoなどでストップレベルを取得した際に0になっているにもかかわらず、ストップレベルが原因で注文が弾かれることがあります。

これはストップレベル=0が「ストップレベルによる制限がないことを表す」訳ではないことを意味します。

一般的には=0の場合、制限がないことを表すことが多いですが、ストップレベルに関しては不定を表します。

そのため、予約注文前にフェイルセイフでストップレベルを検査して0が検出された場合には、一般的なストップレベルの目安であるスプレッドx2を設定します。(これが保証されている訳ではありません。)

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

Message

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

CAPTCHA


関連記事

MT4のメールを複数のアドレスに送るには

MT4が出すメールを複数のアドレスに送信したいときがあります。   MT4では複数のア

記事を読む

[MT4]EA単体でFX業者間アービトラージ ~為替システムの穴~

より高速になったアービトラージEA 業者間アービトラージが話題になった時代が数年前にありましたが、

記事を読む

チャート上にシダの葉を出力する(理工系あるある)

今回のフラクタルはインジケーターとしてのフラクタルではなく、理工系で使われるフラクタルの話です。

記事を読む

ティック更新のズレにはFXシステムの穴がある 合成通貨アービトラージ

合成通貨アービトラージとは FXは通貨ペアなので、その組み合わせは無数にあります。 例えば、ドル

記事を読む

no image

利用可能なトレード系APIまとめ

今まで当たり前のようにMT4/MT5で開発をしてきましたが、そういえばAPIを使った取引も可能だよね

記事を読む

 
  • fxfx.work

    (↑広告です。このサイトの管理者の運営ではありません)

     


  • 横瀬兼元(ペンネーム)です。

    プロフィール
    商材を買わせようとする偽者がいるらしいのでご注意ください。
    ツイッター始めました(イマサラー)
    https://twitter.com/FxantennaC
    (埋め込みするとページ表示が極端に遅くなるので、リンクでご容赦を) 4000文字未満のトピックや話題はツイッターで発信しています。
  • fxfx.work

    (↑広告です。このサイトの管理者の運営ではありません)

Translate »
ページトップへ