質問掲示板
岡三RSS
集いの広場

アップロードされたファイルおよび投稿内容についての注意事項 別窓

複数の単語で検索する方法 別窓

【国内株式、先物・オプション】岡三RSS質問箱

かしたか

REPAYMENTORDER関数実行時のエラーについて

RSS初心者です。標記の件についてお尋ねしたく投稿いたしました。

個別株の信用取引の自動売買を行いたく、作成したエクセルシートで実際の売買を始めたところ、MARGINORDER関数による発注はできたものの、REPAYMENTORDER関数による反対売買では3回に1回程度はエラーとなってしまい注文が出せないことがあります。
エラーの内容は、「エラー:注文可能な信用建玉がありません。」というものです。(もちろん建玉は保有しています)

シート全体では50銘柄程度をQUOTE関数で常に監視しながら、トリガーがかかったら発注/返済のオーダーを出すようにしています。ちなみに一つの銘柄について、QUOTE、MARGINORDR、REPAYMENTORDERの3つの関数を使用しています。それにORDQUERY関数とPOSITION関数を使用していますので、合計でシートの中に150~160の関数があります。

REPAYMENTORDER関数の第10引数にはPOSITION関数で引っ張ってきた”建単価”を使用しています。以前、この欄に投稿された回答から、POSITION関数の更新が間に合わず発注時点で正しい引数の情報が揃っていないといったことがあるのかとも思っています。

原因と対策についてご存じの方がいらっしゃましたら教えていただけますようお願いいたします。

2021年05月12日

大野 了

かしたかさん、こんにちは!!

3回に1回程度の失敗という事ですが、
失敗した後、もう一度やると正常にREPAYMENTORDERは動きますでしょうかー?

かしたかさんの、ロジックがわからないため明確なことは言えませんが、
もしそうでしたら、多分POSITION関数の項目間の時差問題かもしれません。
以前いただいた質問への回答のURLで申し訳ございませんが、
内容的にはこちらを見て頂けますと幸いです。
https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=315#comment_1585


これを解決するに、現在ではCSV項目という項目があり、
"CSV"でPOSITION関数で実行すると、一つのポジションデータがカンマ区切りでずれなく取得することができますので、
このデータを使用して、REPAYMENTORDERを動かしてあげると
多分大丈夫と思います!!

2021年05月12日

ログインしてコメントを投稿する

かしたか

大野さん

情報をいただきありがとうございます。

早速CSV項目から引っ張った建単価を使って返済注文をするようにワークシートを書き直してみました。
しかし、本日取引を行ってみましたが、やはり昨日と同じエラーが3取引に1回程度出てしまいます。
エラーになった後に発注IDを変えてワークシートから再発注すると通りました。

他に考えられる原因などに心当たりがありましたら、教えていただきますようお願いいたします。

※添付は返済発注の例を示したものです。

2021年05月13日

ログインしてコメントを投稿する
ログインしてコメントを投稿する

かしたか

添付ファイルは上記のRSSユーザーからのものです。
失礼いたしました。

2021年05月13日

ログインしてコメントを投稿する

大野 了

かしたかさん、こんにちは!!

申し訳ありません、一点確認させてください!!

こちらのB4やL4は具体的にどのように数値を設定されておりますでしょうか?
多分、ポジション関数でCSVを使って読まれてると思うのですが、
計算式が入っていなかったため、細かいことがわからず・・・

2021年05月13日

ログインしてコメントを投稿する

かしたか

大野さん、こんにちは!

失礼しました。各引数は以下のように持ってきています。
B4(第1引数、銘柄コード):このセルに最初から銘柄を入れてあります。
L4(第10引数、建単価):ポジション関数でCSVを使い、戻り値の中から建単価を抜き出して、その値をL4に入れています。
M4(第11引数、建年月日):TODAY()関数を入れています。(取引はすべて当日中に決済します。)
Q4 (第15引数、発注ID):銘柄コードにそくしたIDをつくる式を入れてあります。
他の引数:直接各セルに書き込んであります。

尚、エラーが出た場合は、発注IDを変えて再度発注するようにワークシートを少し書き換えたところ、遅れがでるものの発注はできるようになりました。(応急処置ですが、、)


2021年05月13日

ログインしてコメントを投稿する

大野 了

かしたかさん、こんにちは

返信遅くなりました。

なにはともあれ発注できるようになってよかったです。

なるほどー
とすると、一つの決済をする上でポジション関数から取得される項目は複数は無く、
建単価のみを引いているという事ですね!!

ちなみに、対象の建単価を探し出されていますでしょうか?
多分、その探されている部分で以前リンクを連絡させて頂きました
項目間の時差問題が発生していて、そのポジションではない建単価をセットしてしまっているものだと思われます!!

2021年05月14日

ログインしてコメントを投稿する

かしたか

大野さん

内容が同じであれば(銘柄コードや建日など)他のセルにある値を持ってきても良いのかと思っていました。
ポジション関数で所得できる項目はすべて使って明日試してみます。
どうもありがとうございます。




2021年05月16日

ログインしてコメントを投稿する

大野 了

かしたかさん、こんにちは!!

そうですねー

複数ポジションを持っている場合は、
その決済したい建玉の銘柄コード、建日、建単価を持ってきてあげる必要があります。
デイトレの場合、銘柄コード、建日は同じになるので固定値で大丈夫と思いますが、
建単価は、各々のポジションで異なることもある可能性があるので、
そのポジションの建単価を持ってきてあげる必要があります!!

2021年05月16日

ログインしてコメントを投稿する

すべての投稿を表示する

to_top
to_top

アップロードされたファイルにはウイルスチェックを行っておりますが、未知のウイルス等に感染されている場合がありますので、アップロードされたファイルのご利用はご注意ください。
また、取引パスワード等の重要な情報を投稿内容に含めないようご注意ください。
なお、アップロードされたファイルの利用や投稿内容によって、投稿者自身や他の利用者が被った損害に対して当社は一切責任を負いません。

また、セキュリティの関係上、一部コマンド等を含む内容を送信するとエラー画面が表示され、投稿ができない場合がございます。何卒ご了承ください。

岡三RSS集いの広場では、複数の単語による検索が可能です。

例)関数 and サンプル
→AND検索となり、「関数」および「サンプル」を含む検索結果が表示されます。

例)関数 or サンプル
→OR検索となり、「関数」または「サンプル」を含む検索結果が表示されます。

例)関数 not サンプル
→NOT検索となり、「関数」を含むが「サンプル」は含まない検索結果が表示されます。

※and、or、notの前後は半角スペースで区切ってください。
※単語の間を半角スペースで区切るだけだと、OR検索となります。