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

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

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

2012-11-15

正確にチャートを同期させる00-TimeSync_v101.mq4を script 化する。

ジム・ジャロース

こんにちは。

00-timesync_v101_modbyfai.mq4ですが、たまったタスクが悪さをして不可解な挙動が多いため自分的には使えない感じですので、scriptにしてドラックアンドドロップした時に1度だけ同期を実行するように改造しようと試みたのですが、APIの部分が理解できず、ペンディング状態です。

もし、ご無理でなければ、scriptを作っていただけないでしょうか。n(_ _)n

興味のないネタでしたら華麗にスルーしていただいて結構ですが。(;^_^A

これは・・・確かにAPIをよく知らないと出来ないので、こちらに用意しました。


・インジケータとスクリプトでは、実行時のスレッドが異なる。

インジケータはウィンドウを表示しているスレッドで動いているので、SetFocus()が可能だが、スクリプトは別のスレッドなので、SetFocus()できず、代わりに SetForegroundWindow()を使う必要がある。(SetForegroundWindowでも、見た目はアクティブにならないが、キーイベントだけは送れるようになる。)


・スクリプトを実行するウィンドウは必ずしもアクティブとは限らない。

ナビゲーターウィンドウからスクリプトを非アクティブなウィンドウにドロップすることもあり得るので、GetTopWindow()でアクティブなウィンドウを取得してから、GetWindow(hWnd,2)で次のウィンドウを取得する必要がある。


・・・という点に注意して改造する必要がありました。

実行時の確認ダイアログが煩わしい人は、

#property show_inputs

の一行を削除してください。



ちなみに、AutoHotkey の Accela.ahk を使用していると正常動作しません。(数字入力が被ってしまうため..)

1::
   if CheckFN()==0
     PostMessage, 0x111,33137,0  ;Period M1
   else
     Send 1
  return

↑Accela.ahk で、1から9の数字にショートカットを割り当てている部分をすべて削除するか、

#1::
   if CheckFN()==0
     PostMessage, 0x111,33137,0  ;Period M1
   else
     Send 1
  return

↑ # を加えて「Win + 1」に割り当てる等で回避してください。

ジム・ジャロースジム・ジャロース 2012/11/16 18:37 なるほどー。解説までしていただきありがとうございます。
ご指摘の通り、GetActiveWindow()=0 になることはわかったのですが、で、どうするの?で止まっていました。
使い勝手のほうは...最高です!MT4の標準機能としてないのが不思議なくらい。
今まで20手くらいかけて手動で同期していたのが、D&D一発ですからね。

このブログのおかげで、R, AutoHotKey は書けるようになってきたのですが、APIは敷居が高い。(хх)
dllとか、ばりばり書けるようになりたいものです。

それから、faiさんのtwitterはROMってますので、私のことつぶやいていたのは知っていましたが、twitterやってないです。
本当にこの度はありがとうございました。n(_ _)n

ntake66ntake66 2012/11/18 12:59 コードの書き変えについて

急なコメントで失礼いたします。

お忙しい中、大変申し訳ございませんが、もし宜しければMT4インジケーターのことについてお教えいただければと思いコメントさせていただきました。

MT4インジケーター(Support and Resistance)のことで、お教えいただきたいのですが、このインジケーターは表示すると、ドットで表示されますが、コードを変えて実線で表示するようにできないでしょうか?

コードを確認したところ下記の部分を書き変えればいいのかなとは思うのですが、何と書き変えていいかがわかりません。

もし可能でしたら宜しくお願いいたします。

よっしぃよっしぃ 2012/11/27 14:28 こんにちは。よっしぃと申します。

まだまだ初心者ですが、ブログを参考にさせていただいています。
ところでまだだれに相談していいかわからなかったので、ネットで
検索下のですが、結局わからなかったことがあるんです。
それを質問してもいいでしょうか?
あまりプログラムとかは詳しくないのですが、MT4に『FX Sniper's MA』
というインジがあるんです。
これはMAを基本としているんですが、傾きによって色が変わるらしい
のですが、観察を続けているとどうやらそれだけではないような気が
するんです。
というのは色の書き直しもありますし、たまにですが、確定したもの
(今現在リアルで動いている部分を除くという意味です)を拾ってみる
と前のレートより低いのに上りトレンド色が出していたり、逆があったり
と微妙なところがあるんです。
これは何によるものか、プログラムを知らないので解析できませんでした。
最初はただのMAで上下の傾きで色を変えていると思っていたのですが、
場合によっては違うようです。
この色を判定しているのはどのようなロジックによるものなのでしょうか?
MT4でなんかしようと思っているんではないんです。
エクセルで平均値を出して、前の時間と前の前の時間のその平均値を
比べて『FX Sniper's MA』と同じように判定させたいと思っている
だけなんです。
ただのバグというか、仕様なんでしょうか?
エクセルで同様の結果を判定させることは不可能なんでしょうか?
初めてのコメントで失礼かと思いましたが、もし可能でしたら教えて
いただければと思います。
お忙しいようでしたらスルーしていただいて結構です。

よろしくお願いします。

fai > よっしぃfai > よっしぃ 2012/11/28 15:27 FX Sniper's MAは、現在の状態を元に過去の結果を書き換えています。
上上下
の次に、上が来た時、
上上下上
とならずに、
上上上上
となるイメージです。
参考にしない方が良いと思います。

よっしぃよっしぃ 2012/11/28 21:30 こんばんは。

お返事ありがとうございます。
やっぱりそうでしたか。
わかりました。
別の方法でトレンドを確認するようにします。

よっしぃよっしぃ 2012/11/30 11:19 こんにちは。

先日はありがとうございました。
あれからいろいろと勉強してみました。
そうしたら『FX Sniper's MA Final』というのがある
というので試してみました。
どうやら以前のもののリペイントしないようにしたもの
らしいんです。
これは使えると思って使っていたのですが、今日の
朝から急に使えなくなってしまったんです。
インジケータは存在するのにチャートの反映されない。
設定はなにも変えていないのでなぜだかわからない
んです。
そこでもう一つ試したのが『MA in color』という
やつなんですが、これを試したところトレンドが
変わる境目のところで必ず中間色が出るんです。
このインジは上の時の色、下の時の色、堺目の色と
3種類の色使うんです。
これだと微妙なレンジ相場の時にはトレンドが
分かりづらいんです。
この境目の時でもMAは上下はあるのでそれに
対応した色を出したいと思っています。
これは修正できるものでしょうか?
できるなら修正をしたいのでやり方を教えて
いただきたいと思います。
ただお忙しいようでしたらスルーで結構です。
また何か考えいます。
よろしくお願います。

fesbixfesbix 2012/11/30 16:10 いろいろ試してみたりググッてみたりしたのですが、
結局こちらでお願いするしかないみたいなので、
またまたお願いしてみます。

直近何本かを指定してローソク足の幅を広くすることは可能でしょうか。

幅を小さくして広い範囲での趨勢を見、直近は幅を大きくして
タイミングを計る、というふうに使いたいのですが。

もしご興味がわきましたら(できるものなのかわかりませんが)
ご検討いただければ幸いです。
よろしくお願いいたします。

よっしぃよっしぃ 2012/11/30 16:26 こんにちは。

たびたびすみません。
なんで『FX Sniper's MA Final』が使えなく
なったのかを少し調べてみたらex4ファイルで
配布されているインジケーター全般が使えなく
なってしまっていました。
これは何が原因なのでしょう?
こんなことは頻繁に起こるのでしょうか?
また、逆に使えるようにする方法はあるので
しょうか?
パソコンに関してはあり詳しくないのでこれ
以上は調べることができませんでした。
もしわかるようでしたら教えていただければ
ともいます。

よろしくお願いいたします。

ntake66ntake66 2012/12/07 10:08 いつも参考にさせて頂きありがとうございます。

宜しければ下記の問いに回答いただければ幸いです。宜しくお願いいたします。

インジケーター(Pattern Recognition)についての質問です。

このインジケーターは下記のパターンが出現した時に表示されるものでが・・・

◆売りサイン
Bearish Engulfing :: 抱き線(包み線)
Three Outside Down :: 抱き線+下げ陰線
Dark Cloud Cover :: 被せ線
Bearish Harami :: はらみ線
Three Inside Down :: はらみ(陽1+陰2)
Evening Star :: 宵の明星
Evening Doji Star :: 宵の十字星
Three Black Crows :: 黒三兵(三羽烏)

◆買いサイン
Bullish Engulfing :: 抱き線(包み線)
Three Outside Up :: 抱き線+上げ陽線
Piercing Line :: 切り込み線
Bullish Harami :: はらみ線
Three Inside Up :: はらみ(陰1+陽2)
Morning Doji Star :: 明けの十字星
Three White Soldiers :: 赤三兵

今回の質問は、抱き線・はらみ線・抱き線+下げ陰線・はらみ(陽1+陰2)・抱き線+上げ陽線・はらみ(陰1+陽2)についてです。

インターネットで抱き線やはらみ線の形を調べると、例えば、はらみ線だと、大きい陰陽線の(始値−終値[実体])の間に小さい陰陽線(高値−安値)がすっぽりおさまっているものだと書いていますが、このインジーケーターの表示は例えば、はらみ線だと、大きい陰陽線の(始値−終値[実体])の間に小さい陰陽線(始値−終値[実体])がすっぽりおさまっている時に表示されます。

そこでこれを、はらみ線だと、大きい陰陽線の(始値−終値[実体])の間に小さい陰陽線(高値−安値)が収まっているときに表示させるようにソースコードを変更できないかと思いまして質問させていただきました。

抱き線は、小さい陰陽線(高値−安値)が大きい陰陽線の(始値−終値[実体])の間に収まっているときに表示させる方法。

以上になりますが、もし宜しければご回答頂きたく宜しくお願いいたします。

じゅくしんじゅくしん 2012/12/09 04:15 昨年何度か投稿させていただいたものです。
お尋ねしたいのは、とりわけ通貨の強弱をエントリや決済のタイミングにどう使うのか、ということです。一時期わりと自由に議論されていたマルチファクターに関するテーマを見かけなくなりました。難度の高い話なのでclosedなところでやってらっしゃるのですか。

ジム・ジャローズジム・ジャローズ 2012/12/12 15:18 あの・・・、twitterでモリサマーの気持ちがよくわかるとつぶやいていたのは、私のことについてですよね。申し訳ないです。m(__)m
でも、マギノ、もとい、このブログは私にとって本当に素晴らしい参考書なのデスよ。
「APIで学ぶWindowsプログラミング」と「Win32 API完璧マスタ」を読み始めたので、これが読み終わる頃にはAPIも書けるようになっているはずデス。
今、28通貨ペアを総合的にトレードして、パターン認識の技術を使うEAを作っていて、APIは避けて通れないみたいなので・・・。

しかし、余計なお世話かもしれませんが、faiさんに依頼する人は、最低限mql言語だけでのゴールデンクロス・デッドクロスのEAくらいは自分で作れるようになってからにしてほしいものですね。自分で作る気がサラサラない人はここではなく有料の業者に依頼すべきと思いますがねぇ。善意に甘えすぎてはいけませんよ。

生姜生姜 2013/01/24 17:23 ku-chart-makerや 15secchartmakaerを使用させてもらって重宝してます。
それで勝手な質問ですがku-chart-makerで作ったku_jpy等
が15secchartmakaerを使っても秒足で見ることが出来ません。

秒足を見れるようにできませんか?

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

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


画像認証

トラックバック - http://d.hatena.ne.jp/fai_fx/20121115/1352990061