記事「MQL5でのAutoItの使用」についてのディスカッション

 

新しい記事「MQL5でのAutoItの使用」はパブリッシュされました:

簡単に説明すると、この記事では、MQL5をAutoItと統合することによってMetraTrader5ターミナルのスクリプトを作成します。その中で、ターミナルのユーザーインターフェイスを操作することによってさまざまなタスクを自動化する方法を説明し、AutoItXライブラリを使用するクラスも紹介します。

AutoItには、アプリケーションウィンドウに関する情報を取得するために使用されるAutoItウィンドウ情報ツールと呼ばれるアプリケーションが付属しています。

Finderツールをターゲットアプリケーションの任意の部分にドラッグすることで、特定のコンポーネントのプロパティを取得できます。これらのコンポーネントは、コントロールと呼ばれます。コントロールの例は、ボタン、ドロップダウンメニュー、タブですが、これらはほんの一例であり、アプリケーションの構築には多くの種類のコントロールが使用されています。各コントロールはウィンドウに関連付けられています。アプリケーションは、複数のウィンドウで構成されている場合があります。通常、メインウィンドウがあり、その上に他の子ウィンドウが接続またはドッキングされます。子ウィンドウがメインアプリケーションウィンドウに接続またはドッキングされている場合、それらの子ウィンドウで囲まれているすべてのコントロールがメインアプリケーションウィンドウの一部になります。AutoItを使用してコントロールを正確に見つける場合、子ウィンドウであろうとメインアプリケーションウィンドウであろうと、コントロールが関連付けられているウィンドウは重要です。

下の図を見ると、FinderツールがMetatrader 5アプリケーションのさまざまな領域にドラッグされていることがわかります。[オプション]メニューが選択されている場合は、ウィンドウ情報ツールの設定に注意してください。[フリーズ]、[常に最前面]、[Spy++コントロール検出ロジックの使用]オプションがオンになっています。


作者: Francis Dube

 

自動売買を有効/無効にするボタン(Ctrl+E)の押し方を教えてください。ALGOTRADECHECK_BUTTON`や`WINDOWTEXT_EA`を使うべきでしょうか?私の不注意かもしれませんが、チャートにエキスパートを追加する際に、エキスパートが取引可能かどうかをチェックする ようです(別のEAがすでに存在する場合はどうなるのでしょうか?

ありがとうございました!

 
Daniel Lagoshniak どうかをチェックする ようです。

ありがとうございました!

ALGOTRADECHK_BUTTON`と`WINDOWTEXT_EA`はEAのダイアログと対話するためだけに使用されるべきです。あなたがやろうとしていることはクラスには実装されていません。しかし、CAutoItのControlSend()メソッドを使用してキーの組み合わせ(Ctrl+E)をターミナルに送信するか、ツールバーのボタンをターゲットにしてControlLeftClick()でクリックをエミュレートすることで実現できます。

チャート上に既にEAが存在し、そのEAがチャートに適用されているEAと異なる場合、既存のEAを削除するかどうかを確認するダイアログが表示され、その後、新しいEAがチャートに追加されます。

 

コメントなしのコード...良くない...

ありがとう!

 

AutoItは優れたツールだが、最終アップデートは2018年3月なのでご注意を...。

;)

 
とても興味深く、役に立つ記事だ。著者に感謝する!
 
また、この関数の3番目のパラメータを int AU3_WinGetPos(string, string, LPRECT); に設定し、これらの座標を取得する方法を教えてください。
 

VSキットにはもっと便利でマイクロソフトのスパイがある。

AutoItはフリーソフトではなく(シェアウェアです)、お金を払う必要があります。

 
AutoItは素晴らしいよ。AutoitでAutoMTFを書いたんだ。
 

Market Watchの赤と青の色をグラデーションではなくベタ塗りにする方法はありますか?Autoitを使って色を読み取っているのですが、取引アプリを 再実行するたびに色が変わってしまい、ピクセル・カラー・チェッカーも変わってしまいます。

また、Autoitを使って各オープンポジションの利益を読み取る方法も必要です。