C言語でいうところのPrintf()に当たる機能として、
Print()関数がある
実際に出力された数値や文字列は
MetaTrader4のターミナルのExpertsタブ内で確認できる
MetaTraderで図形を表示する場合、テキストラベルを除き、座標の指定は
x軸=時間、y軸=価格で指定する。
その特性上、オブジェクトの表示が困難になる場合がある。
例えば高さが16pixelのオブジェクトの下に他のオブジェクトを配置したい場合、
16Pixelは価格で表すとどのくらいなのか?を取得しなければならない。
関数で提供されているのは、表示しているチャートの最大価格と最低価格だけで、
チャートウィンドウサイズを取得する関数は与えられていない。
なので、自力で算出しないといけないのだが、その際にはWinAPIを使わざるを得なくなる。
自分の場合、GetPaneHeights.ex4という便利なツールがネットで拾えたので
それを利用させていただいております。
WinUser32.mqhをインクルドし、更にGetPaneHeights.ex4をインポートし、
GetPaneHeights()を宣言すれば、チャートウィンドウはおろか、サブウィンドウの
高さまで取得できてしまうすぐれもの。
バックテストするとえらい勢いでハードディスク容量が減ると思ってたら
ログファイルが異常に大きかったことが判明。
メタトレのインストールフォルダ以下の tester\logsに格納されているので、
自分で削除していく必要があるのかも。
設定でログ出さないとかしたほうがいいのか?っていうかできるのか?
チャートをアクティブにした状態でEnterキーを押すと、日付表示部分の一番左側に
コマンドプロンプトっぽいものが表示される。
ここで通貨単位や、チャート周期などを変更できるのだが、ぶっちゃけそれよりも使うのが
表示したい日付にジャンプする機能だと思われる。
例えば
2006.01.01
とか入力すればその日付にジャンプしてくれる。
この方法以外に指定日付にジャンプする機能が見当たらないので、重宝すると思われる。
特にヒストリカル分析しているときとか。
Expert Advisorが参照しているインジケータがDLLを使ってる場合、
Expert Advisor側でもDLLの使用を許可しないと、DLLのサービスが受けれない。
メニューの「ツール」->「オプション」->「Expert Advisorsタブ」の
Allow DLL importsにチェックを入れればOK
最終更新:2010年02月18日 19:27