2019年4月12日金曜日

MQL4 で配列用メモリを動的確保する方法

プログラムの動作中に配列長が決まるということはよくあります1

そういった場合、C++ では new 演算子で動的にメモリを確保するわけですが、MQL4 では new 演算子で配列用のメモリを確保することは出来ません。

その代わり、ArrayResize() を利用することでメモリを動的確保することができます。

2019年4月11日木曜日

MT4 Android 版で Notification の音を変更する方法

@Android版 MetaTrader 4 Build 1174 (05 Apr 2019)

MT4 Android 版で Notification の音が変更できない で書いたように MT4 Android 版 では Notification の音を変更することが出来なくなっていました1

アプリの更新が出るたびに、修正されているか確認しているのですが、未だに直っていないようです。

…と思ったら、アプリ内からは変更できないけど Android の設定からは変更できるようになっていました2。 Android 9 Pie で Notification の仕様が少し変わり、MetaTrader 4 アプリはそれに正しく対応出来ていないようですね。

なので、公式にはまだ直っているとは言い難いですが、Android の機能を使えば Notification の音を変更することが可能です。

2019年4月4日木曜日

[MT4] tester cannot calculate prices が出てしまった場合の対処方法

昨日まで使えていた EA でテストをしようとしたところ、"tester cannot calculate prices" というエラーが出て、動かなくなってしまいました。 エラーの前に "margin exchange rate cannot be calculated" という警告が出ているのも気になります。

調べてみたところ、以下のような条件下でおこるようです1

  • "Expert properties"(エキスパート設定)の "Initial deposit currency"(初期証拠金通貨)がブローカーのものと異なる
  • テストの "Symbol" (通貨ペア)が直接計算できない2
  • サーバーと通信出来ていない