趣味として商品先物取引を楽しむ
本業に差し障りのない範囲で、商品先物取引と楽しく付き合っていけないものだろうか。 過去の失敗経験をふまえて、先物取引のリスク、面白さ、リスクの少ない投資法を考えていきます。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
COMエラーの回避
 私の使っている「気配値によるリアルタイムサヤ相場表」では、UWSCと言うソフトを使って、自動発注を可能にしています。
 今までも、この自動発注機能を使って仕事中に建玉したりと便利に使っているのですが、自動発注作動中にCOMエラーが発生して、自動発注が中断されてしまうことが時々あり、自動発注システムとしては信頼性に欠ける部分が有りました。

 何とか改善したいと考えていたのですが、私にとっては、これがなかなか大変でした。

 UWSCのFAQのページでは、COM_errorについて、「Pro版の場合、Excel用関数(XLSETDATA, XLGETDATA)を使えば自動で回避できます」と書いてありますので、まず考えたのは、Pro版を使い、Excel用関数(XLSETDATA, XLGETDATA)によって回避することをを考えました。
 ところが、プログラミングについて知識が乏しい私にとって、Excel用関数(XLSETDATA, XLGETDATA)を使ったスクリプトの記述が上手く出来ず、私が記述したスクリプトでは、Excel用関数(XLSETDATA, XLGETDATA)についてのエラーで自動発注が出来ない有様で、この方法はあきらめてしましまいました。

 そして、先日、UWSCの掲示板で、「COM_ERR_IGN 、COM_ERR_RET 」を使ったCOMエラーの回避法を見つけました。

 今までの自動発注のスクリプトは、
----------------
If MsgBox("ガソリン買い・灯油売り、第1タブ自動発注スタートします", BTN_OK or BTN_CANCEL) = BTN_CANCEL then EXIT

Excel = GETACTIVEOLEOBJ("Excel.Application")
Repeat
DIM 指定サヤ幅 = Excel.Worksheets("ガソ・灯油").range("W27").value
DIM 気配値サヤ幅 = Excel.Worksheets("ガソ・灯油").range("W15").value

Fukidasi("ガソリン買い・灯油売り、自動発注サヤ監視中", 100, 100, 0, 12, "MS 明朝", $000000, $FFDDBB)
  Sleep(1)
  Fukidasi()         // 吹き出し消す
Sleep(1)
If (指定サヤ幅 = "" or 気配値サヤ幅= "") then Continue

Until 気配値サヤ幅 < 指定サヤ幅

Call .\発注クリック1.uws
----------------
 このような記述になっていましたが、「COM_ERR_IGN 、COM_ERR_RET 」を使って、
----------------
If MsgBox("ガソリン買い・灯油売り、第1タブ自動発注スタートします", BTN_OK or BTN_CANCEL) = BTN_CANCEL then EXIT

Excel = GETACTIVEOLEOBJ("Excel.Application")
Repeat
COM_ERR_IGN
DIM 指定サヤ幅 = Excel.Worksheets("ガソ・灯油").range("W27").value
DIM 気配値サヤ幅 = Excel.Worksheets("ガソ・灯油").range("W15").value
COM_ERR_RET
Fukidasi("ガソリン買い・灯油売り、自動発注サヤ監視中", 100, 100, 0, 12, "MS 明朝", $000000, $FFDDBB)
  Sleep(1)
  Fukidasi()         // 吹き出し消す
Sleep(1)
If (COM_ERR_FLG = True or 指定サヤ幅 = "" or 気配値サヤ幅 = "") then Continue

Until 気配値サヤ幅 < 指定サヤ幅

Call .\発注クリック1.uws
----------------
 このように書き換えてみました。
 昨日、場中に動作させてみたところ、COMエラーが発生することなく(実際は発生しているCOMエラーを無視しているわけですが)、正常にサヤ幅の監視が行われていました。

 気配値によるリアルタイムサヤ相場表で私が行っている自動発注は、自動発注と言っても、気配値によるサヤ幅を監視して、ある基準に達したところで、記録しておいたクリック動作を作動させるという簡単なものですが、参考になればと思います。
 また、プログラミングについて初心者の私が書いているスクリプトですので、誤りが有れば、教えていただけると嬉しく思います。
 よろしくお願いします。

 それから、今回のスクリプト書き換えに当たって、UWSCの掲示板の他、自動売買ソフトでアルゴリズムトレードの記事も参考にさせていただきました。

※気配値によるリアルタイムサヤ相場表を使ってみたい方は、右カラムの応募フォームよりご連絡下さい。
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://futures.blog4.fc2.com/tb.php/1568-192c8373
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック

SEO対策:商品先物取引 先物取引 商品先物 ガソリン