1403854909 UWSCで画像認識について教えて下さい。

MT4のチャートに出現するシグナル(HIGH,LOW)文字を認識しようとしていますが、旨く認識できません

表示した画面からシグナルを切り出して、24bitmapで保存した画像は下記の通りです。
https://www.dropbox.com/s/uq13ol6obc7k4cx/Low.bmp
https://www.dropbox.com/s/pgs963cbo763wdr/HIHG.bmp

スクリプトのどこが悪いのか、教えて頂きたく宜しくお願い致します。
(スクリプトは長くなりますのでコメントに書きます)

また、正しいコードをご教授下さい。



回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2014/07/01 19:49:49
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
id:iwana1999

現在のスクリプトです。

-------------------------------------------------------------

ACW(GETID("21904: Land-FX MetaTrader 4 Terminal - デモアカウント - USDJPY,M1"),-8,-8,1616,884,0)

BTN(LEFT,DOWN,764,106,300)

ACW(GETID("21904: Land-FX MetaTrader 4 Terminal - デモアカウント - USDJPY,M1"),-8,-8,1616,884,0)

MOUSEORG(GETID("21904: Land-FX MetaTrader 4 Terminal - デモアカウント - USDJPY,M1"))

while true

//左上;USDJPY

IFB chkimg("C:\uwsc\HIGH.bmp",772,114,912,184) = true then

exec("C:\uwsc_html\USDJPY_B.EXE")

print "USDJPY_B"

sleep(15)

endif

IFB chkimg("C:\uwsc\LOW.bmp",772,114,912,184) = true then

exec("C:\uwsc_html\USDJPY_S.EXE")

print "USDJPY_S"

sleep(15)

endif

//右上;EURJPY

IFB chkimg("C:\uwsc\HIGH.bmp",1400,114,1550,184) = true then

exec("C:\uwsc_html\EURJPY_B.EXE")

print "EURJPY_B"

sleep(15)

endif

IFB chkimg("C:\uwsc\LOW.bmp",1400,114,1550,184) = true then

exec("C:\uwsc_html\EURJPY_S.EXE")

print "EURJPY_S"

sleep(15)

endif

//左下;GBPJPY

IFB chkimg("C:\uwsc\HIGH.bmp",772,490,912,558) = true then

exec("C:\uwsc_html\GBPJPY_B.EXE")

print "GBPJPY_B"

sleep(15)

endif

IFB chkimg("C:\uwsc\LOW.bmp",772,490,912,558) = true then

exec("C:\uwsc_html\GBPJPY_S.EXE")

print "EURJPY_S"

sleep(15)

endif


//右下;AUDJPY

IFB chkimg("C:\uwsc\HIGH.bmp",1400,490,1550,558) = true then

exec("C:\uwsc_html\AUDJPY_B.EXE")

print "AUDJPY_B"

sleep(15)

endif

IFB chkimg("C:\uwsc\LOW.bmp",1400,490,1550,558) = true then

exec("C:\uwsc_html\AUDJPY_S.EXE")

print "AUDJPY_S"

sleep(15)

endif

sleep(1)

wend

-------------------------------------------------------------

回答1件)

id:snow0214 No.1

回答回数470ベストアンサー獲得回数116

HIGHとLOW画像はスクリプトと同じフォルダに保存してください。
背景色を透過色として認識させます。

IFB chkimg("HIGH.bmp",1,772,114,912,184) = true then
id:iwana1999

snow0214様

ご回答を頂きまして有り難うございます。

土日は、市場が閉まっていますので月曜日確認させて頂きたいと思います。

2014/06/28 11:45:58
id:iwana1999

背景色を透明にすると選択したりしなかったりでバラツキがありましたので、そこのパラメーターは0にして正常に稼動しております。

2014/07/01 19:46:58
  • id:iwana1999
    "LOW"シグナルの画像です。
    https://www.dropbox.com/s/mmd2dv3mn0pvtya/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202014-06-27%2014.14.04.png
  • id:language_and_engineering
    こんにちは
    リクエスト拝見しました。
    土日中メドの回答で大丈夫でしょうか
  • id:iwana1999
    何時もお世話に済みません。
    スケジュールは、土日中で構いませんので宜しくお願いします。
  • id:cx20
    単純に引数を1個間違えているのではないかと。。。

    <使い方>
    CHKIMG( [画像名, 透過色/色無視, x1, y1, x2, y2, 番号, 色幅] )

    誤)chkimg("C:\uwsc\HIGH.bmp",772,114,912,184)
    正)chkimg("C:\uwsc\HIGH.bmp",0, 772,114,912,184)

  • id:iwana1999
    CX20様

    ご指摘を頂きまして有り難うございます。

    仰せの通り、0を追加しましたら見事稼動しました。
    透明色は省略できるのでは、と思っていましたが省略できないのですね。
    22:19までも画像認識が出来ずにいましたが、使用方法が分かりましたのでいろいろと応用したいと思います。

    重ねてお礼申し上げます。

  • id:iwana1999
    lang_and_engine 様

    CX20 様よりご指摘を頂きまして、修正しましたら左上4画面のシグナルは無事に稼動しました。
    その他の画面も稼動するかどうか、様子を見たいと思います。

  • id:language_and_engineering
    動作してよかったです。

    私のほうで動作を検証していた間は,
    BMP画像をJPGとして保存しているためマッチしないのではないか?
    という疑惑がありました。
    (DROPBOXの画像を見るとぼやけていたため)

    しかし,DROPBOXにアップロードした際にぼけたのであって,
    お手元のBMP画像はぼけていないようですね。

    ※http://f.hatena.ne.jp/language_and_engineering/20140627230617
  • id:iwana1999
    lang_and_engine様

    上記のコメントでで画像認識が旨く行ったと書きましたが、それは2回とも「LOW」の場合でした。
    残りの2回は「HIGH」シグナルでしたが、こちらは認識しませんでした。

    一旦は、出来たものと思いましたが、やはり基本的なところ分かっておりませんので土日の回答をお願いしたいと思います。

    お手数ですが、宜しくお願いします。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません