スポンサーサイト

--------

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

MT4 Ask と MarketInfo(PairName, MODE_ASK)

2011-02-04

MT4は長いですが、プログラムについてははじめて書くかもしれません・・・

OrdersendのときにAskを使うべきか、それともMarketInfo(PairName, MODE_ASK)を使うべきかという話題。


このfaiさんの記事を参考にして、今行っているEA開発の経験を合わせて考えると、
どうやらMTのEAではティックをMT4が受け取るたびにstart()関数が呼び出され、そのタイミングでAskが更新されるようだとわかりました。


Ask:最後にローカルで取得した値段。ただし、start()関数呼び出しの時点で更新される(らしい)
MarketInfo(PairName, MODE_ASK): サーバに問い合わせて最新の値段を拾ってくる



通常のEAですと、ティックが動くたびにstart()が呼び出される仕組みなので、startしてから短時間でOrdersendする場合はそれほど差はありません。


しかし現在作っているEAは特殊な状況(ティックをスタートされたらwhileさせる)ので、このような時はAskとMarketInfo(PairName, MODE_ASK)では違いが出てきます。

つまり、start()が呼び出されないとAskが更新されないようなので、注文のための値はMarketInfo(PairName, MODE_ASK)
で毎回取得する必要があります。

Askを使ってEA開発していたら、値が常に一定で??となっていたら、こういうことのようです。
とりあえず自分用のメモということで。



PS
JForexネタを見に来てくださった方が多いようで、更新できず。すみません。
MAクロスのストラテジーを解説しようとしたのですが、解説する箇所が多すぎて今、下書き放置中です。
とりあえずはJavadocを参考にしてくださいな。

テーマ : FXでシステムトレード
ジャンル : 株式・投資・マネー

トラックバック

コメントの投稿

非公開コメント

No title

こんにちは。

RefreshRates() と同じでしょうか。
間違ってたらすいません。

Re: No title

>IPAさん

おっしゃるとおり RefreshRates()を使えばプログラム内の任意の時点でAskやBidなどをまとめて更新できるようですね!
http://googolyenfx.blog18.fc2.com/blog-entry-346.html

No title

上記記事、勉強になりました。
ありがとうございます。
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。