ブログトップ 記事一覧 ログイン 無料ブログ開設

とあるMetaTraderの備忘秘録 RSSフィード Twitter

忙しいです。ネタもないし・・・

2010-03-08

files フォルダ以外の場所を読み書きする。

otoari 2010/03/05 09:37

MT4でファイルの読み書きをすると、エキスパートフォルダの中の

filesフォルダしか読み書きできませんが、これ以外のフォルダ、

例えばCドライブのルートとかのフォルダを自由に指定してファイルの

読み書きを出来るようなことをしたいのですが・・・


ネタ応募ありがとうございます。私は実用的に使った事はないのですが、files フォルダ以外の場所を読み書きするにはいくつか方法があります。


(1) ジャンクションを使い、擬似的に files フォルダ内に存在するようにみせる。

MT4 からは、files 以下にアクセスしているカタチになるので、純正なMQL4 のプログラムだけで完結できます。自分でジャンクションの設定をする必要があるので、配布用のEAには不向きですが、自分専用の自作EAならお手軽な方法です。



(2) WindowsAPI を直接使う。

公式サイトの記事にある「File Operations via WinAPI」や、Code Base内のZhunko氏のZI_File_Functions_Full_Lib辺りを調べると参考になると思います。(ZI_File_Functions_Full_Libはコメント部分がロシア語なので、私がGoogle 翻訳で英語化したモノをCodeBase のコメント欄に置いてあります。)



(3) WindowsAPI をDLL経由で使う。

実質的に(2)と同じなのですが、より使いやすい関数の形になっている..かもしれないのがこの手法です。Forex-TSDのMT4 Files Functions Replacement.に紹介されています。(2)を使いこなすのが難しかったり、DLL自作したい人にお勧めです。DLLのソースコード(VC++)も付属していたと思います。



過去に見聞きした手法はこのくらいですが、参考になりますでしょうか?

gonpagonpa 2010/03/08 11:37 faiさん、こんにちわ^^久しぶりに書き込みさせていただきます。 いつもfaiさんには大変お世話になっております^^
今回はどうしても伺いことがございまして、書き込みさせていただきました。疑問というのは、現在私はFXDDを使用しているのですが、常に現在リアルタイムで動いているローソク足を常にチャートの真ん中あたりに表示しながらも、画面上に表示している全てのローソク足は縮小しながらも上や下に画面からきれないようにできないか?という疑問なんです。
といいますのも、レートが常に上がり続ける 下がり続けると、ずっとレートが上や下に張り付いてしまって、毎回非常にトレードしづらいと感じておりました。
毎回いろいろとお話を伺ってばかりで大変申し訳ないのですが、何かもし方法等ございましたらお知恵を貸していただければと思います。どうぞよろしくお願いいたします。

otoariotoari 2010/03/08 17:08 DLLの方法でできました!ヤッタ!
ありがとうございます!
ちょっと色々なブローカーのスプレッドを一つのCSVで記録して、簡単に比較したいなあ・・・
と思いまして、書き込みプログラムで一つのCSVファイルに書きたかったんですよね。
でも、これなら(1)のジャンクションで十分な気がしてきました。
ありがとうございました。
今後も頑張ってください。

keitakeita 2010/03/08 22:05 はじめまして。
ローソク足のかわりに平均足を使ってる方も多いと思いますが、私はどうもヒゲがびゅんびゅん出る平均足は苦手です。
でも平均足の色の連続性や転換などは非常に魅力です。
それで、お願いなのですが、ローソク足のままで色のみ平均足というインジはできないものでしょうか。
こうすれば、メイン画面でも値動きも見やすくトレンド転換もわかりやすくなると思うのですが、是非ご検討頂けないでしょうか。

fai > keitafai > keita 2010/03/09 08:50 F8 キーを押して、色の設定で適当に変えてみるのでは ダメでしょうか?^^;

