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

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

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

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

岡三オンライン証券

【旧版】岡三RSS質問箱

岡三RSSファンページのディスカッションボードに投稿された内容です。現在は閲覧専用となっております。

2011年11月25日

岡三RSSファンページ<公式>

以下質問について代理で質問箱に記入します。

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

FREPLACEORDER関数を使って訂正注文を行う数式を作りましたが、(この注文は、訂正できません)というメッセージがでます。

訂正注文を受け付けられない理由事項を教えてください。

エラーコード:1701

2016年02月07日

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

岡三RSSファンページ<公式>

>FREPLACEORDER関数を使って訂正注文を行う数式を作りましたが、(この注文は、訂正できません)というメッセージがでます。

>訂正注文を受け付けられない理由事項を教えてください。

>エラーコード:1701

エラーコード「1701」に該当するエラーは、数量等の引数に誤りのある場合に発生いたします。

ご利用いただいております「FREPLACEORDER関数」に使用している引数をご確認ください。

2016年02月07日

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

Mini Be

皆様、はじめまして。beといいます。

今、移動平均線2本のゴールデンクロス/デッドクロスで売買するドテン系のシステムをRSSで自動発注できるシートを作成中です。

新規発注まではシートの関数・マクロができました。

次に返済についての手順なのですが、、、

GC→新規注文(1枚)→DC→返済注文(1枚)/新規注文(1枚)

という手順を考えていたのですが、

GC→新規注文(1枚)→DC→オートネッティング注文(2枚)

という手順の方が良いのでしょうか?

それとも岡三RSSではもともとオートネッティング注文はできないのでしょうか?

お詳しい方、ご教示いただけますでしょうか?

2016年03月07日

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

Ryo Ohno

あれ?

また書けない・・・

今度は書けるか・・・

beさん初めましてっ!!

大野と申します。

よろしくお願いしまっす♪

残念ながら、岡三RSSにオートネッティング発注の機能はないです。

対応してくれると、ありがたいのですが・・・

自分は、自力でオートネッティングと同様の動きをするPGを作りました。

