【MT4】キーボードで周期設定を変えるインジケーター
【MT4】キーボード↑↓で通貨ペアを変えるインジケーター
を足したインジケーターを作りました。

TimePair_Change.mq4 (2015/01/25 ver1.0)
MT4 Build765で作成・動作確認しています
チャートを動かすときにキーボード←→が使えなくなりますが、そのときはマウスでやるしかないです。
これは便利です(自画自賛)。すぐに見たいチャートに切り替えられるのがいいです。マウス操作の手間がはぶけます。ただモニターが何枚もある方は必要ないかもしれませんね。私は2枚だけでやっているので必須のインジとなりました。一度試してみてください。
こんばんはーこれまた、便利なアプリですね!
いつもありがとうございます。
チャートプロファイル?組表示をキーボードで変えれたら便利だーなみたいな。
EURの組表示ならZ
GBPの組表示ならX で変えれるみたいなw
本題
以前作っていただいた、プログラムについてお聞きしたいのです
最近Indicateがすごく重くてレートが度々止まるんですね。
それで、プログラムをみていたのですが、(int OnCalculate{}の中のfor文を・・・)
int counted_bars = prev_calculated;
int limit = rates_total - counted_bars;
static int AlertCounts;
if(limit > 0) {
limit = rates_total - (BBandPeriod+1);
AlertCounts = 0;
}
else limit = 0;
Comment(limit); ←挿入してみた
for(int i=limit; i>=0; i--){}
で Comment(limit); を出力して見たら 1049って出たんですね。
これは、Tick毎に1000回以上 プログラム動いているを表しているのかなーって思うのですが
どうなんでしょうー
Limitの取得をこんな感じにしてみようと思うのですが どうでしょう。
○パターン1
はじめだけIndicateを全部処理する
if(IndicatorCounted() == 0 ) limit =WindowFirstVisibleBar();
あとは、Tick毎に Limit=3にして、直近3本だけ計算する。
if((IndicatorCounted()+1 < rates_total) && (IndicatorCounted() > 1) ) limit =3 ;
if(IndicatorCounted()+1 == rates_total ) limit =3 ;
○パターン2
はじめだけIndicateを全部処理する
if(IndicatorCounted() == 0 ) limit =WindowFirstVisibleBar();
あとは、ろうそく毎に Limit=3にして、直近3本だけ計算する。
if((IndicatorCounted()+1 < rates_total) && (IndicatorCounted() > 1) ) limit =3 ;
同じロウソク足なら処理をしない
if(IndicatorCounted()+1 == rates_total ) return(0) ;
ってやると、軽くなりそうな気がするのですが、何か見落としてないでしょうか。
最初のコードで重いですか・・・?
MT4起動時にlimitが1049ぐらい、その後tickごとにlimit=0で1回しか動かしていません。
if(IndicatorCounted() == 0 ) limit =WindowFirstVisibleBar();
else limit = 3;
でどうでしょう。
さすがロンドさん、シンプルな文章・・・すばらしいっす。
はじめまして、ロンドさんのホームページを週末に偶然知りました。
本インジケーターも含めて作成されたインジケーターをいくつかダウンロードさせていただきました。
本当によく考えられた素晴らしいインジケーターだと思います。
感謝して使わせていただきます。ありがとうございます。
インジケーターを使っていただき、ありがとうございます。
こういうのがあったら便利だろうなぁというのを作って公開してます。
今はアイディア切れですが、また何か思いついたら作りたいです。
これからもよろしくお願いします。
前も書いたかもしれないですがロンドさんは発想がユニークで面白いですね。
すごく触発されるので毎回ブログが楽しみです。
ご要望聞いていただけるということで早速提案をさせていただきます。
自分はキーにMAの期間を変える(とTimeFrameChange)インディケータが欲しいです。
その時々の相場によってMAのどの期間に沿って動くか変わってきますよね。
トレンドが激しく出ていれば10期間、通常だと20期間とか40期間
大きな波動だと200期間とか、その間をとった100期間とかでも、反発したりします。
これはどこかのサイトの受け売りですが1分足の1000期間は5分足の200本分に相当しますし、やっぱり反発しやすいです。
これらをチェックするにいちいちプロパティを開いてポチポチかえていると時間がかかってります。かといってGMMAだとローソク足が見難くなってしまう。
というわけでお願いしてみたしだいです。
直感的には、上下キーをタイムフレームを変えるキーに
左右キーをMAの期間を変えるキーがよさそうですね。
(器用じゃないのでいろんな通貨をみてトレードできないので通貨ペアを変えるキーはそれほどいらないんです^^;)
一度ご検討いただければ幸いです。
なるほど。おもしろそうですね。
上下左右キーの動作+[S]キーでSMA、[E]キーでEMAにもしてみたいです。
作ってみますので少しお時間をください。
質問なのですが、タイムフレームを変えるというのは、MTFでしょうか。
例えば、
①1分足のチャート→5分足のチャート→15足のチャート
とチャートの時間を変えるのか、
②1分足のチャート上で、
1分足でできた20MA→5分の20MA→15分の20MA
と変えるのか、
どちらだろうと作りながら思いました。
> [S]キーでSMA、[E]キーでEMA
これいいですね。MAの種類までは切り替えられないだろうなと思って書きませんでした。
説明が不足してすいません。
①ですね
上下キーはTimeFrame_Changeインディケータの動作で
左右キーがMAの期間です。
というかTimeFrame_Changeは便利すぎて自分の必須インディケータになっているので
これに更に機能を追加したいと思いました。
よろしくお願いいたしますm(_'_)m
できました。試してみてください。
https://fx-dollaryen.up.seesaa.net/image/MA_change.mq4
上下キー タイムフレーム変更
左右キー MAの期間
[S]:SMA [E]:EMA
MAの期間を確認するのにライン上にカーソルを持ってくるか、一時的にデータウィンドウを表示させるのもいいかと思います。
左右キーは元々チャートを動かすキーに設定されているので、押したときにチャートが少し動くのが気になりました。あと連続して早くキーをたたくと値が飛びますが、これは仕方がないです。ゆっくり変更するしかないですね。(^_^;)
思ってたのと違ってましたらまた言ってください。書き換えます。
はじめまして。
通貨ペアに関するものをいくつかダウンロードさせていただきました。
便利な機能をありがとうございます。
使わせていただきますね。
即行の対応ありがとうございます。
かなりいい感じなんですが、MAの期間がひとつずつ変化するのではなくて
いくつかの設定できてその期間で変化してほしいです。
自分のほしい期間は
10,20,40,100,200,1000 あたりです。ほしい期間は人それぞれ違うでしょうから
10個くらいセットできたらよさそうですね。
input int 5;
input int 0;
input int 10;
input int 20;
input int 40;
input int 60;
input int 100;
input int 200;
input int 1000;
input int 0;
みたいにして0の設定は飛ばすみたいな。。。
チャートが左右に移動しちゃうのは誤算でした。過去チャートだとちょっと困ったことになりそうですが、リアルタイムチャートでの仕様を想定してるので問題ないです。
わがまま言ってすいません(^^);
はじめまして。コメントありがとうございます。
自分でMT4を使っててこんなインジがあったら便利だなぁというのを自作して公開してます。
またアイディアが思いついたら作っていきます。
使ってみての感想などお待ちしております。
これからもよろしくお願いします。
あ、そういうことだったのですね。
すぐに作り変えるので少しお時間をください。
インジはできたのですが確認したいので、すみませんがサーバーが動く月曜日まで待ってください。
急いでいないので余裕のあるときでぜんぜん大丈夫です。
自分はfaiさんところの強制Tick更新スクリプトを使って試しました。
http://d.hatena.ne.jp/fai_fx/20100319/1268927814
ただ、古いMT4だとできなかったですが、
新しいMT4だとOnTimer()で動かすのが正解かもしれないですね。
OnChartEvent()で対応されてたんですね。
ソース見ずに書き込んでしまいました。
OnTimer()よりこっちのほうが正解ですね。失礼しました。
新しいMT4になってから比較的簡単にいろいろできるようになりました。
MT4便利です。MT4なくなると困ります。(^_^;)
早速使用させていただいてます。
一括変換はたいへん驚きました(笑)
私的にはいくつかのチャートにTimePair_Changeを入れるのが便利です。
その場合、1枚は表示される通貨ペアの順がほかのと違っているので、
Lancherのようにどの通貨かわかるといいなと思いました。
とても便利なものをありがとうございます。
出来ましたのでアップしておきます。
https://fx-dollaryen.up.seesaa.net/image/MA_change1.mq4
試してみてください。また違ってたら言ってください。
使っていただき、ありがとうございます。
自分も頻繁に使うインジです。キーボード連打してます(笑)
ドルストレート、クロス円といった感じで分けてます。
次表示する通貨ペアが分かると確かにいいですね。
目立たないところがいいでしょうか。左上のコメント部分がいいかなぁ。
またいろいろ考えてみます。アドバイスありがとうございます。
バッチリ思ったとおりの動きしてくれました。
MAの変更での再描画のたびに重たいので後は、自分なりにいじってみようと思います。
ほんとMT4便利ですね。これでスプレッドさえ狭ければいうことないのですけどね。
このインディも必須アイテムになってくれそうです。
また何かあったら相談に乗ってください。ありがとうございました。
キーを押したときに1秒ぐらい止まりますよね。
もっといい方法があるかもしれません。
またよろしくお願いします。ありがとうございます。
作れるなんて尊敬します。
ありがとうございました。
インジケーターを使っていただき、ありがとうございます。
使ってくださる方がいて、本当にうれしいかぎりです。
活動を再開するので、またよろしくお願いします。
はじめまして。いくつかインジをダウンロードさせていただきました。
どれも大変便利で重宝しております。本当にありがとうございます。
要望をお受けしているとのことなので一つ、
チャート上のローソク足にマウスオーバーしたときに右下のステータスバーに時間とOHLCが表示されますが、これをチャート上の右側に拡大して表示するようなことは可能でしょうか?
ご検討のほどよろしくお願い致します。
インジケーターを使っていただき、ありがとうございます。
カーソル下の価格取得は可能です。またインジを作ってみようと思います。今バタバタしてまして出来ませんが、また時間をください。
お時間のある時でかまいませんので、宜しくお願い致します。
いつもブログを見ています
私のチャートにロンドさんの作成されたインジが何個か入っていてとても操作しやすくなっています♪
最近、ドル、円、ユーロ、ポンド、オージー、スイス、カナダ、ニュージーの8つの通貨からできる合計28通貨ペアを監視しているんですが通貨ペアを簡単に変える方法はないかなと思ってロンドさんのインジを入れてみました
これはとても便利だと思ったのですが、20通貨ペアまでしか表示できなくてちょっとへこみました^^;
そこで提案なのですがこのインジを28通貨ペアに対応させる事はできませんでしょうか?
とても便利なだけにあと8個あったらいいなと思いメールしました・・・
それから上下のカーソールキーで通貨ペアを変更する時に何故かその通貨ペアの5分→H1→H4→D→W→M→次の通貨ペア~(5分~月足の繰り返し)という順番で表示されます
時間足変更は右左のカーソールキーで変更できるので、例えばドル円のH1チャートを開いていたら上下キーで変更した時は時間軸はそのままで単純に通貨ペアだけ変わるというようになればいいなと感じました^^
因みにパラメーターの時間軸表示をH1のみにしても何故か上記のような状態が繰り返されます
私が使っているMT4はビルド1090です
何か問題があるのでしょうか?
お時間のある時で構いませんのでご返答いただけると嬉しいです
だいぶ寒くなってきましたので体調管理に気を付けてくださいね
それでは
いままでMT4で使っていたのでよかったのですが、最近MT5を使うようにもなって
MT5側にはこちらのようなキーボードで時間足、通貨を変えるようなものがないのであらためて良いツールなのだなーと関心してます。
感謝の気持ちと、MT5にも似たような機能の作成の希望も込めて書かせてもらいました。
ありがたく使わせてもらってます^^
さて、本インディケーターですが
私の環境では、タイムフレームは切り替わりますが
通貨ペアが切り替わりません。
原因を調べる方法があれば教えてください。
よろしくお願いします。