どうも、FXトレーダー兼システムエンジニアのナオトです。
経済指標の発表までの残り時間を、チャートに一覧で出す e-EconomicStopper の話です。
このパネルは、右の縁をつかんで幅を変えると、文字もその幅に合わせて大きくなったり小さくなったりします。
作り直している途中、自分で使っていて気づいたことがありました。
チャートの大きさを変えると、パネルも付いてくる。けれど、文字がなぜか小さくなってしまう。
確かめると、こういう動きでした。
チャートを狭めると、パネルがはみ出さないように、文字が小さくなります。ここまでは狙いどおりです。
ところが、チャートを元の大きさに広げ直しても、文字は小さいままでした。
原因は、倍率の持ち方でした。
パネルには、使う人が縁をつかんで決めた倍率があります。これは覚えておいて、次に開いたときも使う値です。
チャートが狭くなって幅に収まらないとき、この使う人の倍率そのものを下げていました。
一度下げてしまうと、元の倍率がどこにも残りません。チャートが広くなっても、戻す先が分からないわけです。
直し方は、倍率を2つに分けることでした。
1つは、使う人が決めた倍率。縁をつかんだときだけ変わり、覚えておく値です。
もう1つは、その回の表示で使う倍率。幅や高さに入らないときだけ、こちらを下げます。
使う人の倍率には、収めるための調整では手を付けません。チャートが広がれば、表示の倍率は使う人の倍率まで戻ります。
位置にも、同じ形の不具合がありました。
チャートが狭くなると、パネルがはみ出さないように内側へ押し戻します。その押し戻した位置を、使う人が決めた位置として覚えてしまっていました。
こちらも、使う人が決めた位置と、その回だけ押し戻した位置を分けて持つようにしました。
同じ版で、見出しをダブルクリックするとチャートいっぱいに広がり、もう一度で元の位置と大きさに戻る、という動きも足しました。
これも、使っていて欲しくなった動きです。
MTには、ダブルクリックを知らせる仕組みがありません。
そこで、同じ所が0.4秒以内に2回押されたら、ダブルクリックとして扱うようにしました。
確かめるのには、チャートの大きさを決めた手順で変えていく試験用の台本を作りました。
狭める、広げる、を繰り返して、文字の大きさと位置が元に戻るかを、MT5とMT4の両方で見ています。
覚えておく値と、その場の都合で変える値を、1つの変数で兼ねない。
画面の大きさに合わせて動くものを作るときは、ここが分かれ目になります。
e-EconomicStopper はこちらです。
最後までお読みいただき、ありがとうございました。