この募集は2018年12月05日に終了しました。

【簡単】ブラウザ操作を自動化しバイナリーオプションを行う画像認識マクロ【短期】の仕事

【簡単】ブラウザ操作を自動化しバイナリーオプションを行う画像認識マクロ【短期】に関する仕事・募集案件ページです。クラウドソーシングのランサーズで、Windowsアプリケーション開発に関する最適な外注/発注先をお探しの方、副業案件・求人をお探しのフリーランスの方はまず会員登録がおすすめです。

Windowsアプリケーション開発に関連した他の仕事を探す

見積もり募集の結果

募集期間

2日間

提案数

0件

当選人数

0 件

(募集人数1人)

見積もり募集の内容

提示した予算
10,000 円 ~ 20,000 円
依頼概要
■依頼の目的/概要
Windows10 OS上で動作する画像認識マクロ
目的はバイナリーオプションの取引を自動化すること、そのための手段としての画像認識マクロとブラウザ操作の自動化

※チャート・ロウソク・時間足といった金融用語については添付画像で説明しているのでそれを見た方が直感的にわかりやすいと思われます。

■依頼詳細
MetaTrader 4(以下MT4と略す)上で3種類の矢印が発生するのを検知

原則ユーザーによるオペレーション無く完全自動化されている事
ただし、完全自動化システムとはいっても可用性要件はそこまでシビアではなく稼働率99%もあれば十分、また、これはメンテナンス時間を含まず、再起動中の時間も含めない。
一日一回は再起動する事が可能であるためこの点においてもさほどシビアではない
稼働率がシビアではなく、一日一回は再起動できるとは言え、メモリリークやデッドロックには注意すること(とはいえ簡易なプログラムでコードの全長が長くはならないため問題ないだろう)。
システム障害が発生した場合にはtry-catch等を利用して(コード全体をtry-catchで覆っても良いくらい)自動的にOSを再起動させる、強制オプションを忘れずに。

ハード的にはマルチディスプレイ環境でディスプレイが複数あると想定する(ある程度は融通する)。
以下仕様


1.OSの起動と同時に立ち上がり常駐する

2.OS起動直後にMT4とGoogleChromeを起動する、GoogleChromeではHighLowオーストラリアのページを開く。
GoogleChromeのウィンドウは2個同時に開く。
MT4のチャート・テンプレート・時間足等は自動で設定する必要はなく予め設定されていると想定して良い。


3.MT4上で3種類の矢印が描画されるためこれを検知。

4.タイマーが画面上に描画されている、これを画像認識により検知。

5.MT4上のチャートのロウソク右端で矢印2つ以上同時に発生した場合はGoogleChrome上のHighLowオーストラリアのページをリロードする(長時間無操作による自動ログアウトされている可能性があるため)

6.ログアウトされていた場合にはHighLowオーストラリアに自動的にログインする。

7.MT4上で矢印が描画された通貨と時間足に対応するHighLowオーストラリア側のページをGoogleChrome上で開く、なお対応する時間足は5分取引のみであり、5分取引の通貨は7種類のみであるため対応するページの総数は7

8.掛け金の入力ボックスを認識して入力する、入力する金額は設定による。

9.チャートのロウソク右端で矢印が2つ以上同時に発生しており、なおかつタイマーが00秒の場合にHighLowオーストラリアで矢印の向きに対応したボタンを押下する。

10.上記9が発生したロウソク足の次のロウソク足で×印が描画された場合は掛け金を倍にし、前回と同じボタンを押下する。

11.一日一回AM06:00時に自動的にOSを再起動する、再起動する場合MT4が再起動の妨げとなるためMT4の終了処理を行ってから再起動する。

12.その他何かしらの不具合が発生したときにはOSを再起動して原則ユーザーによるオペレーション無く自動的に復旧すること、この場合の再起動は強制オプションを付けること

13.どうしても自動的に復旧できない場合指定のメールアドレスにエラーを送信する。

■要望ポイント
万が一インターフェイスが変わってしまっては困るのでWindows10OSとGoogleChromeは自動アップデートを停止する前提で作って良い。

HighLowオーストラリアの規定では自動化を禁止しているため一応は表面上機械的に見えないように操作する。
すなわち、ボタンを押下する座標を乱数によってランダムに決定し、ボタンを押下するタイミングも乱数によってある程度ランダムに遅延させる。

GoogleChromeのウィンドウ数が2であるためMT4上で一つのチャート当たり2個以上の矢印が同時に3チャート以上で発生した場合は3番目以降は対処しなくて良い。
そもそも一つのチャート当たり2個以上の矢印が発生する頻度自体が一日3回程度であるため同時に3チャート以上でそれが発生する可能性は無視できる程度に十分に小さい数値である。

MT4とHighLowオーストラリアのチャートとでは数秒程度のタイムラグが存在するがこのタイムラグは無視して良い。

稼働時間を設定できるように設計する。
例えば08:00~22:00時までの間稼働するといった具合に。
これは必ずしもGUIである必要性はなくXMLファイルなどに記述して読み込む形式でも問題ない(当方もプログラマであるためこれでも問題なく使える)。
ただし、その場合は記述方法について簡素なもので良いのでマニュアルを用意すること。
同様に一日一回の再起動時間と掛け金・自動復旧失敗時のメール送信先も設定できるようにする。
追記:(仕様を2000文字以内で書ききれなかった)

High/Lowオーストラリアのデモ口座でも実質上同じ操作が可能であるためデモ口座で動作テストを行って良い。
また、設定からこのデモ口座でのデバッグモードで動作する指定ができるとなお良い。

MT4のチャートのウィンドウ位置等は必ずしも画像認識によって検知しなくても良い(してもよいが)。
例えば、ウィンドウの位置が常に決まっていて固定であるという想定の元に動作するというような極めて原始的かつ簡素な作りでも全く構わない。
ただし、その場合はウィンドウの表示位置について簡素なもので良いためマニュアルを用意すること。

使用するツールや言語は特に指定はない。
C#で.Net AccordやOpenCV等のライブラリを使ってもよいし、UWSCやAutoHotKey等を使用しても良い。
ただし、何を使うにしても可読性良く書くこと(と言ってもこれも簡素なプログラムでコードの全長が長くはならないため難易度は高くないだろう)。

稼働状況がわかるよう簡素なもので良いので画面上にログを出力し続ける(矢印が発生しないと動きがなく、正常に動作しているのかしていないのか目視でわかりにくいため)。
不具合発生時に原因追求を行いやすいように原則ログを保管する。
また、不具合発生時点でのスクリーンキャプチャ等を保存して良い。

MT4上で矢印が発生する頻度が一日に3回程度と極めて低頻度であるためおそらくこの仕事はマクロの作成期間より試運転の期間の方が圧倒的に長くなります。
この試運転については当方で行うため開発者様のリソースを長期間専有し続けるということはございませんのでご安心ください。
デバッグ等に関しては最大限協力いたします。
なので短期間で大雑把な形を仕上げてサクッと納品して頂いて後はこちらで試運転してみてバグの洗い出しをするという形が理想的です。
添付ファイル
※ 締切後、添付ファイルはクライアントと当選したランサー以外は閲覧できません ( 詳細 )

  • 画像認識マクロ.png
会員登録する (無料)