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

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

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

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

岡三オンライン証券

【旧版】岡三RSS質問箱

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

2011年11月25日

Yagi

最近楽天RSSさんのサービスの登場なども相まって、VBAマクロの開発のご依頼を受けることが出てきました。

私自身、開発者としてVBAマクロを組む側の立場なのですが、動作の確認などをするにあたって実口座を開設し、現金での売買を行わないと動作確認は出来ないのでしょうか?

顧客数の増加に伴いVBAマクロの作成を依頼されるお客様は増えていき、開発を代行できる環境が整っていれば更に増加傾向は続くのではと思いますが、作成を代行するにあたり開発する側の対応を教えていただけませんでしょうか?

2014年09月07日

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

Ryo Ohno

Yagi Shinichiさん、始めまして

大野と申します。

よろしくお願いします。

自分も作成をお願いされるのですが、テストは自分の口座で行なっています。(^^;

大体の動きを見るときは、わざと約定をしない金額で行ったり、

自分は発注用のクラスを作成していますので、そいつをテストモードなどにして、

テストしています。

テスト用の環境あると良いですね。

2014年09月07日

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

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

Yagi Shinichi 様

ご質問いただきありがとうございます。

>最近楽天RSSさんのサービスの登場なども相まって、VBAマクロの開発のご依頼を受けることが出てきました。

>私自身、開発者としてVBAマクロを組む側の立場なのですが、動作の確認などをするにあたって実口座を開設し、現金での>売買を行わないと動作確認は出来ないのでしょうか?

大変申し訳ございませんが、岡三RSSではお客様向けのテスト環境(デモ口座)はご用意しておりません。

動作の確認にあたっては本番口座で行っていただくことになりますことをご了承ください。

2014年09月07日

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

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

お客さまからの質問を代理で質問箱に記入させていただきます。よろしくお願いいたします。

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

N225サンプルシートを参考にして若干の変更をしたいと考えております。

決済についてですが、分割返済(最大7回)にて決済(利食い/損切り)を行うようにしたいのですが

どう付け足し直したら良いのかお教え下さい。

尚、サンプルシートでは利食い/損切りが%ベースになっていますが、

建て単価 +/- XX円にしたいのですが合わせてお教えいただければ助かります。

宜しくお願いします。

2014年09月07日

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

当質問コーナー質問投稿の仕方が分からず昨日付けで代理質問させて頂いておりました。

このページの下欄にあった質問箱の記入箇所が今になり分かりましたので再度質問をさせていただきたく思います。

N225ミニの裁量トレードをしています。

ダウンロードしたサンプルシートに変更を加えたら良いと考えていますが私には全く歯がたちません。

可能であれば代行も含め、お教え下されば助かります。

主な変更したい箇所は;

返済注文はOCOです、但し;

1.新規建て玉が出来たら即分割返済注文をしたい 最高で7回

  建て単価に+/- XX円  ( +/- XX円は新規注文の前に任意に設定可能としたい)

2.1.と同時に損切り注文をしたい

  建て単価に+/- XX円   ( +/- XX円は新規注文の前に任意に設定可能としたい)

  損切り価格の変更 :一回目の分割返済が完了した時点で既に設定済みの損切り値を建単価と同額に変更したい

  上記1. 建て玉保有中の価格変更も出来たら尚便利と思ってます

3.両建ても可能にしたい

4.時間切れになった建て玉は大引け決済したい(難しいのならば全てキャンセルして手入力でもと思います)

5.新規注文は裁量で判断し 寄り成り、指値、逆指値としたい

マクロの全くのシロウトです。

もし不適切な質問がありましたらお詫びします。

何卒宜しくご指導下さい。

2014年09月07日

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

Ryo Ohno

Masaei Higuchiさん

はじめましてっ!!

大野と申します。よろしくお願い致します。

サンプルシートとはどちらのシートをお使いでしょうか?

教えて頂けると、何かしら、お手伝いができるかもしれません。

内容としては・・・

1.決済は最高で7分割

2.決済金額は、最大で7種類設定したい

例) 15000円で建てたときに

1:+50円

2:+100円

3:+150円

4:+200円

3.損切りは1種類で、円で指定したい

4.もし、1回利確したら、建値まで、損切り価格を引き上げて、負けないようにしたい

5.両建てでエントリすることもあり、各々に上記の設定がしたい

6.場の状況で、上記の価格は変更したい

7.大引けで、全建玉を決済したい

という感じでしょうか・・・

2014年09月07日

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

Ryo Ohno さま

早速ありがとうございます。

サンプルシートは岡三RSSのマニュアル → サンプルファイルダウンロードのページ → 先物サンプル

(日経225先物・miniのクォート、板、四本値、歩み値、注文の5シートを掲載)

です。

ひとつ書き忘れていたことがありました;

分割返済する枚数も指定出来るようにしたい。

他については大野さんの上記記載の通りです

ありがとうございます。

2014年09月07日

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

Ryo Ohno

Masaei Higuchiさま

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

サンプルシートみましたっ!!

文字だけで説明するとものすごく大変なのですが、頑張ってみます(笑

VBAを使うと、簡単なのですが、一応セル関数だけでもできそうです。

正直、1から作ったが早そうですが・・・

いろいろと大変と思いますので、

サンプルシートを改造するという方式で、説明させて頂きます。

利確、損切用の発注のリストと、現在のポジション情報を追加することにより可能と思います。

ポジション情報

A47・・・=FOPPOSITION(″売買″,A48)

B47・・・=FOPPOSITION(″数量″,B48)

C47・・・=FOPPOSITION(″建玉単価″,C48)

B51・・・=SUMIFS(B48:B50,A48:A50,″買″)

C51・・・=VLOOKUP(″買″,A48:C50,3,FALSE)

B51は現在、買いで持っている建玉の合計枚数が出ます。

発注直後は、発注した枚数と同数が出ています

C51は、買いで発注したときの約定額が表示されます。

57行目以降は、利確用の7つの設定をします。

B37にある決済用のIF文変更したものを、7つ用意し、各々に金額を設定出来るようにします。

A56・・・1つ目の決済のための+/-値

B56・・・=$C$51+A56 (決済判断金額 実際に決済を行う金額です)

C56・・・その金額で決済したい数量

D56・・・発注ID

E56・・・=IF(B39>B56,fneworder(C5,C6,C29,C8,C9,C30,C31,C32,C56,C14,C15,C16,C17,D56),″未発注″) 決済のための条件

これで、建時の金額にA56で追加した金額を超えたら、発注関数が動きます。

D56で発注IDを指定しているので、いったん、決済判断金額を超えて、下落して

再度、決済判断金額を超えても発注は掛かりません。

上記の56行目をコピーして、2~7の発注条件を作成してください。

67行目以降は、損切り用の設定をします。

A67・・・損切りのための+/-値

B67・・・=IF(C13=B51,$C$51+A67,$C$51)

C67・・・=B51

E67・・・発注ID

F67・・・=IF(B39<B67,fneworder(C5,C6,C29,C8,C9,C30,C31,C32,C67,C14,C15,C16,C17,D67),″未発注″)

B67は

C13(建玉数) とB51(現在のポジション数)が同じ場合は、

約定額から、損切りのための+/-値を加減した金額となります。

もしC13(建玉数) より B51(現在のポジション数)が少ない場合、

(一度でも利確決済した場合)、約定額になり、損切の金額が約定額に切りあがります。

72行目以降に引成の設定をします

A72・・・=NOW()

B72・・・=IF(TIME(15,10,0)>TIME(HOUR(NOW()),MINUTE(NOW()),SECOND(NOW())),″RS″,″PC″)

C72・・・=B51

E72・・・=IF(B72=″PC″,fneworder(C5,C6,C29,C8,C9,C30,5,C32,C72,C14,C15,C16,C17,D72),″未発注″)

この例ですと、B72が、15:10過ぎたらPCと変わりますので、

ここでポジションの決済が走ります。

売りポジションは上記の設定の反対バージョンを作って頂けると大丈夫と思います。

また、これは、このRSSで建てたポジション以外の、先物のポジションが無いことが前提となっています。

もし、他のポジションを考慮する場合、もう少し複雑となります。

文字だけで大変わかり辛いと思いますので・・・(^^;

ご不明な点が何かあれば、ココでも直接メッセージでも構いませんので、お気軽にご連絡くださいっ!!

2014年09月07日

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

Ryo Ohno

改行が飛んでる・・・(^^;

見つらいと思いますが、ご容赦ください。

2014年09月07日

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

Ryo Ohnoさん

早速ありがとうございます。

とりあえずサンプルシートに落とし込んでみます。

ご親切感謝です。

2014年09月07日

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

Ryo Ohno

うまく行くことを祈っておりますっ!!

2014年09月07日

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

Ryo Ohno さん

新規売り→買返済 のOCO返済の書き込みしてみました

これでいいのでしょうか、一度見て下さり、お教えくださればありがたいです。

A77 =FOPPOSITION(″売買″,A78)

B77 =FOPPOSITION(″数量″,B78)

C77 =FOPPOSITION(″建玉単価″,C78)

C81 =VLOOKUP(″売″,A78:C80,3,FALSE)

A86 利確値幅 手記入 (1回目)   

B86 =$C$81-A86

C86 数量(入力)

D86 発注ID

E86 =IF(B39>B86,fneworder(C5,C6,C29,C8,C9,C30,C31,C32,C86,C14,C15,C16,C17,D86),″未発注″)

その後返済回数に応じて繰り返し

損切り

A97 損切り値幅

     (例えば50円逆行したら損切りしたい場合ですが 50円と記入ですか? -50円と記入となりますか?)

B97 =IF(C13=B81,$C$81+A97,$C$81)

C97 =B81

E97 発注ID

F97 =IF(B39<B97,fneworder(C5,C6,C29,C8,C9,C30,C31,C32,C97,C14,C15,C16,C17,D97),″未発注″)

引け成り

A102  =NOW()

B102 =IF(TIME(15,10,0)>TIME(HOUR(NOW()),MINUTE(NOW()),SECOND(NOW())),″RS″,″PC″)

C102 =B81

E102 =IF(B102=″PC″,fneworder(C5,C6,C29,C8,C9,C30,5,C32,C102,C14,C15,C16,C17,D102),″未発注″)

  

以上です

特に計算式の中の

> or <,

+ or -,

がこれで良いのか?

又損切り幅 入力の際 + なのか?    - なのか?

お忙しいところ申し訳ありません。

是非お教え下さればありがたいです。

2014年09月07日

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

Ryo Ohno

Masaei Higuchi さん

こんばんわっ!!

大野です。

今、会社ですので、家に帰ってゆっくり見て見ます。

>特に計算式の中の

>> or <,

>+ or -,

>がこれで良いのか?

>又損切り幅 入力の際 + なのか?    - なのか?

すみません、確かにです。

肝心なことを書き忘れていました。(^^;

ちなみに、Higuchiさんは

『損切りは-で入れたがわかりやすい』

とかありますでしょうか?

もし、ありましたら、リクエスト頂けると、そのように計算式直してみます。

また、同じシートに売り用のを作成してしまうと、

買いと、売りのエントリ用の情報が1つになってしまい、

同値での両建てしかできなくなりますので、

シート自体をコピーして、そちらに売り用のヤツを作ったが良いと思われます。

2014年09月07日

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

Ryo Ohno さん

暑いですね!

お仕事お疲れさまです。

お忙しいのに早速のご連絡ありがとうございます。

1) 私は損切り幅の入力については +でも-でもどちらでも気になりません。

  決まったとおりに出来ます。

2) >シート自体をコピーして、そちらに売り用のヤツを作ったが良いと思われます

→ 是非そうしたいと思います。

    どのような作業をしたらいいのかお教えいただけますか?

    恥ずかしながらどのようにしたらいいのか分かりません、笑って下さい。

お忙しいのに色々とお世話になります。

ありがとうございます。

2014年09月07日

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

Ryo Ohno

Masaei Higuchi さん

ホント暑いです。

会社につくと汗びっしょりで、隣の女性に『こいつ汗くさっ!!』と言われてしまわないか、心配でしかない朝でした。

さて、本題です。

まとめました。

 

 

================================================

○買いの場合

A47・・・=FOPPOSITION(″売買″,A48)

B47・・・=FOPPOSITION(″数量″,B48)

C47・・・=FOPPOSITION(″建玉単価″,C48)

B51・・・=SUMIFS(B48:B50,A48:A50,″買″)

C51・・・=VLOOKUP(″買″,A48:C50,3,FALSE)

A56・・・1つ目の利益確定のための金額(+表記)

B56・・・=$C$51+A56 (決済判断金額 実際に決済を行う金額です)

C56・・・その金額で決済したい数量

D56・・・発注ID

E56・・・=IF(B39>B56,fneworder(C5,C6,C29,C8,C9,C30,C31,C32,C56,C14,C15,C16,C17,D56),″未発注″) 決済のための条件

A67・・・損切りのための金額(+表記)

B67・・・=IF(C13=B51,$C$51-A67,$C$51)

C67・・・=B51

D67・・・発注ID

E67・・・=IF(B39<B67,fneworder(C5,C6,C29,C8,C9,C30,C31,C32,C67,C14,C15,C16,C17,D67),″未発注″)

A72・・・=NOW()

B72・・・=IF(TIME(15,10,0)>TIME(HOUR(NOW()),MINUTE(NOW()),SECOND(NOW())),″RS″,″PC″)

C72・・・=B51

D72・・・発注ID

E72・・・=IF(B72=″PC″,fneworder(C5,C6,C29,C8,C9,C30,5,C32,C72,C14,C15,C16,C17,D72),″未発注″)

================================================

 

 

================================================

○売りの場合

================================================

A47・・・=FOPPOSITION(″売買″,A48)

B47・・・=FOPPOSITION(″数量″,B48)

C47・・・=FOPPOSITION(″建玉単価″,C48)

B51・・・=SUMIFS(B48:B50,A48:A50,″売″)

C51・・・=VLOOKUP(″売″,A48:C50,3,FALSE)

A56・・・1つ目の利益確定のための金額(+表記)

B56・・・=$C$51-A56 (決済判断金額 実際に決済を行う金額です)

C56・・・数量(入力)

D56・・・発注ID

E56・・・=IF(B39<B56,fneworder(C5,C6,C29,C8,C9,C30,C31,C32,C56,C14,C15,C16,C17,D56),″未発注″) 決済のための条件

A67・・・損切りのための金額(+表記)

B67・・・=IF(C13=B51,$C$51+A67,$C$51)

C67・・・=B51

D67・・・発注ID

E67・・・=IF(B39>B67,fneworder(C5,C6,C29,C8,C9,C30,C31,C32,C67,C14,C15,C16,C17,D67),″未発注″)

A72・・・=NOW()

B72・・・=IF(TIME(15,10,0)>TIME(HOUR(NOW()),MINUTE(NOW()),SECOND(NOW())),″RS″,″PC″)

C72・・・=B51

D72・・・発注ID

E72・・・=IF(B72=″PC″,fneworder(C5,C6,C29,C8,C9,C30,5,C32,C72,C14,C15,C16,C17,D72),″未発注″)

================================================

>1) 私は損切り幅の入力については +でも-でもどちらでも気になりません。

>  決まったとおりに出来ます。

両建てという事ですので、+と-が入り乱れると、分かり辛いと思いましたので、

損切り幅も+で入力する形にしてみました。

買い、売り関係なく

○○○円、利益が出たら、利確

○○○円、損失が出たら、損切

の感覚で記述ができるかなーと思いまして・・・

>シート自体をコピー

1.エクセルの『注文』シートのタブ(一番下にある、シートの名前のところです)を右クリック

2.メニューが出る

3.『移動またはコピー』を選択

4.シートの移動またはコピーウィンドウが開く

5.(末尾へ移動)を選択

6.『コピーを作成する』をチェック

7.『OK』ボタン押下

これで、『注文』シートの右に『注文(2)』と言うシートがコピーされて作成されます。

あとは、シートの名前をわかりやすい名前に変更して頂けると大丈夫と思います。

2014年09月07日

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

Ryo Ohno さま

驚きました!

こんなに早くお返事下さり感謝です。

早速シートに書き入れてみます。

出来れば明日テストしてみようと思います。

ありがとうございます。

まずはお礼のみ!

2014年09月07日

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

Ryo Ohno

Masaei Higuchi さま

すみません・・・

実際に動きのテストをしたわけではないですので、

誤作動する可能性があると思いますので、その点はご容赦ください。

2014年09月07日

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

ご心配ありがとうございます

最小枚数で気をつけてやってみます

2014年09月07日

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

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

お客さまからの質問を代理で質問箱に記入させていただきます。よろしくお願いいたします。

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

岡三RSSで信用取引の現引・現渡はできるでしょうか? できるのであればAPIを教えていただけると助かります。

2014年09月07日

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

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

上記の質問に回答させていただきます。

岡三RSSでは信用取引の現引・現渡はできません。よろしくお願いいたします。

2014年09月07日

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

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

メールにてご質問いただいた内容を転載させていただきます。

ご発注を防止するため、発注に際して必ず発注IDが必要となりますが、

VBAに関するサポートは行っておりませんので、他のユーザーの皆様より

ご回答いただければ幸いです。よろしくお願いいたします。

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

30分足での完全自動売買を目指しています。

発注IDの取り扱いがわかりません。発注IDは必ず必要なのでしょうか。

もし必要なら自動化するためには、VBAで組む必要があると思いますが、VBAの書き込みコードを教えて下さい。

2014年10月07日

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

Ryo Ohno

発注IDは必ず必要となります。

VBAでの発注のやり方ですが・・・

Call FNEWORDER(″N225″, ″201409″, ″1″, ″″, ″″, ″3″, ″0″, ″0″, ″10″, ″1″, ″1″, ″1″, ″Pass″, CStr(hODRID), ″3″, ″memo″)

hODRID = hODRID + 1 '※1

の様な形で、VBAに記述することでVBA側で発注が可能となります。

発注IDの部分ですが、

同一の発注IDでは発注が行なえませんので、

GeneralにhORDIDのような、共通で使用できる変数を作り、発注を行なう毎に※1のように変数の中身を増やしていって、

重複が起きない発注IDを生成するか、

もし、同時発注の可能性が低い場合、システム日付を発注IDにしても良いと思います。

Format(Now(),″YYYYMMDDHHNNSS″)

2014年10月07日

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

Syunichi Onuki

お答えいただき有難うございます。

VBAに詳しくありませんので、内容を良く理解するために一つ一つ勉強しながら実践に組み込めるように勉強していきます。

どうしても解からない部分はまたよろしくお願いします。

2014年10月07日

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

Ryo Ohno

Syunichi Onuki さん、はじめまして。

すみません、VBAを知ってられる方の気分で書いてしまいました。

VBAが初めてでしたら、わかり辛い点も多々あると思いますので、

もし何かありましたら、いつでもご連絡ください。

2014年10月07日

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

Syunichi Onuki

Ryo Ohno様

現役でお忙しい中、ご親切に有難うございます。

活用術のサンプルシート「if don OCO + 時間決済」を改造して、30分足の完全自動売買に挑戦しています。

関連書籍を5~6冊購入して手元に積んでいますが、歯が立ちません。

今回はサンプルシート上でExcel関数を用いて、Ohno様からいただいたアドバイスとミックスし次のように書き込んでみました。

サンプルシート   D15 =″S″&MID(NOW(),1,16)

新規発注ID =D15

返済発注ID   =″H″&MID(D15,2,16)

新規取消ID =″ST″&MID(D15,2,16)

返済訂正ID =″HT″&MID(D15,2,16)

ひとつの山場である、発注IDの自動生成と更新がおかげさまで解決しそうなので、次はサンプルシート内の3種類のVBAの解析と取り込みに移りたいと思っています。

大変助かりました。有難うございました。

2014年10月07日

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

Ryo Ohno

上手く行きそうですか、それはよかったですっ!!

がんばってください&何かありましたら、いつでもご連絡ください。

2014年10月07日

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

Syunichi Onuki

初歩的な質問ですみません。

Excel2013上でサンプルファイルをダウンロードし、自分なりの内容に変更するためコピペを繰り返しているうちに「条件注文」シートの岡三RSS関数でのセル値や「市場モニター」シートの内容が急に更新されなくなりました。

直前までExcel2003で試行しており2013に入れ替えたためか、互換性かブック内リンクあたりのExcel2013の設定を間違って変更してしまったなのではないかと苦慮しています。

サンプルシートを新にダウンロードし直しても、同じようにRSSには接続されても、内容の更新はされません。

となたかEXcel2013の同一ブック内でのシート間のリンクが有効化する状態に戻す方法を教えて下さいませんか。宜しくお願いします。

2014年10月07日

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

Ryo Ohno

Syunichi Onuki さん

こんにちわ、大野です。

何点か質問です。

・2003から2013へ入れ替えたというのは、officeを入れ替えられたのでしょうか?

それとも、Excel2003で使用していたファイルを、別のPCのExcel2013で開かれたということでしょうか?

・RSSの関数(FNEWORDERなど)の前に、『C:\Program Files~』などの文字が入ってたりしますでしょうか?

・Excel上でCtrl + S などを押してExcelファイルを保存したときに更新されますでしょうか?

2014年10月07日

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

Syunichi Onuki

大野様

早速有難うございます。大貫です。

Officeを入れ替えました。

RSS関数の前に「c:\program File~」などの文字は入っていません。

市場モニターの関数記述欄には板情報には N/A が、FCANDOLE欄には #N/A と表示されたままです。

Excel終了保存で Ctrl + S などを押したかとのご指摘ですが、していません。市場モニターは自分の作成したロジックに組み替えていますが基本的には変えていないと思います。

ただ終了時に、リンクの更新をしますか のような質問に、(しません)と応じていましたが、昨日の夜 (します)と応じたような気がします。

以上宜しくお願いします。

2014年10月07日

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

Ryo Ohno

大貫さん

了解しましたー

でしたら、もしかしたら、岡三RSS自体か、岡三RSSのアドインが認識していないのかも知れません。

『ファイル』-『オプション』-『アドイン』のアクティブなアプリケーションアドインの中に

″OSON COM Addin2″と″岡三rss″があるか確認して見ていただけますでしょうか?

もしなかったら

http://www.okasan-online.co.jp/ont/manual/ont_rss/manual.pdf

このマニュアルの、6,7ページに設定のやり方が乗っていますので、ひとまずチャレンジしていただけますでしょうか?

自分の知り合いの方も同じ状況になりまして、

最終的には、岡三RSSをいったんアンインストールして頂いて、再度インストールし直しました。

2014年10月07日

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

Syunichi Onuki

大野様

岡三RSSを再インストールしたら回復しました。

有難うございました。

ある程度自分で納得できる売買ロジックの作成に1年近くかかってしまいました。いろいろ予測屋さんとか、システム販売の業者さんのものを購入したりしましたが、時間とお金を使っても何れも納得できるものは無く、結局他人に頼らず自分で構築するしかないときずいての結果です。

途中岡三RSSのことを知り、現状ではこれに乗るしかないと思い、今は完成するのが楽しみです。

丁寧にご回答いただき感謝しています。

2014年10月07日

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

Ryo Ohno

大貫さん

復活できましたか、よかったです♪

自分は、苦節6年いまだにもがいてます・・・(笑

自分で構築したのは、バックテストの信憑性があるので、自信もって運用できますよね。

構築上手く行くことを祈ってますっ!!

また、何かありましたら、ご連絡頂けると幸いです♪

自分でわかることであれば、いつでもどれだけでもっ♪

2014年10月07日

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

Syunichi Onuki

お世話になります。大貫と申します。

建て玉の有無の確認方法についてお尋ねします。

発注用シートのある特定のセルに、現在建て玉の有無の情報を表示させる必要があります。有れば決済発注し決済注文が約定したのを確認したうえで新規発注を(原則ドテン)行いたいのです。

「活用術のサンプルシート「if don OCO + 時間決済」から使用するシートは次の通りです。VBAマクロも取り込みセル番地の修正のみ行いました。

   1.発注管理         市場モニターを改造し、30分足の売買ロジック + 発注シート(必要なような要素のみで構成)

   2.注文照会

   3.約定一覧

   4.保有

発注前に立て玉の有無を情報として取り込む方法ですが、次のExcel関数の記述で大丈夫かどうかについてチェックをお願いします。

   =if(and((保有!D4>0,保有!D4<11),1,0)

  < 保有していれば1を表示、していなければ0を表示する。 D4は数量 売買は最高で10枚まで 複数の建て玉は無し>

以上宜しくお願いします。

2014年10月07日

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

Ryo Ohno

こんにちは、大野です

>発注前に立て玉の有無を情報として取り込む方法ですが、次のExcel関数の記述で大丈夫かどうかについてチェックをお願いします。

こちらは

下の″=if(and((保有!D4>0,保有!D4<11),1,0)″の式が、

『保有シートのD4が、1以上10以下の場合、1となり、それ以外の場合0となるか?』

という質問で良いでしょうか?

それとも・・・

「活用術のサンプルシート「if don OCO + 時間決済」を見て、

『保有シートのD4て、建玉の数だろうと思うから、

保有シートのD4が、1以上、10以下って判断で、建玉の有無の判断に使えるのか?』

というものをチェックしたが良いのでしょうか?

すみません、理解力がなくて・・・(>_<。

もし、前者の場合、大丈夫だと思いますー

ただ、″(″がひとつ多いようなので、次のように変更すると良いと思われます。

=if(and((保有!D4>0,保有!D4<11),1,0)



=if(and(保有!D4>0,保有!D4<11),1,0)

もし後者の場合、落として観てみます。

2014年10月07日

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

Syunichi Onuki

大野様

お世話になります。大貫です。

すみません。後者のほうです。

宜しくお願いします。

2014年10月07日

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

Ryo Ohno

すみません・・・

遅くなりました・・・

活用術のサンプルシート「if don OCO + 時間決済」ってどのファイルになりますでしょうか?

岡三オンラインさんのサイトから、見つけれませんでした(^^;

2014年11月07日

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

Syunichi Onuki

大野様

お世話になります。 大貫です。

普通に検索サイトから「岡三RSS」で検索して頂きますと、岡三RSSの専用サイトか゛存在します。その中で活用術のビデオシ

リーズを開いて頂きますと20本くらいの活用術としての解説ビデオが収録されています。

その中に3種類のサンプルシートがありましてその最期のサンプルシートが「Ifdone OCO + 時間決済」です。ビデオシリーズ

の目次の左側にダウンロードのためのロコ゜が表示されています。その中に8枚のシートが格納されています。

そのうち 「注文照会」 「約定一覧」 「保有」 「市場モニター」 だけを自分用にコピペし、「市場モニター」を改造、改称して「発注シート」とし、その1面に発注するための30分足の4本値や必要な自分なりの売買ロジックと発注用のパネルを作成して運用を目指しています。

その後、一応の形が出来ましたので、早速本番テストを昨日行いましたが、デバックエラーがすぐ出て絶望感に浸っています。

これからひとつひとつ潰して行く先に幾多の困難が待ち受けているのやら。途方にくれています。

1.  発注IDに問題がありそうです。      桁数制限でしようか。

2.  発注関数エラーと出ます。         「引数」欄に直接Excel関数を書くとエラーとなるのでしようか。

3.  BVA構文のなかの 「Dakoku = Range(″TimeforDakoku″).Value」 が黄色に塗りつぶされデバックエラーのようで      す。

1回で全部の状況説明が出来ませんので、とりあえず今回は 1.の発注IDから質問としてお願いします。

サンプルシート内の「条件発注」シートの「新規発注」列の ″J22″ に相当するセルに 「=″S″&MID(NOW(),1,16)」と記述しています。サンプルでは引数は他のセルでデータを生成し、「引数」欄では″=″で引用しています。

まったくの初心者からの質問で申し訳ありません。宜しくお願いします。

2014年11月07日

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

Ryo Ohno

大貫様

あっわかりました。

「Ifdone OCO + 時間決済」て言う名前のシンプルがあるんじゃなくて、

サンプルの中に「Ifdone OCO + 時間決済」てシートがあるんですね。

家に帰って、DLして見ます。

さて、ご質問の件ですが・・・

>1.  発注IDに問題がありそうです。      桁数制限でしようか。

「=″S″&MID(NOW(),1,16)」だけですと、桁数は大丈夫そうな気がします。

もしご心配であれば、

『=″S″&TEXT(NOW(),″YYYYMMDDHHmmSS″)』

これに切り替えて頂けると、1秒以内に複数の発注がない場合、桁数を減らせると思います。

自分は上記のヤツに、ミリ秒まで付加した桁数で、問題なく発注できていますので、

もしこれで発注できれば、桁数という問題点は潰せると思います。

そのほかの原因としては、

発注IDが更新されていない可能性があり、同じ発注IDが使用されて、エラーとなっている可能性があります

VBAではなくセル上で、発注IDを作成されていますので、

再計算が掛かるまでは、発注IDの値は変わりません。

例) 岡三RSSをあげていない状態で、「=″S″&MID(NOW(),1,16)」を入力しても、編集などしないと、値が更新されない

岡三RSSをあげていると定期的に更新が掛かりますので、こいつに引きずられる形で、

「=″S″&MID(NOW(),1,16)」が再計算される形になります。

VBA側の処理がわからないのでなんともいえませんが、

重たい処理をしているときなど、セル上の更新が掛からない場合があります。

そうすると、時間がたっても、J22の値が変わらず、同じ発注IDを使用する形になり、発注されてないのかもしれません。

何とか、自動売買、形にしたいですねっ!!

2014年11月07日

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

Syunichi Onuki

大野様

お世話になります。大貫です。

お忙しい中有難うございます。当方は時間が有りますので、無理の無い範囲でゆっくりでお願いします。

IDの件は了解しました。その後、セル番地の誤りなどもあり修正した結果、2.と3.のエラーは出なくなりました。申し訳ありません。現時点での問題点は、サンプルフアイルの「条件発注」シート上での″J4″ 「トリガー条件合致」欄に1が入るところまではこぎつけましたが、″J3″ 「トリガー執行」 欄に1が入りません。従って発注条件が整ってもRSSの発注関数が発動されません。

RSSの発注関数が発動されるのは、

1 RSSのアドインのロックが外されている

2. 「条件発注」シート上の ″J2″ 発注 Lockが外されている

3. 「トリガー条件合致」″J4″ 欄に 1 が記述されると 「トリガー執行」″J3″ 欄にもVBAによって 1 が入り、同時に「トリガー発  動時刻」欄に発動時間″Dakoku″がはいり、″J3″ と″J4″ に 1  が入るとRSS発注関数が発動されるようになっています。

 これはVBAの記述に、誤りがあるかと思われますが、ここのところのセル番地の変更で問題となるところはありますか。

″Dakoku″の最初の場所指定の記述がないように思いますが、これは問題ないのでしようか。

宜しくお願いします。

2014年11月07日

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

Ryo Ohno

大貫さん

すみません・・・

大貫さんの言われています『活用術のビデオシリーズ』とは以下のURLでしょうか?

http://www.okasan-online.co.jp/ont/use/rss/movie/index.html

ココでしたら、具体的なリンクの名称を教えていただけると幸いです。

また、もし別のページでしたら、URLを張っていただけるとありがたいです。

2、3のエラー解決されたようでよかったです。

何とか、発注までっ!!

2014年11月07日

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

Syunichi Onuki

大野様

お世話になります。大貫です。

説明不測ですみません!

URLに間違いありません。そこの右下の第4回の最後あたりをクリックしていただくと、各ビデオの詳細が出てきます。その中にサンプルシートのダウンロードロゴがあります。

宜しくお願いします。

2014年11月07日

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

Ryo Ohno

大貫さん

すみません、遅くなりました

まず、発注前に立て玉の有無を情報として取り込む方法の件ですが

1つでもポジションがあれば・・・

という事でしたら、

=if(and((保有!D4>0,保有!D4<11),1,0)

で問題がないと思います。

枚数も10枚以上はないとの事ですが、

=IF(ISNUMBER(保有!D4),1,0)

とされた方が、どのような枚数が来てもポジションがあれば、

1が立ちますので、もしかしたらよいかもしれません。

また、VBAも観てみたのですが、動きとしては

大貫さんが言われている通りで、

J2(発注Lock)が1で

J3(トリガー執行)が1以外で、J4(トリガー条件合致)が1であれば、

J3(トリガー執行)に1を入れています。

この時に、J3に1を建てると同時に

TimeforDakokuと言う名前が付いたセル(C39)の内容(現在値時刻)を入れています。

その後、両方とも1であれば、発注を行いますので、

>″Dakoku″の最初の場所指定の記述がないように思いますが、これは問題ないのでしようか。

VBAの中に記述があるDakokuの事をご心配されている思いますが、

こちらは変数と呼ばれる入れ物のような物で、

Dakoku = Range(″TimeforDakoku″).Value

これはDakokuと言う入れ物にRange(″TimeforDakoku″).Valueのセルの値を入れ

Cells(5, 10) = Dakoku

この記述で入れ物の中身をJ5のセルに写しています

 

 

このような感じの動きの用なので、

J4に1が入り、J2に1が入っているのであれば、発注が行われてもよいような気がします。

以下の事を試していただけますでしょうか?

1.J3(トリガー執行)に1を手で入れてみて、発注が正しく行われるか

  ※もしこれで発注が行われなければ、そもそも発注関数がおかしくて、発注が行われません

  

2.VBAの

  『Private Sub Worksheet_Calculate()』の中にある、

  

  『If Cells(2, 10).Value <> 1 Then GoTo SettleOrder』の″1行上″に

  Call MsgBox(″1″)

  

  『If Cells(3, 10).Value <> 1 And Cells(4, 10).Value = 1 Then』の″1行上″に

  Call MsgBox(″2″)

  

  『If Cells(3, 10).Value <> 1 And Cells(4, 10).Value = 1 Then』の″1行下″に

  Call MsgBox(″3″)

  と3つ入れて頂けますでしょうか?

  この3行を入れて、J2(発注Lock)の値を1に変えた時に、

  ″1″と言うメッセージさえ出なければ、VBAが動いていません

  ″1″と言うメッセージだけ出れば、発注Lockあたりが怪しいです

  ″2″と言うメッセージまで出れば、トリガー執行、トリガー条件合致あたりが怪しいです

  ″3″と言うメッセージまで出れば、また考えます・・・(^^;

  

  この3行を入れると、メッセージが出まくると思いますので、

  確認が終わったら、必ず消してください。

2014年11月07日

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

Syunichi Onuki

大野様

お世話になります。大貫です。

ミステイクの連続ですみません。作表の経過の中で列や行の挿入と削除を繰り返しているうちに、発注関数のセル番地に過ちがありました。訂正後新規発注が出来ました。

その時の現象で、新規発注が1秒おきに連続5回発動し5回約定しましたので、RSSを停止し直ぐ手動で強制決済を行いました。 その後『=″S″&TEXT(NOW(),″YYYYMMDDHHmmSS″)』の最期の″SS″を削除し再度試みたところ、新規発注が行われ、その後に「新規取消」関数が発動し、そして次に「新規注文」が1枚のみ再度発動し約定しました。多分1分後ぐらいだと思います。 その後強制決済しました。

現在の売買ロジックでの最終作成目標は、

1.30分単位でト゜テンを繰り返す。

2.売買サインが出たら、保有玉を確認し保有玉があれば先ず決済発注を行う。

3.売買サイン出現後寄り値を指値とし5分間継続し約定しない場合、決済発注はその時点で成り行きに変更し、新規発注は

  取り消す。複数保有はしない。(決済が約定しない限り、新規発注も行わない。)

4.AM3時には手仕舞いし、朝9時に寄り付きで参入する。

5.無駄なトレードを避けるため、ある一定の条件でExitする。

  (2.の目的は、1日に10回程度売買サインの転換が出現しますので、その倍の20回程度の売買がスリッペーシ゛により利益を圧迫しま す。手数料も馬鹿に成りません。)

従いまして、発注関数は「新規発注」「新規取消」「返済発注」「返済訂正」の4種類です。

現在の状況での問題点は、「新規発注」で同一30分内出で1回発注し、約定したら次の売買サインの転換まで発注しないようにすることです。取りあえず「発注ID」を30分に1回のみ変更するように(30分足の行が新しくなったら<逆順取得>)出来ないかと思っています。

BVAの「Private Sub Wooksheet _change(ByVal Target As Range)」 に「トリガー執行」の″ClearContets″の記述がありますがこのあたりがどのように影響してくるのかまったくわかりません。

新規発注の取消が直ぐに入ってしまうのは別の問題なので次回の課題と致したく思います。

こんな調子で質問を続けていて大丈夫でしようか。もしよろしければ「発注シー」トの「トリカー合致」に1を記述するための管理表を別途メール添付で送信させていただければ話が早いと思いますがいかがでしようか。<jow1121@yahoo.co.jp>

2014年11月07日

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

Ryo Ohno

大貫さん

発注できてよかったですっ♪



いろいろと、大変そうですね・・・(^^;

ココでやり取りすると、このあとに続く方の道しるべになると思うのですが、

さすがにココからは、細かい話になりそうなので、細かい情報をたくさん書くと、氾濫してしまうかもですね。

了解しました。

一度、yahooの方にメールしまっす!!

2014年11月07日

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

Syunichi Onuki

大野様

お世話になります。大貫です。

発注IDを30分単位で変更する方法を、Excel関数で生成する仕方が見つかりました。

セルを2つ使いますが、例えばA1セルに ″=TEXT(NOW(),″″YYYYMMDDHHMM″)″  と記述し文字列で日付と時間と分を表示する。 そしてA2セルで ″=IF(RIGHT(A1,2)>=″30″,REPLACE(A1,11,2,″30″),REPLACE(A1,11,2,″00″))″ と記述すれば

分のところは01分から29分までは、″00″となり、30分から59分までは ″30″ となると思います。

もう少しスマートな方法があればご教授ください。

この″A2″ のデータを発注IDとして使用すれば、取りあえず「新規発注」30分に1回のみとなると思いますがいかがでしようか。

次は、新規約定後、直ちに「新規取消」関数が発動してしまう不具合の修正に取り掛かります。自分のロジックのどこかに誤りがあると思います。

またヒントをよろしくお願いします。

2014年11月07日

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

Ryo Ohno

現状を想像しますと、たぶんですが、発注関数がミリ秒単位で実行されており、

1秒以内の発注は発注IDが同じであるため、発注が空回りしていると思われます。

30分に一度だけ発注を行うというのがよいと思うのですが、

セル関数だけだと確かに少し厳しいです。

#VBAだと簡単なのですが・・・

PCの負荷ってどのような感じでしょうか?

セル関数の書き方だけでしたら

『=TEXT(NOW(),″YYYYMMDDHH″) & IF(MINUTE(NOW()) < 30,″00″,″30″)』

としますと、1セルだけですむと思われます。

2014年11月07日

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

Syunichi Onuki

お世話になります。大貫と申します。

RSSの発注関数の「建玉番号」と「建玉枝番号」についてお尋ねします。

新規発注時に同所をブランクにすれば、省略したことになるとマニュアルには書かれていますが、ブランクで発注し約定した建

玉の部分のサンプルの「保有」シートをみると、「建玉番号」と「建玉枝番号」にデータが自動的に入っています。

当該約定の返済時の発注関数の「建玉番号」と「建玉枝番号」欄には実際はブランクではなく、「建玉番号」と「建玉枝番号」を記述しないと発注できないのではないでしようか。

新規約定後、返済発注を何度も試みているのですが、FNEWORDERを記述しているセルは″発注中″と表記されているにもかかわらず発注されません。これはいまのところ、この「建玉番号」と「建玉枝番号」がブランクが原因であるとしか考えられないのですが、違いますか。

教えて下さい。宜しくお願いします。

2014年11月07日

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

Ryo Ohno

まず、「建玉番号」と「建玉枝番号」についてですが、

こちらは、約定した建玉に対して岡三さんが振った一意の番号となります。

ですので、

新規発注時には、必要がなく、空白でOKで、

その発注が約定しますと、その建玉に対し岡三さんが番号を振ります。

保有シートには、出てくるのはこの流れからです。

ではいつ使うかといいますと、決済時に使用します。

決済時には、どの建玉を決済するかを、指定する必要があるのですが、

この時に、決済したい建玉の「建玉番号」と「建玉枝番号」を指定して、FNEWORDER関数を実行します。

また、どの建玉から決済してもいい場合、建玉番号にA~Dの値を入れることにより、

一定のルールで決済が掛かります。(Cの場合は、古い建玉から優先して決済)

今回は、パッと見た感じですが、決済発注しても良さそうな気がします。

一応、建玉枝番号を空白にして頂けますでしょうか?(関係ないと思いますが)

確か、指値のときでも、発注済みとFNEWORDERから帰ってきてた記憶があるので、

指値を待ってるとも思えないし・・・

帰って指値で決済発注やってみます。

2014年11月07日

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

Syunichi Onuki

大野様

お世話になります。大貫です。

いつも有難うございます。

指値を待つ問題ですが、ロジック的には30分足の始値を指値として発注し、5分間の間に約定しなければ最大指値(成行)に修正するという風に組んでいます。

ですが、未だそこまでは到達していません。  トホホ・・・・・・。

現状では「注文照会」シートにも表記されていません。

VBAのことですか、サンプルファイルの「If done OCO + 時間決済」に記述されているVBAは「標準モジユール」1.2 は使いますがその他は当ロジックでは使わないと判断し、削除しました。

基本的には、通常のExcel関数と岡三RSSの関数だけでも完全自動売買は完成できるように思います。

ちなみに、「新規発注」が執行されなかった原因は「トリガー執行」の列指定違いと他に、「先物コード」を ″N225mini″ と記述すべきところ ″n225mini″ とNを小文字で書いていたことでした。

質問はあとひとつ位と豪語(・・・・・・)しましたが、まだまだ先は遠そうです。取りあえずは「決済注文」の執行を突破しなければと思ってます。

宜しくお願いします。

2014年11月07日

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

Syunichi Onuki

大野様

お世話になります。大貫です。

完全自動売買完成に向けて応援下さり有難うございます。

おかげ様で今日始めて、寄り付き売買と転換売買に成功しました。

あと残るのは「新規取消」と「決済訂正」「引成決済」の確認です。

そして新たに疑問が生じましたのでお尋ねします。

決済訂正を行いたいとき「REPAYYMENTORDER」関数により指値″注文を″成行″注文に訂正することはできますか。

あるいは″指値″による「決済発注」を一旦取消し、新たに″成行″での「決済発注」を出し直す必要が有るの手でしょうか。

現象としては「トリガー合致」セルに ″1″ が表示された状態で、 「「REPAYMENTORDER」 関数記述セルは ″#VALUE!″ と

標記されています。

宜しくお願いします。

2014年11月07日

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

Ryo Ohno

成功しましたか、よかったです。

記憶があやふやですが、確か、″指値″から″成行″等の発注形式の変更はできなかったと思います。

一度、取り消してから、再度″成行″に変更する必要があります。

しかし

発注形式の変更してしまったときのエラーは、発注後にエラーになるはずなので、

″#VALUE!″ と表示されると言うことは、別の問題のような気がします。

2014年11月07日

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

Syunichi Onuki

大野様

お世話になります。大貫です。

試行錯誤の連続でその後あまり進展がありませんが、一歩一歩進めています。

指値から成り行きへの変更は、ご指摘どおり、決済を取消し、改めて「決済発注」を行うように修正中です。

「REPAYMENTORDER」 関数はもう使用しませんが、先頭に ″F″ が抜けていました。 単純ミスでお騒がせして申し訳ありません。

先に「寄付新規売買」と「転換新規売買」は成功したとご報告しましたが、その後修正を繰り返しているうちに「指値単価」に問題が生じました。

30分足が新たに更新された時、先頭行の「始値」で指値をしているらもかかわらず、その更新前の1行前の「始値」で発注されてしまいます。「引数」セルには更新後の「始値」が指定されています。しかし発注は何故か更新前の『始値」で行われます。

例えばこうです。4本値は″FCANDLE″関数で逆順で取得し先頭行が最新の状態だとします。

               (始値)

2014/10/1 10:30 16180(C8)

2014/10/1 10:00 16155(C9)

10時から10時30分になった時に、″16180″ で指値しているにもかかわらず、何故か ″16155″ で「発注」されます。『注文照会」シートにも ″16155″ の指値で『発注中」と表記されています。

新規発注関数の″FNEWORDER″ で使用している「引数」の″単価″記述のセルに″C8″を直接指定してみましたが″C9″のセル値で発注されました。

このことはRSSのシステム上の問題ではないかと、岡三さんに電話質問してみましたが、そのようの事例は今までに無く、あくまでもシート上の問題なので、当社では解からないという回答でした。

となると、10時から10時30分に台替わりしたとき、の時点の判断に問題があるのかなとともおもわれますが。

このような事例に出くわしたことがありますか。何かわかりましたらご教授下さい。宜しくお願いします。

2014年11月07日

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

Ryo Ohno

大貫様

 

″#VALUE!″ 問題は解決しましたか、よかったです。

 

 

>先に「寄付新規売買」と「転換新規売買」は成功したとご報告しましたが、その後修正を繰り返しているうちに「指値単価」に問題が生じました。

元の発注条件がわからないため、想像でしかなのですが、

もし『10:30になったら発注を行なう』という条件でしたら可能性があります。

 

内容から想像すると、以下のようなFCANDLE関数が、3つ仕掛けてあるのだと思います。

 

1・・・・FCANDLE(”N225”,0,”30”,1,”取引日付”,A8,”D”,0)

2・・・・FCANDLE(”N225”,0,”30”,1,”約定時刻”,B8,”D”,0)

3・・・・FCANDLE(”N225”,0,”30”,1,”始値”,C8,”D”,0)

 

これらの関数は1つずつ動作しますので、

 

10:29時点では

A8・・・2014/10/1

B8・・・10:00

C8・・・16155

 

 

10:30になった瞬間、FCANDLE1が動き

A8・・・2014/10/1

B8・・・10:00 ←FCANDLE2はまだ動いてないので10:00時点の情報

C8・・・16155 ←FCANDLE3はまだ動いてないので10:00時点の情報

A9・・・2014/10/1

B9・・・空白 ←FCANDLE2はまだ動いてないので空白

C9・・・空白 ←FCANDLE3はまだ動いてないので空白

 

 

その後、FCANDLE2が動き

A8・・・2014/10/1

B8・・・10:30

C8・・・16155

A9・・・2014/10/1

B9・・・10:00

C9・・・空白 ←FCANDLE3はまだ動いてないので10:00時点の情報

 

 

最後に、FCANDLE3が動き

A8・・・2014/10/1

B8・・・10:30

C8・・・16180

A9・・・2014/10/1

B9・・・10:00

C9・・・16155

 

 

となります。

 

 

ですので″10:30になったら発注″という発注条件の場合、

FCANDLE2が動いた時点で発注関数が動いてしまいますので、

まだC8は更新されておらず、10:00時点の始値のままとなり、上記のような問題が発生してしまいます。

2014年11月07日

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

Ryo Ohno

解決方法ですが、VBAを使用せずに、セル関数だけでやられている場合でしたら、

『***End***』

が一直線に並んでいるかを判断条件として付け加えるのが、一番簡単だと思います。

2014年11月07日

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

Syunichi Onuki

大野様

お世話になります。大貫です。

実は、新規発注関数の″FNEWORDER″ で使用している「引数」の″単価″記述のセルに″C8″を直接指定したと申しましたが、引数セルに″ $C$8″ を指定していました。 確認後″FNEWORDER″の第6パラメーターに直接 ″$C$8″ を指定しなおしたところ、その後3回ほど売買執行がされ、いずれも ″$C$8″ の始値指値で売買されました。

空騒ぎばかりで申し訳ありませんがこの件は今のところうまくいっています。

次にまた問題が出ました。16時30分の買い玉が17時には「寄付決済」も「転換決済」の決済のシグナルが出ていないにもかかわらず売り決済されました。

この誤作動とも思える動きは、大野様のヒントより類推してやはり行間転換のタイミングの問題とも思われます。

先ほど提示いただいた「***End***」が一直線に並ぶという意味がわかりません。具体的にどこにどのような関数を記述したらよいのでしようか教えて下さい。宜しくお願いします。

2014年11月07日

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

Ryo Ohno

大貫様

こちらはこれはFNEWORDERの第六引数の値を

C8 → $C$8

に変更されたということでしょうか?

通常、数式をコピーすると、コピー先にあわせて行列が変更されます。

『$』は数式のコピーなどをした時に、

この数式の変更を行なわないようにするためのものですので、

参照方法などが変わったりするはずはないと思うのですが・・・

とりあえず、上手く行ってよかったです♪

「***End***」が一直線に並ぶというのは・・・

ポジション関数とかで、取得した場合、一番最後に「***End***」が表示されると思うのですが

これがその行で全て ***End***だったらOKというような関数を組むと、

データの整合が取れていると思います。

=IF(AND(A1=″***End***″,B1=″***End***″,C1=″***End***″),TRUE,FALSE)

こんな感じでしょうか・・・

今、書いていてふと思ったんですが・・・

もしかしたら、FCANDLEでは『***End***』が出ないかもです。

今、手元に岡三RSSがないので、帰ってみてみます。

もし出力されなかった場合は、申し訳ありません。

2014年11月07日

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

Syunichi Onuki

大野様

お世話になります。大貫です。

指し値についてですが今朝 ″IF″ 構文の記述の順番を、元に戻したら、今朝から正しく発注できるようになりました。

またまたのお騒がせ申し訳ありません。 つまり =IF(真となる条件)1,0) を =IF(偽となる条件),0,1) に戻しただけで正常に戻りました。理由はわかりませんが、多分タイミングの問題なんだと思います。

10/3 AM11:30 現在 RSSはストップせずにテストを継続中です。 有難うございます。

2014年11月07日

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

Ryo Ohno

大貫様

昨日、帰ってやれなかったので心配していました。

何はともあれ、上手く行ったようでよかったです。

2014年11月07日

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

Syunichi Onuki

大野様

お世話になります。大貫です。

その後の問題点はねやはり、1行前の始値で指値発注してしまうことです。

うまくいったり、して安心していると次の時には(どこかを変更したりして)元へ戻っている状態です。原因不明です。

4本値が更新されたことを確実に認知するための解決策をご教授下さい。

場合によっては、VBAでないと無理ではないかなと思っていますが、宜しくお願いします。

2014年12月07日

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

Ryo Ohno

すみません、遅くなりました。

発生してしまいましたか・・・

少し考えてみます。

2014年12月07日

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

Syunichi Onuki

大野様

お世話になります。大貫です。

東京出張疲れ様でした。

出張中は、なにかと神経を使わせてしまい、申し訳ありませんでした。

さて、RSS指値の件ですが、最終お申し越しの内容にて修正し、テストとした結果、これまでのバタバタが嘘のように無くなり、きれいさっぱりと指値をしてくれるように成りました。(PC時間も5秒遅らすことなく正常に戻しました)

一番最初に添付して頂いたExcelシートの内容どおり、記述していれば問題なく解決していたんですね。

私の理解不足と不注意によって二度手間をおかけしてしまい、まことに済みませんでした。

さすがプロの仕事ですね。 私には理解できない マジックのような関数を使いこなし淡々と解決してしまうあたり、お見事というしかありません。

現状では、岡三RSSを使った完全自動売買システムは起動に乗ったように思われます。

後は私の作った売買ロジックのインチキ部分の対策ですが、これは自分自身の問題としてもう少し時間をかけながら取り組みたいと思っています。

古希を迎える老人が、岡三RSSの完全自動売買に挑み、挫折することなく、ここまでこれたのは①大野様の応援と、②発注IDの自動生成、③4本値更新時の指値エラー、の解決があってこそと大変感謝しています。

特に指値エラーの問題は岡三のサポートさえも応えてくれないような状況の中で(システム的なことなので当社ではお応えてできません)見事に解決して頂きました。本当に有難うございました。

この状態でしばらく、テスト運転を継続してみようと思っています。

システムの仕事は時間が不規則になりがちだと思います。どうかお体を大切になさって下さい。

それではまた

2014年12月07日

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

Syunichi Onuki

毎度お世話になります。大貫です。

返済発注が執行されないのは、「建玉番号」と「建玉枝番号」の記述が原因ではないようです。今朝も同じ状況で決済されませんでした。

返済の「トリガー合致」欄に″1″ が入り発注関数記述欄が「発注中」と自動的に表記されているのにもかかわらず、返済発注が執行されません。原因がわかりません。もう3日間も悩んでいます。

どこに欠点があるのかご指摘いただけないでしようか。自分自身では気がつきません。記述及び指定は次の通りです。

″返済発注関数″

=IF(U19*U21<>0,fneworder(U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43),″待機″)

 ″引数″

U26 先物コード      N225mini

U27 限月          201412

U28 取引種類         2

U29 建玉番号        c

U30 建玉枝番号        1

U31 売買区分        3

U32 執行条件         1

U33 単価        16185

U34 数量           1

U35 注文確認        1

U36 完了メッセ         1

U37 注文画面        1

U38 パスワード      PASS

U39 発注ID H201409191030

U40 有効期間区分 1

U41 メモ H201409191030

U42 発注条件

U43 発注単価

宜しくお願いします。

2014年11月07日

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

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

受信箱に届きましたお客さまからの質問を代理で投稿させていただきます。

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

RSS で口座の評価損益額合計を取得できますか? 個々の建て玉の評価損益をシート上で合計するのでなしに。

2015年01月07日

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

Ryo Ohno

================================================================

>RSS で口座の評価損益額合計を取得できますか? 

残念ながら、できなかったと思います。

================================================================

================================================================

VBAを使用するのが簡単で、安定すると思いますが・・・

もしセル関数だけでやるとしたら・・・

>①始値(日中)がA以上ならば新規買い(成り行き)・・・・もし可能ならば8時59分59秒の気配 値がA以上ならば新規買い(成り行き)

1.=TIME(HOUR(NOW()),MINUTE(NOW()),SECOND(NOW()))などで現在時刻を表示 ※A1のセルに入れたとします

2.=IF(AND(TIME(8,59,59) = A1,値A<=現在値, 発注関数,″発注待機″)

>②現在値がB以下になったら決済(成り行き)

=IF(値B>=現在値, 発注関数,″決済待機″)

>③15:10になったら引け成り行きの注文を出す

1.=IF(AND(TIME(15,10,00) = A1, 発注関数,″決済待機″)

================================================================

2015年01月07日

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

すべての投稿を表示する

to_top
to_top

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

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

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

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

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

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

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