MT4からShellExecuteAで外部アプリ(UWSC)を呼び出す方法

Topics: 私的メモ

MT4に対応していない業者へも自動でオーダーできるようにUWSCを使ってたことがあります。
結構格闘したので、忘れないように私的メモ。
UWSCについてはこちらをご確認くださいませ。

MT4で特定のサインが出たときなどに、MT4からUWSCを起動できます。
マウス操作を自動化して、ブラウザなり、アプリから注文を出します。
VPS上で動いてくれたら言うことなしなんですが。。。

まずは適当なところに以下を追記。

#import “shell32.dll”
int ShellExecuteA(int hWnd,int lpVerb,string lpFile,string lpParameters,int lpDirectory,int nCmdShow);
#import
#define SW_SHOW 5

あとはオーダーを判定するところに以下を追記
ShellExecuteA(0,0,”C:\\hogehoge\\uwsc\\UWSC.exe”;,”\”C:\\hogehoge\\uwsc\\order.UWS\” 1 2 1″ ,0,SW_SHOW);

※hogehogeはUWSCまでのパスを記述。UWSC.exeを右クリックで確認できます。

パラメーターも渡せました。

※上記「1 2 1」の部分。

UWSC側でPARAM_STR[0]とかで取得できます。