Comment()関数やPrint()関数で他の通貨ペアの価格等を表示させるときの注意点

たとえば、EURUSD1分足の現在の高値を、USDJPY1時間足チャートの左上に表示させたい場合、

↑ これでよさそうですよね。


でも、実際に、USDJPY1時間足チャートを見てみると、

私が利用している証券会社は小数点以下5桁まで表示されるはずなのに、上の画像をご覧のように、4桁までしか表示されません。


同じようなことは、Print()関数でも生じます。


これは、どういうことかというと、Comment()関数もPrint()関数も、基本的にはstring型の変数をパラメーターにとるところ、無理やりdouble型の変数を代入したために、誤変換を起こしているわけです。


どうすればよいかというと、

上のプログラムのように、double型の変数をstring型に変換してから、Comment()関数に代入してやればよいわけです。


その際、気をつけなければいけないのは、小数点以下の処理に、通常のDigitsを使うと、USDJPYの桁数(3桁)に合わせられてしまうので、MarketInfo()でEURUSDの桁数を取得するか、直接、「5」と入力することです。


そうすれば、

めでたし、めでたし。