2019年1月17日木曜日

[MQL4] ObjectDelete() をループ内で実行するときには decrement にする

特定の Object をまとめて消したい時、以下のようにループで各オブジェクトを消したくなります。

しかし、以下は Object が2個以上あるとうまくいきません。

1
2
3
4
5
// NG
for (int i = 0; i < ObjectsTotal(EMPTY); i++) {
    string objectName = ObjectName(i);
    ObjectDelete(objectName);
}
2019年1月5日土曜日

[MQL4] OnTick() 内で Bid, Ask を更新する方法

EA の OnTick() 処理中に Bid, Ask が更新されたとしても Bid, Ask 変数にこれらの値は反映されません。

注文の実行時など、最新の値を使用したい時は RefreshRates() を使用すると Bid, Ask 変数等を更新する事が出来ます。

2019年1月4日金曜日

[MQL4] 他通貨の Bid, Ask を取得する方法2種

他通貨のバー情報を取得するには iHigh() 等の関数が使えます。 通常はこれで十分なのですが、リアルタイムで Bid, Ask の情報を取得したいことも時としてあります。

その場合、以下のようにして取得することが可能です。

2019年1月3日木曜日

OANDA Japan で v20 口座を作ったら新規注文できなくなった【解決済】

昨年末に「【重要】OANDA Japan NYサーバーにおける新取引システム【v20】への移行および口座移管のお知らせ」というメールが届きました。

2019年1月中旬以降、順次取引システムが v20 に更新されるらしい。 両建て口座は自動で更新されないとのことなので、手動で v20 口座を作成し、移管してみました。

ところが、新規の v20 口座では通貨ペアがグレーアウトされてしまい、 新規注文が出せません1。 そして、USDJPY のスプレッドが 14 と広がっています。ボラティリティの低い安定時です。 原則 8 point 2 固定じゃなかったのか!?