OBJPROP_XDISTANCE の基準点が右下という問題。

 

MT4(ver1010)を利用しているのですが、

以下のコードで取得した、ラベルの情報を
      int iCorner=ObjectGetInteger(0,iname,OBJPROP_CORNER); (右下基準)
      int iXdis = ObjectGetInteger(0,iname,OBJPROP_XDISTANCE);

以下のコードで、他のチャートに適用すると

            ObjectSetInteger(id,iname,OBJPROP_CORNER,iCorner);
            ObjectSetInteger(id,iname,OBJPROP_XDISTANCE,iXdis);

場所がずれてしまいます。

原因はおそらく、MQL4では、右下基準でラベルの座標を設定した際は、ラベルの右下の座標が基準に計算されるのですが、
MQL5では、ラベルの左上の座標で計算される仕様の違いが、不具合を産んでいるのだと、想像していますが、

これを、解決する方法はないかと思い、トピックを立ち上げました。
どなたか、ぜひ参加していただけるとうれしいです。


MQL5のドキュメンテーション: 標準的な定数、 列挙と構造体 / オブジェクト定数 / オブジェクトプロパティ
MQL5のドキュメンテーション: 標準的な定数、 列挙と構造体 / オブジェクト定数 / オブジェクトプロパティ
  • www.mql5.com
標準的な定数、 列挙と構造体 / オブジェクト定数 / オブジェクトプロパティ - MetaTrader 5 のためのアルゴリズムの/自動化されたトレーディング言語のリファレンス
理由: