2015年01月13日

【MT4】キーボード↑↓で通貨ペアを変えるインジケーター

マウス操作でやればいいのでしょうけど、キーボードの方が楽かなぁということで作ってみました。

pairchange.jpg

キーボードの↓で昇順に、キーボードの↑で降順に表示しているチャートの通貨ペアを変更します。


pair_change.mq4
(MT4 Build765で作成・動作確認しています)


最大20通貨ペアまで登録できます。空欄のままでもいいです。
クロス円だけとかドルストだけとか、いろいろできるかなと思います。一度使ってみてください。
posted by ロンド at 19:33| Comment(6) | MT4 | 更新情報をチェックする

2014年12月29日

(まとめ)2014年に作ったインジケーター

今年も残りわずかということで、2014年に作ったインジケーターをまとめてみました。


作ったインジケーター
【MT4】チャートを同期させるインジケーター
【MT4】チャートを同期させるインジケーター2
【MT4】チャートを同期させるインジケーター2 [改良版]

【MT4】クロス円ランチャー
【MT4】通貨ペアを変えるランチャー

【MT4】自動でチャートが切り替わるインジケーター
【MT4】キーボードで周期設定を変えるインジケーター
【MT4】カーソル下の価格を表示するインジケーター
【MT4】[tab]キーでチャートを切り替えるインジケーター
【MT4】RSSリーダーのインジケーター
【MT4】ワンクリックで画像を保存するインジケーター
【MT4】経済指標を表示するインジケーター(自分用)
【MT4】R-TYPE_ZigZag(改良版)
【MT4】オプションのオーダーを表示させるインジケーター
【MT4】2chの[実況ch/市況2]を表示するインジケーター(New MT4に対応)(去年の改編)
【MT4】フィボナッチ・リトレースメントを利用したレンジ表示

指定した時間間隔でアラートしてくれるインジケーター
3-in-1バーパターン
メジャリング・バー
MT4のVolume(tick数)と出来高の相関関係


約20個です。お気に入りは「通貨ペアを変えるランチャー」です。意外と便利です。

それ以外にも倍以上作ってますが、ほとんどがボツです。天気予報のインジを作ろうとしたのですが、文字コードの変換が難しく挫折しました。オセロであったり・・・。くだらないこともやってます。

今年はMT4が大きく変わりました。これによってできることが増えました。初期の頃は連続してバージョンアップとかありましたが、今は安定したかなぁと思います。このまま2,3年続いてMT5への移行となるはずです。そのときになりましたら、また修正なりしていきたいと思います。

2015年も引き続き便利なインジケーターを作り続けたいです。しかし今はアイディアが枯渇中です。誰かアイディアください。(笑)



ちなみに・・・

今年作ったFX関連のソフトはありません。そうなんです。今年は一つも作りませんでした。個人的には「MT4 Manual Tester」で十分なものですから、特に作ってみようと思うソフトが思いつきませんでした。便利なソフトをまた作りたいなぁとは思ってます。



最後、2014年も終わりということで、過去に作ったデータの更新をしました。

