チャート横軸に日本時間を表示するJPN_Time_SubZeroの改造。

裁量トレードでは、チャートの見やすさを如何に保つか?が重要なポイントだと思っています。
人間の脳は、記憶容量こそ無尽蔵に思えるほど多くのことを記憶できますが、一度に入力できる容量(短期記憶のワーキングメモリ)は非常に小さく、数字であればせいぜい7個覚えるのが精一杯です。
このような脳の特性を生かしてトレードする為にも、無駄なく漏れなく必要最小限の情報を視覚的に最も有効な方法でチャート上に表示させる方法を追求するべきなのです。


そのような視点から、JPN_Time_SubZero を見ると、私にとっては、もう少しカスタマイズが必要かなぁと思っているので、今日は、グリッド表示に関する改造レシピを紹介します。そもそもグリッド表示を使わない人や、今のままが見やすい人はそのままで良いと思います。


現状でもかなり見やすいと思うのですが、拡大してみると…

グリッドのラインがローソク足の上に描かれています。
グリッドが邪魔して、ローソク足のカタチを見辛くしているので、修正します。

      ObjectSet(GridName, OBJPROP_STYLE, STYLE_DOT); // この一行を探し出して
      ObjectSet(GridName, OBJPROP_BACK,true); // この一行を追加

修正後は、

のような感じ。
グリッドとローソク足の前後関係は解決しましたが、チャート全体をみてみると、このグリッドの色では明るすぎて目立っているのでグリッド色を暗くします。(私の場合、ローソク足の色自体を暗めにしているので、余計に目立っています)

extern color GridColor = C'64,64,64';//LightSlateGray;

暗めの色は、モニタの特性によってかなり見え方が代わるので、C'64,64,64'でも明るい場合は、C'50,50,50'や、C'40,40,40'にします。

かなり良い感じになりました。
(モニタの特性次第で、上の二つのチャート画像に差異を感じにくいこともあります...念のため。)


基調となるグリッドはこれで良いのですが、デイトレードでは特定の時刻を意識してトレードすることが多いので、特定の時刻のラインだけ色づけします。

   //グリッドの作成
   if(Grid){
      int hr = TimeHour(settime+Time_difference * 3600); // 以下4行追加
      color MyGridColor = GridColor;
      if(hr == 16) MyGridColor = IndianRed;
      if(hr == 21 || hr == 0 || hr == 4) MyGridColor = SteelBlue;
      //if(TimeHour(settime)!=0 ){ // ←グリッドを引きたくない時刻を指定するならここ。
      ObjectCreate(GridName,OBJ_TREND, 0, settime,0,settime,WindowPriceMax(0));
      ObjectSet(GridName,OBJPROP_COLOR,MyGridColor); // GridColor⇒MyGridColor
      ObjectSet(GridName, OBJPROP_STYLE, STYLE_DOT);
      ObjectSet(GridName, OBJPROP_BACK,true);
      //}
   }


これで完成です。このチャートは16時での潮目の変化や、21時、0時直後のブレイクが分かりやすい例です。
何を基準に見やすい、見づらいと感じるのかは人それぞれなので、今日の記事を参考にいろいろいじってみると良いかもしれません。