taku009
1,2秒 エラーが表示される!
初めまして!
RSSを9月中旬から使用している
超初心者の『taku009』と云います。
現状、VBAと関数で日経225の手動発注
(逆発注、決済、訂正、取消)
をおこなってます。
ボタンを押して発注、約定したら返済ボタンを押す
という感じです。
時々、1,2秒エラーが表示される時があります。
文言は『建て玉が何チャラです』などです。
色々試していると、新規発注⇒約定⇒返済発注⇒約定
ではエラーは出ませんが
新規発注⇒約定⇒返済発注⇒訂正⇒約定
と訂正を挟むと、決済約定後にエラーが表示される
ような気がします。
返済が約定するまではエラーは出ませんので
返済約定したら、何か戻って来てエラーが出ている
ような感じです。
但し、自分の思い通りの動きは出来ており実害は
一切無いのですが、判るものならスッキリしたい
と思ってます。
上手く説明出来ませんが同じような経験を
された方、多分コレだよなど
教えて頂けませんでしょうか?
よろしく、お願い致します。m(__)mペコ
2020年10月02日
大野 了
taku009さん、初めまして!!
正常約定後のエラーメッセージですか・・・
正直、ぱっと思い付かないです・・・(涙
多分、約定してるのであれば・・・
『完了メッセージ』が出てしまってるのではないかなーと思うのですが
完了メッセージ(第11引数)は、1(なし)になっていますでしょーかー?
完了メッセージの場合は、こんなメッセージが出てくると思うと思いまーす!!
=================================
ご注文を受け付けました。
必ず先物OP注文照会でご確認ください。
受付番号 xxxxxxxxxxxxxxxx
=================================
でも、このメッセージは1,2秒で勝手に消えるわけないしな・・・
もし"1(なし)"なっているのであれば・・・
何かしらのメッセージと思うのですがー
注文時のエラーであれば『ORDERRESULT』という関数があるので、
これで発注時に何か起きているのであれば、これでログが見れます!!
これを仕掛けて、何が出力されるか見て頂けますでしょうかー?
発注自体は正常に行ってるっぽいので、残らない可能性も大ですが・・・
もし夜間に試せるのであれば、自分も発注、訂正、約定 で一度動かしてみます!!
2020年10月02日
taku009
コメントありがとうございます。
完了メッセージが1(なし)となっている事を確認しました。
『ORDERRESULT』ですが、先物でも同じような関数が
ありますか?
探したのですが、見つけられませんでした。
何かお気づきの点があれば、宜しくお願い致します。
2020年10月02日
taku009
『ORDERRESULT』先物でも使用出来るのですね!
気が付きませんでした、試してみます。
2020年10月02日
大野 了
はい、ORDERRESULTは先物でも使用できます
こいつでメッセージが残ると良いんですがー
2020年10月02日
taku009
やっとログが取れました!\(^o^)/
操作した事は、
売り発注⇒金額を訂正⇒約定⇒決済注文⇒約定
です。
ログは
◆ORDERRESULTのログ
先物 3076 決済 エラー 8:指定された建玉情報の建玉数量が、実際の建玉情報の建玉数量より多いため注文を受付できません。:1701
先物 4076 訂正 エラー 訂正可能な注文がありません。
先物 20201006A01N74026658 決済 約定
先物 20201006A01N74026658 決済 受付
先物 20201006A01N74022007 新規 約定
先物 20201006A01N74022007 訂正 受付
先物 20201006A01N74022007 新規 受付
◆発行時、自分で取得しているログ
8:51:58 売り
8:53:11 金額訂正
9:04:01 決済
◆FOPPOSITION
8:53:12 新規 約定
9:04:02 決済 約定
何か判りますかね???
2020年10月06日
大野 了
taku009さん、こんにちは!!
自分のところでは出なかったので、ログ取れてよかったです!!
ログの内容、
正常に訂正と決済ができている、
たまにしか起きない、
という現象を見ると・・・
多分、データ更新のタイミングなどの関係で、
訂正注文と決済注文が2回飛んでいるものだと思われます!!
正常に訂正と決済ができているとのことですので、
1回目の決済が正常に処理され、
続いて、もう一度同じ訂正と決済注文が飛んでいるため、
2回目の注文が、
『訂正可能な注文がない』
『決済建玉数が合わない』
となっているのだと思われます!!
taku009さんのプログラムを見ていないので何とも言えないのですが、
正常に動いているのでしたら問題はないと思いますが、
もし気持ち悪いなどありましたら、
パスワードやシグナルのノウハウの部分などを消して頂いて、
上げて頂くと何かわかるかもしれません!!
2020年10月06日
taku009
Book1.xlsx (216.9KB)
コメント、ありがとうございます。
》訂正注文と決済注文が2回飛んでいる
うーーーーん、私も最初そう思って、ログを入れてみたが
ログは1回しか取得されていません。
それと、決済が約定してからエラーが出ているのが
不思議なんです。
(約定しないと5分でも10分でもエラーは出ない!)
訂正と決済ソースと画面イメージをアップしています。
ランチャーなので、ボタンに1対1で紐付いている
簡単なロジックなんですよ
よろしくお願い致します。m(__)mペコ
2020年10月06日
大野 了
taku009さん、こんにちは!!
ソースなどを見させて頂いたのですが、
確かにこれだだとボタンを押したときに複数回発注が
飛ぶことは考えつらいですね・・・
>先物 3076 決済 エラー 8:指定された建玉情報の建玉数量が、実際の建玉情報の建玉数量より多いため注文を受付できません。:1701
>先物 4076 訂正 エラー 訂正可能な注文がありません。
この子たちが、正常に約定後にエラーになったログになるんですよね?
自分が試したやり方がちょっと違ったので、
夜間やれるときに試してみます!!
ログだけを見ると、もう一度決済注文とかが飛んでる感じなんですけど・・・
んー
後は、fneworderがセルのどこかに紛れ込んでいるとかでしょうか・・・
2020年10月07日
プログラミング経験のあるRSS初心者
おそらくそれはRSS自体(おそらく注文訂正の関数FREPLACEORDER)のバグだと思います。
ORDERRESULTをシートに出力する際に
種類 注文番号 注文種別 注文状態 エラーメッセージ
のすべてを表示させてみてください。
すると、注文を
決済
新規
取消
にする場合は
注文番号
が表示されます。
しかし、注文の
訂正
の場合だけは
注文番号
ではなく
取消ID
が表示され、以下のようなエラーメッセージが出ます。
130:訂正項目が存在しません。:1701
49:この注文内容に訂正することはできません。入力項目をご確認ください。:1701
おそらく、注文訂正の関数FREPLACEORDERの中に何らかのバグがあり、注文番号と取消IDを混同しているのでしょう。
そうだと考えれば、上記エラーメッセージと符合します。
function_manual関数マニュアル
を参照すると、
FREPLACEORDER
については、何度も修正が記載されています。
開発にてこずり、まだバグが残っているのかと、推察しています。
もちろん、ほかの部分のバグの可能性もあります。
解決策としては、2つあります。
① 岡三の担当者さんにバグでないか問い合わせる。ただし、岡三の担当者さんはシステムのことはほぼ全くわからない人のようなので、開発会社に問い合わせてもらうといいでしょう。本当は、開発会社に直接問い合わせたほうが効率的だと思います。
② 訂正処理を行っている部分を、注文取消し→新規注文のように書き換える。あるいは、注文取消し→新規注文からなる訂正処理関数を自分で作る。
2020年10月10日
プログラミング経験のあるRSS初心者
補足です。taku009さんに、逆にお伺いしたことがあります。
>色々試していると、新規発注⇒約定⇒返済発注⇒約定
>ではエラーは出ませんが
>新規発注⇒約定⇒返済発注⇒訂正⇒約定
>と訂正を挟むと、決済約定後にエラーが表示される
>但し、自分の思い通りの動きは出来ており実害は
>一切無いのですが、判るものならスッキリしたい
>と思ってます。
とのお話ですが、その
訂正⇒約定
は訂正通りの約定になっていますか?
もしかして、訂正されていないもとの返済発注がそのまま約定していませんか。
少なくとも私の場合は、FREPLACEORDERのエラーの後、もとの返済発注がそのまま約定しています。
ちなみに、以上のことも、RSS(FREPLACEORDER)のバグと考える理由の1つです。
2020年10月10日
taku009
コメント、ありがとうございます。(^o^)/
》 訂正⇒約定
》 は訂正通りの約定になっていますか?
はい、記憶でしかないのですが
訂正通りの約定となっていると思います。
不具合臭いとは思っていたんですよネーーー
だって、エラーが出るキックが
約定後ですから・・・・
エクセルでは約定後には何も出来ませんから
コレでスッキリしました。
試して頂き、ありがとうございました。m(__)mペコ
2020年10月10日
大野 了
おー
プログラミング経験のあるRSS初心者さんも、エラーが出てしまうんですか・・・
taku009さんのやり方で、月曜日にもう一度チャレンジして見らねば・・・
不具合だとすると変な履歴が残るのでヤバいですね・・・
2020年10月10日
大野 了
taku009さん
いろいろと試してみたんですが、
自分の環境では
売り新規⇒訂正⇒約定⇒決済⇒約定
の順で約定後のエラーは、
ログ、岡三RSSのポップアップ共に発生しませんでした・・・(涙
また、ログの出力も
新規、受付
訂正、受付
新規、約定
決済、受付
決済、約定
の順で正常に表示が行われました。
試したパターンは以下の通りです!!
〇売り新規(指値)⇒訂正⇒約定⇒決済(建玉指定)⇒約定
〇売り新規(指値)⇒訂正⇒約定⇒決済(建日時古順指定)⇒約定
〇売り新規(指値)⇒訂正で一度無理やりエラーを発生させる⇒正常な訂正⇒約定⇒決済(建玉指定)⇒約定
※無理やりエラーを出したときは狙ったエラーがきちんと表示されました。
また、taku009さんのログを再度観ていて、一つ気になったのですが・・・
>先物 3076 決済 エラー 8:指定された建玉情報の建玉数量が、実際の建玉情報の建玉数量より多いため注文を受付できません。:1701
>先物 4076 訂正 エラー 訂正可能な注文がありません。
となっている、4076と3076はエラーなので発注IDが表示されていますが、
taku009さんのロジックを観ると、
発注の度に1つずつ増えて行く感じだと思います。
しかしログを観ると、発注番号が一気に1000番ほど戻っています。
これを観ると頂いたVBA以外のタイミングで、発注系の関数動いているように見えるのですが、
こちらを何かしらヒントに追える現象はありませんでしょーか?
2020年10月13日
大野 了
あっ!
ちなみに、訂正は指値の金額修正を行う形でやりましたー
2020年10月13日
taku009
大野さん、色々試して頂いて
ありがとうございます。
頂いたコメントから、もう一度追ってみます。
2020年10月13日
taku009
エラーメッセージに付いている数字は
発注IDなのですか?
うーーーん、この辺りを中心に調べてみます。
2020年10月13日
taku009
Poster1_20201013_082048.jpg (22.0KB)
判りました!\(^o^)/
ボタンランチャーの横に
利確/LCとなると自動で決済又は訂正する
関数を入れています。
手動で決済し、約定したらココが動くんだと思います。
コレを切って(ON/OFF設定で動かないよう出来る)
本日やってみます。
多分コレです、発注IDが1000飛んでいると
指摘されて判りました!
2020年10月13日
大野 了
おぉぉぉぉぉぉ!!!
他にも発注のロジックがあったんですね!!
画像を見ると確かに発注のロジックごとに、IDが1000番台ごとに飛んでる!!
これっポそうですねー
ここらへんでうまくエラーがなくなることを祈りますっ!!
2020年10月13日