IMMポジション最新データ IMM_position_20141216.zip
(関連記事:IMMポジションをMT4に表示する

アメリカ株の日足データ stock_20141226.zip
(関連記事:MT4のVolume(tick数)と出来高の相関関係

使われる方はどうぞ。





去年の記事です。
2013年に作ったソフトとインジケーター
posted by ロンド at 21:16| Comment(2) | MT4 | 更新情報をチェックする

2014年11月13日

【MT4】2chの[実況ch/市況2]を表示するインジケーター(New MT4に対応)

ご依頼がありましたので、今のMT4でも表示できるようにコードを修正しました。

2chnew.jpg


2ch_Livemarket2_new.mq4  (2014/11/13 ver2.1)
(MT4 Build745で作成・動作確認しています)

(2015/03/01 公開を終了いたしました。詳しくはこちら


表示する前に必ず「DLLの使用を許可する」をオンにしてください。


使い方は過去記事(こちら)を参考にしてください。今回はタイトルをクリックするとブラウザーが起動してスレッドを表示するようにしました。全てのレスを表示しているわけではないので、抜けているレスを見られるようにするのと、すぐに書き込めるようにするのがいいかなと思いました。実況が好きな方はお試しくださいませ。
posted by ロンド at 17:00| Comment(2) | MT4 | 更新情報をチェックする

2014年10月31日

[MT4]フィボナッチ・リトレースメントに価格を表示する

MT4を使い続けて5年ぐらい経ちますけど、これは知りませんでした。


フィボナッチ・リトレースメントに実際の為替レートを表示する裏ワザとは?
http://zai.diamond.jp/articles/-/127944

Youtubeで動画もありました。



マニュアルには書いてないですよね?


というわけで、マネしてみました。

fibo2.jpg

見難いので拡大です。

 23.6%% (%$)


どうも「%%」とすると%の表示ができるようです。そして価格は「%$」となります。


実際に表示させると、こんな感じになります。

fibo.jpg

いい感じじゃないでしょうか。デフォルトにはない78.6%を追加させました。

上のチャートはドル円の月足ですが、終値が78.6%を超えるとなると124円タッチも十分に考えられるかなと思います。それにしても今日はすごい日ですね。11月はボラが高そうな気がします。あせあせ(飛び散る汗)
posted by ロンド at 16:28| Comment(11) | MT4 | 更新情報をチェックする

2014年10月24日

【MT4】R-TYPE_ZigZag(改良版)

自分としてはいいインジケーターができたと思ったのですが、いまいちだったようで・・・。たらーっ(汗)
なんか違ったのかなと。


そんなわけでスイングポイントビューのように価格を表示させました。

スイングポイント・ビュー (Swing Point View)
http://www.moneypartners.co.jp/support/tech/spv.html


rzigzag1.jpg


R-TYPE_ZigZag1.mq4  (2014/11/06 ver1.2) 下記に最新バージョンがあります。


前のver1.0(【MT4】R-TYPE_ZigZagの解説)では1時間足限定でしたが、今回は全タイムフレーム対応にしました。期間もボリンジャーバンドを使っているということで、「21」にしています。(変更可能)

逆にzigzagのラインが邪魔かもしれません。[色の設定]で「None」にしてくれたらと思います。






(2014/10/25 追記)
コメントのアドバイス通り、水平線を追加しました。

rzigzag2.jpg

R-TYPE_ZigZag6.mq4  (2014/11/24 ver1.6 コード修正しました。)
posted by ロンド at 18:08| Comment(72) | MT4 | 更新情報をチェックする

2014年10月22日

【MT4】R-TYPE_ZigZagの解説

(予定)オリジナルインジケーターを使った相場分析」の続きです。


自作したインジケーターです。1時間足限定となります。それ以外の時間足では表示されません。

rtype.jpg


R-TYPE_ZigZag.mq4 (2014/10/22 ver1.0)

[MT4 Build:735で動作確認しています。それ以前のバージョンでは表示されない可能性もあります。]

(インジ名はロンドのRと、シューティングのR-TYPEの武器のような感じも込めてこうなりました。)


ダウンロードは大歓迎です。試しに使ってみてください。ただし“自己責任”でお願いします。全てうまく機能するというわけではありません。インジだけを頼りにすると絶対に痛い目に遭います。

(そしてダウンロードしてくれた方は、簡単なコメントをいただけるとうれしいです。乙だけでもかまいません。どれぐらいダウンロードしてくれているのか知りたいです。よろしくお願いします。)



中身の説明をします。コードの一部です。


upBand = iBands(NULL, 0, PERIOD_24HR, 1, 0, PRICE_HIGH, MODE_UPPER, i);
lowBand = iBands(NULL, 0, PERIOD_24HR, 1, 0, PRICE_LOW, MODE_LOWER, i);


(PERIOD_24HR = 24)

ボリンジャーバンドを使っています。パラメーターは固定です。

まず期間は24です。通常20だったり21だったりするのですが、あえて24にしています。この24というのは1日の24時間ということです。なので1時間足のみの表示としています。

そして
 高値だけのボリバン1シグマに高値が越えるかどうか
 安値だけのボリバン1シグマに安値が超えるかどうか

でジグザグのポイントを決めています。

なんとなく分かって頂けたでしょうか。説明が難しいです。たらーっ(汗)
2σでもいいのですが、表示させてみると1σが合っているかなと思い、1にしています。


実際の使い方としては、
 ①高値安値を意識したダウ理論
 ②トレンドライン
 ③フィボナッチ・リトレースメント

これらを駆使して相場環境を把握することになるかと思います。あくまでインジケーターは補助と考えてください。

次からは実際に使って相場分析をしてみようと思います。




【追加】
新しくコードを書き換えました。こちら
posted by ロンド at 18:26| Comment(12) | MT4 | 更新情報をチェックする

2014年10月14日

【MT4】チャートを同期させるインジケーター2 [改良版]

以前作った「【MT4】チャートを同期させるインジケーター2」の改良版となります。

前はチャートの時間を左側だけに合わせてましたが、今回は右側にも対応しました。

douki21.jpeg

実際にトレードするつもりで検証するときには右側の方がいいですね。


sync2.zip (下記に最新バージョンがあります)
(MT4 Build:711 で作成・動作確認しています。バージョンによっては動作しないこともあります。)

zipファイルです。ダウンロード後、解凍して、中身の「douki2」フォルダーを「Indicators」フォルダー内に入れてください。



このインジには少し問題がありまして、ChartNavigate()関数で第2引数をCHART_ENDにし、それぞれのチャートを最大化しているときにはなぜかうまく動作しません。いろいろ試したのですがどうもおかしいです。私の中ではMT4のバグだと決め付けているのですが、何か自分のコードがおかしいのかもしれません。(その可能性は大かも。誰か教えてください。)

douki22.jpeg

なので、チャートを最大化(1枚だけ大きく表示)しているとき(↑写真の状態)、rightだけはうまく機能しないので注意してください。チャートを分割表示している場合は問題ないです。





【追記】
すみませんでした。rightの場合、最右端のロウソク足“終値”の時刻が合うようにコードを修正しました。詳しくはコメントを見てください。

sync2.1.zip (バージョン2.1)
posted by ロンド at 10:48| Comment(7) | MT4 | 更新情報をチェックする

2014年09月10日

【MT4】DLLを作るときのDEFファイル

【MT4】いちばん簡単なDLLの作り方」の続きとなります。


普段からDLLを作っている人にとってはDEFファイル(モジュール定義ファイル)がないですねって話になります。

それでDEFファイルを作らないと何が問題かというと、 C++の装飾名の形式がコンパイラによって変わってきます。

名前修飾
http://ja.wikipedia.org/wiki/名前修飾

今回の記事ではVisual Studioを使い、C言語でDLLを作りました。MT4で動かしても問題ありません。なくても大丈夫ですが、気になるようでしたらDEFファイルを作ってもいいです。


どう関数名が変わっているのかは、Softgate Limitedさんが詳しく解説されてます。こちらを読んで欲しいと思います。

MT4 向け DLL の関数エクスポート
http://www.softgate.co.jp/ja/resources/blog/item/20140109-mt4-dll-export-ja



実際にどうなっているのか自分でも確認しました。方法は2つあります。

①dumpbinツールを使う

この場所にあります。
dumpbin.jpg

オプションを/exportsにします。

=結果=
dumpbin1.jpg


②listingファイルを出力

また設定を変えます。そしてビルドしてください。
dll16.jpg

こんなファイルができます。
dll17.jpg

=結果=
dll18.jpg


いろいろ試してみてください。
posted by ロンド at 23:36| Comment(2) | MT4 | 更新情報をチェックする

【MT4】いちばん簡単なDLLの作り方

DLLを作ってみようかなと思っても、ちょっとめんどくさいなぁと思いませんか。そんなあなた(私)のための、誰もが簡単に作れる方法です。挫折させません。画像多めに説明します。

ネタ元
How to Exchange Data: A DLL for MQL5 in 10 Minutes
http://www.mql5.com/en/articles/18


まずは自分の環境
Windows7 64bit
Visual Studio Express 2013 for Windows Desktop 最新版

dll0.jpg



では、始めましょう。

①まず新しいプロジェクトを作ります。

dll1.jpg


②[Visual C++]→[Win32]→[Win32 プロジェクト]を選びます。そして名前を決めて、[OK]をクリック。

dll2.jpg


③[次へ]

dll3.jpg


④アプリケーションの種類を[DLL]にします。追加のオプションはそのままです。そして[完了]。

dll4.jpg


⑤右の[ソリューション エクスプローラー]をクリックして表示させ、ヘッダーファイルである stdafx.h をクリックします。

dll5.jpg


⑥stdafx.hの最後の行に一文追加します。


#define MT4_EXPFUNC __declspec(dllexport)



dll61.jpg


⑦次にMT4Library1.cppに自作の関数を書きます。


MT4_EXPFUNC int Plus(int a, int b)
{
return(a + b);
}



dll7.jpg


⑧[プロジェクト]→[プロパティ]を開いてください。

dll8.jpg


⑨[構成]は[Release]、[構成プロパティ]→[C/C++]→[詳細設定]
 [呼び出し規約]  __stdcall
 [コンパイル言語の選択]  Cコードとしてコンパイル

を選んでください。ここが最も重要です。

dll92.jpg


⑩次に [構成プロパティ]→[C/C++]→[コード生成]
[ランタイム ライブラリ]を[マルチスレッド (/MT)]にしてください。(推奨)

dll10.jpg


⑪ビルドします。(ソリューション構成はRelease)

dll11.jpg


⑫できあがりです。

dll12.jpg


あとは普通に使うだけです。

dll13.jpg


どうでしょうか。結構簡単にできませんか。

しかしツッコミ所が2箇所ほどあります。次の記事で解説をしたいと思います。
【MT4】DLLを作るときのDEFファイル
posted by ロンド at 01:10| Comment(2) | MT4 | 更新情報をチェックする

2014年08月29日

【MT4】経済指標を表示するインジケーター(自分用)

経済指標を表示するインジはすでにあります。

気ままにMT4: MetaTrader4/メタトレーダー4
http://00mql4.blogspot.jp/

faiさんのブログ
http://d.hatena.ne.jp/fai_fx/20121030/1351522834

こちらの方がすばらしいインジなのですが、あえて自分用に作ってみました。とりあえず公開します。


ei.jpg

Economic_indicator.mq4
(MT4 Build:670 で作成・動作確認しています。バージョンによっては動作しないこともあります。)


インジ設定時には、
DLLno.jpg
「DLLの使用を許可する」をオンにしてください。



まずこのインジに関しては自己責任でお願いします。データ取得が100%成功するというわけではありません。そこのところの理由はまた後日ブログの記事にしたいと思います。

データ元は「みんなのFX 週間経済指標カレンダー」になります。ホームページで公開しているデータをごり押しで取得しているパターンです。なのでいつか使えなくなる可能性は高いです。

今日の指標だけが表示されます。重要度が高い指標と色分けしています。そして発表が終わるとグレーに変わる仕組みです。

データは30分ごと(5分と35分)に更新されます。それとは別に[更新]ボタンを押すと最新のデータを取得するようになっていますが、あまりサーバーに負荷をかけるといけないので、1回押すと60秒待つようになってます。

業者によって経済指標の重要度が全然違います。重要な雇用統計とか政策金利とかは大丈夫でしょうけど、普段チェックしている情報元とはおそらく違うはずなので、十分に注意してください。よろしくお願いします。
posted by ロンド at 19:46| Comment(45) | MT4 | 更新情報をチェックする

2014年08月21日

【MT4】ワンクリックで画像を保存するインジケーター

MT4の画像保存ですが、ちょっとだけめんどくないですか?
名前も決めないといけないですし、もっと簡単にできないかなぁ思い、インジにしてみました。

css.jpg


ClickScreenShot1.mq4 (2015/01/09 ver1.1)
MT4 Build:765で作成・動作確認しています。バージョンによっては動作しないこともあります。


インジ設定時には、
DLLno.jpg
「DLLの使用を許可する」をオンにしてください。


フロッピーディスクのラベルをクリックすると「デスクトップ」に画像が保存されます。すぐに加工したいのでデスクトップにしました。ラベルの位置などいろいろ変えられるので邪魔にならない位置に変更してみてください。

ファイル名は「通貨ペア(タイムフレーム)_日付_時刻(数字).拡張子」となってます。

トレード記録の保存など、お役に立てれば幸いです。
posted by ロンド at 20:08| Comment(13) | MT4 | 更新情報をチェックする

2014年08月12日

【MT4】通貨ペアを変えるランチャー

ちょうど半年前に「【MT4】クロス円ランチャー」を作りましたが、クロス円限定にしない方がいいかもと思い作り変えました。

laun.jpg

いろんな通貨ペアを設定できます。


launch.zip
(zipファイルです。ダウンロード後、解凍してください。)

解凍したフォルダーの「Launcher」フォルダーをMT4のIndicatorsフォルダーにそのまま入れてください。


ドルストレートとかまとめるのにいいかなぁと思います。お試しくださいませ。
posted by ロンド at 11:16| Comment(4) | MT4 | 更新情報をチェックする

2014年08月08日

親のハンドル

今さらのことなんですが、なるほどそうだったのかと思ったのでメモメモ。


めったに使わないのかもしれませんが、MT4で親のハンドルを取得するとします。


#import "user32.dll"
int GetParent(int);
#import

int hwnd = GetParent(WindowHandle(Symbol(), Period()));


こんな感じでしょうか。そのまた親とかになったとき、どこのハンドルのことなのか分かってませんでした。


それでこのスレを見まして、スッキリです。
http://www.forexfactory.com/showthread.php?p=5803534#post5803534


hwnd1 >> get chart view window handle using WindowHandle(Symbol(), Period())
hwnd2 >> GetParent(hwnd1) >> chart window handle (mdi client)
hwnd3 >> GetParent(hwnd2) >> mdi window handle
hwnd4 >> GetParent(hwnd3) >> mt4 main window handle

mt4-window-handle.png



どこのハンドルなのかがようやく分かりました。そういう関係になっているのですね。やっと理解できました。
posted by ロンド at 20:10| Comment(0) | MT4 | 更新情報をチェックする

2014年07月21日

【MT4】RSSリーダーのインジケーター

めんどくさいと思い、先延ばしになっていたインジが完成しました。

rss.jpg

RSSリーダーもどきです。個人的には簡易ニュースチェックを目的として作りました。


RSS_reader.mq4   ver1.2 (2014/7/23 18:39) (記事の下【追記2】に最新バージョンがあります。)
(必ず MT4 Build600 以降でお願いします)


使うときには必ず「DLLの使用を許可する」のチェックボックスをオンにしてください。
DLLno.jpg

タイトルをクリックすることでブラウザが起動して記事の全文を読むことができます。New MT4のおかげでできるようになりました。


いろいろニュースサイトでフィード配信を探したのですが、為替に特化したものはあまりないですね。唯一「ザイFX」がまともかなと思ってデフォルトとしました。いろいろと変えて試してみてください。

ザイFX! 為替のとれたてニュース
http://zai.diamond.jp/list/feed/rssfxnews

FXCMジャパン証券 | ヘッドラインニュース
http://www.fxcm.co.jp/market/xml/rss2.xml

Reuters: トップニュース
http://feeds.reuters.com/reuters/JPTopNews?format=xml

国際ニュース - CNN.co.jp
http://feeds.cnn.co.jp/rss/cnn/cnn.rdf

Yahoo!ニュース・トピックス - トップ
http://rss.dailynews.yahoo.co.jp/fc/rss.xml


普通のブログとかのfeedでも大丈夫ですが、Atomだけは対応していません。

関係ないですが、普段使っているRSSリーダーはlivedoor Readerです。慣れるまでが大変かもしれませんが、慣れると便利です。^^


そして次に作ったインジはすでに完成しています。経済指標を表示するインジです。しばらくテストした後に、こちらも公開します。




【追記】
エラーが出るような?自分のパソコンだけでしょうか。なので少し修正しました。


【追記2】
コメントのアドバイスがあり、「NGワード登録」を追加しました。ついでにコードも修正しました。

RSS_reader3.mq4   ver1.3 (2014/11/20)
posted by ロンド at 11:51| Comment(7) | MT4 | 更新情報をチェックする

2014年06月23日

【MT4】チャートを同期させるインジケーター2

久しぶりにインジを作ってみました。

以前、【MT4】チャートを同期させるインジケーターを作ったのですが、インジケーターを二つ使って常に同期する必要もないんじゃないかと思い・・・


douki.jpg

ボタンを押すと他のチャートに反映されるようにしてみました。ちょっとした検証のときに使えるかなと思います。


douki.zip (右クリックでダウンロードしてください)
(必ず MT4 Build600 以降でお願いします)

zipファイルになってます。解凍後、中身のdoukiフォルダーをそのままIndicatorsのフォルダーに入れてください。
douki2.jpg

後は普通に表示させてください。

使ってみた感想などお待ちしております。





【追記】
ボタンをDoukiとしてますが、本当は「同期」と日本語にしたかったです。文字化けするのでこうするしかありませんでした。orz
posted by ロンド at 23:57| Comment(0) | MT4 | 更新情報をチェックする

2014年05月13日

指定した時間間隔でアラートしてくれるインジケーター

【コメントから】

ロスカット男さん(神様)、はじめまして
MT4で市況2を表示する、にとても感動している者です。
指標とか、速報とかでとても役に立ってます!


はじめまして。ブログ訪問ありがとうございます。
神様だなんてとんでもないです。

インジも使ってくださりありがとうございます。
また新MT4に対応したインジに書き換えます。



で、、、ですね。
 MT4でTwitterが表示できたら、とても便利なのですが
そんなIndicate 作ることできるのでしょうか!


実は作ろうとしたことがあったのですが、挫折しました。アプリ登録とかしないといけないですし、DLLからなんだかんだと面倒でして、今の私にはハードル高かったです。プロの方ならパパッと作っちゃうかもしれません。決して不可能なことではありません。

他にも、RSSリーダーとか指標表示のインジも作ろうとしたのですが、開発途中で終わってます。ただ単にやる気の問題です。(笑)



あと、5分毎とか、10分毎とか 指定した時間間隔で
アラートしてくれるIndicateがあると、
これまた、とても助かります。


作ってみました。

alert_timer.mq4
(必ず MT4 Build600 以降でお願いします)

お試しください。

私は自作したソフトを使ってチャートをチェックしてます。

MT4自動起動ソフト

こちらもどうぞ。
posted by ロンド at 22:36| Comment(3) | MT4 | 更新情報をチェックする

2014年04月11日

【MT4】[tab]キーでチャートを切り替えるインジケーター

ただのショートカットキーです。

chartShift.jpg

Chart_Shift.mq4
(必ず MT4 Build600 以降でお願いします)


【使い方】
①全チャートにこのインジをセットしてください。
②[Tab]キーを押すと隣のチャートに移ります。


本当は[Shift]キーにしたかったのですが押し続けると・・・

koteiki.jpg

こんなんが出るんですね。[Ctrl]や[Alt]も出るようなので、残った[tab]キーとなりました。


ショートカットキーは、「キーボードで周期設定を変えるインジケーター」と、これで何とかなりそうです。他に何か便利な操作などありましたら、教えてください。
posted by ロンド at 15:21| Comment(0) | MT4 | 更新情報をチェックする

2014年03月01日

【MT4】C#でDLLを作成してみた

この記事を見つけまして・・・

Exposing C# code to MQL5 using unmanaged exports
http://www.mql5.com/en/articles/249

素人の私が見よう見まねでやってみました。MT5ではなく、MT4 Build610になります。

開発環境はWindows7 64bit/Visual Studio Express 2012です。


作り方
①Visual C#のクラスライブラリを選択して新しいプロジェクトを作成します。
classC.jpg


②[ツール]→[NuGet パッケージ マネージャー]→[ソリューションのNuGetパッケージの管理]を選択

③[オンライン]の[nuget.org]から「Unmanaged Exports」を選び、インストールします。検索したほうが早いです。
Unmanaged.jpg


④コードを書きます。


using System;
using System.Text;
using RGiesecke.DllExport;
using System.Runtime.InteropServices;

namespace ClassLibrary1
{
public class Class1
{
[DllExport("Plus", CallingConvention = CallingConvention.StdCall)]
public static int Plus(int left, int right)
{
return left + right;
}
}
}



⑤[プロジェクト]→[プロパティ]→[アプリケーション]で、対象のフレームワークを「.NET Framework 4」にします。
framework.jpg

.NET Framework 4.5ではうまくいかなかったです。どうしてなんでしょう?


⑥同じく、[プロジェクト]→[プロパティ]→[ビルド]で、プラットフォームターゲットを「x86」にします。
release86.jpg

MT5の場合「x64」にします。


⑦ビルドします。(F7を押す)


以上です。あとは普通に使うだけです。


個人的にはC#でプログラムを作ってますし、比較的簡単に作れるなと思いました。自分で使うDLLならこれで問題なく感じます。どうでしょうか。
posted by ロンド at 15:24| Comment(15) | MT4 | 更新情報をチェックする

2014年02月16日

【MT4】カーソル下の価格を表示するインジケーター

昨日、「【MT4】ChartXYToTimePrice()が使えない・・・」という記事を書いたのですが、自分の大間違いでした。

ChartXYToTimePrice() はBuild610から直ってます。

その前のバージョンではうまく機能していませんでした。上下逆でした。


それでなぜ勘違いをしたかと言いますと・・・

week.jpg

ChartXYToTimePrice()から取得した価格・・・145.983
Crosshairで表示される価格・・・145.913

週足ですが、7pipsの差があるわけです。これは正しい値を出していないなと思いました。


しかし結論から申しますと、これは仕様です。誤差の範囲になります。位置情報がint型であり、double型の価格に変換するわけですから、どうしてもずれが起こります。これは1pxがどれだけの価格を表すのかによって違ってきますので、日足レベル以上になりますと値に差が出てきて当然となるわけです。残念ながらどうしようもないです。


それを踏まえた上で1pxずれる補正と有効数字を減らしたインジケーターに書き換えました。

Cursor_Price.mq4
(MT4 Build610 から使用可)

Build610以前のバージョンでは使えませんので注意してください。そして縦軸の価格帯が大きければ大きいほど誤差が生じるということをご理解くださいませ。
posted by ロンド at 18:18| Comment(3) | MT4 | 更新情報をチェックする

2014年02月15日

【MT4】ChartXYToTimePrice()が使えない・・・

今週の木曜日頃から ChartXYToTimePrice() の挙動がおかしくて、イライラしてました。プログラムの場合絶対におかしいと思っても、ほぼ100%自分のコードに誤りがあるというパターンですよね。気づいていないだけなんです。だからおかしいと思いつつも、デバッグ繰り返しをして何が原因なのかを探しておりました。

しかし我慢の限界になり、掲示板に質問へ・・・

chartxyto.jpg

http://hayabusa3.2ch.net/test/read.cgi/livemarket2/1377931721/


ググってみても、自分だけじゃなかったことを知りほっとしました。

ChartXYToTimePrice behaving weird in custom indicator (Mt4 Build 603)
http://forum.mql4.com/60939


そして最新版Build610へ
build610.jpg

直ってない。orz

やる気あるのかしら、メタクォーツさん。



それで何がしたいかといいますと・・・

cursor.jpg

カーソル下の価格を大きく表示したいだけです。すでにインジケーターもできてます。


Cursor_Price.mq4 (今は使えません)
(MT4 Build600-610 使用不可)


いつか使えるようになると思うんですけども・・・
posted by ロンド at 17:57| Comment(0) | MT4 | 更新情報をチェックする