• ベストアンサー

MT4 直前の足の四本値を片隅に表示したい

MT4のチャートで、新しい足が出来た際に直前の足の四本値が画面の片隅などに自動で表示されるとすごく便利だと常々思っています。 普通の時はデータウインドウで確認すればいいのですが、エントリーをする直前や利食いを狙っている節目が近づいた際には、マウスを動かしてデータウインドウで確認とやっているとタイミングが遅れる事が多いです。 直前の足が片隅に表示されるようなインジケーターをご存知でしたら教えてください。 一番望ましいのは、直前の足と最新の足の四本値が左右で並んで表示される事です。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Saitar
  • ベストアンサー率41% (192/464)
回答No.9

では、こんな感じで。 #property copyright "Copyright Saitar" #property indicator_chart_window int x_pos = 20; // x position int y_pos = 20; // y position int mag = 15; //font size int init() { ObjectCreate("values1", OBJ_LABEL, 0, 0, 0); ObjectSet("values1", OBJPROP_CORNER, 1); ObjectSet("values1", OBJPROP_XDISTANCE, x_pos); ObjectSet("values1", OBJPROP_YDISTANCE, y_pos+20); ObjectCreate("values2", OBJ_LABEL, 0, 0, 0); ObjectSet("values2", OBJPROP_CORNER, 1); ObjectSet("values2", OBJPROP_XDISTANCE, x_pos); ObjectSet("values2", OBJPROP_YDISTANCE, y_pos); return(0); } int deinit() { ObjectDelete("values1"); ObjectDelete("values2"); return(0); } int start() { ObjectSetText("values1", DoubleToStr(High[0],Digits)+" "+DoubleToStr(Low[0],Digits), mag, "Eras Bold ITC", Pink); ObjectSetText("values2", DoubleToStr(High[1],Digits)+" "+DoubleToStr(Low[1],Digits)+" "+DoubleToStr(Open[1],Digits)+" "+DoubleToStr(Close[1],Digits), mag, "Eras Bold ITC", Snow); return(0); }

don-naldo
質問者

お礼

新しく作っていただいたインジケーターは物凄く使いやすいです。フォントも自由に変更できるので、Comment文より格段に見やすくなりました。乱視の私でも素早く数字を確認できます。 また、数字の表示位置も自由に変更できたり、色も付けられるので非常に便利です。 今は、数字を3段にして使用しています。上段に直前足のH・Lで中段に最新足のH・L、下段に直前足のO・Cを表示しています。適当にプログラムの内容を変えて色々と試してみた事で、プログラミングの仕組みがほんの少し分かりました。 プログラムが自力でスラスラ書けたらとても楽しそうですね。少しずつ勉強します。 この度は、何回も色々なプログラムを書いていただき本当にありがとうございました。

その他の回答 (8)

  • Saitar
  • ベストアンサー率41% (192/464)
回答No.8

と、いいつつ挙動を確認していたら、なぜかローソク足が欠けることが判明! プログラムの内容からはMT4のバグとしか考えられない現象です。 これほど明確なMT4の不具合は私の経験でもはじめてです。 仕方がないので、プログラムを微調整しました。 この変更によりサブウインドウが開いてしまいますが、適当に狭めて下さい ^^; 適用方法は変わりません。 #property copyright "Copyright Saitar" #property indicator_separate_window #property indicator_buffers 4 double Buffer1[],Buffer2[],Buffer3[],Buffer4[]; int init() { SetIndexBuffer(0,Buffer1); SetIndexBuffer(1,Buffer2); SetIndexBuffer(2,Buffer3); SetIndexBuffer(3,Buffer4); SetIndexLabel(0, "Open"); SetIndexLabel(1, "High"); SetIndexLabel(2, "Low"); SetIndexLabel(3, "Close"); IndicatorDigits(Digits); } int start() { Buffer1[0] = Open[1]; Buffer2[0] = High[1]; Buffer3[0] = Low[1]; Buffer4[0] = Close[1]; return(0); }

don-naldo
質問者

お礼

Saitarさん、こんにちは。 すでに、Saitarさんをベストアンサーに決定してしまったので、Saitarさんから返信をいただく事はできないのかもしれませんが、一応書きます。 最後に作っていただいたインジケーターで、直前の足の高値プラス0.3pips、安値マイナス0.3pipsの数字を表示する方法はないでしょうか。 もし、回答をいただけるようでしたらお願いします。しばらく待って返信がいただけないようであれば、また新規で質問を書きますので、ご返信いただけたらありがたいです。 よろしくお願いします。

  • Saitar
  • ベストアンサー率41% (192/464)
回答No.7

> 直前の足の四本値が最新の足にマウスを合わせないと表示されない とのことですが、先の回答で示した (4)データ・ウィンドウを右クリックして「直前を表示」を選択 を実行されてますでしょうか? 私のMT4ではご希望通りに表示されてます。 ご確認を。

don-naldo
質問者

補足

Saitarさん、こんにちは。 前回の補足でちょっと書き間違えてしまったのですが、「直前の足の四本値が最新の足にマウスを合わせないと表示されないという点で」と書いてしまいましたが、本当はマウスをその該当チャート上に持ってこないと直前の足が表示されないという意味の事を書きたかったのです。 その点で、マウスがどこにいても直前の足を表示してくれるComment文の方が私としてはありがたいです。 私は右手首が若干腱鞘炎気味(いつも手首にサポーターをしています)で、極力マウスを動かす頻度を減らしたいと常々思っていたので、Comment文で自動で直前の足が出るというのは非常に助かっています。 データウインドウだと、色々と便利ですが、サブモニターなどで別の作業をやっている際には新規の足が出来る度にマウスを直前の四本値を知りたいチャート上に持ってこないとならないので、マウスの移動頻度が多くなります。 昨日、手首の負担軽減のために初めてロジクールのトラックボールマウスM570を買ってみたら、手首を動かす事がないので非常に負担が減り、喜んでいたのですが、使用から1時間ほどで3歳の子供に奪われてしまい、使えなくなりました。 そんなわけで、私にとってはComment文表示のものが最適です。数字が小さくて乱視のある私には少し読みにくいですが、非常に重宝しています。 今は、高値安値のHやLなどの表示を消して、よりシンプルな表示にして、表示順は左からH・L・O・Cの順で、最新の足は高値と安値のみの表示にして使わせていただいています。ありがとうございます。とても助かっています。

  • Saitar
  • ベストアンサー率41% (192/464)
回答No.6

don-naldoさん、ヘンに親切なおじさんです。 こんにちは。 私は質問される方の返信をすることで自分自身の勉強になっています。 今回もこんな風にデータ・ウインドウが使えるとは思ってもいませんでした。 ということで、私から返信がある場合は私自身が勉強になっている、と理解して下さいね。 逆に言えば、興味のない質問は遠慮なくスルーしますので、宜しく。 では。

  • Saitar
  • ベストアンサー率41% (192/464)
回答No.5

don-naldoさん、こんにちは。 ご要望から、データ・ウィンドウ自体に表示するのが良いように考えましたので、そのようにインジケーターを作ってみました。 <手順> (1)表示したいチャートに適用されているインジケーターをひとまず全てクリアー(削除)して下さい (2)下記のインジケーターを適用します (3)データ・ウィンドウを表示します (4)データ・ウィンドウを右クリックして「直前を表示」を選択 (5)あとはお好きなインジケーターを追加して下さい。データ・ウィンドウには全てのインジケーターの値が表示されてしまうので、大きさを適当に縮小して4本足だけ見えるようにすると良いようです。 以上により、2列の表示の左側に最新の足と一つ前の足の4本値が表示できます。 これなら画面のどこへでも表示できますね。 こんなもんで、どうでしょうか? #property copyright "Copyright Saitar" #property indicator_chart_window #property indicator_buffers 4 double Buffer1[],Buffer2[],Buffer3[],Buffer4[]; int init() { SetIndexBuffer(0,Buffer1); SetIndexBuffer(1,Buffer2); SetIndexBuffer(2,Buffer3); SetIndexBuffer(3,Buffer4); SetIndexLabel(0, "Open"); SetIndexLabel(1, "High"); SetIndexLabel(2, "Low"); SetIndexLabel(3, "Close"); IndicatorDigits(Digits); } int start() { Buffer1[0] = Open[1]; Buffer2[0] = High[1]; Buffer3[0] = Low[1]; Buffer4[0] = Close[1]; return(0); }

don-naldo
質問者

補足

お子様が生まれてお忙しい時に新しく作っていただきありがとうございました。 これなら、文字の大きさも見やすいし、自由に配置できるので見やすいのですが、直前の足の四本値が最新の足にマウスを合わせないと表示されないという点で、最初に作っていただいたComment文のインジケーターの方が私として使いやすいです。また、Comment文インジケーターは数字が上下に並んでいるので、比較が素早く出来きるという点でもうれしいです。 できたら、Comment文インジケーターの文字がもう少し大きいとより見やすいのですが、大きくする事は可能でしょうか。

  • Saitar
  • ベストアンサー率41% (192/464)
回答No.4

don-naldoさん、子供が産まれそうなので、ちょっと時間を下さい。

don-naldo
質問者

補足

Saitarさん、大変な時にご連絡ありがとうございます。 私は、インジケーターを作っていただけるだけで本当に感謝しています。 お子様が生まれ、生活が落ち着いてからで全然、構いませんので、またよろしくお願いします。 私も少しプログラミングの勉強でもしようかと思って、今、アマゾンで良さそうな本を物色中です。

  • Saitar
  • ベストアンサー率41% (192/464)
回答No.3

どう見ても見辛いので、Print文にしてみました。 一本前の足だけになりますが、「ターミナル」のExpertsタブをクリックすると見えます。 こっちの方が見えやすいので、お好みで。 #property copyright "Copyright Saitar" #property indicator_chart_window int start() { Print("O: ",DoubleToStr(Open[1],Digits)," H: ",DoubleToStr(High[1],Digits)," L: ",DoubleToStr(Low[1],Digits)," C: ",DoubleToStr(Close[1],Digits)); return(0); }

  • Saitar
  • ベストアンサー率41% (192/464)
回答No.2

簡単に。こんなんで使えますか? 私はComment文は見辛いので、あまり好きではないのですが。。。 #property copyright "Copyright Saitar" #property indicator_chart_window int start() { Comment("\nO: ",DoubleToStr(Open[1],Digits)," H: ",DoubleToStr(High[1],Digits)," L: ",DoubleToStr(Low[1],Digits)," C: ",DoubleToStr(Close[1],Digits), "\nO: ",DoubleToStr(Open[0],Digits)," H: ",DoubleToStr(High[0],Digits)," L: ",DoubleToStr(Low[0],Digits)," C: ",DoubleToStr(Close[0],Digits)); return(0); }

don-naldo
質問者

補足

早速、作っていただきありがとうございました。 大変恐縮ですが、この表示は画面の右上に表示する事はできないのでしょうか。今、メインモニターは27インチで、ここに1分足がほぼ全面を使って表示してあるので、左上だと視線移動が多くなってしまうので、右上の方がありがたいです。ただ、上昇中は邪魔になりそうですが。 また、作っていただいたインジケーターのみを適用した小さいチャートウインドウを表示すると、画面の配置が自由なので使いやすいと思ったのですが、メインチャートを触るとすぐに後ろに隠れてしまうのが難点です。 MT4のチャートはデータウインドウをフローティングさせた時のように、ある特定のチャートだけを最前面に表示させる事はできないのでしょうか。 もしも、最前面に表示できるのであれば、もっと文字が大きくても全然邪魔にならないので、可能であればデータウインドウに表示されているくらいの大きさが希望です。 色々と要望を言って申しわけありませんが、よろしくお願いします。

  • Saitar
  • ベストアンサー率41% (192/464)
回答No.1

旦那、今日の分の見積もりが出やしたぜ。 しめて、、、2,000円ポッキリだ。 あっしもビックリの安値でごんす。 どうしやすか? (通信文) 表示はできるだけ小さい方がいいですか? (MT4の左上にデフォルトで表示されている文字の大きさレベル) それとも大きくしますか? (通信文 終わり) おっと、大きくするには、、、お足じゃないものが要りそうでっせ。

don-naldo
質問者

補足

Saitarさん、連日ありがとうございます。 表示は出来るだけ小さいほうがいいです。データウインドウに表示される数字くらいが丁度良いように思います。 よろしくお願いします。

関連するQ&A