チャート上にセットしてあるEAの「Allow live trading」をon/offするショートカット
とあるサイトで見つけた携帯の画像です。未来の携帯はこんな風になるのでしょうかねぇ。あまりに綺麗な出来栄えだったので載せてみました。笑
さて、今日は mystさんから依頼のあった、チャート上にセットしてあるEAの「Allow live trading」をon/offするショートカットをAutoHotKeyで作成してみます。
EAのプロパティを開くには、F7 キーを押せば良いので、
Send {F7}
WinWaitActive , ahk_class #32770
します。2行目は、ダイアログウィンドウがアクティブになるのを待ちます。
EAのプロパティは、以前の操作内容によって、画面状態が2パターンに分かれてしまいます。
(a) 全般タブが選ばれている場合
(b)パラメータの入力タブが選ばれている場合
どちらの画面が出てきても同じように操作できるように、Shift+TAB,左矢印を押します。
Send +{TAB}{Left}
異なる画面を同じ状態にするキーの組合せは、パズルを解くようなもので、これが出来ないと上手いショートカットが作れません。
次に、目的のボタンを押す為のAutoHotKey上のクラス名(ClassNN)を探ります。
AutoHotKeyのメニューから Window Spy を起動して、
Allow live tradingの辺りにマウスをもってゆくと、
Button5 だと分かります。Button5 を押すには以下のように書きます。
SetControlDelay -1
ControlClick,Button5,,,,,NA
Button5 と書く代わりに、テキストで「Allow live trading」と書いても押せます。
但し、言語が変わるとこの手法は使えないので要注意です。
SetControlDelay -1
ControlClick,Allow live trading,,,,,NA
EAのプロパティダイアログを閉じるには、ENTER を押します。
Send {ENTER}
以上をまとめると、以下のようになりました。
これで、#s=「Win + S」でチャート上にセットしてあるEAの「Allow live trading」をon/offできるはずです。
#s:: Send {F7} WinWaitActive , ahk_class #32770 Send +{TAB}{Left} SetControlDelay -1 ControlClick,Button5,,,,,NA Send {ENTER} return
複数のチャートに異なるEAを動かしている人は、これでチャート毎のON/OFFがすばやくできる...ので、是非ご活用ください。