意外とめんちぃかったです(笑

2016年03月07日

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

Mini Be

大野さん

ご返信ありがとうございます。

>岡三RSSにオートネッティング発注の機能はないです。

う~っ、残念です。

>オートネッティングと同様の動きをするPG

できましたらヒントなどをいただければ<(_ _)>

よろしくお願いいたします。

2016年03月07日

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

Ryo Ohno

>>岡三RSSにオートネッティング発注の機能はないです。

>う~っ、残念です。

ですね・・・

あると便利なんですが・・・

>できましたらヒントなどをいただければ<(_ _)>

はいっ、自分のやってるやり方でよければー♪

発注はセル関数でやられてますでしょうか?

それとも、VBAで発注されていますでしょうか?

自分は発注などすべてVBAでPGを作っているのですが、

もしセル関数で発注されている場合は、何か簡単な方法を考えてみまっす!!

2016年03月07日

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

Mini Be

大野さん

ご返信ありがとうございます。

自分は今は、公式ページのビデオで使用している「if done+oco」のサンプルファイルを元に条件合致の部分だけを替えて作っています。

売買のロジックは簡単で平均線の交差でドテン売買するようなものです。

新規発注はすぐにできましたが、反対のサインが出た時に返済発注と新規発注をほぼ同時に行いたいのですが、今悩んでいます。

そして返済注文ですが、、、

新規注文し約定した建玉を返済する必要があるので(自動売買と同時に手動で裁量でもトレードしていますので)、自動売買で約定した建玉を指定する必要があるのですが、過去のディスカッションを読んでいて、「建玉番号」「建玉枝番号」で認識すればよいのですね?

なかなか実践に入らないと動きがつかめないので脳内トレードばかりです(笑)

エクセルは今はサンプルシートなのでセル関数でやっていますが、自分はVBAの方が得意(上級と自負しています(^_^;))なのでその方がありがたいです。

大野様さんの時間の空いているときで結構ですのでお付き合いのほどよろしくお願いいたします。

2016年03月07日

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

Ryo Ohno

beさん

 

返信が遅くなってしまい、大変申し訳ありません。

VBAお得意ですかっ!!

それは良かったです。

 

手動でも取引されてるとなると、少し面倒ですが、

beさんの言われておりますとおり、建玉番号、建玉番号枝番を指定して、

対象のポジションを指定してあげるのが一番いいと思います。

 

 

自分はOrderCenterと言うクラスを作成し、

そこでオートネッティングや、複数ロジックの売買の打消しなどを行っています。

 

OrderCenterの中身を書き始めたらキリがなくなったので(^^;

beさんのやられたいことと、照らし合わせて書きたいと思います。

必要な部分があれば、ソースコードを書きたいと思いまっす♪

 

 

 ※前提

 ※RSSでの発注分はメモにRSS分とわかるコメントを入れておく

 ※手動発注分と区別するため

 

1.現在のポジションを取得するシートを作成し、そこにポジション情報を取得

 

2.発注が発生した時に、反対ポジションが(買い発注の場合は売りポジション)あれば、

  反対ポジションの建玉番号を指定して、決済

 

  ○VBAで発注される場合

   1.Forで、ポジション情報を頭から回して、メモをみながらRSSで建てたポジションを探す

   2.反対ポジションであれば、ポジション情報(建玉番号、建玉枝番、ポジション数)を取得

   3.上記情報を元に、VBAで反対売買の発注を行う

  ○セル関数で発注される場合

   1.Lookupで、買い売りの各々のポジション情報(建玉番号、建玉枝番、ポジション数)を取得するセルを作っておく

   2.反対ポジション情報があれば(空白以外)、反対ポジションがあるとして、上記ポジション情報を元に反対売買

 

3.本来の発注を処理

 

 

オートネッティングを考えずに、ドテンをするにはこれが一番簡単だと思います。

もし今後ためにオートネッティングまで考慮を入れる場合は、

2番の反対売買を行う際は、

反対売買用発注数 = 反対ポジション数 - 本来の発注数 で発注を行い

3番の本来の売買を行う際は、

本来の売買用発注数 = 本来の発注数 - 2番の反対売買で発注された数

と発注の数を変更することで、オートネッティングと同じ処理が行えると思いまっす!!

2016年03月07日

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

Mini Be

大野様

お忙しいところ詳細を書いていただきありがとうございます。

1.2.3とも私の考えていたロジックとほぼ同じで安心しました。

やはりRSSでの自動売買のポジションを別シートから探し出す必要があるんですね(当たり前か!)

私の場合は単純なドテン売買なのでシンプルな1.2.3のロジックでまずはチャレンジしたいと思います。

でも明日から出張なんですね~~。

うまくいきましたらまたご報告させていただきます。

あとひとつ、、、

RSSの自動売買はシート関数中心よりもVBAで回す方がやはりスピード的に速いでしょうか?

特に計測されてなくても体感的にVBAの方が早いのであればサンプルシートを完全にVBA版に変更しようと思いますが

2016年03月07日

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

Ryo Ohno

beさん

手動での売買分が無けれは、

建玉番号を指定せずに、古い順から決済とすれば良いので、

探す必要がなくなって、ものすっごく簡単になるんですが・・・(^^;

もし、何かソース等が必要な時はまたご連絡くださーい

またVBAとセル関数との差ですが、

測定したわけではないので、正確な知識ではないのですが、

速度的にはあまり変わらない気がします。

officeの仕組みを考えても、処理に差もないですし・・・

自分はセル関数じゃないと動かないRSSの関数以外は、

全て、VBAでやっています。

理由は、速度と言うより細かい処理などが、やっぱりVBAの方がやりやすいので・・・

2016年03月07日

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

Makoto Kurasawa

【ロックしているが発注されてしまう】

使用しているファイルはHP上にある、

岡三RSS活用術

http://www.okasan-online.co.jp/ont/use/rss/movie/order.html?id=iNgesN9r5ss

にある

「ナイトセッション」で岡三RSSを活用した取引手法解説シリーズ 総論 【第4回】前編

のサンプルシートで

ファイル名:ifdaneOCO+時間決済サンプル

の「一般注文」を1つのファイルでの複数使っています。

c2にある発注ロックを別のシートの注文が約定済になった場合、

ロックが解除し、注文する設定にしていますが、

ロックされた状態なのに勝手に注文してしまう状態です。

c2の関数は以下の通りです。

=IF(ISERROR(b①新買!C7),0,IF(b①新買!C7=″約定済″,1,0))

*b①新買!はシート名です。

また、対応策として、注文関数で下記のようにしてみましたが、

こちらもロック中に注文してしまいました。

=IF(b①新買!C7=″約定済″,fneworder(C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26),″Locked″)

第1引数 先物コード

第2引数 限月

第3引数 取引種類

第4引数 建玉番号

第5引数 建玉枝番号

第6引数 売買区分

第7引数 執行条件

第8引数 単価

第9引数 数量

第10引数 注文確認

第11引数 完了メッセージ

第12引数 注文画面

第13引数 パスワード

第14引数 発注ID

第15引数 有効期間区分

第16引数 メモ

第17引数 発注条件

第18引数 発注単価

以上です。ご確認をして頂き、

ご対応して頂ければ幸いです。

何卒、よろしくお願いします。

2016年03月07日

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

Makoto Kurasawa

【ロックしているが発注されてしまう】

使用しているファイルはHP上にある、

岡三RSS活用術

http://www.okasan-online.co.jp/ont/use/rss/movie/order.html?id=iNgesN9r5ss

にある

「ナイトセッション」で岡三RSSを活用した取引手法解説シリーズ 総論 【第4回】前編

のサンプルシートで

ファイル名:ifdaneOCO+時間決済サンプル

の「一般注文」を1つのファイルでの複数使っています。

c2にある発注ロックを別のシートの注文が約定済になった場合、

ロックが解除し、注文する設定にしていますが、

ロックされた状態なのに勝手に注文してしまう状態です。

c2の関数は以下の通りです。

=IF(ISERROR(b①新買!C7),0,IF(b①新買!C7=″約定済″,1,0))

*b①新買!はシート名です。

また、対応策として、注文関数で下記のようにしてみましたが、

こちらもロック中に注文してしまいました。

=IF(b①新買!C7=″約定済″,fneworder(C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26),″Locked″)

第1引数 先物コード

第2引数 限月

第3引数 取引種類

第4引数 建玉番号

第5引数 建玉枝番号

第6引数 売買区分

第7引数 執行条件

第8引数 単価

第9引数 数量

第10引数 注文確認

第11引数 完了メッセージ

第12引数 注文画面

第13引数 パスワード

第14引数 発注ID

第15引数 有効期間区分

第16引数 メモ

第17引数 発注条件

第18引数 発注単価

以上です。ご確認をして頂き、

ご対応して頂ければ幸いです。

何卒、よろしくお願いします。

2016年03月07日

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

Yixiang Gu

みなさん、はじめまして、非常な困った問題にありまして、こちらに助けに求めました。T.T

新規注文発注後、新規取消を実行した時に「単価が正しくありません」(新規注文時)、「注文番号が正しくありません」(新規取消時)のエラーメッセージが出ます。(セル内に正しい単価や発注番号が入っていることは確認済み)

発注IDをすぐ変えて同じ動作を行うと正しく新規注文や新規取消注文が発注されます。

どのような原因が考えられますでしょうか?

2016年04月07日

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

Ryo Ohno

Guさん、初めましてっ!!

おーのと申します、よろしくお願い致しまっす♪

>新規注文発注後、新規取消を実行した時に「単価が正しくありません」(新規注文時)、

>「注文番号が正しくありません」(新規取消時)のエラーメッセージが出ます。

>(セル内に正しい単価や発注番号が入っていることは確認済み)

こちらは、

1.新規注文・・・・・・・OK

2.新規取消注文・・・エラー(注文番号が正しくありません)

3.再新規注文・・・・・エラー(単価が正しくありません)

と言うことでしょうか?

また

>発注IDをすぐ変えて同じ動作を行うと正しく新規注文や新規取消注文が発注されます。

とありますが、こちらは、上記の1,2,3すべて同じ発注IDで、

試しに、1,2,3の発注IDを変更してみたら、正しく動作した

と言う事になりますでしょうか?

もし、上記の通りであれば、

発注IDは連続して新規注文が飛んでしまうことを防ぐための機能で、

岡三RSSが一度使った発注IDを覚えておいて、同じ発注IDが来たらエラーする形で連続発注を止めています。

※毎回、発注IDを変えさせることにより誤発注を止めている。

ですので、発注IDを、1,2,3で毎回違うIDを使用する事で正常に発注できるようになったことは、

正常な動きとなりまーす。

1つ気になるのは、確か同じ発注IDを使ってしまったときは、

『発注IDが不正です』的なメッセージだった気がします。(遠い記憶で・・・

2016年04月07日

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

Yixiang Gu

大野様

いつもご丁寧なコメントを拝見しています。

お忙しい中、速やかなご回答ありがとうございます。

説明が下手で申し訳ございませんが、

新規一回目の時はダメで、その後注文IDだけを変えて、発注できるようになりました。

新規取消注文も同じ現象、注文番号が正しいのを入れているのに、「注文番号が正しくありません」というエラーが出てきて、その後、なにも触らず注文IDを新たな注文IDを入れると、正しく注文取消されます。

完全自動売買システムを目指しているので、そこだけが解決できればシステム完成になりますが。。とても困っています。成行にしたら問題解決だが、成行にするわけにもいかないし。。

2016年04月07日

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

Ryo Ohno

Guさん

一回目だけ、必ず発注がよくわからない理由で止まるっていうことなんですね・・・

エラーメッセージが違ったので、もしかしたら違うかもと思ったらやはりですか・・・(^^;

何も変えずに、発注IDだけ変えて、正しく発注できるなら何かありそうですね。

ちなみに、発注は先物でしょうかー?それとも現物でしょうかー?



発注はVBAからでしょうか、セル関数でしょうか?

もし先物なら、自分も家で試してみまっす。

ちなみに、以下の環境だと、自分と同じ環境ですので、とりあえずは動くと思いまーす。

office:2010 or 2013

商品:先物

発注方式:VBAから

なんとか、完全自動売買完成させたいですね♪

2016年04月07日

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

Yixiang Gu

大野様

OFFICEは2013です。

商品は先物です。

発注はVBAでセルの発注ロックを解除する形なんですが、セル関数から発注になっていますね。サンプルシート(If done OCO + 時間決済)を参考して作成したもの。

ご丁寧にありがとうございます。とりあえず成行でテスト実行中。。♪

2016年04月07日

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

Yuichi Mori

こんにちは。

先物にて今日出した新規注文を

翌日の9時の寄成で発注したいと考えております。

残念ながら、岡三rssの先物には寄成注文がございません。

翌日の9時に成行で決済するとなると、

翌日の3時引け後に成行注文を出すしかないと思うのですが、

今日が3/1,翌日が3/2の場合、

今日の時点で関数「today()+1 +8:00」で指定すると3/2 8:00となり、

一見良さそうにみえるのですが、

翌日になると、3/3 8:00となり思ったような発注にはなりません。

今日の時点で「today() +8:00」にすると、

3/1 8:00 成行注文となり、即注文となってしまいます。

翌日の9時の寄成で発注したい場合、

どのように条件式を書けばよろしいのでしょうか?

ご教示のほど、よろしくお願いいたします。

2016年05月07日

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

Ryo Ohno

Moriさん

初めましてっ!!

 

大野と申します、よろしくお願い致しまっす!!

 

VBAで発注をするのが一番だと思いますが、

もし、セル関数だけで、8:00で成行注文を出されたいのであれば、

こんなやり方はいかがでしょーかー?

 

・8:00になったときに、前日以前の建玉日のポジションを探して決済

 

もし、全数決済で無くポジションの一部であれば、

前日以前の建玉日のポジションという条件にプラスして、対象の建玉の条件を追加したら、

大丈夫と思いまっす!!

2016年05月07日

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

Yuichi Mori

大野さん、ご回答ありがとうございます。

質問がわかりづらくてすみません。

今回の件は、今日の時点で翌日8:00に行う寄成決済の注文を行いたいと考えております。

翌日になった時点で注文を行いたい場合の条件式はわかっております。

よろしくお願いいたします。

2016年05月07日

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

Ryo Ohno

Moriさん

 

こちらこそ理解力がなくてすみません。(^^;

Moriさんの例ですと・・・

 

3/1の発注を行ったポジションを、3/2の3:16~8:59(予約期間中)にセル関数のみで

成行発注する方法を知りたい(3/2の寄成で約定させたい)

 

ということでしょうかー?

間違ってたらすみません・・・m(_ _)m

 

まず、Moriさんがおっしゃられてます通り、

指定した時間に発注させる的な、

注文を事前に予約しておくことは岡三RSSでは、確かできなかったため、

この場合ですと、3:16~8:59の間に成り行き注文を実行させる必要があります。

 

セル関数で、時間を扱う場合は、Now()というものがありますので、

これを使用することにより、現在時間を取得することができまーす。

 

あとはこれを利用して、決済発注の条件に・・・

=IF(HOUR(NOW()) = 8,FNEWORDER(・・・・)

のような指定しますと、その決済発注は8:00~8:59の間だけ動作する関数になります。

 

あとは、決済対象のポジションを探す条件を追加すると、いけると思いまっす!!

 

 

また、要注意点としては・・・

Now()関数は、Excelの仕様上何か計算や表示が走らないと更新されません。

※更新がかからないとファイルを開いた時間が永遠に出続ける。

 

通常は更新にVBAを使うのですが、

ありがたいことに、岡三RSSで表示が更新されるような関数を入れておくと、

再計算が走り、Now()が引きずられて更新されます。

不要でも『=FBOARD(″N225″,″0″,″気配値5″)』や『=FBOARD(″N225″,″0″,″売気配数量5″)』などを登録しておくと、

Now()が自動で更新され続けます。

 

 

というような感じはいかがでしょーか?

もし、また質問を勘違いしていましたら、ご容赦ください。

2016年05月07日

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

Yuichi Mori

大野さん、ご回答ありがとうございます。

なるほど。このような方法がありましたか。

この方法ですと、日付に左右されずに

時間のみの管理で実行させることが可能ですね。

先ほど、検証を行ったところ実行できそうな兆しがございました。

また、注意点も記載頂きありがとうございます。

この点に関しましては、岡三rssのサンプルファイルにございました、

TimeForDakokuを利用させて頂きます。

この度はご教示頂きありがとうございました!

2016年05月07日

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

Ryo Ohno

なんとかなりそうですか・・・

お役に立てたようで、よかったです♪

サンプルファイルに時間を出すVBAがあるんですねー

だったら、そっちの方を利用されたが、絶対に良いと思いまっす!!

2016年05月07日

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

岡三RSSファンページ<公式>

以下質問について代理で質問箱に記入します。

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

岡三RSSを用いて、日経先物や個別株の自動売買を検討しております。

具体的には、CANDLE関数により取得した4本値に対して演算を行い売買やそれに至るまでの各種判定を行う事を検討しております。

それに関連しまして、下記質問に対してご教授頂けないでしょうか。

<質問1>

CANDLE関数によって、例えば300本分のローソク足が定期的に更新された時に各ローソク足に対して、演算を行うとかなりの負荷になってしまいます。

そのため、初回(起動時など)のみ全足に対して演算を行い、以降は更新された足のみに対して演算を行いたいと考えているのですが、その様な事をやる良い方法を教えて頂けないでしょうか。

確定したローソク足に対しては、再度演算する必要がないアルゴリズムとなっております。

シート上に記述する方法でもVBAで記述する方法でも構いません。

<質問2>

4時間足のデータを扱いたいのですが、1時間足のデータを加工して4時間足のデータを作成するサンプル等をお持ちではないでしょうか?

以上、お手数をお掛けいたしますが、ご回答の程よろしくお願い申し上げます。

2016年06月08日

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

Ryo Ohno

><質問1>

>CANDLE関数によって、例えば300本分のローソク足が定期的に更新された時に各ローソク足に対して、

>演算を行うとかなりの負荷になってしまいます。

>そのため、初回(起動時など)のみ全足に対して演算を行い、

>以降は更新された足のみに対して演算を行いたいと考えているのですが、

>その様な事をやる良い方法を教えて頂けないでしょうか。

>確定したローソク足に対しては、再度演算する必要がないアルゴリズムとなっております。

>シート上に記述する方法でもVBAで記述する方法でも構いません。

演算をVBAでやられているか、

セル関数でやられているかわからないので、

何とも言えないのですが、

 

負荷がかかる演算ということで、VBAを使用されているという仮定ですが・・・

 

1.初回時の演算はVBAで実行させる。

  ※ThisWorkbookに『Workbook_Open』というイベントを作成すると、

  ※起動時のみの動くイベントになります。

2.Workbook起動後はタイマを利用して、先頭行のみ再計算をさせる

 

とすると、初回のみ全行計算を行い、

その後は先頭行(最新行)のみ計算がかかる形にできると思います。

 

 

><質問2>

>4時間足のデータを扱いたいのですが、1時間足のデータを加工して4時間足のデータを作成するサンプル等をお持ちではないでしょうか?

>以上、お手数をお掛けいたしますが、ご回答の程よろしくお願い申し上げます。

サンプルを作るのは簡単なんですが・・・

どうやって渡したらいいんだろう・・・(^^;

2016年06月09日

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

岡三RSSファンページ<公式>

以下質問について代理で質問箱に記入します。

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

先物期近で以下のような文をRSS、もしくはVBAで新規発注するにはどのように表記すればよろしいのでしょうか?

if 14:00の値>14:30の値 即(14:30)成行新規発注

もし、先物期近の14:00の値が14:30の値よりも大きければ14:30の時点で新規成行発注。

ご教示のほど、よろしくお願いいたします。

2016年06月08日

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

Ryo Ohno

>先物期近で以下のような文をRSS、もしくはVBAで新規発注するにはどのように表記すればよろしいのでしょうか?

>if 14:00の値>14:30の値 即(14:30)成行新規発注

>もし、先物期近の14:00の値が14:30の値よりも大きければ14:30の時点で新規成行発注。

>ご教示のほど、よろしくお願いいたします。

VBAを使用せずにセル関数のみでやるということですと・・・

1.FCANDLEで、1分足の時間と始値を取得する

  A列・・・=FCANDLE(″N225″,″0″,″1″,″1″,″約定時刻″,A2,″D″,″0″)

  B列・・・=FCANDLE(″N225″,″0″,″1″,″1″,″始値″,B2,″D″,″0″)

2.発注の関数にIFで条件を入れる

  =IF(B1<B30, FNEWORDER(・・・・),″未発注″)

  14:00 > 14:30 の条件が、実際のところ、30分前より価格が落ちていたら・・・

  ※14:01 > 14:31でも14:31に発注を行う

  というロジックでしたら上記でよいと思います。

  または、14:30に発注と決めうちでしたら

  =IF(VLOOKUP(TIMEVALUE(″14:00:00″),A2:B50,2,FALSE)<=VLOOKUP(TIMEVALUE(″14:30:00″),A2:B50,2,FALSE), FNEWORDER(・・・・),″未発注″)

  などとすると、取得できます。

2016年06月09日

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

岡三RSSファンページ<公式>

以下質問について代理で質問箱に記入します。

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

岡三オンラインに口座を持つゆ~ちゃんと申します。

お忙しいところ恐縮ですが、岡三RSSについてご質問をお願いします。

岡三オンライン証券提供の先物サンプルファイルを拝見したところ、Excelの各セルにパラメータを入力し、norder = FNEWORDER(C1,C2,C3,,,,,)という形を取っていましたが、何とか岡三RSS+VBAマクロに直接パラメータを書き込んで、VBAを実行すれば先物(日経225mini)の注文を出すようにしたいと思い、VBAを組んでいます。

岡三RSSの関数マニュアル・P7にVBAを使っての日本株の発注方法が掲載されています。

(関数マニュアル・P7のVBAそのまま)

Public Sub 日本株注文()

Dim norder As String

norder = NEWORDER(″8609″, ″″, 3, 0, 0, 1000, ″T″, ″″, ″0″, 0, 0, ″″, ″N001″)

Call MsgBox(norder)

End Sub

上記VBをエクセルのモジュールに張り付けると特に問題なく動作するようなのですが、

上記VBを参考に先物FNEWORDERで置き換えて試してみると、例えば下記のように書くと

Public Sub 先物注文()

Dim norder As String

norder = FNEWORDER(″N225mini″,″201606″,1,″″,″1″,3,12,0,1,1,1,1,″1234″,″N225mini001″,1,″″,,,)

'日経225先物mini、2016年6月限、新規取引、建玉番号ブランク、建玉枝番号1、売買区分買い、'執行条件成行(FOK)、単価成行、数量1、注文確認なし、完了メッセージなし、注文画面なし、 'パスワード1234、発注ID N225mini001、有効期限1、メモなし、発注条件なし、発注単価なし

Call MsgBox(norder)

End Sub

必ずnorder = FNEWORDER(....)の一行が赤いエラーになり、「コンパイルエラー: 修正候補:式」というエラーメッセージが出てしまいます。

パラメーターの記載ミスか、大文字小文字とか確認したのですが、

こんなにシンプルなテスト用VBなのにエラーの原因が掴めません。

先物サンプルファイルのように、Excelの各セルにパラメータを入力し、norder = FNEWORDER(C1,C2,C3,,,,,)という形を取らなければうまく行かないのでしょうか。上記先物のVBAはどこが悪いのか、アドバイスいただければ誠に幸いです。

お忙しいところ恐縮ですが、なにとぞご教授をお願いいたします。

(環境)

Windows8.1

Excel2013

岡三RSS 運転中確認

自動発注ボタン ON

2016年06月08日

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

Ryo Ohno

>必ずnorder = FNEWORDER(....)の一行が赤いエラーになり、「コンパイルエラー: 修正候補:式」というエラーメッセージが出てしまいます。

>パラメーターの記載ミスか、大文字小文字とか確認したのですが、

>こんなにシンプルなテスト用VBなのにエラーの原因が掴めません。

>先物サンプルファイルのように、Excelの各セルにパラメータを入力し、norder = FNEWORDER(C1,C2,C3,,,,,)という形を取らなければうまく行かないのでしょうか。上記先物のVBAはどこが悪いのか、アドバイスいただければ誠に幸いです。

 

FNEWORDER関数の第15引数以降の引数はオプショナル(省略可能引数)なっていますので、使用されない場合は

 

norder = FNEWORDER(″N225mini″,″201606″,1,″″,″1″,3,12,0,1,1,1,1,″1234″,″N225mini001″,1,″″,,,)

                      ↓

norder = FNEWORDER(″N225mini″,″201606″,1,″″,″1″,3,12,0,1,1,1,1,″1234″,″N225mini001″,1,″″)

 

のように『,』自体削除すると動くようになると思いますっ!!

2016年06月09日

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

岡三RSSファンページ<公式>

以下質問について代理で質問箱に記入します。

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

お世話になります。

岡三RSSを利用した市販のエクセルベースの自動売買ソフトのUWSCでの完全自動化で苦労しています。

まずそのソフト(.xlsm)を普通に手動で起動(excel2013)しますと、岡三RSSのアドインでの接続するより日経225先物とTopix先物の価格、板が表示される仕様になっています。

これをUWSCで自動起動させると、なぜかデータが取り込まれないのです。

起動の仕方が異なるだけなのですが……

なお、UWSCで起動すると「このブックには外部リンクが……」のポップアップがでてきますので、スクリプト上のopenするコマンドにupdatelinks=3の引数を加えて起動時に「更新」するようにしています。

(そもそも手動起動だとこのポップアップがでないのも不思議に思っています。)

何かお気づきの事がありましたら教えて下さい。

よろしくお願いいたします。

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

※UWSC等の外部ソフトウェアの利用は、当社が推奨するものではありません。

2016年06月09日

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

Ryo Ohno

>なお、UWSCで起動すると「このブックには外部リンクが……」のポップアップがでてきますので、

>スクリプト上のopenするコマンドにupdatelinks=3の引数を加えて起動時に「更新」するようにしています。

>(そもそも手動起動だとこのポップアップがでないのも不思議に思っています。)

>何かお気づきの事がありましたら教えて下さい。

UWSCでどのようにExcelを起動されているかによりますが、

COMを利用して、起動されていませんでしょうか?

CREATEOLEOBJを使用して、Excelを起動されいたら、COMを使用しています。

COMを使用すると、Excelの仕様上動かないアドインがあります。

COMを使用せずに、Excel.exeを直接起動し、引数で動かしたWorkbookを指定する形だと

アドインが正常に動作すると思います

RSS2になってUWSCは使わなくなったので、実験はしていませんが・・・

exec(″Excel.exe /x c:\aaaaa\zzzz.xlsm″)

こんな感じなら動かせると思いまっす!!

2016年06月09日

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

すべての投稿を表示する

to_top
to_top

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

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

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

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

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

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

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