fai > gonpafai > gonpa 2010/03/09 08:53 普通にオートスクロール、オートスケールが有効になっていたら、トレードしづらいと感じることは無いのですが、もしかしてスケール固定で使っている場合の話でしょうか?

言葉だけの説明では分かりにくいので、トレードしづらいという画面のキャプチャを下さい。^^;

gonpagonpa 2010/03/09 11:36 http://koideai.com/up/src/up39496.gif
faiさん、お世話になります^^ わかりづらい説明で大変申し訳ございませんでした^^;
上記URLにチャート例をはったのですが、リアルタイムのローソク足がチャートの下のほうへいくと、その下にあるトレンドラインなどが見えづらく、毎回チャートの右端のレートが書いてある部分を上下に広げておりました。ですので、リアルタイムで動いているローソク足がもう少しチャートの真ん中のほうで動くようにできないかな?と思った次第であります。 なにかアドバイスございましたら是非よろしくお願いいたします^^ すぱっと切ってくださってもかまいませんw

あと私がお答えするのは筋違いかもしれませんが、keitaさんのご質問なんですけど、多分 Golden Super K というインジでカバーできると思います^^ ローソク足はそのままで、色は平均足になるインジです^^
http://blog.livedoor.jp/fx_livemarket2/archives/280763.html  に説明されているインジの一つです^^
それでは失礼します^^

linolino 2010/03/09 17:59 本記事とは関係ないのですが、、、
WindowHandleで得た子とGetParent(WindowHandle)で得た親に
+(zoom)を送ってみました(WM_KEYDOWN, 0x6B)
親 子
SendMessageA x x
SendNotifyMessageA x x
PostMessageA x o

15分足を送ってみました(WM_COMMAND, 33139)
親 子
SendMessageA △ △(数秒間フリーズ)
SendNotifyMessageA o o
PostMessageA o o

この可否の違いは何でしょうか?
(親と子。またSendの方がPostよりキューが優先処理されるはずなのに失敗したり)
関数のreturn値も1(=true?)なのに失敗していたりと、返値が何なのかも分かりません。

fai > gonpafai > gonpa 2010/03/10 00:42 画像が確認できません><

fai >linofai >lino 2010/03/10 00:52 親と子で動作が変わるのは、プログラムがそういう作りになっているからでしょう。
メッセージの処理を何処の誰がするか?とそこに伝わるか?で可否が変わります。

Send系は電話みたいなものなので、送り主と送り先の関係に注意する必要があります。
電話で自分の番号に電話したら、話し中になって通話できません。^^;
Post系は、手紙みたいなものなので、投函しておけば、後で暇になった時に読んで貰えます。自分で自分宛に書いた手紙も問題無いです。

なんとなく、インジケータを使って実験されたのかな?と思うのですが、EAやScript では結果が違うかもしれません。。

gonpagonpa 2010/03/10 10:54 faiさん、本当にお手数おかけします><
上のURLはもう消されちゃったみたいですね・・・

http://ux.getuploader.com/goekichi/download/1/%E3%83%81%E3%83%A3%E3%83%BC%E3%83%88%E4%BE%8B.gif

これで確認できますでしょうか?faiさんの真似をしてアップローダーにあげてみたんですが・・・

本当にすみません><

gonpagonpa 2010/03/10 10:54 faiさん、本当にお手数おかけします><
上のURLはもう消されちゃったみたいですね・・・

http://ux.getuploader.com/goekichi/download/1/%E3%83%81%E3%83%A3%E3%83%BC%E3%83%88%E4%BE%8B.gif

これで確認できますでしょうか?faiさんの真似をしてアップローダーにあげてみたんですが・・・

本当にすみません><

fai > gonpafai > gonpa 2010/03/10 14:25 右の価格メモリ部分を左ドラッグして価格幅を増やすぐらいしか思いつかないです。
あとは、固定スケールにして、上下矢印キーで適宜位置調整して使うとかですねぇ。。

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/fai_fx/20100308/1267976226