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

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

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

【RSS 365FX、RSS 365CFD】質問箱

try4bs

キャンドル関数にて、ある銘柄の戻り値がおかしい

銘柄9238(バリュークリエーション)指定時に妙な値を返します。自分だけでしょうか。以下その例です。
(指定値:9928、東証、1分足、1日間、csv、昇順)※現象はこのパラメータに限りません。
東証,2024.03.13,09:00:00,1170.0,1170.0,1170.0,1170.0,800
東証,2024.03.13,09:01:00,1170.0,1170.0,1170.0,1170.0,0
東証,2024.03.13,09:02:00,1170.5,1172.0,1170.5,1172.0,400
東証,2024.03.13,09:03:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:04:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:05:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:06:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:07:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:08:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:09:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:10:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:11:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:12:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:13:00,1174.0,1174.5,1174.0,1174.5,800
東証,2024.03.13,09:14:00,1174.5,1174.5,1174.5,1174.5,0
東証,2024.03.13,09:15:00,1174.5,1174.5,1174.5,1174.5,0
東証,2024.03.13,09:16:00,1174.5,1174.5,1174.5,1174.5,0
東証,2024.03.13,09:17:00,1174.5,1174.5,1174.5,1174.5,0
東証,2024.03.13,09:18:00,1174.5,1174.5,1174.5,1174.5,0
東証,2024.03.13,09:19:00,1174.5,1174.5,1174.5,1174.5,0
東証,2024.03.13,09:20:00,1174.5,1174.5,1174.5,1174.5,0
東証,2024.03.13,09:21:00,1174.5,1175.0,1174.5,1175.0,800
東証,2024.03.13,09:22:00,1186.0,1186.0,1186.0,1186.0,600
東証,2024.03.13,09:23:00,1186.0,1186.0,1186.0,1186.0,0
東証,2024.03.13,09:24:00,1186.0,1186.0,1186.0,1186.0,0
東証,2024.03.13,09:25:00,1186.0,1186.0,1186.0,1186.0,0
東証,2024.03.13,09:26:00,1186.0,1186.0,1186.0,1186.0,0
東証,2024.03.13,09:27:00,1178.0,1178.0,1177.5,1177.5,400
東証,2024.03.13,09:28:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:29:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:30:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:31:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:32:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:33:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:34:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:35:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:36:00,1170.0,1170.0,1170.0,1170.0,200
東証,2024.03.13,09:37:00,1170.0,1170.0,1170.0,1170.0,0
東証,2024.03.13,09:38:00,1170.0,1170.0,1170.0,1170.0,0
東証,2024.03.13,09:39:00,1170.0,1170.0,1170.0,1170.0,0
東証,2024.03.13,09:40:00,1170.0,1170.0,1170.0,1170.0,0
東証,2024.03.13,09:41:00,1170.0,1170.0,1170.0,1170.0,0
東証,2024.03.13,09:42:00,1170.0,1170.0,1170.0,1170.0,0
東証,2024.03.13,09:43:00,1166.0,1166.0,1160.0,1160.0,2200
東証,2024.03.13,09:44:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,09:45:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,09:46:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,09:47:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,09:48:00,1159.0,1159.0,1155.0,1155.0,1200
東証,2024.03.13,09:49:00,1153.5,1153.5,1153.5,1153.5,200
東証,2024.03.13,09:50:00,1153.5,1153.5,1153.5,1153.5,0
東証,2024.03.13,09:51:00,1153.5,1153.5,1153.5,1153.5,0
東証,2024.03.13,09:52:00,1158.5,1158.5,1152.5,1152.5,1000
東証,2024.03.13,09:53:00,1152.5,1152.5,1152.5,1152.5,0
東証,2024.03.13,09:54:00,1159.0,1159.5,1159.0,1159.5,400
東証,2024.03.13,09:55:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,09:56:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,09:57:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,09:58:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,09:59:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:00:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:01:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:02:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:03:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:04:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:05:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:06:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:07:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:08:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:09:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:10:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:11:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:12:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:13:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:14:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:15:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:16:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:17:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:18:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:19:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:20:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:21:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:22:00,1152.5,1152.5,1151.5,1151.5,600
東証,2024.03.13,10:23:00,1150.5,1150.5,1150.0,1150.0,1000
東証,2024.03.13,10:24:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:25:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:26:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:27:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:28:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:29:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:30:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:31:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:32:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:33:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:34:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:35:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:36:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:37:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:38:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:39:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:40:00,1152.0,1155.0,1152.0,1155.0,800
東証,2024.03.13,10:41:00,1155.0,1155.0,1155.0,1155.0,0
東証,2024.03.13,10:42:00,1155.0,1155.0,1155.0,1155.0,0
東証,2024.03.13,10:43:00,1155.0,1155.0,1155.0,1155.0,0
東証,2024.03.13,10:44:00,1155.0,1155.0,1155.0,1155.0,0
東証,2024.03.13,10:45:00,1155.0,1155.0,1155.0,1155.0,0
東証,2024.03.13,10:46:00,1151.5,1151.5,1151.0,1151.0,400
東証,2024.03.13,10:47:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:48:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:49:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:50:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:51:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:52:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:53:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:54:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:55:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:56:00,1156.5,1156.5,1156.5,1156.5,200
東証,2024.03.13,10:57:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,10:58:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,10:59:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:00:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:01:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:02:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:03:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:04:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:05:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:06:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:07:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:08:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:09:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:10:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:11:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:12:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:13:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:14:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:15:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:16:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:17:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:18:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:19:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:20:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:21:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:22:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:23:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:24:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:25:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:26:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:27:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:28:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:29:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:30:00,1151.5,1151.5,1151.5,1151.5,400
東証,2024.03.13,12:30:00,1165.0,1165.0,1165.0,1165.0,800
東証,2024.03.13,12:31:00,1165.0,1165.0,1165.0,1165.0,0
東証,2024.03.13,12:32:00,1165.0,1165.0,1165.0,1165.0,0
東証,2024.03.13,12:33:00,1165.0,1165.0,1165.0,1165.0,0
東証,2024.03.13,12:34:00,1165.0,1165.0,1165.0,1165.0,0
東証,2024.03.13,12:35:00,1160.0,1160.0,1160.0,1160.0,200
東証,2024.03.13,12:36:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,12:37:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,12:38:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,12:39:00,1160.0,1160.0,1160.0,1160.0,200
東証,2024.03.13,12:40:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,12:41:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,12:42:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,12:43:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,12:44:00,1159.5,1159.5,1159.5,1159.5,400
東証,2024.03.13,12:45:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:46:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:47:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:48:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:49:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:50:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:51:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:52:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:53:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:54:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:55:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:56:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:57:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:58:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:59:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:00:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:01:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:02:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:03:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:04:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:05:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:06:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:07:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:08:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:09:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:10:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:11:00,1159.5,1159.5,1159.5,1159.5,600
東証,2024.03.13,13:12:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:13:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:14:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:15:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:16:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:17:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:18:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:19:00,1159.5,1159.5,1159.5,1159.5,200
東証,2024.03.13,13:20:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:21:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:22:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:23:00,1160.0,1160.0,1160.0,1160.0,200
東証,2024.03.13,13:24:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:25:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:26:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:27:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:28:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:29:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:30:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:31:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:32:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:33:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:34:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:35:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:36:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:37:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:38:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:39:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:40:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:41:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:42:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:43:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:44:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:45:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:46:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:47:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:48:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:49:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:50:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:51:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:52:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:53:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:54:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:55:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:56:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:57:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:58:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:59:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:00:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:01:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:02:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:03:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:04:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:05:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:06:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:07:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:08:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:09:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:10:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:11:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:12:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:13:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:14:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:15:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:16:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:17:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:18:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:19:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:20:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:21:00,1160.0,1160.0,1160.0,1160.0,600
東証,2024.03.13,14:22:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:23:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:24:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:25:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:26:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:27:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:28:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:29:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:30:00,1161.5,1161.5,1161.5,1161.5,200
東証,2024.03.13,14:31:00,1154.0,1154.0,1154.0,1154.0,200
東証,2024.03.13,14:32:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:33:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:34:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:35:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:36:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:37:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:38:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:39:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:40:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:41:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:42:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:43:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:44:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:45:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:46:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:47:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:48:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:49:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:50:00,1157.0,1157.0,1157.0,1157.0,400
東証,2024.03.13,14:51:00,1157.0,1157.0,1157.0,1157.0,0
東証,2024.03.13,14:52:00,1156.5,1156.5,1156.5,1156.5,200
東証,2024.03.13,14:53:00,1160.0,1160.0,1160.0,1160.0,1000
東証,2024.03.13,14:54:00,1156.5,1156.5,1156.5,1156.5,200
東証,2024.03.13,14:55:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,14:56:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,14:57:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,14:58:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,14:59:00,1154.0,1154.0,1154.0,1154.0,200
東証,2024.03.13,15:00:00,1148.5,1148.5,1148.5,1148.5,3400

2024年03月14日

try4bs

この質問者本人です。投稿先を間違えたようです。しかも重複にて誠に申し訳ございません。こちらの質問は取り下げさせて頂きます。あらためて別の質問箱に投稿させて頂きますので、こちらには回答不要でございます。よろしくお願い申し上げます。

2024年03月14日

try4bs

キャンドル関数にて、ある銘柄の戻り値がおかしい

銘柄9238(バリュークリエーション)指定時に妙な値を返します。自分だけでしょうか。以下その例です。
(指定値:9928、東証、1分足、1日間、csv、昇順)※現象はこのパラメータに限りません。
東証,2024.03.13,09:00:00,1170.0,1170.0,1170.0,1170.0,800
東証,2024.03.13,09:01:00,1170.0,1170.0,1170.0,1170.0,0
東証,2024.03.13,09:02:00,1170.5,1172.0,1170.5,1172.0,400
東証,2024.03.13,09:03:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:04:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:05:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:06:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:07:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:08:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:09:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:10:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:11:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:12:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:13:00,1174.0,1174.5,1174.0,1174.5,800
東証,2024.03.13,09:14:00,1174.5,1174.5,1174.5,1174.5,0
東証,2024.03.13,09:15:00,1174.5,1174.5,1174.5,1174.5,0
東証,2024.03.13,09:16:00,1174.5,1174.5,1174.5,1174.5,0
東証,2024.03.13,09:17:00,1174.5,1174.5,1174.5,1174.5,0
東証,2024.03.13,09:18:00,1174.5,1174.5,1174.5,1174.5,0
東証,2024.03.13,09:19:00,1174.5,1174.5,1174.5,1174.5,0
東証,2024.03.13,09:20:00,1174.5,1174.5,1174.5,1174.5,0
東証,2024.03.13,09:21:00,1174.5,1175.0,1174.5,1175.0,800
東証,2024.03.13,09:22:00,1186.0,1186.0,1186.0,1186.0,600
東証,2024.03.13,09:23:00,1186.0,1186.0,1186.0,1186.0,0
東証,2024.03.13,09:24:00,1186.0,1186.0,1186.0,1186.0,0
東証,2024.03.13,09:25:00,1186.0,1186.0,1186.0,1186.0,0
東証,2024.03.13,09:26:00,1186.0,1186.0,1186.0,1186.0,0
東証,2024.03.13,09:27:00,1178.0,1178.0,1177.5,1177.5,400
東証,2024.03.13,09:28:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:29:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:30:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:31:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:32:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:33:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:34:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:35:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:36:00,1170.0,1170.0,1170.0,1170.0,200
東証,2024.03.13,09:37:00,1170.0,1170.0,1170.0,1170.0,0
東証,2024.03.13,09:38:00,1170.0,1170.0,1170.0,1170.0,0
東証,2024.03.13,09:39:00,1170.0,1170.0,1170.0,1170.0,0
東証,2024.03.13,09:40:00,1170.0,1170.0,1170.0,1170.0,0
東証,2024.03.13,09:41:00,1170.0,1170.0,1170.0,1170.0,0
東証,2024.03.13,09:42:00,1170.0,1170.0,1170.0,1170.0,0
東証,2024.03.13,09:43:00,1166.0,1166.0,1160.0,1160.0,2200
東証,2024.03.13,09:44:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,09:45:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,09:46:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,09:47:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,09:48:00,1159.0,1159.0,1155.0,1155.0,1200
東証,2024.03.13,09:49:00,1153.5,1153.5,1153.5,1153.5,200
東証,2024.03.13,09:50:00,1153.5,1153.5,1153.5,1153.5,0
東証,2024.03.13,09:51:00,1153.5,1153.5,1153.5,1153.5,0
東証,2024.03.13,09:52:00,1158.5,1158.5,1152.5,1152.5,1000
東証,2024.03.13,09:53:00,1152.5,1152.5,1152.5,1152.5,0
東証,2024.03.13,09:54:00,1159.0,1159.5,1159.0,1159.5,400
東証,2024.03.13,09:55:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,09:56:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,09:57:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,09:58:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,09:59:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:00:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:01:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:02:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:03:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:04:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:05:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:06:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:07:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:08:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:09:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:10:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:11:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:12:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:13:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:14:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:15:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:16:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:17:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:18:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:19:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:20:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:21:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:22:00,1152.5,1152.5,1151.5,1151.5,600
東証,2024.03.13,10:23:00,1150.5,1150.5,1150.0,1150.0,1000
東証,2024.03.13,10:24:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:25:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:26:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:27:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:28:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:29:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:30:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:31:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:32:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:33:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:34:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:35:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:36:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:37:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:38:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:39:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:40:00,1152.0,1155.0,1152.0,1155.0,800
東証,2024.03.13,10:41:00,1155.0,1155.0,1155.0,1155.0,0
東証,2024.03.13,10:42:00,1155.0,1155.0,1155.0,1155.0,0
東証,2024.03.13,10:43:00,1155.0,1155.0,1155.0,1155.0,0
東証,2024.03.13,10:44:00,1155.0,1155.0,1155.0,1155.0,0
東証,2024.03.13,10:45:00,1155.0,1155.0,1155.0,1155.0,0
東証,2024.03.13,10:46:00,1151.5,1151.5,1151.0,1151.0,400
東証,2024.03.13,10:47:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:48:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:49:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:50:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:51:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:52:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:53:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:54:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:55:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:56:00,1156.5,1156.5,1156.5,1156.5,200
東証,2024.03.13,10:57:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,10:58:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,10:59:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:00:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:01:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:02:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:03:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:04:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:05:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:06:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:07:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:08:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:09:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:10:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:11:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:12:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:13:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:14:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:15:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:16:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:17:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:18:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:19:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:20:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:21:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:22:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:23:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:24:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:25:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:26:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:27:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:28:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:29:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:30:00,1151.5,1151.5,1151.5,1151.5,400
東証,2024.03.13,12:30:00,1165.0,1165.0,1165.0,1165.0,800
東証,2024.03.13,12:31:00,1165.0,1165.0,1165.0,1165.0,0
東証,2024.03.13,12:32:00,1165.0,1165.0,1165.0,1165.0,0
東証,2024.03.13,12:33:00,1165.0,1165.0,1165.0,1165.0,0
東証,2024.03.13,12:34:00,1165.0,1165.0,1165.0,1165.0,0
東証,2024.03.13,12:35:00,1160.0,1160.0,1160.0,1160.0,200
東証,2024.03.13,12:36:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,12:37:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,12:38:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,12:39:00,1160.0,1160.0,1160.0,1160.0,200
東証,2024.03.13,12:40:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,12:41:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,12:42:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,12:43:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,12:44:00,1159.5,1159.5,1159.5,1159.5,400
東証,2024.03.13,12:45:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:46:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:47:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:48:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:49:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:50:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:51:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:52:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:53:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:54:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:55:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:56:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:57:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:58:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:59:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:00:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:01:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:02:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:03:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:04:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:05:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:06:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:07:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:08:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:09:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:10:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:11:00,1159.5,1159.5,1159.5,1159.5,600
東証,2024.03.13,13:12:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:13:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:14:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:15:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:16:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:17:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:18:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:19:00,1159.5,1159.5,1159.5,1159.5,200
東証,2024.03.13,13:20:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:21:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:22:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:23:00,1160.0,1160.0,1160.0,1160.0,200
東証,2024.03.13,13:24:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:25:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:26:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:27:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:28:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:29:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:30:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:31:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:32:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:33:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:34:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:35:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:36:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:37:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:38:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:39:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:40:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:41:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:42:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:43:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:44:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:45:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:46:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:47:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:48:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:49:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:50:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:51:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:52:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:53:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:54:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:55:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:56:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:57:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:58:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:59:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:00:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:01:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:02:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:03:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:04:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:05:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:06:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:07:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:08:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:09:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:10:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:11:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:12:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:13:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:14:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:15:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:16:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:17:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:18:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:19:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:20:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:21:00,1160.0,1160.0,1160.0,1160.0,600
東証,2024.03.13,14:22:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:23:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:24:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:25:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:26:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:27:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:28:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:29:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:30:00,1161.5,1161.5,1161.5,1161.5,200
東証,2024.03.13,14:31:00,1154.0,1154.0,1154.0,1154.0,200
東証,2024.03.13,14:32:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:33:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:34:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:35:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:36:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:37:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:38:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:39:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:40:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:41:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:42:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:43:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:44:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:45:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:46:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:47:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:48:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:49:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:50:00,1157.0,1157.0,1157.0,1157.0,400
東証,2024.03.13,14:51:00,1157.0,1157.0,1157.0,1157.0,0
東証,2024.03.13,14:52:00,1156.5,1156.5,1156.5,1156.5,200
東証,2024.03.13,14:53:00,1160.0,1160.0,1160.0,1160.0,1000
東証,2024.03.13,14:54:00,1156.5,1156.5,1156.5,1156.5,200
東証,2024.03.13,14:55:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,14:56:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,14:57:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,14:58:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,14:59:00,1154.0,1154.0,1154.0,1154.0,200
東証,2024.03.13,15:00:00,1148.5,1148.5,1148.5,1148.5,3400

2024年03月14日

try4bs

この質問者本人です。投稿先を間違えたようです。しかも重複にて誠に申し訳ございません。こちらの質問は取り下げさせて頂きます。あらためて別の質問箱に投稿させて頂きますので、こちらには回答不要でございます。よろしくお願い申し上げます。

2024年03月14日

try4bs

ある銘柄のcandle関数の戻り値(csv)がおかしい

candle関数にて、銘柄9238(バリュークリエーション)、csv指定の際、妙な値を返します。自分だけでしょうか。以下、その例です。
(指定値:9238,東証,1分足,1日間,csv,昇順)※妙な値を返すのは、このパラメータに限りません。
東証,2024.03.13,09:00:00,1170.0,1170.0,1170.0,1170.0,800
東証,2024.03.13,09:01:00,1170.0,1170.0,1170.0,1170.0,0
東証,2024.03.13,09:02:00,1170.5,1172.0,1170.5,1172.0,400
東証,2024.03.13,09:03:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:04:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:05:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:06:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:07:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:08:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:09:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:10:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:11:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:12:00,1172.0,1172.0,1172.0,1172.0,0
東証,2024.03.13,09:13:00,1174.0,1174.5,1174.0,1174.5,800
東証,2024.03.13,09:14:00,1174.5,1174.5,1174.5,1174.5,0
東証,2024.03.13,09:15:00,1174.5,1174.5,1174.5,1174.5,0
東証,2024.03.13,09:16:00,1174.5,1174.5,1174.5,1174.5,0
東証,2024.03.13,09:17:00,1174.5,1174.5,1174.5,1174.5,0
東証,2024.03.13,09:18:00,1174.5,1174.5,1174.5,1174.5,0
東証,2024.03.13,09:19:00,1174.5,1174.5,1174.5,1174.5,0
東証,2024.03.13,09:20:00,1174.5,1174.5,1174.5,1174.5,0
東証,2024.03.13,09:21:00,1174.5,1175.0,1174.5,1175.0,800
東証,2024.03.13,09:22:00,1186.0,1186.0,1186.0,1186.0,600
東証,2024.03.13,09:23:00,1186.0,1186.0,1186.0,1186.0,0
東証,2024.03.13,09:24:00,1186.0,1186.0,1186.0,1186.0,0
東証,2024.03.13,09:25:00,1186.0,1186.0,1186.0,1186.0,0
東証,2024.03.13,09:26:00,1186.0,1186.0,1186.0,1186.0,0
東証,2024.03.13,09:27:00,1178.0,1178.0,1177.5,1177.5,400
東証,2024.03.13,09:28:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:29:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:30:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:31:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:32:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:33:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:34:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:35:00,1177.5,1177.5,1177.5,1177.5,0
東証,2024.03.13,09:36:00,1170.0,1170.0,1170.0,1170.0,200
東証,2024.03.13,09:37:00,1170.0,1170.0,1170.0,1170.0,0
東証,2024.03.13,09:38:00,1170.0,1170.0,1170.0,1170.0,0
東証,2024.03.13,09:39:00,1170.0,1170.0,1170.0,1170.0,0
東証,2024.03.13,09:40:00,1170.0,1170.0,1170.0,1170.0,0
東証,2024.03.13,09:41:00,1170.0,1170.0,1170.0,1170.0,0
東証,2024.03.13,09:42:00,1170.0,1170.0,1170.0,1170.0,0
東証,2024.03.13,09:43:00,1166.0,1166.0,1160.0,1160.0,2200
東証,2024.03.13,09:44:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,09:45:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,09:46:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,09:47:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,09:48:00,1159.0,1159.0,1155.0,1155.0,1200
東証,2024.03.13,09:49:00,1153.5,1153.5,1153.5,1153.5,200
東証,2024.03.13,09:50:00,1153.5,1153.5,1153.5,1153.5,0
東証,2024.03.13,09:51:00,1153.5,1153.5,1153.5,1153.5,0
東証,2024.03.13,09:52:00,1158.5,1158.5,1152.5,1152.5,1000
東証,2024.03.13,09:53:00,1152.5,1152.5,1152.5,1152.5,0
東証,2024.03.13,09:54:00,1159.0,1159.5,1159.0,1159.5,400
東証,2024.03.13,09:55:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,09:56:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,09:57:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,09:58:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,09:59:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:00:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:01:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:02:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:03:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:04:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:05:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:06:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:07:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:08:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:09:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:10:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:11:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:12:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:13:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:14:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:15:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:16:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:17:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:18:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:19:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:20:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:21:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,10:22:00,1152.5,1152.5,1151.5,1151.5,600
東証,2024.03.13,10:23:00,1150.5,1150.5,1150.0,1150.0,1000
東証,2024.03.13,10:24:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:25:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:26:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:27:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:28:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:29:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:30:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:31:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:32:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:33:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:34:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:35:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:36:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:37:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:38:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:39:00,1150.0,1150.0,1150.0,1150.0,0
東証,2024.03.13,10:40:00,1152.0,1155.0,1152.0,1155.0,800
東証,2024.03.13,10:41:00,1155.0,1155.0,1155.0,1155.0,0
東証,2024.03.13,10:42:00,1155.0,1155.0,1155.0,1155.0,0
東証,2024.03.13,10:43:00,1155.0,1155.0,1155.0,1155.0,0
東証,2024.03.13,10:44:00,1155.0,1155.0,1155.0,1155.0,0
東証,2024.03.13,10:45:00,1155.0,1155.0,1155.0,1155.0,0
東証,2024.03.13,10:46:00,1151.5,1151.5,1151.0,1151.0,400
東証,2024.03.13,10:47:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:48:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:49:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:50:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:51:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:52:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:53:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:54:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:55:00,1151.0,1151.0,1151.0,1151.0,0
東証,2024.03.13,10:56:00,1156.5,1156.5,1156.5,1156.5,200
東証,2024.03.13,10:57:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,10:58:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,10:59:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:00:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:01:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:02:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:03:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:04:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:05:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:06:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:07:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:08:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:09:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:10:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:11:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:12:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:13:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:14:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:15:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:16:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:17:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:18:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:19:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:20:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:21:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:22:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:23:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:24:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:25:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:26:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:27:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:28:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:29:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,11:30:00,1151.5,1151.5,1151.5,1151.5,400
東証,2024.03.13,12:30:00,1165.0,1165.0,1165.0,1165.0,800
東証,2024.03.13,12:31:00,1165.0,1165.0,1165.0,1165.0,0
東証,2024.03.13,12:32:00,1165.0,1165.0,1165.0,1165.0,0
東証,2024.03.13,12:33:00,1165.0,1165.0,1165.0,1165.0,0
東証,2024.03.13,12:34:00,1165.0,1165.0,1165.0,1165.0,0
東証,2024.03.13,12:35:00,1160.0,1160.0,1160.0,1160.0,200
東証,2024.03.13,12:36:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,12:37:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,12:38:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,12:39:00,1160.0,1160.0,1160.0,1160.0,200
東証,2024.03.13,12:40:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,12:41:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,12:42:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,12:43:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,12:44:00,1159.5,1159.5,1159.5,1159.5,400
東証,2024.03.13,12:45:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:46:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:47:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:48:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:49:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:50:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:51:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:52:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:53:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:54:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:55:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:56:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:57:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:58:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,12:59:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:00:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:01:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:02:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:03:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:04:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:05:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:06:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:07:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:08:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:09:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:10:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:11:00,1159.5,1159.5,1159.5,1159.5,600
東証,2024.03.13,13:12:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:13:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:14:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:15:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:16:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:17:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:18:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:19:00,1159.5,1159.5,1159.5,1159.5,200
東証,2024.03.13,13:20:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:21:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:22:00,1159.5,1159.5,1159.5,1159.5,0
東証,2024.03.13,13:23:00,1160.0,1160.0,1160.0,1160.0,200
東証,2024.03.13,13:24:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:25:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:26:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:27:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:28:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:29:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:30:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:31:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:32:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:33:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:34:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:35:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:36:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:37:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:38:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:39:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:40:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:41:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:42:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:43:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:44:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:45:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:46:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:47:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:48:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:49:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:50:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:51:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:52:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:53:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:54:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:55:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:56:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:57:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:58:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,13:59:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:00:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:01:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:02:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:03:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:04:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:05:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:06:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:07:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:08:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:09:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:10:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:11:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:12:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:13:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:14:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:15:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:16:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:17:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:18:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:19:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:20:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:21:00,1160.0,1160.0,1160.0,1160.0,600
東証,2024.03.13,14:22:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:23:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:24:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:25:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:26:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:27:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:28:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:29:00,1160.0,1160.0,1160.0,1160.0,0
東証,2024.03.13,14:30:00,1161.5,1161.5,1161.5,1161.5,200
東証,2024.03.13,14:31:00,1154.0,1154.0,1154.0,1154.0,200
東証,2024.03.13,14:32:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:33:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:34:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:35:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:36:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:37:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:38:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:39:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:40:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:41:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:42:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:43:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:44:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:45:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:46:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:47:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:48:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:49:00,1154.0,1154.0,1154.0,1154.0,0
東証,2024.03.13,14:50:00,1157.0,1157.0,1157.0,1157.0,400
東証,2024.03.13,14:51:00,1157.0,1157.0,1157.0,1157.0,0
東証,2024.03.13,14:52:00,1156.5,1156.5,1156.5,1156.5,200
東証,2024.03.13,14:53:00,1160.0,1160.0,1160.0,1160.0,1000
東証,2024.03.13,14:54:00,1156.5,1156.5,1156.5,1156.5,200
東証,2024.03.13,14:55:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,14:56:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,14:57:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,14:58:00,1156.5,1156.5,1156.5,1156.5,0
東証,2024.03.13,14:59:00,1154.0,1154.0,1154.0,1154.0,200
東証,2024.03.13,15:00:00,1148.5,1148.5,1148.5,1148.5,3400

2024年03月14日

try4bs

この質問者本人です。投稿先を間違えたようです。しかも重複にて誠に申し訳ございません。こちらの質問は取り下げさせて頂きます。あらためて別の質問箱に投稿させて頂きますので、こちらには回答不要でございます。よろしくお願い申し上げます。

2024年03月14日

かぶのすけ

VBS経由でマクロ実行時のデータ取得ができない件

いつも困ったらこちらを拝見して勉強させていただいています。今回初めて質問させていただきます。
エクセル2016.windows11にて岡三RSSCFDを利用して、240分足の始値、高値、安値、終値、取引数量、建玉数量を取得、別シートへ転記するマクロを書きました。
既存の足データを一度全てClear contensし、
その後DoEventsとDo loopにてRSS側から再度データを取得させる仕組みにしました。

A
全て手動で
1.ネットトレーダー株365を起動→2.エクセルを起動+同マクロを含むファイルを開く→3.マクロ実行
とすると問題なく転記することができました。
こちらを自動化するためにVBSを書いて
B.
1,手動でネットトレーダー株365を起動→
2.VBSにてエクセルを起動+同マクロを含むファイルを開く3.同VBSにてマクロ実行
とするとうまく転記できません。
動きを見てると既存のデータを消した後に再度データが埋まらずにそのままマクロが走ってしまい、最新データを取得できない様です。

AとBの違いはVBSで実行するかしないかだけなのに、なぜこの様になるのか分からず1ヶ月近く試行錯誤していましたが、自力ではお手上げです。具体的にはVBA上で、wait.sleep.CalculateなどとDoEventsの組み合わせを追記してみたり、
VBS上でSleep 3000を散りばめたりしてみましたが、なんとも解決しません。

どうしたらVBSからでもうまくデータを取得させられるのでしょうか?

2024年03月02日

大野 了

かぶのすけさん、こんにちは!!

1のonTimeが一番安定はするのですが
やっぱりExcelをあげっぱなしにしないといけないので、
何か別の方法で解決できるのであれば、それもよさそうですねー

なにはともあれ、少しでもお役に立てたようでよかったです。
また、何かありましたらご質問いただけますと幸いです!!

2024年04月05日

大野 了

test.xlsx (1.2KB)

かぶのすけさん、こんにちは!!

なるほどー
共用のPCだと開きっぱなしは厳しいですねー

いろいろと考えてみたのですが、WSH(VBS)縛りだと制限が多く・・・
いろいろと面倒だったので、キー操作をエミュレーションするやり方でやってみましたー


添付しましたサンプルは『自動起動.xlsm』のマクロは使用せず、すべてVBSだけでやっていますので、
サンプルのVBSで良ければ『自動起動.xlsm』のマクロは削除してしまっても問題ありません。


もし
『できるだけマクロでやりたいぜ!!』
ということでしたら、
『チャートシート選択(27行目)』から 『RSS時系列データ取得待機(50行目)』のRSSのデータ取得の部分と
『保存と終了(70、71行目)』だけをVBSで行うと、RSSのデータ取得は動きますので、
後は、もともとかぶのすけさんが作られていた、
CreateObject(COM形式)でもう一度Excelを起動してRunでマクロを動かせば良いと思います!!


ご参考になれば幸いです!!

また、もしわかり辛い点がありましたら、再度ご連絡いただけますと幸いでーす!!

※自分も拡張子をxlsxに変えていますので、vbsに変更していただけますと幸いです!!

2024年03月23日

かぶのすけ

大野様
1OnTime
2VBS(Shell)×AUTOOPEN、
3VBS(Shell)×エミュレート(+マクロ)
確認検証させていただきました。
3は複数銘柄にわたってループ処理をしていくときにコードを冗長にするか、マクロとVBSの切り替えを頻繁にすることになり、私には管理が難しそうでしたので、
2で考えていきたいと思います。AUTOOPENを発動させずに開く方法を見つけましたので、それも使いながら、自分のシステムをまた作っていきたいと思います。
1もすごく良かったので、最終手段はそれにしようかと笑
教えていただいて本当にありがとうございました!!

2024年04月05日

かぶのすけ

大野様
ご教示ありがとうございます。
先日はバタバタしてしまい、確認作業ができなかったのですが、確認出来次第結果をご報告させていただきます!よろしくお願いします!

2024年03月27日

大野 了

かぶのすけさん、こんにちは!!

原因が分かりました。
というか、元々知っていたんですが、完全に忘れてしまっていました(ごめんなさい

かぶのすけさんが、VBSで使用されているCreateObjectは『COM形式』と言いまして、
この形式で起動したExcelでは"岡三365CFD"が正常に動作しません。

これを回避するためには、shellというものを使ってExcelを起動しないといけないのですが、
この形式で動かすと岡三CFDは正常に動作sるのですが、外部からマクロを実行することが非常に面倒です。
※現在VBSで、objExcel.Application.Run"時間記入" とされている部分です


これを回避するためには、WorkbookのOpenイベントでマクロが自動で実行されるようにするのが
一番手っ取り早いのですが、これだとVBSからではなく手で起動した際にもマクロが動いてしまいます。

このため、もしExcelを起動しっぱなしでよければ、onTimeをお勧めします!!
もし、何かしらのご都合でExcelの起動しっぱなし自体が厳しい場合は、また、ご連絡いただけますと幸いです。
なんか考えてみます!!


※一応、現状で動くソースコードを記載しておきます

VBS
==========================================
Option Explicit
Dim objShell

Set objShell = CreateObject("WScript.Shell")
objShell.Run "excel F:\SynologyDrive\myfile\個人\自動起動.xlsm"

set objShell = nothing
==========================================



Excel (ThisWookbook に追加してください)
==========================================
Private Sub Workbook_Open()
Call Run("時間記入")
End Sub
==========================================

2024年03月21日

かぶのすけ

自動起動.xlsx (96.1KB)

大野様
ありがとうございます。
ExcelのOnTimeの件はまた今週末に確認させていただきます。
取り急ぎ、ファイル自体に問題ないかの件、xlsmファイルをエクスプローラー上でxlsxに変えたものをUPします。

2024年03月20日

大野 了

かぶのすけさん、こんにちは!!

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

xxx.vbsというファイルを作り、頂いたコードを含んだサンプルを作って動かしてみたのですが、
マクロ自体は正常に動作いたしましたー

多分、ファイルの別のところに原因があるかもしれませんので、
もし問題が無ければファイルをあげて頂けますと幸いです。
※ファイルは、拡張子を『xlsm』から『xlsx』に変えてあげると、投稿できるようになります!!

また、タスクスケジューラで実行されるとのことですが、これは数分おきにマクロを自動実行されたいということでしょうか?
それでしたら、VBAにある『onTime』メソッドを使用すると、マクロを定期実行することができます!!
Excelを立ち上げっぱなしになってしまいますがー

以前いただいた質問のリンクで大変申し訳ございませんが、こちらをご参考いただけますと幸いです。
https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=258#comment_1385

これを使えばタスクマネージャなどを使用して外部から起動させなくても、最悪、定期的にマクロを動かしてデータを転記することはできると思います!!

2024年03月19日

大野 了

かぶのすけさん、こんにちは!!
これまた、気が付くのが遅くなってしまい大変申し訳ありません。

コードありがとうございました!!

=========================================
まず,VBSのコードはこちらです。
Option Explicit
Dim objExcel

中略

objExcel.Quit
Set objExcel = Nothing
=========================================

こちらのコードはExcelのマクロではなく・・・
xxxx.vbsというファイルを作り、それをダブルクリック等で動かされているという事で間違いありませんでしょうかー?

2024年03月19日

かぶのすけ

大野様
返信ありがとうございます。大変嬉しいです!
一点目の確認ですが、WSHの言葉が分からず調べるほどの、レベルでして(今までネット独学のみのため)、明確な回答ができないので、ファイルを準備してアップしようかと思います。今しばらくお待ちください。今週いっぱいをめどに準備出来次第アップします。

2024年03月12日

大野 了

かぶのすけさん、こんにちは!!

まず、コメントを見つけるのが遅くなってしまい、返信が遅くなってしまいました。
大変申し訳ございません。

一点確認です、こちらはExcelの『VBA』ではなく、WSHを使用し『VBS』で起動されているという事で間違いありませんでしょうか?
多分、起動のさせ方だとは思うのですが・・・
現状の情報だけですと判断が厳しそうです・・・

もし、問題がなければ、起動を行っているVBSと転記しているExcelを上げていただくことは可能でしょうか?
ファイルを見てみたいと思います!!

また、もしファイルのアップが厳しい場合は、
起動しているところのロジックと、起動させたいマクロの部分の情報をいただけますと幸いです!!

2024年03月11日

大野 了

かぶのすけさん、こんばんは

ファイルありがとうございます
xlsm、vbs共に正常にダウンロードできました。

大変申し訳ございません。
本日、少し忙しいので、木曜日か金曜日に確認したいと思います!!

しばらくお待ちいただけますと幸いです!!

2024年03月20日

かぶのすけ

excel_macro_exec.xlsx (486B)

と思いましたが、vbsファイルをxlsxファイルにエクスプローラー上で変えたらUPできましたので添付いたしました。
よろしくお願いいたします。

2024年03月20日

かぶのすけ

大野様
解決方法を示していただきありがとうございます!自分だけでは到底たどり着けない答えです。『COM形式』とShellといったものを初めて聞きました。Shellで起動して、マクロ自体はオープンイベントで実行させるのですね。承知いたしました!!

実は、エクセルの起動しっぱなしは、パソコンが100%自分の物ではなく家族と共有なので、(とはいっても90%以上は私が使っているのですが)家族が使うときにエクセルが開きっぱなしだと、少々不都合が生じます。
また、エクセル開きっぱなしを想定していなかったので、その後の自動売買計画(マクロのつくり)を練り直す必要があります。

ですので、ご教示いただいた「現状で動く方法」とは別に、「外部からマクロを実行すること」も検討したいのが本音です。
非常に面倒とのことでしたが、どれぐらい面倒なのかが身に染みてないのでこのようなことを申し上げてしまっているのですが、
方法があるのでしたら、ぜひともご検討、ご教示いただきたいです!!!
教えていただいているのに申し訳ありません。ご検討いただけますでしょうか?

2024年03月22日

大野 了

ご参考になれば幸いです!!

2024年03月21日

かぶのすけ

次に、vbsファイルをエクスプローラー上でtxtファイルに変えたファイルをUPしようとしましたが、txtファイルでは駄目なようです。
先ほどのxlsxファイルのみでご判断いただくことは可能でしょうか?

2024年03月20日

大野 了

リンク先のサンプルの中にある"Macro1"を"時間記入"に書き換えていただき、
『時間記入』マクロの一番最後に入れていただけますと動作すると思います。

また、サンプルは2秒間隔ですので、
NextTime = Now + TimeValue("00:00:02")
の部分の、"00:00:02"の部分を定期的に実行したい時間にご調整いただくと
さぶのすけさんのご希望の間隔で動作させることができると思います!!

2024年03月19日

かぶのすけ

大野様
ご覧いただきありがとうございます。
ご質問の件はおっしゃる通り、****.vbsというファイルを作り、ダブルクリックで実行しています。もし動作がうまくいけば、タスクスケジューラで実行する算段です。

2024年03月19日

かぶのすけ

転記したいシート.png (175.7KB)

追加補足です。
転記したいシートの画像も張っておきます。
うまくいけば数値が貼り付けられます。

2024年03月15日

かぶのすけ

スクリーンショット 2024-03-15 071324.png (104.3KB)

大野様
ファイルの内容がNGなのか、添付しようとしてもはじかれてしまうので、コードをこちらに記載します。
まず,VBSのコードはこちらです。

Option Explicit
Dim objExcel
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True

dim filePath
filePath = "F:\SynologyDrive\myfile\個人\自動起動.xlsm"
objExcel.Workbooks.Open(filePath)

objExcel.worksheets("時間").select'シートが一つの場合はコード自体不要になる。

objExcel.Application.Run"時間記入"

'Msgbox "マクロを実行しました"'クリックしないとExcelを閉じないのでコメントアウト
objExcel.DisplayAlerts = False
objExcel.Quit
Set objExcel = Nothing

以上です。

次にExcelのマクロのコードですが、こちらです。

Sub 時間記入()


Sheets("チャート").Select

Range("A6:F6").Select '1行目のチャート範囲選択)
Range(Selection, Selection.End(xlDown)).Select '(最終行まで範囲選択)
Selection.ClearContents '消す
DoEvents

Sheets("チャート").Select
Range("E3").Select
ActiveCell.Formula2R1C1 = "=CFDREFRESH()" '更新
DoEvents

Sheets("時間").Select 'いったんほかのシートをアクティブにする
Sheets("チャート").Select '元のシートに戻ってくる。
DoEvents

Sleep 5000 'スリープで試す
DoEvents


For i = 1 To 30000 '無意味な処理で試す。
DoEvents
Next i

For i = 0 To 5 '// 1秒停止を5回試す。
Call Application.Wait(Now + TimeValue("00:00:01"))
Debug.Print Now
DoEvents
Next i

i = 5 '日時の行にする

Dim stamp As Long

'フル計算にしてみる。
Application.CalculateFull '再計算する

'waitで試す。時間がかかる
Do Until stamp >= 50 '5秒経過するまで待つ
Application.Wait [Now()+"00:00:00.1"] '100mm秒待機
DoEvents
stamp = stamp + 1
Loop

Sheets("時間").Select
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
Cells(LastRow + 1, 1).Value = Now 'A列の最終行に今の時間を記入する
Sheets("チャート").Select
ChLastRow = Cells(Rows.Count, 1).End(xlUp).Row
Range(Cells(ChLastRow, 1), Cells(ChLastRow, 6)).Select 'チャートの最終行を選ぶ
Selection.Copy
Sheets("時間").Select
Cells(LastRow + 1, 2).Select
ActiveSheet.Paste

ThisWorkbook.Save 'セーブする
End Sub

以上です。

画像を添付できましたので補足しますと、こちらの"チャート"シートの各数値を一度消して、再度表示させようとしているのですが、VBS経由だと数値が再度表示されないという状態です。

2024年03月15日

かぶのすけ

VBS経由でマクロ実行時のデータ取得ができない件

いつも困ったらこちらを拝見して勉強させていただいています。今回初めて質問させていただきます。
エクセル2016.windows11にて岡三RSSCFDを利用して、240分足の始値、高値、安値、終値、取引数量、建玉数量を取得、別シートへ転記するマクロを書きました。
既存の足データを一度全てClear contensし、
その後DoEventsとDo loopにてRSS側から再度データを取得させる仕組みにしました。

A
全て手動で
1.ネットトレーダー株365を起動→2.エクセルを起動+同マクロを含むファイルを開く→3.マクロ実行
とすると問題なく転記することができました。
こちらを自動化するためにVBSを書いて
B.
1,手動でネットトレーダー株365を起動→
2.VBSにてエクセルを起動+同マクロを含むファイルを開く3.同VBSにてマクロ実行
とするとうまく転記できません。
動きを見てると既存のデータを消した後に再度データが埋まらずにそのままマクロが走ってしまい、最新データを取得できない様です。

AとBの違いはVBSで実行するかしないかだけなのに、なぜこの様になるのか分からず1ヶ月近く試行錯誤していましたが、自力ではお手上げです。具体的にはVBA上で、wait.sleep.CalculateなどとDoEventsの組み合わせを追記してみたり、
VBS上でSleep 3000を散りばめたりしてみましたが、なんとも解決しません。

どうしたらVBSからでもうまくデータを取得させられるのでしょうか?

2024年03月01日

のび太

利益が多い建玉から決済したい

RSS365CFDで建玉が複数ある場合に、建玉を決済する際に、玉当たり利益が多い建玉から決済したいのですが、それは決済条件で何か指定できるのでしょうか?

また、指定できない場合は、以下の処理をプログラミングするしかないでしょうか?
建玉を建値の順番でソートする
売買に応じて玉当たり利益が多い順に約定成立番号を取得する
所望の決済数量を満たすまで約定成立番号を決済条件とした指定して決済する

プログラミングするより、決済条件で「利益が多い建玉から決済」と指定できればその方が間違いがないので、方法ご存知の方がいらしたら教えていただけると幸いです

どうぞよろしくお願いします

2023年10月18日

のび太

大野さん

早速のご教示ありがとうございます
やはりそうですか、、
残念ですが、仕様ですからそれを前提に考えるしかありませんね

利益の多い順で決済すること自体には何の意味がないのですが、そうすることで、利益の少ない建玉のみが残るので、その利益の少ない建玉の建値を、ポジション管理(エントリーをエグジットの判断)の為に利用しようと思っていたのです。

ただそうすると、それとは別に損切りのためのロジックを作らなければならないので、矛盾を感じる部分はありました
私は絶対損切りはしないほうが合理的だと思うからです

その合理性は、論理学を知っている人なら、誰でもすぐに理解できることです
論理的に考えれば、損切をすれば必ず損をするわけで、これを恒真命題(常に正しい絶対の真理)です
すると、損をしないならば必ず損切りはしないということも、恒真命題です

もちろん、損切によって確実に得をする人はいるわけですが(笑)、、、、

2023年10月19日

大野 了

のび太さん、こんにちは!!

CFDのマニュアル等も読んでみたのですが、
残念ながら、利益の多い順で決済する方法はなさそうです・・・

また、発注関数にそもそも建玉を指定して決済する機能自体がないようなため、
建玉一覧を取得し、プログラミングなどで約定成立番号を判断することができたとしても、
残念ながら、約定成立番号を指定して決済自体が厳しいと思われます!

2023年10月18日

ヒロシ

起動ボタンの自動化について

mail (2).png (7.1KB)

「岡三証券からの回答」では明確な回答を頂戴できませんでしたが、
上記の画像からボタンのIDを知ってプログラム起動が起動すると、
自動的に作動させて一部のバグをなくすことができると思いますのでご教示ください。
どうぞよろしくお願いします。

2023年09月05日

大野 了

ヒロシさん、こんにちは!!

なるほどー
VBAでOn Offを切り替えたいのであれば・・・

Application.CommandBars("岡三RSS2").Controls.Item("注文実行").Execute

でOn と Offを切り替えることができまーす!!

2023年09月06日

ヒロシ

大野様
お世話になります。
レンタルサーバ上での自動売買を考えており、
そのため、EXCELアドインのボタンの押下もVBAプログラムで実行できるようにしたいと考えております。
ご教示頂けましたら幸いです。
よろしくお願いします。

2023年09月06日

大野 了

ひろしさん、こんにちは!!

こちらは『RSS起動時に注文可能状態』にしたいという事で、間違いありませんでしょうか?
それでしたら、VBAなどのプログラムを作らなくても設定で可能です。

岡三RSSの設定画面にある
『エクセルの注文加・不可状態を維持する』
にチェックを入れておくと、RSSを起動した際に終了時の状態を覚えておくようになるため、
一度、ONにしますと、RSSを再起動してもずーとONになり続けます!!

2023年09月06日

のび太

ネットトレーダー株365の自動再起動について

ネットトレーダー株365は毎日再度ログインしないといけないので、RSSを利用するために、それを何とか自動化したいと思っています
どなたか方法をご存知の方はいらっしゃいますでしょうか
タスクスケジューラやバッチファイルを使えばいいらしいのですが詳細がわからないのです

また再ログインする際に、サーバーが送ってくる情報をエクセルが取得しなくなるので、 エクセルも再起動する必要があると思っていました。
しかし、どうやらエクセルは再起動しなくてもアドインの更新ボタンを押せば再び情報が取得されるらしいということが分かりました
ただ、残念ながらアドインの更新ボタンを自動で押す方法がわからないのです

これについてもご存知の方がいらっしゃればぜひ教えてください

どうぞよろしくお願いいたします

2023年08月25日

大野 了

のび太さん、こんにちは!!

すみません、見落としていましたー

>ネットトレーダー株365は毎日再度ログインしないといけないので、RSSを利用するために、それを何とか自動化したいと思っています
>どなたか方法をご存知の方はいらっしゃいますでしょうか
>タスクスケジューラやバッチファイルを使えばいいらしいのですが詳細がわからないのです
自動起動まではタスクスケジューラやバッチファイルで簡単にできるのですが、
ログインまでとなると、UWSCやRPAなどの自動化ツールを使わないと厳しいと思います。


>しかし、どうやらエクセルは再起動しなくてもアドインの更新ボタンを押せば再び情報が取得されるらしいということが分かりました
>ただ、残念ながらアドインの更新ボタンを自動で押す方法がわからないのです
こちらもRPAなどでやられるのが簡単だと思いますが、
もしVBAから動かされたいのであれば、

Application.CommandBars("RSS株365").Controls.Item(4).Execute

でon offを切り替えることが可能です!!

2023年08月27日

大野 了

のび太さん、こんにちは!!

上手く行きましたかー
よかったです!!

お役に立てて幸いです!!

2023年08月29日

大野 了

のび太さん、こんにちは!!

もし未接続の時だけ動かしたいのであれば、以下のようなIf文を追加するとよいと思います!!

If Application.CommandBars("RSS株365").Controls.Item(4).TooltipText = "未接続" Then
Application.CommandBars("RSS株365").Controls.Item(4).Execute
End If

ご参考になれば幸いです!!

2023年08月29日

のび太

大野さん

たびたびすみません

>Application.CommandBars("RSS株365").Controls.Item(4).Execute

のほうでも問題が生じてしまいました。

これを実行すると、4番目の接続アイコンが赤字のX(未接続)の時はそれがそれで接続するようになるのですが、逆に接続中に実行するとX(未接続)なります。
現在接続しているかどうかの値を取得したいのですが、
https://learn.microsoft.com/ja-jp/office/vba/api/overview/library-reference/commandbar-members-office
にあるCommandBar のプロパティをみても、該当するものがないようです。

アイコンで呼び出しているプログラムの内部変数なのかもしれませんが、Xをつけたり消したりするために何らかのプロパティに反映され取得できるなら、取得したほうが「接続しているのに接続を切る」というエラーを防げそうです。

ご存じでしたらぜひお教えください。

どうぞよろしくお願いいたします。



2023年08月29日

のび太

大野さん

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

>ログインまでとなると、UWSCやRPAなどの自動化ツールを使わないと厳しいと思います。

RPAツールは使ったことがないので、選定から始めたいと思います。

現在お教えいただいた方法を実験中ですが、CFDは場が空くのが1日1回のタイミングなので、ちょっと手間取っています。
あと数日でそれなりに結果が分かると思いますので、改めて報告いたしたく存じます。

>Application.CommandBars("RSS株365").Controls.Item(4).Execute

VBAのコード,とても助かりました。こんな方法があるのですね!ありがとうございます。

まずはお礼まで、ご返信申し上げます。

2023年08月29日

シス子

4本値の取得のされ方に関する質問

RSSを利用した自動売買を検討しています。自分が開発しようとしているものだと、個別銘柄の1分足4本値が時間を追うごとにリアルタイムで下のセルに掃き出されていくとありがたい(例えばA1に9:00の始値、A2に9:01の始値が吐き出されるイメージです)のですが、岡三RSSではそのような機能が実装されているでしょうか。また、そのような関数がもしあった場合、ブック全体で使用できる数など上限はありますか。利用料金がかかるとのことなので使いたい機能が使えるのか確認できてから申し込みたいと考えています。

2023年01月18日

大野 了

シス子さん、こんにちは!!

個別銘柄ということですので、こちらは現物株ということで問題ありませんでしょうかー?

現物株で分足を取得する場合は、CANDLE関数というものを使用しますが、
このCANDLE関数には並び順(第7引数)を指定する機能があります。

この並び順に"D"と指定を行うことにより、昇順でデータが表示され
シス子さんがおっしゃられておられる
『A1に9:00の始値、A2に9:01の始値が吐き出されるイメージ』
でデータが取得できます!!

2023年01月18日

シス子

ありがとうございます。本格的に検討してみます。

2023年01月20日

のび太

先物からくりっく株365への移行

先物用RSSからクリック株用RSS(ネットトレーダー株365)への移行を進めています。
そこで気が付いたことを共有できればと思います。
私の理解が間違っている点もあると思いますので、お気づきのことがあれば、ご教示いただけるとありがたいです。

ネットトレーダー株365は毎朝再度ログインをしないといけないです。
これを自動化したいのですが、今のところその方法がわからないです。

ネットトレーダー株365を立ち上げて30秒ぐらい立ってからでないと、エクセルシートには情報(価格や建玉・注文など)が取り込まれるようにならないみたいです。
そのため、ネットトレーダー株365を立ち上げた直後にエクセルシートを先に立ち上げたり、エクセルシートを先に立ち上げてからネットトレーダー株365を立ち上げたりすると、情報が更新されないまま無駄にプログラムが動いていくことになるようです。

以上により、再度ログインした際には、それまで開いていたエクセルシートでは情報(価格や建玉・注文など)が更新がされなくなるようです。
そのためエクセルシートの方も再度立ち上げてプログラムを実行する必要があるようです。
そうすると、当然ながら、現在の建玉についてプログラムで保有していた情報(例えばいつになったらイグジットする予定かなど)がすべて消えてしまうので、それらの情報をいったん外部に保存して再度読み込んだりする必要があるようです。

先物RSSは上記のようなことはなかったので、週初めに起動すればそのままほったらかしておいても大丈夫だったのですが、くりっく株365ではだいぶ不便になりました。
もし私の理解が正しいならばシステムを改善していただきたいです。
もし私が間違えているようでしたら、どなたかご教示いただけるとありがたいです。

2023年08月17日

のび太

大野さん

>ネットトレーダー株365が立ち上げ切ってしまう前に、Excelのファイルを起動してしまうと、
>ネットトレーダー株365と接続ができずに、データが取れないようです。

早速、ありがとうございます。
私が書いた30秒というのは、ネットトレーダー株365を起動させてからそれが立ち上げ切るのに必要な時間の目途ということになりますね。
合点がいきます☺

2023年08月18日

大野 了

のび太さん、こんにちは!!

自分のわかる点だけ・・・
ネットトレーダー株365が立ち上げ切ってしまう前に、Excelのファイルを起動してしまうと、
ネットトレーダー株365と接続ができずに、データが取れないようです。

ネットトレーダー株365が立ち上がりきってから、Excelファイルを起動すると、
30秒待たずにすぐに関数が動き取得ができましたー!!

少しでもご参考になれば幸いです!!

2023年08月17日

jj

アドイン等の削除方法

お世話になっております。今回岡三RSSを使わなくなったPCから岡三関係をアンインストールしたのですが、そのPCを立ち上げると最初に岡三RSSインストールしますかというメッセージがでてしまいます。
アンインストールのところには岡三はないんですが、このめっせーじをなくすのはどうしたらよいでしょうか?
それと今エクセルの中アドインをみるとEURO ツールバーアドイン 分析ツール VBA等4種類残ったままです。こちらチェックははずしてますが、こちらも削除してエクセルに関しては初期状態にしたいのですが、この削除方法も教えてください。

よろしくお願いします。

2023年05月01日

大野 了

jjさん、こんにちは!!

上手く行きませんでしたか・・・
あと考えられることとしては・・・
もしかして『Windows起動と同時に開始する』のチェックボックスにチェックを入れられてたりしましたでしょうか?
その場合、スタートアップに登録されているので、もしかしたらそれが残っているかも知れません。

タスクマネージャを起動して、スタートアップアプリに岡三RSSが登録されたままになっていないか、確認していただけますでしょうか?
もし登録されたままになっている場合は、右クリックで無効化を選んでいただくと起動時に聞いてくることはなくなると思います。
確認のやり方は、こちらのサイトを参考にしていただけますと幸いです!!

https://www.pasoble.jp/windows/10/088158.html#:~:text=%E3%82%BF%E3%82%B9%E3%82%AF%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%A3%E3%83%BC%E3%81%AE%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%88%E3%82%A2%E3%83%83%E3%83%97,-%E3%82%BF%E3%82%B9%E3%82%AF%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%A3%E3%83%BC%E3%81%AE&text=%E3%80%8C%E3%82%BF%E3%82%B9%E3%82%AF%20%E3%83%9E%E3%83%8D%E3%82%B8%E3%83%A3%E3%83%BC%E3%80%8D%E3%81%8C%E9%96%8B%E3%81%84%E3%81%9F%E3%82%89,%E8%A9%B3%E7%B4%B0%E8%A1%A8%E7%A4%BA%E3%81%AB%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%81%BE%E3%81%99%E3%80%82

2023年05月03日

jj

うーん、ちょっとうまくいきません。すぐにどうこうではないので何回か挑戦してみます。
それとアドインはチェックはずしときます。

いつもながらありがとうございます。

2023年05月03日

大野 了

jjさん、こんにちは!!

初めて遭遇した現象ですね・・・
初めてなので一発で解決できるご提案はできないのが心苦しいのですが、
一度clickonesのキャッシュを削除してみて頂けますでしょうか?

もしかしたら、clickonesのキャッシュが利いてるのかもしれません・・・
https://blog.regrex.jp/2016/09/02/post-972/

これで直るといいんですが・・・

またアドインのところに出てくる
EURO、分析ツール等は、Excelの標準のアドインですので、残っていても問題ないと思います。
もし不要であればチェックを外している状態で大丈夫です!!(自分も外しています。

2023年05月01日

jj

マクロ

パソコンをいれかえました。
インストールしてエクセルのアドインなどは表示されているのですが

RSSインストールしたのですが、EUROなんとかとかでマクロが実行できませんと すべてのマクロが無効になってますと表示されて価格等が表示されません。どうしよう

2023年02月13日

大野 了

おぉ!!!!
解決できたようでよかったです!!

これでWindows365上での運用ができますね!!
自分もWindows365上で動くという経験が増えたのでよかったです!!
きっかけをありがとうございましたー

また、何かありましたらご連絡くださーい!!


>志村けんさま----!
バ、バレてる・・・(笑

2023年02月22日

jj

やりました。ありがとうございます。
実はパソコン買えるたびにこのような不具合で何度も神様にお願いして都度解決しており、今回は厳しいかとおもいましたが、見事にクリアできました。
本当にたすかりました。これからも希望の星でお願いします。

志村けんさま----!

2023年02月22日

大野 了

とんでもねぇ!あたしゃ神様だ!・・・(年齢がばれる

おぉ!!!
上手く行きましたかよかったです!!

エラーの内容は、
『ソルバーを読み込めないけど大丈夫?』
というエラーになります。

ソルバーを使用されていないのであれば、これまた『Euro Currency Tools』と同じように
Excelアドインから『ソルバーアドイン』を外してください!!

ソルバーは数理最適化のためのツールで、
バックテスト等で数理最適化を利用しないのであれば
使ってないと判断しても大丈夫と思いまーす!!

2023年02月21日

jj

タイトルなし.jpg (41.2KB)

さすがです。神様。とりあえず日本語表示されました。
ファイル開こうとするとこのアドイン表示がて゛ます。
とりあえずわからないのでいいえにしてるとエクセルはひらけません。
okで進めても大丈夫なものですか?

2023年02月21日

大野 了

jjさん、ありがとうございます!!

頂いた画像の日本語.jpgの一番下にある『管理用の言語設定』を押していただき、
出てきた『地域ダイアログ』の管理タブに下にある『Unicode対応でないプログラムの言語』が"日本語"になっていますでしょうか?

もしなっていないのであれば『システムロケール変更』ボタンを押していただき
システムロケールを"日本語"に設定してみていただけますでしょうかー?

2023年02月19日

jj

白紙の時と岡三のファイルの時とで少し違うメッセージが出てます。

もう少しのような感じなんですが。

2023年02月19日

jj

1.jpg (27.0KB)

ちなみに白紙のエクセル新規ファイルを開こうとするとこの順序でメッセージがでます。

2023年02月19日

jj

1.jpg (27.0KB)

でエラーの表示はかわらずで開くと最初にこのエラーがでて

2023年02月19日

jj

日本語.jpg (90.9KB)

いろいろありがとうございます。
とりあえず日本語の件です。一応日本語にはなっているようなんですが。

2023年02月19日

大野 了

jjさん、こんにちは!!

エラーが減ったようで良かったです。

また、新しい画像ありがとうございます。
参照不可のエラー出てないですね・・・

また、Windowsは英語モードで使用されていますでしょうか?
もし英語モードでしたら、エラーメッセージの細かい内容が知りたいので、以下のサイトを参考に
Windowsに日本語パックを入れてみていただけますでしょうか?
※二つ送ります。わかりやすい方法でやってみていただけますと幸いです。

https://jpmem.github.io/blog/w365/2021-08-20_01/
https://flali.hatenablog.com/entry/2021/08/09/071325

2023年02月18日

jj

1.jpg (59.4KB)

お世話になります。euroなんとかを外したらだいぶエラーが減りました。
vbaエディタの参照とかいうのに関してはやりかたがわかりませんのでこちらはまだやってません

???のやつがでてリンクの更新okでおちつくようになったのですが、まだその???がでてしまうのでこれがVBAエディタの参照云々でできるかもしれませんのでそのやりかたちょっとご教授ねがいますか。
??? 最初にでてくるメッセージと 私がたどりついたVBAのやつ添付します。

よろしくお願いします。

2023年02月18日

大野 了

jjさん、こんにちは!!

エラーの情報ありがとうございます。
いろいろなコントロールがエラーになってるみたいです。

PCを入れ替えられた時に、Excelのバージョンが大きく変わったとかありますでしょうか?
もしExcelのバージョンが大きく変わったとかあれば、
もしかすると、いくつかのコントロールが参照エラーになってるのかもしれません。
参照エラーになっているコントロールがあると、VBAがエラーになって起動できなくなってしまいます。


以下のことを確認と対応してみていただけますでしょうか?

1.Excelアドインから『Euro Currency Tools』を使用していなければ外す。
EUROTOOLのエラーが出ていますので、必要ないなら外した方が良いと思われます!!

2.VBAエディタの参照設定で『参照不可』となっているものがあれば、参照不可となっているコントロールを外す
RefEditのコントロールがエラーになってるみたいですので、もし使用していないなら
外した方が良いと思います!!

これで直るとよいのですがー

もし確認方法がわからないとかあれば、またご連絡いただけますと幸いです!!

2023年02月16日

大野 了

jjさん、こんにちは!!

Windows365は使用していないので、正確なところは返答できないのですが
確かマクロも正常に動作したと思います。

エラーが起きた時のメッセージやマクロ無効と表示されているメッセージの
スクリーンショットか、正確なメッセージをいただけますでしょうか?

もし正確なメッセージがわかれば、何かわかるかもしれませんのでー

2023年02月15日

jj

すみませんが、ご見解お願いします。

2023年02月15日

jj

7.jpg (126.3KB)

7 アドイン状況

2023年02月15日

jj

6.jpg (215.3KB)

6 マクロ設定状況

2023年02月15日

jj

1.jpg (23.8KB)

おくります。1.2.3.4の順でok等おしていくと添付のような表示がでます。

2023年02月15日

jj

大野様
お世話になります。今回PC環境なんですが、今まで24時間パソコンつけっぱなしで対応していたのですが、PCが時々落ちたりしてしまうのでどうしようかと思い。windows365のクラウドでと考えましてこちらにてエクセル設定しております。
上記でマクロ有効にしたのですが、最初にファイルを開くとmicrosoft visual basic ????の連発の表示とその後にマクロ無効との表示連発します。

クラウドなのでマクロがうまく実行されないのでしょぅか?
これならパソコンのメンテ考えないでできると思って月払いでやってみたのですが。

2023年02月14日

MRI

RSS起動時について

RSSが起動したらメールで通知する方法はありますか?

2022年09月24日

大野 了

MRIさんはさすがに、もう見られてないと思いますが、
同様のご質問がある方がおられた場合のために、追記しておきます!!

岡三オンライン証券さんで、岡三RSSのログイン時に確認メールを出す仕組みが追加されたみたいです。
この仕組みを利用し、起動時に自動ログインの設定を行っておくと、
岡三RSSが起動された際に、自動でログインされ、メールが飛ぶようにできるかと思います!!

https://www.okasan-online.co.jp/information/2022/1013a/

2022年11月09日

MRI

ありがとうございます。
UWSCで試してみます。

2022年10月04日

大野 了

MRIさん、こんにちは。

こちらはRSSを他のアプリとかで手動でした場合・・・
ということでしょうか?

残念ながら、RSS本体にメールを送信する機能は無いようです。
確実に起動させたいということであれば、
RSSの設定に『Windowsの起動と同時に開始する』という項目がありますので、
ここにチェックを入れて頂くとPCを起動した際にRSSを起動させることができます。

もし定期的に再起動などされていて、その確認のために・・・
ということであれば、
UWSCやRPAなどのツールで起動を監視しておいて、メールを送るシナリオを作る必要があります!!

2022年09月26日

IKB

RSS 365で基本的なサンプルファイルが落ちまくる

基本的なことで恐縮です。2点ほどご教示いただけますと幸いです。
恐縮ですが、全くの初心者です。
①RSS365で岡三証券からダウンロードできるサンプルファイルをもとに、自分独自のシートを作成中です。そのファイルがフリーズして動作しません。独自で作成した部分はまだほとんどなく、そこまで重いファイルではないのですが…。PCのスペックも問題ないと思っています。サンプルシートレベルのもので通常に動作しなくなってしまうものでしょうか…?
②CFDHISTORICALRATEDATA関数を使って過去データを取得してバックテストを実施たいのですが、どのような足の種類でも500程度のデータしか入手できません。これはRSS365では入手できないということでしょうか???そういう場合、他のソースから入手するしかないと考えています(そこまで困難とも考えていませんが、入手先によっては信憑性が落ちると危惧しています)。

2021年07月31日

大野 了

IKBさん、こんにちは!!

CFDは日ごろ使っていないので、明確な回答ができないのが大変申し訳ないのですが、
自分なりに調べてみましたー

①RSS365が重い
確かに岡三RSSに比べるとだいぶ重い感じですね・・・
CFDHISTORICALRATEDATAだと応答なしになっちゃいます。
CFDHISTORICALRATEDATAAUTOだと比較的軽かったので、
もしCFDHISTORICALRATEDATAを使われていて重いのであれば、
CFDHISTORICALRATEDATAAUTOに変更すると改善するかもしれません!!

②CFDHISTORICALRATEDATAで500件程度しか取得できない
こちらはどの銘柄のどの足の種類となりますでしょうかー?
225の1分足では、1142件は取得できましたので、
もし1分足でも取得できない場合は何かしら問題が出てるかもしれません。

また、日足だとつなぎ足でもMAX2年分のデータしか取れないようでした!!

明確な回答になってなく申し訳ありません・・・

2021年08月04日

jj

PC入れ替えでrss表示がでないです。

windows11にPC交換しまして以前使っていたファイルをそのまま移行させたのですがうまくいきません。
なんか中途半端にインストールされている感じですログインはできてるようで右下の岡三マークはあってログインしてます。
エクセルが#name?になってしまいます。他はエクセルアドインが表示されないのとoson com addin 2とかいうのは読み込まれていませんとなります。元のPCにあった岡三rssとかいうアドインは見当たらないです。とりあえずどうしたらよろしいでしょぅか?

2022年04月30日

大野 了

jjさん、こんにちは!!

なるほどーそういう事だったんですねー
なにはともあれ、何とかGW中に解決できてよかったです!

2022年05月05日

jj

大野様
どうやら私ほうで岡三rssのアドインを参照で見たときに最初にdata appのフォルダがでてきてそこに岡三rssの表示がでないので入っていないと思ってこまっておりました。表記のurlみますとprogramからのフォルダでしたので参照からprogramから進んで岡三rssを確認しそれでアドイン設定してチェック入りいままで通り稼働できました。
GW中の対応いろいろありがとうございました。

2022年05月05日

大野 了

jjさん、こんにちは

はい、jjさんがおっしゃられてます通り、
原因は『岡三RSS アドイン』が上手くインストールされていないか
インストール後の設定がうまく行っていないかのどちらかとなります!

以下の点が正常に動作しているか教えて頂けますでしょうか?

1.岡三RSSをインストールした際、岡三RSSとExcelアドインが両方インストールされたか?
岡三RSSを再インストールした際に、
『岡三RSS』と『岡三RSSアドイン』2回インストールが走りますので、これが2回走っていますでしょうか?

2.Windowsのインストールされているアプリの中に
岡三RSS
岡三RSSエクセルアドイン
の2つはありますでしょうか?

3.こちらのサイトのstep04以降の設定は正しくできましたでしょうか?
https://www.okasan-online.co.jp/ont/rss/install/
もしできないのであれば何が原因でできませんでしょうか?

なんとかGW中に終わらせたいですね

2022年05月04日

jj

それとエクセルアドイン確認してみてアクティブなアドインアクティブでないを両方みても岡三RSSは表示されてません。
oson com addin 2はアクティブで表示されていてエクセルでもチェック入ってます。

2022年05月04日

jj

現状整理の件です。windows11でオフィスはちょっと頂いた確認方法ではないのですが、アプリと機能をみるとoffice professional plus2016となっております。いろいろやってみてはいてアドイン表記はできてます。ただ、前にも記載している岡三RSSのみエクセルのファイル オプションからのアドインに表示されてないです。たぶんこれが原因なんでしょうが。他のcom2とかは表示されチェックも入れてます。さらにいうとアプリと機能のところ確認すると岡三RSS 岡三RSSエクセルアドインは表示されておりインストールはされてるかんじではあります。それと岡三エクセルアドインに関してはアプリと機能で変更で修復をかけてみましたが、変化ありません。どうしましょぅか?前のPCみると岡三rssはアドインのところで表示されているのですが、今回のだとこれだけ表示されてこないのでここが原因かとは思うのですが。すみません。もう少しお知恵をお願いします。

2022年05月04日

大野 了

繰り返しになってしまい大変申し分けないのですが・・・

具体的には
https://www.okasan-online.co.jp/ont/rss/install/
こちらのサイトのstep04以降の設定ができないという事になりますでしょうかー?

それとも、上記のサイトの手順はできるが、
アドインの一覧の中に、Excelアドインが表示されないということになりますでしょうかー?

なんか、ごちゃごちゃと質問してしまってすみません!!

2022年05月02日

大野 了

jjさん、こんにちは

だめでしたか・・・
すみません、以下の現状を整理させてください!!


1.岡三RSSをインストールした際、岡三RSSとExcelアドインが両方インストールされたか?

2.Excelをアプリ版ではなく、office版を使用しているか?
確認方法:https://www.okasan-online.co.jp/ont/rss/platform/attention.html

3.アドインのメニューは表示されるか?

4.アドインのメニューの中に、岡三RSSのコマンドバーは表示されているか?

5.『Excelオプション』-『アドインタブ』『アドインリスト』の中に以下の二つがあるか
OSON COM Addin 2
岡三rss

6.『Excelオプション』-『アドインタブ』『管理コンボボックス(一番下にあるやつです)』で
"Excel アドイン"を選び、設定ボタンを押したときに出てくる『アドイン』ダイアログに、
"岡三rss"がありチェックが入っているか?

7.『Excelオプション』-『アドインタブ』『管理コンボボックス(一番下にあるやつです)』で
"COM アドイン"を選び、設定ボタンを押したときに出てくる『アドイン』ダイアログに、
"OSON COM Addin2"がありチェックが入っているか?

2022年05月02日

jj

手順通りやりました。やはり岡三RSSだけアドインのところに表示されてません。他は大丈夫なようなんですが、これが要因で相変わらずエクセルは#name?になってるかとはおもうのですが、こまりました。どうしましょうか?

2022年05月02日

大野 了

jjさん、こんにちは!!

>ただ、岡三RSSのアドインが表示されません。
こちらは具体的には
https://www.okasan-online.co.jp/ont/rss/install/
こちらのサイトのstep04以降の設定ができないという事になりますでしょうかー?

パス等が間違っていなければ、アドインが正常にインストールされていない可能性が高いです。
Clickonceのキャッシュを消して再インストールすれば、直る可能性が高いです。
AppDataフォルダが表示されないとの事ですので、以下に詳しい手順を記載します!!


1.Windowsの再起動
2.Windowsの『アプリと機能』から『岡三RSS』をアンインストール
3.Windowsの『アプリと機能』から『岡三RSSエクセルアドイン』があればアンインストール
4.Windowsの再起動
5.エクスプローラで『C:\Users\xxxxx(ログインしているユーザ)』を表示
6.以下のサイトを参考に、隠しファイルを表示できるようにする
https://win11lab.info/win11-hidden-file/
7.AppDataフォルダが表示されると思いますので、以下のサイトの手順で、clickonceの情報を削除
http://blog.regrex.jp/2016/09/02/post-972/
8.Windowsの再起動
9.岡三RSSの再インストール

手順などわかり辛い点がありましたら、またこちらに投稿して頂けますと幸いです!!

2022年05月01日

jj

あとキャッシュをクリアしてというのもやってみてません。どうやってやるのでしょうか?

2022年05月01日

jj

大野様ご返信ありがとうございます。手順を踏める分ふんだところエクセルにアドインの再インストールしてアドインがエクセルに表示されるまできました。
ただ、岡三RSSのアドインが表示されません。見本のようにすべてに切り替えても表示されません。他はサイトに表示のアドインは表示されてチェック入ってます。それとclickonceでのデータ削除なんですが、こちらさがしてもappとかいうのがないのでユーザー名のやつすべて削除しようとしたんですが、使用中とかで削除できない感じです。どうしましょぅか?

2022年05月01日

大野 了

jjさん、こんにちは!!

こちらは、RSS 365FXではなく、岡三RSSのご質問と受け止めて大丈夫でしょうか―?
もしそうであれば・・・

岡三RSSのアドインが正常に設定されていないか、インストールに失敗してると思われます!!
以下の内容のご確認と対応を行ってみて頂けますでしょうかー?

〇COMアドインの設定が正常に行われているかどうか
 1.ファイル(メニュ) ー オプション - アドインタブ(左の下から二つ目) の中にある
   管理コンボボックス(一番下)をCOM アドイン にして『設定ボタン』押下
 2."COM アドイン"ダイアログが上がってきたら、OSON COM Addin 2 にチェックがあるか確認
   無ければ、チェックを入れてください!
   ※この子のチェックが外れているとアドインのリボンがでません

〇上記を設定してもダメな場合、Excelアドインの設定が正常に行われているかどうか
 1.以下のサイトのStep04以降を試して頂き、Excelアドインの再設定を行う
   https://www.okasan-online.co.jp/ont/rss/install/

〇上記二つでもダメな場合、キャッシュをクリアして岡三RSSを再インストールしてみる
 上記の設定でダメな場合、もしくはリストに出てこないなどで設定できな場合は、
 岡三RSSが中途半端な状態でインストールされている可能性があるため
 キャッシュを削除後、再インストールを行ってあげる必要があります。
 他の方に頂いた質問へのリンクで大変申し訳ございませんが、下記の手順で再インストールを試して頂けますでしょうか?
https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=475#comment_2624

これで直るとよいのですがー

2022年04月30日

へろへろ

RSS365FX重複注文防止

お世話になっています。質問させてください。
岡三RSS(225先物指数等の)注文関数では引数の一つとして、重複注文を避けるための「発注ID」があります。
一方、RSS365FXでFXの自動判定注文などをする場合、注文関数にて最後の引数「入力完了」セルを「1」等に変化させて発注するのだと思いますが、マニュアルによると発注完了後同セルは「0」に更新されるようです。
RSS365FXシートで、短時間に同一の自動発注判定サインが複数回出される可能性のある場合
(例えば、ゴールデンクロスの価格上下交差や、分足判定でサインがn秒(分)間続く場合など)に、重複注文を避けるために、シート上にどのような工夫をして発注を1度に限定できるでしょうか。
 また、「建玉一覧」にある場合には新規注文しない ー という条件を加えた場合、瞬時に上下する価格に対応してでるサインに対して重複注文防止対策になるでしょうか。
お考えをうかがえればと思います。

2017年06月22日

たか

ネットトレーダー365FXの自動ログインについて

自動売買を目指し、ネットトレーダー365FXを自動でログインしたいのですが、UWSCを使てもログインボタンが押せません。
WEBで調べてみたのですが見つけることができません。何かいい方法があれば教えていただけると助かります。

2021年05月14日

たか

早速のお返事ありがとうございます。
やっぱり難しそうですね。
もう少し、調べてみます。

2021年05月17日

大野 了

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

自分もだいぶやってみたんですが、確かに反応しないですね・・・
キーコードをダイアログのWidnowIDに送っても、ボタンのWindowIDに送っても、
マウスで座標指定クリックしても反応なし・・・

さすがにマウスは反応してもよさそうなんですが・・・
普通のWin32のアプリっぽし・・・

UWSCではなくRPA系のツールを使ったが早いかもしれません・・・


動かなかったんですが・・・
もしかして何かの参考になるかもしれませんので
試したソースを張っておきます!!

//FXのログイン画面取得
baseWindowID = GETID("","#32770")

//画面内のコントロール取得
GETALLWIN(baseWindowID)

For targetWindow in ALL_WIN_ID
//ログインボタンを探す(ボタンの大きさでしか判断できなかったw)
If STATUS(targetWindow, ST_WIDTH) = 107 and STATUS(targetWindow, ST_HEIGHT) = 37 then
//RETURN送ってもダメ
//SCKEY(targetWindow, VK_RETURN)

//SPACE送ってもダメ
//SCKEY(targetWindow, VK_SPACE)

//activeにしてRETURN送ってもダメ
//CtrlWin(baseWindowID, ACTIVATE)
//KBD(VK_RETURN)


//ボタンの場所を探してクリックしてもダメ
//BTN(LEFT, CLICK, STATUS(targetWindow, ST_X) + 50 ,STATUS(targetWindow, ST_Y) + 10)

//ボタンの場所を探してDOWN UP してもダメ
//MMV(STATUS(targetWindow, ST_X) + 50, STATUS(targetWindow, ST_Y) + 10)
//BTN(LEFT,DOWN,STATUS(targetWindow, ST_X) + 50, STATUS(targetWindow, ST_Y) + 10, 500)
//BTN(LEFT,UP,STATUS(targetWindow, ST_X) + 50, STATUS(targetWindow, ST_Y) + 10, 500)

Endif
Next

2021年05月15日

とみ

岡三RSSフリーズについて

初めて投稿いたします。よろしくお願いいたします。
昨年の春までは、Worksheet_Calculateを使ったデータ取得VBAが問題なく動作していましたが、今年になった再度動作させると途中でとまってしまいます。
色々と調べてみますと、岡三RSS集いの広場に以下の記事がありました。
■岡三RSSがフリーズした事がある方に質問です https://bbs.okasan-online.co.jp/ont/rss/board/?topic_id=258&page=1#comment_1380
確かに、岡三RSSがフリーズしているようで、Shell関数を使ってRSSを停止して再起動すると無事に動くことは確認できました。しかし停止間隔が早くなり数分間隔でフリーズを繰り返す状況になります。そのような状況でApplication.OnTimeでRSSの停止起動のトリガをかけると、起動停止が繰り返されてしまいタイミングが狂うと岡三RSSがたくさん起動されることになりました。そこでApplication.OnTimeの解除をおこなうFalseも使いまして、比較的安定に動作させることができますが、それでも一日に数回はエクセルがフリーズする状況が発生しています。これは、おそらく岡三RSSの起動停止のタイミングに関係しているかと疑っていますが、実証できていません。このようにRSSの起動停止を繰り返すこと自体がやはり不自然だと思います。
そもそも昨年の春には岡三RSSは正常に動いていたのですが、1年後にフリーズが頻発する事態は異常です。この現象はネットではいくつか見られますので私だけの問題でもVBAの問題でもないように思います。何か本質的な問題があるように思います。別の記事では、昨年8月のwindows10アップデートが影響しているとの記載もありました。ただ、これに対してどうすればフリーズを解消できるかはわかりませんでした。
そこで質問ですが、
(1)岡三RSSがフリーズする原因について、調査してこの原因を排除する対策を取りたいと思うのですが、何かよいヒントや方法をお教えいただけないでしょうか?
(2)岡三RSSの起動停止でなく、起動したままで、例えばメモリリセットなどの初期化ができる方法はないでしょうか?つまり、複数起動等の問題がないリセット方法があれば対症療法でも比較的安定に動かすことができると思います。
以上よろしくご教授頂きたくお願い致します。

2021年03月17日

大野 了

とみさん

なるほどー
再現性が無かったという事は、フリーズしなかったという事でしょうかー?

なにはともあれ、ファイルを頂いたときに動かしてみます!!

何とか解決させたいですね!!

2021年04月06日

Yoichi Muratomi

大野様
本当にありがとうございます。
アイコンがたくさん出るだけだと良いのですが、岡三RSSが複数起動していると判断してしまうようで、起動画面が出てエラーとなるようです。ただアイコンがなくなれば、大丈夫です。
確かにイレギュラー対応ですので、本来はたくさん起動停止する事態を改善すると問題ないかと思います。
Call Worksheets("Sheet1").Copy(Null, Worksheets(Worksheets.Count))
を使ったコードを実行してみましたが、容量が10倍以上に増えることがありましたが、再現性がありませんでした。
どうも、単に各ワークシートでCells.Delete Shift:=xlUp で消去する場合と容量的には変化がないようです。
お送りするコードにはコメント文にしてあります。
お送りするデータ取得コードはほぼ最終版ですが、昨日はフリーズが頻発しました。本日も確認してみます。
急ぎませんのでよろしくご確認をお願いいたします。

2021年04月06日

大野 了

とみさん、こんにちは!!

アイコンがたくさん出るのは、
無理やり再起動してるので仕方ない感じです・・・

イレギュラーな停止に対応するためのコードですので・・・
連発すると厳しそうですね・・・

Facebookに送って頂いても大丈夫です!!

ですが、今ちょっと仕事が忙しく調査に時間を頂いてしまうかもしれません。
ご了承頂けますと幸いです。(ごめんなさい

2021年04月05日

とみ

大野様
ありがとうございます。
頂いたコマンドは起動時の初期化に組み込んでみたいと思います。
実は、初期化は毎日のことなので手動でワークシートのcalculateのあるマクロをコピーできないので困っていました。

そこで、
Worksheets(Sheet_Name).Cells.Delete Shift:=xlUp
ワークシートのデータすべてを消去して、マクロはそのままの状態となるので、これを使っていました。
ファイル容量は200KB程度だったので、安心していました。しかし、フリーズします。
On Timeを使ってますが、今日は20回ちかく停止と再起動を繰り返していました。
この起動停止のマクロは、確か大野さんが記述されていた記事のコマンドを使っています。
Call Shell("taskkill /im OkasanRSS2.exe /F")
Call Shell("cmd /c ""C:\Users\muratomi\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\岡三オンライン証券\岡三RSS.appref-ms""")
しかし、これを繰り返すと、タスクバーにある岡三RSSのアイコンがたくさん表示されており、これをマウスでいじると消えるのですが、手動で操作しないと再起動できません。まあ、起動停止を繰り返すこと自体が不自然なので、どうも抜本的な問題が解決していないように感じます。確かに以前いただいた大野さんのファイルはちゃんと動くのですが、その差分が不明です。On Timeが悪いように思っていますが、どうもわかりません。
また、Facebookにファイルをアップしてもよろしいでしょうか? 本当にお手数をおかけします。

2021年04月05日

大野 了

とみさん、こんにちは!!

また出てしまいましたか・・・

シートの中身をきちんと全部初期化できるのが一番と思いますが、
もし、新しいワークシートをコピーする方法で解決できるのであれば・・・

Call Worksheets("Sheet1").Copy(Null, Worksheets(Worksheets.Count))

とすると、Sheet1をコピーして新しいシートを作ることができます。
コピーですので、元のシートの中に入ってるVBAも一緒に持って行くことができます!!

こいつでテンプレ―ト的なシートからコピーされて、その後名前を変更されるというのはいかがでしょうかー?

2021年04月03日

とみ

大野様
どうもエクセルのファイルの肥大化が問題のようですね。頂いたファイルをいじっているとフリーズしましたが、そのファイルは2.7MBの容量がありました。原因を調べると、.ClearContentsで消去しても何か残っているようです。cntl+endでみると15000行にカーソルがとぶことがわかりました。いつも新しいワークシートをつくるのはWorksheet_Calculate関数を埋め込むのをマクロではできないので肥大化しない方法を考える必要がありますね。使う領域を限定するようにすれば肥大化はなくなると思います。
なかなかすっきりとは行かないようですね。でも原点がありますから、安心です。ファイル容量で今のところは判断できると思います。

2021年04月02日

大野 了

とみさん、こんにちは!!

あちゃー
出ちゃいましたか・・・
という事は、そのほかにも問題がありそうですねー

そうですねー
自分が送ったファイルから、とみさんがどのような追加をされたときに
フリーズするかが具体的にわかると、何かわかることもあるかと思いますがー
『10シートを新規作成したらフリーズする』という情報だけですと
原因の想定は少し厳しいのが現状です。

もしまた何か詰まりましたら、ご連絡頂けますと幸いです!!

2021年04月01日

とみ

大野様
図形というかグラフですね。これもマクロで組んでいたのですが、かなり書き換えました。
あれから、元に戻す作業をしていますが、1~10のワークシートを新規で作成するだけではRSSがフリーズする現象は出ました。
再度、1~10のワークシートを作り直してもすぐにフリーズします。
標準モジュールの中にもゴミがいるのかも知れません。
大野さんから頂いたファイルをベースにして、これには手を加えずにいつでも戻れるようにしております。
何かあったらこのファイルでは安定に動作するかを確認して、追加して別名保存をするようにしています。
標準モジュールもファイルでの転送ではなく、テキストで一度保存してこれを貼り付けるようにしたいと思います。
感触としては結構微妙です。
実は、エクセルが勝手に立ち上がる不具合もあり、ネットでしらべて修復しました。エクセル自体がかなり問題のようですね。
戻れるファイルがあることは心強いですね。おかげ様でお手上げ状態はなくしっかり動作するファイルから始めなおせます。
本当にありがとうございました。
もし、何か悪さする原因がお分かりでしたら、お教えいただけると幸いです。
また、変なことが起こるかもしれませんが、その節はよろしくお願いいたします

2021年04月01日

とみ

大野様
ありがとうございます。
確かに頂いたファイルを動かすと、1時間程度ですが今までと全く異なり安定しています。
多分、今日はフリーズする可能性は低いと思います。
もともとのファイルが6931KB、頂いたファイルが359KBと20倍弱の違いがあるのですね。
元のファイルはデータの残骸が残っているようですね。.ClearContentsを使って必ず毎日初期化していたのですが、消しきれないデータがあったようです。
この原因はゴミデータに再計算してWorksheet_Calculateを呼び出すものがあるかどうかですね。単に容量が大きいのと岡三RSSがフリーズするのとの因果関係はわかりません。基本的にはファイルは大きくなりがちだと思いますが、岡三RSSにエクセル容量に関する制約などがあるのでしょうか?
原因究明は今後の課題として、まずは安定してデータ取得ができるようになりました。今日の3時まで動かして確認してみます。
これまで長く悩んでいた問題がクリアできそうです。本当にありがとうございました。感謝、感謝です!!!
なお、On Timeの使い方等でおかしいところがありましたらご教授頂けると幸いです。

2021年03月30日

大野 了

とみさん、こんにちは!!

図形ですか!!
なるほど!!
データの範囲とかの関係で、もしかしたら可能性ありそうですねー

もし作り直しても改善しないようでしたら、またご連絡ください!!

2021年04月01日

とみ

大野様
どうもありがとうございました。
保存処理があるわけではないのですが、以前のプログラムは図形等をたくさん使っており、かなり消去や追加を繰り返した経緯はあります。
原因は不明ですが、問題があったら一から作り直す形で進めることはしたいと思います。
大変、親切にご対応いただきありがとうございました。

2021年04月01日

大野 了

とみさん、こんにちは!!

返信遅くなりました!!
解決できたようでよかったです!!

ファイルを解くりなおして動いてしまったので、
細かな原因調査は行っていませんが、
VBAに保存処理などが見当たらなかったため、
とみさんのおっしゃられます通り、ファイルが大きいことで動作が停止することは
あまり考えられません。
(もし保存処理があるなら、1秒おきに7M近いファイルの書き込みがあるとまずいかもしれません)

ですので、そもそもExcleのファイルがおかしくなってしまっていたのかもしれません・・・
なので、今回ファイルサイズが小さくなったことよりも、
作り直したことで正常化された可能性も・・・

なにはともあれ、元のファイルを一から作り直す形でうまくいくことを祈ります!!

2021年03月31日

とみ

大野様
昨日は全くフリーズしませんでした。これまでのすべての現象がワークシートにあったゴミのせいであることで辻褄があうと思います。
ワークシートをコピーして使ったことも原因かと思いますが、エクセルの容量が異常に大きい場合には要注意であるとの教訓も得ました。ただ、ゴミはエクセルそのものには影響せずに岡三RSSのフリーズに関与することが不思議ですね。
今日は、オリジナルのファイルのワークシートを新しいものに変えて、実行してみます。これで昨年来のシステムが復帰することを期待しております。ありがとうございました。

2021年03月31日

大野 了

とみさん、こんにちは!!

なるほどですねー
いろいろとありますねー

最小化したExcelファイルを送り返していますが、
そちらでも岡三RSSが停止しますでしょうかー?

動くと良いのですがー

2021年03月30日

とみ

大野様
ありがとうございます。
無事に届いてよかったです。
今回シートを作り直したつもりでしたが、一部コピーして作ったので消し忘れがあったのかもしれませんね。
ありがとうございました。最初から作るようにします。

なお、以前QUATEのみでマクロを動かさない場合はフリースしないと報告しましたが、WorkSHEET_calcuate、On timeを使わずに、Sleepで一定の時間間隔でデータを取り続けるプログラムを作りましたが、これでもフリーズするようです。
何か環境設定にも問題があるかもしれませんね。

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

2021年03月30日

大野 了

とみさん、こんにちは!!

シートから無駄なデータを削って、
必要最小限度にしたファイルで、
1時間ほど動かしてるんですが、RSSは止まらずに動いています。

VBA等は触っていないため、もしかすると肥大化したExcelが問題だったのかと思われます。

必要最小限度に絞った、Excelファイルをメッセンジャーで送り返しますので、
ご確認頂けますと幸いです!!

これで直ることを祈って!!

2021年03月30日

大野 了

とみさん、こんにちは!!

Excelですがメッセンジャにて届きました!!
ありがとうございます。
見てみます!!

また、一点ですが、Excelファイルが大きくなりすぎている件ですが、
原因としては、
不要と思われるデータが遠くのセルに入っており、
そこまでをSheetの領域とみてしまい大きくなってしまっているようです

例)
・シート1の AH~AQ列に文字列が入っている
AD59ぐらいに使用していないだろうと思い割れる線が入っている

・シート2のDD189 に数字が入っている


このようなデータが各シートに入っているため、
Sheetの領域が使わないのに大きくなりなりすぎてしまい
サイズが大きくなっているようです。

もし、A列からI列までしか使用しないのであれば、一度、ファイルを作り直されることをお勧めします!!

2021年03月30日

とみ

大野様
上の差出人は私です。Facebookの名前です。これでメッセージが行っている可能性があります。
ZIPファイルでも送ってみましたが、形式エラー、容量エラーがでました。Zipでは容量が2.5MBでしたが駄目ですね。

2021年03月30日

Yoichi Muratomi

大野様
慣れなくてすみません。メッセンジャーで入れたと思うのですが如何でしょうか?ファイルの添付というメニューがわからず画像・写真の添付のところに無理やりエクセルファイルを入れましたが、おかしなことになっていますか?

2021年03月30日

大野 了

とみさん、こんばんは!!

集いの広場の掲示板には容量オーバーのエラーなんてあったんですね・・・

すみません、まったく知りませんでした。
勉強になりました、ありがとうございました!!

メッセンジャーで待ってます(笑

2021年03月29日

とみ

大野様
容量オーバーとのメッセージももらっていますが、一応xlsxに変えて送ります。なお、もともとはOn Timeがない場合でもフリーズしていますのでこの点でもご確認いただけれと幸いです。
よろしくお願いいたします。

やはり「ファイルサイズが超過しています」のメッセージをもらいました。メッセンジャーでトライしてみます。

2021年03月29日

大野 了

とみさん

Excelで7Mですが・・・
だいぶ大きいですね・・・

多分ですが、拡張子がxlsmになっているのでエラーになるのだと思われます!!
拡張子をいったんxlsxに変えて頂きアップロードして頂けますでしょうかー
その後、こちらでxlsmに変えます!!

メッセンジャーで送られたい場合は、
Facebookで『大野 了』 で検索して頂き、このアイコンと同じアイコンの人(笑
にメッセージで送ってください!!

Application.OnTime SchTime, " Flag_check", , False
を外すと、フリーズするとのことなので、
OnTimeがバッティングしてるのだと思います。

Application.OnTime SchTime, " Flag_check", , False
は OnTime を止めるという事ですので、
これを省く、イコール、OnTimeが停止しない

という事ですので、OnTime自体が悪いのだと思われます。

2021年03月29日

とみ

大野様
お世話になっております。
色々と検討しましたが、うまくいきません。コードを単純化したものをお送りしますがよろしくご確認願います。
ーーーーーーーーーーー
ここから、以下の文を書いて添付ファイルで送ろうとしましたが、7MB程度のファイルでエラーとなり送れませんでした。
「メッセンジャーで直接ファイル」を大野様宛てにファイルを送る方法をお教えいただけませんか? よくわからず申し訳ありません。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
お送りするエクセルファイルは以下の基本的な機能を持つものです。
①銘柄情報ワークシートのC3~I12に=QUOTE($B3,"東証",C$2)などを貼り付けている。
②銘柄情報のC~I列のデータで対応する銘柄の行のデータを各銘柄シータ(1~10)のC4~I4にコピーしている。
③各銘柄のワークシートが変化すると各シートのWorksheet_Calculateを呼び出す。
④SUB Worksheet_Calculateは頂いたエラーハンドラ付きのコードでSub Data_Gettingを呼び出す。ここで引数はワークシート名の1~10の値です。
⑤Sub Data_Gettingでは各銘柄のワークシートの株データの値を改行して時系列のデータとして記録する機能を持っています。銘柄ワークシートのA4セルには=COUNT(E6:E10000)が貼り付けてあり株価データの行数を表示いるのでこれを使っています。また、On Timeを使って一定時間このSub Data_Gettingが呼び出されない場合は停止、再起動をするように設定している。
⑥Sub Initializeはデータの消去と初期化をおこなうものです。データがたまりすぎたら実行すると良いと思います。
以上ですが、基本的には数分でフリーズしてしまい停止再起動もされません。手動で岡三RSSを終了させて再起動するとまた動きますのでエクセルはフリーズしていません。以上より、以下につきまして解決のヒントを頂けると幸いです。
①そもそもなぜフリーズするかの原因がわかりません。繰り返しWorksheet_Calculateが呼び出されていないと思いますが…
②On Timeによる停止、再起動が動作しない原因も分かりません。本来はフリーズすることがない場合は不要かもしれませんがプログラムとして納得がいかないのです。
  Application.OnTime SchTime, " Flag_check", , False
でOn Timeの動作を終了させているのですが、これが悪さをしているようです。この行を省くと起動停止が多く発生してフリーズします。以上お忙しい中恐縮ですがよろしくお願いいたします。

2021年03月29日

大野 了

とみさん、こんにちは!!

Doevents自体はApplication.EnableEventsの動作には影響を与えないので大丈夫と思います。
※Application.EnableEvents = False が解除されたりしない。

とはいえ、VBAでDoEventsとOn timeを組み合わせる状態で、
DoEventsが動いてる時と同タイミングで
セルが入力状態になったりすると、On timeが動かなくなったりします。
この時はフリーズはしませんが、VBAが繰り返し実行されなくなります!!

>これでうまくいかないようでしたらよろしくお願いいたします。
了解しました!
もしよければ、VBAが停止する最小限度のソースに削ってもらえると、
調べるのは早いのでありがたいです!!

2021年03月28日

とみ

大野様
途中で時間を調べていますが、doeventsを使っていました。このコマンドはおまじないみたいな感じで使っていましたが、Application.EnableEvents = Falseを掛けても一時的にこれを開放するかもしれません。doeventsの扱いも問題ですよね?
昨日はこれを外してみましたが、最初は安定に動作していたのですが、時々フリーズしています。On timeの解除がうまくいっていない可能性がありますのでこれを外して来週に検討してみます。
まだ見苦しいコードを整理できていませんが、これでうまくいかないようでしたらよろしくお願いいたします。

2021年03月27日

とみ

大野様
有効なアドバイスありがとうございます。大変参考になります。

今、原因を検討中ですが、Worksheet_Calculateで呼び出すサブルーチンCall Data_Gettingの中に再計算するコードを調べています。
①Now()関数で時刻をワークシートに表示する。
②株のデータを行を増やしてコピーして時々刻々とデータを記録する。
の二つはあります。これらはApplication.EnableEvents = Falseであれば無限ループになる必要がありますが、そうならならないと思っていました。しかし昨日の実験で上記の①と②を単純化のためになくして、時刻のみを別のWorksheet_Calculateがないワークシートに記載するようにしましたが、この場合はフリーズしないようです。そのため①と②が何らかの原因なのかもしれません。

先の質問にご回答いただいたものに追加の質問をさせてください。
Excelを再起動せず上げっぱなしで、岡三RSSだけの再起動するだけで直ります。「岡三RSSの問い合わせ関数をたたき続けた時」との意味がよくわからないのですが、問い合わせ関数とは、QUOTEなど、セルに張り付けて自動で表示する関数とは異なるものでしょうか? それを「たたき続けた時」との意味も分かりません。Worksheet_Calculateで呼び出すことも「たたき続けた時」ということになるでしょうか?
実は上記の①②などもApplication.EnableEvents = Falseによって、サブルーティン中はWorksheet_Calculateを呼び出すことはないと思うのですが、終了後にApplication.EnableEvents =Trueとなった途端に一気に呼ぼ出されるとまずいと不安になりました。エクセルはこの辺のタイミングがずれていることが多いような気がしています。この辺の感触をお教えいただけると幸いです。よろしくお願いいたします。

2021年03月23日

大野 了

とみさん

なるほど!!
岡三RSSの関数はVBAの中で使われていないという事ですね。
とするとExcel側の何かが問題になっている可能性大ですね。

なにはともあれ、早く解決させたいですね。

2021年03月25日

とみ

大野様
ありがとうございます。特に返答遅れは気にしていません。むしろヒントをたくさんいただけるので感謝しております。
Application.EnableEvents = Falseを掛けていますが、Calculateはかなりの頻度で呼び出されています。この辺が不安だったのですが、Calculateが繰り返し呼び出され続けることがないとのお話なので安心しました。
Calculateが呼び出されるシートに=MAX、=COUNTなどが記載されているのでこれも反応する可能性はあります。しかし、『QUOTEをたたく』いてはいないのでエクセルの問題のようにも思っています。
もう少し検討したいと思いますが、ファイルを見やすくして分かりやすい状況で検証したうえで問題が解決しないときはファイルを送らせていただきます。その節はよろしくお願いいたします。

2021年03月25日

大野 了

とみさん

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

ご質問の件ですが、

>「岡三RSSの問い合わせ関数をたたき続けた時」との意味がよくわからないのですが、
>問い合わせ関数とは、QUOTEなど、セルに張り付けて自動で表示する関数とは異なるものでしょうか? 
QUOTEなどはVBAから直接読んでデータを取得することが可能ですので、
もし大量の再実行処理が走ってその中で、QUOTEなどを使っているのであれば、
岡三RSSに負荷がかかるのではないかと考えました!!


>それを「たたき続けた時」との意味も分かりません。Worksheet_Calculateで呼び出すことも「たたき続けた時」ということになるでしょうか?
変な書き方して申し訳ありません。
「たたき続けた時」はQUOTE関数を実行し続けた場合という意味となります!!
関数を実行する際に『QUOTEをたたく』という言い方をする時があるので、
そのまま使ってしまいました・・・



>実は上記の①②などもApplication.EnableEvents = Falseによって、サブルーティン中はWorksheet_Calculateを呼び出すことはないと思うのですが、
>終了後にApplication.EnableEvents =Trueとなった途端に一気に呼ぼ出されるとまずいと不安になりました。
はい、Application.EnableEvents = Falseを掛けているのであれば、Calculateが繰り返し呼び出され続けることは無いと思います。


2件まとめての返答になってしまい、返答漏れがあったら申し訳ありません


こちらのフリーズするファイルですが・・・
データのスクリーニングだけのファイルで
システムトレードのノウハウなどが無いファイルで、
もし、こちらの掲示板にアップロードして頂くか、
メッセンジャーで直接ファイルを送って頂けるのでしたら、自分が見てみましょうか?

2021年03月24日

とみ

大野様 
お世話になっております。
本日は、Worksheet_Calculateにご指摘頂いたエラーハンドラー部分を付け加えて、ここで呼び出されるSUB Data_Gettingについて検討しております。先日はここの部分はWorksheet_Calculateを呼び出されないワークシートに時刻を表示する単純化を施したものを動かすと1日中フリーズすることがなかったものです。この時も10銘柄7項目をQUATEで表示するワークシートを用意して、銘柄に対応する10のワークシートそれぞれの項目をコピーすることで再計算してWorksheet_Calculateが呼び出されるようにしています。そこで、今回は同様でSUB Data_Gettingでは、再計算したデータを同一の銘柄ワークシートに時々刻々と改行してデータをコピーするようにしました。この場合はやはりフリーズします。
フリーズの検出は、SUB Data_Gettingにbeepを入れて音がしないときにフリーズしたと判断しました。
試しに動作中に岡三RSSを停止させてWorksheet_Calculateを呼び出さないようにしてみましたが、beep音が数回鳴りました。
どうもVBAでは動作をかなり保持しているようです。つまりサブルーティンを動作しているときでもWorksheet_Calculateが動作している可能性があるように感じています(確認できませんが)。
以前と今年の違いはインターネット環境が5Gとなり高速化していることでがこれの影響もあるかと思います。動作を遅らすために、
SUB Data_GettingにSleep 2000を入れて2秒程度遅らせましたが効果ありませんでした。この時のbeep音は2秒よりも早いです。
どうもこの辺にヒントがないかと思います。つまり、QUOTE関数の変化に対応して、マルチタスク的に短時間に複数のWorksheet_Calculateが呼び出されている可能性はあります。先のご回答の「たたき続けた時」ということと関係があるかもしれません。
なお、今回の実験でも岡三RSSの再起動で復帰しますが、一度もエクセルを再起動しないで起動します。
よろしくお願いたします。

2021年03月24日

大野 了

とみさん、こんにちは

返信遅くなりました。

安定して動きましたかー
という事は、岡三RSSの環境等は大丈夫そうで、VBAの何かが原因であることが
大きそうですね・・・

という事は直せるという事なので、一歩前進ですね!!
とみさんのおっしゃられます通り、
今回単純化した部分と、元のソースとの差分に何かしら原因があると思われます。


また、ご質問の件ですが・・・

>(1)これが原因でフリーズする場合は、岡三RSSを停止して再起動すると復帰する現象が説明できません。そして、エクセルがフリーズしているわけでもないようです。岡三RSSが単独でフリーズしている原因がエクセルにある理由が理解できませんでした。
なるほど!!
Excelを再起動せず上げっぱなしで、岡三RSSだけの再起動するだけで直るんですねー
以前あったのですが、岡三RSSの問い合わせ関数をたたき続けた時があって
その時は岡三RSSが止まってしまいました。
再計算などの中で岡三RSSの関数を使用している部分はありますでしょかー?


(2)プログラムでは、
など、 Application.EnableEvents、Application.ScreenUpdating によって、再計算してもCalculateが呼び出されなく永久ループすることはないように思いますが、間違いでしょうか?

こちらもイベントを止められてるんですねー
でしたら、とみさんのおっしゃられます通り、Calculateが繰り返し呼ばれることは無いと思います!!

また、余談になってしまいますが
Application.ScreenUpdatingやApplication.EnableEventsを使用される場合は
エラー処理を行ってあげたが良いと思われます!!
今の状態ですとエラーが起きた場合、PGが画面描画を止めたまま止まってしまいます。
※もしここ以外でエラー処理を行っていたら申し訳ありません。

以下のようにエラーハンドラーを設定すると
エラーが起きても必ず画面再描画とイベントの停止処理を元に戻して
PGが終了します!!

Private Sub Worksheet_Calculate()
On Error GoTo ErrorHandler

Application.ScreenUpdating = False
Application.EnableEvents = False
Call Data_Getting(6)

ErrorHandler:
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

2021年03月22日

とみ

大野様
本日の実験は終了しました。単純化したWorksheet_Calculateでの実験でもフリーズすることはなく、ほぼ数秒間隔で安定に動作しているようです。
しかし、現実にはWorksheet_Calculateを使った元のコードではフリーズしますので、このコードの相違点を追っかけるしかないようですね。確かにフリーズするプログラムは自動売買を行うことを目標にしていますので、複雑な計算もしているのでご指摘のようにWorksheet_Calculateが悪さをしているのかも知れませんね。

2021年03月22日

RSSユーザー

大野様
たびたびすみません。よく考えれると、Worksheet_Calculateがフリーズの原因とのお話に以下の疑問がでました。
(1)これが原因でフリーズする場合は、岡三RSSを停止して再起動すると復帰する現象が説明できません。そして、エクセルがフリーズしているわけでもないようです。岡三RSSが単独でフリーズしている原因がエクセルにある理由が理解できませんでした。
(2)プログラムでは、
Private Sub Worksheet_Calculate()
Application.ScreenUpdating = False
Application.EnableEvents = False
Call Data_Getting(6)
Application.EnableEvents = True
  Application.ScreenUpdating = True
End Sub
など、 Application.EnableEvents、Application.ScreenUpdating によって、再計算してもCalculateが呼び出されなく永久ループすることはないように思いますが、間違いでしょうか?

以上、単純な疑問で申し訳ありませんがよろしくお願いいたします。

2021年03月22日

とみ

大野様
おはようございます。
ありがとうございます。Worksheet_Calculateの再計算が掛かり続ける可能性については慎重に検討してみます。
今日は、単純化したWorksheet_Calculateを使ったエクセルを動かそうと思っています。銘柄情報と名付けたワークシートに10銘柄7項目をQUOTEの関数を記載して、各銘柄ごとのワークシートに各銘柄情報をコピーします。このワークシートは10銘柄分あります。この10個ワークシートにWorksheet_Calculateを組みこんでありますが、ここで単純化してNow()の値を銘柄情報と名付けたワークシートに記載するような処理のみをするようにしました。このため、Worksheet_Calculateでは自分のワークシートを再計算することはないと思います。これで検討してみたいと思います。本日の結果を楽しみにしております。自分ではそうではないと思っていたのですが、確かに自分のワークシートを何かのタイミングで再計算させるコードが紛れているかどうかは調べてみる必要があると思いますね。非常にありがたいアドバイスありがとうございます。

なお、Application.OnTimeにつきましては、言われるように頻繁にエラーが起こるとバッティングしてExcelが止まることは確認しています。ただ、問題のフリーズするオリジナルのプログラムは15:00過ぎたときにデータを保存するために設定するのみ動作中にはバッテングすることはないので本来はこれが原因でフリーズしたのではないと思います。
ただ、データを保存する方法として、Worksheet_CalculatではなくApplication.OnTimeをつかって定期的に5秒間隔で取り込む方法もあるので、どちらが安定かを検討してみたいとも思っています。

2021年03月22日

とみ

大野さま
ありがとうございます。
フリーズするVBAのプログラムは、10銘柄7項目をQUOTEで検出ワークシートを作り、銘柄毎に10個ワークシートから対応する項目のセルを読みだして、Worksheet_Calculateで各セルが値が書き換えられると刻々と各銘柄の7つの項目を行を増やして記入するプログラムです。Application.OnTimeは15時過ぎににファイルの自動保存を行うためだけに使用しておりましたが、フリーズするようになってRSSを再起動するためにApplication.OnTimeを使いますと、たまにエクセルがフリーズするようです。
昨日は、このプログラムの10銘柄7項目をQUOTEで検出ワークシートのみを残して他のワークシートは削除して、マクロが全く動作しないようにしました。つまり、Application.OnTimeやWorksheet_Calculateは削除されています。その結果は、終値だけが表示されており、RSSはフリーズしていないようです。
来週は、本来のプログラムで10銘柄のワークシートのWorksheet_Calculateのみを動作させようと思いますが、データは書き込まずに時刻のみを表示させるように単純化して動かしてみようと思います。最後にほぼ15時を10銘柄すべてが表示されていればフリーズは発生しないとの結論になると思います。その場合は、VBAの問題だと思います。来週に結果を報告させていただきます。それほど複雑なプログラムではないので信じられないのですが、この点ははっきりとしないと駄目ですね。

なお、以前の大野さんの記事
https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=258
で「2019/8月の月例アップデート(WindowsUpdate)でVBAなどが止まってしまう不具合が出ているのでそれが原因になっているかもしれません。」と書かれていますが、現在はこの問題はないでしょうか?
また、別の記事
https://diy-tradesystem.com/okasan-rss/rssfreezetaisaku
では、岡三RSSのメモリ使用量が900MBを超えると危険との記載がありましたが、フリーズが発生するプログラムを動作中にでタスクマネージャー確認すると最大でも60MB程度でした。フリーズしてもこの値が増加していないので、これも問題ないかと思っています。

2021年03月20日

大野 了

とみさん、こんにちは!!

なるほどー!!

今、お尋ねした感じでぱっと思い付いた内容ですと・・・

・Application.OnTimeを複数使っていてバッティングしている
・Worksheet_Calculate内で再計算が掛かるような項目を更新してしまい
Worksheet_Calculateイベントが動き続けている

ぐらいでしょうかー

まず、Application.OnTimeですが、
複数個所にApplication.OnTimeを仕掛けた場合、同じ関数がOnTimeで呼ばれると
バッティングしてExcelが止まってしまう時があります!!

また、Worksheet_Calculateの再計算が掛かり続ける件では、
Worksheet_Calculate内でセルをする時に、
セルの再計算が掛かってしまうようなセルを更新してしまうと、
Calculateが次のCalculateのイベントを呼んで
さらにそのCalculateが次のCalculateのイベントを・・・
と永久ループしてしまいフリーズすることがあります!!
※通常は重くなるだけで止まらないと思うのですが、VBAでやってること次第では止まるかもです・・・

2021年03月20日

大野 了

とみさん、こんにちは!!

バージョンありがとうございます!!
Professinal PlusならMonthly Updateで何か新機能が入ったことが原因とは
考えつらいですね・・・

Application.OnTimeも複数の場所に書いてしまったりして、
使い方を間違うとExcelが不安定になってしまうので・・・

なにはともあれ、QUOTEだけのファイルがきちんと動くのか
それでもフリーズするのかでまた考えたいと思います。

動いてくれると、問題点がVBAに絞れるので良いのですがー

2021年03月18日

とみ

大野様
早速のご回答ありがとうございます。バージョンにつきましては以下です。
windows10
office Professinal Plus 2016
昨年のExcel VBAでは全く問題がなく、今年にそのまま動かしたらフリーズする事象に会いまして困惑しています。
今回は大野様の記事からRSSを停止と起動をさせるコードを作って、その中でApplication.OnTimeを使いました。この際にもあまりにもフリーズが頻繁に発生するので、Application.OnTimeが多く発生しており、これが原因でエクセルがフリーズすることが多いようです。これらもすべては、岡三RSSがフリーズすることが原因だと思っています。昨年以降にWindowsも岡三RSSも何回かアップデートを繰り返していますので、これが原因のように感じています。

ご指摘のようにまっさらなExcelファイルに=QUOTE("6701","東証","現在値")単独での動作の確認は試してみたいと思います。ただ、Worksheet_Calculateはデータ取得には必須でこれが使えないと岡三RSSの意味がないのでこの活用も含めて検討してみます。結果は改めてご報告させていただきます。

2021年03月18日

大野 了

とみさん、こんにちは!!

なるほどー岡三RSSのフリーズですか・・・
確かにとみさんがリンクを張られてる記事の様に、フリーズされる方がたまにおられるようです。

自分は、出張に行ってる時など、
1週間ぐらい岡三RSSとシストレのExcelファイルは上げっぱなしなのですが、
これといって止まったことはありません。
しかし、とみさんが止まられるとのことですので、
もしかすると岡三RSS自体は問題なくその他の環境が影響してるのかもしれません。

以下のことを教えて頂けますと幸いです。

・Windowsのバージョン
・Excelのバージョン

また、まっさらなExcelファイルに
=QUOTE("6701","東証","現在値")
の様に現在値だけを取得する関数を一つだけ書いた場合、
岡三RSSはフリーズしますでしょうかー?

もしフリーズされないのであれば、
環境も問題なく、Application.OnTimeで呼び出しているメソッドやWorksheet_Calculateの中に
停止に関するヒントがあるかもしれません!!

2021年03月17日

マサ

  2重、3重発注が出てしまう?

365RSSCFDのサプルシートを使ってみての質問です。
関数マニュアルp16には、次のような文章があります。
ちなみに私の場合ではA13,A14での作業の注意点となります。

入力完了セル(A1)の内容を1 にすると発注され、発注完了後に同セルは 0 に更新されます。入力完了セルを 1 にするとその都度発注されます。入力完了セルを指定しない場合は常に発注されます。                       
 ところが私の場合は0にならず何度も注文してしまうという問題が生じることがあります。たとえばIF関数で「○円以上は買い」などと指示を出すと、0にならないで 1のままの状態となり2重、3重の注文をしてしまうのです。
自分のやり方に問題あるのだろうと思い、他のセルの条件を代えたりして試したのですが、変わりません。この点、365RSSは発注ID入力でほぼ確実に防げているのと仕組みが異なるようです。

これは365RSSCFDが元々持っている欠点で、諦めるしか無いのか、それとも私の側の工夫で回避できるのかを教えてください。

2019年12月13日

RSSユーザー

累積損益の最大化を自動化する方法は?

岡三RSS活用編動画:簡易型ボリンジャーバンドバックテストにて紹介されていますが、累積損益を最大化するために、シグマの値を各種手動で変えながら累積損益を最大化しています。これを自動化したいのですが、やり方がわかりません。教えていただければ幸いです。

2020年06月20日

Ken Highfield

早速の返事を頂き、非常に緊張しております(これが当方の最初の質問でした!)。当方の質問は、まさしく累積損益が一番大きなシグマの組み合わせを探したい。ということです。以下二つの方法が考えられるとのこと了解です。
(1)ソルバーが使えるように、バックテストのロジックをすべてセル関数化させて、ソルバーを使用する。
(2)シグマの値を少しずつ変更させながら、Calcボタンを繰り返し押すVBAを書き累積損益が高い組み合わせを探す。
以上(1)につきましては当方超初心者故現在のところ理解できませんが、(2)はなんとかなりそうな気がしております。
計算時間については数日から1週間程度であれば全く問題ないと考えております。(当方パソコンが複数台ありますので:ただしexcelがON LINEで岡三RSSに接続されていなければならないとなれば話は別ですが。。。以前M証券のトレードステーション(突然廃止を宣告され、ショックを受けています)では1週間程度の最適化は普通にしておりました。)
 今後ともご教授よろしくお願いいたします。ありがとうございました。(話は、ずれますが、この最適化についていろいろ探してみましたが、ほとんど見つかりませんでした。みなさん興味が無いのでしょうか? 信じられないです)
 

2020年06月21日

大野 了

こんにちは!!

累積損益が一番大きな、シグマの組み合わせを探されたいということでOKでしょうか?

Excelにはソルバーという機能がありまして
ソルバーを使うとある条件が最大になる組合せ
というものを探し出してくれます。
※数理最適化をやってくれる。

ですが、一つ問題がありこのソルバーはボタンを押したりVBAを動かすことができません。

サンプルシートを観てみたのですが、バックテストをして損益を出すためには、
Calcボタンを押さないといけないっぽいので、今のままだとソルバーは使えません。

なので、手は二つだと思います。

・ソルバーが使えるように、バックテストのロジックをすべてセル関数化させて、ソルバーを使用する
・シグマの値を少しずつ変更させながら、Calcボタンを繰り返し押すVBAを書き
累積損益が高い組み合わせを探す

とはいえ、Calcボタンを押した際の損益計算がむちゃくちゃ時間が掛かるので、
VBAを組むとしても、VBAを最適化させて実行速度をだいぶ早くしないと、
最適値を求めるのに、まる1、2日プログラムを動かしっぱなしとかなるかもしれません。

2020年06月20日

Ken Highfield

早速の返事を頂き、非常に緊張しております(これが当方の最初の質問でした!)。当方の質問は、まさしく累積損益が一番大きなシグマの組み合わせを探したい。ということです。以下二つの方法が考えられるとのこと了解です。
(1)ソルバーが使えるように、バックテストのロジックをすべてセル関数化させて、ソルバーを使用する。
(2)シグマの値を少しずつ変更させながら、Calcボタンを繰り返し押すVBAを書き累積損益が高い組み合わせを探す。
以上(1)につきましては当方超初心者故現在のところ理解できませんが、(2)はなんとかなりそうな気がしております。
計算時間については数日から1週間程度であれば全く問題ないと考えております。(当方パソコンが複数台ありますので:ただしexcelがON LINEで岡三RSSに接続されていなければならないとなれば話は別ですが。。。以前M証券のトレードステーション(突然廃止を宣告され、ショックを受けています)では1週間程度の最適化は普通にしておりました。)
 今後ともご教授よろしくお願いいたします。ありがとうございました。(話は、ずれますが、この最適化についていろいろ探してみましたが、ほとんど見つかりませんでした。みなさん興味が無いのでしょうか? 信じられないです)
 

2020年06月21日

大野 了

Ken Highfieldさん、こんにちは!!

こちらこそ、これからもよろしくお願い致します!!

なるほどー
トレードステーション使われてたんですねー
でしたら、VBAでいろいろとできそうですね!!

複数台PCがあって一週間ぐらいのバックテストに問題が無ければ、
VBAでぶん回しても良いかもですねー


>この最適化についていろいろ探してみましたが、ほとんど見つかりませんでした。みなさん興味が無いのでしょうか?
自分はシステムトレーダーなので検証や最適化はだいぶやるのですが、
まー確かに大変ですしねー(笑
機械学習とか使ってAI的なものやると、どんだけやっても終わらないですしー

バックテストの最適化の話ですと、金融というより数理最適化という数学の話になるので、
数理最適化関係で調べたがよかもしれませーん!!

2020年06月21日

プログラミング経験のあるRSS初心者

MT4との比較で

VBAにおける複数戦略のID管理
という質問を
https://bbs.okasan-online.co.jp/ont/rss/board/?category_id=2&topic_id=329
にUP致しました。
MT4との比較なので、こちらでご質問するべきだったかと気づきましたが、マルチポストになるといけないので、上記URLを記載いたします。
ご教示いただけますと幸甚です。
どうぞよろしくお願いいたします。

2020年06月05日

みね

板情報のEXCEL表示遅延について

昨夕、RSSによる買い注文は連続して約定するのに売り注文がまったく約定しなかったためWEB取引画面で板を確認したところ、EXCEL表示がかなりの時間(10分以上)遅延していることがわかりました。(EXCELを再起動したところ、症状はなくなりました。)

コールセンターに確認したところ、バックグラウンドで別の重たいプログラムを動かしているのではないかと言われましたが、RSS専用のパソコンで、取引銘柄は一銘柄のみ、EXCEL関数以外の処理も行っていませんが、アドイン関数の引数指定がおかしく無効な注文が続いたことが要因なのではないかと推察しています。

PC環境は、Windows10、Office2019、CORE i5(第二世代)、メモリ4G、SSD256G、通信環境はモバイルWiMAX2+です。

今後の再発防止のため、ぜひアドバイスお願いいたします。

2020年05月02日

大野 了

みねさん、こんにちは!!

岡三RSSのデータ更新が時々止まってしまうような問題の原因で多いのが・・・

1.VBA(マクロ)が裏で動作し続けていた
2.同じマシンで別Excelを起動し、そこで作業をしていた
3.CANDLE関数などの場合、その時間その銘柄の取引が無かった
4.通信の瞬断が連続した

Excel関数以外は使用していないということですので、
2以降だと思います。


2.同じマシンで別Excelを起動し、そこで作業をしていた
同じPCで岡三RSSにて取引が動いているExcel以外に、もう一つExcelを起動した場合
それが同一プロセスで動いてるExcelの場合は
取引を行っていないExcelで作業を行うと、
実際に取引が動いているExcelの岡三RSSが影響を受けてデータを更新できなくなります。



3.CANDLE関数などの場合、その時間その銘柄の取引が無かった
岡三RSSのCANDLE関数は、動きの仕様としまして、
起動直後はサーバーからすべての足を取得します。
ですが、起動後は取引があった時にしか作成されません。

ですので、流動性の低い銘柄の場合、
10分間取引が無いと、足が出来ず
Excelを再起動するとサーバーからすべて足を取るので、取引のない時間の足も取得される形となります。


4.通信の瞬断が連続した
長時間の通信切断の場合は、岡三RSSが自動で再接続に行き、
再接続処理をした旨のメッセージが残りますが、
通信の瞬断(ネットが一瞬切れて、すぐに再接続されること、電気の瞬断と同じような感じです)が
頻発している場合、岡三RSSの自動再接続のメッセージも出らずに、
通信が不安定になります。

モバイルWiMAXと言うことでWiFiでPCに接続されていると思いますが、
モバイルWiMAXのルーターとPCの間に電波干渉をするような家電
(電子レンジや冷蔵庫など)
があると、電子レンジでチンした時や、冷蔵庫が本気モードで動いた時など
通信が不安定になります。

もし頻発するようでしたら、有線LANにてネット接続するのが良いと思います!!

2020年05月02日

みね

大野様

早速のご回答ありがとうございます。
1~3の状況にはなかったので、4の可能性が高いです。

取引時間にネットがつながらないことを不満に思った妻がwifiルーターを別室に移動していたことが判明しました。

WiMAXはping値があまり良くないので、光回線を申込済みですが、コロナの影響で回線工事は6月になるとのことです。

当面はwifiルーターを勝手に持ち出されないように注意します。

2020年05月02日

みね

EXCELシートは簡単な関数の組み合わせなので、今のところPCのパワーに問題はないのですが、通信環境は早いところ改善したいところです。

取引銘柄を増やしていくと、PC2台ログインとかコア数の多いCPUのPCへのアップグレードなども検討します。

2020年05月02日

大野 了

みねさん

そんなことが・・・
もしかしたらそれで通信が不安定になったのかもですね・・・

pingもあまり良くないのであれば、
確かに安定してる光回線の方が良いですね

とはいえ、6月ですか・・・
一カ月以上ありますね・・・
コロナの影響がこんなところにも・・・

2020年05月02日

みね

空売り規制対象外の銘柄の連続空売りについて

先週より岡三RSSでの取引を始めた初心者です。
よろしくお願いします。

取得した板情報から信用新規売りと信用返済買いの自動売買を行いたいのですが、空売り規制対象外の銘柄(5/1はソフトバンクグループ)であっても、「51単元以上の空売り規制に該当する可能性がある」とされ自動発注できなくなります。

ある程度時間が経過すると発注できるようになりますが、空売り規制の対象有無にかかわらず51単元以上の連続発注は確認画面での確認が必要なのでしょうか?

2020年05月02日

みね

大野さん

ありがとうございます。

価格は売気配値の一番安値(BOARD関数の気配値5)に指値をしているので空売り規制の対象にはならないと思うのですが、岡三オンライン証券さんに確認してみます。

2020年05月02日

大野 了

ですが、空売り規制銘柄でなくても、
価格指定が、成行だったり、トリガー価格よりも下だったりすると、
空売り規制の対象になりますので、
51単元未満で、連続発注されると取引制限の対象になるかもしれません。

ここら辺は、正確なところがわからないので、
一応、岡三オンライン証券さんに、聞かれたが良いと思います!!

2020年05月02日

大野 了

みねさん、こんにちは!!

空売り規制のメッセージですが、
注意メッセージであれば、
注意画面省略版の岡三RSSを使用して頂くと、
注意画面表示をOFFにすると消せたと思います!!

2020年05月02日

イーサン

Excelにアドインが表示されない

キャプチャ.PNG (49.1KB)

こんにちは。

PCを入れ替えたので、岡三RSSをインストールしたのですが、
Excelにアドインが表示されません。

また、「OSON COM addin 2」が非アクティブになっています。


下記サイトを参考に、いろいろとやってみましたが改善せずです。
https://bbs.okasan-online.co.jp/ont/rss/board/?topic_id=117

どのようにすればよいのか教えていただけますでしょうか。

■環境
・OS:Windows 10 Home 64 Bit
・Excel for Office 365

2020年01月21日

大野 了

イーサンさん、こんにちは!!

OSON COM addin 2が組み込まれてないため、表示されないのだと思われまーす!!

イーサンさんがキャプチャされているダイアログの下に
『管理』というものがありますが、
ここを"COMアドイン"に変更していただき、
その横の設定ボタンを押していただくと
COMアドインというダイアログが表示されます。

その中に"OSON COM addin 2"があると思いますので、
チェックしていただきOKを押すと、アドインが表示されると思います!!

2020年01月21日

大野 了

こんばんはー!!

おー!!
うまくいきましたかー!!
それは、よかったです♪

俺は今、胸が熱いです(食べ過ぎて、ただの胸焼け

お役に立てて、幸いです。

2020年01月21日

イーサン

大野さん、こんにちは!

いつも本当にありがとうございます。

おかげ様でアドインが表示され、岡三RSSもちゃんと
動くようになりました。

思わず目頭があつくなりました。

どうもありがとうございました!

2020年01月21日

きゃべつ

特別買い気配となっている銘柄一覧の出力方法について

タイトルのとおり、特別買気配となっている銘柄の一覧を出力したいので、方法をご存じであればご教示いただきたいです。

ストップ高までいけばHIGHLOW関数で一覧を出力できるのですが、特別買い気配となった時点で銘柄を確認したいです。
(HIGHLOW関数での出力は気配値でのストップ高も含まれるという認識ですが、合ってますか?)

また、別件ですがもう一件。
HIGHLOW関数で出力されるレコードについて、前回更新時では20件、今回更新時では15件の場合、
前回更新時に出力された下から5件については、今回更新を行っても上書きも消去もされないかと思われます。
この5件分を削除するにはVBAプログラム等で定期的に削除しなければならないでしょうか。
他に方法があればご教授ください。

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

2020年01月16日

きゃべつ

>大野様
早々にご回答いただきありがとうございます!
とても助かります!

どちらもやはり認識通りだったんですね...
なんとかVBAで工夫しながら頑張ってみます。
ありがとうございました!!
また躓いたら助言いただけますと幸いです!

2020年01月17日

大野 了

きゃべつさん、こんにちは!!

特別気配ですか・・・

自分は使ってないので、もしかしたら間違ってる可能性があるかとは思いますが、
確か、特別気配の一覧はなく、
QUOTE関数で『気配種別』を1銘柄ずつ見ていくしかなかった気がします。

確かに、こういう一番が取れると便利ですね・・・


>この5件分を削除するにはVBAプログラム等で定期的に削除しなければならないでしょうか。
>他に方法があればご教授ください。
HIGHLOW関数は日ごろ使ってないので、ちょっと使ってみたのですが、
消えなさそうですね・・・
自分もどこか日中動かしてみて、後学のためにも動きを見てみたいと思います!!

代替え案ですが、
もし、一日一回の確認でよいのであれば、日付も表示させて
その日のデータだけを見るようにするのが一番簡単だと思います。

もしザラバ中に、今現在、ストップ高している銘柄の一覧が欲しい場合でしたら
残念ながらVBAで消してから取得するしかない気がします。

2020年01月16日

コアラ

「マクロ'Reflesh'を実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。」

添付ファイル.jpg (384.0KB)

■添付ファイル.jpg内の画像をご覧ください。

3台のパソコンで実験しましたが同じエラーです。
EXCELのセルA1に「=QUOTE("1321","東証","銘柄名")」を配置して、EXCELアドイン→ユーザー設定のツールバー→「更新」ボタンを押すと下記のエラーが表示されます↓

「マクロ'Reflesh'を実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。」
【画像1を参照】


●環境は、、、
「Windows 10 Pro」
「Excel 2016」
【画像2を参照】

●岡三RSSがインストールされている場所は、、、
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn

●参照した岡三RSS質問箱は、、、
マクロが無効
https://bbs.okasan-online.co.jp/ont/rss/board/?topic_id=54

「マクロ'Reflesh'を実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。」について
https://bbs.okasan-online.co.jp/ont/rss/board/?category_id=1&topic_id=200 target="_blank">https://bbs.okasan-online.co.jp/ont/rss/board/?category_id=1&topic_id=200
(1)『ファイル』-『オプション』-『アドイン』
  のアクティブなアプリケーションの中に
  ・OSON COM addin2
  ・oson2.rtdserver
  ・岡三RSS
  が入っているか↘
(1) EXCEL『ファイル』-『オプション』-『アドイン』の中に入っているのは、、、
「OSON COM addin2」
「Realtime Spread Sheet」
【画像3を参照】

「マクロ'Reflesh'を実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。」について
https://bbs.okasan-online.co.jp/ont/rss/board/?category_id=1&topic_id=200 target="_blank">https://bbs.okasan-online.co.jp/ont/rss/board/?category_id=1&topic_id=200
 (2) ALT + F11で、VBAエディタを起動し
  『ツール』-『参照設定』
  の中に"参照不可"となっている項目があるか?
  ※何をすればいいのか具体的にわかりませんでした?
【画像4を参照】

●EXCELアドインメニュに表示されているには、、、
上書きインストールしていたので、重複して表示されているかも???
【画像5を参照】

●EXCELのマクロの設定は、、、
「すべてのマクロを有効にする」
「VBAプロジェクト オブジェクト モデルへのアクセスを信頼する」
【画像6を参照】

●EXCELのメッセージバーは、、、
「ActiveXコントロールやマクロなどのアクティブコンテンツがブロックされた場合、すべてのアプリケーションにメッセージバーを表示する」
【画像7を参照】

●作成したEXCELファイルは、、、
「岡三RSS.xlsm」・・・添付
【画像8を参照】

●岡三RSS(株式・先物OP取引対応)は、、、(申込済み)
「2019年11月06日までご利用いただけます。」
【画像9を参照】

2019年10月04日

大野 了

コアラさんこんにちは!!
すみません、見落としてました・・・

ざざっとみた感じ、岡三RSSのExcelアドインが正常にインストールできていないみたいです。

岡三RSS.xlaというファイルが、
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn
もしくは
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS
の中にあると思いますので、このファイルをExcelアドインとして登録すると行けると思います
詳しい内容は以下のサイトが参考になると思います!!

https://www.okasan-online.co.jp/ont/rss/install/


また、上記でも直らない場合、インストール自体が失敗してる可能性があります。

その時は岡三RSSを再インストールして頂くか、
以下のサイトを参考にされて
clickonesのキャッシュを削除後再インストールを試して頂けますでしょーかー

https://blog.regrex.jp/2016/09/02/post-972/

2019年10月07日

あんこし

先物のデータ取得ができません

初歩的な質問で申し訳ありません。

CANDLE関数での日本株のデータ取得はできるのですが、
FCANDLE関数で225miniのデータ取得しようとするとセルが「#N/A」となってしまいます。

サンプルシートに書かれていた下記

---------------------------------
セル上に「#N/A」が表示され、データが取得できない場合
→  http://qa.okasan-online.co.jp/faq_detail.html?id=550

セル上に「#N/A」が表示され、データが取得できない場合
→  http://qa.okasan-online.co.jp/faq_detail.html?id=551
--------------------------------

を参照しましたが、どれもあてはまっておりません。
先物・オプション口座も開設いたしましたし、
接続状態や引数も関数マニュアルを見ながら何度も確認致しました。

ほかに考えられる状態があればご教示ください。
よろしくお願いいたします。

2018年07月31日

Ryo Ohno

あんこしさん、初めまして!!

ご解決されたようで良かったです!!

2018年08月01日

あんこし

解決いたしました。

2018年08月01日

とーしろプログラマ

VBAで「refresh関数」を走らせるには?素人で

素人ですいません、いま「RSS365FX」で始めて自動売買プログラムを作りこもうとしています。
「チャート自動照会」という関数をエクセルシートに設定していますが。指定した「60秒」でカッチリ更新されません。
なので無理やりVBAで「更新(refresh)」したいのです。
更新されない理由は様々かもしれませんが、とりあえずrefreshをVBAで走らせる方法は、それはそれで知りたいので先人の方のお知恵を拝借させてください。よろしくお願いします。

※これが指定どおりに走りません。
=FXHISTORICALRATEDATAAUTO("USD/JPY","1分足","約定値","60秒","日時",B8)

2017年08月23日

Ryo Ohno

とーしろープログラマさん初めまして!!
大野と申します。


自分は残念ながらRSS365FXには詳しくないのですが、
関数リファレンスを見てみたら、
FXREFRESHという関数がありました。

これを60秒お気に実行すると、
もしかしたらうまい事動いたりするかもしれません・・・

すみません、RSS365FXが待ったくわからないので、ちゃんとした回答ではなく、申し訳ありません。

2017年09月06日

ぞうやん

岡三RSSを自動でオフオンしたい

岡三RSSを長時間動かしていくと徐々に重くなっていくので、途中で一度、時刻を指定して自動オフオンをしたいです。
UWSC、またはwindowsのタスクスケジューラーを使うのかもしれませんが、どなたか簡単な方法を教示いただけるとありがたいです。

2017年11月23日

ぞうやん

間違えました。自動オフオンでした。動いているPC、動いている岡三RSSの状態で、岡三RSSのみ指定時刻に自動オフオンしたいです。

2017年11月23日

ぞうやん

失礼しました質問の場所を変更しますので、こちらは無しということで。

2017年11月23日

ぞうやん

追加です。オンオフしたいのは岡三RSSのみです。

2017年11月23日

Take

条件

個別株について
1、複数の銘柄を成行注文
2、成行が約定したら、指値、逆指値で決済注文
3、指値、逆指値で約定されなければ、引け売り

上記の条件で作成したいのですが、どのように作成すればいいのでしょうか?

また、前日の安値、高値、始値は取得できないのでしょうか?

お手数ですが、ご回答お願いします。

2017年08月30日

ヤマダ

225miniの四半期期近(3,6,9,12月)データを作成する方法を教えてください。

FCANDLEで作ろうとすると直近になってしまいます。
数100日分をTOPIX先物の直近と並べて比較できるようにしたいです。

よろしくお願いします。

2017年12月17日

ヤマダ

カテゴリー間違えました。
質問キャンセルさせてください。

2017年12月18日

Vanilla

VBAイベントの不具合(Worksheet_BeforeDoubleClick)

『RSS 365FX』におきまして、下記の不具合が発生しています。
どなたか、解決法をご存知の方、いらっしゃいますでしょうか・・・。
どうぞ、よろしくお願いいたします。
(メールにて『お客さまサポート』に問合せしたのですが、
VBAに関しては、サポートできない
とのことで・・・。←なんで~???)



それと、サポートに追加要望(下記3)をだしました(参考までに・・・)。
(要望3が、解決すれば、楽天RSSから岡三に口座を切り替えるのに、との話も身近で多々あります。)



1.不具合内容

エクセル(Excel2013)上のイベントVBA(Worksheet_BeforeDoubleClick)において、
セル編集を無効にするために、
パラメータを Cancel = Trueに設定しているにも
かかわらず、セルへのカーソルがアクティブ状態になり、
セル編集が、有効になってしまう。

WorkSheet内のコード-------------------------------------------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Cancel = True

End Sub

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


2.事象発生の切り分け

①『RSS 365FX』のエクセルアドインをインストールする前までの
通常の『岡三RSS』だけのアドイン状態では、上記不具合は、
発生せず、正常な画面遷移となっていた。

②『NET_TRADER 365FX』をインストールし、
『RSS 365FX』をアドイン後、上記不具合が
発生する(その他のソフトのインストールはしていない)。


③上記②の不具合の状態を確認してから、
『NET_TRADER 365FX』をアンインストールすると、
正常な状態(VBA画面遷移)にもどる。

④他参考事例として、『Application.EnableEvents = False』と
なっている場合、上記②が発生するとの報告もあり、
VBAイベント内(Worksheet_BeforeDoubleClick)や、
イベント前、後に、『Application.EnableEvents = True』を
設定しても正常な動きとはなりませんでした。

 

3.その他要望事項

 岡三RSS『FCANDLE』関数において、1分足データ等の
短い時間足でのデータ取得時に、当該時間内(1分足なら1分以内、3分足なら3分以内)に、約定がない場合、当該時間を
リアルデータ受信時は、省略される仕様となっていますが、
未約定の場合でも当該時間が、省略されないように仕様変更を
要望します。
(分足単位で前の足を含め売買サイン等を計算している場合、
不整合となる。また、VlookUp関数やIndex関数等により省略時間の
整合性をとった場合、不必要な負荷が発生し、非効率であると
思慮します)。
 

2017年07月18日

岡三RSS全般に関するご意見・ご要望

ヒロシ

信用取引において『MARGINORDER_CL』関数で成行買いを入れた注文をキャンセルする場合の関数について

信用取引において『MARGINORDER_CL』関数で成行買いを入れた注文をキャンセルする場合の関数は、
『ORDERCANCEL』関数でよろしいでしょうか?
ご教示頂けますと幸いです。
宜しくお願いします。

2024年01月15日

ヒロシ

有難うございました。

2024年01月15日

大野 了

ヒロシさん、こんにちは!!

はい、確か信用取引のキャンセルも『ORDERCANCEL』だったと思います!!

2024年01月15日

投資初心者

キャンドル関数を用いたチャート表示のエラー(パラメーターが無効)の解除方法について

「岡三RSSの入門」ビデオに従ってチャートを作成してみたのですが、移動平均線期間の変動値である「ボタン3」を押すと下記のエラーメッセージが表示されて修正方法が分かりません。(ボタン2の方は、正常に動作するのですが)
 実行エラー 1004
 パラメータが無効です。
PCスキルがあまり無く、方法のメドが立てないで困っております、どなたかお教えいただけけないでしょうか?

2024年01月03日

大野 了

投資初心者さん、こんにちは!!

もしよろしければ、作られたファイルを上げていただくことは可能でしょうか?

こちらはサンプルファイルがなく動画を観られながら、
投資初心者さんが1から作られたと思うのですが、どのように作られたかがよくわからず・・・

2024年01月03日

丹下段平

岡三RSS利用期限について

はじめまして
最近始めた者です。右も左も分からないもので、よろしくお願いします。

お知らせ左下にある、使用期限なのですけど
これって、詳細、どこかでわかりますか?
例えば、今使われている手数料の合計とか、
期限がいつ切り替わるとか

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

2023年09月24日

大野 了

丹下段平さん、こんにちは!!

すみません、間違っていました・・・
年間の利用料の累計は観れないのですが、
ログイン後の『入出金・振替』タブの中にある『入出金履歴(過去分)』で確認できるようです!!

2023年09月26日

大野 了

丹下段平さん、こんにちは!!

>結局のところ、自分で累計取ってないと分からないってとこでしょうか
こちらはRSSの利用料の累計ということで間違いありませんでしょうかー?

RSSの利用料の合計などは残念ながらわからないため、
もし確定申告等で必要となる場合は、残念ながら自分で累計を取っておく必要があると思います。

ご質問の内容ですが、内容によっては答えられないこともあるとは思いますが、
ひとまずは何でも大丈夫だと思います!!

2023年09月26日

丹下段平

早速ありがとう御座います
結局のところ、自分で累計取ってないと分からないってとこでしょうか

色々 マニュアルに出ていない事が多くて戸惑ってしまいます。
例えばタスクバーの中のインジケーターで、色々操作するとか、、、、これに気が付くのに苦労した

どのあたりまで質問していいのか、ちょっと考えてしまいますが(VBAの事とか、考えているプログラムの事とか)
宜しくお願いします

2023年09月26日

大野 了

丹下段平さん、こんにちは!!

岡三RSSの使用期限の件ですが、
こちらは有料無料問わず、単純にRSSが利用できる期間となるようです。

無料使用の条件(毎月2000円以上の手数料)を満たした場合は、
この期間が自動で延長されるのですが、
満たしていない場合、この期間が終了するとRSSが利用できなくなります。

また、残念ながら引き落としなどの自動延長はないため、契約期間が切れる度に再契約が必要なようです。
※このためRSSの使用料などを確認する画面がない

自分はずーと無料使用条件を満たしているため、
一度もお金を払ったことが無く・・・
情報が間違っている可能性もあることはご容赦いただけますと幸いです!!

2023年09月25日

TEE

イフダンOCOの訂正注文について 2

追記させていただきたいのですが、訂正注文の執行条件を0の最大指値に変更したところ、注文が実行されました。
しかし滑ります。
これを8の逆指値、発注条件を1の指値で動かす方法はないでしょうか?

2022年09月02日

ざき

岡三RSSに10分足の値がほしいです!(再掲)

岡三RSS担当者様
お世話になっております。
自動売買システム開発のざきと申します。

以前、要望として挙げさせていただいた、
日経先物ロウソク足の10分足取得について、
状況としては、いかがでしょうか?
今後ともよろしくお願いいたします。

https://bbs.okasan-online.co.jp/ont/rss/board/?category_id=2&topic_id=420#_=_

2021年02月20日

プログラミング経験のあるRSS初心者

「10分足の値」、私もぜひ欲しいです。

2021年04月26日

ざき

岡三オンライン証券さま

いつもお世話になっております。
コメントの返信ありがとうございます。
今後とも、対応の可否について検討の方
よろしくお願いいたします。

2021年02月23日

岡三オンライン証券

ざきさま

いつも岡三RSSをご利用いただき、誠にありがとうございます。

再度のご要望をありがとうございます。

「10分足の値」についてですが、現在対応の可否を検討しております。

対応する際には、お知らせなどでご報告いたします。

なお、対応しない場合においては、特にご報告をいたしておりません。

なにとぞ、ご理解くださいますようお願い申しあげます。

2021年02月22日

岡本

各関数に関してわからないことが沢山出てきました。どう動作するかの説明ページはありますか?

各関数に関してわからないことが沢山出てきました。関数マニュアルを読めば書き方はわかるのですが、どう動作するかの説明ページはあるのでしょうか?

例えば、
neworder関数で一部のみ約定した場合、
発注待ちの表記が変わるのか
18引数の注文番号表示先セルに何か表示されるのか
約定数は表示されるのか
等、neworder関数が実際にどう動作するのかを知りたいです。

また、実際の注文をせずに各関数の動作を自分でテストする方法はありますか?(デモのような)

2022年07月04日

大野 了

岡本さん、こんにちは!!

>各関数に関してわからないことが沢山出てきました。関数マニュアルを読めば書き方はわかるのですが、どう動作するかの説明ページはあるのでしょうか?
オンラインの関数マニュアル以外では、pdfがあるぐらいでしょうか・・・
https://www.okasan-online.co.jp/ont/manual/ont_rss/function_list.pdf
とは言え、関数マニュアル以上の込まない情報は残念ながら乗っていないと思われます。

という事で、自分がわかる範囲で・・・

まず、NEWORDER関数は発注を行うまでの関数となりますので、
発注後の注文中の状況を確認するには、ORDQUERY関数を使用する必要があります。

上記を踏まえて・・・


>neworder関数で一部のみ約定した場合、発注待ちの表記が変わるのか
ORDQUERY関数の第二引数に"注文状態"を指定して頂くことにより、
全て約定しているか、一部だけ約定しているかを確認することができます。
https://www.okasan-online.co.jp/ont/rss/manual/detail/8


>18引数の注文番号表示先セルに何か表示されるのか
NEWORDERで行った発注が正常に通った場合は、その注文番号が返ってきます。
注文番号は、訂正注文など注文情報を変更する際に使用します!!

また、注文がエラーとなった場合はエラーの内容が表示されます。


>約定数は表示されるのか
約定数はその注文の合計の約定数で良ければ、
ORDQUERY関数の第二引数に"約定株数"で取得できます。
分割して約定した場合は、POSITION関数から取得できます。
https://www.okasan-online.co.jp/ont/rss/manual/detail/10


>また、実際の注文をせずに各関数の動作を自分でテストする方法はありますか?(デモのような)
残念ながら、テスト環境はなく自身の口座でテストするしかない状況です。
確かにテスト環境あると便利なんですが・・・

2022年07月05日

岡本

大野様、ご回答ありがとうございます。
実用までは中々難しそうですが、引き続き掲示板で質問させていただきながら取り組みます。

2022年07月07日

キタノテイオー

QUOTE関数を複数(100銘柄以上ぐらい)に適応させる件

(例)=QUITE("3186","","現在値")
エクセルに岡三RSSをアドインして自分のWatchlistの銘柄の時価を銘柄コードの隣の各セルに反映させたいのです。1銘柄ずつアドインのツールバーからコピーして銘柄番号を手入力しましたがさすがに100銘柄以上あると手間がかかるなと思いました。それでそれらにコピペかなんかで一気に仕上げる方法を知りませんか?

2022年02月15日

大野 了

キタノテイオーさん、こんにちは!!

うまく行きましたかー
お役に立てて、よかったです!!

2022年02月21日

キタノテイオー

大野さん 連絡が遅くなって申し訳ありませんでした。
大変お手数をおかけしましたがバッチリ出来ました。ありがとうございます。
今後ともご指導よろしくお願いします。

2022年02月21日

大野 了

キタノテイオーさん、こんにちは!!

うまく行きましたかー!!
よかったです!!

マクロで・・・
とのことですが、こちらはどのような内容になりますでしょうかー?

今回やったようなオートフィルでQUITEを量産するようなことを
記述するマクロになりますでしょうかー?

2022年02月16日

大野 了

また、xlsmファイルがアップロードできないので、
拡張子を、xlsxに変えてあげています。
ファイルをダウンロードされた後に、拡張子をxlsmに変更してください!!

2022年02月17日

大野 了

QUOTE記述.xlsx (24.0KB)

キタノテイオーさん、こんにちは!!

説明が大変だったので、ファイルを作成しましたー
ファイル内のマクロをご参考頂けますと幸いです!!

全シートに対し、ROW_MAXで指定した列数まで、QUOTE関数を書き込みます。

オートフィルをマクロでやる感じです!!

2022年02月17日

キタノテイオー

大野さん、早速の連絡ありがとうございます。
Watchlistは売上高伸び予想に基づいて3種類に分けていまして、それぞれ別々のシートへ記載し「GREEN」「ORANGE」「YELLOW」というタブネームで一つのブックで管理しています。今回は教えていただいた方法でそれぞれのシートの最上位セルをフィルハンドルコピーをして作成しました。
今後はマクロで同じことが一気に出来るようにしたいと考えています。やり方をご存じでしたら教えていただけましたらうれしいです。

2022年02月16日

キタノテイオー

大野さん
おかげさまで一気に出来ました。ありがとうございました。
ちなみにマクロでやる方法があったら併せて教えていただけると非常にうれしいです。

2022年02月16日

大野 了

キタノテイオーさん、こんにちは!!

WatchListに銘柄コードはありますでしょうかー?

もしあるのであれば、
それをA列に縦に並べて頂き
B列に
=QUITE(A1,"","現在値")
入力して頂くとA1セルに記述された銘柄コードの現在値を持っていきます。

後は、A1セルをオートフィルでコピーしてあげると
一気に
=QUITE(A2,"","現在値")
=QUITE(A3,"","現在値")
    ・
    ・
    ・
=QUITE(A100,"","現在値")
と入ります!!

2022年02月15日

スペース 西

買付強度の定義は?

日経先物の「買付強度」の定義を教えてください。

・Tickデータ行で、現在値が売気配以上なら買いカウント
 買気配以下なら売りカウントのような気がします。

直前の気配は関係ないのでしょうか?
それと、データ行の売気配、買気配は、約定直後でしょうか?約定直前でしょうか?

2021年05月07日

岡三オンライン証券

スペース西さま

いつも岡三RSSをご利用いただき、誠にありがとうございます。

一般的な考え方としてではありますが、以前の当社公式ブログに記事がございますのでご覧ください。

■岡三オンライントレーダーズ
株価売買強度分析-1
http://blog-traders.okasan-online.co.jp/archives/51644278.html

また、こちらは岡三RSSを利用されるお客さま同士の交流を目的とした掲示板となっております。
ご質問に関しては、コールセンターまでお願いいたします。

■お問い合わせ
https://www.okasan-online.co.jp/support/callcenter/

今後とも、どうぞよろしくお願いいたします。

2021年05月07日

スペース 西

早速のご回答、ありがとうございます。

今一度、ご提示のURLで研究します。

>また、こちらは岡三RSSを利用されるお客さま同士の交流を目的とした掲示板となっております。
>ご質問に関しては、コールセンターまでお願いいたします。

了解しました。

2021年05月07日

RSSで夢を

はじめまして。

数日前に 岡三のRSSをダウンロードしました。これからお世話になります。よろしくお願いします。

エクセルも詳しくないのでさらに難しく感じています。
分からない所、一つ一つ解決しながら、自分が描いたシストレが出来ればいいと思います。

今、ordquery関数をいろいろいじって見ているのですが、日本株サンプルの ordquery 関数の下に出ている***END***の表示が毎日自動的に更新される仕組みが分からなくて、気になっています。日にちが変わると新しく一番上に上がってくるのですが、これは関数の中に何か仕組まれているのでしょか?
同様に、歩み値取得とかで 30行決めたら、それだけ表示される仕組みも知りたいです。
どなたか、解説して下されば本当に感謝します。

2021年09月30日

大野 了

RSSで夢をさん、こんにちは!!

なんか下の方のURLはリンクがおかしくなってますね・・・
コピペで入力して頂けますと幸いです。
岡三RSSのオンラインマニュアルが出てきます!!

もしマニュアルを見てご不明な点があれば、ここに書いて頂けますと
自分でわかる範囲であればどんだけでも回答しまーす!!

2021年10月04日

大野 了

RSSで夢をさん、こんにちは!!

こちらこそよろしくお願いいたします!!

>今は、エクセルが良く分からない事もあるので、『***END***』が日にちが変わるとなぜ上に上がってくるか、仕様的なものが分かるだけでも満足できそうです。

まず岡三RSSの主なお仕事としては、
『サーバー側で持っている株価や約定の情報を取得してExcelのシートに書き出す』
というものとなります。

そしてこの時、サーバーにある何の情報を表示するかを指定するのが、
ORDQUERYなどの各種岡三RSSのセル関数となります!!

ご質問の上がっていたORDQUERYは、"当日分"の注文情報を取得する関数となっているため
日にちが変わるとサーバー上の情報がすべて消え、当日分の注文情報が0件になるため、
データの末尾を示す『***END***』が一番上に上がってくるという動きになります!!


返答内容が、RSSで夢をさんの気になってる部分と異なっていたら申し訳ありません。
もしその場合は、またご返信いただくと幸いです!!

2021年10月01日

RSSで夢を

大野さん

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

クリックするとどちらも同じページが開かれるのですが。。。

今までマニュアルはあまり細かく見てなかったのですが、大野さんのおかげでいろいろ詳しく見て見たら、
様々な情報がありますね。でも、自分にはまだ、その情報を活用できる力があまりないのも同時に感じました。
もっと勉強が必要かと思います。

ありがとうございました。
これからもよろしくお願いします。

2021年10月04日

大野 了

RSSで夢をさん、こんにちは!!

>ORDQUERYだけではなく、他のいろいろな関数も様々な仕組みを持っているのではないかと思います。
>その関数のコードもどのようになっているのか調べたいのですが、そういう方法ももしかしたらあるのでしょうか

現在ですと、岡三RSSのマニュアル以上の情報はないため、
以下の2つのサイトを確認するしか方法はないと思われます。

https://www.okasan-online.co.jp/ont/rss/manual/ list target="_blank">https://www.okasan-online.co.jp/ont/rss/manual/ list
https://www.okasan-online.co.jp/ont/rss/manual/

とはいえ、データが更新されるタイミングと言うような細かい内容は乗っていないため
残念ながら、試行錯誤で調べて行くしかないのが現状です・・・

2021年10月01日

RSSで夢を

大野さん

ご返信本当にありがとうございます。
「ORDQUERYは、"当日分"の注文情報を取得する関数」と言う事なんですね!!
ORDQUERYだけではなく、他のいろいろな関数も様々な仕組みを持っているのではないかと思います。
その関数のコードもどのようになっているのか調べたいのですが、そういう方法ももしかしたらあるのでしょうか
エクセルに詳しければ、大体は推測するのではないかと思いますが。。。

ご返信、本当に、ありがとうございました。

2021年10月01日

RSSで夢を

大野さん こんにちは!!

本当に感謝します。
大野さんのように答えて下さる人がいなければ本当に困ると思います。これからよろしくお願いします。

性格的には入り込むところがあるので、技術的なものにも関心があるかもしれませんけれども、
今は、エクセルが良く分からない事もあるので、『***END***』が日にちが変わるとなぜ上に上がってくるか、仕様的なものが分かるだけでも満足できそうです。

よろしくお願いします!!

2021年10月01日

大野 了

RSSで夢をさん、こんにちは!!

感謝されたくて出てきました(笑

>今、ordquery関数をいろいろいじって見ているのですが、日本株サンプルの ordquery 関数の下に出ている***END***の表示が毎日自動的に更新される仕組みが分からなくて、気になっています。日にちが変わると新しく一番上に上がってくるのですが、これは関数の中に何か仕組まれているのでしょか?
>同様に、歩み値取得とかで 30行決めたら、それだけ表示される仕組みも知りたいです。

こちらの『仕組みが知りたい!』というのは、
岡三RSSのプログラムの動きのような技術的な仕組みにご興味があるということでしょうか?
それとも『***END***』が日にちが変わるとなぜ上に上がってくるか、仕様的なものが知りたいということでしょうかー?

2021年09月30日

T・S

「情報配信サーバへ接続できません」

初歩的な質問で恐縮です。
岡三RSSインストールし、ログイン画面よりログインすると「情報配信サーバーへ接続できません。ネットワークの設定を確認してください。」と表示されログインできません。
「動作環境チェック」でInternet Explorer 11推奨と知り、復元するなどし、また社内のUTMの設定などが影響しているのかと思い、ネットワーク管理者に見てもらい、影響しそうな設定を外すなど対応してもらいましたが、やはり接続できません。
ネットワーク環境なのか、マシンなのか、考えられる原因をご教示いただけると助かります。
よろしくお願いいたします。

2021年09月14日

大野 了

T・Sさん、こんにちは!!

解決しましたかー!!
よかったです!!

通信先は二つあるんですね!!
ありがとうございます!!俺も勉強になりましたー!!

こちらこそ、今後ともよろしくお願いいたします!!

2021年09月16日

T・S

UTM(FortiGate)にて情報配信サーバに対してセキュリティがかかっていることが判明し、担当者に接続用のIPアドレス(2つありました)を調べてもらい、接続ポリシーに追加してもらい解決いたしました。
ご教示いただきありがとうございました。
たいへん助かりました。
今後ともよろしくお願いいたします。

2021年09月16日

T・S

ご回答ありがとうございます。
一つずつ調べてみます。

2021年09月15日

大野 了

T・Sさん、こんにちは!!

とりあえず、自分のところでは発生していないので、
環境の問題かと思われます!!

現状ですと、岡三RSSのインストールが失敗しているのか、
ネットワークが問題かの切り分けが必要ですので、以下の点を確認してみて頂けますでしょうか?

1.岡三RSSをインストールしているPCが、ノートPCや、Wifiが使えるデスクトップであれば、
一旦、スマホなどでテザリングをしてネットワーク環境をごっそり変えてみる

2.もしネットワーク環境を変更できないのであれば、
ネットトレーダープレミアムを入れてみて、情報が取得できるかやってみる

もし、テザリングで動いたり、ネットトレーダーを入れてもダメな場合は、
ネットワークで止まっている可能性が高いと思われます。

その場合ですと、ネットワーク管理者の方に以下の点を確認していただくと解決するかもしれません

1.PCのFirewallを止めてみる。
2.社内のプロキシを使っているのであれば、そこをちゃんと経由する流れになっているか確認する
3.ポートがつぶされていないか確認する
  ( 80(http/tcp)、443(https/tcp) を使用するようです)
4.ルーターなどのネットワークセキュリティでIPやドメインで制限をかけているか確認する
  もしセキュリティが掛かっている場合は、Wiresharkなどで岡三RSSからの通信内容を見て対象のIPに穴をあけてください

以上、パパっと思いついた点です・・・
もしほかに何か思いついたらまた記述します!!

2021年09月14日

RSSユーザー

TICK関数について自動更新がしなくなりました

今週の初めから、@TICK関数の更新がしなくなってます。先週まではなにも問題はなかったのですが原因は何がありえますでしょうか。
@TICK_Mも更新がされない状況です。

2021年07月28日

大野 了

桜井さん、こんにちは!!

うまく行ってよかったです!!

自分も一部だけの関数が動かなくなることと、その場合は再インストールで直ることがあるって
ノウハウがたまったのでありがたい限りです!!

2021年08月05日

桜井 照久

大野さん、アドバイスありがとうございます!
返事遅くなりすみません。
再度RSSインストールでうまく行きました。助かりました。
日経先物や個別株で取引の判断材料に使ってます。
またよろしくお願いします!

2021年08月05日

大野 了

桜井さん、こんにちは

んー
他の関数は動いている感じなんですねー
関数が全体的に動かないのであれば、
自動計算が止まっているなど、いくつか思い当る点はあるのですが・・・

もし、空のExcelシートにTick関数だけ入れたら物を作成して、
Tick関数が動作するか確認して頂くことは可能でしょうか?

もし、それでも動かなければ、一度岡三RSSを再インストールしてみるぐらいしか、
思い当る点が・・・(すみません

2021年07月31日

桜井 照久

大野さん、返信ありがとうございます。
他の関数は、無事動いてます。このTick関数だけが、取りに行かなくなりました。
無事動いているようなので、こちらのPC等の環境のせいですね。スペックとかかな。

2021年07月31日

大野 了

RSSユーザさん、こんにちは!!

TICK関数やTICK_Mを、
自分の環境で動かしてみたのですが、
正常に取得できましたので、岡三オンライン証券さんの環境が原因ではなさそうです。

ちなみに、TICK関数だけが取得できない状況で、他の関数は正常に動作する感じでしょうか?

2021年07月28日

ざき

岡三RSSに10分足の値がほしいです!

岡三RSS担当者様
お世話になっております。
自動売買システム開発のざきと申します。

現在、10分足の始値を確認して
売買判断をするシステムを組んでおります。

現状は、5分足を無理やり、10分足を参照するようにしております。
ですが、どうしても一部パフォーマンスに影響は出てしまう為、
10分足の実装を検討していただければと思います。
----------
ザラ場
8:45、8:50、9:00~
~15:00、15:10、15:15
夕場
16:30、16:40~
~5:20、5:30
----------
のように表示することが出来るかと思います。

長文失礼いたしました。
勝手な事を言ってしまい申し訳ありません。
検討されることがあれば、よろしくおねがいいたします。

2021年01月15日

ざき

岡三オンライン証券担当者様

コメントありがとうございます!

これからも参考にさせていただきます。
よろしくお願いいたします!

2021年01月16日

岡三オンライン証券

ざき さま

いつも岡三RSSをご利用いただき、誠にありがとうございます。

早速ですが、ご要望について回答をさせていただきます。


現在、ご用意していない日中足になるため、システム対応が必須な案件となります。

まずは、ご要望として承らせていただければと思います。


引き続き、岡三RSSのご利用をお願いいたします。

2021年01月15日

ヤマ

ログイン等が出来なくなりました

今まで普通にRSSにログインできていたのですが、数日前から出来なくなりました。

OkasanRSSを再インストールしようとすると、「エラーが発生しました」となります。
岡三オンラインHPから再ダウンロードしようとすると、ダウンロードとOKをクリックした後に「申し訳ございません。このページに到達できません」となります。
「動作環境チェック」でも「申し訳ございません。このページに到達できません」となります。

当方の設定の問題かと思われ、セキュリティを解除したりなどもしたのですが、現在お手上げ状態です。

もし何か教えていただけると助かります。
よろしくお願いいたします。

2020年12月13日

大野 了

〇ネット関係のキャッシュをクリア

もしFWを止めてもまだダメなら、
正常に通信ができない状態になっていると思われるので、
以前、DNSのキャッシュをクリアして頂きましたが、
コマンドプロンプトで、DNS以外のキャッシュもクリアしてみてください!!

やり方
1.コマンドプロンプトを右クリック
2.『その他』の中に管理者として実行とあるので、これを選択して
コマンドプロンプトを管理者モードで起動する
※『管理者 コマンドプロンプト』とWindowタイトルになれば成功です!!
3.以下のコマンドを入力

netsh i i r r
netsh i i de ar
netsh winsock reset
ipconfig /flushdns

上から・・・
TCP/IPの初期化
ARPの初期化
Socketの初期化
DNSキャッシュの初期化(以前試してもらったやつ)
になります!!

これで直ると良いんですが・・・

2020年12月21日

大野 了

FW停止.png (34.0KB)

〇WindowsFirewallを止める

もしクリーンブートでもサイトが表示されないのであれば、
OS側が止めていると思われます。

セキュリティソフトとは別にFirewallというネットワークを遮断する
ソフトもWidnowsでは動いていますので、
これもいったん止めて頂けますでしょうか?
上記のクリーンブート状態の時の方が良いと思います!!

やり方は・・・
1.Windowsキー + i を押して『設定』を起動する
2.『更新とセキュリティ』を選択
3.『Windowsセキュリティ』を選択
4.『ファイアウォールとセットワーク保護』を選択
5.ドメインネットワーク(無い可能性もある)、プライベートネットワーク、パブリックネットワークがあると思うので『(アクティブ)』とついている奴をクリック
6.『Microsoft Defender ファイアウォール』をオフにする
7.左のメニューの『ホーム』をクリック
8.添付画像のようになっていれば成功!!

これで一度岡三オンライン証券さんのサイトを開いてみて
エラーが無くなあれば、
Windows自体のFWで止められています。

2020年12月20日

大野 了

〇クリーンブート

まずは、OSとセキュリティソフトの切り分けをしたいので
一度、クリーンブートを試して頂けますでようかー?

クリーンブートはセキュリティソフトなど、
起動時に自動で起動するいろいろなサービスやアプリを止めて
OS単体だけで起動します。

セキュリティソフトは止められたと言う事と、
WindowsUpdateの後から繋がらなかったと言う事なので、
可能性としては低いですが、
もしクリーンブートして、サイトが表示されるなら、
何かインストールされているソフトウェアなどが止めてることが確認できます。

やり方をまとめてるサイトを見つけたので、
このサイトの手順で、一度試してみて頂けますと幸いです!!
https://itojisan.xyz/settings/14906/

2020年12月20日

大野 了

ヤマさん、ありがとーございます!!

Connection Resetですか・・・
これ面倒なやつです・・・(涙
最終的に繋がらないから、ぶち切ったという・・・

だいぶたくさんになってしますが、以下の事を試して頂けますでしょうか?

・クリーンブート(OS以外のアプリを止めて最小限度で起動する)
・WindowsFirewallを止める
・ネット関係のキャッシュをクリアー

以下、長いので一つずつ分割して書きます(笑

2020年12月20日

ヤマ

ネットワーク診断の結果
>問題を特定できませんでした、となりました。

また、エラーらしき表示は
ERR_CONNECTION_RESET
でした。

色々とお手数おかけしてしまい恐縮です。

2020年12月20日

大野 了

エラー.png (27.8KB)

ヤマさん

あっ・・・
ごめんなさい・・・
IPアドレスでアクセスすると、http通信に落ちてしまうんですか・・・
一度試して書けばよかったです。


通常はhttps通信と言ってヤマさんと岡三オンライン証券さんで、
第三者にパスワードなどが抜かれないように暗号化通信をしているのですが、
それがIPアドレスだと効かないみたいで、
暗号化されていないhttp通信(sがつかない)になるけど『大丈夫?』と警告をブラウザが出してくれています。

個人情報などを入れなければ、暗号化されていなくてもまったく問題ないのですが、
もしご心配であれば無理には試されなくても大丈夫と思います!!

もし、ご心配が無ければ、
Edgeの場合は、下の方に『詳細設定』というリンクがあるので
それを押せば133.250.227.3に進む(安全ではありません)とリンクが表示されるので、
それを押すと『https://133.250.227.3/ 』に飛びます!!

ですが、繰り返しになりますが、暗号化通信がされないのでもし次の画面が出てきても
そっと閉じて、ユーザIDやパスワードなどは入れないでください!

一応、自分がやってみた状態を画像で上げておきます!!
もし、この画像と同じ画面が出るのであれば、
DNSへの通信が遮断されている状態か、
https://trade.okasan-online.rich-direct.jp/ target="_blank">https://trade.okasan-online.rich-direct.jp/
に対しFWなので何かしら遮断されていると思われます。


もし、暗号化していない状態での通信が気になる場合は
Edgeでhttps://trade.okasan-online.rich-direct.jp/ target="_blank">https://trade.okasan-online.rich-direct.jp/ にアクセスして頂いて
また
「申し訳ございません。このページに到達できません」を出して
その下の・・・
『スペルが正しい場合は、Windows ネットワーク診断の実行を試してみてください。』
と出てるところのリンクを押して、
ネットワーク診断の結果を教えて頂きたいのと、
さらにその下の
DNS_PROBE_FINISHED_NXDOMAIN
のようなエラーが出てるかと思うので、それを教えて頂けますと幸いです!!

というか、初めにこれを聞いとくべきでした・・・(すみません

2020年12月20日

ヤマ

上記はIEの場合です。

EDGEの場合は、
接続がプライベートではありません
攻撃者が、133.250.227.3 から個人情報 (パスワード、メッセージ、クレジットカードなど) を盗み取ろうとしている可能性があります。
NET::ERR_CERT_COMMON_NAME_INVALID
このサーバーは 133.250.227.3 であることを証明できませんでした。セキュリティ証明書の発行者は trade.okasan-online.rich-direct.jp です。構成に誤りがあるか、接続が攻撃者によって妨害されている可能性があります。
となります。

2020年12月20日

ヤマ

https://133.250.227.3/
にアクセスしたらどのようになりますでしょうかー?
>だれかが利用者を騙そうとしているか、サーバーに送信されたデータを盗み取ろうとしている可能性があります。このサイトをすぐに閉じてください。
Recommended iconこのタブを閉じる
詳細情報 詳細情報
Web サイトのセキュリティ証明書のホスト名が、参照しようとしている Web サイトと異なります。
エラー コード: DLG_FLAGS_SEC_CERT_CN_INVALID
となります。

2020年12月20日

大野 了

なるほどー
それでしたら・・・

https://133.250.227.3/

にアクセスしたらどのようになりますでしょうかー?
133.250.227.3

https://trade.okasan-online.rich-direct.jp/
のIPアドレスになります。

多分・・・
岡三オンライン証券さんのエラーではなく、
Edgeの
「申し訳ございません。このページに到達できません」
と出そうな気がしますが・・・

また、ブラウザーがedgeならば、
『スペルが正しい場合は、Windows ネットワーク診断の実行を試してみてください。』
と出てるところのリンクが押せて、ネットワーク診断ができるのですが、
何かエラーは検出されますでしょうかー?
&
その下に
DNS_PROBE_FINISHED_NXDOMAIN
のようなエラーが出てるかと思うのですがー、もし出てるなら教えて頂けると
何かわかるかもしれません!!

なんとか解決させたいですねー

2020年12月19日

ヤマ

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

https://trade.okasan-online.rich-direct.jp/
にアクセスされたら、
=================================
エラー
申し訳ございません
再度、トップページよりログインをお願い致します。
=================================
と岡三オンライン証券さんのサーバー側のエラーが表示されますでしょうかー?
>いいえ、「申し訳ございません。このページに到達できません」となります。

『岡三RSSをインストールします』
とメッセージは出てきた感じで、その時にOKを押したらエラーになってると思います。
>はい、その通りです。

こちらのURLでインストーラーをダウンロードすることはできますでしょうかー?
>いいえ、「申し訳ございません。このページに到達できません」となります。

2020年12月19日

大野 了

あー
なんかリンクの間にアイコンが入っちゃう・・・

https://以降は

trade.okasan-online.rich-direct.jp/RSS2/setup.exe

でお願いします!!

2020年12月13日

大野 了

戻ってきますかー
IPアドレスも同じだった感じですよね?


でしたら・・・
https://trade.okasan-online.rich-direct.jp/
にアクセスされたら、
=================================
エラー
申し訳ございません
再度、トップページよりログインをお願い致します。
=================================
と岡三オンライン証券さんのサーバー側のエラーが表示されますでしょうかー?

もし表示されるのであれば、
trade.okasan-online.rich-direct.jp
に対するフィルタリングなどがPCにかかってしまったことや、DNSの問題は
原因から除外できると思います!!

また、
>岡三オンラインHPから再ダウンロードしようとすると、ダウンロードとOKをクリックした後に「申し訳ございません。このページに到達できません」となります。
とのことでしたので・・・
『岡三RSSをインストールします』
とメッセージは出てきた感じで、その時にOKを押したらエラーになってると思います。

OKボタンを押下後は、以下のURLでインストーラーをDLしてくるみたいなのですが、

https://trade.okasan-online.rich-direct.jp/ RSS2/setup.exe

こちらのURLでインストーラーをダウンロードすることはできますでしょうかー?
※ちなみにインストーラーが落とせたとしても正規の手順ではないので、
落ちてきたsetup.exeは実行せずに削除されたが良いと思います!!

2020年12月13日

ヤマ

はい、正常に戻ってきます。

2020年12月13日

大野 了

あら・・・
直りませんでしたか・・・

ちなみに・・・
nslookup okasan-online.co.jp

nslookup trade.okasan-online.rich-direct.jp

の結果は、正常に戻ってくる感じでしょうかー?
戻ってくるなら、DNSは関係ない感じですね・・・

2020年12月13日

ヤマ

回答ありがとうございます。
『DNS リゾルバー キャッシュは正常にフラッシュされました。』と出たのですが、改善されません。

当方でも色々やってみたいと思います。

2020年12月13日

大野 了

なるほどー

お聞きした現象から見ると、
Firewallが正常に止められてることが前提ですが、
もしかするとDNS系の何かがおかしくなってるかもですね・・・

多分、このサイトにアクセスできていると言う事は、
岡三オンライン証券さんのサイトも一部は見れるのだと思います。

多分ですが、
trade.okasan-online.rich-direct.jp
の名前解決が上手い事行かなくなってると思われます!!

コマンドプロンプトで以下のコマンドを叩いて結果を教えて頂けますでしょうかー?
以下のコマンドは、自分のPCから接続しているDNSへ直接問い合わせるコマンドとなります。

nslookup okasan-online.co.jp

上記のコマンドは以下のように結果が返ってくると思います。
権限のない回答:
名前: okasan-online.co.jp
Address: 210.188.192.170

次に・・・

nslookup trade.okasan-online.rich-direct.jp

上記のコマンドは以下のように結果が返ってきてほしいのですが
権限のない回答:
名前: trade.okasan-online.rich-direct.jp
Address: 133.250.227.3

もし上記のように帰ってこない場合は
そのままコマンドプロンプトで

ipconfig /flushdns

と実行して頂けますでようか?
『DNS リゾルバー キャッシュは正常にフラッシュされました。』
と出たら成功です!!

こいつでPC内のDNSのキャッシュをクリアします。

もし、WindowsUpdateでキャッシュなどがおかしくなってる場合は、
これで直ると思います!!

2020年12月13日

ヤマ

数日前とするとWindows Updateが丁度走った時期ですが、
それ以降でようかー?
>はい、その通りです。
&
岡三オンラインさんのサイト以外は普通に見れる感じでしょうかー?
>はい、見れます。
&
セキュリティを解除されたとのことですが、何のセキュリティを解除された感じでしょうかー?
>ESET(キャノン)とFirewallです。
&
また、動作環境チェックページは以下のページでしょうかー?
https://trade.okasan-online.rich-direct.jp/download_check_rss.html
>はい、その通りです。
&
岡三RSS以外の接続ができない件ですが、こちらはブラウザを変更すると表示されたりDLできたりしますでしょうかー?
>いいえ、他のブラウザでも試しましたがダメでした。

2020年12月13日

大野 了

ヤマさん、こんにちは!!

何かFWかウイルスチェック等のセキュリティ系で止まってる感じですね・・・
数日前とするとWindows Updateが丁度走った時期ですが、
それ以降でようかー?
&
岡三オンラインさんのサイト以外は普通に見れる感じでしょうかー?
&
セキュリティを解除されたとのことですが、何のセキュリティを解除された感じでしょうかー?
&
また、動作環境チェックページは以下のページでしょうかー?
https://trade.okasan-online.rich-direct.jp/download_check_rss.html
&
岡三RSS以外の接続ができない件ですが、こちらはブラウザを変更すると表示されたりDLできたりしますでしょうかー?

質問ばかりですみません。
原因の切り分けをしたくて―

2020年12月13日

みね

「注文可能な信用建玉がありません」というエラーについて

チャートと板情報から複数銘柄で自動売買を行っており、ここ数か月はシステムも安定していますが、一昨日から特定銘柄(7518:ネットワンシステムズ)において、REPAYMENTORDER関数による返済売りをした場合のみ「注文可能な信用建玉がありません」というエラーが出て、返済注文ができません。

発注シートの指定銘柄を同価格帯の別銘柄(4118:カネカ)に変更したところ問題なく注文ができており、建年月日等についてもチェックしたのですが、おかしなところは見当たりません。

本来、掲示板ではなくサポートに問い合わせる事項かと思いますが、受付時間が平日のみのため、過去に同様のケースがあれば教えていただきたいと思い投稿させていただきました。

2020年10月31日

大野 了

みねさん

なるほどー
半自動売買って感じなんですねー
判断は自分でやって、決済はルールにのっとってやるとなると、
確かに便利そうです・・・

2020年11月05日

みね

大野さん

スマホからの発注の信用取引区分を岡三RSSの返済売りと
合わせたところ、無事発注できました。

スマホからの指値注文が約定すれば、自動的に返済注文できる
ようになったので、だいぶオペレーションが楽になりました。

2020年11月05日

大野 了

みねさん、こんばんはー

取引区分でしたかー
ダメもとで書いてみてよかったです♪

スマホから新規約定させても、岡三RSSで決済できそうなと言う事がわかったので、自分もノウハウが増えましたー!!

こちらこそありがとうございました!!

2020年11月03日

みね

大野さん

信用取引区分が違っていました。。。

岡三RSSで信用買いする場合は信用取引区分を「一般(無期限)」にしているのですが、
めったにしないスマホ取引では、デフォルトの「制度(6か月)」で発注していました。

アドバイスありがとうございました。

2020年11月03日

大野 了

みねさん

なるほどー
スマホで約定させたポジションが、岡三RSSから決済が掛からないと言う事なんですねー
さすがに試したこともないのでノウハウが無いです・・・

取引種別がスマホと岡三RSSで異なってるってことはありませんでしょうか?
建年月日等も確認されてるとの事でしたので、それぐらいしか思いつきませんでしたー

2020年11月03日

みね

大野さん

ネットワンシステムズ以外の銘柄もスマホ決済した信用玉が返済売りできませんでしたが、
岡三RSSで決済したネットワンシステムズの信用玉は返済売りできましたので、
運用上は問題なさそうです。

ちなみに約定前のスマホ注文は岡三RSSからキャンセルできました。

2020年11月03日

大野 了

みねさん

そうですねー

通常はスマホやネットトレーダーから新規発注したものでも
岡三RSSから決済を行うことができるので、
たぶん大丈夫かと・・・

ん―悩ましいですね・・・
ちなみに『ネットワンシステムズ』だと必ず決済が通らない感じでしょうかー?

2020年11月02日

みね

大野さん

コメントありがとうございます。

一つ気が付いたのですが、基本的には岡三RSSで売り・買い注文を出しているのですが、
ネットワンシステムズだけ、スマホアプリから買い注文を出していました。

2020年11月01日

大野 了

みねさん、こんにちは!!

そうなんですよねー
POSITION関数の時差問題とか
『たまに決済が失敗する』
というのであれば、RSSの仕様に関係した動きで、
いくつか思い当る点があるのですが、
数か月動かされてたとの事ですので、
それだと他の銘柄で今までも起きてておかしくなく・・・

ネットワンシステムズのみ起るというのが・・・
もし何か思いついたら書き込みます!!

2020年11月01日

みね

大野さん

コメントありがとうございます。
Excelシートをコピーして、銘柄コードを変えるだけで対応できるようにしていまして、
他の銘柄ではうまく作動しているので、システムの不具合ではないと思うのですが。

ストップ安後のネットワンシステムズの値動きが面白いので、勝負どころと見ているのですが、
とりあえず月曜日の取引開始前にサポートに確認してみます。

2020年10月31日

大野 了

みねさん、こんにちは!!

一昨日というと、29日ですか・・・
ネットワンシステムズで29日というとストップ安の次の日ですね・・・

しかも、数か月安定して動いているとのことですので、
みねさんが作られたシステムの不具合の可能性は低そうですね・・・

ストップ関係で決済ができない不具合は、
自分はあまり聞いたことが無い・・・
というぐらいしか、コメントが難しいです・・・

2020年10月31日

ヨッシー

追加の問い合わせの件

下記の「エクセルがフリーズする件」で質問したものですが、一週間以上経過しておりますが調査の進捗具合はいかがでしょうか。
そのうえで今回追加の問い合わせをさせていただきます。
前回問い合わせをしたのとは明らかに違う状態で不具合が発生しております。
前回のは出来高急増等により、岡三RSSがフリーズしたと思われますが、今回のは4本値の取得等が正常に行われている状態での不具合です。
先の件と合わせて調査願います。
①3/31(火)
17:30発注の買い建玉が「保有」「約定一覧」シートに表示されず。
関数:@FOPEXEC、@FOPPOSITION
当方、このシートの情報をトリーガーに返済注文を行っており、そのため返済注文が行われず、後日手動にて返済。
②4/3(金)
14:49発注の買い建玉が16:30に返済されるべきところが、返済発注が行われず、ずっと後に手動にて返済。
関数:@FNEWORDER

当方、このシステムで1年以上運用しており、RSSのフリーズ等による不具合はありましたが、①②のような4本値等を正常に取得している状態での不具合は経験がありません。(もちろん発注IDも新規設定しています)
※3/28のバージョンアップとは関係ないでしょうか。
至急調査の上、報告をお願いいたします。

2020年04月03日

岡三オンライン証券

ヨッシーさま

いつも岡三RSSをご利用いただき、誠にありがとうございます。

調査にお時間がかかったことをお詫び申し上げます。

「エクセルがフリーズする件」につきましては、該当するスレッドに回答をさせていただきました。
ご確認ください。

エクセルがフリーズする件
https://bbs.okasan-online.co.jp/ont/rss/board/?category_id=2&topic_id=310
※2020年4月11日(土)に改修を行う予定となっております。

追加のお問い合わせにつきましては、現在調査を行っております。

いましばらくお待ちください。

なお、3/28に行ったリリース内容は日本株の発注関数のみであるため、先物には影響はございません。

引き続き、岡三RSSをご利用くださいますようお願いいたします。

2020年04月06日

プログラミング経験のあるRSS初心者

VBAにおける複数戦略のID管理

例えば、以下のように、いくつかの建て戦略と決済戦略を組み合わせた混合戦略あり、しかも混合戦略1と混合戦略2のように混合戦略が複数あるとします。

混合戦略1:現在値が過去25足または50足のボリンジャーバンドの2シグマを上回ったら買い建て、2時間経過するか現在値がマイナス1シグマを下回ったら決済するが、買い建ては引けの1時間前までとする。

混合戦略2:現在値が過去25足または50足のボリンジャーバンドのマイナス2シグマを下回ったら売り建て、2時間経過するか現在値がプラス1シグマを上回ったら決済するが、買い建ては引けの1時間前までとする。

そのような場合、注文・注文照会・注文通知取得・注文訂正・保有情報取得などの関数が、同一の混合戦略を扱っていることをVBA上でIDとして明示する必要があると思います。
つまり、混合戦略1での処理なのか、混合戦略2での処理なのかを、別々のIDによりきちんと区分する必要があります。
MT4などではOrderSelect関数などを使ってそれを明示して管理します。

しかし、岡三オンライン証券から提供されているサンプルシートを見ると、以下のようになっているため、そのような明示ができないように思います。
1.それらの関数はエクセルのセルに記載されている。
2.注文関数FNEWORDERは発注IDを持つ。一方で、先物注文訂正関数FREPLACEORDERや約定照会情報取得関数FOPEXECは、注文照会情報取得関数FOPORDQUERYによって与えられる注文番号を持つ。そして、発注IDと注文番号の関連は、セルを見て人間が手動で管理している。
3.つまり発注IDと注文番号は人間が手動で管理しない限り、別々のものとなっていて、注文と注文訂正を同一のIDで管理できない。

それではVBAにおける複数の混合戦略のID管理ができないので、複数の混合戦略によるシステムトレードはできないことになります。しかし、それではシステムトレードツールとして無意味なので、何らかの方法があると思うのですが、RSSに触れたばかりで内容を理解できず、困っております。

お分かりの方はご教示いただけますと大変ありがたいです。

また、岡三RSS担当者様におかれましては、ぜひご回答ください。

どうぞよろしくお願いいたします。

2020年06月05日

大野 了

お小遣いおめでとうございます!!(笑

MT4と違ってコードだけですべてができるわけじゃなく、
どうしても間にExcelシートが入ってしまうので、
そのライブラリを入れるだけで動くわけじゃないので、難しそうではありますが、
確かにシェアできるサイトあると便利ですねー!!

あれば俺も一番使いたいです(笑

2020年06月05日

プログラミング経験のあるRSS初心者

大野様

ご丁寧にありがとうございます。

貴重な授業料の成果をシェアしてくださるご厚意に、感謝しております。

今回はラッキーなことに数千円のお小遣いでしたが、私もこれからたくさん授業料を払うのだと思います。

>OCOとかIFDとか、結構みなさんやられたいみたいですので、
関数があると確かに便利そうですね・・・

RSSに関しては、MT4のようにライブラリをシェアするサイトはないようですね。

2020年06月05日

プログラミング経験のあるRSS初心者

大野様

早速にご教示いただきありがとうございます。
実は、統一IDを管理する関数を作るしかないのかなと思っていましたので、お教えいただいた情報はまさに干天の慈雨。
感激です。
今後とも、どうぞよろしくお願い申し上げます。

マニュアルを見ると、メモについては
クライアントメモを表示します。
として書いていないので、全く思いつきませんでした💦

ご厚意に甘えて、もう少し伺ってもよろしいでしょうか。

メモは
先物OP注文照会情報
先物OP保有情報
先物OP約定照会情報
に共通に含まれているようです。
ということは、当初FNEWORDERで渡したメモの値は、それら情報を扱う別の関数でもすべて、統一されて保持されるのでしょうか?

もしそうなら、様々なことがぐっと楽になります。

2020年06月05日

プログラミング経験のあるRSS初心者

自己レスです。

実際にミニ1枚で実験をしてみたところ、少なくともFOPORDQUERY
FOPPOSITION
FOPEXEC
では共通をなることを確認しました。

とりあえず、手動でOCO決済注文を出し、数千円の授業料となるかおこづかとなるか、ドキドキしてみています(笑)

OCO注文をする関数はRSSに内容なので、自分で関数を書いてみます。

取り急ぎ、ご報告まで。

ありがとうございます。

2020年06月05日

大野 了

こんにちは!!

岡三RSSの担当者ではないのですが・・・
複数の戦略で各々に決済などが必要ということですねー

自分も複数ストラテジを動かしているのですが、
それぞれのポジションの判断というものは、
FNEWORDERにある『メモ』という機能を利用しています。

このメモに各ストラテジを判別するIDを入れて発注をすると
FPOSITIONやFOPORDQUERYのメモ欄に、発注時に入れた内容を返してくれますので
それを使う感じになります!!

2020年06月05日

大野 了

プログラミング経験のあるRSS初心者様

上手くいきましたか!!
良かったです!!

発注時のメモ欄は、ご確認された通り、
ポジションなどの確認関数のすべてで返ってきます!!

OCOとかIFDとか、結構みなさんやられたいみたいですので、
関数があると確かに便利そうですね・・・

自分も自力でやっています(笑

P.S.
>数千円の授業料となるかおこづかとなるか
自分の場合・・・
テストすると、大体、授業料を払う羽目になります(笑

2020年06月05日

プログラミング経験のあるRSS初心者

大野様

自己レスです。

実際にミニ1枚で実験をしてみたところ、少なくともFOPORDQUERY
FOPPOSITION
FOPEXEC
では共通となることを確認しました。

とりあえず、手動でOCO決済注文を出し、数千円の授業料となるかおこづかとなるか、ドキドキしてみています(笑)

OCO注文をする関数は、RSSのライブラリに無いようなので、自分で関数を書いてみます。

取り急ぎ、ご報告まで。

ありがとうございます。

PS
誤字があったのですが、この掲示板では投稿取り消しができないみたいなので、訂正して再投稿しました。

2020年06月05日

おおぎ

先物1分足の終値がぶれて取得できない

お世話になっております。先物で1分足が更新された瞬間(つまり毎正分に)その始値と1つ前の終値を取得しようとしています。
FCANDLEの対象セルがWorksheet_Calculateする度に取得しています。
さて更新されたばかりの始値は正しく取得できるのですが、それと同時に取りに行こうとしている1つ前の終値が取得できません。
ワークシート上には正しく表示されているのですが、VBAの変数に代入すると1つ2つズレたものが入ってしまいます。
どこにずれるのか非常に不規則で使い物になりません。
数秒程度待ってから実行しても同じ結果です。(画面上では正しく表示されています)
ちなみに終値のセルのWorksheet_Calculateで取得しようとすると1秒間に数十回も更新されているようで使い物にならないスピードです。
いったん=CANDLEの関数を文字列化して更新を止めようと試みましたが、この関数は消してもワークシート上の終値は更新されつづけます。まるでゾンビのようです。
どうすればこのぶれ続ける終値のセルの数値を正しくとらえることができるでしょうか?
ほとほと困っております。 よろしくお願い申し上げます。

2020年03月12日

大野 了

おおぎさん、こんばんは!!

ファイル見ました!!
そして原因がわかりました。

おおぎさんのVBAは問題ないと思います。

間違った値が出てしまった原因としましては、
ファイルに元々入っていたデータが悪さをしているようです。

FCANDLEが正常にすべてをとれているかどうかの判断として、
『FCANDLEで取得したデータの件数が同じこと』という判断を
このサンプルでは行っています。

例えば、
8:45に取得されたデータは1件
8:46に取得されたら、データが2件に増える
8:47に取得されたら、データが3件に増える
という感じです・・・

始値の件数が3件、終値の件数が3件であれば、8:47のデータは完全に取得できている
という理論です!!

今回は、もともとのデータ(2019/01/21)が残っており、
常にデータ件数が750件と表示されるため、常に『取得済み』と表示されています。
ご使用前に、3行目以降のデータを一度消してからご使用されると大丈夫と思います!!


また、Worksheet_Calculateに代わるイベントですが、
岡三RSSが動いた際に、動くイベントは残念ながらWorksheet_Calculateしかありません。
Changeイベントは、シートに対する入力があった時に起きるイベントですので、
おおぎさんがおっしゃられます通り残念ながら、岡三RSSが書き込んでもイベントが置きません(涙

他によるある方法としましては、
Application.OnTime を使う方法があります。
これは、指定した時間にVBAの関数を動かす機能になり、
これを利用して、VBAの関数を繰り返して動かすことにより、
1秒間隔などで、岡三RSSの値などを確認することができます。

これまた、以前のスレッドのコピーになりますが
https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=258#comment_1385
のonTimeの部分を見て頂けますと幸いです。

わかり辛い部分も多いと思ますので、何かありましたら再度ご連絡頂けますと幸いです!!

2020年03月12日

大野 了

おおぎさん、こんにちは!!

まず、分足の始値と終値がずれる件ですが、
こちらは岡三RSSのFCANDLEの関数が始値と終値で個別で動く仕様のため、
発生しています!!


例えば・・・

A1:FCANDLE("始値")
B1:FCANDLE("終値")

とあった場合、A1の始値の取得が行われたのちに、B1の終値の取得が動く前に、
式の判断やCalculateイベントが動いた場合、
B1の終値がまだ実行されていないため、時間軸がずれた値が同じ行に表示されてしまいます。
※VBAの処理を抜けてシートを見てみると、VBAを抜けた直後に終値のFCANDLEが実行されて更新るため、
※VBAで取得した値と、シートに表示されている値が違って見えます・・・


これを対応するには、取得できている件数が同じことを確認する方法があるのですが、
以前、ご質問を頂いた内容のコピペで申し訳ないですが、
以下のURLを見て頂けますと幸いです。

https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=222#comment_1214

こちらのサンプルのG2が"取得済み"となっていますと、
FCANDLEの関数がすべて実行済みとなりますので、この条件をVBAに入れて頂けますと
データのずれは無くなると思います!!


また、Worksheet_Calculateイベントは、ワークシートに対する更新が起きた時に動くイベントではなく、
再計算のイベントになるため、セル関数の書き方や内容によっては、
岡三RSSの更新とは関係なしにイベントが動く可能性があります!!

2020年03月12日

おおぎ

分足完全取得 サンプル.xlsx (47.2KB)

大野様

早速のアドバイス誠に有難うございます。
ご指摘に基づき、貴ワークシートにやりたい内容を書き加えてみました。

"取得済み"を要件とするためにif分を使用しています。
(本来であればWhile~等使用すべきですが、なぜか常に"取得済み"であると判定されるので、ここでは簡易にif文を使用しています)

"分足"というシートに最新の始値のセルがリンクしてあり、それがWorksheet_Calculateのトリガーで値を取得しにいきます。

作成したファイルを添付申し上げます(拡張子は .xlsm に変更お願いいたします)

さて結果ですが、やはり始値は正しく取得しますが、1つ前の終値はほぼ取得できません。2つ前の終値が入ってくることが多いようです。

そこで再度質問で恐縮なのですが、
1)このようなif文等で条件判断をする手法がよろしくないのでしょうか?
2)またWorksheet_Calculateは誤動作するとのご指摘をいただきましたが、他によいイベントがあればご教示いただけないでしょうか?
  (Worksheet_Changeではなにも動かないようです)

種々初心者なので恐縮ながら、本件よろしくお願い申し上げます。

2020年03月12日

ヨッシー

エクセルがフリーズする件

岡三RSS担当者様
お世話になります。
現在、色々な問題で株価が乱高下し、出来高が急増したりしていますが、出来高が急増した時にエクセルがフリーズしてしまうことがよく起こります。
(時間が経てば復活したり、もしくはそのまま固まってしまいます)
これらの原因は当方のPC側に問題があるのか、それとも岡三RSS側に問題があるのか、どちらなんでしょうか。
特にHPにもそのようなことが書かれていないので、どこからも問い合わせが無いということだと思いますが、、、。

2020年03月18日

岡三オンライン証券

ヨッシーさま

早速のご返信、誠にありがとうごさいます。

これらの情報を元にお調べいたします。

少々お時間を頂戴いたしますが、どうぞよろしくお願いいたします。

2020年03月23日

岡三オンライン証券

ヨッシーさま

いつも岡三RSSをご利用いただき、誠にありがとうございます。

調査にお時間がかかってことをお詫び申し上げます。

さて、今回調査を行っていくうえで、「FCANDLE関数」を使い続けるとメモリが増加していく事象が確認できました。
この事象については、以下のスケジュールで改修を行う予定です。

■リリース日時
2020年4月11日(土)昼頃
※リリース後、岡三RSSを起動させると自動アップデートが行われます。

引き続き、岡三RSSをご利用くださいますようお願いいたします。

2020年04月06日

ヨッシー

早速の連絡、ありがとうございます。
下記の通り回答させていただきます。

-------------
フリーズした日時    :
3/9(月)の深夜12:30~5:30
※頻繁にフリーズしており、日時は正確には記録していないのですが、この日は特にロスカットが動作せず、影響が大きかったため覚えております。
■PC
CPU :Intel Core2
メモリ :4G
OS :WIN10
Excel  :Office 2013(64bit)
     ※32→64bitに変更しました。

■RSS
使用関数:FCANDLE
※取り込んでいるのは先物30分足の4本値
-------------

以上、宜しく調査をお願い致します。

2020年03月19日

岡三オンライン証券

ヨッシーさま

いつも岡三RSSをご利用いただき、誠にありがとうございます。

岡三RSSご利用において、ご不便をおかけし申し訳ありません。

お調べするうえで、下記の情報をお教えいただけますでしょうか

-------------
フリーズした日時    :
(例:2020年3月18日14時45分~14時50分ごろ)

■PC
CPU :
メモリ :
OS :
Excel  :(例:Office 2019(32bit))

■RSS
使用関数:


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


大変お手数ではありますが、ご協力くださいますようお願いいたします。

2020年03月19日

マサ

マクロなしで連続注文はできる?


VBAで自動売買を考えているのですが、「VBA入門」で戸惑っているという現状の者です。
そこで、とりあえずEXCEL関数だけ使って連続注文だけでもできないかと考え直しているのですが、それは可能でしょうか。
具体的にはサンプルシート「注文」で発注ができたら 「発注ID」だけを変えて、連続注文したいのです。(5枚まとめて注文するよりも1枚ずづの方が滑りにくいなどの理由です)

注文関数(FOPORDQUERY)などを使えばできそうな気もするのですが、いかがでしょうか。

2019年12月26日

大野 了

VBAは慣れてくると簡単なのですが・・・
そこまでがですね・・・

VBA自体でもよいですし、
何かあれば、またここに書いて頂けますと幸いです♪

2019年12月29日

マサ

ありがとうございます。
>>VBAやり始めるまで大変ですよね・・・
考え方というか、コツをつかむまでが大変だと思います・・・
そうですね。 私にとってVBAは、山奥に住んでいるものがいきなり都会に出てきたとき感じるような、何をやるにしてもおっかなびっくりといった戸惑いですね。

VBAの入門レベルを超えるまでの、つなぎとして、アドバイスのような関数を組み込む方法でやってみます。

2019年12月28日

大野 了

マサさん、こんにちは!!

VBAやり始めるまで大変ですよね・・・
考え方というか、コツをつかむまでが大変だと思います・・・

連続注文ですが、
5枚約定したのちに、何も考えずに1枚ずつ、5回に分けて決済注文を出すだけですと
Excelのセル関数だけでも大丈夫と思います。

新規発注が約定しポジションを持ちましたら、
FOPPOSITION関数でポジションとして取得できます。

ですので、そのFOPPOSITIONで値が取得できるかどうかを、
IF関数で判断し取れていれば
FNEWORDERで決済注文をすぐに出すという感じぐらいであれば、
VBAを使用せずに、セル関数だけでも自動売買は可能と思います!!

2019年12月27日

kazu

寄付き後の株価上昇下落の記録方法について

質問用.xlsx (9.9KB)

お世話になっております。
複数銘柄を選定し、寄り付き直後にその銘柄たちが上昇したのか
下落したのかを検証したいと思っております。
上昇または下落で始値から1%変動した株価を記録したいのですが、現在値は常時更新されてしまうため1%に到達した時点の株価を固定する方法がわかりません。
VBA、関数等、方法は問いませんので実現方法あればご教示いただけますと幸いです。

2020年02月20日

大野 了

質問用.xlsx (16.3KB)

kazuさん、こんにちは!!

Excelを拝見させて頂いたのですが、
1%上昇と、1%下落が先に起きた方を知りたいということですよね?

それでしたら、残念ながらセル関数だけだと厳しいのでVBAを使う必要があると思います。

ワークブックのCalculateイベントで、判断させてやるのが一番簡単だと思うのですが、
説明を書いてたらめんどうになってきたので(笑
サンプルを作ってみましたー!!

中身等でご不明な点がございましたら、再度ご連絡を頂けますと幸いです!!


※マクロ付きのExcelシートが上げれないため、ファイル名を変えてアップしてあります。
ダウンロード後、拡張子をxlsx から xlsm に変更すると動くと思います!!

2020年02月20日

kazu

大野 様

お世話になっております。
完全にイメージ通りの動きができました!
早々にご回答いただきありがとうございました。

2020年02月21日

大野 了

kazuさん、こんばんはー!!

イメージ通りにできましたかー!!
お役に立てたようで、良かったです!!

2020年02月21日

富山のおっちゃん

CANDLE関数でのデータがアクティブシートに取り込まれる件

初めて投稿させていただきます。

普段 エクセルにCANDLE関数を直接入力して四本値を取得しているのですが、
昨日より CANDLE関数で取得したデータが
指定したシートのセルではなく、
アクティブシートのセルに入ってくるという現象が起きます。

マクロや他の関数など見直していますが、原因がわかりません。

原因や解決方法などお分かりになる方がいらっしゃいましたら
アドバイスいただければ幸いです。

よろしくお願いします。

2018年02月07日

Ryo Ohno

最近、岡三RSSの更新があったため、
久しぶりに試したところ、Office365で本現象が発生しなくなっていましたっ!!

知人の方(Office2016)の方にも、念のため確認をお願いしたのですが、
アクティブシートに結果が表示されたりせず、正常に動いてるようです。

岡三RSSの推奨環境は、Office365は非推奨らしいので、
Office2016、Office2013などのパッケージ版を使った方がよいかもですね・・・
(確かにマンスリーでバージョンが上がってしまうサブスクリプションのOfficeへの対応は厳しそうな気がします。)

2018年11月30日

Ryo Ohno

オプションをいじったり、いろいろとやってみたのですが、
残念ながら回避策は見つけられませんでした。

一応、アクティブシート側のセルにロックをかけると、
アクティブシート側に誤って書き込まれてしまうことは防げたのですが、
たぶん、本来のシートの方の更新は行われていないので、
シグナルの判定とかは走らない気がします・・・

2018年04月14日

岡三オンライン証券

いつも岡三RSSをご利用くださり、誠にありがとうございます。

本事象につきまして、当社にて再現を試みているため、返答に時間がかかっております。

いましばらくお待ちくださいますようお願い申しあげます。

2018年05月31日

rssfan

同じ現象が出て困っています。アクティブシートのセルを入力をしようとする、または、計算式を修正すると、亡霊のようにCandle関数のデータが表示されます。(しかも別のExcelファイルで使ったCandle関数のパラメータで)作成したVBAなど見直しましたが、問題はなさそうです。
緊急事態です!

2018年02月07日

rssfan

サポートに連絡をしたところ、第一報は「ご案内が出来かねる状況」でしたが、CANDLE関数の記載があるSheet1(シート名は変更していたのですがVBA Editor内の表示でSheet1であることが分かりました)を丸ごと削除したところ、この現象がなくなりました。別のSheetに書かれているCANDLE関数はこのような振る舞いはしないようです。
この状態でしばらく様子を見てみます。

2018年02月09日

富山のおっちゃん

rssfanさん

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

問題を起こしている関数が入っているSheet1を削除して
新しく作ったシートに関数を入れ直しましたが
やはり同じ問題が生じます。
アドバイスくださった対策はこの理解で正しいでしょうか?

2018年02月09日

rssfan

Office365ライセンスでのOffice 2016はサポート外と連絡がありました。

2018年02月13日

おっさん2

また再現しました!
私の環境は、
Windows7 SP1
Office2016 EXCEL バージョン1801(ビルド9001.2171 クイック実行)

Excel 2013では、同じファイルでもいまのところ再現していません。

2018年02月22日

Ryo Ohno

となると、やはり・・・
2016とwindows7の組み合わせだと発生する感じなのでしょうか・・・

気になる・・・

2018年02月24日

rssfan

新たに作ったシートはSheet1以外になっているでしょうか。

2018年02月09日

富山のおっちゃん

アドバイスありがとうございます

わたしの場合もVBAは標準モジュールのみですので
そのせいではないように思います。

タイミングとしてはイベントマクロのような、
シート内の値を変更したときに起こります。

こちらでもまた何かわかりましたらコメントします。

2018年02月09日

富山のおっちゃん

VBA Editor内の表示で Sheet3になっています。

2018年02月09日

rssfan

なお、使用しているEXCELのバージョンは
Office 365 ProPlus
version 1801 Build 9001.2138
です。
若干、気になってはいます。
過去にExcelのバグに苦しめられたことがあります。(岡三RSS関連ではありません)

2018年02月09日

富山のおっちゃん

おっさん2さん

アドバイスありがとうございます。
表示先のセルをシートから指定しましたが、ダメでした。
(ファイルパスも試しましたが、同じでした。)

ちなみにわたしが使用しているEXCELのバージョンは
office personal premium
です。

2018年02月14日

rssfan

そうでしたか。私のはたまたまだったようです。問題なく動いていたころ(昨年のバージョン)でも、本現象はでました。ログをみたところ、この現象は1月末ないし2月初頭から起こり始めました。RSSがこのころに更新があったか定かではないですが、どうなのでしょうか。
私のファイルには、Worksheet_CalulateなどをVBAには入っておりますが、それが影響するの考えにくいです。

2018年02月09日

rssfan

現在、Excel 2013 15.0.5007.1000 32bitで試験中、今のところ再現しません。Excel2016では再現。
試験用の簡単なExcelファイルですと八セしていません。

2018年02月16日

Ryo Ohno

rssfanさん

簡単なExcelファイルだと発生しないんですか・・・
となると・・・
関数の組み合わせとかVBAの何かのロジックとの組み合わせが高そうですね・・・

自分は2016なので何か再現できないかいろいろとやってみます。

2018年02月16日

Ryo Ohno

Soraさん、rssfanさん
お二人もセルを修正モードにされたときに再現される感じでしょうか?
自分もセルを変える様な場合は、いったんRSSを止めてからやっています。

通常は自動売買してるので、
セルを変更をする場合があまりなく、この方法で問題がないのですが、動かしながら設定を変えられる場合が多いと厳しいですね・・・

もし何か別の方法で再現方法がありましたら、調べてみまっす。

2018年04月10日

おっさん2

富山のおっちゃんさん、はじめまして。
私も同じ現象が出ました。私の場合は先物なのでFCANDLE関数です。

対処として、CANDLE関数の、表示先のセルの位置を記載する引数に、シート名も記載しましてみました。対処後、現在はその現象は出ていませんが、どのような時にその現象が出るかわからないので、確実とは言えませんが試してみるのも一つかも知れません。

2018年02月13日

Sora

FOPPOSITION の建玉単価で同じ症状が発生しています。
シートを同時に複数枚表示させながらトレードしているので、データが勝手に書き換わってしまい困っています。有効な対策方法が見つからないので、(仕方なく)該当のセルを空白にして列ごとに非表示にして使っています。

環境は、Win10(64bit)、Office 365(最新)。

2018年04月07日

rssfan

ごまかしごまかしやっていますが、困っています。岡三rssのバグかExcelのバグかは分かりませんが、本件に関してサポートからは音沙汰ないです。

2018年04月08日

Ryo Ohno

本件、自分の環境でも発生したので、いろいろと調べて観ました。

もしかしたら下記の内容以外でも発生する可能性があるかもしれませんが・・・

岡三RSSで配列のデータを表示する系(FOPPOSITION,FCANDLE,FTICKなど)で
セルを入力モード(セルを指定してF2を押した状態)で元の関数に更新がかかると
アクティブシートにデータが表示されてしまうようです!!

しかも、FOPPOSITIONのすべての項目ではなく、一部(建玉単価など)で
表示されるようです!!

2018年03月23日

Ryo Ohno

見落としていました・・・

違うシートに結果が出る・・・
これは厄介ですね・・・

自分の環境は、
Office365 Office2016 (1801 Build 9001.2138)
なのですが、今のところ他のシートに表示されることなく、
正常に動作しています。

岡三RSSが更新するときにActiveSheetが変更されてたら、もしや・・・
と思ってVBAでActiveSheetを変更してみたのですが、再現せず・・・

VBAが無いExcelでFCANDLEや、CANDLE関数だけ書いたやつだけでも、
違うシートに出力されますでしょうか?

もしそうであれば、そのシートを上げて頂けますと、
自分の方でも実行して試してみます!!

2018年02月15日

kazu

信用買い注文と返済注文の繰り返し処理について

質問用.xlsx (46.9KB)

大野様

お世話になっております。
先日同様の件でご相談させて頂きましたが、
アップしたファイルにPWが記載されていたため質問ごと削除となってしまいました。
大変お手数ではございますが、PWを消したファイルを再アップしますのでご覧になっていただけませんでしょうか。
質問当初より若干変更(逆指値をやめて成行に変更)を加えておりますが、添付が実行したいファイルとなります。
内容見て頂けますと幸いです。
また、希望の動作の繰り返しができれば、内容は大きく変更となっても構いません。
※希望の動作
①始値と現在値を監視し、始値<現在値であれば買い、始値<現在値になれば返済売り
②1銘柄の保有数は常に100株

ご多忙のところ恐れ入ります。
よろしくお願い致します。

2019年12月02日

大野 了

kazuさん
こんばんは!!

少しでもお役に立てましたら幸いです。

不明点など何かありましたら、返信頂けますと頑張ります(笑

2019年12月06日

kazu

大野 様

お世話になっております。
ファイルの確認及び修正いただきありがとうございます。
当方平日にトレードに参加できる日が少ないため現時点動作を
確認できておりませんが、参考にさせて頂こうと思います。
発注IDの制御について大変勉強になりました。
ご多忙のところご対応いただきありがとうございました。

2019年12月05日

大野 了

質問用.xlsx (50.3KB)

kazuさん、こんばんは

ファイル観てみました。
このファイルの動きとしては・・・

1.始値より高くなったら買い
2.一度買ったら始値より現在値が下がるまで保持
3.現在値より落ちたら損切
4.ポジションを持ってない時に、また始値より現在値が上がったら再エントリ
5.これをザラバ中繰り返す

ということで間違いありませんでしょうか?

もしそれでしたら、ある程度は修正を行ったファイルをアップしますので、
修正内容はファイル内の吹き出しを見て頂きますと幸いです。
※銘柄1のところしか直しておりませんので、銘柄2以降は銘柄1に合わせて修正してください!!


余力がある限り繰り返し発注されてしまう件ですが、
こちらは、発注IDが秒単位で変更されるのと、保有シートから対象の銘柄を持っているかを
確認するためのCOUNTIF関数の検索列の指定が間違っていたために、
ポジションを持っても、銘柄がみつからず発生しているようです。

一応、対応を入れてみたのですが、
通常使い捨てである、MARGINORDER関数を使いまわしているため、
完全に防ぐことはセル関数のみですと難しいです。
※VBAを使用するのであれば、可能ですが・・・

一応、連続発注はされにくくは対応を入れたつもりですが、
約定情報と、ポジション情報の取得のタイミングが2秒以上ずれてしまったときなど
2回目の新規発注が走ってしまう可能性があります。
それでも無限に発注してしまうよりかはマシだとは思いますが、
気を付けてご使用いただきますと幸いです。


今回、修正をしたのですが残念ながらマーケットが閉まっていたため、
動作のテストもできておりません。
また、動作を自分の方で保証もできませんので、自己責任にてご使用いただけますと幸いです。


これでトレードが上手く行くことを祈ります!!

2019年12月03日

大野 了

kazuさん、こんばんは!!

ファイルありがとうございます。
中身を確認してみます。

しばらくお待ちください!!

2019年12月03日

ぞうさん

RDP切断後、エクセルの自動実行マクロが動作しなくなる件

Win10のパソコンで岡三RSSを利用し、エクセルで実行するプログラムを動かしておりました。2日程まえから急に他のパソコンからRDPでログインし、切断すると自動実行プログラムが停止し動かなくなりました。RDPで再接続をすると、動作しだしますが、切断中でも動作を維持したい。(2日程前までは正常に動作しておりました)解決方法等がありましたら、ご教授お願い致します。

2019年08月07日

大野 了

ぞうやんさん
8月のWindowsUpdateで、VBAが止まってしまうという不具合が上がっているみたいです。
もしかすると、これ絡みでVBAが最近止まるようになってしまったのかもしれません!!


https://forest.watch.impress.co.jp/docs/news/1201758.html

2019年08月16日

大野 了

ぞうさんさんこんにちは!!

一応確認させてください!!

1.自宅でWindows10を動かす
2.あるユーザでwindows10にログイン
3.岡三RSSで自動売買を動かす
4.RDPで他のPCから、同じユーザでログイン
5.この時はまだプログラムは正常に動いている
6.RDPを切断すると、自宅のWindows10の自動実行プログラムが停止する
7.再度RDPで同じユーザで接続するともう一度動き出す

ということでしょうか?

また、自動実行プログラムが言うことは、
ExcelのVBAが止まるということでしょうかー?
(onTimeが動かない、もしくは再計算イベントが起きない)

2019年08月08日

ヤマダ

エクセルのフリーズを回避する方法を教えてください。

エクセルがフリーズする(固まる)ことがあります。
砂時計状態になって数秒間固まります。
フリーズするのは発注時です。

データの更新速度が速いせいでしょうか?
50ミリ秒に設定しています。

回線やPCの環境は比較的良好だと思っています。

出来るだけフリーズを回避する方法があったら教えてください。

よろしくお願いします。

2018年04月13日

Ryo Ohno

エクセルの問題であれば・・・

速度関係で関係するオプションは以下の通りです。

・ハードウェアグラフィックアクセラレータが対応していない
『ファイル』ー『オプション』ー『詳細設定』ー『表示』の
『ハードウェア グラフィック アクセラータを無効にする』
にチェックを入れてみる
最近ではないですが、少し前のPCだと対応してないものもあり、
その場合はOFFにするとExcelの描画がきびきびとなります。

・マルチスレッド計算が外れてしまっている
『ファイル』ー『オプション』ー『詳細設定』ー『数式』の
『マルチスレッド計算を行う』のチェックが外れている。
このチェックが外れると、計算に時間がかかるようになってしまいます。

・マルチスレッド処理が外れている
『ファイル』ー『オプション』ー『詳細設定』ー『全般』の
『マルチスレッド処理を有効にする』のチェックが外れている
このチェックが外れると、計算に時間がかかるようになってしまいます。

ぐらいでしょうか・・・

これで解決できると良いのですが・・・

2018年04月17日

ヤマダ

Ohnoさん、こんにちは。

コメントありがとうございます。

現象は毎回ではありませんが、固まるのは発注時のみで、発注にはいくつか条件を設けています。

2018年04月16日

Ryo Ohno

ヤマダさん、こんばんは

今、やってみたのですが・・・
更新速度を50msで、岡三RSSの関数を200個ぐらい入れて
発注をしてみたのですが、
やはり砂時計にはなりませんでした・・・

いったん、
『注文確認』『完了メッセージ』
の引数を0にして頂き、メッセージが上がってくるようにして
試して頂けますでしょうか?

もし、注文確認のメッセージが出るまでの間で数秒待たされるのであれば、クライアント側の問題の可能性が高く、
完了メッセージが表示されるのが遅い場合は、岡三オンライン証券さんまでの経路の問題の可能性が高いと
と原因の切り分けができますので・・・

2018年04月16日

Ryo Ohno

ヤマダさん、こんにちは!!

自分はその現象に出会ったことがないのですが、
試してみましたー

週末で市場が止まっているので、微妙ですが・・・
データ更新頻度を50msにして、
データ取得関数を50個ほど設定してみたのですが、
残念ながら砂時計は再現しませんでした。
※明日、夜間になりますが一応もう一度やってみます!!

ちなみに、毎回発生しますでしょうか?

2018年04月15日

ヤマダ

Ohnoさん、おはようございます。

ありがとうございます。
おそらく私のエクセルの問題かと思っています。

自動再計算を1秒間隔で設定しているのですが、再計算の度に一瞬ですが毎回マウスポインターが砂時計になります。

ごく稀に、再計算のタイミングと他の何がバッティングすると砂時計のまま数秒間固まるのではないかと推測しています。

2018年04月17日

Yuto Uchida

関数「 FNEWORDER」の有効期間区分について

こんばんは内田です。
発注関数「 FNEWORDER」で有効期間区分を設定するパラメータがあります。
このパラメータに「1:GFD(当セッションのみ)」があります。
「日中立会」中に当セッションで発注をした場合は
「日中立会」が終了した時に発注したのは強制決済するのでしょうか?

2017年05月30日

小笠原聖史

こんばんは、小笠原です。
こちらですが、セッション終了時には注文が取り消される、そして、強制決済にはならないとの認識です。
ご参考になれば幸いです。

2017年05月30日

Yuto Uchida

小笠原さん
ご返答ありがとうございます。
「有効期間区分」について理解不足なのかも知れないので確認したいです。
「有効期間区分」とは下記の理解でよろしいでしょうか?
・新規発注の場合は発注して建玉が建つまでの期間
・決済発注の場合は指定した建玉が発注して決済されるまで期間

もしそうであれば当セッション内で決済する場合はこちらでマクロを組むしかないのでしょうか?

2017年05月30日

Yuto Uchida

小笠原さん
ご返答ありがとうございます。

VBAで建玉が現在当セッションかそうでないか判断する
ロジックの参考になるものはありますでしょうか?

2017年06月09日

小笠原聖史

内田様、こんばんは。
有効期間区分は、注文をいつまで取引できる状態でさらしておきますか、という意味と理解しています。
例えば、5/30の22:00に新規または決済注文を指値、GTDで発注する際に20170531と指定すると、その指値注文は約定しない限り5/31の15:15まで有効な状態のまま、という感じです。
成行きだとすぐに約定してしまうので、有効期間、という概念は必要ないですが、指値はいま19500円だけれど、19000円の買い注文を期間を指定して発注しておいて、その期間中に19000円まで価格がさがってくれば約定するし、さがってこなければその指値注文は無効になる、という感じです。
内田さんおっしゃるとおり、当セッション内で必ず決済したいタイミングがあるなら、その時点で成行で発注する、というマクロを組む必要があると思います。

2017年05月30日

2018

板読み投資術のトレード候補抽出件数を増やしたい

いつもお世話になっております。サンプルシート「板読み投資術」を勉強し始めたRSS初心者です。大変素晴らしいツールをありがとうございます!
現在「トレード候補抽出」step2が5件表示されますが、10件ぐらい表示させることは可能でしょうか?
マクロ編集画面を見たのですが、どうしてもわかりません。もし、マニュアル等がござましたらお教えください。
あつかましいお願いですみませんm(_ _)m。

2018年01月23日

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

Chikaze Mori

一定時間後の決済注文について

約定後1時間経過したら決済、というような注文をするにはどうしたらよいのでしょうか。
分かる方いらっしゃったらご教授ください!

2017年01月18日

Ryo Ohno

Chikaze Moriさん初めまして。
大野と申します。
よろしくお願い致します。
約定される時間は事前にわかったりしますでしょうか?
例えば、10時に成行で発注を行うので、11時に決済したいなど・・・
もしくは、発注する時間が事前にはわからない、
または、指値発注でいつ約定するかわからないとかでしょうか?

(岡三RSSファンページからの転載)

2017年01月18日

Chikaze Mori

大野さん初めまして。
大変迅速な返信ありがとうございます!
IF関数で条件を指定して発注する予定なので、約定される時間は分かりません。
そのような場合も可能なのでしょうか?
返信よろしくお願い致します。

(岡三RSSファンページからの転載)

2017年01月18日

Chikaze Mori

大野さん
非常に丁寧にお教えいただきありがとうございます。
VBAの知識がなくセル関数のみで行なっているので、まずは教えて頂いた通りにやってみます!
何分、Excel関数は先月、RSSは今日から使い始めたばかりで分からないことだらけなのですが、
ぜひまた質問させていただけると幸いです。

(岡三RSSファンページからの転載)

2017年01月18日

Ryo Ohno

Moriさん
そうなんですね。
RSSに関係ない関数の質問の事でもOKですので、何かあれば♪
自動売買ツール完成すると良いですね♪

(岡三RSSファンページからの転載)

2017年01月18日

Ryo Ohno

Chikaze Moriさん
約定時間がわかりませんか・・・
了解しました!!
少し面倒になりますが
以下はセル関数のみ(VBAでプログラムを書かない)で処理を行う場合です。
 
 
〇現物株の場合
残念ながら、現物の場合は約定時間を取得することができません・・・
ですので、注文情報取得関数(ORDERQUERY)で取得する、注文時間を代用して取得するしかないと思われます(間違っていたらすみません)
 
 
1.発注を行う
2.ORDERQUERYにて、発注を行ったときの『銘柄コード』と『注文時間』を取得
3.dlookup関数などで、発注したの銘柄コードに対する注文時間を取得
4.NOW関数で現在時刻を取得し、注文時間 + 1時間以上だったら、決済注文
〇先物の場合
先物は約定時間を取得することができますので、
約定情報取得関数(FOPEXEC)で約定時間を取得することができます。
 
 
1.発注を行う(この時に『メモ』を設定すると便利です)
2.FOPEXECにて、約定した時の『メモ』と『約定時刻』を取得
3.dlookup関数などで、発注したのメモに対する約定時間を取得
4.NOW関数で現在時刻を取得し、約定時間 + 1時間以上だったら、決済注文
※VBAでプログラムが掛ける状態ですと、
PGで発注を行い、その時の時間を保持しておくのが一番だと思われまっす!!
Chikaze Moriさんがどのように作られているか、
(セル関数のみなのかVBAも使用されいるのか)
いまいちよくわかっていないため、
的を得ていない回答になっているかもしれません。
その時は、再度メッセージを頂けますと幸いです♪

(岡三RSSファンページからの転載)

2017年01月18日

Yuichi Mori

2点質問させてください。

こんにちは。2点質問させてください。

1.rssで発注して、webの画面から時間指定で仮に23:00に成行予約返済注文を行ったとします。
 一方、rssで返済注文を23:00より前に行った場合、rssでの返済は行われるのでしょうか?
 それともrssの返済は既にwebの画面から予約返済注文済みということでエラーとなるのでしょうか?

2.rssでの返済注文がトリガー執行後、なにかしらのエラーにより返済できていなかったのですが、
 エラーログなどを確認する方法はありますでしょうか?

恐れ入りますが、ご教示のほどよろしくお願いいたします。

(岡三RSSファンページからの転載)

2016年12月21日

Ryo Ohno

Moriさん、お役に立てたようで、よかったですっ!!

もし、ORDERRESULTでうまいこと行くと良いですねっ♪
使えたら、俺も使ってみよう・・・

そうしよう・・・

(岡三RSSファンページからの転載)

2016年12月21日

Yuichi Mori

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

1につきまして、仕様、さらに例までご提示頂きありがとうございます。
大変分かりやすかったです。

2につきまして、""ORDERRESULT""という関数の存在を始めて知りました。
早速、エラーメッセージ出力シートを作成し、動向を見守るとします。
結果が出たらご報告いたします。

この度はどうもありがとうございました!


(岡三RSSファンページからの転載)

2016年12月21日

Ryo Ohno

Moriさん、ありがとーございますっ!!

おー!!
ここまで出るんですね!!
これは便利ですねー
自分も取り込んでみます。

ありがとーございましたっ!!



(岡三RSSファンページからの転載)

2016年12月21日

Yuichi Mori

ohnoさん、ORDERRESULTの結果ですが、
エクセルに以下のように出力されます。

種類 注文番号 注文種別 注文状態 エラーメッセージ
先物 CNGA966 取消 エラー 発注不可設定になっています
先物 GA966 新規 エラー 発注不可設定になっています

これで、エラー処理はばっちり行えるものと思います!


(岡三RSSファンページからの転載)

2016年12月21日

Ryo Ohno

Moriさん

お久しぶりです♪
>1.rssで発注して、webの画面から時間指定で仮に23:00に成行予約返済注文を行ったとします。
> 一方、rssで返済注文を23:00より前に行った場合、rssでの返済は行われるのでしょうか?
> それともrssの返済は既にwebの画面から予約返済注文済みということでエラーとなるのでしょうか?

予約注文を行うと『決済注文中数量』に数字がカウントされます。
建玉数からこの『決済注文中数量』を引いた数までなら、決済注文は飛びますが、
それを超えると、エラーとなりまっす(確か

例)
10枚ポジションを持っているときに、23:00に4枚決済注文を行った場合
10枚―4枚で、6枚まではRSSで決済可能
RSSで7枚以上を指定すると、エラーとなる

>2.rssでの返済注文がトリガー執行後、なにかしらのエラーにより返済できていなかったのですが、
> エラーログなどを確認する方法はありますでしょうか?

使ったことはないのですが・・・
ORDERRESULT
という関数があります。
こいつはエラーの内容も返すことができるので、同一セッション内であれば、
エラーを取ることができるかもしれません(すみません使ったことがないので、正確な答えができないです。

もし取得できたら、結果を教えて頂けると幸いですっ!!


(岡三RSSファンページからの転載)

2016年12月21日

Yuto Uchida

関数「FOPEXEC」で表示できるのは当セッションのみなのか

こんばんは内田です。
関数「 FOPEXEC」を使っています。
この関数では約定したデータをセルに表として表示することができます。
セルに表示するデータは当セッションのみでセッションをまたぐと
前のセッションの約定したデータはセルに表示されないのでしょうか?
もしそうなら前のセッションを含めて過去の約定データをセルに表示にする方法はあるのでしょうか?

2017年05月29日

小笠原聖史

こんばんは。小笠原です。
こちらについては、私自身今やってみましたところ、今日の夜間取引以降の約定明細が取得できましたが、今日の日中取引以前のものは取得できませんでした。
セッションを指定するパラメータはみあたりませんので、前のセッションのデータは表示できないのではないかな?と思います。

2017年05月30日

Yuto Uchida

小笠原さん
ご返答ありがとうございます。

やはりそうですか。
こちらでも確認しまして、日中立会が終わり、ナイトセッションに移行すると日中立会での約定情報が消えました。

過去の約定情報を取得する方法はあるのでしょうか?

2017年05月30日

コマヒデ

W指値について

約定と同時に売り指値とロスカットの逆指値の注文は可能でしょうか?
ご存知の方、ご教示頂けましたら幸いでございます。

2018年05月09日

コマヒデ

小笠原さま
コメントありがとうございます!

2018年05月10日

小笠原聖史

コマヒデさま
岡三RSSではW指値はできないと思います。

2018年05月10日

Yasuhide Sakai

次回の発注のために発注IDを変更する

初めて投稿いたします。

ロートル投資家で自作のエクセルのシステムを利用して固定銘柄のペアトレードを長年実践しておりますが、このたび自動による取引に発展させるべく挑戦しておりますが、基本的なところでズッコケております。ご教授ください。

取引関数を利用しシート上で発注することはできました、発注完了のメッセージを返すことはできましたが、そのタイミングで次回の発注のために発注IDを変更する等のVBAを実行したいのですがその方法がわかりません。

初歩的なエクセルの問題なのかもしれません。worksheet_update,worksheet_change とか試してみるのですがうまくゆきません。

サンプルシートにあるのかも知れませんがご指摘、ご教示いただければ幸いです。


(岡三RSSファンページからの転載)

2016年12月21日

Ryo Ohno

Sakai様

新規発注、うまくいきましたかっ!!
お役に立てたようで、よかったです。
作り上げていく過程も楽しいですよね、自分もやめられません。

これからもよろしくお願い致します。


(岡三RSSファンページからの転載)

2016年12月21日

Ryo Ohno

Sakaiさん始めましてっ!!
大野と申します。
よろしくお願い致します。

現在は、VBAを使わずに、セル関数のみでやられてますでしょうか?
発注IDを毎回変更されたいだけでしたら、時間を発注IDに使う方法が最も簡単と思われます
(VBAを使わずにできますっ)

セルに以下のように記述しますと、1秒ごとに違う数字が帰ってきます。
=TEXT(NOW(),""YYYYMMDDHHMMSS"")

例)
2016/09/28 12:30:01 でしたら・・・
20160928123001

Sakaiさんのシステムの発注間隔が1秒以上の場合は、この方法が使えると思います。
注意点といたしましては、Excelの更新が行われないと、上記の関数の値が更新されません。
※Excelの更新が掛からないと、ずっと同じ値が表示されたままになります。

これを回避させるためには、岡三RSSのIDX関数で、日経の現在値などを必要なくても1つ出力しておくと、
つど、Excelが更新が掛かります。

もし、VBAでの更新方法が必要な場合は、またご連絡くださいっ!!


(岡三RSSファンページからの転載)

2016年12月21日

Yasuhide Sakai

大野様

早速のご返事ありがとうございます。
単純な方法なので早速試してみます。

欲を言って申し訳ないのですが、複数ペアの巡回監視、返済dataのsetup、発注まで考えておりますので、VBAによる方法も知りたいと思っております。

考え方としては、単にVBAを無限にloopさせ処理せればよろしいのでしょうか?

RSSのData更新タイミングとVBAの実行の関連がわからないので何とも迷っております。

今後ともよろしくお願いいたします。


(岡三RSSファンページからの転載)

2016年12月21日

Ryo Ohno

Sakaiさん
はい、自分でお役に立てることであれば!!

VBAで発注などの処理を行う場合、
sakaiさんのおっしゃられています通り、無限ループをさせれば、
VBAが動き続け、その中で処理を行えます。
ですが、Sakaiさんがご懸念されている通り、VBA実行中は岡三RSSがデータを更新できません。

VBAには、VBA以外の処理が動作できるようにするための『DoEvents』という関数があるのですが、
こちらを使っても、時々岡三RSSがデータを更新できない時があります。

安定させて、岡三RSSのデータ取得処理をVBAを同時に動かすには、
タイマ処理を行うのが一番良いと思います。
タイマ処理とは、同じVBAのプログラム(マクロ)を繰り返し呼び出す処理になります。

文字だけで説明できるか、心配ですが頑張ってみます。(笑

また、どうしても長文になってしまいますし、
わかり辛い点も多いと思います。
その時は、こちらの掲示板でもメッセージでも構いませんので、

ご遠慮なく、ご連絡頂けますと幸いです。


○手順

1.VBAエディタを開く
2.メニュー-挿入-標準モジュール
3.プロジェクトエクスプローラー(左の階層形式になってるやつです)に、Module1が追加される
  標準モジュール
    ∟Module1
4.Module1をダブルクリックし、画面に表示させる
5.以下のソースをコピー

Private nextTime As Variant

Public Sub StartProc()
nextTime = Now + TimeValue(""00:00:01"")
Call Application.OnTime(nextTime, ""MainProc"")
End Sub

Public Sub MainProc()
Sheet1.Range(""A1"").Value = Range(""A1"").Value + 1
nextTime = Now + TimeValue(""00:00:01"")
Call Application.OnTime(nextTime, ""MainProc"")
End Sub

Public Sub EndProc()
Call Application.OnTime(nextTime, ""MainProc"", , False)
End Sub

○始め方
1.マクロの実行で『StartProc』を実行させる

○止め方
1.マクロの実行で『EndProc』を実行させる

○説明
『Call Application.OnTime(nextTime, ""MainProc"")』
は、nextTimeで指定された時間に、MainProcという関数(マクロ)を動かすという処理になります。

『StartProc』では、1秒後に『MainProc』を動かすという処理が記述されており
『StartProc』の処理が終わった後、1秒後に『MainProc』が動き出します。

『MainProc』にも、これまた1秒後に『MainProc』を動かすという処理が記述されておりますので、
自分自身を1秒後に呼び出し、自身を無限に呼び出します。(無限ループ)

『EndProc』に記述されています、
『Call Application.OnTime(nextTime, ""MainProc"", , False)』は
タイマ処理を停止させる処理となりますので、タイマ処理が止まり、無限ループが止まります。

あとは『MainProc』の1行目の『Sheet1.Range(""A1"").Value = Range(""A1"").Value + 1』の部分を
Sakaiさんのロジックに変更して頂けますと、
繰り返し動作するVBAの処理となります。

VBAの中で行う無限ループと違うところは、
一度、VBAの処理が終わりますので、岡三RSSがデータを取得するタイミングが生まれます。


(岡三RSSファンページからの転載)

2016年12月21日

Yasuhide Sakai

Ohono さま

早速のReply有難うございます。
ピンポイントで私の知りたいところをご理解、ご返答いただき、頼もしい限りです。
当方、老化防止策のひとつとして、システムの構築、更新、本番移行を通じて株式取引を楽しんでおります。
現在は従来システムのVersionUpの構想もまとまり、実現を目指し、並行して作業しております。
もともと理解と手が遅いうえに、歳も重なり作業が遅く、Try and Error を繰り返しておりますので、Ohnoさまが忘れたころ、次なる問題にぶち当たると思います。

その節はよろしくお願いいたします。


(岡三RSSファンページからの転載)

2016年12月21日

Ryo Ohno

Sakai様

はい、自分でわかることで、少しでもお役に立てれば幸いです。

従来のシステムのバージョンアップなされるとか、素敵ですね。
自分も思いついた取引ロジックをバックテストして、使えそうであればシステムに取り込むという毎日です。
自分の場合は、システムは作れるのですが、肝心の売買手法の方がからっきしですので、
そちらは逆にご教授頂けますと幸いです。(笑

こちらこそこれからも、よろしくお願い致します。


(岡三RSSファンページからの転載)

2016年12月21日

Yasuhide Sakai

Ohnoさま

ながながとご報告を書いたのですが、最後の最後でどこかへ飛んでしまいました。
気力が失せたので簡略に現状をご報告します。

お陰様で新規注文の実行はできました。
今後、返済注文、複数ペアの注文へと発展させます。
悩みながらも、楽しんでおります。

まずはご報告と、御礼まで。


(岡三RSSファンページからの転載)

2016年12月21日

Tiger

マクロが無効

教えてください。
これからRSSを使おうと考えておりますが、サンプルシートをDLして表示させても「マクロ’Refresh’を実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。」と出ます。

これまでに、関数の「'C:\Program Files\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn\岡三RSS.xla'!」は削除し、セキュリティーセンターのマクロの設定は「すべてのマクロを有効にする」にしてあります。

また、Refreshというマクロの存在は見つけることができませんでした。

どうすれば、RSSの関数を正常に計算させることができますか?

使用PC環境について
Windows 10 Home
Excel 2013

2017年05月28日

Tiger

解決しました。申し訳ありませんでした。

2017年05月28日

小笠原聖史

Tiger様
解決されたとのこと、よかったです。
以降、ご疑問などございましたらいつでもおっしゃってください。
では失礼いたします。

2017年05月29日

Chikaze Mori

発注IDについて

質問です。
fneworder関数で発注完了と表示されたのに、取引履歴を確認すると注文はされていません。
Q&Aには発注完了になると同じ発注IDは使えなくなるとありましたが、同じ発注IDを使っているのが原因でしょうか。また、そうであれば発注IDはその都度変えなければならないのでしょうか。
ツールバーは注文可能、接続中になっています。
ご教示よろしくお願い致します。
大野さん
先の件お陰様でなんとかなりました、ありがとうございました!
追記
試しにIF関数を外してすぐに発注してみたところ、注文できました。
発注IDを変えていなかったのが原因のようです。
そのため質問を変えさせていただきます。
売買が行われるたびに発注IDを自動で変えるにはどのようにしたらよいでしょうか。
よろしくお願い致します。

(岡三RSSファンページからの転載)

2017年01月18日

Ryo Ohno

Moriさん
うまくいきましたか、よかったです♪
発注IDの件ですが、Moriさんの言われる通り同じ発注IDですとエラーとなってしまいます。
(誤発注を防ぐための機能のようです。)
セル関数だけで自動で買える方法もあるのですが、
ちょっと、今から出ますので、またあとで返信しますっ!!
取り急ぎ返信まで・・・

(岡三RSSファンページからの転載)

2017年01月18日

Ryo Ohno

Moriさん
前の内容のコピペで申し訳ないのですが・・・(^^;
以下の内容で、セル関数のみで発注IDの自動化ができまーす。
=======================================================
セルに以下のように記述しますと、1秒ごとに違う数字が帰ってきます。
=TEXT(NOW(),"YYYYMMDDHHMMSS")
例)
2016/09/28 12:30:01 でしたら・・・
20160928123001
Sakaiさんのシステムの発注間隔が1秒以上の場合は、この方法が使えると思います。
注意点といたしましては、Excelの更新が行われないと、上記の関数の値が更新されません。
※Excelの更新が掛からないと、ずっと同じ値が表示されたままになります。
これを回避させるためには、岡三RSSのIDX関数で、日経の現在値などを必要なくても1つ出力しておくと、
つど、Excelが更新が掛かります。
=======================================================
参考になれば幸いです♪

(岡三RSSファンページからの転載)

2017年01月18日

Chikaze Mori

大野さん
NOW関数でうまくいきました!
ありがとうございました!!
また何かあったら質問させてください。

(岡三RSSファンページからの転載)

2017年01月18日

Ryo Ohno

Moriさんうまくいきましたかー
よかったです♪

(岡三RSSファンページからの転載)

2017年01月18日

岡三オンライン証券(代理記入)

当社に寄せられた質問「シートの参照先がC:Program~に」

つい最近、岡三オンライン証券に口座を開設いたしまして、初めて質問をさせていただきます。

早速質問させていただきますが、件名にも書いてありますように、RSSシートのデータの取得等が上手くできません。

岡三RSSの設定、起動も、問題なく出来ております。

Windows8.1で、64ビットを使用しておりまして、シートの参照先がC:Program~になっておりますが、インストール先は、C:Program~(x86)になっているため、それが原因かと思い、参照先を変更しようと試してみましたが、うまくいきませんでした。

解決策をお教えください。


(岡三RSSファンページからの転載)

2016年12月21日

岡三オンライン証券

>RSSシートのデータの取得等が上手くできません。

シート制作者と利用者の岡三RSS(アドイン)保存場所が異なる場合、データが取得・更新できないことがあります。
その際はアドインの場所を指定するか、各セルの計算式を修正してください。

詳しい手順は下記リンク先をご確認ください。
http://www.okasan-online.co.jp/ont/use/sample/popup01.html


(岡三RSSファンページからの転載)

2016年12月21日

Yuto Uchida

関数「FOPPOSITION」に表示する「決済注文可否フラグ」が”否”になる条件について

こんばんは内田です。
関数「FOPPOSITION」を使用してパラメータ「決済注文可否フラグ」を表示しています。
表示するセルには「可」または「否」が表示します。
「否」が表示する条件がわかりません。
なぜ「否」になるのか、そして「可」になるかについて、
皆様のお知恵をお貸して頂ければ幸いです。

2017年05月29日

小笠原聖史

はじめまして、小笠原と申します。
FOPORDQUERYでは、注文取消し可能フラグがあるようですが、foppositionでは決済注文可否フラグがみあたりません、、、的外れでしたら申し訳ありません。

2017年05月30日

Yuto Uchida

小笠原さん
お返事ありがとうございます。

関数のマニュアル「function_manual.pdf」の
「先物 OP 保有情報」を見ています。
ここに「決済注文可否フラグ」という項目はあります。
関数「FOPPOSITION」の第一引数「取得項目名」で設定できる項目名一覧は「先物 OP 保有情報」に記載している項目名ではないということでしょうか?

2017年05月30日

小笠原聖史

uchida様
すみません、おっしゃるとおり、「決済注文可否フラグ」の項目が関数マニュアルにありました。
=FOPPOSITION("決済注文可否フラグ",M3,"0")
上記の関数を手元の環境で試しましたところ、決済注文が未発注の建玉明細には「可」のフラグが表示され、決済注文を発注済みの建玉明細には「否」が表示されました。
以上ご報告いたします。

2017年05月30日

Yuto Uchida

小笠原さん
お返事ありがとうございます。

>決済注文が未発注の建玉明細には「可」のフラグが表示され、決済注文を発注済みの建玉明細には「否」が表示されました。
決済注文を発注済みの建玉には「否」が表示ですが、
それ以外の条件で「否」になることはあるでしょうか?

自動売買を起動している時に発注した建玉の決済条件の一つに
決済注文可否フラグを見ています。
決済の注文していないのに「否」フラグが表示されまして、
決済注文は発生しないバグになりました。

注文時の発注関数は「FNEWORDER」です。
発注の個数は1つで、有効期間区分は「当セッション」にしています。
執行条件・発注条件は「成行(FOK)」です。

また「否」フラグ状態で決済注文すると注文エラーになるのでしょうか?

質問ばかりですいません。
よろしくお願い致します。

2017年05月30日

山田太郎

大野様

いろいろ回答ありがとうございます。
いまいろいろやっております。サンプルシートのneworder関数を利用して発注動作確認してるのですが、最終的な発注条件としてパスワードか発注IDなのかわかりますか?
条件をクリアしていてかつ発注エラーにならないのはどちらかをおうかがいしたいのですが。よろしくおねがいします。

2017年02月02日

Ryo Ohno

山田さん

申し訳ありません、自分の理解力が足らず、
いまいち、山田さんの状況がつかめていません。
申し訳ありません。

山田さんがこまれている内容ですが・・・
こちらは・・・
==============================
neworderを使用する際に、
パスワードと発注IDのどちらを使用したら発注エラーなく発注できるか?
==============================
ということになりますでしょうか?

もし、上記の通りでしたら、
発注する際は、パスワードと発注ID両方が必要となります。

パスワードは、岡三オンラインさんから送られて来た『発注パスワード』
発注IDは、誤発注防止機能のためにある項目で、
発注ごとに異なる内容(文字でも数値でもOKです)を入れる必要がありまーす。

2017年02月02日

Hiroshi Nakane

新規注文時の確認画面を非表示にしたい

質問です。

信用株式の新規注文時に、注文確認画面を非表示にさせたいのですが、
表示されてしまい、困っています。以下の関数を記述しているのですが、何か間違っているのでしょうか?

=MARGINORDER(C5, C6, 3, 1, C22, C20, "T", "", "0", 1, 1, 設定!$C$4, C24, 1, 1)

以上、よろしくお願いいたします。

2017年01月27日

Ryo Ohno

Nakaneさん、解決しましたか。
よかったです!!

2017年01月31日

Ryo Ohno

Nakaneさん初めまして
大野と申します。

自分は先物ばかりで、信用はやっていないので、聞いた話になるのですが・・・
MARGINORDERでは、自動発注版の岡三RSSを使用してもメッセージが出てしまうらしいです。
また、MARGINORDERの関数のマニュアルを観てみたんですが、
関数一覧.pdfと関数マニュアル.pdfで微妙に引数の数が違いました。
関数一覧.pdfは15個
関数マニュアル.pdfは13個
どちらが正しいか割りませんが・・・

・自動発注版の岡三RSSを利用してみる
・MARGINORDERの引数を、13個(後ろ2つを消してみる)

を試して頂くともしかすると、解決するかもしれません
※微妙な回答ですみません。

もし消えないようであれば、
http://qiita.com/rohinomiya/items/a13239df948e4d7fa4d5
などのツールを使うと、メッセージボックスを自動で押下して消すことができまっす!!

2017年01月28日

Hiroshi Nakane

Ohnoさま
ご回答ありがとうございます。

>関数一覧.pdfは15個
>関数マニュアル.pdfは13個
>どちらが正しいか割りませんが・・・
→そうなのですよね。仕様書に違いがあるのはやっかいです。。
 ちなみに、13個でも15個でも変わらずに注文確認画面は表示されてしまいます。

AutoHotKeyは、ちょっと試してみようかと思います。
情報ありがとうございました!

以上、よろしくお願いいたします。

2017年01月28日

Hiroshi Nakane

自己解決しましたので、報告いたします。

岡三RSS通常版にプラスして、岡三RSS(完全自動発注版)を利用したら、注文確認画面が表示されることなく、注文できました。

以上、よろしくお願いいたします。

2017年01月31日

寿限無

発注されない

お世話になっております
excel関数のmarginorderで、発注完了の値が戻ってきているにも関わらず、発注されない事象に悩んでいます。
エラーメッセージも表示されません。
どのような原因が考えられますでしょうか?

2017年11月13日

寿限無

小笠原様
早速のご提案ありがとうございます
如何にも非論理的な事象で悩んでおりましたが、自身で検討の結果、取りあえずRSS関数の多用が原因と結論いたしました。quote,board関数等をかなり多数使っております。この事象は1つのsheetのみで発生しており、正常動作しているsheetもあり、できるだけ重複を省くように工夫したつもりでしたがこのような動作となったと考えられます。
なお、引数についてはalpha(要””)、numeric扱いが混在しており混乱しますね。
今後はロジック的にもVBAで発注するよう改定してゆくつもりです
お騒がせ、ご心配頂きありがとうございました

2017年11月14日

小笠原聖史

寿限無様
ご自身で結論されたこと、承知いたしました。
引数の””の要・不要の整理は、組んだ経験おありの方でなければわからない苦労で、かなり根気が必要となる作業ですよね。
その分、発注が成功した時の達成感は大きなものになると思います。寿限無様のトレードの成功を祈念いたします!

2017年11月15日

小笠原聖史

寿限無様
はじめまして。小笠原と申します。
=marginorder()
のかっこ内の内容を教えていただけますでしょうか?
取引パスワードは****という具合にしておいてください。
わたしの方で試してみたいと思います。

2017年11月13日

窓店

MacでBOOTCAMPを使って岡三RSS

岡三RSSをbootcampでWindows10を入れたMacでも使用できますか?
岡三RSSのインストールは出来ましたが、サンプルシートを開いても
#NAME?が表示されています。
#NAMEが表示される時の対応として、リンク先の編集がありましたが、特に問題なさそうなのですがこれは、boot campだからでしょうか?

2018年01月14日

Ryo Ohno

窓店さん

うまくいきましたか!!
よかったです!!


自分もBootCampで問題なく動くとのノウハウがGet出来ました。

自分こそありがとうございました。

2018年01月17日

Ryo Ohno

窓店さん、こんにちは!!

残念ながら、BootCamp環境下で岡三RSSを使用した実績がないので、
BootCamp環境の可能性も否定できませんが、
もしかすると、以下の2点の可能性も考えられます。

・OSのBit数の違うExcelで作られたシートを開いている可能性
・アドインなどが認識していない可能性

以下の内容で直るかもしれません!!

============================================
〇OSのBit数の違うExcelで作られたシートを開いている可能性

もし岡三RSSの関数の前に
『C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\岡三RSS.xla'!』
こんな文字列が付いている場合は、
この部分を削除して頂くと、関数が動くようになります
============================================


============================================
〇アドインなどが認識していない可能性

1.メニューのファイル
2.オプション(一番下)
3.アドイン(下から2つ目)
4.一番下の"管理"のセレクトボックスを"Excelアドイン"にして『設定』ボタン押下
5."岡三RSS"がリストの中にあり、チェックが付いているか?


〇アドインなどが認識していない可能性 その2

1.メニューのファイル
2.オプション(一番下)
3.アドイン(下から2つ目)
4.一番下の"管理"のセレクトボックスを"COMアドイン"にして『設定』ボタン押下
5."OSON COM Addin2"がリストの中にあり、チェックが付いているか?


もしアドインがない場合は、インストールに失敗している可能性があるため
再インストールと再設定(以下のサイトです)を試して頂けますと、直ります!!
https://www.okasan-online.co.jp/ont/rss/install/
============================================


これらの対応で使えるようになると良いのですが・・・

2018年01月15日

窓店

Ryo さん
こんばんは!

ご指摘の通り、再インストールと再設定したところ上手く表示されました!
ありがとうございます。

2018年01月15日

岡三オンライン証券(代理記入)

当社に寄せられた質問「四本値の降順更新について」

下記VBAのコードあるいは作成方法を誰かお教え頂けませんでしょうか。
1.FOPCANDLEで四本値(C4からF4)を降順で表示させています。
2.例えば,ある条件でG4にAが表示された場合、時間がきて更新された時は,G4のAは、G5に移りません。
3.四本値の降順の更新に対応して、G4のAも自動的にG5に移せないでしょうか。

2017年02月20日

小笠原聖史

四本値の更新に対応して条件表示を移動させる.xlsx (31.3KB)

こんにちは、小笠原と申します。
「条件」を例えば、「5分終値移動平均が25分終値移動平均を上回る」とした場合、添付ファイルのような実現方法もあるかと思います。お答えになっておりますでしょうか。(おそらくもっと複雑なことをお考えだとおもいますが、、、取り急ぎご回答いたします。)

2017年02月20日

Koyama Yosuke

岡三RSSで取得できる歩み値データについて。

2017/3/7本日の225mini 先物歩み値について下記は何でしょうか?
225miniの刻みは5円です。
時刻  枚数  現在値
10:47:20 248 19,362
10:45:30 592 19,357
スプレッド市場の約定?
Jnet市場の約定?
いったいなんでしょうか?

2017年03月07日

Ryo Ohno

確かですが・・・
ストラテジー取引で約定されると、
ストラテジー取引側の呼び値が1円単位なので、1円単位での価格が出たような気がします。

2017年03月08日

Yutaro Kumasaka

保有期間中の最高値を出力したい

position関数を利用して、保有期間中の最高値を算出しようとしています。
最終的には○分間高値の更新がなければ売却(買戻し)するといったロジックを作成したいです。

A列に銘柄コード(position関数)、
B列に現在値(position関数)、
C列に保有中最高値
というような表を作成したいです。

現在、B列>C列となったらC列=B列とするマクロで対応しようとしておりますが、
position関数の場合、決済したり、他の銘柄を購入したりした場合行数がずれてしまうのでうまくいきません。

説明が下手で申し訳ございませんが、どなたかお知恵を貸していただきたく存じます。
何卒よろしくお願いいたします。

2017年03月08日

小笠原聖史

position保有中の高値を表示.xlsx (26.5KB)

はじめまして。
D列の黄色い網掛け部分に保有時刻を入力すると、
 A列に銘柄コード(position関数)
 B列に現在値(position関数)
 C列に保有中最高値
を表示するシートを作ってみました。
決済したり、他の銘柄を購入したりして行がずれると、ずれた後にA6からA9に表示されている銘柄について、B列とC列が表示されるようにしてみました。
ご参考になりますでしょうか。

2017年03月08日

Yutaro Kumasaka

早速のご回答ありがとうございます。
手作業が入ってしまうのが難点ですが、こちらをもとに作成してみたいと思います。

ありがとうございました。

2017年03月09日

Toshiaki Takeuchi

発注単位エラーについて教えてください

岡三RSSで発注をさせると発注単位のエラーメッセージが出て注文が出きないのですが。 エラーになった後数式の間違い?かなとチェックしてみて問題なさそうなので発注番号だけ変えると問題無く発注ができてしまいます。 1度目のエラーメッセージはなんだったのだろうという状態です。 毎度手動で注文をやり直すの面倒なので直したいのですがこういう症状の対処法わかる方いらっしゃいますでしょうか? お願いします。

2017年03月10日

Ryo Ohno

Takeuchiさん初めましてっ!!

まったく同じセルの同じ条件の関数が、毎回一回目だけエラーになるということでしょうかー?
残念ながら、同一状況にであったことがありません。
すみません・・・

発注単位のエラーということなんのですが、
こちらは、NEWORDER関数で発生したエラーでしょうか?

であったことがないので、妄想で大変申し訳ないのですが、
自動計算がOFFになっているか、
もし数量を他のセルから取得しているような場合ですた
他のセルが更新がかかる前にNEWORDERが走ってるのかもしれません
※なので、更新が終った2回目は通ると・・・

妄想な回答で申し訳ありません。

2017年03月10日

Toshiaki Takeuchi

回答ありがとうございます

エラーは MARGINORDER関数で発生しています。
自動計算はOFFにはなっていないです。
数量は他のセルから取得しています。 
確かにその辺が怪しそうですので 数量取得しているセルの値だけ一旦他のセルにコピーして値だけ入っているセルから数量を取得してエラーが出るかどうか試してみます。

回答ありがとうございます。 何か解決の糸口があるような気がしてきました。 

2017年03月12日

RSSユーザー

「このファイルから問題が検出されました。…」の対処方法について

5/8のRSSバージョンアップ以降、「このファイルから問題が検出されました。コンピュータを保護するためこのファイルは開かれません」と表示が出てしまいます。

ちなみにExcelはOffice2010を使っています。

対処方法をご存知の方、いますでしょうか?

2017年05月19日

RSSユーザー

はじめまして。
私はなっていませんが、ネットで検索すると対処方法をアップしている人がいますね。

1.Excelの左上にある「ファイル」をクリック

2.左側に出てくる「オプション」をクリック

3.「セキュリティセンター」をクリック

4.「セキュリティセンターの設定」をクリック

5.左側の「信頼できる場所」をクリック

6.「新しい場所の追加」をクリック

7.「参照」をクリックして、Cドライブにある岡三オンライン証券のフォルダとAddinのフォルダを追加

これで正常に起動するようです。

2017年05月19日

山田太郎

発注内容変更

質問ですが、1つの発注IDのものが約定した後に他の発注IDの発注条件を変更したいという方法をどなたかご存知でしょうか?
replacement関数で発注条件かえられるようですが、この別の先に約定したものの確認というかそういったものをエクセル上で確認させなくてはいけないので、例えば約定した玉のIDなどがエクセルに帰ってくる仕組みなどあればと思います。
よろしくお願いします。

2017年01月28日

Ryo Ohno

山田太郎さん

こちらは、発注IDではなく、建玉番号でしょうか?
また、対象は先物ということで、よろしいでしょか?
※ほかの質問で先物の関数の話が出ていましたので・・・
先物で、建玉番号ということで、以下記述しますっ。
もし間違っていたら、ご連絡くださいっ!!

===================================
本当は、neworderの結果で建玉番号が帰ってくるとありがたいのですが、残念ながら帰ってきません。(^^;
FOPPOSITION関数で、現在のポジションの情報が取得できますので、
こちらから、約定し現在ポジションとして持っている玉の番号を取得することになります。

ちなみに・・・
=FOPPOSITION("建玉番号",A2,"0")
=FOPPOSITION("建玉枝番号",B2,"0")
などで、現在ポジションを持っている建玉の一覧が取得できまーす。

2017年01月31日

knightgiri

Windows社のExcel対応について

Excel2007がwindows社においてオフィシャルにサポートが終了しました。今後の岡三RSSのExcel対応ですが、Excel2019(でしたっけ?)対応などの計画はあるのでしょうか?

2021年02月07日

片桐 英記

おおっとすみません!2019まで対応済みでしたね。一昨年かoffice365で動かそうとしたらシートが壊れてしまって・・・・

2021年02月07日

大野 了

knightgiriさん、片桐さん、こんにちは!!

knightgiriさんと片桐さんは同じ方だと思って返答します!!

office365でシートが壊れてしまう件は、
岡三RSSの関数の結果が、Activeシートに上書きされてしまって、
関数式を塗りつぶしてしまう件でしょうか?

それでしたら、現在は対応されているみたいで、
自分もoffice365で問題なく使えています!!

2021年02月08日

ミッキー

SQ清算結果の参照方法

オプション売買注文はOPNEWORDER()で行い、結果はFOPORDQUERY()で参照して確認ができると思いますが、
SQまで持ち越した建玉の清算結果はどの関数を使うのでしょうか?
保有情報参照FPOSITION("清算値",A1,"0")といった感じで、"清算値"指定で取得できますか?SQ日15:10参照の想定です。
また、SQ値を取得する方法はありますか?

2022年08月20日

大野 了

ミッキーさん、こんにちは!!


>SQまで持ち越した建玉の清算結果はどの関数を使うのでしょうか?
んー 確かに・・・
SQまで持ち越したポジションの情報を取得しようとしたことが無いので、何とも言えませんが、
確かですが、SQで清算された建玉の注文情報や保有情報 自体SQ日には取得できなかった気がします。


>また、SQ値を取得する方法はありますか?
こちらも岡三RSSでは残念ながら、SQ値を取得することはできなかったと思います。
FQUOTEに"清算指数"というのがあるのですが、SQ値ではないので(その日の始値の清算値??)


もし、SQ日に注文情報が約定情報として取れるのであれば、
FOPORDQUERYで取得してあげれるかもしれませんが、厳しい気がします。

2022年08月20日

ミッキー

早速のコメントありがとうございます。
清算結果で収益計算をしたかったのですが、自動計算は無理そうですね。
何かいい方式が見つかるまで、手入力方式で対応してみます。

2022年08月22日

Hiroshi Yoshizawa

タイマー

岡三RSSを利用してエクセルVBAでプログラムを記述しています。
VBAのSettimer関数を利用して、1秒ごとにイベントを発生させて、注文するかどうか判定したいです。
何故か、「ツール」→「参照設定」→「岡三RSS」にチェックを入れて保存すると、タイマー関数が動かなくなってしまいます。
どなたか、対策をご存じないでしょうか?

2017年03月30日

小笠原聖史

初めまして、小笠原と申します。
Yoshizawa様の目的が、「1秒ごとに注文するかどうか判定したい」ということで、settimer以外の実装方法を許容していただける、という前提であれば、on.timeメソッドを使った後掲のvbaは使えないでしょうか。

Sub サンプル()
'If Cells(1, 1) < Cells(1, 2) Then
'発注関数を呼び出し
'End If
反復時刻 = TimeValue(Now) + TimeValue("00:00:01")
Application.OnTime 反復時刻, "サンプル"
End Sub

2017年03月31日

Hiroshi Yoshizawa

小笠原聖史様

初めまして、吉澤と申します。
この度は貴重な情報を頂きありがとうございました。
正常に動作するようになりました。
ググっても効果的な情報が少なく悩んでおりました。
大変助かりました。
ありがとうございますm(__)m

2017年04月01日

Hiroshi Yoshizawa

注文ボタン

お世話になります。
注文ボタンについて何方かご存知の方がおられましたらば
アドバイスをお願いいたします。
VBAで、以下のコマンドを実行して
注文可能ボタンを「可」にしています。
Application.CommandBars("岡三RSS2").Controls(4).Execute
ところが、これが知らぬ間に「不可」になってしまっていました。
慌てて、手動で可にしたのですが、
暫くするとまた、「不可」になってしまいました。
このボタンが「不可」の場合か否かチェックする方法を
どなたかご存知ないでしょうか?
よろしくお願いいたします。


2017年04月05日

小笠原聖史

吉澤さま

以下で、注文可能になっているか、注文不可になっているかを調べることができます。ご参考になれば幸いです。

Sub 注文可能可否チェック()
If CommandBars("岡三RSS2").Controls(4).TooltipText = "注文できません" Then
Cells(1, 1) = "注文不可"
End If
If CommandBars("岡三RSS2").Controls(4).TooltipText = "注文可能" Then
Cells(1, 1) = "注文可能"
End If
End Sub

2017年04月06日

Hiroshi Yoshizawa

小笠原聖史様

お世話になります。
吉澤でございます。
いつも貴重な情報をアドバイスして頂きありがとうございました。
うまくいきましたm(__)m
今後ともご指導のほどお願いいたします。

2017年04月06日

Masashi Nakano

岡三RSS OCO発注について

はじめまして、よろしくお願いします。
「岡三RSS活用編動画 発注(関数)系」の中で、OCO発注のサンプルシートがありますが、利食いの指値注文を出しておいて、価格が逆行した時に逆指値に変更するのではなく、パソコンからのOCO注文のように利食いの指値注文と損切りの逆指値注文を同時出しておくことはできますか?
よろしくお願いします。

2017年01月23日

Ryo Ohno

Nakanoさん

元々のサンプルがロックとか誤発注を防ぐ機能とか気を使ってあって結構複雑だったからですね・・・(笑

自動売買のシステムが出来上がることを祈っておりますっ!!

2017年02月04日

Masashi Nakano

大野さん、大変ご丁寧な回答をありがとうございます!
さらにサンプルまで作って頂いて本当に感謝しますー!
おかげで作成のポイントが明確になり、自分の思っている発注シートを作成できそうです。
シンプルに考えれば良かったのですね。複雑に考えすぎでした。笑)
ありがとうございました!

2017年02月04日

Ryo Ohno

あっ!!
複数ポジションの考慮も、もちろん入っていません・・・(笑

2017年02月04日

Masashi Nakano

大野さん、返信ありがとうございます。
サンプルシートを書き換えて作ろうと思うと、やはり大変そうですね。
大野さんのようにVBAの知識があればいちから作った方が早いのでしょうが・・・。

頼まれて作られた時は、どのように作られたのか、考え方や注意点など、お聞かせ願えますか?

2017年02月03日

Ryo Ohno

OCO分割決済動きの考え方.xlsx (15.7KB)

Nakanoさんのロジックの『考え方』の部分だけのExcelファイルを作成してみましたー
※発注などのロジックは入っていません。


OCO&分割決済を最小限度のセル関数だけで作ってあります。
少しでもご参考になれば幸いです!!

また、動く事を確認したわけでもありませんし、変な動きをするかもしれません。
※エラー処理的なものもありません。
あくまでもNakanoさんが今後作られるときのご参考になればということで・・・

2017年02月04日

Ryo Ohno

Nakaoさん初めましてっ!!
大野と申します。よろしくお願い致します。

岡三RSSの関数でOCOの注文の機能は残念ながらありません・・・
対応してくれると確かにありがたいです・・・
VBAを使うと比較的簡単なのですが、セル関数だけでやると大変なので、関数としてあると・・・

自分もOCOが必要な場合は、
指値注文を出した後に、逆行した場合に
損切りにぶつかったときに成行に変更しています。

2017年01月28日

Masashi Nakano

大野さん、コメントありがとうございます!

OCO注文はないのですね。

実は今、過去の大野さんの投稿を参考に「新規注文約定と同時に分割返済注文(指値)+損切り値に達した時にFREPLACEORDERで損切り(成行き)+トレーリングストップ」の注文シートを作っているのですが、3つ質問させてください。

【質問1】
過去記事の中で、「VBAでやると簡単だが、セル関数だけでやってみます」とありますが、VBAとセル関数では処理にかかる時間は同じなのでしょうか?

【質問2】
もし、VBAの方が早いのだとすると、VBAでの作り方を教えていただくことは可能ですか?

【質問3】
同じ過去記事の中で「また、これは、このRSSで建てたポジション以外の、先物のポジションが無いことが前提となっています。
もし、他のポジションを考慮する場合、もう少し複雑となります。」
とありますが、現在私の環境では、別のシートからRSSを使って建てたポジション(仮にAポジション)がありますが、今回、新たに作ったシートから同じRSSでポジションを立てた場合も、Aポジションを考慮する必要がありますか?

長文になってしまいましたが、ご回答いただけるとありがたいです。
よろしくお願いします。

【備考】
使っているサンプルシート
岡三RSS→サンプルシートの
「日経225先物・miniのクォート、板、四本値、歩み値、注文の5シートを掲載」

2017年01月28日

Ryo Ohno

Nakanoさん、すみません返信が遅くなりました。
前のディスカッションボードと違って、
投稿されても通知が上がらないの辛い・・・

>【質問1】
>VBAとセル関数では処理にかかる時間は同じなのでしょうか?
こちらは、発注にかかるPGの実行速度ということでしょか?
それでしたら、ほぼ変わらないと思います。

>【質問2】
処理速度はほぼ変わらないと思いますが、
VBAの方がプログラムを掛ける分、比較的簡単に作ることができます。
自分でよければ、いつでもっ!!

>【質問3】
今、過去のログを自分も見てきました。
樋口さんとのやり取りのやつですね。
あの時のご質問の内容としては、
約定した情報を元にOCOの拡張版のようなことをしたいとのご質問でした。
OCOだとOCOとして発注したポジションの情報を使用したいところなのですが、
もしポジションが複数ある時は、OCOとして発注してないほうのポジション情報を使用してしまう可能性があったため
あのようなコメントでした。

また、サンプルシートも今見てみました。
岡三RSSはシートが分かれても、口座の情報は同じものを使用します。
サンプルシートは決済用の建玉番号が『A』になっていますので、
条件発注利益の多い方から決済されてしまいます。

例)
Aシート:何かしらの発注シート(例えば寄り引けのロジックとします)
Bシート:OCO用の発注シート

9:00:Aシートで発注(18000で約定)
9:10:Bシートで発注(18100で約定)

その後もぐんぐん上がる・・・

10:00:18500円まで上がったところでBシートのOCOの利益確定が走る
※この時に、Aシート分は、+500円、Bシートは+400円で、
※Aシートで発注した分が、利益確定として決済されてしまいますっ!!


前置きが長くなってしまいましたが、以上ですので、
もし、OCOで建てた分をOCOで決済されたい場合は、メモなどの機能を利用して、
条件を使いする必要がありまっす!!

2017年01月31日

Masashi Nakano

大野さん、ご返信ありがとうございます!
>すみません返信が遅くなりました
いえいえ、とんでもございません、ご返信いただけてありがたいです。よろしければ、今回もよろしくお願いします。

【メモの利用方法】
ご回答の内容、よく理解できました。
ただ【3】のご説明での、メモをどのように利用して、特定の建玉に対する返済注文を出すのでしょうか?

【IFD+OCOのサンプルシート】
VBAの方が簡単に書けるとのことですが、私はBVA初心者ですので、上記のサンプルシートを自分のスタイルに合わせて書き換えようと思います。

サンプルシートの動作は、
条件注文タブで、「新規注文」→「利確返済注文」→「損切注文」を出します。
まず、
①左のブロックで各注文の設定をして、新規注文は「指値」か「成行」で手動で注文します。(次のブロックのfneworder関数が走ります)
②「新規注文」の「約定」をトリガーにして、設定しておいた利益幅の価格に指値注文を自動で出します。(さらに次のブロックのfneworder関数が走ります)
③利確できれば終了。
④逆行した場合、現在値が設定しておいた損切幅の価格に達したのをトリガーにして、全ての玉を成行、又は引け成りで終わらす。(一番右のfreplaceorder関数が走ります)

以上の動作にプラスしたいこと。
①「利確返済注文」を分割返済にしたい。
②分割決済の一回目が約定したのをトリガーにして、「損切幅」の設定を「新規建て」のエントリー価格に引き上げたい。
③状況に応じて損切幅を手動で変更したい。
④損切は全ての玉を一括返済。

上記を実現するためにやろうと思う作業。
各注文設定の利確注文と損切注文のパラメータと利確注文と損切注文の各ブロックを分割したい回数分、下へコピー。
その際、動かしてはいけない参照先を見極めて絶対参照に変更。
一日に10回ほど取引をするのでこのシートを10枚ほどコピーし、ワンシート一回きりの使い捨てのように使う。
翌日、設定をすべてクリアして、同じことの繰り返し。

しかし、これでいいのかどうか分からずに、手探りでやっています。
大野さんならどのように手を加えたら良いと思われますか?
アドバイスいただければありがたいです。
いっぱい書きましたが、よろしくお願いします。

【参考サンプルシート】
岡三RSS活用術→活用動画→第四回後編Vol.2→一番下の第四回後編のサンプルシート


2017年02月01日

Ryo Ohno

ですね、OCOのサンプルシート、発注のロックとか入っていて意外と複雑ですので、
こやつを修正だと大変かもですね・・・

自分が以前作成した時は、全てVBAで作成しました。
VBAでのお話になってしまいます事をご了承ください。m(_ _)m

1.エントリ用と、分割決済、損切の情報を登録するシートを作成
2.VBAにて、1秒ごとに現在値を確認
3.エントリ価格になったら、VBAにて発注
4.その後もVBAにて現在値監視
5.現在値が、利確値段になったら、利確発注
  もしくは、損切値段になったら、損切発注
  また、1つでも利確発注されていたら、損切価格を
  エントリの価格に引き上げる

というような処理をVBAにて行いました。


もし、セル関数のみで作るとしたら・・・
1.発注
2.ポジション関数などで、エントリが約定したかどうかの確認(Count関数などで)
3.約定していれば、利確と損切の注文の有効化(IF関数などで)
4.損切より現在値が下がれば、損切発注
5.FOPPOSITION関数で『数量』を取得し、もしエントリの枚数とずれていたら、
  一部利確しているということなので、損切の価格を引き上げ

という感じでしょうかっ

2017年02月04日

Ryo Ohno

>ただ【3】のご説明での、メモをどのように利用して、特定の建玉に対する返済注文を出すのでしょうか?
発注時にメモをつけて発注すると、
その発注で約定したポジションの情報を取得すると、発注時のメモの情報を取得することができます。
※サンプルシートで言いますと
※約定一覧シートのS列にメモの内容が帰ってきます。

発注時のメモで"OCO"など入れておき、
返済注文の建玉番号の検索でメモが"OCO"の建玉番号を検索すると
OCOで発注した建玉を選んで返済することができますっ!!



>①「利確返済注文」を分割返済にしたい。
>②分割決済の一回目が約定したのをトリガーにして、「損切幅」の設定を「新規建て」のエントリー価格に引き上げたい。
>③状況に応じて損切幅を手動で変更したい。
>④損切は全ての玉を一括返済。

以前、こちらとまったく同じ仕様のRSSのシートをお願いされて作ったことがあります。
まったく同じだったのでびっくりしました。(笑



>上記を実現するためにやろうと思う作業。
>各注文設定の利確注文と損切注文のパラメータと利確注文と損切注文の各ブロックを分割したい回数分、下へコピー。
>その際、動かしてはいけない参照先を見極めて絶対参照に変更。
>一日に10回ほど取引をするのでこのシートを10枚ほどコピーし、ワンシート一回きりの使い捨てのように使う。
>翌日、設定をすべてクリアして、同じことの繰り返し。

サンプルシートも拝見したのですが、
設定項目が多くて、下にコピーも大変そうですね・・・
また、サンプルシートの中にVBAが少し記述してありました。
単純に下にコピーして、参照先を変更して回るだけでは厳しそうです。
※Alt + F11を押すとVBAが観れます

このサンプルシートが複数のExcelで動かせるのが前提ですが、
修正量の少なさでは

1.条件発注のシートを分割決済分だけコピー
2.コピーした条件発注シートに、分割決済の設定を行う
2シート目以降は返済注文発注の部分しか設定を行わず、
各種設定や、新規発注の有無は1シート目を参照する
3.もし、1日に10回発注される場合は、Excel自体を複数あげて行う。

が少ないかなーと思いました。

Nakanoさんのおっしゃられる通り動かしたらまずい参照もありそうですので、
下にコピーはいろいろと大変そうです。


もし、Excelを複数あげてもこのサンプルシートが動かせるのであれば・・・
シートをコピーして・・・
L17の返済数量などを、分割分に変え
L4などの、新規発注分の情報を観るところだけ『条件注文!J8』などと
他のシートを参照するように変更するのが簡単かもしれません。

なにはともあれ、なかなか骨がある変更ですね(笑

2017年02月02日

Yuto Uchida

注文情報関数「FOPORDQUERY」で表示する情報件数の限界について

こんばんは岡三RSSを使っています。
説明に至らない点があるかも知れませんが、よろしくお願い致します。
質問ですが。
「先物の注文情報シートに表示する関数「FOPORDQUERY」があります。
この表示する情報件数がいくつまで出せるのでしょうか?」
 この情報件数に上限が儲けているのであれば教えてください。
 情報数が多くなればなるほどセル書き込み数が増えるので処理不可が高くなので、この点を気にしています。

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

 

2017年05月01日

Yuto Uchida

今日に関数「FOPORDERQUERY」を実行すると、
先日約定したデータがセル表示から消えていました。
消えたのを確認したのは今日の15時以降です。
おそらくですが、日を跨いだデータは取得できないのかも知れません。

2017年05月02日

小笠原聖史

foporderquery.xlsx (342.1KB)

はじめまして、小笠原と申します。
「FOPORDERQUERY」が表示できる注文件数の上限(エクセルのワークシート上で、何行まで下に向かってデータが並ぶと想定しておけばよいのか。)、に関するご質問と理解いたしましたが、よろしいでしょうか。
上記を前提といたしまして、マニュアルの該当箇所(添付のエクセルに貼り付けました)を調べてみましたところ、仕様ですので、何等かの閾値は設定されているはずと思いますが、上限に関する記載はありませんでした。
なお、私自身の経験では、上限にかかるほどの発注をした経験がありません、、お役にたてず申し訳ありません。

2017年05月02日

Yuto Uchida

>なるほど、「FOPPOSITION」関数の仕様を見ましたが、上限設定するパラメータ項目はありませんね。
「FOPPOSITION」と書きましたが、正しくは「FOPORDERQUERY」です。
すいません。

2017年05月02日

Yuto Uchida

小笠原さん
初めてまして内田です。
ご返答ありがとうございます。

>「FOPORDERQUERY」が表示できる注文件数の上限(エクセルのワークシート上で、何行まで下に向かってデータが並ぶと想定しておけばよいのか。)、に関するご質問と理解いたしましたが、よろしいでしょうか。
その通りです。

>上記を前提といたしまして、マニュアルの該当箇所(添付のエクセルに貼り付けました)を調べてみましたところ、仕様ですので、何等かの閾値は設定されているはずと思いますが、上限に関する記載はありませんでした。
なるほど、「FOPPOSITION」関数の仕様を見ましたが、上限設定するパラメータ項目はありませんね。
あれば嬉しいのですが。
発注を繰り返すと表示する件数が増えて行くので、セルに書き込みする回数が増えてしまいます。
そうなるとエクセルの処理負荷がどんどん増えるので、件数に制限をつけて負荷を抑えたいと考えていのですが。

2017年05月02日

Ryo Ohno

Yuto Uchidaさん、はじめまして!!

はい、Uchidaさんのおっしゃられてます通り
FOPORDQUERY関数は、現在と同じ取引日の発注情報のみが落ちてきます!!
ですので、15:15を超えると取引日が変わるため表示されなくなります。

2017年05月03日

Yuto Uchida

Ryo Ohnoさん
初めまして

関数「FOPORDQUERY」質問から変わりますが、
先物の建玉保有情報を取得する関数「FOPPOSITION」は
当日に保有した情報のみしか取れないことはないと思いますが、
どうでしょうか?

2017年05月05日

Ryo Ohno

>先物の建玉保有情報を取得する関数「FOPPOSITION」は
>当日に保有した情報のみしか取れないことはないと思いますが、
>どうでしょうか?
こちらは、ポジションをオーバーナイトした際に、次の日もちゃんと取得できるかどうかということでしょうか?

もしそれでしたら、約定したポジションを決済するまで、
次の日でも情報を取得できます。

逆に言いますと、寄付きで発注が約定しポジションをもって、
お昼ぐらいに決済した場合、
『FOPPOSITION』は、当日でも決済した瞬間に表示されなくなりまーす("決済済み"のような情報として出続けることはないですっ)

2017年05月06日

Yuto Uchida

ご返答くださった、みなさんありがとうございます。
疑問解消致しましたので、このトピックは解決と致します。

2017年06月09日

Yuto Uchida

先物の有効証拠金の取得方法はあるか

こんにちは
Yuto Uchidaです。

関数マニュアルを見ているのですが、先物の有効証拠金を取得する関数がないように見えます。
何か取得する方法はありますか?
みなさんのお知恵をお借りできれば思い、こちらにご質問致しました。
よろしくお願い致します。

2017年05月05日

Ryo Ohno

Uchidaさん初めまして!!

残念ながら、岡三RSSに先物の証拠金額が取得できる関数はありません。

取得できると、建玉の枚数も自動で設定できるので、
自分もありがたいのですが・・・

自分は毎週、岡三オンラインさんのサイトから手作業で取得してます。

もし完全自動でされたいのであれば、
スクレイピングPG(Webのデータを取得するPG)を作って、
岡三オンラインさんのサイト、もしくは大証のSPANパラメータファイルを取得する。
もしくは、自力で計算するかしかないと思うのですが、
どのみち、相場が急変した時の証拠金の臨時見直し時の対応は、
厳しいと思われます!!

計算資料
https://www.jpx.co.jp/jscc/seisan/sakimono/shokokin_seido/cimhll0000000g1u-att/SPAN-keisaihouhou.pdf


臨時見直し分も含めて、どこか自動で取得できるとありがたいですね。

2017年05月06日

Yuto Uchida

「FNEWORDER」で最良指値で発注した場合、設定したクライアントメモは「FOPPOSITION」で取得出来ないのか

みなさん
こんばんは内田です。

先物発注関数「FNEWORDER」でメモを設定して最良指値で発注しました。
発注に成功した後に建玉保有情報関数「FOPPOSITION」を使って、
発注した時に設定したメモが表示するか試したのですが、
表示されませんでした。

また建玉番号の値が - の表示になっていて、数字が表示しません。
最良指値だと建玉番号や発注時に設定したメモが表示しないのでしょうか?

2017年05月10日

Yuto Uchida

自己解決しました。
関数「FOPPOSITION」の第3引数の”建玉の表示単位”の指定が
2:注文毎 になっていたのが原因でした。
0:グループ化なし にしたらメモが表示しました

2017年05月10日

Yuto Uchida

先物の建玉がSQ日になった場合の挙動について

いつもお世話になっております。
こんにちは内田です。

先物発注関数「FNEWORDER」で建てた玉がSQ日になると、
強制決済されると思います。
この時決済された玉はSQ日以降に新規で玉が建つのでしょうか?
もし建つのであれば、発注関数で指定したメモなどは引き継がれるのでしょうか?

以上です。
みなさまよろしくお願い致します。

2017年05月31日

小笠原聖史

内田様、SQを迎えた建玉は、強制決済≒SQ決済されまして、以降は新規の建玉が建ったりということはありません。

2017年05月31日

Ryo Ohno

自分は、さや抜きのロジックしかオーバーナイトしませんので、
必要な時は、SQ週の水曜日に手作業でロールオーバーしています

もしPGでやるときは・・・
期近のSQ日をRSSで取って、その3日前以降(祭日もあるので)になったら、ロールオーバーさせるという処理を組むと思いまーす。

2017年06月13日

Yuto Uchida

小笠原さん
ご返答ありがとうございます。
ロールオーバー対処はRSSではサポートしていないので、
自身で処理を作らないといけないということです。

みなさんはロールオーバー対応はしているのでしょうか?
参考にどのような対応をしているのか教えていただけると助かります。

2017年06月09日

ぞうやん

NT倍率のチャートを描きたい

岡三RSSでチャートを描画しよう!のサンプルシートのスタイルでNT倍率のチャートを描くようにしたいです。
サンプルシートをどのようにいじったらよいか、どなたか教示いただければありがたいです。

2017年06月15日

Ryo Ohno

NTチャート.xlsx (292.3KB)

ぞうやんさん、初めましてー

NT倍率の件ですが、岡三RSSでチャートを描画しよう!のサンプルシートを自分も見てみたのですが、
NT倍率のチャートが必要なだけでしたら、もしかしたら1から作ったがよいかもしれません。

過去、3年分のNT倍率のチャートを表示する
MAとBBのチャートのやつを作ってみました。

ご参考になれば幸いです。

2017年06月17日

ぞうやん

ありがとうございます。
パクらせていただき、いじってみます。
チャートの使用目的は分析用ではなくNTペアトレードのデイトレ用です。
NT倍率の分足、ボリバン、EMAを目視して225ミニとTOPIXラージを両建てしたいと思っています。
結果はなんともいえませんが。

2017年06月17日

Ryo Ohno

はいっ!!
がっつりパクってください(笑

自分もNTペアトレードのデイトレやっています。
今年は良い感じです。

うまくいくことを祈ってまーす!!

2017年06月17日

ぞうやん

ん~!
FCANDLE関数をよく見て分足になるようBを5に入れ替えてみたのですが、うまくいきませんでした。
残念、せっかくここまでしていただいたのに力不足でした。

2017年06月23日

Ryo Ohno

NTチャート.xlsx (61.5KB)

ぞうやんさん

5分足版を作成してみました!!

とりあえず、20時までになっていますので、
必要な時間に合わせ増やして頂けますと幸いでーす!!

2017年06月23日

Ryo Ohno

少しでも参考になりましたら幸いです!!

自分も、4つシステムを動かしていますが、
そのうち一つはNTのサヤ抜きのシステムになりまーす。

発注からすべて自動でやっていまうので、
NT倍率のサヤ抜きでもシステムは組めないことはありません。

もし何かつまられることがありましたら、
またご質問頂けましたら幸いです♪

2017年06月25日

ぞうやん

ありがとうございます、早速試しました。
日足と分足を比較したのですが、期間設定がダメだったのですね。
あとグラフの処理がダメだったということが分かりました。
重ねてありがとうございました。
どうもRSSやエクセルに不慣れで今一つ山を越えられません。
いまのところNT倍率投資で夢見ているのは
手動でNT8:1ペアの新規成行き発注→NT8:1ペアごとに気配値から決済価格と利益(損失)を算出→NT8:1ペアごとの利確条件により自動で成行き手仕舞い。
こんな難しいものは、はたしていつになったらできるのか、はたまた夢で終わるかもしれません。
特異な方々に有料で作ってもらう方が早いかもしれませんね、これは。
とりあえずは頑張ってみようかと。

2017年06月25日

たま

バックテストについて

実際の売買のシミュレーションなら日足では、役には立ちません。
その日に買えたとしても、その日に目標利益を得たのか、ロスカット値が安値を下回ったか時間的判断はつきません。
どのようにバックテストするのがいいでしょうか?

よろしくお願いします。

2017年11月26日

小笠原聖史

たまさん
おっしゃるとおり、エントリーからエグジットまでを日中に完了させる前提であれば、日足は役に立たないので、分足を使う必要があると思います。
では、分足の過去データをどうやって入手するか、ですが、例えば岡三RSSなら5日分の分足を取得できますので、5日おきに過去5日分を保存していく、というようなオペレーションを繰り返していくことが一つの方法であろうと思います。

2017年11月26日

たぬき

FOPPOSITION で表示されなくなった

初めまして。一昨日までは大丈夫だったと思うのですが、
昨日の新規建玉後、FOPPOSITION関数で保有情報が表示されなくなりました。特に何もいじってないのですが、なぜでしょうか?
関数は以下のように入力してあります。よろしくお願い致します。

=FOPPOSITION("建玉番号",P43,"0")

2017年07月19日

小笠原聖史

よかったです。
たぬき様のトレードの成功を祈念いたします!

2017年07月19日

小笠原聖史

たぬき様、初めまして。小笠原と申します。

=FOPPOSITION("建玉番号",P43,"0")
↑こちらの関数は、私も手元でそのままコピーして試したところ、セルP43にポジション情報が表示されましたので、正しい記述だと思います。
利用期間が満了してしまって、岡三RSSにログインできていないなど、いかがでしょうか?

2017年07月19日

たぬき

小笠原様、ありがとうございます。ログインできていると思われ、価格や気配値などは正常に見れます。保有情報は見れないです。

2017年07月19日

小笠原聖史

たぬき様
ログインできていて、価格や気配などは正常表示、とのこと、承知いたしました。

=FOPPOSITION("建玉番号",P43,"0")
↑こちらの第三引数が現状”0”で設定していらっしゃいますが、以下の通り、1~4までお試しいただけますでしょうか?

0:指定なし、1:建日・建単価毎、2:注文毎、3:建単価毎、4:売買毎

2017年07月19日

たぬき

小笠原様、度々ありがとうございます。
第三引数を変えても同様に表示されないです。

2017年07月19日

小笠原聖史

たぬき様
ご確認ありがとうございます。
となりますと、関数の設定の問題ではなく、インフラ面の検討が必要かと思います。
①使っていらっしゃるエクセルファイルのサイズが大きすぎないか
↑ファイルサイズはいかほどでしょうか。大きすぎると重くなって動作が不安定になることがあるように聞いております。
②RSSをアンインストール後、再インストールしてみる
などをお試しいただくことになるかなと思いますが、、

2017年07月19日

たぬき

RSS を再インストールしたら、表示されました!
小笠原様、大変ありがとうございました。

2017年07月19日

マーク

新規注文が約定したあとすぐに返済注文を出すとエラーになる

225miniで取引をしています。
新規注文が約定し、建玉番号が返って来たのをトリガーに、返済注文を出すシートを作成しましたが、「決済建玉がありません」と言うエラーになります。
その後、時間をおいて再度発注すると、注文が通りました。

これを回避する方法はありませんか?

2017年05月18日

小笠原聖史

こちらですが、一つの解決策として、

①建玉番号が返ってきたこと、(マークさんのトリガー)
②建玉日時から10秒経過したこと、(私が追加したトリガー)
の両方のトリガーを設定することによって、返済注文の自動発注が成功しました。

②を追加したのは、新規注文の約定からRSSがエクセルに約定結果を返してきて、エクセル側でデータが落ち着いて、決済注文が発注できるようになるまで、10秒ほど余裕みれば安定するかな、と感じたたためです。
5秒でよいか、3秒でよいか、など色々試す余地はありそうですが、10秒でも個人的には実用に耐えるかなと、、。

2017年05月19日

小笠原聖史

ちなみに、エクセルのセルに、建玉時刻から10秒経過した時刻を表示させるために、以下の関数を設定しました。(ご参考になれば幸いです。)

=TIMEVALUE("0:00:10")+建玉時刻

2017年05月19日

Masashi Nakano

小笠原さん、コメントありがとうございます!
実際にテストしていただき、さらに関数まで教えていただいて本当に助かりました。
さっそくシートに取り入れて見ます!

2017年05月19日

Ryo Ohno

第一回、思い付きでやってしまおう!!岡三RSS、QA大会について

みなさま始めまして、くまもと在住の大野と申します。

岡三RSSを使用して、自動売買を5年以上やっております。

プログラマとしても20年やっており、
VBAを利用したプログラミングや、Excelの関数の使い方や
岡三RSSのくせにあったプログラムや関数の使い方もわかります。

いつもは熊本にいるため、
こちらの掲示板ぐらいでしかコミュニケーションが取れないのですが、
今週末から月曜日にかけて東京に行きます。


月曜日に時間が少しありますので、
あまりに急 & 完全な思い付きになってしまい、大変申し訳ないのですが、(笑
5/22(月)の10時ぐらいから、岡三RSSのQA大会などを開いてみたいと思いました。

内容としましては、岡三RSSを利用して困ってるところや、
うまく動かないところなどを、お話しながら一緒につぶしていけたらなーと思っています。

平日というのもあり、お仕事をされている方や、
専業でされている方は動きつらい日にちとは思いますが、
たまたまこの書き込みを見られた方で
月曜日にお暇で、お暇で仕方がない方(笑
がおられましたら、こちらのトピックの返信でも、
自分へ直接FBのメッセージでも構いませんので、
ご連絡をいただけますと幸いですっ!!
最低お一人でもいれば、何かしらのQA会を開きたいと思っていまーす。

今回、岡三オンラインさんのご厚意により、
もし開催するとなった場合は会議室をお借りすることができましたので、
場所は岡三オンラインさんのおしゃれな会議室でやりたいと思いまーす!!

また、今回のQA会は、岡三オンライン証券さんが企画運営されているわけではなく、
あくまでも、自分(大野)が個人的に思い付きでやろうとしていますので、
お問い合わせなどは、大野までよろしくお願い致します。

==========================
日にち:5/22(月)
時間:10時~
場所:岡三オンライン証券さん会議室
住所:東京都中央区銀座三丁目9番7号
費用:無料
本QA大会は、岡三オンラインさんが企画されている分けではありませんので、
お問い合わせや『行きたいなー』などはFBのメッセージなどで自分まで直接頂けますと幸いです。
==========================

2017年05月19日

小笠原聖史

大野さん、おはようございます。
伺いたかったのですが、時間がうまく合わせられませんでした。
今後ともよろしくお願いいたします。

2017年05月22日

マーク

大野さん、こんばんは!
素晴らしい企画ですね〜!
ただ、私は兵庫県在住ですので参加できません。
近ければ、参加したかったのですが…。
残念です。

2017年05月20日

Ryo Ohno

マークさん、返信遅くなりましたー
兵庫県でしたかー
知り合いが兵庫県に住んでて、少し前は年一ぐらいで遊びに行ってましたー
懐かしいです。
これからもよろしくお願い致しますー

小笠原さん
だいじょうぶです。中止でした(笑

2017年05月24日

Yuto Uchida

大変行きたかったです。
この大会の情報が今日たまたま見た時にあったので、
もっと早めにここを見ればよかったと後悔しています。
またあればその時はよろしくお願い致します。

2017年05月29日

Ryo Ohno

Uchidaさん、初めまして!!

ありがとうございます。
自分もあまりに思い付きすぎてすみません・・・(^^;

もし、次回またやるときが来たときは、よろしくお願い致しますっ!!

2017年05月30日

ぞうやん

サンプル(日経平均株価の値動きからNT取引)の自動取引

公開されているタイトルのサンプルシートを使って完全自動取引(発注と手仕舞い)をしたいです。説明には「岡三RSSの関数を利用することで完全自動発注ができます。」とありますが、関数一覧だけでは難しくて手が出ません。どなたか簡単かつ具体的に教示いただけるとありがたいのですが。

2017年05月20日

ぞうやん

開発者のお手を煩わせまして失礼しました。早速のサポートありがとうございます。感謝です。(自己責任で利用します。)
岡三RSS起動、元のサンプルファイル(サイン用)をダウンロードして起動、今回の完全自動発注用のファイルをダウンロードして起動しました。後ろの2つはリンク先を変更してあり岡三RSSのデータが入ってきています。
質問1
Z列に取引パスワード、W列に1を設定とのことですが、何行目に入れればよいでしょうか?現状ではデータは4行目から7行目までに入っています。
質問2
動かすときはRSS起動、サイン用ファイル起動、自動発注用ファイル起動という手順で良いでしょうか?
質問3
サイン用ファイルと自動発注用ファイルは合体して一つのファイルにすることは可能でしょうか?自動発注用ファイルをサイン用ファイルの同じシート、もしくは別シートにコピーするというイメージです。可能であれば作業が3つから2つになりますので。

いずれも初歩的な質問ですみませんがよろしくお願いします。

2017年05月21日

小笠原聖史

ぞうやんさん、サンプルファイルがお役にたちますと幸いです。
ご質問ですが、
質問1
4行目から7行目のすべての行に入力をお願いいたします。
質問2
サイン用ファイルの起動は必要ありません。
RSS起動→自動発注用ファイル起動、でOKです。
質問3
2でお答えした内容と同じになりますが、今回作成した自動発注用ファイルにはサイン判定機能も含まれておりますので、ぞうやんさんのイメージどおり、現状の参考ファイルで作業は2つでOK、ということになると思います。

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

2017年05月21日

小笠原聖史

NT取引発注のためのご参考.xlsx (17.7KB)

初めまして、小笠原と申します。
あくまでも、ぞうやんさんが岡三RSSのエクセル自動発注シートを作成される際の参考として、添付ファイルをお使いください。
なお、正確性に注意して作成しましたが、はじめはW列の第10引数を0にして、発注時の確認ボタンを押下する運用でまずはお試しくださるなど、ぞうやんさんにおいても注意深くお使いください。
また、過去のバックテスト結果は将来の利益を保証するものではないことや、同じトレード手法を行う資金が増加すればするほど、利益が薄くなっていくシストレの宿命も十分にご留意ください。
エクセルの誤動作などでぞうやんさんが損害を被った場合において、私は一切責任を負うことができませんことをご留意ください。
添付のシートに関するご質問はお受けしますので、ご遠慮なくおっしゃってください。
<説明>
 ・Z列に先物用の取引パスワードを入力
 ・W列を1にすると確認なしに自動発注
以上設定のうえで、
 ・新規発注は15:05~15:14に行いますので、その時間帯にエクセルを開いて自動発注できる状態にしておいてください。
 ・決済発注は8:00~8:44に行いますので、その時間帯にエクセルを開いて自動発注できる状態にしておいてください。

2017年05月20日

山田太郎

新規発注方法

恐れ入ります。サンプルシートで利用してますが、新規fneworderの発注をかける前に条件をさらにいれたいのですが、うまくいきません。どなたかご指導いただけませんでしょうか?
新規のif発注のようなもので
if(A1=2,fneworder(c3...),発注待ち)という感じなんですが、この最初a1の条件を通らないとfneworderを発注かけれないようにしたいのですが。よろしくお願いします。

2017年01月28日

Ryo Ohno

ロジックだけを見るとうまくいきそうですが・・・
どのようにうまくいきませんでしょうか?

ちなみに、Excelのif関数の一番簡単な書き方は以下の通りです。

=if(A1=2,"A","B")

この関数をA2のセルに入れられて、
A1に2と入力して、"A"が表示され、2以外を入力した際に"B"と表示されれば、IF関数の使い方は間違っていないと思います。

もし何かしらのエラーが出るとすれば、もしかしたらfneworder関数の方にエラーがあるかもしれませんっ!!

2017年01月31日

山田太郎

岡三RSSはじめました

最近はじめてエクセルのサンプルシートをダウンロードしていじってます。そこでこのサンプルに注文のブックがあるのですが、実際にどのようにしたら注文かけれるようになりますか?どなたかすみませんお願いします。今neworder関数があるのですが、この表の部分の引数に数字いれるだけであとは注文ができる状態にすれば勝手にはいってしまうのでしょぅか?
正直まだこわくて注文ができる状態にはしてない状況です。

2017年01月28日

Ryo Ohno

山田さん、初めまして!!
よろしくお願い致しますっ!!

はい、neworder関数に、パスワードや株数などを入れられると、
そのまま発注されます。

ものすごく簡単なのですが、テスト用の発注というものができませんので、ご注意くださいっ!!

素敵な、シストレライフになることを祈ってますっ!!

2017年01月31日

Masashi Nakamura

岡三RSS活用動画のサンプルシート

はじめまして、中村と申します。
EXCELのマクロについて全くの素人の為、まずは手始めとして岡三RSS活用動画の中の「ナイトセッションで岡三RSSを活用した取引手法解説シリーズ」総論第四回後編にあるサンプルシート(if done OCO+時間決済)を全く加工せずにそのまま使ってみようとしているのですが、何故か新規の注文は問題なく発注から約定まで出来るのですが、それ以降のOCO+時間決済の返済注文の発注が何度登録しても未発注で先に進まない状況となっております。
この解決方法をご存知の方がいらっしゃればアドバイス頂けると大変助かります。非常に低次元の質問で誠に恐縮ですが、よろしくお願いいたします。

2017年05月23日

Masashi Nakamura

小笠原さん

どうも有難うございます。
素晴らしい!!
早い!!
因みに、建玉数を増やしたい時は、現在のシートをコピーして買4・買5・買6~のような形で、買1~買3の次にシートを追加して行けばよいでしょうか?

2017年05月24日

Masashi Nakamura

小笠原さん

最新の添付ファイルで試したところ、正常に3つのオーダーが入りました。前回失敗した時は5分おきに設定していましたが、今回は、2分おきにしております。

2017年05月24日

小笠原聖史

アップロード用.xlsx (30.0KB)

使っているエクセルは添付です。
もしよろしければ、中村様のシート3つのキャプチャーをアップしていただけますと、拝見してみます。

2017年05月24日

Masashi Nakamura

細かく確認したところ、新規注文が約定した時に同時に入るはずの決済の指値注文は、最初オーダーの時だけで残りの2つにははいっていないようです。

2017年05月25日

小笠原聖史

少し、もろもろ確認させてください。
まず、3つのシートで、それぞれ3つのセル(P13、P14、K29)に取引パスワードを入力してくださっていますか?

2017年05月25日

Masashi Nakamura

ハイ。取り引きパスワードは全て入力しております。

2017年05月25日

小笠原聖史

発注IDの修正箇所は、中村さんご認識のとおりで間違いありません。

2017年05月26日

小笠原聖史

一つ、ご確認をお願いいたします。
成行きでの決済まで60分と設定されてらっしゃるとのことです。
セル(AF、4)には、セル(B、4)に表示されている日時に60分を足して得られる日時が表示されておりますでしょうか。

2017年05月25日

小笠原聖史

はじめまして、小笠原と申します。
返済注文が出ない原因を特定するために、私のPCで中村様のやられたことと同じことをやってみようと思うのですが、お使いになられているエクセルファイルをこのスレッドにアップロードしていただくことは可能でしょうか?
「加工せずにそのまま」お使いとのことですが、そのあたりのあんばいをまずは把握したいな、と考えております。
もしくは、中村様のおやりになりたいことの概要を教えていただければ、シンプルな仕組みを新たに作ってみてもいいかなと思います。

2017年05月23日

小笠原聖史

中村さん、承知いたしました。
もし、決済注文を成行に変更、を自動化するならば、セル(H29)を1に変更すれば可能です。(3シートとも変更する必要あります。)

2017年05月25日

小笠原聖史

中村さん
もったいないお言葉、恐縮です、、
現状、レイアウトの問題で、建玉数を増やしたいときは、おっしゃる方法で買い6まで可能です。
その際は、以下のご対応お願いいたします。
第14引数の発注IDをすべてユニークにご設定ください。
第15引数については、買い4シートでは"trade4"、買い5シートでは"trade5"、買い6シートでは"trade6"とご設定ください。

2017年05月24日

小笠原聖史

申し訳ありません、第15引数は誤りで、第16引数と読み替え願います。

2017年05月24日

Masashi Nakamura

コピーIfdoneOCO+時間決済サンプル.xls (0.6MB)

小笠原 様

早速のお返事、誠に有難うございます。
私が使用したサンプルシートと同様の物を添付させて頂きます。
因みに私がやりたいことの概要は、極めてシンプルで、以下のような流れを事前に登録して自動で売買が出来れば良いと考えております。

対象は、N225ミニ先物で、
①ある時間を指定して、買又は売で成行でエントリー
②約定後、指値・逆指値で、利確・損切の返済注文を出す。
③同時に、ある指定時間までに指値と逆指値のどちらにも達しなかった場合は、指定した時間で成行で決済する。

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

中村

2017年05月23日

Masashi Nakamura

小笠原さん
先程帰宅し、テストを開始致しました。
結果としましては、買い1は新規注文と指値が想定通り入り現在保有中となっておりますが、買い2は、何故か登録した時間になっても新規注文が入らない状況となっております。

2017年05月24日

小笠原聖史

RSS先物発注訂正シート.xlsx (18.8KB)

マークさん、コメントありがとうございます。私がアップしたファイルでは、どうも指値がおかしい!というメッセージが出て発注できません、、中村さん、ちゃんと確認しないでアップしていまいすみませんでした。
どうも、うまくいかないので、添付を新しく作りました。
こちらは、新規買い発注専用ですが、
ご希望時刻を過ぎると成行きで新規買い発注
10秒後に希望利益確定幅で決済発注
希望する時間を経過すると決済価格を最大指値に変更
というシートです。
ご参考になりますでしょうか?

2017年05月23日

マーク

中村さん、初めまして。
そして、小笠原さん、先日はありがとうございました。

私も同じサンプルシートを使って、自分のロジックに合わせて書き換えて使っています。

そこで、今の所、気が付いた問題点を3つあげます。

1つ目は、先日、小笠原さんに解決策を教えていただきました。
【1】返済注文が自動で走る部分ですが、J8が「約定済」になった事をトリガーにして返済注文が走る設定になっています。しかし私の環境では、「決済建玉がありません」と言うエラーになりました。
そこで、小笠原さんのアドバイス通り、返済注文のトリガーに「約定時刻から10秒後」を追加しました。

【2】新規の注文を取り消したい場合、新規注文が逆指値だと、新規取消注文のトリガーが、「1」にならない。
これは、K8が「訂正・取消可」となっている事が条件なのですが、さらにJ8が「発注中」になっていないといけません。
しかし、J8は、指値注文の時は「発注中」となりますが、逆指値の時は「逆指値待機中」となります。
なので、K8の関数にOR関数を使ってJ8="逆指値待機中"を入れてやる必要があります。

【3】もし、このシート以外から建てた建玉があったら、思っているものと違う建玉が決済されてしまう可能性があります。
これは、L12に決済したい建玉番号、L13に1を入力する事が必要です。

私は、エクセル初心者で、手探りで色々試していますが、参考にして頂ければ幸いです。

2017年05月23日

Masashi Nakamura

マークさん
ご指示通りにシートを作成し、再度テストしてみましたが、やはり決済注文が出ず、エラーメッセージも出ておりません。

小笠原さん
新しいシートを作成頂き、誠に有難うございます。早速テストをしてみたいのですが、1点だけ質問ですが、”利益確定待時間”とは、その時間を経過すると決済価格を最大指値に変更する時間という理解で宜しいでしょうか? 

2017年05月23日

小笠原聖史

修正.xls (0.6MB)

中村さん、マークさんにご指摘を参考に(マークさんありがとうございます!同じ課題が含まれていました。+アルファのご指摘ありがとうございます。)【1】と【2】について対応しましたので、お試しいただけますでしょうか。
※まずは建玉明細1つだけ、を想定しております。

2017年05月23日

小笠原聖史

中村さん、おっしゃるとおりです。
利益確定待時間に5を入力すると、建玉が建って10秒後に出した利益確定のための決済注文が、建て日時から5分後に最大指値に変更されます。

2017年05月23日

小笠原聖史

RSS先物発注訂正シート.xlsx (19.3KB)

中村さん
お待たせいたしました。
考慮漏れで、1~9分なら正常動作しておりましたが、10分以上ならうまく決済の訂正ができなくなっていたので、その点修正いたしました。
あと、評価損益をご指定いただき、指定額を超えると手仕舞う、逆指値的なロジックも追加しておきました。
以上2点、私の環境で正常動作確認済みです。
これで、時間指定して発注、利益確定の決済注文を発注、指定時間が経過するか、一定額以上の損失が発生すると手じまい、を実現できたと思います。
ご参考になれば幸いです。

2017年05月23日

Masashi Nakamura

小笠原さん

どうも有難うございます。
私のやりたいことをあっという間に作って頂けるとは、凄いです!!

早速テストさせて頂きたいのですが、本日の日中は、仕事でPCの前に待機する事が難しい為、夜間にテストし、結果をご報告させて頂きたいと思います。

あと、追加のご質問ですが、今回作って頂いたシートを使って、毎日複数のオーダーを事前に登録の上、指定した時間が来たら順次事前登録した発注が出るような運用をしたいと考えており、その際同時に何本かの建玉を保有している事になるかと思いますが、そのような運用をするには、単純に今回作成頂いたシートを複数コピーして、それぞれに自動発注したい内容を記載して立ち上げておけば良いでしょうか?または、別の方法が有りますでしょうか?

2017年05月24日

Masashi Nakamura

次の実験として、一旦シート買い1以外のシートを削除し、そのファイルのコピーを二つ作り、発注希望時刻を変えて、それぞれの第16引数のところを元のファイルにはtrade1、二つ目のファイルはtrade2,三つ目のファイルはtrade3と記述して3つのファイルを同時に立ち上げて実験したところ、最初のファイル(trade1)のみが実行され、他のファイルは実行されない結果となりました。

2017年05月24日

小笠原聖史

アップロード用.xlsx (28.7KB)

承知しました。
あとは新規は3つの発注が成功、決済が最初の1つだけ成功、残り2つが発注できていない、ということで、決済の指定時刻のところが悪さをしているのかな、と推定して、建玉日時から10秒後、というロジックを、発注希望時刻から1分後、に変更してみました。
こちらで試していただけますでしょうか。

2017年05月25日

Masashi Nakamura

小笠原さん
マークさん

物凄い迅速なご対応誠に有難うございます。
このスピード感素晴らしいです。
大変感激しております。
早速、本日16時30分から小笠原さんに修正頂いたエクセルを試してみたいと思います。
結果は、追ってご報告させて頂きます。

2017年05月23日

Masashi Nakamura

小笠原さん
お返事どうも有難うございます。
早速、テストしてみます。

2017年05月23日

小笠原聖史

画面キャプチャ―.xlsx (445.2KB)

私のPCでは、2分おきに3つのシートで発注するように設定した結果、うまく発注できました。現在3建玉保有中です。ご参考に画面キャプチャ―をご覧ください。

2017年05月24日

Masashi Nakamura

小笠原さん

ご報告です。
16時30分より、時間指定成行でエントリーし約定しましたが、やはり、次の返済注文が入っていない状況となっております。

2017年05月23日

マーク

エラーメッセージは、出てますでしょうか?
新しいシートを作成して、A1セルに以下の関数を書いて確認して見てください。
エラーが出て入れば、A2セルに表示されると思います。
=ORDERRESULT("エラーメッセージ",A2)

2017年05月23日

Masashi Nakamura

マークさん

返信どうも有難うございます。
ご指示通りのシートを作成の上、後程、再度試してみてご報告させて頂きます。

2017年05月23日

Masashi Nakamura

小笠原さん
テスト結果ですが、発注希望時間に成行で注文が出て、利確すると同時に、利益確定幅の決済注文まではスムーズに動くのですが、利益確定時間を20分に設定してみたところ、残念ながら20分後には最大指値に変更とならずにそのままの状態を継続しております。

2017年05月23日

小笠原聖史

RSSmini先物ifdone+OCO+時間指定決済.xlsx (28.8KB)

中村さん
今日の夜間に向けて、、とのこと、添付ファイルをご参考にしてください。
シートをコピーして複数立ち上げる、という中村さんのイメージを、添付ファイル1つで実現できるようにしています。
シートごとに1建玉を管理して、シート1~3、それぞれが独立して機能しますので、3建玉まで管理できます。
それぞれ赤い網掛け部分を設定。取引パスワード等もシートごとに設定をお願いいたします。

2017年05月24日

Masashi Nakamura

仕事の合間を使ってテストしてみましたのでご報告致します。
結果としては、新規3つの発注の成功に合わせてと決済の指値注文も3つとも成功しました。
ここまでは、前回の課題が修復されております。
しかしながら、利確・損切ラインに達しなかった際に事前指定時間に達したら成行で決済する部分が、作動しない状況となっております。
因みに、この設定は、全て60分後で設定しております。

2017年05月25日

Masashi Nakamura

小笠原さん
すいません。
すいません。原因が多分分かりました。
設定を確認表示ありにしている為、決済が出た後、確認画面が出ているのを私が見逃してクリックし忘れていたのが原因かと思います。
仕事の関係で本エクセル稼働中のPCに張り付き出来ていなかった為のミスで、また、夜間、貼り付き可能な時間に再度テストしてみてご報告させて頂きます。

2017年05月25日

Masashi Nakamura

小笠原さん
因みに買い6以上に増やしたい場合は、ファイルの複製コピーを作って買い7~12など6シートつづ作って立ち上げておけば、例えば数日分の発注の事前予約を入れる事が可能でしょうか?

2017年05月25日

小笠原聖史

中村さん
試してはいませんが、可能だと思います。
ファイルを日別に作る方法もありですし、
1ファイルにたくさんシートを作る方法もあると思います。
なお、発注IDをすべてユニークにすることと、メモ欄のtrade1・・tradeXについてはシートごとにユニークにすることをご留意していただければと思います。
エクセル関数だけで数日間自動売買ができるとは、、、面白いですね。

2017年05月25日

Masashi Nakamura

小笠原さん
以前のコメントに、
「現状、レイアウトの問題で、建玉数を増やしたいときは、おっしゃる方法で買い6まで可能です。」
と有りましたので、1ファイルに作成可能な限界数が6シートだと思っておりましたが、1ファイルに6以上のたくさんシートを作る方法も可能なのでしょうか?
私の理解が不十分で申し訳ありませんが教えて下さい。

2017年05月25日

小笠原聖史

1ファイルに作成可能なシート数に限界はないのですが、この仕組みで同時に管理できる建玉数が6建玉ということになります。
10分おきに新規建玉をどんどん作っていくと60分たてば6つの建玉が建ちまして、決済までの時間を60分以内にしておけば、建っている建玉は常に6以下だからいいのですが、決済までの時間を120分などにすると、10分おきに新規建てすると、建玉が12建ってしまいます。そうすると、このシートでは、時間がたったら成行きで決済、がコントロールできなくなります。
ですので、シート数増やしたり、ファイル数を増やしたりしても大丈夫ですが、同時に6超の建玉がたたないような時間設定にしていただければ大丈夫です。
どれくらい建玉を同時に建てられることを想定してらっしゃいますか?

2017年05月25日

Masashi Nakamura

小笠原さん
ご説明どうも有難うございます。
内容、理解致しました。
当面は6で問題ないかと思いますが、希望を申し上げると将来的には12まで出来るようになれば、色々な実験的試行錯誤が可能になるなと思っております。

2017年05月25日

Masashi Nakamura

小笠原さん
帰宅が遅くなった為、昨日深夜からテストを開始しましたので、結果をご報告致します。
テスト方法としましては、デフォルトの買い1~買3に加えて買4~6のシートをコピーして追加し、通常通りの発注予約をした際、確認のところを「表示なし」に設定の上、朝まで自動売買が出来るか放置してみました。
朝結果を確認したところ、デフォルトとして入っていた買1~3は、完璧に動作していた事を確認出来たのですが、何故かコピーして追加した買4以降が動いていませんでした。第16引数のところは、買4のシートtrade4,買5のシートtrade5という風に変更しております。
この原因が分かれば教えて下さい。
本日も、日中に再度テストの上、またご報告させて頂きます。

2017年05月26日

Masashi Nakamura

小笠原さん
やはり、コピーして増やしたシートが動かないです。
これが動けば当初の目的は完璧に達成するのですが、惜しいです。

2017年05月26日

小笠原聖史

承知しました。何とか目的達成していただきたいです。
私の手元にあるものをベースに作ってみますので少々お待ちください。

2017年05月26日

小笠原聖史

アップロード用.xlsx (44.0KB)

買い1~買い6までシートを作りました。
①以前のものベースにシートをコピー
②trade1~6までシート別にセット
③はっちゅIDを1~18まで、各シートの発注・訂正関数にユニークにセット
が今行った手順です。
これで動くはずなので、一度お試しいただけますしょうか。
よろしくお願いいたします。

2017年05月26日

Masashi Nakamura

小笠原さん
早速のご対応どうも有難うございます。
16時30分からのナイトセッションで早速テストさせて頂きたいと思います。
そこで質問ですが、買い7以上に増やす場合は、どのようにすれば良いでしょうか?
私がコピーした時は、③はっちゅうIDは同じになっていましたので、それをユニークにすれば問題なく増やせるという理解で宜しいですか?
もしそれが正しいとすれば、はっちゅうIDをユニークに設定する際に何か特別なルールなどが有りますでしょうか?

2017年05月26日

小笠原聖史

中村さん
はっちゅ、でなく発注です、、すみません。
本題ですが、買い7以上に増やす場合は、中村さんのご認識どおり、③発注IDをユニークにすれば問題なく増やせます。
発注IDの設定ルールはただ一つで、「シート単位でもファイル単位でもすべてユニークでなければならない」、です。

2017年05月26日

Masashi Nakamura

小笠原さん
どうも有難うございます。
了解致しました。
確認ですが、発注IDの修正箇所は、Q13、Q14とL29で間違いないでしょうか?

2017年05月26日

Masashi Nakamura

小笠原さん
昨晩、ナイトセッションにて完全自動発注のテストを致しました。
今朝、お蔭様で、買い7以上も含め全ての発注が完璧に動作した事を確認致しました。

小笠原さんのお蔭で、当初目的としていたシステムを手に入れる事が出来ました。
心より御礼申し上げます。
それにしても、小笠原さんのご対応スピードの速さ、凄すぎです。

今回をご縁に今後共宜しくお願い申し上げます。
感謝!!

2017年05月27日

小笠原聖史

中村さん
よかったです!
こちらこそ、引き続きよろしくお願いいたします。
また何かありましたらいつでもおっしゃってください。

2017年05月27日

Yuto Uchida

先物発注関数「FNEWORDER」の挙動について

みなさん
こんにちは内田です。

先物発注関数「FNEWORDER」の挙動についてご質問があります。
よろしくお願い致します。

発注関数を秒単位などの短い間隔で連続で実行するとどうなるのでしょうか?
エクセルがフリーズなどの現象はありますか?

2017年05月31日

小笠原聖史

内田様、
私は数秒間隔で新規注文を発注することはやったことがないのですが、普段使っている感覚に基づけば、一般的なPCと通信環境であれば、2-3秒間隔での新規発注は普通にこなせると思います。

2017年05月31日

Ryo Ohno

Uchidaさん、初めまして

セル関数で行うか、VBAでやるかで異なるのですが、
VBAで発注を行う場合、以前試したときは、
0.5秒などの間隔で発注でも正常に動作しましたー

2017年05月31日

Yuto Uchida

小笠原さん、Ryoさん
ご返答ありがとうございます。

発注を間隔を開けないで行うとどうなるでしょうか?
例えばマクロでループしていくつも同時に発注するとか
これをするとエクセルはフリーズするケースはありましたか?

2017年05月31日

Ryo Ohno

Uchidaさん

>発注を間隔を開けないで行うとどうなるでしょうか?
>例えばマクロでループしていくつも同時に発注するとか
>これをするとエクセルはフリーズするケースはありましたか?

ループなどで同時に発注する際、
マクロ実行中は岡三RSSが動けずデータを取得できませんので、
DoEventsやマクロを繰り返し動く形にして、
岡三RSSが動ける形を保ってあげる必要があります。

例えば、9:00~15:00までを1つのマクロで永久ループなどで
回し鵜づける場合、岡三RSSがデータを取得できませーん。
DoEventsでも取れない時があるので、マクロを繰り返し動かす形がよいと思います。

2017年06月02日

Yuto Uchida

ご返答くださった、みなさんありがとうございます。
疑問解消致しましたので、このトピックは解決と致します。

2017年06月09日

Yuto Uchida

関数「FCANDLE」を使用して表示した足の情報リストの中で出来高が0のが表示されない。

みなさんこんばんは内田です。
関数「FCANDLE」を使って日経miniの足情報リストをシートのセルに表示しています。
この時、出来高が0の情報が抜けてしまいます。
出来高が0の情報が抜けないようにする方法はあるのでしょうか?

みなさまのお知恵をお貸しいただけたら嬉しいです。
よろしくお願い致します。

2017年06月07日

小笠原聖史

fcandle.xlsx (446.3KB)

内田様
小笠原と申します。
試しに、添付ファイルの形で、6月限と12月限のミニの1分足を表示してみましたところ、出来高が0の情報も入っているように見受けられます。内田様のご疑問はおそらくこういうところではないと思うのですが、もう少し、ご疑問の情報をいただけますでしょうか?

2017年06月07日

Yuto Uchida

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

Lookup関数を使って時間足を埋めるようにしているのですね。
自分がやりたいこととはちょっとずれているのかなと思います。
自分がやりたいのは
1:FCANDLE関数でセルに表示している4本値をVBAで配列で取り込む
2:取り込んだ配列を要素を一つ一つチェックして出来高が0のがあれば、配列に要素を追加して抜けのない配列に置き換える

こういったことがやりたいと考えています。

2017年06月18日

Yuto Uchida

小笠原様
こんにちは内田です。
ご返答ありがとうございます。
状況をもっと詳しく記載します。

1分足でExcelシートに取り込むと出来高がない足は飛ばす処理が起きて、20:31分の足の次の足が20:34分の足になったりしました。
しかし翌日になって再度その部分のデータをもう一度とると、今度は出来高がない足情報が入っていました。

当日の情報では出来高がない情報は抜けるが、
翌日に情報をもう一度とると、出来高がない情報が入っています。
当日と翌日以降とでは情報取得に違いが起きています。

当日の情報取得で出来高がない情報が抜けることがないようにしたいのですが、

2017年06月08日

小笠原聖史

内田様
おっしゃる通りの現象が手元のPCで再現しました。
今日、2017年12月限の1分足をcandle関数で自動更新させておきまして、出来高がない「分」は表示されませんでした。
これはRSSの仕様だとすると、別の列にVBAをつかって抜けた足を継ぎ足したものを作る必要があるかもしれません。

16:30以降、出来高の少ない銘柄を追加して、もう少し現象を確認してみまして、レポートいたします。

2017年06月08日

Ryo Ohno

岡三RSSの動きですが、
もしかしたら間違っている可能性がある事を、ご容赦頂けると幸いなのですが・・・

岡三RSSは確か当日分と過去分で動きが異なっていて
過去分は、サーバーなどに入っているデータをそのまま表示する動きとなり、
当日分は、ティックのデータを元にクライアントでローソク足を生成していた記憶があります。

ですので、過去分は出来高がないデータも取得でき
当日分は、出来高がない足は作られない動きとなります。
そして、取引日(午前6時以降?)が変わると過去分となり、出来高が0のデータも表示される動きとなります

もし、分足などのローソク足が必要な時で、Excel関数のみでやられたいときは、

1.一分間ごとの時間が入ったシートを作成
2.その隣などに、岡三RSSのローソク足を表示する
3.LOOKUP関数などで、岡三RSSにその時間に対するデータがあれは表示
4.もし、岡三RSSになければ、前の分のデータを同じデータを表示する
というものを作れば、大丈夫です!!

ごめんなさい、出勤前でサンプルシートが作れませんでした・・・(^^;

2017年06月09日

Yuto Uchida

大野さん
ご説明ありがとうございます。

当日ではTickデータ
翌日ではサーバーデータ
と取得方法が異なるのですね。

自分は4本値を出来高0に抜けがないデータを取得したい条件としては
・VBAで行う。
・岡三RSSでシート表示しているローソク足を配列で取得
・配列で取得した値が出来高0で抜けがないようになっている。

以上になります。
これを実現するための良いアイデアはありますでしょうか?

2017年06月09日

Ryo Ohno

FCANDLE.xlsx (49.2KB)

Uchidaさん
出来高がないとき時に、ひとつ前の時間の情報を引いてくるサンプルシートを作ってみましたー!!
参考になれば幸いです!!


とりあえず、セル関数のみでやっていますので、
シート上で使用されても、このシートをVBAで取り込まれても良いと思いまーす。

Uchidaさんの状況がわからないのですが、
もしVBAで取り込むところも必要であれば、ご連絡くださーい

2017年06月17日

Ryo Ohno

Uchidaさん
すみません、週末にイベントがあってて返信が遅くなりました。

VBA側で、抜けのないローソク足の配列が必要ということでしょうかー?

2017年06月13日

Yuto Uchida

>VBA側で、抜けのないローソク足の配列が必要ということでしょうかー?
そうです。
関数「FCANDLE」で設定したセルリストから配列で取得して抜けがないようにしたいです。

2017年06月14日

Ryo Ohno

Uchidaさん

すみません、正確ではない情報を書いてしまいました・・・

>当日ではTickデータ
>翌日ではサーバーデータ
>と取得方法が異なるのですね。
正確には、
岡三RSS稼働後のデータはTick
岡三RSS稼働前のデータはサーバーのデータとなります。

いろいろとやっていて、遅くなってしまったので、
明日サンプルを作ってみまーす!!

2017年06月16日

Ryo Ohno

Uchidaさん

VBAの変数の取り込みを作ってみましたー
参考になれば幸いです。

一応、シート上でデータの補完を行ったものを取り込む方式と
補完を行わずに取り込む方式を作ってみましたー

ご参考になれば幸いです!!

2017年06月19日

Ryo Ohno

あれ・・・
xlsmって添付できないんだ・・・

VBA付きのファイルが上がらないので、コードを直書きしまーす!!

================================
Private Type OHLC
Time As Date
Open As Long
High As Long
Low As Long
Close As Long
End Type
Private OHLCList() As OHLC

'データ成型後取り込み
Private Sub CommandButton1_Click()
Dim RowIdx As Integer
Dim OHLCIdx As Integer

OHLCIdx = 0
For RowIdx = 2 To 392
ReDim Preserve OHLCList(OHLCIdx)

OHLCList(OHLCIdx).Time = Cells(RowIdx, 8)
OHLCList(OHLCIdx).Open = Cells(RowIdx, 9)
OHLCList(OHLCIdx).High = Cells(RowIdx, 10)
OHLCList(OHLCIdx).Low = Cells(RowIdx, 11)
OHLCList(OHLCIdx).Close = Cells(RowIdx, 12)

OHLCIdx = OHLCIdx + 1
Next

End Sub

'データ成型前取り込み
Private Sub CommandButton2_Click()
Dim RowIdx As Integer
Dim OHLCIdx As Integer
Dim lostCnt As Integer

OHLCIdx = 0
For RowIdx = 2 To 392
If Cells(RowIdx, 1) <> "" Then

If RowIdx >= 3 Then lostCnt = makeLostData(Cells(RowIdx, 1), Cells(RowIdx - 1, 1))

OHLCIdx = OHLCIdx + lostCnt

ReDim Preserve OHLCList(OHLCIdx)

OHLCList(OHLCIdx).Time = Cells(RowIdx, 1)
OHLCList(OHLCIdx).Open = Cells(RowIdx, 2)
OHLCList(OHLCIdx).High = Cells(RowIdx, 3)
OHLCList(OHLCIdx).Low = Cells(RowIdx, 4)
OHLCList(OHLCIdx).Close = Cells(RowIdx, 5)

OHLCIdx = OHLCIdx + 1
End If
Next
End Sub

Private Function makeLostData(nowTime As Date, prevTime As Date) As Integer
Dim lostCount As Integer
Dim idx As Integer

lostCount = DateDiff("n", prevTime, nowTime) - 1

For idx = 1 To lostCount
ReDim Preserve OHLCList(UBound(OHLCList) + 1)

OHLCList(UBound(OHLCList)).Time = DateAdd("n", idx, prevTime)
Next

makeLostData = lostCount

End Function
================================

2017年06月19日

Yuto Uchida

Ohnoさん
こんばんは内田です。

ご返答ありがとうございます。
コメントを参考にして実装ができました。
丁寧な対応をありがとうございます。

本件の質問は解決済みと致します。
フォームに未解決・解決を選択して表示する機能が欲しいですね。
質問が解決済みなのかどうかが今はわからないのが不便と感じました。

2017年06月28日

Ryo Ohno

内田さん、お役に立てたようでよかったです。

確かに未解決・解決があると便利ですねー
岡三オンライン証券さんに期待しましょう・・・(笑

2017年06月28日

岡三オンライン証券(代理記入)

当社に寄せられた質問「保有情報取得関数OPPOS1TI0Nに表示される評価損益額を使ったOCO注文について」

225先物です。複数の建玉の利益確定あるいは損切り(OCO)を行うため,
保有情報取得関数OPPOS1TI0Nで表示される評価損益額を使い、シートモジュール上に下記コードを書きました。
しかし、コンパイルエラー(プロシージャの宣言が、イベント又はプロシージャの定義と一致しません)と表示されました。修正すべき箇所をご教授いただければ、有難く存じます。宣しくお願い致します。

(シートモジュール)
Private Sub Worksheet_Change
Dim i as integer
For i =3 to 25
if Cells(i,9)<=-5000 then “評価損益額はCells(3.9)から記入
if cells(i, 1)=“買" then “建玉の売買の別は,Cells(3,1)から記入
Call 決済売
Else
Call 決済買
End if
End if

if Cells(i,9)>=5000 then
if cells(i, 1)=“買" then
Call 決済売
Else
Call 決済買
End if
End if

Next
End Sub

*損切り、利益確定ともそれぞれ-5000円 、5000円としています。
**決済売,買とも標準モジュールに於て、
sub 決済売 ()
kessaiuri=fneworder(成行・決裁売)
End Sub
をそれぞれ作成しています。
***3~25行まで保有の注文までの処理としています。

以上

2017年05月25日

小笠原聖史

おおた様
新規は偶数、決済は奇数とのアイデアで問題ないかと思います。

2017年05月29日

おおた

第8引数 1
第9引数 1
第10引数 1
第11引数 1
第12引数 “パスワード"
第13引数 “Ceー

2017年05月27日

小笠原聖史

以下の記述でi=3から25まで、手元のPCで正常に動作しております。お試しいただけますでしょうか。(的外れな回答でしたら申し訳ありません。)

Private Sub Worksheet_Change()
Dim i As Integer
For i = 3 To 25
If Cells(i, 9) <= -5000 Then '評価損益額はCells(3.9)から記入
If Cells(i, 1) = "買" Then '建玉の売買の別は,Cells(3,1)から記入
Call 決済売
Else
Call 決済買
End If
End If

If Cells(i, 9) >= 5000 Then
If Cells(i, 1) = "買" Then
Call 決済売
Else
Call 決済買
End If
End If

Next
End Sub

'損切り、利益確定ともそれぞれ-5000円 、5000円としています。
'済売,買とも標準モジュールに於て、
Sub 決済売()
'kessaiuri=fneworder(成行・決裁売)
End Sub
Sub 決済買()
'kessaiuri=fneworder(成行・決裁売)
End Sub
'をそれぞれ作成しています。
'***3~25行まで保有の注文までの処理としています。

以上

2017年05月26日

おおた

小笠原聖史 様
早速のご教示感謝いたします。
ご指示通りもう一度、マクロを動かしました。しかし,“プロシーシ"ャの宣言が、イベント又はプロシージャの定義と一致していません。“の表示がでました。
どうも,周辺あたりのcall決済売等が、間違えている可能性があります。厚かましいお願いでございますが,下記をチェック願えれば、幸甚でございます。
FOPPOS1T10Nは、sheet6(決済)で開いています。sheet6(決済)のシートモジュールに.Pnvate sub worksheet changeを書ぃています。sub 決済売()は次の様に、標準モジュールに書いています。

sub 決済売()
Dim kessainri as string
sheets(“決済“).select
cells(1、2)=Cells(1,6) “建玉番号
kessaiuri=Fneworder()
cells(1,4)=Cells(1,4)+ 1

Fneworderの引数は次の通り
第1引数 “N225mini"
第2引数 201706
第3引数 “Cells(1,2)"
第4引数 “1"
第5引数 l
第6引数 0
第7引数 “0"
第8引数 1
第9引数 1
第10引数 1
第11引数 1
第12引数 “パスワード"
第13引数 “Cells(1,4)“

2017年05月26日

おおた

小笠原聖史 様
早速のご教示感謝いたします。
ご指示通りもう一度、マクロを動かしました。しかし,“プロシーシ"ャの宣言が、イベント又はプロシージャの定義と一致していません。“の表示がでました。
どうも,周辺あたりのcall決済売等が、間違えている可能性があります。厚かましいお願いでございますが,下記をチェック願えれば、幸甚でございます。
FOPPOS1T10Nは、sheet6(決済)で開いています。sheet6(決済)のシートモジュールに.Pnvate sub worksheet changeを書ぃています。sub 決済売()は次の様に、標準モジュールに書いています。

sub 決済売()
Dim kessainri as string
sheets(“決済“).select
cells(1、2)=Cells(1,6) “建玉番号
kessaiuri=Fneworder()
cells(1,4)=Cells(1,4)+ 1

Fneworderの引数は次の通り
第1引数 “N225mini"
第2引数 201706
第3引数 “Cells(1,2)"
第4引数 “1"
第5引数 l
第6引数 0
第7引数 “0"
第8引数 1
第9引数 1
第10引数 1
第11引数 1
第12引数 “パスワード"
第13引数 “Cells(1,4)“

2017年05月26日

小笠原聖史

おおた様

引数は少し違うところがありました。
以下を実行いただきますと発注できると思いますので、お試しください。
※発注確認のポップアップありにしております。

Sub 新規買い()
NB = FNEWORDER("N225mini", "201706", 1, "", "", 3, 0, 0, 1, 0, 1, "", "Password", 1, 1, "trade1", "", "")
End Sub

<ご参考>
第1引数 "N225mini"
第2引数 201706
第3引数 1
第4引数 ""
第5引数 ""
第6引数 3
第7引数 0
第8引数 0
第9引数 1
第10引数 0
第11引数 1
第12引数 ””
第13引数 ”password”
第14引数 1
第15引数 1
第16引数 ”trade1”


成功しない場合には、以下参照設定の問題をご確認ください。
<岡三RSSのQAから引用しております。>
参照設定がされていないので、Excel®を起動し、ツール(T)>マクロ>Visual Basic Editorを選択し起動してください。そして、Visual Basic Editorの【ツール】-【参照設定】で、岡三RSSにチェックします。

2017年05月26日

おおた

小笠原聖史 様
早速のご回答お礼申し上げます。
新規買いの発注マクロを詳細にお教え頂き有難うございます。FOPPOS10Nの評価損益額にてCOCを行いたく考えていますが,主題のシートモジュールに記したPrivate sub worksheet changeの中の“call 決済売“
で呼び出される“sub 決済売() “の建玉番号を記入するところが良く分かりません。
できましたら,下記の**を追加したPrivate Sub Worksheet_Change()及びsub 決済売() をチェック願えれば、幸甚でございます。
なお、FOPPOS1T10Nは、sheet6(決済)で開いています。
(前回の問い合せ時のコードからは修正しています)

Private Sub Worksheet_Change()
Dim i As Integer
For i = 3 To 25
If Cells(i, 9) <= -5000 Then '評価損益額はCells(3.9)から記入
**Cells(1,8)=Cells(i,6) ′建玉番号です。
If Cells(i, 1) = "買" Then '建玉の売買の別は,Cells(3,1)から記入
Call 決済売
Else
Call 決済買
End If
End If
**6列にFOPPOS1T10Nの建玉番号を表示。Cells(i,6)は、建玉番号を示 します。利益確定の部分も同様に考え、ここでは省略しています。

sub 決済売() “標準モジュールに記入
Dim kessaiuri as string
sheets(“決済“).select
kessaiuri=Fneworder()
cells(1,4)=Cells(1,4)+ 1 “発注ⅠD

Fneworderの引数は次の通り
第1引数 “N225mini"
第2引数 201706
第3引数 2
第4引数 “Cells(1,8)"
第5引数 “1"
第6引数 1
第7引数 0
第8引数 “0“
第9引数 1
第10引数 1
第11引数 1
第12引数 l
第13引数 “password“
第14引数 Cells(1,4)
第15引数 “1"
第16引数 ““
第17引数
第18引数
以上,宣しくお願いします。
おおた

2017年05月27日

小笠原聖史

おおた様
承知いたしました。
foppositionで建玉番号を取得し、fneworderの第4引数にセットして決済注文を発注するマクロを作って、5/29月曜日に、私の口座で建玉を作ってテストし動作確認をして結果をご報告いたします。あいにく今手持ちの建玉がありませんので、、、少々お待ちください。

2017年05月27日

小笠原聖史

おおた様
お待たせして申し訳ありませんでした。
以下、手元のPCで動作確認済みです。
(i,6)は建玉番号
(i,10)は発注ID
です。発注IDは、全注文でユニークになるように設定してくださいますようお願いいたします。
建玉IDと発注IDの二つの変数はstring型にするとうまくいきました。
一度お試しいただけますでしょうか。

Sub 決済発注()
Dim i As Integer
Dim 建玉NO As String
Dim 発注ID As String
For i = 3 To 25
If Cells(i, 9) <= -5000 Then
建玉NO = Cells(i, 6)
発注ID = Cells(i, 10)
If Cells(i, 1) = "買" Then
Call 決済売(建玉NO, 発注ID)
Else
Call 決済買(建玉NO, 発注ID)
End If
End If
Next
End Sub
Sub 決済売(建玉NO As String, 発注ID As String)
Rs = FNEWORDER("N225mini", "201706", 2, 建玉NO, "1", 1, 0, 0, 1, 0, 1, "", "password", 発注ID, 1, "trade10", "", "")
End Sub
Sub 決済買(建玉NO As String, 発注ID As String)
Rb = FNEWORDER("N225mini", "201706", 2, 建玉NO, "1", 3, 0, 0, 1, 0, 1, "", "Password", 発注ID, 1, "trade10", "", "")
End Sub

2017年05月29日

おおた

小笠原聖史 様
朝一番の丁寧かつ完璧なご回答に対し,お返事遅れまして申し訳ございません。一つ初歩的な質問がございます。
“発注IDは、全注文でユニークになるように設定"しろのことでございますが,新規の発注IDに対し1を加えて、決済の発注IDにする場合,下記のコードで宣しいのでしょうか?
(新規の発注ID発行も売買とも、Cells(1.1)= Cells(1,1)+1とし1を加えていきます)
Sub 決済発注()
Dim i As Integer
Dim 建玉NO As String
Dim 発注ID As String
For i = 3 To 25
If Cells(i, 9) <= -5000 Then
建玉NO = Cells(i, 6)
**発注ID = Cells(i, 10)+1
If Cells(i, 1) = "買" Then
Call 決済売(建玉NO, 発注ID)
Else
Call 決済買(建玉NO, 発注ID)
End If
End If
Next
End Sub
**
発注ID = Cells(i, 10)+1 とし, 1を加えていく。

すいません。お手を煩わします。
宣にお願いします。
おおた

2017年05月29日

おおた

小笠原聖史 様
間違えました。
新規の発注ID発行も売買とも、Cells(1.1)= Cells(1,1)+2としを2加えた偶数とし、決済の発注IDは,新規の発注に1を加えた奇数番号にしないと“全注文でユニークにならないですね。失礼しました。
おおた

2017年05月29日

おおた

小笠原聖史 様
すいません。ご教示いただいたプログラムを走らせようとしたのですが,次の疑問ができました。宣しくご教授下さい。
1、Sub 決済発注 ()の中の発注ID=Cells(i,10)部分ですが、FOPPOS1T10Nには、,発注IDの項目はありません。メモの中に発注IDを入れておくのでしょうか?
2,Sub 決済発注 ()は、標準モジュールへの記入と思われます。何かトリガーがないとこのモジュールは,走らないと思いますが、何をドリガーにしているのでしょうか? シートモジュールに入れているのでしょうか?
おおた

2017年05月29日

小笠原聖史

foppositionを使ったOCO.xlsx (11.3KB)

おおた様の今までのコメントを拝見して、おやりになりたいことはこんなことかなと想像しながら、仕組みを作ってみました。
1、発注IDは、現在日時をセットすることでユニークにしてみました。
2、決済発注は、建玉の評価損益が±5000円以上になることをトリガーにしてみました。

添付のエクセルファイルにfoppositionをセットしております。
これに以下のプロシージャを標準モジュールにコピペしていただいて、「保有情報取得関数OPPOS1TI0Nに表示される評価損益額を使ったOCO注文」を実行していただくと、1秒おきに評価損益をチェックして、評価損益が±5000円以上となった建玉を決済していくという仕組みです。
黄色の網掛けが空白のうちは、1秒おきの繰り返しロジックが走り続けますので、止めたいときには、何かしらの文字なり数字を黄色の網掛けに入力してください。するとマクロが止まります。

以上、一度お試しいただけますでしょうか。

Sub 保有情報取得関数OPPOS1TI0Nに表示される評価損益額を使ったOCO注文()
If Cells(1, 15) <> "" Then
MsgBox "決済発注判定を修了します。"
Exit Sub
End If
Call 決済発注判定
反復時刻 = TimeValue(Now) + TimeValue("00:00:01")
Application.OnTime 反復時刻, "保有情報取得関数OPPOS1TI0Nに表示される評価損益額を使ったOCO注文"
Cells(1, 16) = TimeValue(Now)
End Sub

Sub 決済発注判定()
Dim i As Integer
Dim 建玉NO As String
Dim 発注ID As String
For i = 3 To 25
If Cells(i, 12) <= -5000 Or Cells(i, 12) >= 5000 Then
建玉NO = Cells(i, 10)
発注ID = Now()
If Cells(i, 5) = "買" Then
Call 決済売(建玉NO, 発注ID)
Else
Call 決済買(建玉NO, 発注ID)
End If
End If
Next
End Sub
Sub 決済売(建玉NO As String, 発注ID As String)
Rs = FNEWORDER("N225mini", "201706", 2, 建玉NO, "1", 1, 0, 0, 1, 0, 1, "", "password", 発注ID, 1, "trade10", "", "")
End Sub
Sub 決済買(建玉NO As String, 発注ID As String)
Rb = FNEWORDER("N225mini", "201706", 2, 建玉NO, "1", 3, 0, 0, 1, 0, 1, "", "Password", 発注ID, 1, "trade10", "", "")
End Sub

2017年05月30日

小笠原聖史

foppositionを使ったOCO.xlsx (11.4KB)

おおた様
すみません、
先ほどアップしたファイルではなく、こちらをお使いください。
※L3から評価損益額を表示するよう関数を設定していなかったので、修正いたしました。

2017年05月30日

おおた

小笠原聖史 様
わざわざ新らたなコードを、早速に作成頂き有り難うございました。コードをコピペして実行しました。以下2ケースともエラーが出てしまいます。

1.Sub 保有情報取得関数OPPOS1T10Nに表示される‥‥OCO注文()を実行すると、“決済建玉がありません“というエラーをが1秒毎でてきます。
2.新規売1枚を取得した後に(Sub 新規売()を実行し,1枚を取得)、Sub 保有情報取得関数OPPOS1T10Nに表示される‥‥OCO注文()を実行すると、又同じく“決済建玉がありません"というエラーがでます。FOPPOS1T10Nの決済注文中数量の表示は0となっています。
またまた、恐縮ですが、チェックの程を宣しくお願いします。

おおた

2017年05月30日

小笠原聖史

おおた様

申し訳ありません、ご不便をおかけいたしました。
1秒おきのループ処理だとエラーが出てしまいますので、10秒おきに修正しました。
※決済発注→大証にて約定→エクセルに建玉がなくなった旨データが送信される→RSSがエクセルから建玉情報を消す、以上のプロセス完了しないうちにループ処理をかけると、「決済処理は走るけれども建玉がない」ためにエラーとなっておりました。
その他、いくつか修正しております。以下のコードをお試しいただけますでしょうか?

Sub 保有情報取得関数OPPOS1TI0Nに表示される評価損益額を使ったOCO注文()

If Cells(1, 15) <> "" Then
MsgBox "決済発注判定を終了します。"
Exit Sub
End If

Call 決済発注判定

反復時刻 = TimeValue(Now) + TimeValue("00:00:10")
Application.OnTime 反復時刻, "保有情報取得関数OPPOS1TI0Nに表示される評価損益額を使ったOCO注文"
Cells(1, 16) = TimeValue(Now)

End Sub

Sub 決済発注判定()

Dim i As Integer
Dim 建玉NO As String
Dim 発注ID As String
For i = 3 To 25

If Cells(i, 12) = "***END***" Then
Exit For
End If

If Cells(i, 12) <> "" And Cells(i, 12) * 1 <= -5000 Or Cells(i, 12) >= 5000 Then
建玉NO = Cells(i, 10)
発注ID = Now()
If Cells(i, 5) = "買" Then
Call 決済売(建玉NO, 発注ID)
Else
Call 決済買(建玉NO, 発注ID)
End If
End If
Next
End Sub
Sub 決済売(建玉NO As String, 発注ID As String)
Rs = FNEWORDER("N225mini", "201706", 2, 建玉NO, "1", 1, 0, 0, 1, 0, 1, "", "password", 発注ID, 1, "trade10", "", "")
End Sub
Sub 決済買(建玉NO As String, 発注ID As String)
Rb = FNEWORDER("N225mini", "201706", 2, 建玉NO, "1", 3, 0, 0, 1, 0, 1, "", "password", 発注ID, 1, "trade10", "", "")
End Sub

2017年05月30日

小笠原聖史

おおた様

今朝も手元のPCでやってみたのですが、新規買い発注→約定→建玉の評価損益を監視→決済条件に合致→決済注文発注→約定、の流れは動作することが確認できております。ので、もしよろしければ、おおた様が標準モジュールに張り付けたVBAの記述を、パスワードの部分を無規則文字列に変換したうえで、このスレッドに張り付けていただくことはできますでしょうか?

2017年05月31日

おおた

小笠原聖史 様
少し付け加えさしてください。繰りかえますが、損切り価格に来ると、エラー"決済建玉がありません"がでてきます。I列の決済注文中数量は. 0となっています。普通、0には、なっていないのではないのでしょうか?

おおた

2017年05月31日

おおた

小笠原聖史様
今回は,一枚の注文を手動で入れました。J3の建玉番号の表示は、-で表示され認識されていません。この理由ですね。"決済建玉がありません"というエラーがでる理由は。貴殿のパソコンでは,当然認識されていたのですね? これは,私自身のパソコン環境の問題ですね?[今週日曜日からは、自宅を離れモバイルパソコンで行っています。)
おおた

2017年06月01日

おおた

小笠原聖史様
早速にご回答有難うございました。
ご指示のFOPPOS1T10Nで表示されるかどうか、各項目をチェックしました。買,売それぞれ1枚を手動で約定させました。売は、買の9秒後に入れました。
FOPPOS1T10Nは,注文毎で行っています。
1.評価損益額についての表示は,正常に作動せず。
(1)買(9:46:15約定)は、0のままの表示で変化しません。
(2)売(9:46:24約定)は、***END***が表示され,数値が表示されていません。
(3)買は、3行目に,売は,4行目に表示されています。この順で正常ですか?

2.評価損益額以外では.ーが表示され,数値等が表示されていません。。
建玉番号,建玉技番号,建玉日,建玉日時

以上ですが、正常でない表示が、多くでています。小笠原さんのPCでは、問題はありませんか?
おおた

2017年06月01日

おおた

小笠原聖史様
ご返事有り難うございます。
1.すいません。色々やってみましたが、エクセルの添付の方法が分りません。
2,とりあえず、岡三オンラインの方にFOPPOS1T10Nの表示について,質問を出しています。
3.明日の夜、自宅にもどりますので,自宅のパソコンで行ってみます。
4、複数建玉の場合,間隔は20秒等とっておく必要が、ありそうですね。もしできるなら、損切り,利益確定の条件があえば,すぐに決済を考えています。EXELで=If( , , )*を使えば、即、決済ができると思います。この点もどう考えられますか?
* =if( ishumber(L3) ,if (or(L3〉=5000,L3<=ー5000)、if(A3=買,fneworder(決済売),fneworder(決済買) ),“待ち" ,““)

おおた

2017年06月01日

おおた

小笠原聖史様
セル関数でも行ってみたいと思います。
決済のfneworderの中の14引数の発注IDは,単に、now()、だけを記入すれば良いのですか?
おおた

2017年06月01日

おおた

小笠原聖史 様
修正コードを載きました。有難うございます。
コピペしたコードで実行しました。しかし.損切り価格に来ると、エラー"決済建玉がありません"がでてきます。I列の決済注文中数量は. 0となっています。申し訳ございませんが,再度、チェック頂けませんでしょうか?
おおた

2017年05月31日

おおた

すいません。夕方に戻りますので、至急送付させて頂きます〟

2017年05月31日

おおた

小笠原聖史様
遅れましてすいません。下記の通り使用したコードを送付します。よろしくお願いします。

Option Explicit
Dim 反復時刻  ’追加


Sub 保有情報取得関数OPPOS1TI0Nに表示される評価損益額を使ったOCO注文()

Sheets("決済").Select    ’追加
If Cells(1, 15) <> "" Then
MsgBox "決済発注判定を終了します。"
Exit Sub
End If

Call 決済発注判定

反復時刻 = TimeValue(Now) + TimeValue("00:00:10")
Application.OnTime 反復時刻, "保有情報取得関数OPPOS1TI0Nに表示される評価損益額を使ったOCO注文"
Cells(1, 16) = TimeValue(Now)

End Sub

Sub 決済発注判定()

Dim i As Integer   
Dim 建玉NO As String
Dim 発注ID As String

Sheets("決済").Select    ’追加

For i = 3 To 25

If Cells(i, 12) = "***END***" Then
Exit For
End If

If Cells(i, 12) <> "" And Cells(i, 12) * 1 <= -1000 Or Cells(i, 12) >= 1000 Then
建玉NO = Cells(i, 10)
発注ID = Now()
If Cells(i, 5) = "買" Then
Call 決済売(建玉NO, 発注ID)
Else
Call 決済買(建玉NO, 発注ID)
End If
End If
Next
End Sub
Sub 決済売(建玉NO As String, 発注ID As String)
Dim Rs As String   ’追加

Rs = FNEWORDER("N225mini", "201706", 2, 建玉NO, "1", 1, 0, 0, 1, 0, 1, "", "kkk7777", 発注ID, 1, "trade10", "", "")
End Sub
Sub 決済買(建玉NO As String, 発注ID As String)
Dim Rb As String   ’追加
Rb = FNEWORDER("N225mini", "201706", 2, 建玉NO, "1", 3, 0, 0, 1, 0, 1, "", "kkk7777", 発注ID, 1, "trade10", "", "")
End Sub

おおた

2017年05月31日

小笠原聖史

おおた様
はい、おおた様おっしゃるとおり、1枚からなる建玉の決済注文が1枚発注されると、I列の決済注文中数量には、1枚と表示されると認識しています。
一つお教えください。損切価格に来るとエラー”決済建玉がありません”が出てくるとのことですが、建玉があって、I列の決済注文中数量が0の状態で、決済建玉がありません、が出るということでしょうか。

2017年05月31日

おおた

小笠原聖史 様
"損切価格に来るとエラー”決済建玉がありません”が出てくるとのことですが、建玉があって、I列の決済注文中数量が0の状態で、決済建玉がありません、が出るということでしょうか。"
はい、そうです。
お世話をおかけします。
おおた

2017年05月31日

小笠原聖史

おおた様
いま、いただいたコードを標準モジュールに張り付けて、シート名を”決済”に変更し、以下のとおり、
①新規売り発注(手動で)
②Sub 保有情報取得関数OPPOS1TI0Nに表示される評価損益額を使ったOCO注文()、を実行
③評価損益が1000円→決済判定→決済買い発注のポップアップ→「はい」を押下→発注→約定
のプロセスがうまく動作いたしました。

おおた様のご指摘の”決済建玉がありません”というメッセージはでなかったので、どういうわけなのでしょうか、、、なんとかおおた様の手元でうまく動作していただきたいのですが、、
今回、私はミニ一枚で試したのですが、おおた様は複数の建玉で試していらっしゃいますか?それだと、決済済みの建玉をRSSがエクセル上から消去する前に決済判定が走って、もう決済済みの建玉に対して発注をかけにいっているなら、おっしゃるメッセージが出る可能性があるかもしれないと思いました。その場合には、10秒間隔でのループ間隔の設定を、20秒などに変更するといいかもしれません。

約定日 受渡日 銘柄 市場 取引 商品 売買 単価 数量 手数料 受渡金額 決済損益
2017/5/31 23:41 2017/6/2 N225ミニ 1706 大阪 決済 日経225ミニ 先物 買 19645 1 43 414 414
2017/5/31 23:39 2017/6/2 N225ミニ 1706 大阪 新規 日経225ミニ 先物 売 19650 1 43 0

2017年05月31日

小笠原聖史

おおた様
おはようございます。
理由は、おっしゃる点”建玉番号の-表示”で間違いないと思います。
あとは、なぜ、”-”になるかですが、ご自宅の環境で建玉番号が表示されると、モバイルパソコンであることが理由だ、とわかりますね。今回、エクセルシートに表示させているfoppositionの項目は以下の通りですが、モバイルパソコンで-以外の項目は正常に表示されているのでしょうか?

FOPPOSITION("銘柄コード",A3,"0")
FOPPOSITION("銘柄名",B3,"0")
FOPPOSITION("市場",C3,"0")
FOPPOSITION("商品種別",D3,"0")
FOPPOSITION("売買",E3,"0")
FOPPOSITION("建玉日",F3,"0")
FOPPOSITION("建玉単価",G3,"0")
FOPPOSITION("数量",H3,"0")
FOPPOSITION("決済注文中数量",I3,"0")
FOPPOSITION("建玉番号",J3,"0")
FOPPOSITION("建玉枝番号",K3,"0")
FOPPOSITION("評価損益額",L3,"0")


2017年06月01日

小笠原聖史

fpositionの表示.xlsx (376.4KB)

おおた様
ご確認ありがとうございます。
VBAの記述の問題ではなく、エクセルシートのfpositionのアウトプットの問題ですね。
手元のPCでは、添付ファイルのように表示されおり、これが正常であると認識しております。
おおた様でエクセルのセルに設定されたRSSの関数をコピーしてこのスレッドに上げていただくことは可能でしょうか?

2017年06月01日

小笠原聖史

おおた様

1と2ですが、エクセル添付でなくとも、以下のような感じで張り付けていただければ拝見できます。

FOPPOSITION("銘柄コード",A3,"0")
FOPPOSITION("銘柄名",B3,"0")
FOPPOSITION("市場",C3,"0")
FOPPOSITION("商品種別",D3,"0")
FOPPOSITION("売買",E3,"0")
FOPPOSITION("建玉日",F3,"0")
FOPPOSITION("建玉単価",G3,"0")
FOPPOSITION("数量",H3,"0")
FOPPOSITION("決済注文中数量",I3,"0")
FOPPOSITION("建玉番号",J3,"0")
FOPPOSITION("建玉枝番号",K3,"0")
FOPPOSITION("評価損益額",L3,"0")

4はおっしゃるとおりですね。VBAを使わなくても、関数でも大丈夫だと思います。

2017年06月01日

おおた

小笠原聖史様
早速にご回答有難うございました。
遅ればせながら、下記、関数をコピーしたものを送付します。よろしくおねがいします。

1
FOPPOSITION("銘柄コード",A3,"2")
162060019
162060019
***END***
2:01:30 PM
FOPPOSITION("銘柄名",B3,"2")
N225ミニ17/06
N225ミニ17/06
***END***

FOPPOSITION("市場",C3,"2")
大証
大証
***END***
18:40:30
FOPPOSITION("商品種別",D3,"2")
N225ミニ
N225ミニ
***END***
19885
FOPPOSITION("売買",E3,"2")


***END***

FOPPOSITION("建玉日",F3,"2")
-
-
***END***

FOPPOSITION("建玉単価",G3,"2")
19,850
19,845
***END***

FOPPOSITION("数量",H3,"2")
1
1
***END***

FOPPOSITION("決済注文中数量",I3,"2")
0
0
***END***

FOPPOSITION("建玉番号",J3,"2")
-
-
***END***

FOPPOSITION("建玉枝番号",K3,"2")
-
-
***END***

FOPPOSITION("評価損益額",L3,"2")
0
***END***


FOPPOSITION("評価損益率",M3,"2")
0.15%
-0.18%
***END***

FOPPOSITION("SQ日",N3,"2")
2017/6/9
2017/6/9
***END***

FOPPOSITION("建玉日時",O3,"2")
-
-
***END***
6:45:23 PM
FOPPOSITION("手数料",P3,"2")
40
40
***END***
おおた

2017年06月01日

小笠原聖史

おおた様
建玉番号がでないのは、第三引数で「2」を選択されていることが原因です。「0」以外では建玉番号が出ないようです。

0:指定なし、1:建日・建単価毎、2:注文毎、3:建単価毎、4:売買毎

おおた様はすべての関数の第三引数を「2」に設定されていらっしゃいますが、これを「0」にすると正常に動作するようになると思います。もし問題なければ、第三引数を「0」にしてみてください。

あと、関数で発注する場合の14引数ですが=NOW()だけを記入すると注文がどんどん出続けます。行ごとにユニークな数字を設定していただくのがいいと思います。

2017年06月02日

おおた

小笠原聖史様
本当に、有り難うございます。
市場がひらいたら、0に設定して直ぐにやってみます。
1、関数で発注する場合の14引数を=NOW()だけを記入するのではなく、行ごとにユニークな数字を設定する必要とのことですが、具体的にどう記入するか、ー例を挙げていただけますか?
宣しくお願いします。
おおた

2017年06月02日

太田孝

小笠原聖史様
0に設定したら、FOPPOS1T10Nの項目は,正常に表示されました。
但し、決済注文中数量は,0を表示しています。(新規の売1枚,買1枚入れています)
このためか、-1000円の損切り,1000円の利確の条件になっても,"決済建玉がありません"のエラ-表示がでて決済されません。
何にか、もう少しのところにきている様ですが、ご教示下さい。
宣しくお願いします。
おおた

2017年06月02日

小笠原聖史

おおた様
決済注文数量は、当該建玉の決済注文を発注していなければ、「0」で問題ないと思います。
「決済建玉がありません」は、「建玉番号」の指定がうまくいっていないかもしれません。
以下の関数に対して、下のような建玉番号がエクセルのセルに表示されておりますでしょうか?
FOPPOSITION("建玉番号",J3,"0")
20170601E01N92163409

2017年06月03日

太田孝

小笠原聖史様
本当に、有り難うございます。
市場がひらいたら、0に設定して直ぐにやってみます。
1、関数で発注する場合の14引数を=NOW()だけを記入するのではなく、行ごとにユニークな数字を設定する必要とのことですが、具体的にどう記入するか、ー例を挙げていただけますか?
宣しくお願いします。
おおた

2017年06月03日

太田孝

小笠原聖史様
ご返事有難うごさいます。
1、建玉番号は,下記の通り正常に表示されている様です。
#N/A
20170602E01N92239575
20170602E01N92239570
***END***
2、建玉番号は、うまくいっているのであれば、発注IDが疑われます。
Sub 決済発注判定 ()の中の
発注ⅠD=Now()
発注IDが、うまく採番されないのではないでしょうか?
3、次の疑問にもお教え下さい。
“関数で発注する場合の14引数を=NOW()だけを記入するのではなく、行ごとにユニークな数字を設定する必要"とのことですが、具体的にどう記入するか、ー例を挙げていただけますか?
宣しくお願いします。

***先程送付したものは,以前のものでした。失礼しました。
おおた

2017年06月03日

小笠原聖史

太田様

建玉番号と発注IDのsubプロシージャ間での受け渡しがうまくいていないのかもしれませんので、変数自体を使わないよう一連の記述を修正したものを明日、月曜日に試して、うまくいけばこのスレッドに張り付けますので、少々お待ちくださいませ。

あと関数で発注する場合の発注IDの設定ですが、「1」とか「2」とか単純に数字をセルに書き込むだけでOKです。
ただ、エクセルが開いている間は、一度発注に使った発注IDは2回目以降は使えませんので、同じ行に設定した関数を複数回使用する前提の仕組みであれば、一工夫必要になりますが、まずは、「1」とか「2」とかで発注が成功するか、お試しいただけますでしょうか。

2017年06月04日

小笠原聖史

おおた様

おはようございます。
以下の内容でうまく動作いたしましたので、お試しいただけますでしょうか。
<変更点>
①発注IDは建玉IDを使用することにいたしました。
②建玉IDのサブプロシージャ間での受け渡しを行わないように、プログラムを変更いたしました。

これで、建玉が認識されないエラーを回避できるとよいのですが、、

Sub 保有情報取得関数OPPOS1TI0Nに表示される評価損益額を使ったOCO注文()

If Cells(1, 15) <> "" Then
MsgBox "決済発注判定を終了します。"
Exit Sub
End If

Call 決済発注判定

反復時刻 = TimeValue(Now) + TimeValue("00:00:10")
Application.OnTime 反復時刻, "保有情報取得関数OPPOS1TI0Nに表示される評価損益額を使ったOCO注文"
Cells(1, 16) = TimeValue(Now)

End Sub

Sub 決済発注判定()

Dim i As Integer
Dim 建玉NO As String
Dim 発注ID As String
For i = 3 To 25

If Cells(i, 12) = "***END***" Then
Exit For
End If

If Cells(i, 12) <> "" And Cells(i, 12) * 1 <= -4000 Or Cells(i, 12) >= 4000 Then

If Cells(i, 5) = "買" Then

Rs = FNEWORDER("N225mini", "201706", 2, Cells(i, 10), "1", 1, 0, 0, 1, 0, 1, "", "password", Cells(i, 10), 1, "trade10", "", "")

Else

Rb = FNEWORDER("N225mini", "201706", 2, Cells(i, 10), "1", 3, 0, 0, 1, 0, 1, "", "password", Cells(i, 10), 1, "trade10", "", "")

End If
End If
Next
End Sub

2017年06月05日

大田孝

小笠原聖史様
朝一番のご返事有難うごさいます。
“決済建玉がありません"とのエラーはなくなりましたが、条件(± 4000から±1.000に変更)がきても,決済発注されません。
小笠原さんのPCでは,問題なく決済されるのであれば、私のPCの設定が何か違っているのでしょうか。
おおた

2017年06月05日

小笠原聖史

おおた様
はい、私のPCではうまく動作しております。
以下のような関数で、”決済”シートのL列に評価損益額が表示されるようになっていれば、うまくいくと思うのですが、、、
=FOPPOSITION("評価損益額",L3,"0")

RSSからの新規発注は動作していらっしゃるので、PCの設定は問題ないように思っております。

2017年06月05日

大田孝

小笠原聖史様
有り難うございます。言われる通り決済が、出来ました。
初歩的な質問にも丁寧にお答え戴き,又プログラムも2本も書いて載いたり、
頭の下かる思いでー杯でございます。心から感謝いたします。
有難うございました。
おおた

2017年06月06日

小笠原聖史

おおた様
よかったです、私もうれしいです!
また何かございましたら、掲示板をご利用ください。
おおた様のトレードの成功をお祈りいたします。

2017年06月06日

岡三オンライン証券(代理記入)

当社に寄せられた質問「POSITION関数の動作について」

岡三RSSのPOSITIONがうまく動作しないのでお教えください。
エクセルのアドインのツールバーで入力し、登録ボタンを押すと、つぎのような メッセージがでて入力できません。
「アプリケーションのコンポーネントでハンドルされていない例外が発生いたし ました。「継続」をクリックすると、アロケーションはこのエラーを無視して、 続行しようとします。」継続をクリックするとRSSのアドイン画面に戻り、再度登録すると同じエラーが 発生して、キャンセルするまで入力できません。

次に、POSITION_Mを指定してみますと、エラーは発生しないで、アドインの更新 ボタンを押すと表示も正常に動作します。

マニュアルでなく、自動更新にしたいので、セルに記載した=POSITION_M(…の 「_M」を消去してリターンをしてみると、「この名前の構文が正しくありません。名前が規則を満たしていることをご確認 ください」

というエクセルのエラーが出ます。
いずれにしても、POSITIONコマンドのみが使えない状態にあります。
原因と対策をお教えください。

なおその他のコマンドのORDQUERY等も正常に動作しているので、設定上の問題で はないと思います。

2017年04月21日

岡三オンライン証券

小笠原さま、Ohnoさま

ご回答ありがとうございました。

2017年04月24日

小笠原聖史

position関数の設定方法.xlsx (53.4KB)

POSITION_Mは正常動作、POSITIONはエラー発生、ということですので、ただしい操作をしていらっしゃるのに、エラーが出る、という風におもわれます。
私は、ご指摘のエラーが発生した経験がないのでなんとも言えませんが、念のために、手元のPCで正常に動作した手順を添付いたします。
RSSを再インストールしてみるとか、PCの再起動、で直るといいのですが、、、

2017年04月21日

Ryo Ohno

自分も残念ながら同じエラーに遭遇したことがありませんので、
解決策ではないのが申し訳ないのですが、
参照設定系でエラーがあると、岡三RSSの関数に限らず、
一部の関数等でエラーが発生する場合がありまーす。

もしかすると、参照設定系でエラーがあるExcelシートになってしまっているのかもしれません。


〇参照設定の確認のやり方

1.F11を押してVBAエディタを起動する
2.ツール ー 参照設定を押下
3.参照可能なライブラリファイルの中で"参照不可"となっているものがないか探す

もし、参照不可が会った場合は、その項目のチェックを外していただければ、
とりあえずのエラーは回避できまっす。

2017年04月22日

マーク

複数の建玉番号に対する返済注文を自動発注する

こんにちは。225miniで取引しています。
新規の指値注文が約定したのをトリガーに自動で返済注文を出すシートを使っています。

新規注文が複数枚の時、約定が複数に分かれて約定するときがありますが、この場合、一つの新規注文に対して、建玉番号が複数付与されます。

そうなった場合、エラーになって返済注文を発注できません。
この問題を解決する方法はないでしょうか?

【シートの発注動作は・・・、】
新規のFNEWORDER関数→6枚指値で発注→約定
 ↓
①返済のFNEWORDER関数→+10円で2枚発注
②返済のFNEWORDER関数→+20円で2枚発注
③返済のFNEWORDER関数→+30円で1枚発注
④返済のFNEWORDER関数→+40円で1枚発注

【各返済注文の動作は・・・、】
新規注文が約定
 ↓
建玉番号が返ってくる
 ↓
メモを使って建玉番号を引っ張ってくる
 ↓
その建玉番号に対して返済注文を出す

【問題点は】
一つのメモに対して一つの建玉番号ならいいのですが、複数に分かれて約定した場合、一つのメモに対して複数の建玉番号があり、それぞれ枚数もバラバラになるので、下記のようなエラーが出ます。
「決済建玉がありません」
「指定された建玉数が実際の建玉数より多い」

ややこしい話で恐縮ですが、問題を可決する方法はないでしょうか。

2017年06月02日

小笠原聖史

マーク様
「建玉枝番」を使う方法があると思います。
1つの新規注文に対して、二つの一部約定が複数発生すると、同一建玉番号に異なる枝番が付与されます。(記憶ベースです、間違いでしたら申し訳ありません。)
そこで、以下の方法が検討できるように思います。
「建玉番号A」+「建玉枝番1」→メモ1で引っ張ってきて「発注ID1」で決済発注
「建玉番号A」+「建玉枝番2」→メモ1で引っ張ってきて「発注ID2」で決済発注
これで、ご指摘のエラーは回避できませんでしょうか?

2017年06月03日

マーク

小笠原さん、ご提案ありがとうございます!
なるほど、枝番を使う方法ですね。
エクセル初心者ゆえ、マクロが使えないので、関数のみでできるかどうかわかりませんが、さっそく、検討して見ます!

2017年06月03日

小笠原聖史

マーク様
私が6/3に書いた内容に誤りがありましたので、お詫びいたしまして以下の通り修正いたします。

1つの新規約定が分割約定すると、
 分割された建玉ごとにユニークな番号が付番される。
 枝番は全ての建玉で「1」が付番される。
ということが分かりましたので、

分割約定の場合も、そうでない場合も、とにかく「建玉番号」ごとにユニークな「発注ID」をセットすれば、
「決済建玉がありません」
「指定された建玉数が実際の建玉数より多い」
という課題は解決されるものと思います。

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

2017年06月07日

マーク

小笠原様
ご丁寧に訂正のご連絡ありがとうございます。
確かに、建玉番号ごとに発注IDをセットしないといけませんね。
思い通りの動作になるように頑張ってみます!

2017年06月08日

岡三オンライン証券(代理記入)

当社に寄せられた質問「株式の返済にOCOを使いたい、またその際に建玉指定・まとめて返済する方法を教えてほしい」

①逆指値の仕組みが変わったが、1つの建玉に対し指値と逆指値の返済注文(OCO)を出すことは可能か?
 また、OCOではないが、RSSで逆指値、WEB画面から指値の返済注文は出せるか?
 出来る場合の条件は?(RSSは逆指値で発注するなど)

②信用返済
 第10引数(建て単価)、第11引数(建て年月日)の入力は必須だと思うが、どのようにすればよいか。
 建玉指定するには「日本株保有情報」を使うようだが、どのように使えばよいのか。

③信用返済
まとめと返済と建玉指定で返済するには、どこで指定すればよいのか。
「日本株保有情報」でまとめて表示できそうだが、どのようにやれば良いのかが分からない。

2017年06月02日

小笠原聖史

小笠原と申します。よろしくお願いいたします。

①ですが、岡三RSS経由であれ、その他の発注方法であれ、利益確定の指値と損切の逆指値を同時に発注済みの状態とする、いわゆるOCO注文は不可能のようです。ただし、岡三RSSで、目標の指値に達すれば利益確定注文を発注、損失の限度に達すれば損切注文を発注、という仕組みを作ることが可能で、これにより、OCOとほぼ同等のことを行うことができると思います。

②おっしゃるとおり、position関数で第10引数(建て単価)及び第11引数(建て年月日)を取得します。例えば、私は以前つくったエクセルシートでは、vlookup関数を使って、銘柄コードをキーにして建て単価と建て年月日を特定のセルに表示するようにしました。その他VBAでloop処理を組む方法も可能と思います。

③こちらは、別途調査してコメントをアップしますので、今しばらくお待ちください。

引き続きよろしくお願いいたします。

2017年06月07日

小笠原聖史

追伸で③について申し上げます。

日本株保有状況、position関数の第2引数で
0:建玉をまとめて表示→約定日付と
1:建玉別に表示

1を指定すると、約定日付、取得単価、注文可能数量が建玉明細別に表示されますので、決済注文発注時に、各項目を指定すれば、決済注文を発注したい建玉に絞って発注することができると思われます。

0を指定しますと、手元で確認したところ、約定日付、約定単価は、最新の建玉の当該項目が表示されております。
したがいまして、まとめて発注する際には、第2引数に0を指定して表示される約定日付、約定単価、発注可能数量を発注関数に指定して発注すればよいと思われます。

以上ご参考になれば幸いです。

2017年06月08日

岡三オンライン証券(代理記入)

①につきましては、OCO注文は不可能とのことで了解いたしました。
既に小笠原さんからお教えいただいたように時々刻々の株価を確認できるのでVBAで判断すれば、そもそも逆指値も必要ないことは理解しております。マニュアルのときの情報として知っておきたかったところです。完全自動売買のプログラミングに集中したいと思います。

信用返済につきましては、下記のように理解しましたが、質問があります。

①建単価、建年月日の情報取得
POSITIONの第二引数を
1:信用まとめて表示、0または省略時信用建玉別表示
(下記メールでは逆ですが、誤りかと思います)
で指示して、第三引数を
”約定日付”,”取得単価”
を指定することでそれぞれ、建年月日、建単価を取得できる。
なお、”銘柄コード”も指定して、vlookup関数を使って整理できるとの小笠原さんのアドバイスも有難うございました。

②REPAYMENTORDER関数の指定
第10引数(建て単価)、第11引数(建て年月日)は、上記①で取得出来ることは理解できましたが、まとめて返済の場合と、建玉別での返済の場合の区別は、これらの引数の値で判断されるのでしょうか?そこで、質問させてください。

①REPAYMENTORDERの引数の値で、建玉別かまとめてかを岡三RSS側で判断してくれるのでしょうか?
②その時の数量は、建玉別の場合は建玉の数量以下であれば自由に指定できると思いますが、まとめて返済の場合は、合計数よりも少なく注文できるでしょうか?
③もし少なく注文できるのであれば、残った建玉は仕掛けの約定が遅いものが残る手動売買の感覚でよいのでしょうか?

大変恐縮ですが、よろしくご回答をお願いいたします。

2017年06月09日

小笠原聖史

POSITIONの第二引数を
1:信用まとめて表示、0または省略時信用建玉別表示
(下記メールでは逆ですが、誤りかと思います)
↑おっしゃるとおりです、申しわけありません。

続いて、以下について手元の建玉の決済発注をRSSにて行ってみた結果をご報告します。

①REPAYMENTORDERの引数の値で、建玉別かまとめてかを岡三RSS側で判断してくれるのでしょうか?
→建日、建単価が異なる建玉をまとめて決済発注することはできないようです。
②その時の数量は、建玉別の場合は建玉の数量以下であれば自由に指定できると思いますが、まとめて返済の場合は、合計数よりも少なく注文できるでしょうか?
→したがいまして、「建玉別の場合は建玉の数量以下であれば自由に指定できる」はおっしゃるとおりで、まとめて返済は、不可能、ということになると思います。

岡三RSSでは、建日、建単価に合致した建玉の返済注文に限って行うことができる、ということになるかと思います。したがって、RSSでの自動発注を検討する際に、position関数で「まとめて」を選択する意味はないように思いました。

以上、遅くなりましたがご報告いたします。
ご参考になれば幸いです。

2017年06月10日

Yuto Uchida

指定した日付から先物ラージの限月期近を取得するロジック



こんばん内田です。

指定した日付から先物ラージの限月期近の値(yyyymm)をVBAで取得するロジックが思いつかなくて、ここで質問を出しました。

みなさまのお知恵を拝借していただけると助かります。

2017年06月09日

Yuto Uchida

大野さん
ご返答ありがとうございます。
こちらこそ説明不足ですいません。

>『2017/11/01』などとした場合、
>2017/11/01の時に期近の201712を取得したいということになりますでしょーかー?
言いたいことはそういうことです。

2017年06月14日

Yuto Uchida

こんばんはマークさん
なるほど”FQUOTE”関数から取得できるのですね。
マニュアルは見ていたのですが、抜けていました。
ありがとうございます。
参考になります。

2017年06月15日

Ryo Ohno

あっ現在の期近でよかったんですね。
日にちを指定したいのかと勘違いしていました。

現在の期近でよい場合は、
マークさんの言われている方法が、自分も一番いいと思います!!

2017年06月16日

Ryo Ohno

Uchidaさん

指定した日付から、限月期近の値というのはどのような意味になりますでしょうか?
すみません・・・理解力がなくて・・・(^^;

ただ単に現在の期近の値をとりたいというのではなく・・・

『2017/11/01』などとした場合、
2017/11/01の時に期近の201712を取得したいということになりますでしょーかー?

2017年06月13日

マーク

内田さん、こんばんは。
横からすみません。

あまり知識のない私で恐縮なのですが・・・、
以下の関数で、常に225ラージ期近の値が取得できますが、これではだめでしょうか?

=FQUOTE("N225",0,"限月")

現在だと、「201709」と表示されます。
的はずれな回答だとしたらごめんなさい。

2017年06月15日

マーク

岡三RSSからの返済注文時のエラー

お世話になります。
225miniで取引しています。

新規注文が約定したことをトリガーにして返済注文を自動で発注するシートを使用しています。
返済注文は特定の建玉に対して、建玉番号を指定して、発注しています。
ところが2回に1回の割合で、エラーが頻発します。
エラーメッセージは「単価が正しくありません」と出ます。

しかし、単価は間違っておらず、発注IDを変更して再度発注すると、注文が通ります。

なぜ、エラーになるのか、考えられる原因はございますでしょうか?
よろしくお願いします。

2017年06月12日

Yuto Uchida

こんばんは内田です。
225miniの返済注文では関数「FNEWORDER」を使っていると思います。
返済注文時に設定した引数を教えていただきますか?
設定した引数値を分かれば、原因調査の助けになります。

2017年06月12日

マーク

内田さん、コメントありがとうございます。
おっしゃる通り「FNEWORDER」を使っています。

もう少し詳しい状況を申しますと、
FNEWORDER関数が書かれたシートが、別の発注用シートで設定した値を参照しています。
FNEWORDER関数が走るときは、その発注シートが表示された状態になっています。
取引中は1~2秒おきに再計算をしています。
発注が通るときもあれば、「単価が正しくありません」と言うエラーにある時があります。
原因がわかればありがたいのですが、よろしくお願いします。
引数は以下のように設定しています。

第1  N225mini
第2  201709
第3  2
第4  「決済したい建玉の建玉番号」
第5  1
第6  1又は3
第7  1
第8  「決済したい価格」
第9  1
第10 1
第11 1
第12 1
第13 ※※※※
第14 「任意の番号」
第15 「なし」
第16 「第14と同じ番号を指定」
第17 「なし」
第18 「なし」

2017年06月13日

Yuto Uchida

こんばんは内田です。
引数を見ると指値を指定して価格値を設定しているのですね。

>単価は間違っておらず、発注IDを変更して再度発注すると、注文が通ります。
との記載がありますが。
単価値は発注の失敗、成功で同じ単価値だったのでしょうか?

2017年06月14日

マーク

内田さん、こんばんは。
コメントありがとうございます。

>引数を見ると指値を指定して価格値を設定しているのですね。
その通りです。

>単価値は発注の失敗、成功で同じ単価値だったのでしょうか?
はい、価格の参照先のセルには、約定価格に対して、常に同じ価格が表示されているので、失敗、成功で同じ単価値のはずです。

新規発注が約定して、約定価格が返ってくるのを待って、その価格に対して、+10円の価格で、返済指値注文を出す仕様です。
ですので、約定価格が表示されてから、発注を出すので、価格は間違っていないと思います。
成功するときと、エラーになる時の違いがわかりません。

2017年06月15日

Yuto Uchida

マークさん、こんばんは

ちょっと気になる点としては

>新規発注が約定して、約定価格が返ってくるのを待って、その価格に対して、+10円の価格で、返済指値注文を出す仕様です。

約定価格に+10円して指値注文とのことですが、
これは買い、売りのどちらの時でも+10円なのでしょうか?
売りの場合だと+10円で指値注文は大丈夫だと思います。
しかし買いの場合だと−10円で指値注文なのではと思いました。

エラーになる時は注文が売りと買いどちらでも起きているのでしょうか?

2017年06月15日

マーク

内田さん、お返事が遅くなりすみません。
説明不足でしたが、IF関数で買いなら「プラス」、売りなら「マイナス」になるようにしています。

約定後に岡三から、約定価格などの値が返ってくるタイミングと、返済注文を出すタイミングでズレが出たときなどにエラーになるのかと思い、約定価格を引っ張ってくる関数を少し変えてみました。
それと、約定から返済注文を出すタイミングを15秒後として、本日試してみます。

2017年06月19日

マーク

返済注文を対する訂正注文でエラー

新規注文が約定し、その建玉に対して返済の指し値注文を出したとします。
その指し値注文に対して、freplaceorderで成行に変更してすぐに約定させようとしたところ、「この注文内容に訂正することはできません」と言うエラーになりました。
第2引数には、「13」としましたが、「0」にするべきでしょうか?

2017年05月18日

小笠原聖史

初めまして、小笠原と申します。
指値で発注済みの決済注文を成行に変更してすぐに約定させる、場合のfreplaceorderの引数ですが、マークさんおしゃるとおり、第2引数「0」として、以下の設定(私が先ほど訂正注文を試しに出した時の設定です。)で指値を最大指値に変更できました。

第1引数 注文番号
第2引数 0
第3引数 0
第4引数 1
第5引数 0
第6引数 1
第7引数
第8引数 ○○
第9引数 "1119"
第10引数
第11引数

2017年05月19日

マーク

重ね重ねありがとうございます!
今日、小笠原さんのコメントを参考に、返済注文のトリガーに「10秒後」を取り入れ、freplaceorderの第2・第3引数を「0」にしたシートを作成しました。
月曜日に試してみるつもりです!

2017年05月20日

マーク

小笠原さん、初めまして!
さっそくコメントありがとうございます。

岡三オンライン証券へ問い合わせたところ、成行に変更の場合、第2引数に「13」を指定してくださいと言われ、そのようにしたらエラーになりました。
再度、問い合わせたら、「13」は間違いで、指し値注文を成行に変更できませんと言われ、途方にくれていました。

ありがとうございました!

2017年05月19日

小笠原聖史

今朝実行したfreplaceorderの引数では最大指値を指定しましたところ、当該決済売注文の注文履歴を再確認してみました。

受付9:27:58 指値19570
発注9:27:59 指値19570
訂正9:36:01 指値18040
出来9:36:01 19560円 

成行への変更ではなく、指値の変更という扱いでしたが、間違いなく、指値で約定しなかったため最大指値に変更して決済、というマークさんの目的は達せられると思います。
ご健闘を祈念いたします!

2017年05月19日

マーク

タイトルの訂正
「指し値注文に対する訂正注文でエラー」です。

2017年05月18日

Tango

セッション開始前の「寄成」注文する方法について

セッション開始前、例えば8時50分に寄成を指定しても「この場節では、この注文は受け付けられません」と拒否されます。開始前注文の方法をご存知の方、ご指導よろしくお願い致します。

2017年08月29日

小笠原聖史

初めまして、小笠原と申します。
セッション開始前に発注された商品は、先物またはオプションのどちらかでしょうか?

2017年08月29日

小笠原聖史

先物の寄りが8:45、オプションの寄りが9:00であることと関係しているかもしれないと思い、ご質問いたしました。

2017年08月30日

Tango

ご連絡ありがとうございます。
225先物です。現在は試験運用のためminiでテストを行っている状態です。

fneworderを用いて、セッション開始前の寄成注文を行い、同時に寄成する建玉に対して指値、逆指値をセットしたい、というのが全容です。

セッション開始前に全てを行えるのか、または、セッション開始前に寄成注文をして、セッション開始後、約定した建玉に対して改めて指値、逆指値を行うのか、何れの方法でもよいのですが、ご指導いただければ幸いです。

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

2017年08月30日

小笠原聖史

なるほど、おやりになりたいこと認識いたしました。
まず、「セッション開始前に全て行えるのか」ですが、行えない認識です。
「セッション開始前に寄成注文をして、」ということを行い(先物の寄り付きの8:45までに行ってください。)、約定後は、建玉の損益を監視(建玉一つであれば関数だけでの対応も可能、複数建玉を扱う場合にはVBAを使うと便利です。)して、あらかじめ設定した損益額・率に達した場合に成行で決済する、というのがよいと思います。

2017年08月30日

Tango

ご教示頂きありがとうございます。ご指摘頂きました留意点などを考慮して運用していきたいと思います。また、わからないことがあった際にはご指導よろしくお願い致します。
この度は、有益な情報をありがとうございました。

2017年09月04日

Tango

ご指導ありがとうございます。実際にやってみて上手くいきました。但し、監視を継続することに対してWindows側の信頼性がどの程度かが懸念材料ではあります。RSSを使用するのは、今回がはじめてでOSとの相性などが気になりますが、もし、連続運転等につきまして注意点などがございましたら、またお手隙の際にご教示いただければ幸いです。

2017年08月31日

小笠原聖史

私がこれま使用してきた経験から申しますと、岡三RSS、エクセル、WINDOWSの組合せの信頼性はかなり高い認識で、きちんと動作します。挙動がおかしいときはほぼ自分のプログラミングのミスでした。
ただし、注文が手元のPCから岡三RSSが注文を自動発注し、岡三オンライン証券様のサーバを通って取引所に到達、約定データが岡三オンライン証券様のサーバに戻ってきて手元のPCのエクセルに結果が表示される、という手順に要する時間は、PCのスペックや通信環境やその他色々な状況に応じて変化しますので、エクセル側での処理手順を設計する際には、時間的に余裕をもった設計にする必要があると思います。私の環境では1つの動作につき3-4秒はかかるものとの考えて設計します。
また、取引所の板情報が手元のPCでリアルに表示できるわけがありませんので、あまり短期間の価格変動を追って注文を出しても想定通りの約定結果が得られることは期待しないようにしています。例えば、現物-先物間の裁定機会があるようにRSS上では見えていても、その裁定機会はすでにプロにとられているとみて、そのような分野で勝負するためのツールではないと認識しています。
以上を勘案して使う分には、大変に優れたツールであると思います。
あと、個人的に注意していることは、WINDOWSのアップデートを手動更新にしておくこと(自動再起動がかかるのを回避するため)、スリープ状態にはならないように設定しておくこと、岡三RSSで建玉監視をしているPCはそのためだけに利用することとしておき、ノートであればフタを閉じています。

2017年09月01日

nori

注文確認メッセージで発注が止まってしまう件

初めまして。

2017年07月04日

Ryo Ohno

noriさん、そういうことだったんですね・・・
なにはともあれ、うまくいかれたみたいでよかったです!!

2017年07月10日

Ryo Ohno

noriさん

すでに完全自動発注版を使用されてるんですね・・・

今、拝見したのですが、引数的には問題無いと思われます。
細かく違うところを見ると、自分は
17、18の引数は未指定だったのですが、関係はないと思います。

12番目の引数を1にしたらうまくいきましたでしょうか?

2017年07月07日

nori

すみません。質問入力途中で誤って送信してしまいました。

改めまして表題の件なのですが。

NTの自動発注を試みたのですが、第10引数を”1”で設定しているにも関わらず、発注確認メッセージのポップアップで発注ができずに止まってしまうことがあります。
これが必ずではないので、原因がわからず困っております。
確認よろしくお願いいたします。

2017年07月04日

Ryo Ohno

noriさん、初めまして

第10引数を"1"にしていれば、ポップアップは出ないはずなのですが・・・
試しに、10、11、12も合わせて"1"にセットしてみて頂けますでしょうか?

それでもダメな場合、岡三RSS(完全自動発注版)を使用してみて頂けますでしょうか?


自分は、10~12の引数をすべて、
"1"にし、岡三RSS(完全自動発注版)を使用して、
ノーポップで自動取引ができていまーす

ご参考になれば幸いです!!

2017年07月04日

nori

発注確認メッセージ.xlsx (30.2KB)

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

現在、岡三RSS(完全自動発注版)を使用して、10、11引数は”1”、12引数は未入力で入力しておりました。
第12引数も”1”を入力して試してみたいと思います。

現状の引数入力画面と発注確認メッセージのコピーを添付いたしましたので、お手数ですが確認していただけないでしょうか?

2017年07月04日

nori

お世話になっております。

問題は解決いたしました。すみません私のミスでした。
作成途中に使ったFNEWORDER関数のコピペが、別のシートで起動してしまっておりました。

もちろん引数等は何も成立していないのですが、エラーが先に起動したために正規の起動がストップしていたみたいです。

お手数をおかけして申し訳ありませんでした。
ありがとうございました。

2017年07月10日

岡三オンライン証券(代理記入)

当社に寄せられた質問「セキュリティ警告を出さないようにしたい」

Book1.xlsx (131.3KB)

岡三RSSのアドインとマクロを組んだエクセルを起動すると以下のメッセージ(添付ファイル参照)が出ます。
これらはすべてボタンを押すと正常に動作しますが、自動起動で自動売買を行うためにはこれらのメッセージがでないようにしたいのです。対応方法をお教えください。
なお、セキュリティソフトは「ウィルスバスター」を使用、「マクロを有効にする」を選択済み

2017年06月30日

Ryo Ohno

Excelのセキュリティセンターの設定で止められています。

表示されないようにするには

1.ファイル(メニュー)
2.オプション
3.セキュリティセンタ
4.セキュリティセンターの設定(ボタン)
5.メッセージバー(左にあるメニュー)
6.『ブロックされた内容に関する情報を表示しない』にチェック

とすると、メッセージバーが表示されなくなります。

ご参考になれば幸いです!!

2017年07月02日

Oos Manager-a

Ryo Ohnoさま

ご回答ありがとうございます。
ご質問者さまに回答したところ、再度質問が届きました。

↓ここから↓
『ブロックされた内容に関する情報を表示しない』にチェックは、以前にしましたが、確かに表示しないがブロックは解除しないので岡三RSSは動作しません。
結局、エクセルで ファイル→情報 でマニュアルにてブロックを解除する必要があるので、自動売買ができません。

1.Windows のスタートアップで自動的に起動させて自動売買を行いたいのですが、通常はこのようなメッセージはでないのでしょうか?
このような警告はアドインを使う場合には、必ず出ると思います。警告が出ないようにするには、単に表示だけでなくブロックする原因をなくす必要があります。

2.調べてみると、エクセルを起動時には、「岡三RSSのアドイン」で警告が最初に出ます。これをマニュアルで解除すると、マクロで岡三RSSのコマンドを書き始めますがその時に、「OSON COM addin2」というアドインで警告が出ます。計2回のクリック動作が必要です。

3.エクセルのセキュリティセンターのセキュリティの設定で信頼できる場所の設定も実施しましたが、効果がありませんでした。
信頼できる発行元の「信頼できるアドインカタログ」、「信頼できる発行元」などの設定も必要かと思いますが、設定方法が分かりません。

↑ここまで↑

2017年07月04日

Ryo Ohno

>1.Windows のスタートアップで自動的に起動させて自動売買を行いたいのですが、通常はこのようなメッセージはでないのでしょうか?

自分の環境ですが、正常に動作しています。

いつもは自動起動させてなかったのですが、
もしかすると権限周りの可能性もありそうなので試しにやってみました。

以下の手順でやってみたのですが、参考になれば幸いです。

1.岡三RSSのメニューで『Windowsの起動と同時に開始する』にチェックを入れる
2.windowsのスタートアップに対象のExcelファイルのショートカットを入れる
3.Windows再起動

これで、岡三RSSが自動起動し、Excelファイルにて取引を開始することができました。



もしかしたら、すでに試されているかもしれませんが、

セキュリティセンターのアドインメニュー内の
『アプリケーション アドインに対し、信頼できる発行元の署名を必須にする』
のチェックは外れていますでしょうか?

自分の環境ですが、ここにチェックを入れると、同じ状況になり
外すと正常に動作するようになりました。
参考になれば幸いです!!

2017年07月04日

tom

リアルデータの取得について

お世話になります。RSS 超初心者です。 早速ですがエクセルにてリアルに225ミニとTOPIXのデータを取得したのですが誰か教えて頂ければ助かります。

2017年06月25日

tom

Ryo Ohno様 ありがとうございます 早速試してみたいと思います

2017年06月26日

Ryo Ohno

tomさん、初めまして!!

リアルにデータを収集したいというのは、リアルタイムにて、情報を取得したいということでしょうか?

岡三RSSは取得する情報によって、使う関数が異なり
現在値や出来高などの限月の"現在情報"は
FQUOTEという関数を利用します

例)
FQUOTE("N225mini",0,"現在値")
第一引数:先物コード
ちなみにtopixは"TOPIX"です
第二引数:限月(期近は0です)
第三引数:取得項目名(どんな種類があるかは岡三RSSのマニュアルを見ると一覧が載ってまーす!!)

ロウソク足の情報であれば・・・
FCANDLE関数にて取得となります

例)
FCANDLE(”N225mini”,0,”1”,1,”終値”,C1,”D”,0)
第一引数:先物コード
第二引数:限月
第三引数:足種別
第四引数:取得期間
第五引数:取得項目
第六引数:表示先
第七引数:昇順降順
第八引数:本数

もし、マニュアルなどを見てもご不明な場合は、
またご連絡頂けますと幸いです♪

2017年06月25日

岡三オンライン証券(代理記入)

当社に寄せられた質問「先物取引で新規と決済を自動売買で繰り返したい」

先物取引で自動売買をやりたいのですが、発注IDと建玉指定がうまく設定できずに困っています。
やりたいことは、「新規⇒決済⇒新規⇒決済⇒・・・」を自動売買で建玉指定しつつ繰り返したいのです。
どうすればよいでしょうか。

2017年06月23日

Ryo Ohno

〇発注ID
こちらはセル関数のみでやる場合、
現在日時を発注IDとするのが簡単と思われます。
=NOW()
で、現在の日時が取得できますので、この値を発注IDとして使用します。

デメリットとしては、
1秒以内に複数発注をする場合は使用できません。
1秒以内に複数回発注する場合は、VBAにて処理をする必要が出てきまーす。

また、シートが更新されない場合、現在時間も更新されません。
※通常は、シートを開いた時間が出続ける

この対処方法としては、
不要としても岡三RSSで"現在時間"を取得していれば、
現在時間が更新されるたびに、シートの更新がかかり、
引きずられてNOW関数も更新されます!!


〇建玉指定
FPOSITIONで建玉番号を取得し、決済注文に入れる必要があるのですが、
どのようにうまく行かないか、もう少し情報を頂けますと幸いです。

2017年06月23日

ビギナー

注文方法

テスト.xlsx (11.4KB)

以前に注文方法について投稿したのですが注文方法を変更したいので再投稿します。
(例)
信用取引で14:50分以降に株価○○円になっていると逆指値で買いという注文がしたいです

注文関数などよくわからないのでファイルを添付するのでみアドバイスなどくれませんか。

2018年01月29日

RSSユーザー

ファイルありがとうございます。
E列とF列に発注したい株価と時間を入れてG列のオーダー関数にそれぞれの引数を入力すればいいのですか?また13引数の発注IDですが複数の銘柄に注文を出すとき1つ目の銘柄は1とし、2つ目の銘柄は2と入力すればよいのですか?

2018年02月01日

小笠原聖史

確認おそくなって申し訳ありません、添付ファイル拝見いたしました。少々お待ちください。

2018年02月08日

ビギナー

336.png (180.1KB)

発注をしてみたのですが画面の右下に発注エラーとでます。これは
,MARGINORDER()の内の内容が正しくないのですか?
初歩的な質問ですいません。

2018年02月03日

ビギナー

ありがとうございます。発注することかできました。

2018年02月10日

小笠原聖史

ファイルの内容のご確認、ありがとうございます。
ご質問についてですが、

E列とF列に発注したい株価と時間を入れて
→はい、F列の時間になるとE列の価格にて逆指値を発注します。

G列のオーダー関数にそれぞれの引数を入力すればいいのですか?
→E列、F列にデータをセットすると、オーダー関数がそれを読みに行きますので、株価と時間についてオーダー関数の引数を書き換える必要はありません。

また13引数の発注IDですが複数の銘柄に注文を出すとき1つ目の銘柄は1とし、2つ目の銘柄は2と入力すればよいのですか?
→はい、そのようにお願いいたします。

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

2018年02月01日

小笠原聖史

ビギナー様
拝見いたしますので少々お時間をください!

2018年01月29日

小笠原聖史

1450過ぎたら逆指値.xlsx (14.6KB)

ビギナー様
14時50分を過ぎたら、逆指値買いを発注する関数です。
うまくいきますでしょうか。
私はいま余力がいっぱいでテスト発注ができませんでしたので、一度ご確認いただければ幸いです。

2018年01月30日

小笠原聖史

Book1.xlsx (420.1KB)

添付ファイルのとおりご報告します。
画像を3つ貼り付けておりまして、
シート1;発注不可設定を、発注可能に変更していただくと発注できるようになると思いますので、お試しください。
シート2;同じファイルで、私の口座で発注できました。シート2の画像が、発注確認画面で、OKをおすと発注します。
シート3;発注完了画面です。OKを押すとポップアップが消えます。
発注確認せずに自動発注したい場合には、現状のマージンオーダー関数が、
MARGINORDER(9501,"",3,7,E3,"100","T","","1",0,0,"パスワード","N007",0,"",0,0)
となっているところ、

MARGINORDER(9501,"",3,7,E3,"100","T","","1",0,0,"パスワード","N007",0,"",1,1)

としてください。

2018年02月08日

RSSユーザー

現在ストップ高を表示させる方法

エクセル上に、現在ストップ高銘柄の証券コードを表示させる方法をご存知でしたらご教授願います。

2018年02月28日

Aoyama O

ありがとうございます!!
助かりました!

2018年03月02日

Ryo Ohno

こんにちは!!

ストップ高銘柄ですが

=HIGHLOW("ストップ高","銘柄コード",A2)

とすると、ストップ高銘柄の銘柄コードを表示することができます!!

ご参考になれば幸いです!!

2018年02月28日

RSSユーザー

インストールできません

岡三RSSをパソコンでインストールして
開こうとすると「アプリケーションを検証しています」と出て開くことができません。またアドイン設定もできません。教えてください。

2017年11月19日

Ryo Ohno

RSSユーザさんこんにちは!!

たぶん、インストールが正常にできていない可能性があります!!

以下の点を再度試してみて頂けますでしょうか?

1.一度アンインストールしてから、再インストール
2..NetFrameworkを最新に更新
3.Windowsにログインしているユーザが管理者権限を持っているかを確認し
  もし持っていないなら、管理者権限を割り振る
4.clickonceの情報を一度削除して再インストールしてみる
  4-1.『岡三RSS』をアンインストール
  4-2.『岡三RSSエクセルアドイン』があればアンインストール
  4-3.以下のサイトの手順で、clickonceの情報を削除
  http://blog.regrex.jp/2016/09/02/post-972/

以前、cliconceの情報が壊れてインストールが正常にできない方がおられましたので、
もしかすると上記の3点で解決するかもしれません。

できれば、再インストールだけで直ると良いのですが・・・

もしご不明な点があれば、再度メッセージを頂けますと幸いです!!

2017年11月20日

RSSユーザー

ありがとうございます!
何度か上記の方法を試してみたのですが…涙
開くことができません。(´._.`)

2017年11月21日

Ryo Ohno

ダメでしたか・・・

ちなみに『アプリケーションを検証しています』をそのまま放置しておくと、
どのようになりますでしょうか?
そのままずーと待たされる感じでしょうかー?

『アプリケーションを検証しています』が出るので、
岡三RSS自体は入っていなくても、土台は入ってるような感じがします。

詳細がなかなか見えないのですが、
セキュリティで通信が遮断されているか、
インストールが何かしらの理由で失敗してしまったような感じがします。

あと思い付いたのは・・・

1.Windowsファイアーウォールを止めて実行してみる。
2.岡三RSSを管理者で実行してみる
2-1.スタートメニューから岡三RSSで右クリック
2-2.その他―管理者で実行
3.アンインストール、clickonceのフォルダ削除、再インストール

でしょうか?

『管理者で実行』でうまくいくと良いんですけど・・・

2017年11月21日

ヤマダ

先物の日中と夜間の始値と終値の取得と一覧作成方法

IMG_3153.PNG (73.4KB)

添付画像のような一覧を自動作成する方法を教えてください。

時間足取得からの作成、または、もっとシンプルな方法だと助かります。

よろしくお願いします。

2017年11月16日

ヤマダ

ありがとうございます。
営業日と取引日の両方から値を引っ張ってくれば良いんですね。
とても助かりました。

2017年11月20日

Ryo Ohno

Book1.xlsx (157.6KB)

ヤマダさん、こんにちは

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

日中や夜間のデータですが、前日までですと、
一発で引けるのですが、
時系列で取得するには、CANDLE関数で取得するしかありません。

しかしCANDLE関数ですと、分足だと5営業日分しか取れませんので、
日足にし営業日と取引日別で時系列のデータを取得し、
以下のようにそれを混ぜてデータを作成するのが最も簡単かなーと思います。

日中始値:営業日始値
日中終値:取引日終値
夜間始値:取引日始値
夜間終値:営業日終値


サンプルシートを作成してみたので、参考にして頂けますと幸いです!!

2017年11月19日

Washio Shinjirou

岡三RSSでチャートを点描しよう!の動画の下にあるサンプルシートについて

トーシロウが質問しますのでよろしくお願いします。

 岡三RSSでチャートを点描しよう!の動画の下にあるサンプルシートについてです。
質問①まずデータが最新のものに出来ません。E2に入っている式

   ='C:\Program Files\Okasan Online Securities Co.,Ltd\岡三RSS\岡三RSS.xla'!FCANDLE($C$2,$C$3,OFFSET($G$1,MATCH($C$4,$F$2:$F$8,0),0),$C$5,

なんてチンプンカンプンでしたが、サポートに昔聞きました。=からFCANDLEの前の部分を削除することでなんとかE2からE7に入っている式を直しデータを最新に、
(トーシロウはまずここからが判らない、、、>< マジに解説お願いします)

と思ったのですが、よく見ると11行目が#N/Aになってるものが多いんです。
A11には
  =MATCH(B11,$B$18:$B$1017,0)
と式が入っていて、B11に2012/01/06の日付がはいっています。
データを新しくしたので2016/01/06というのは#N/Aになると思うのですが、
このA11に入っているMATCH関数は何を意味するのかが判りません??

 よろしくお願いします。


(岡三RSSファンページからの転載)

2016年12月21日

Ryo Ohno

Wahio Shinjirouさん、こんにちはっ♪

すみません・・・
くそ長くなってしまいました・・・(^^;
文字だけですとわかり辛い部分も多いと思いますので、
意味不明なところは、言っていただけますとまた書きまーす♪

>='C:\Program Files\Okasan Online Securities Co.,Ltd\岡三RSS\岡三
>RSS.xla'!FCANDLE($C$2,$C$3,OFFSET($G$1,MATCH($C$4,$F$2:$F$8,0),0),$C$5,
>なんてチンプンカンプンでしたが、サポートに昔聞きました。=からFCANDLEの前の部分を削除することでなんとか
>E2からE7に入っている式を直しデータを最新に、

簡単に言うと、
Windowsには見た目ではわからないですが、32bit版と64bit版と2種類あり
32bitのWindowsで作成した岡三RSSのExcelシートは64bitWindowsのExcelでは、
残念ながら、ひと手間(『C:\Program Files・・・・』を消す)かけないと使用できません。

内容は少し込み入ってしまいますので、読み飛ばして頂いてもかまいません(笑

まず、以下の2つの事象があります。

1.Excelファイルは岡三RSSのインストールされている場所を覚えてしまっている。
2.32bitのWindowsと、64bitのWindowsで、岡三RSSがインストールされる場所が異なる。
  32bit:『C:\Program Files・・・・』
  64bit:『C:\Program Files (x86)・・・・』←""(x86)""が付いている

1のように、Excelファイルは岡三RSSがインストールされた場所を覚えていまので、
もし、32bitのWindowsで作成されたExcelシートの場合、
『C:\Program Files・・・・』というパスを、Excelファイルの中に覚えています。

Excelが岡三RSSの関数を使おうとした場合、
この覚えているパスにある岡三RSSのアドインを使おうとするのですが、

この32bitWindowsで作成されたExcelファイルを、
64bitWindowsのExcelで開いて使おうとした場合、
Excelファイルが覚えている『C:\Program Files・・・・』には岡三RSSがインストールされておらず、
Excelファイルが岡三RSSを使用することができません。
※64bit版は『C:\Program Files (x86)・・・・』の方にインストールされています。

困ったExcelは、『=C:\Program Files・・・・FCANDLE()』と表示して起動します。

また、岡三RSSは使えないので、データの取得もできません。

ここで『C:\Program Files・・・・』の部分を削除しますと、
Excelが岡三RSSアドインを再度探しに行きます。

すると・・・

『C:\Program Files (x86)・・・・』にインストールされている岡三RSSを発見し、
岡三RSSの場所を覚えなおすので、無事、岡三RSSを使えるようになります。

ですので、今回、64bit用になったExcelシートを、
次に元の32bitのWindowsのExcelで開くと・・・

次は32bitのWindowsの方で、
='C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\岡三RSS.xla'!FCANDLE($C$2,$C$3,OFFSET($G$1,MATCH($C$4,$F$2:$F$8,0),0),$C$5,

となり、岡三RSSが使用できなくなりまっす!!

>MATCH関数について

MATCH関数はExcelの関数になります。
書き方としては以下の通りです。

○MATCH(検査値, 検査範囲, [照合の型])

関数の動きは
『検査値』と同じ内容が『検査範囲』の中にあれば、
『検査範囲』の頭からの位置を返すという意味になります。
最後の『照合の型』は完全に一致するものを取得するものを探すかどうかという、
探し方を指定する意味合いとなります。


A11に書いてある『=MATCH(B11,$B$18:$B$1017,0)』の意味としましては・・・
B11(日付)がB18~B1017の中にあれば、B18から観ていくつ下にあるかという意味になります
ちなみに、もしB18~B1017の中に、対象の日付がなかった場合、
データが無いよという『#N/A』が表示されます。

D11やE11は、OFFSET関数になっており、
こちらは指定したセルから下や左に指定した数だけ移動したセルの情報が帰ってきます。

D11は『=OFFSET(D$17,$A11,0)』となっていますので、
D17(始値のタイトル)から、A11(B11で指定した日付がいくつ下にあるか)個下に移動した場所の
セルの情報を取得する

という動きになります。

平たく動くをまとめると・・・

D11~L11は、B11でしてした日付の4本足の情報を表示する
という流れになります。

B11にB18~B1017にない日付を入れますと・・・

A11がN/Aになり、D11~L11も下に何個移動したらよいかわからないため、
関数が正常に動けず、こいつらもN/Aを返します。

>FCANDLE_Mが反映しないのでバタバタ状態@@
FCANDLE_Mは、FCANDLEだけにしますと、自動更新になって
更新ボタンを押さなくてよくなりまーす。
こちらを使われると便利かもしれません♪

>いつになったらオリジナルシートを創れるのかぁ、、、><
慣れるまで大変とは思いますが、
俺でよければ力の限り協力しますので、なんとかゴールに♪


(岡三RSSファンページからの転載)

2016年12月21日

Washio Shinjirou

トーシロウが報告します。

RSS総合チャート管理をいじってたのですが、
3シートめの四本値のところの黄緑の箇所、
現在の価格のところはすぐ反映したのですが、
FCANDLE_Mが反映しないのでバタバタ状態@@

 更新ボタンを判りやすいところにつけておいて下さいよぉーー、
トーシロウはこんなことも判りずらいんです、、、><

 いつになったらオリジナルシートを創れるのかぁ、、、><


(岡三RSSファンページからの転載)

2016年12月21日

みどりーにょ

RANKING_MのVBAによる自動更新について

マクロ記録から、RSS更新ボタンの挙動を記録しようと試みましたがダメでした。

ランキングの手動更新を、1分毎にVBAで(その他でも良いです)更新したく思っています。どのように記述すれば良いでしょうか。
何卒宜しくお願い致します。

2017年07月26日

Ryo Ohno

>ちなみにControls(5)は引き数が、指定文字ではなく、(5)という事で承知しました。

はい、コントロールのIndexとなります。

もしIndexで指定するされることに、不安があるのであれば、

Application.CommandBars("岡三RSS2").Controls.Item("更新").Execute

のような形でも、実行することができまーす。

2017年07月28日

Ryo Ohno

みどりーにょさん、初めましてー!!

手動更新をVBAから実行されたいとのことですね。

Application.CommandBars("岡三RSS2").Controls(5).Execute

で更新をVBAから実行することができます!!

少しでもご参考になれば幸いです!!

2017年07月27日

みどりーにょ

Ohno様、回答ありがとうございます。
サイトのQAにもありましたね。失礼いたしました。

ちなみにControls(5)は引き数が、指定文字ではなく、(5)という事で承知しました。

2017年07月27日

ビギナー

監視銘柄表の作成

監視銘柄.xlsx (14.3KB)

現在ストップ高で最低購入代金が20万以下のものを降順に表示させたいと思っています。G列に20万以下のものを表示させているのですがエクセルの並び替えを使用しても降順に表示できません。どなたかご教授お願いします。

2018年02月15日

ビギナー

わかりました。ありがとうございます。

2018年02月16日

Ryo Ohno

ビギナーさん初めまして

エクセルの並び替えが正常に操作しない理由としましては、
並び替えした直後に、再度、岡三RSSがストップ高のデータを取りに行くため
ソート後のデータが元のデータに上書きされるためになります。

ですので、岡三RSSが取得したデータは、別のセルにコピーしたのちに、
ソートをしてあげる必要があります。


SMALL関数やVBAなどを使用すれば動的に他のセルに降順のソートをして
表示することは可能ですが、
関数がかなり複雑になりますので、
もし手間でなければ、コピー後
ソートをさせてあげるのが、手っ取り早いと思います!!

2018年02月15日

岡三オンライン証券

【旧版】岡三RSS質問箱

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

2011年11月25日

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

俺は最高に大好きだぁぁぁ!!(笑

自動売買がお盛んなFX系ならメタトレーダとかがけっこう使えるので、人口的にはそっちが多いのかもしれませんね。

またストラテジーを自力で考えないといけないってのも、敷居が高いのかもしれません。

自分の周りの人も、自動売買のストラテジーを買ってきて回される方が多いです。

もうちょっと情報多いと良いですね。確かに。

2013年02月07日

Ryo Ohno

入力中ってことですね。

勉強になりますっ♪

2013年03月07日

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

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

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

岡三RSSで、「くりっく株365」の情報収集や発注ができるようになる予定は

ありますか。

2011年11月07日

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

>岡三RSSで、「くりっく株365」の情報収集や発注ができるようになる予定は

ありますか。

大変申し訳ございませんが、現在のところ「くりっく株365」のRSSへの対応予定はございません。

2011年11月07日

Tsuyoshi Takayama

まず一つ問題点があります。

確実に寄りつきがいくらになるのかは、「寄りつき(始値)の値段が決まった=実際に取引が行われた後」となりキッチリと始値での取引を希望されると、寄りつき前の気配などを観測せねばならず、システムを組む事が複雑となります。

その対策として 

1.寄りつき観測後 寄りつきの価格での指し値注文を出す。  (※問題点、約定しないかも知れない)

2.寄りつき価格+50円(この許容範囲は任意で決める)の注文を寄りつき価格確定後に出す。 (※ 1.よりは約定しやすくなるが取引できない可能性は残る)

この部分はロジックの問題よりも、実務で以下に妥協しつつ利益を取りに行くか基本的な

考え方を持って勧めていく事が肝要かと思います。

2011年11月07日

Tsuyoshi Takayama

以下のステップを追って システムを組んでいきます。

ステップ1

始値を検出する

ステップ2

ステップ1で得た始値を条件として

注文関数を書いたエクセルシート上で以下の様なIF構文を書く

=IF(始値<=8490、1、IF(始値>=8510、3、NA()) 

注文関数の売買種別を決めるセルにこのような式を書く。

(※両方の条件を満たさないときにはエラーとなるがそのエラー処理をしておく)

価格に関しては始値を採用できず、そこから10円上の価格で指し値をする方針に

したならば価格を指示するパラメーターに

始値+IF(始値<=8490、-10、IF(始値>=8510、+10、0)と指定する

ステップ3

約定監視関数を使い、約定通知が来たことをトリガーにして

その結果に従い、あらかじめ構築していた注文関数の決済注文をだす 

売買は新規の逆となるように「売買のべつを選択」するパラメーターに書き込む。

エクセルシート上に  新規建て注文関数を書き込むエリアと、その決済をする注文関数を書き込むエリアをあらかじめ作っておくと整理しやすいです。

又これとは別に、始値を検索するエリア と 約定確認をするエリアも作っておきましょう。

ポイントとしては、約定監視をするところに、今年になって機能改善された、「自分でつけることが出来るメモの機能を活用し」RSS等で発注したどの注文に対応する約定がなされたのかを確認する仕組みを取り入れればよりよいものが組めると思います。

2011年11月07日

Tsuyoshi Takayama

このようなシステム売買的なものをエクセルシート状で組み上げていく実践講座として、

OCO決済+時間指定の発注について10月以降のビデオ講座で勉強していく

予定ですので、よろしければそちらをご参照下さい。

2011年11月07日

岡三デスクトップを指定時間が来たら起動するようにしたいと考えています。タスクスケジューラからの起動になると思いますが、ID,パスワードを岡三デスクトップに投げるにはどのようにすればよいでしょうか。

2011年11月07日

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

自然堂さま

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

>岡三デスクトップを指定時間が来たら起動するようにしたいと考えています。タスクスケジューラからの起動になると思いますが、ID,パスワードを岡三デスクトップに投げるにはどのようにすればよいでしょうか。

スケジュール機能を使って指定時間や指定ウィンドウが現れた時などに、あらかじめ記録したキーボード入力を再生するフリーウェアなどを使うことにより自然堂さまのご要望を実現できる可能性がありますが、当社が推奨するものではありません。

またこのようなソフトを利用した場合、岡三RSSの動作保証は致しかねますので、悪しからずご了承ください。

セキュリティ上の観点から、お手数ではございますが自然堂さまご自身でID,パスワードを入力のうえ、ログインいただくようお願いいたします。

2011年11月07日

Ryo Ohno

To:自然堂さん

>岡三デスクトップを指定時間が来たら起動するようにしたいと考えています。

時間的にかなりたってるので、もしや解決されているかも知れませんが、

自分も過去に同じようなことで困りました

自分の場合は、自動起動させたいのではなく、不意の回線切断などが起きた場合、自動復旧させるために自動でログインを行いたいという状況でした。

自分は、岡三オンライン証券さんがいわれている通り、キーボードマクロのソフトウェアを使用して、対応を行いました。

使用したソフトは『UWSC』になりまーす。

2011年11月07日

自然堂

大野 了 さん

ご回答有難う御座いました。私も『UWSC』を使って解決しました。

私の場合は1日に2~3回起動するだけなので、回線断はあまり気にしていませんが、逆にsleepからの起動がうまくいかないことが多く、四苦八苦しているところです。

このFacebookは投稿日がわからないのですが、回答いただいてからずいぶんたっているかも知れませんね・・・

投稿日:2011/11/18 です。

2012年01月07日

Ryo Ohno

ですね・・・

自分は回線障害時の復旧PGは組んで動いちゃいますが、それでも怖いです。(^^;

自分も今クラウド上の仮想環境へのシステム移行は考えていて、

後はExcelの問題だけ片付けば、乗せかえれるところまできています。

仮想環境を借りたりと費用はかかりますが、自分の家で、動かすより安全かなぁ~と・・・

費用といってもゴミみたいな金額ですし・・・(笑

2011年12月07日

Mazyoshisystemlabo

オフィス365については個人的に研究中です。

2011年12月07日

Ryo Ohno

office365ってローカルのアドインとか使えたんですね・・・

知りませんでした・・・(^^;

ローカルの岡三RSSのアドインがoffice365で使えて、

VBAを使わない方は、確かにそれもアリかもですね・・・

自分のシステムはVBAをガリガリ書いてしまってるので、

office365がちと使えそうにないんですよー(残念

自分はクラウド上の仮想環境にExcel自体をインストールして、

全部そこでやってしまおうと考えていますっ!!

自分のPCの中の環境をごっそりそのままクラウド上の仮想環境に展開するイメージです。

2011年12月07日

マーケット情報取得関数の「為替情報」は「くりっく365」と「岡三アクティブFX(店頭FX)」のどちらの値でしょうか。

2011年11月07日

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

自然堂さま

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

>マーケット情報取得関数の「為替情報」は「くりっく365」と「岡三アクティブFX(店頭FX)」のどちらの値でしょうか。

岡三RSSのマーケット情報取得関数で取得できる為替情報は、「くりっく365」や「岡三アクティブFX」のレートではなく、トムソン・ロイター社の為替情報(約10分毎の間隔で更新)を提供しております。

2011年11月07日

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

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

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

1.岡三RSSで日経225先物のデータ配信時間を教えてください。

2.岡三RSSでの注文可能時間を教えてください。

2011年11月07日

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

>1.岡三RSSで日経225先物のデータ配信時間を教えてください。

岡三RSSでのデータ更新時間は、8:00から翌3:00(月曜から金曜日)です。

>2.岡三RSSでの注文可能時間を教えてください。

オンライントレードご利用時間帯は以下をご参照ください。

http://www.okasan-online.co.jp/fop/time.html

なお、火曜から土曜日の3:30から5:00、日曜日の0:00から6:00までは、岡三RSSのメンテナンス時間となりますのでご利用いただけません。

2011年11月07日

Nobu

発注時に出現するエラーメッセージをハンドリングする方法が

良くわかりません。

サンプルのコードなどを提示願えませんでしょうか。

小窓の名前を取得することはできるんですが、

OKボタンを押す方法が解からないです。

2011年11月07日

Tsuyoshi Takayama

Nobu nikoさんの質問に私も興味があります。

エラーのハンドリングについての岡三オンラインとしての、基本的な考え方を教えてください。

2011年11月07日

Tsuyoshi Takayama

エラーが出るということは、当たり前の話ですが、発注しようとした注文が実際には

履行されない原因があるわけで、そのパターンは様々あります。

であるので、RSSのみでその問題のある注文をなんとかハンドルして良いものか?は

まず根本的に考えておくべき問題です。

しかしながら、エラーを起こした注文より後に、そのエラーがなければ作動した

注文がスタックしてしまう事は、大きな問題となりうるため、エラーを起こした注文を

そのままにして(無視して)通過し、次のステップに行く方法が知りたいわけです。

2011年11月07日

Ryo Ohno

※ウソを書いていいたので、再登校です(笑

To:Nobu Nikoさん、Tsuyoshi Takayamaさん

こちらも同じ状況に出会いました(笑

エラーなどが発生すると、メッセージボックス(Nobu Nikoさんが言われている小窓です)が表示されて

その後、発注などが何も受け付けなくなります。

これだと困るので、岡三RSSがメッセージボックスを出すのを監視していて

出た瞬間に消すソフトウェアを別途作成しました。

ソフトウェアの内容としては、

1.FindWindow(API)にてメッセージボックスのWindowsHandleを取得

2.メッセージボックスのWindowsHandleに対し、SendMessage(API)を

使用して終了メッセージを送信。

メッセージボックスのHandleは取得できたとのことですので、

後は、SendMessageを使用して、終了メッセージを送信すればよいと思いまーす。

やられるときは、別途、ソフトウェア作成しなくても、

ExcelVBAに組み込んでやればOKですっ♪

OKボタンを押さなくても、メッセージボックスを終了させればよく、

#イメージとしてはメッセージボックスの右上の『×ボタン』を押すようなイメージです。

このほうがプログラムが簡単だと思います。

実際のコードを張りたいのですが、お家に帰らないとありまっせん・・・

ごめんなさいm(_ _)m

2011年11月07日

Tsuyoshi Takayama

投稿ありがとうございます

2011年11月07日

Ryo Ohno

To:Nobu Nikoさん、Tsuyoshi Takayamaさん

遅くなりました。

ソースを張ります。

General(一番上の″Option Explicit″が書いてあるところです)に以下のコードを貼り付けてください

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

Private Declare Function FindWindowA Lib ″user32″ (ByVal cnm As String, ByVal cap As String) As Long

Private Declare Function SendMessage Lib ″user32″ Alias ″SendMessageA″ _

(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long

Private Const WM_CLOSE = &H10

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

後は、以下のコードで、メッセージボックス(小窓)を消すことが可能になります。

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

Dim lngHandle As Long

lngHandle = FindWindowA(vbNullString, ″通知″)

If lngHandle > 0 Then

Call SendMessage(lngHandle, WM_CLOSE, 0&, 0&)

End If

lngHandle = FindWindowA(vbNullString, ″情報″)

If lngHandle > 0 Then

Call SendMessage(lngHandle, WM_CLOSE, 0&, 0&)

End If

lngHandle = FindWindowA(vbNullString, ″エラー″)

If lngHandle > 0 Then

Call SendMessage(lngHandle, WM_CLOSE, 0&, 0&)

End If

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

Excel単体だけで行う場合、1つだけ問題があって、

メッセージボックスが出ているかどうかを調べて、あったら閉じる

という処理になりますので、

Application.OnTimeや、setTimaer(API)で上記のロジックを、

1秒間隔などで定期的に実行させてやる必要があります。

ご不明な点など何かありましたら、いつでもご連絡くださーい♪

2011年11月07日

Tsuyoshi Takayama

ありがとうございました!

2011年12月07日

Nobu

>Ryo Ohnoさん

サンプルコードありがとうございます!

明日の休みに試してみます。

どうも決算発表の時期にエラーは出がちな気がしますね。

何かわかったら報告します。

2011年12月07日

Ryo Ohno

To:Nobu Nikoさん

何かあれば、ここでもメッセージでも構いませんので、お気軽にお声かけください・・・

2011年12月07日

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

以前投稿いただきました質問で、すでに大野様よりご回答もいただいておりますが、以下参考情報として記入させていただきます。

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

>発注時に出現するエラーメッセージをハンドリングする方法が良くわかりません。

>小窓の名前を取得することはできるんですが、OKボタンを押す方法が解からないです。

エラーメッセージのOKボタンですが、Enterキーを押下することでメッセージウインドウが閉じる仕様となっています。

小窓の名前は他ツールを使用して取得されているとのことですが、当該ツールによりEnterを送るなどの方法が考えられます。

2011年12月07日

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

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

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

御社のトレーディングツールで、NYダウ先物をリアルタイムで見れるツールはありますか?

2011年11月07日

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

>御社のトレーディングツールで、NYダウ先物をリアルタイムで見れるツールはありますか?

大変申し訳ございませんが、岡三ネットトレーダーシリーズではNYダウ先物の終値のみ配信を行っており、リアルタイムでの配信は行っておりません。

2011年11月07日

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

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

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

2014年09月07日

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

[email protected]��て、代理で質問箱に記入します。

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

RSSで過去の逆日歩取得はできないでしょうか。

たとえば、2010年12月1日のある銘柄の逆日歩を取得できますか?

2011年11月07日

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

>RSSで過去の逆日歩取得はできないでしょうか。

>たとえば、2010年12月1日のある銘柄の逆日歩を取得できますか?

逆日歩については、岡三RSSでは当日分のみ取得可能となっており、過去日付のものをバックデートで取得することはできません。

岡三RSSで特定銘柄の逆日歩を過去に遡って確認したい場合、恐れ入りますが、お客様ご自身で日々のデータを取得のうえ保存いただくことが必要になります。

2011年11月07日

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

[email protected]��て、代理で質問箱に記入します。

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

先物Mini等で、SQの前日15:10までに決済を行わなかった場合、翌日の清算値で清算されるかと思います。

RSSを使っている場合、これを事前に知るような関数など用意されていませんでしょうか?

例えば、現在の建玉のSQ決済までの日数を取得できる、など。

2011年12月07日

Tsuyoshi Takayama

すみません。このご質問見落としていました。

>[email protected]��いて、代理で質問箱に記入します。

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

先物Mini等で、SQの前日15:10までに決済を行わなかった場合、翌日の清算値で清算されるかと思います。

RSSを使っている場合、これを事前に知るような関数など用意されていませんでしょうか?

例えば、現在の建玉のSQ決済までの日数を取得できる、など。

例えばの直前に書かれていることがどのようなことを想定しているのかちょっとわかりづらいのですが

> 現在の建玉のSQ決済までの日数を取得

については FQUOTE 関数の第3パラメータを ”残存日数” とすれば良いのではないですか?

時期ものであれば =FQUOTE(″N225″,″0″,″残存日数″)

2011年12月07日

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

奥田 晃三さまから寄せられたご質問を以下に転記いたします。

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

早速ですが

岡三ディスクトップの起動までは、WINーAPIで 可能ですが、ガジェットが起きてからの自動ログインの方法が わかりません。

エクセルにて、WEBを表示、ID、パスなど 送る方法は、いろいろ公開されていますが、岡三の場合は 独立したソフトですよね。

それとも、通常の岡三HPからログインしても エクセルに組み込まれた、機能は有効なのでしょうか?

それとも WINーAPIでマウス操作などから 行うのでしょうか

2011年12月07日

晃三

自己レスですが

WIN-APIで マウス移動と、クリック、ID、パスの転送は完成しました。

ただ、マウス移動が PC変わると 座標が変わるので、問題ですが・・・

(個人としては、座標軸取り込むAPIもあるので 不自由ないですが)

UWSCの組み合わせで完全自動まであと少し・・

お世話様でした

2011年12月07日

Ryo Ohno

>奥田さん

初めまして

大野と申します。

岡三オンラインさんから返答がなかったので、自分も参戦しまっす(笑

少し前にも書きましたが、自分はUWSCのみで自動ログインをやっています。

自動ログインができないと回線障害時が怖いですもんね・・

2011年12月07日

Tsuyoshi Takayama

確かに回線障害は怖いですね。

かなり先になるかも知れませんが、

将来的にクラウドで動くようになれば良いのですが・・・

2011年12月07日

晃三

>Ryo Ohno 様 

奥田です。

UWSCで 起動をかけておられるとのこと、あれは、逆に画面が起きたとき、こちらの希望する位置に画面を移動させて、座標軸を特定する・・

そのような考え方なのでしょうか

また、通信エラーなどの、エラー取得は簡単なのでしょうか?

さらに、せこい話ですが、あれって、有料、無料 使い勝手かなり変わりますでしょうか

質問ばかりで申し訳ないです。とりいそぎ

2011年12月07日

Ryo Ohno

>奥田さん

こんばんはっ♪

大野です

>UWSCで 起動をかけておられるとのこと、あれは、逆に画面が起きたとき、こちらの希望する位置に画面を移動させて、座標軸を特定する・・

>そのような考え方なのでしょうか

『あれ』とはUWSCのことで、『UWSCの考え方』についての質問でしょうか?

#読解力がなくすみません・・・

だとすると・・・

UWSCは毎回やる同じようなキー操作やマウス操作を事前に登録しておくことにより、

自動でやってくれるツールです。

今回でいうと、

毎回やってる、岡三デスクトップのログインボタンを押して、

IDとパスワードを入力しているっていうような手作業を、

事前に登録することにより

ボタン一つで、代わりにやってくれます。

自分は、この機能を利用して、ログインさせています。

奥田さんが、APIでIDやパスをいれる部分を作られたとのことですが、

この部分をUWSCにやらせている感じです。

>また、通信エラーなどの、エラー取得は簡単なのでしょうか?

はい、簡単です。

VBAだと

If Application.CommandBars(″岡三RSS″).Controls(6).TooltipText = ″未接続″ Then

End If

で、取得できます。

岡三RSSのアドインの6個目(一番右のボタンです)の文字が″未接続″なら、

何かしらの理由で回線が切れてると判断してOKだと思います。

>さらに、せこい話ですが、あれって、有料、無料 使い勝手かなり変わりますでしょうか

せこい話ですが、無料版しか使ったことしかないのでわかりません(笑

有料版はExeを作成できたり、Excelを操作できたりするみたいなのですが、

とりあえず、今の自分には必要ないと思いました。

もし、返答が的外れだったり、足りない場合は、

またご連絡くださいっ♪

2011年12月07日

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

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

2014年09月07日

Tsuyoshi Takayama

友人から、良く聞かれる質問をここに書きます。

注文関数に於いて岡三オンラインのHP上にあるよくあるご質問の中にある質問

>注文関数が「発注待ち」のままで発注されません。

の答えの

>注文関数が発注するには、まず注文ボタンを注文可(青色)にします。

>その後、参照先の値が変る、F2+リターン、シートの移動、ファイルオープン等で式が評価され条件を満たせば発注します。

>注文がサーバへ送られると「発注完了」になります。「発注完了」は注文がサーバへ送られ>ただけなので注文が受付けられたわけではありません。

のうち「参照先の値が変わる」の意味がよくわからないという意見です。

参照先とは Order関数のパラメーターに使っているセルの値が書き換えられた

もしくはそこに書かれている数式の答えとしての値が変わる

と解釈して良いのかというのが彼の質問の趣旨だったのですか

例えば、パラメータのメモ欄の値をある条件が整ったときIF関数を使って、

ある値から別の値に変わるとしておけばアクティブな状態になる(発注状態になる。)という

使い方を想定しているのですか?

といったことです。

これに関連して RSS体験レポート

http://www.okasan-online.co.jp/ont/use/rss/experience/experience_05.html

ここで=IF(OR(B39>C12*(1+B40),B39<C12*(1-B41)),fneworder(C5,C6,C29,C8,C9,C30,C31,C32,C13,C14,C15,C16,C17,C33),″保有″)

このIF条件が満たされたときに、その後に F2+エンター や 参照セルの変更をしなくても

すぐに発注に至ると読めることから、その理由がはっきりしないので教えて欲しいと

いうことも伺います。

システム仕様上、岡三オンライン証券として、これにお答えいただけましたら幸いです。

2011年12月07日

Tsuyoshi Takayama

もう一つ

岡三RSSの操作ボタンで「注文可能」/「注文できません」を切り替えずに

一度発注したあとに、同じシートでもう一度新規発注をしたいときに

一旦「発注待ち」状態に戻したいのだけれど、それがなかなかうまく行かないので

どうしたらよいのか教えて欲しいというものもありました。

2011年12月07日

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

[email protected]��て、代理で質問箱に記入します。

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

お世話になります。

RSSについて質問させていただきます。

4581大正製薬HDの個別銘柄情報が一切取得できず、すべてN/Aと表示されます。

当方PC側の問題であれば、R天RSSとの併用で対応しますので、岡三RSSがインストールされたお手許のPCで4581の銘柄情報が洩れなく表示されるか否かご教示ください。

お手数ですが、よろしくお願い致します。

参考までに、この銘柄は4535大正製薬が持株会社化で先月上場廃止となり、10月3日に別コードでの上場となったものです。

2011年12月07日

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

>4581大正製薬HDの個別銘柄情報が一切取得できず、すべてN/Aと表示されます。

>岡三RSSがインストールされたお手許のPCで4581の銘柄情報が洩れなく表示されるか否かご教示ください。

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

当社で確認したところ、4581大正製薬HDの個別銘柄情報について問題なく取得できております。

お手数ですが、お客様のPCの設定等を再度ご確認いただけないでしょうか。

宜しくお願いいたします。

2011年12月07日

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

メールで寄せられた質問につきまして、代理で質問箱に記入します。

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

N225miniの日足情報について教えてください。

1.FCANDLEの始値、高値、安値、終値は、以下の結果でしょうか。

   9:00~16:30に実行した時は、9:00~15:15の結果。

   16:30~9:00に実行した時は、16:30~3:00の結果。

2.16:30~24:00の間に当日の9:00~15:15の結果を取得する方法を教えてください。

2012年01月07日

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

N225miniの日足情報に関する質問に回答いたします。

> 1.FCANDLEの始値、高値、安値、終値は、以下の結果でしょうか。

>    9:00~16:30に実行した時は、9:00~15:15の結果。

>    16:30~9:00に実行した時は、16:30~3:00の結果。

FCANDLEの引数に「足種別」があります。

営業日日足ベースだと、9時~翌3時をベースとした値を返します。

取引日日足ベースだと、前日ナイトセッションからの値をベースとして返します。

> 2.16:30~24:00の間に当日の9:00~15:15の結果を取得する方法を教えてください。

FCANDLEを使用して足一覧として出すには、時足指定をして頂いて算出して頂くしか現状は方法がありません。

日中場の最終結果の始値、高値、安値、終値だけが把握できればいいのであれば、FQUOTEの

・日中始値

・日中高値

・日中安値

・日中終値

で取得できます。

2012年01月07日

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

以下コールセンターに寄せられました質問を参考情報として記入させていただきます。

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

>岡三RSSで225先物取引を取引したいと考えていますが、Excel上で注文すると他の取引ツールで注文するのと比べ、発注処理速度は異なりますか?

岡三RSSを利用してExcel上で注文するのと、他の岡三ネットトレーダーシリーズのツールから注文するのは、システム上では同じ速度での処理となります。

2011年12月07日

Takesi Souda

大野さん

いつもありがとうございます。

決済玉の優先順位指定は忘れがちですね。

ところで、もう一つ見落としがちなのは mini の 非メジャー限月のもの。

期近だと以下の限月も当然入っちゃいますね。

1,2,4,5,7、8、10、11 

オプションのヘッジならまぁ Strikeとぴったり合わせられますが、

Largeとの価格差を、配当落ちなど含めきちんと押さえていないと

何かと間違いの元となったりします。

あと流動性の部分なんか考えると、常に期近を自動的に選ぶより

メジャーSQの限月を選んでおいたほうが色々と無難ですよね。

※あえてアーブをやっている場合は勿論違う話となります。

2012年03月07日

Ryo Ohno

To:高山さん

>期近だと以下の限月も当然入っちゃいますね。

そうっ!!

J-GATEが動いてからminiの期近だと、Largeと異なる流動性の少ない月が入ってきてしまうので、

しょんもりしてるところなんですっ!!

#まぁ当たり前といえば、当たり前なんですが・・・

ちなみにやっぱり、第二引数に″0″って入れると、

期近の取引になるんですか?

To:自然堂さん

>ャーのログがある程度採れたら、移行予定です。 .

早く移行出来るといいですねっ♪

2012年03月07日

自然堂

大野さん 高山さん

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

やっぱりそこですか。岡三RSSサイトからダウンロードした「先物サンプル.xls」だと、これで正しいのですが・・・

2009/11/27の日付なので、バージョン古いみたいですね。

>あと流動性の部分なんか考えると、常に期近を自動的に選ぶより

>メジャーSQの限月を選んでおいたほうが色々と無難ですよね。

  ご指摘ありがとうございます。

  現在の検証データが期近しかないので、今のところは期近のみでエントリの予定です。

  メジャーのログがある程度採れたら、移行予定です。

2012年03月07日

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

[email protected]��て、代理で質問箱に記入します。

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

岡三RSSおよび、岡三デスクトップの動作に関して質問です。

私は「Windows7-64bit、Office2007」の環境で使用しているのですが、時々原因

不明のエラーで岡三デスクトップの動作が不安定になり悩まされております。

具体的な症状としては、

 ・岡三デスクトップの起動に時間がかかる

 ・起動できても不安定ですぐに強制終了する。

 ・岡三RSSで発注しようとすると、岡三デスクトップが強制終了する。

 ・ONT起動時にエラーが出て起動できない。

などです。

いろいろ調べましたが原因がわからず、最終的にはOSのクリーンインストールまで試したのですが、最小限のセットアップ(Officeや岡三RSSのインストールなど)を行った段階ですでに不安定になってしまい、どうにもなりません。

状況的には、.NETFrameworkが正常に機能していない可能性が高いと思うのです

が、どうすれば正常になるのかがわからない状態です。

同じような症状に遭遇された方、もしくは何か対策など情報をお持ちの方はおられませんでしょうか?

あるいは、「Windows7-64bit、Office2007」という同じ環境で正常に動作してい

るという方がおられましたら、参考までにお知らせいただければ助かります。

(なお、以前は「WindowsXP-32bit」で使用していたのですが、このような症状

は出ず安定して動作しておりました。)

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

2011年12月07日

Ryo Ohno

一応、自分の環境ですが・・・

自分のWindows7(64bit)-Office2010(32bit)の環境では正常に動作しています。

2011年12月07日

Tsuyoshi Takayama

新ディスカッションボード始まりましたね。

おめでとうございます。

一つ質問なんですが、このボードの時系列を、昇順降順(新しい順、古い順)の切り替えなどできないでしょうかしら?

2011年12月07日

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

新ディスカッションボードの時系列について昇順降順機能に関するご要望をいただいておりますが、現在のところそのような機能は用意されておりませんのでご了承ください。

2011年12月07日

高山先生のセミナー等を参考にして、マニュアルで寄付発注、ポジションが出来たら適当な水準に利益確定の指値をした後、「大引けまでポジションが残っていたら、成り行きで決済する。」という部分だけを岡三RSSに任せたいと考えております。

このような利用方法でも、利用料は無料となりますか?岡三RSSを使った発注が一度でもあれば、利用料が無料となると理解しているのですが、いかがでしょうか。

2012年01月07日

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

山本耕資様

平素より岡三RSSをご活用いただきありがとうございます。

ご質問の件ですが、岡三RSSの無料利用条件としまして以下2つのものをご用意しております。(どちらか一方を満たせば無料条件に合致したことになります)

1)手数料計算期間の手数料実績が5,000円(税抜)以上

2)同期間に岡三RSSでの約定1件以上

約定による無料条件については、岡三RSSで発注し他のツールで訂正後約定しても対象となりますが、他のツールで発注した場合は岡三RSSで訂正後約定しても対象となりませんのでご留意ください。

詳細は以下ページをご参照ください。

http://www.okasan-online.co.jp/ont/guide/price/index.html

2012年01月07日

ご担当様

さっそくご回答をいただき、ありがとうございました。

今後も高山先生の講座で、岡三RSS(特にVBA)やアルゴリズムについて理解を深めたいと思います。

2012年01月07日

自然堂

以下細かい質問で申し訳ありませんが、よろしくお願い致します。

(試せばわかる事と思ってはいますが、日中エントリできないのでよろしくです。)

■FNEWORDERによる決済について

1.買い建玉の決済の場合、第6引の「売買区分」は「売り」でしょうか。

2.「よくある質問」には、「建玉枝番号」は「部分約定の時付与される」と

  ありますので、全約定した時は、「建玉枝番号」は付与されないと

  考えます。

  第5引数 「建玉枝番号」は、第4引数を「建玉番号」とした時

  必須とありますが、全約定した時は、第5引数 「建玉枝番号」は、

  不要でしょうか。

3.同じ建玉番号を全枝番について一括決済する方法はないでしょうか。

4.第14引数 「発注ID」、第16引数 「メモ」は発注時と決済時で

  一致している必要があるでしょうか。

■FOPPOSITIONの第2引数 「表示先」について

1.部分約定した時、建玉枝番の数だけ建玉番号も並ぶのでしょうか。

■FQUOTEについて

1.9:00~15:10の間は「日中終値」は、「現在値」と同じでしょうか。

2.16:30~9:00の間は「夜間終値」は、「現在値」と同じでしょうか。

3.「ES始値」と、「夜間始値」は同じでしょうか。高値、安値、終値も

  同様と考えています。

投稿日:2011/11/19 です。

2012年01月07日

Ryo Ohno

間違ってた部分があったので書き直しました。

>自然堂さん

解決されたようでよかったですっ♪

sleepはOSのスリープ状態からでしょうか?

自分でわかることがあれば・・・

>1.買い建玉の決済の場合、第6引の「売買区分」は「売り」でしょうか。

そーですっ♪

>2.「よくある質問」には、「建玉枝番号」は「部分約定の時付与される」と

>  ありますので、全約定した時は、「建玉枝番号」は付与されないと

>  考えます。

確か全数約定のときでも付与されたと思います・・・ 

> 第5引数 「建玉枝番号」は、第4引数を「建玉番号」とした時

>  必須とありますが、全約定した時は、第5引数 「建玉枝番号」は、

>  不要でしょうか。

確か全数約定のときでも付与されるので、必要と思います。

自分は全数約定の時でも、指定していました。

>3.同じ建玉番号を全枝番について一括決済する方法はないでしょうか。

確かないと思います。

#間違ってるかも知れません

>4.第14引数 「発注ID」、第16引数 「メモ」は発注時と決済時で

>  一致している必要があるでしょうか。

『発注ID』は、発注時と決済時で異なる必要があります。

同じだと、決済できません

また、『メモ』は発注と決済時で、同じだろうが異なろうがどっちでもOKです

>■FOPPOSITIONの第2引数 「表示先」について

>1.部分約定した時、建玉枝番の数だけ建玉番号も並ぶのでしょうか。

部分約定した場合、枝番違いで、複数行表示されたと思います。

■FQUOTEについて

>2.16:30~9:00の間は「夜間終値」は、「現在値」と同じでしょうか。

今やってみたら同じでした

>3.「ES始値」と、「夜間始値」は同じでしょうか。高値、安値、終値も

>  同様と考えています。

はい、同じでした。

俺は『ES始値』しかいけないと思ってたんですが・・・

どうやら、どっちでも動くみたいですね・・・

部分約定って、確かに簡単に確認できないから大変ですね・・・

自分はFOPPOSITIONで取得した、建玉番号、建玉枝番号を

そのまま、FNEWORDERに渡して決済するロジックで、

全数約定、部分約定ともに動いています。

(全数約定のときの枝番号は、

もしかしたら空白で取得して、空白で渡してるのかもしれませんが・・・)

2012年01月07日

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

自然堂さま

ご質問ありがとうございます。岡三RSSの仕様に関して以下回答いたします。

(大野了さま、ご回答いただきありがとうございました。今後ともよろしくお願いいたします。)

■FNEWORDERによる決済について

1.買い建玉の決済の場合、第6引数の「売買区分」は「売り」でしょうか。

⇒売りです。

2.「よくある質問」には、「建玉枝番号」は「部分約定の時付与される」とありますので、全約定した時は、「建玉枝番号」は付与されないと考えます。

第5引数 「建玉枝番号」は、第4引数を「建玉番号」とした時に必須とありますが、全約定した時は、第5引数 「建玉枝番号」は、不要でしょうか。

⇒必要です。

 全約定の場合は枝番号「1」が付与されます。

3.同じ建玉番号を全枝番について一括決済する方法はないでしょうか。

⇒岡三RSSからは建玉指定の一括決済は出来ません。

4.第14引数 「発注ID」、第16引数 「メモ」は発注時と決済時で一致している必要があるでしょうか。

⇒一致する必要はありません。

 また、発注IDはExcel起動中は同じIDを指定できません。

■FOPPOSITIONの第2引数 「表示先」について

1.部分約定した時、建玉枝番の数だけ建玉番号も並ぶのでしょうか。

⇒建玉枝番の数だけ並びます。

 枝番が1つにまとめて表示されるかどうかという質問だと思われますがまとめて表示はされず、枝番の数だけ表示されます。

■FQUOTEについて

1.9:00~15:10の間は「日中終値」は、「現在値」と同じでしょうか。

⇒同じです。

2.16:30~9:00の間は「夜間終値」は、「現在値」と同じでしょうか。

⇒同じです。

3.「ES始値」と、「夜間始値」は同じでしょうか。高値、安値、終値も同様と考えています。

⇒同じです。

以上です。

2012年01月07日

Tsuyoshi Takayama

「メモ」はRSSで発注したものが、確実に岡三オンラインに届いたかどうかの確認。

及び、岡三オンライン証券が取引所においてそれを執行した段階においてはじめて付与する注文番号と、自分のエクセルで発注した注文のヒモ付に使うとよいという理解です。

一日に何度も注文を出すプログラムの管理には必要な機能ですね。

2012年01月07日

自然堂

大野 了 さん、岡三RSS さん、髙山 剛 さん

ご回答有難う御座いました。

平日は仕事なので、場中に試行錯誤できないというのは辛いですね。

無料期間が半年くらいあれば安心なのですが・・・

ちなみにまだ岡三RSSはインストールしていなくて、他社RSSで試行中です。

岡三RSSに移行する予定なので注文/約定処理作成中というところです。

投稿日:2011/11/23 です。

2012年01月07日

皆さん、はじめまして。

nobuと申します。vba初心者です。

225先物をデイトレでやっておりまして、歩み値に大口の出来高ができた時に

音が鳴って教えてくれるとわかりやすいなぁと思い、RSSに興味を持った次第です。

高山剛さんの、岡三RSS活用法の PCTimeUpdateが音が鳴るので、参考にしようかと思い

エクセルの新しいbookを開いて、visual basicに標準モジュールを挿入し、Module1にそのままコピペし、bookのA1に1 B1にも1を入れてみましたが音が鳴らず

vbaのユーザーフォームの実行をクリックしてみると

’Range'メソッドは失敗しました。’_Global'オブジェクト  表示され

デバックをクリックしてみると

interval = Range(″interval″)が黄色く塗られました。

初心者の質問で申し訳ありませんが、どうすれば実行できるのか教えていただけないでしょうか?

こういう質問は不適切でしょうか?

よろしくお願いします。

2012年01月07日

Tsuyoshi Takayama

nobuさん

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

ごく単純な話から致しますが、条件合致ー訂正シート(20111116.xls)のPCTimeUpedate()というマクロは、一定時間間隔に作動させることがまずは大きな目的となっています。

その間隔を End Sub の一行上のコードで書いています。

Application.OnTime Now + interval / (60 * 24), Procedure:=″PCTimeUpdate″

ここに interval と名付けた変数がありますが、この定義をしているのが最初の

interval = Range(″interval″)の部分です。

ちなみにエクセルには、特定のセル例えば F29 などに名前をつけることができます。

名前をつけると、このセルが動く可能性のある操作(行や列の削除や挿入など)があっても維持されるので何かと便利です。

このことはさておいて、最も簡単な解決方法は

まず、interval = Range(″interval″)の一文を削除した上で

Application.OnTime Now + 0.1 / (60 * 24), Procedure:=″PCTimeUpdate″

とかき変えちゃう。  そうすると0.1分=6秒ごとに動くことになります。

自分で必要と思う時間(分単位)の値を0.1とある場所に書き換えてください。

次に簡単な方法は

interval = Range(″interval″)を、interval = Range(″C1″)などに書き換えたうえで

C1に反復間隔を分単位で値を書き込むなどです。

以下本題から外れますが

上の文章でよくわわからなかった部分が

>Module1にそのままコピペし、bookのA1に1 B1にも1を入れてみましたが

ここになります。

必要なければご返答は不要です。

さて、音をだすプログラムだけ活用されたいというのであれば、サンプルシートの

条件合致回数カウントVBA.xlsの方を参考にする方が易しいかもしれません。

以下を標準モジュールに貼り付けます。

Public Declare Function PlaySound Lib ″winmm.dll″ Alias ″PlaySoundA″ ( _

ByVal pszSound As String, _

ByVal hmod As Long, _

ByVal fdwSound As Long _

) As Long

Public Const SND_ASYNC = &H1

Sub TestMacro()

ここから不要なので削除------------------------------------

Dim c As Long

Worksheets(″Test″).Activate

c = Cells(15, 3)

c = c + 1

Cells(15, 3) = c

ここまでを削除-------------------------------------------

PlaySound ″C:\WINDOWS\Media\notify.wav″, 0, SND_ASYNC

End Sub

このうえで、自分のやりたいif構文をかいてその条件が合致したときに

 Call TestMacro 

(※ 意味としては上の音を出すマクロ(ここではTestMacroと名づけました)を稼働させる)

とすれば良いように思います。

なお音の種類は、ご自身のPCの C:\WINDOWS\Media\

このフォルダーの中に行くとたいてい .wav ファイルがたくさんあると思いますので

その中で気に入った音を見つけてそれを使うといいと思います。

2012年01月07日

高山剛さん、お返事ありがとうございます。

nobuです。

>Module1にそのままコピペし、bookのA1に1 B1にも1を入れてみましたが

ここになります。

ですが、rss活用法に

 「このコードを書いて セルA1に1を入れるとループを開始し

 セルB1に1を入れると音がなります。」

と書いてあったので、まず標準モジュールにコピペして、sheet1のA1に1 B1にも1を入れれば音がなるのかな?

と単純に思ってやってみたのですが、鳴らなくて質問させていただきました。

今朝この書き込みをみて、早速取り掛かっているのですが、スタック不足とか

エクセルが強制終了してしまうとか、初心者にはまだ早すぎた様です(涙

もう少し試行錯誤してみて、もしわからなかったら、vbaに対してもっと初歩的な質問をしてもよろしいでしょうか?

それともう一つ、岡三RSSの動作環境の事なのですが

今、ウィンドウズ7 64bitと、XPの2台のPCを持ってまして

岡三RSS導入にあたり、エクセル2010のパッケージ版を購入しました。

RSSは7の64bitに対応してますが、エクセルは32bitまでの様です。

現在xpの32bitエクセルでRSSを使っており、エクセル64bit対応になったら7に再インストールしようかな?と思っておりました。

ネットでマイクロソフトは、osが64bitでも、エクセルは32bitの使用を薦めるみたいな記事を見つけました。

岡三rssを使うにあたって、エクセルの32bitと64bitの違いってあるのでしょうか?

大きな違いがないなら、os 7 64bit エクセル32bit で使ったほうが使いやすいので

変な質問で申し訳ありませんが、ご意見を聞かせていただけるとありがたいです。

2012年01月07日

Tsuyoshi Takayama

http://www.facebook.com/pages/%E5%B2%A1%E4%B8%89%EF%BC%B2%EF%BC%B3%EF%BC%B3%E3%83%95%E3%82%A1%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8%E5%85%AC%E5%BC%8F/186603848061827?sk=app_202980683107053&app_data=7066d733-4d38-4560-b625-d7d477beac73 :0

こっちの投稿ですね。

サンプルシートをダウンロードをしてVBEからコピペされたものと、なぜか思い込んでおりました。 大変失礼しました。

セル範囲の定義は、挿入(I)→名前(N)→定義(D)といって、名前をInterval としセル範囲を選ぶ流れで行うこと出来ます。

2012年01月07日

Tsuyoshi Takayama

Public Declare Function PlaySound Lib ″winmm.dll″ Alias ″PlaySoundA″ ( _

ByVal pszSound As String, _

ByVal hmod As Long, _

ByVal fdwSound As Long _

) As Long

Public Const SND_ASYNC = &H1

Sub PCTimeUpdate()

interval = Range(″$C$1″)

If Range(″$A$1″).Value <> 1 Then Exit Sub

If Range(″$B$1″).Value = 1 Then

PlaySound ″C:\WINDOWS\Media\notify.wav″, 0, SND_ASYNC

Else

End If

Calculate

Application.OnTime Now + interval / (60 * 24), Procedure:=″PCTimeUpdate″

End Sub

このコードを書いて C1セルに反復間隔を分単位で書くことでとりあえず動くと思います。

C1セルの値が0であると間隔無しでマクロが走ってしまい暴走しますので、

さきにC1がゼロとならないような手順で行なってください。

2012年01月07日

Tsuyoshi Takayama

上のコードを書いた時、私の想定した意味づけとしては

A1 このマクロのロック (1が入っているときにのみ作動する)

B1 ここが1になったときに動作開始 (1が入ったのちC1で指定した分数後に音が鳴り始めます)

C1 音がなる間隔を分数で指定する

であります。

2012年01月07日

Tsuyoshi Takayama

ここまでつらつら書いてしまって何なのではありますが(笑)

条件合致回数カウントVBA.xls というサンプルシートのB13のところに

条件が合致したときに1、そうでないときに0 という条件式を書けば

とりあえず自分の指定した条件が満たされたときに音がなります。

値段であるとか、板の枚数などは、上のマクロのように一定間隔で

再計算をさせる必要はありませんので、こっちから勉強されると良いと思います。

例えば、大口約定があった時を感知するには、このシートの開いているところ

例えばJ25に FTICK()関数で約定数量を取ってきて

※ =FTICK(″N225mini″,″0″,″1″,″約定数量″,J26)

こんなかんじですよね、そうすると直近の約定数量がわかりますから

=IF(J26>=100,1,0) という式ノ形が B13に入れば目的を

達することができると思います。

TFICKは歩み値を取る関数なんですが PC環境などにより

動作時間に問題がある場合には、引っ張ってくる件数を5件にする

 =FTICK(″N225mini″,″0″,″5″,″約定数量″,J26)

などとして論理式を Max(J26:J31)>=100 などにすると良いかと思います。

また岡三RSS関数には

=FBOARD(″N225mini″,″0″″成行売気配数量″) 及びこの買気配のもの

が用意されていますからそっちを研究してみるのも面白いかもしれませんね。

2012年01月07日

Tsuyoshi Takayama

上に書きました セルに名前をつける方法についてですが、

エクセル 2007以降は、数式 → 定義された名前 → 名前の定義 と進んで行なってください。

2012年01月07日

高城剛さん、ありがとうございます。

条件合致回数カウントVBA.xlsというので、勉強してみます。

今回書き込んで頂いた、条件合致回数カウントVBA.xlsで書かれているのは、sheet1(Test)上で記述するエクセルでの操作と言う事ですね?

VBEに書き込んでやる物とばかり思っていたので、そこに気がつくのにも今までの時間がかかってしまいました。(涙

>サンプルシートをダウンロードをしてVBEからコピペされたものと、なぜか思い込んで>おりました。 大変失礼しました。

いえいえ、その部分は↑の通り、コピペさせて頂き、なおかつsheetのA1、B1もしてみたと言う事です。

vbeとsheetとモジュールと・・・すべてゴチャゴチャになってます(涙

なので先は長そうですが、引っ張ってくる件数を5件とか、max関数とか事細かに教えてくださって、ありがとうございます。

やはり、流れの速いときは、j26>=100だと、音が鳴らない場合も多々ありそうですし

maxだと、j26~j31までの間に一つでも100以上があれば、閑散相場の時は・・・

等々、色々考えることが沢山ありますね。

その前に、教えていただいた通り、条件合致回数カウントVBA.xlsをそのまま使ってますので、うそつき理論とか、価格条件とか、そのあたりの省けるものの精査等でvbe上での勉強でスキルアップを目指すと言う所ですね。

とりあえず音が鳴ることができました。感激です。

ありがとうございました。

2012年01月07日

Tsuyoshi Takayama

上のやり取りで思い出したんですが、マクロ起動間隔を0にすると、間隔なしで再計算をしてしまうことになっちゃってエクセルが強制終了してしまうばあいがありますよね。

 今出ているサンプルシートはこの場合のエラー処理をしていません。

来週公開予定の第3回ビデオではこのへんのエラー処理に関する話をしてみようかなと思います。

今回の PCTimeUpdate でのエラー回避としては

If interval <= 0 Then

MsgBox ″マクロ起動間隔は0以外の正の値にして下さい。″, vbOKOnly

Range(*).Value = 0

       ※注 Range(*)はシート上の 「PC時刻更新 (on = 1)」の値を入れるセルを指定します。

Exit Sub

Else

End If

というコードをしかるべき位置に書き加えてください。

2012年01月07日

Tsuyoshi Takayama

休日にVBAを勉強されるのであれば、活用動画の

11.24 【第2回後編②】岡三RSSを活用する為の基礎知識(VBA)

をご覧いただき参考となれば幸に存じます。

2012年01月07日

自然堂

FNEWORDER関数の使い方について質問致します。(長文に成ってしまいました。ごめんなさい)

以下の引数で買い注文をしたのですが、売り決済で「決済建て玉がありません」(たぶんこんなメッセージだったと思います)というエラーになってしまいました。

どこか引数の設定がおかしいのでしょうか。

(第2引数の限月か、第4,5引数の建玉番号が、怪しいような気がするのですが・・・)

引数は、第14引数まで入力しており、セル入力したものを関数から参照しています。

決済発注は、水曜日10:00 am(買い注文の翌日)実行なので、建玉は保持の状態です。

第4引数、第5引数は半角空白が入っています。

■買い注文時の引数

第1引数 N225mini

第2引数 0

第3引数 1

第4引数

第5引数

第6引数 3

第7引数 0

第8引数 0

第9引数 1

第10引数 1

第11引数 1

第12引数 1

■決済時の引数

第1引数 N225mini

第2引数 0

第3引数 2

第4引数

第5引数

第6引数 1

第7引数 5

第8引数 0

第9引数 1

第10引数 1

第11引数 1

第12引数 1

2012年03月07日

Ryo Ohno

ぱっと見て、気がついた部分ですっ♪

○買い注文の、第二引数の限月が″0″になっている

これって買い注文通りましたでしょうか?

″201201″みたいに入れないと買い注文が出来ないのじゃないかなーと思います。

#もしかしたら″0″を送られたら、期近のやつで発注してくれるのかも知れません・・・

#そのときはご容赦ください

○決済時の引数の、第四引数が空白になっている。

建玉番号で、明確に決済する建玉を指定しない場合は、

第四引数にどの建玉を優先して決済するか指定してあげないといけません。

指定内容は以下の通りですっ♪

A:評価益(1枚)順

B:評価損(1枚)順

C:建日時古順

D:建日時新順

2012年03月07日

Tadashi Nagao

rssでデータ取得をしているのですが、午前3時半くらいはメンテナンスなどでとまっているのでしょうか?

イブニング・セッションが終わったあと、データを自動取得したい場合には、いつ頃がいいのでしょうか

2012年09月07日

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

Tadashi Nagaoさま

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

返信が遅くなりましたが、ご質問の件、以下のとおり回答いたします。

岡三ネットトレーダーシリーズ(岡三RSSを含む)のメンテナンス時間は、

平日・土曜日3:30~5:00(日曜日のみ0:00~6:00)となります。

上記メンテナンス時間には、岡三RSSへのログインができませんので、

データを取得される場合は、メンテナンス終了後にお願いいたします。

2012年10月07日

Ryo Ohno

Tadashi Nagaoさん

はじめましてー

大野と申します。

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

イブニングセッションの値取得、自分もいろいろと悩んで試した結果・・・

翌日の朝8時に、前日の値をとるという形でやってます。

2012年10月07日

Tadashi Nagao

Ryo Ohno さん SQの時の値を取り損ねるので、1日2回とっています。

2012年10月07日

Ryo Ohno

あー確かにっ

その期をギリギリまで取ろうとすると、消えてしまうので取れないですね・・・

期を途中で切り替えてたので気が付きませんでした。

精算日の後に一週間とか見れると確かにありがたいなー

と思うときがあります。

2012年10月07日

自然堂

2週間ほど様子を見ましたが、ほぼ問題なく動くようになりました。

正月からずっと不安定だったのが、嘘のようです。

とっても有難う御座いました。

2012年05月07日

Ryo Ohno

それは良かったですっ!!

ログインができないのは、ちょっと心配ですもんね・・・

なにはともあれ、よかったです♪

自分はPGだけが安定して、収益がまったく安定しない毎日ですが・・・

そっちをどうにかしたい・・・(笑

2012年05月07日

Tsuyoshi Takayama

うちの奥さんが、えりか様くらい綺麗だったらよかったのですが、残念ながらコントロールできる甲斐性は全くありません(笑)

2012年01月07日

nobuです。

高山剛さん、お名前間違えてますね(涙

大変申し訳ありません(汗

奥様の事はご謙遜だと思われますが、ご本人は、高城さんよりbigな方だったりして?

今後もよろしくお願いいたします。

2012年01月07日

Tsuyoshi Takayama

おきになさらず

2012年01月07日

Tsuyoshi Takayama

> 日次平均出来高のX%を超える注文株数

やはり、日時平均出来高をモニターする方法が一番現実的なようですね。

規制云々と言うよりもやはりスリッページ管理の一環としても、出来高の少ない銘柄は

何かしらのチェックは必要ですよね。

2012年06月07日

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

[email protected]��いたします。

質問1: ORDQUERY or POSITION 関数について

a.マニュアルによると設定可能なパラメータ数は3または4項目しかありませんが、より多くの情報を取得したい場合には、上記関数を必要な情報の数だけ設定する必要がありますか。 

b.それとも、一個の関数に必要な情報の数だけパラメータを羅列する方法も採れるのでしょうか。

c.もし前者 a の場合だとすると、仮に多数の銘柄を同時期に発注し、その結果の情報を上記の複数の関数でタイミングを無視してそれぞれ独立に受け取った場合、各銘柄間のさまざまな情報の対応付けが出来なることはありませんか。

d.なお上記 a の関数の最大設定可能数はいくつでしょうか。

質問2: 注文関数 MARGINORDER等について

a.一度にエクセル上に設定可能な数をお知らせください。

b.複数設定した上記関数を同時にアクティブにしても問題ないでしょうか。

c.もし上記で問題無いとした場合、その数に制限はありますか。

質問3: ”メモ”について

先物・オプションの注文関数の最後のパラメータにユーザが設定した任意の情報を返り値として取得できる”メモ”項目が設けられていますが、これは MRJINORDER関数でも利用できるのでしょうか。またその使い方が今一良く解らないのですが、その返り値はどの関数で取得できるのでしょうか。

2012年01月07日

Tsuyoshi Takayama

私はシステムの専門家ではないので、実情とは違うのかも知れませんが

質問3: ”メモ”について  知っている範囲でお答えします。

MARGINORDERにしても、個別株のORDERにしても、ようするに東京証券取引所を中心とした個別株の発注関数ですが、これと大阪証券取引所では、使っているシステムが基本的に大きく異なるわけです。

この異なるシステムの一方では独自のパラメーターを後になって追加をするのが非常に難しかったらしいのですね。

このことをふまえつつ

 先物オプションの注文は、RSSで発注した注文が、まず、岡三オンライン証券にきちんと届いて、それが大証に届いた時点で、注文は正式に機能し始めるわけです。

RSSで発注したとき、それらが、例えば何回も「成行注文」であった時のような場合(注文の詳細が時間以外ほとんど同じような形の複数の注文があった状態)に、注文照会に載っている、もしくは載っているはずのものとヒモ付けるきっかけとなるものがあった方が便利という意見がユーザーサイドから出て、後で加えられたのがこの「メモ」ということなのですね。

これによって、RSSで発注した時点では判っていない「注文番号」や「約定番号」とエクセルで出した(と思っている)注文とのヒモ付けをすることが、簡単に可能となりました。

またRSS経由で出されたのではない注文には「メモ」がないため、その識別も可能となりました。

このメモ機能をつけるに当たって、冒頭に申し上げましたシステムの違いがあって、先物にはパラメータの追加が比較的簡単にできるけれど、個別株はいろいろとあって難しいという実情があったので、では、出来るところから改善して下さいということで生まれたのが

F~ORDER関数とOP~ORDER関数の 「メモ」ということらしいのです。

さて、メモの活用は、先物オプションの 注文照会関数と約定照会関数で ”メモ” と単純に指定すれば個別の注文のこれらを得ることが出来ます。

※RSS経由でないものは、上記のように空欄となるはずです。

2012年01月07日

Tsuyoshi Takayama

そのメモと注文番号や約定番号とヒモ付けるためのエクセルのテクニックに関して

http://www.facebook.com/pages/%E5%B2%A1%E4%B8%89%EF%BC%B2%EF%BC%B3%EF%BC%B3%E3%83%95%E3%82%A1%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8%E5%85%AC%E5%BC%8F/186603848061827?sk=app_124214424344775

このサイトにある

【第2回後編①】岡三RSSを活用する為の基礎知識(エクセル関数)

という動画で詳しく解説しておりますので、ご参考になれば幸いです。

2012年02月07日

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

[email protected]��して、取り急ぎ質問1について回答いたします。

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

>質問1: ORDQUERY or POSITION 関数について

> a.マニュアルによると設定可能なパラメータ数は3または4項目しかありませんが、より多くの情報を取得したい場合には、上記関数を必要な情報の数だけ設定する必要がありますか。

必要な情報の数だけ関数を設定して頂く必要があります。

簡易入力のフォームを使用すると、必要な情報を複数選択して頂くことで、その分だけ関数をExcelに設定しますので、フォームをご利用頂ければと思います。

> b.それとも、一個の関数に必要な情報の数だけパラメータを羅列する方法も採れるのでしょうか?

1個の関数にパラメータの羅列はできません。

簡易入力フォームをご利用頂ければイメージがつかみやすいかと思います。

> c.もし前者 a の場合だとすると、仮に多数の銘柄を同時期に発注し、その結果の情報を上記の複数の関数でタイミングを無視してそれぞれ独立に受け取った場合、各銘柄間のさまざまな情報の対応付けが出来なくなることはありませんか。

ORDQUERY及びPOSITIONの元情報はそれぞれひとつです。そのため、対応付けはずれないようになっています。

> d.なお上記 a の関数の最大設定可能数はいくつでしょうか。

岡三RSSでは、関数のシステム上の設定可能数は500としています。

お客様の環境によっては、多くの関数を設定するとPCが重くなることがありますので、環境に応じた設定数にてお願いします。

2012年02月07日

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

[email protected]��して、取り急ぎ質問2,3について回答いたします。

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

> 質問2: 注文関数 MARGINORDER等について

> a.一度にエクセル上に設定可能な数をお知らせください。

RSSとしては関数のシステム上の設定可能数は500としています。

お客様の環境によっては、多くの関数を設定するとPCが重くなることがありますので、環境に応じた設定数にてお願いします。

> b.複数設定した上記関数を同時にアクティブにしても問題ないでしょうか。

問題ありません。条件に応じて注文関数を複数用意されている方はいらっしゃると思います。

> c.もし上記で問題無いとした場合、その数に制限はありますか。

数の制限はaの500になります。

> 質問3: ”メモ”について

> 先物・オプションの注文関数の最後のパラメータにユーザが設定した任意の情報を返り値として取得できる”メモ”項目が設けられていますが、これは MRJINORDER関数でも利用できるのでしょうか。またその使い方が今一良く解らないのですが、その返り値はどの関数で取得できるのでしょうか。

メモは先物OPの注文系のみの機能で、MARGINORDER関数ではご利用できません。

先物OP注文関数の引数にメモをセットすることで、RSSでの

先物OP注文照会情報取得(FOPORDQUERY)

先物OP保有情報取得(FOPPOSITION)

先物OP約定照会情報取得(FOPEXEC)

にて、メモの項目を返しております。これをもとに注文との紐付けができます。

2012年02月07日

Tadashi Nagao

早速ありがとうございます。VBAの中で NEWORDER つかえるんですか?

2013年01月07日

Ryo Ohno

はい、普通にVBAからいけますっ!!

自分も発注系は全部VBAからやっています。

yahoo知恵袋に岡三RSSの質問なんて上がるんですね・・・(笑

とはいえ、岡三デスクトップが反応しなくなるんですか・・・

これは根がふかそうですね・・・(^^;

どんなタイミングで、岡三デスクトップが反応しなくなるとか、分かれますでしょうか?

自分は残念ながら、同じ状況になったことが無いので、いますぐは分からないのですが、

もし再現性があるなら、自分の環境で実験してみたり、原因を考えたりしてみますっ♪

2013年01月07日

Tadashi Nagao

サポートに電話したら、親切に教えてもらえました。これからもよろしくお願いします。

岡三デスクトップがフリーズしていたのですが、入れ替えるとよいようです。

それから気になるのは更新の時の負荷ですね。

2013年01月07日

Tadashi Nagao

エクセルがときどき落ちますね。岡三デスクトップの影響かどうかは不明なんですが。

2013年01月07日

Tadashi Nagao

トラブルの原因は、岡三デスクトップが反応しなくなることですね。何が原因なんでしょう。

2013年01月07日

Ryo Ohno

すみません、検討違いでしたら、申し訳ありません。

VBAのコード実行中に、情報表示系の値更新をやらせたいってことでしょうか?

自分はVBAのコード中に『DoEvents』を入れて、一度処理を手放し、

値更新を行っています。

1.発注

2.発注が約定後、岡三のポジションとして登録するまで待機

#この時に、Position関数の更新情報を見ています。

3.ポジションと登録されたら、処理の続きを行う

あまり状況が分からず、検討違いでしたらご容赦ください。

2012年04月07日

Tsuyoshi Takayama

【今回2月13日公開のサンプルシートに関しまして】

RSSの導入を検討中であって「プレミアムとIVのデータ取得が未だできていない皆様」に置かれましては、サンプルシートをダウンロードした段階ではエラー表示が出ている場合があります。

 その時はお手数ですが、所定のセルに手入力で数字を上書きすることで、お試しいただけます。

 この時の数字の入手は申し訳ございませんが、各社様のプライスデータ等を利用してくださいませ。

2012年04月07日

Tadashi Nagao

RSSででてくる注文画面(ガジェット)ですが、一番後ろにでてくるのですが、一番前面にできるのでしょうか

2012年12月07日

Takesi Souda

ハードの条件として

DirectX 9 対応のグラフィック

128MB以上のビデオメモリ

となってますが、性能が足りません。

エクセルのシートや表示を減らせば、上記の性能が無くても動きますか?

エクセルの普通の表示ができれば動けばありがたいのですが。

2012年02月07日

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

Takesi Souda様

ご質問ありがとうございます。岡三RSSでは、ハードウェアの動作推奨環境を以下のとおり定めております。

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

ハードウェア環境:CPU Intel Core2 Duo 1.8GHz以上

メモリ:1GB以上

ハードディスク:100MB以上の空き容量 (Microsoft .NET Framework含まず)

解像度:1024x768以上の解像度 シングルモニタ

※DPI設定は「96DPI」のみ。DPIの設定方法はこちらをご覧ください。

グラフィックアクセラレータ:DirectX 9 対応のグラフィック、128MB以上のビデオメモリ

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

上記は動作推奨環境ですので、規定の性能を満たしていないハードウェア環境でも動作する可能性はございます。ただし、動作を保障するものではございませんのであらかじめご了承ください。

2012年02月07日

お久しぶりです。

先日、リリースされたくりっく365バージョンのRSSをテストしています。

ワークシート上からFXONEORDER関数を手入力して発注(と約定処理の受信)を行うことはできているのですが、

Application.OnTime Now() + TimeValue(″00:00:01″), ″繰り返し処理″

を使ったループの中でFXONEORDER関数を使って発注を行うと、約定後にExcelが動作停止してしまい、自動売買を継続できません。

動作停止の回避方法についてご存じの方、おられませんでしょうか?

2012年02月07日

Ryo Ohno

To:信 二戸さん

始めまして(?)

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

まだ、くりっく365用のRSSを使っていないので、

検証もできず、想像だけの解答にしかならないのですが・・・

#すみません。

Excelが停止というのはハングアップ(まったくExcelが動かない状態)してしまうのでしょうか?

もし、Excelは生きていて″繰り返し処理″の関数が起動しないだけでしたら・・・

FXONEORDER関数の後に『DoEvents』の1行を追加すると、

もしかすると動くかもしれません。

『DoEvents』はOSへ処理を一度委譲させる命令となります。

なにかしらで、PGがいろいろなリソースを占有してしまった場合に、

いったん、OSに処理を戻すことにより、継続処理が正常に行われるようになります。

もしそういうことが原因で止まってしまうなら、

もしかすると直るかもしれませんっ♪

2012年03月07日

Kiyoaki Yoshii

以前、メールで質問しました。貴社のサンプルファイル(エクセル)で当方が作成するマクロにて自動取引ソフトを動かした場合、当方マクロが動いている時は、情報表示が止まる(貴社のアドインソフトが止まり、実質、自動取引できない)ので、何か対策(例えばVBA以外のC++などを使うことも含めて)は有りますかと質問したところ、要は対策が無いとの結論だったと思います。

 現在でも同じ状況でしょうか?これが解決できていれば、大変助かります。出来ないとなると、特殊な方法で当方のマクロを動かすしかありません。

2012年04月07日

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

Kiyoaki Yoshii様

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

ご指摘いただいたとおり、マクロによるプログラムを起動した場合、Excel側の処理により他のセルを更新いたしません(情報表示が止まります)。

この場合、マクロではなく、別スレッドで動作するプログラムを作成すると、メインプロセス側のExcel側の負荷が軽減されると思いますので一度お試しになられてはいかがでしょうか。

2012年04月07日

自然堂

Kiyoaki Yoshii さん

始めまして。時々登場する自然堂と申します。

Yoshii さんのやりたい事と違うかもしれませんが、以下の処理をAuto_Open()とOnTimeを使ってやっています。ご参考まで。

■やりたいこと

1.RSSで株価取得

2.自分のマクロでエントリ/決済判定

3.RSSでエントリ/決済実行

■手順は以下になります。

0-1.Auto_Open()関数にOnTimeでマクロ関数実行を予約します。

   こんな感じのソースです。

   Sub Auto_Open()

    Application.OnTime Now + TimeValue(″00:00:30″), ″ExecTrade″

   End Sub

   Auto_OpenはExcel起動時に実行される関数で、上記では起動30秒後にExecTrade(自分で作ったマクロ)が実行されます。

   従ってExecTradeが実行されるまでの30秒間はExcelのRSS関数が動きます。

1.RSSで株価取得(Excel起動後30秒間)

2.ExecTradeでエントリ/決済を判定し、Excelのセルに結果を書き出します。

3.ExecTradeが終了するとExcelに制御が戻りますので、セルに書いた結果を参照しRSSでエントリ/決済実行するようにすればOKです。

Windowsはほとんど経験がないのでネットで調べながらですが、なんとか意図した動きを実現できました。

Yoshii さんも意図したものが出来ると良いですね。

2012年04月07日

自然堂

自動で「岡三デスクトップ起動」→「Excel起動してエントリ/決済」という形がようやく出来てきたのですが、どうも他のウィンドウ(AcrobatReaderの更新の連絡とか)が開いているとおかしくなってしまう様です。

UWSCでIDを特定して操作をしているのに、他のウィンドウに対してログインIDとかを送っているような気がします。

なにか対策はあるでしょうか。

岡三デスクトップを起動する前に画面に出ている全てのウィンドウを終わらせるのも1つの手かな?とも思っているのですが・・・

2012年04月07日

Ryo Ohno

UWSCはGETIDで取得されていると思うのですが、

この時の名称はなにで取得されてますでしょうか?

自分は

GETID(″ログイン″)でIDを取得し、

このIDに対して文字列を送信して、問題なくログインIDを送れていまーす。

2012年04月07日

自然堂

私も同じくGETID(″ログイン″) でIDを取得しています。

IDが取得できるまで(取得ID= -1でなくなるまで)ループしてから文字列を送っているのですが・・・

ひょっとすると、岡三デスクトップの起動に失敗、Excelの起動に失敗、の可能性もあります。

何が問題なのか切り分けてから質問できると良いのですが、トレード中の画面を見ることが出来ないので申し訳ありません。

うまくいかなかったときは他のメッセージ画面が出ている時なので、それらの画面を消してしまえば良い、というのがとりあえずの対策かな?と思っています。

2012年04月07日

Ryo Ohno

>IDが取得できるまで(取得ID= -1でなくなるまで)ループしてから文字列を送っているのですが・・・

となると、正常にログイン画面は上がってそうですね。

>他のメッセージ画面が出ている時

と言われるのは、岡三デスクトップのメッセージでしょうか?

自分も初めのころ同じような問題にぶち当たった時があります。

自分の時は、パスワードだけをUWSCで送るようにしてたんですが、

一度ログインに失敗した時など、

ユーザIDの自動表示機能が動いたり動かなかったりして、

ユーザIDが消えてしまい、

それが原因で再ログインに失敗し、メッセージが出て、

その後の自動ログインがおかしくなった時がありました。

ユーザIDを自動で表示しないようにして、ユーザIDとパスワードを両方送るようにしたら、プログラムが安定しました。

状況が違うかもしれませんが、参考になれば幸いです。

2012年04月07日

自然堂

そ!それです!!!

私もユーザIDの自動表示をONにしてパスワードだけ送っています。

失敗した時にはログイン画面が残っていたので、同じ現象ですね。

早速試して見ます。

有難う御座いました。

2012年04月07日

Ryo Ohno

やっぱりですか・・・

やっぱみんなぶち当たるところは同じですね・・・(笑

お役に立てたようで、幸いです♪

2012年04月07日

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

[email protected]��らの質問を以下転載いたします。

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

RSSにおいて、新規約定後、すぐにロスカットのプロテクションを逆指値で注文するようにしたいと思っています。

あるトリガーが起こったときに、この逆指値注文を取りやめて、通常の決済注文にしたい訳ですが、RSSにおいて執行条件を変更する(逆指値を成行に変更する)ことは不可を了解しました。

RSSの一連の動作(関数)として、既存注文(逆指値)を取り消しして同時に成行注文を出す方法について、アイデアがあれば関数の手順など、ご教示頂ればありがたく存じます。よろしくお願いいたします。

2012年05月07日

Ryo Ohno

自分も似たようなことをやっていますが、

やはり逆指値の注文を取り消して、新しい注文を出しています。

取り消した注文が取り消されるのを判断しないといけないので、、

若干面倒ですね・・・

2012年05月07日

Tsuyoshi Takayama

やりたい事を整理して考えると、トレーリングストップ的な発想ですよね。

現物においてはもともと逆指値が無いためトリガー到達で成行注文を出すのが

RSSで組む逆指値なんでしょう、このトリガーの値段を変更していくのがトレーリングストップですよね。

 先物はもともと逆差しが使えるので、まず逆差しを出してそれを取り消してという

ステップになるわけです。

 岡三オンライン証券に逆指値で出しておくと自宅PCでのトラブルや通信トラブル

に対するリスクが減りますが、「自宅PCでのトラブルや通信トラブル」ではこの逆指値を取り消すことも出来ませんね。

逆指値に到達したら成行き注文を出す形でのストップロスをRSSで待機させておく方法の逆指値であれば取消ステップは要らなくなりますよね。

2012年05月07日

Tadashi Nagao

オプションの建玉の情報取得についての質問です。=FOPPOSITION(″建玉番号″,J11,″0″) で最後の建玉の表示単位を 0 指定なしにしないと建玉番号がでてこないようですが、そういう仕様なんでしょうか? そこらへんを細かく解説している情報はどこかにあるのでしょうか

2012年12月07日

Ryo Ohno

To:Tadashi Nagaoさん

>オプションの建玉の情報取得

これは、3番目の引数が、″0″または指定なしにしないと建玉番号が表示されないって事でしょうか?

(3番目の引数が、1~4だと表示されない)

>注文画面(ガジェット)

自動売買しかしないので、意識したことなかったんですが・・・

確かに最前面に表示させ続けることってできないみたいですね。

岡三デスクトップで注文される方には『最前面に表示』という設定が出来たが、

確かに使い勝手が良さそうですね。

2012年12月07日

Tadashi Nagao

おお、リプライありがとうございます。

>(3番目の引数が、1~4だと表示されない)

はいそうです。このあたりは手探りでやらないとダメですね。

自動売買の前に、手動でいろいろ試しています。

自動売買ができるのは、岡三ぐらいなので、頑張ってやっていますが、結構たいへんですね。

2012年12月07日

Ryo Ohno

To:Tadashi Nagaoさん

やっぱり、そういうことですかっ!!

えっと、FOPPOSITIONの第三引数は、ご存知の通り″表示単位″で、

複数の建玉があった時に、グルーピングして情報を表示するかどうかの機能になります。

ちなみに引数の内容は、以下の通りです。

 0:グループ化なし

 1:建日・建単価毎にグルーピング

 2:注文毎にグルーピング

 3:建単価毎にグルーピング

 4:売買毎にグルーピング

 (省略時は0になります)

なので、複数の建玉をまとめて意味がある、

″数量″や″通算損益″などは、第三引数に指定された単位で集計されて出てきます。

今回の″建玉番号″は建玉1つ1つを識別するための番号ですので、

複数の建玉をまとめた際に、どの建玉番号が情報として正しい建玉番号なのかわかりません。

例) 2つポジションをもっていた場合

建日   建玉番号  評価損益額

10/19  1111111  +10000円

10/19  2222222  +20000円

FOPPOSITION(″評価損益額″,J11,″1″) 1・・・建日で集計

10000 + 20000 で30000で出力

FOPPOSITION(″建玉番号″,J11,″1″)

は、建玉番号を集計しても、意味がないので、″-″が出る

というようなことだと思います。

#関数仕様書をひっくり返してみたんですが、明確な記述はありませんでしたが

#たぶん、理由はこれだと思います。

>自動売買ができるのは、岡三ぐらいなので、頑張ってやっていますが、結構たいへんですね。

はい、自動売買ができるので、ものすごく助かってます。

自分も、うまいこと行くまでいろいろと大変でしたが、何とか乗り越えて、頑張ってます。

上手いこといってるのは売買のプログラムだけで、実際の取引は損失ばっかりですが・・・(笑

2012年12月07日

Tadashi Nagao

さっそくリプライありがとうございます。理屈はわかるのですが、マニュアルに書いてほしいですよね。ぼちぼち自動売買がんばっていきます。発注をしたかどうかが、はてなのときもあるのでちょっと困りますね。

2012年12月07日

Ryo Ohno

確かに、明記されてないので、自分も手探りですね・・・(^^;

J-Gateに対応するときはホント大変でした。

発注は、自分もポジションと発注状況を見て判断してます。

まちっと使いやすいと、ありがたいです、確かに・・・

ご意見・ご要望のディスカッションボードがあるから、まとめて出してみようかなー

2012年12月07日

Tadashi Nagao

ご意見・ご要望のディスカッションボード ? ここですか? 他にあるんですか?

2012年12月07日

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

[email protected]��で投稿させていただきます。

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

現在岡三RSSを使って画面省略をして自動売買をしているのですが、

戻り値が”発注完了”であるにも関わらず注文が通っていない

ケースが度々ありました。

日本株注文確認画面で確認したところ

原因は流動性の低い銘柄で、単位株の注文であっても

”当該銘柄取引きの市場関与率が高いため自動発注が制限・・・・

・・・・・・・・・・・・・・該当しないことを確認し・・・・・・・・・・・・・・・・”

の警告があり注文ボタンを押してでないと注文が出来なくなっています。

制限があるのは仕方ないと思いますが、その場合発注完了ではなく

エラーで表示するか、画面省略の場合でも強制的に確認画面を表示する

ようにしていただきたいです。

また市場関与率が高く自動発注が制限される基準をおおよそでもいいので

教えていただくことはできないでしょうか?

それがわかれば、その銘柄を初めから自動売買の対象から外して

自動発注シートを作成することができるので。

お手数をおかけしますがよろしくお願いいたします。

2012年06月07日

Tsuyoshi Takayama

「市場関与率が高くなる」とか、極端な場合では「監理ポスト入りする」など、ひとつの銘柄が常にその状態ではなく、状況に応じて(状況が変化して)制限がかかったりするケースは問題ですね。

 いろいろな注意喚起に関するまとめページなどが各証券会社のHPにあれば良いのですが、岡三オンラインさんにはあったのでしょうか?

 スタッフのかた、ご存知でしたらご提示ください。

ところで、市場関与率が高い=流動性が少ない ⇒ スリッページの可能性が高い

ということですから、これらの銘柄の自動売買に関しては、通常の自動売買のロジックだけでいくと危険な場合が多いのではないかという印象を持っています。

想定よりも取引コストが高くなる恐れがあり、バックテスティングで得られた計算上のパフォーマンスと大きく食い違う可能性があるからです。

 単純に銘柄選定時に、「岡三ネットトレーダー(WEB)」などにあるランキング機能を使って、「出来高」「売買代金」でスクリーニングを行なって、それらが少ない銘柄を取引対象から外すということをするのが一番現実的かと思います。

もちろんRSSのCandle関数を使って過去数十日間の出来高を呼び出し、その平均値や最低値の基準を設けチェックするようなエクセルシートを作って、事前にチエックするなどをして、取引対象銘柄に加えるなどの対応も考えられますね。

2012年06月07日

Tsuyoshi Takayama

警告の出るタイミングを改善して欲しいという印象は私自身も持っていますが、おそらくシステム変更に関してはそれなりのコストがかかるだろうと想像しています。

 とはいえ、なるべく工夫していただきたいと思っております。

2012年06月07日

Ryo Ohno

自動発注の制限て、岡三さんがやられてるんでしたっけ、

それなら確かに、エラーで返したがよいような気がしますね。

東証や大証からエラーで帰ってくるなら仕方ないと思いますが・・・

警告とエラーの部分は、確かに使い辛いですね・・・

自分もあの手この手で、処理が止まらんようにがんばってます(笑

2012年06月07日

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

大野様、いつもご回答いただきありがとうございます。

弊社からもご質問の件につきまして、以下のとおり回答させていただきます。

> 制限があるのは仕方ないと思いますが、その場合発注完了ではなく

> エラーで表示するか、画面省略の場合でも強制的に確認画面を表示する

> ようにしていただきたいです。

現状の仕様としまして、RSSからデスクトップ側へ注文処理を委譲した時点で、

「発注完了」としております。

エラー表示は注文の戻りをRSSまで戻し、対象の注文関数に反映させる必要が

ございますが、現在のところ実装の目処はございません。

ご期待に沿えず申し訳ございません。

また、今回の市場関与率の場合に、強制的に確認画面を表示されるのも

同様の理由で対応の目処はございません。

> また市場関与率が高く自動発注が制限される基準をおおよそでもいいので

> 教えていただくことはできないでしょうか?

市場関与率のメッセージは、コンプライアンスの観点から以下の場合において

表示を行っております。

・日次平均出来高のX%を超える注文株数

なお、具体的な数値につきましては、コンプライアンスの関係上、回答を控えさ

せていただきます。

ご理解いただきますようお願いいたします。

2012年06月07日

Tsuyoshi Takayama

自然堂さんこんにちは

アドインは確認されましたでしょうか?

何かの拍子にアドインが外れている場合があって、そのときはツールバーが表示されませんでした。

その場合もう一度プログラムファイルまでさかのぼって参照を岡三RSSに設定すると治ったことがありました。

2012年07月07日

自然堂

ご回答有難う御座います。

アドインの参照設定は、何回もやり直しているのですが、「ツールバー」の一覧の中にRSSが現れてくれません。

インストールの手順を見ると、岡三RSSをインストールした後にExcelを起動すると「岡三RSSツールバー」が現れています。

となると、Excel→岡三デスクトップ→岡三RSSの順でインストールしなおせばいいのかな?と思ったのですが、ネットで調べたらうまくいかなかったようです。この先が知りたかったのですが、途切れていました。とほほ・・・。

2012年07月07日

Tsuyoshi Takayama

ツールバー自体が出てこないことの解決は、岡三オンラインさんのシステムの方にお尋ねするしかないのでしょうかしら?

当座、お困りでしたら マクロでツールバーの制御をするといった問題解決策もあろうかと思います。

「Application.CommandBars(″岡三RSS″).Controls(4).Execute」

これを、マクロに書いて、このコマンドを含む sub XXX () end sub に対応するマクロボタンを作ってしまうってのありでしょうか?

参照

http://qa.okasan-online.co.jp/faq_detail.html?id=623&category=136&page=1

ちなみに

Controls(4). これの4って左から4番目なので 注文の可否 ボタンの制御

Controls(5). だと 同様に左から5番目の 「更新」ボタン

以下同様であったともいます。

間違っていたらごめんなさい。

2012年07月07日

自然堂

それもやってみたのですが、「岡三RSSツールバー」があることを前提にしているようで、コンパイルエラーになってしまいました。

<info@okasan-online.co.jp>にメールで問い合わせて見ました。こちらに回答を載せて頂く様にしましたので、皆さんもご参考になるかと思います。

2012年07月07日

Ryo Ohno

先物の方の『QUOTE』をずーと使っていますが、今のところ表示されなくなるってことは無いですね・・・

なんですかね・・・

2012年10月07日

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

[email protected]��で投稿させていただきます。

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

03.30 岡三RSSでできることVol2を拝見しました。

とても参考になりました。

ありがとうございます。

後半部分の大口約定の有無を歩み値から監視する所での

質問なのですが、先物サンプルシートの歩み値の引数の本数は50と

なっていますが、30までしか反映されません。

本数を例えば5000とか6000にして午前9時から翌午前3時までの

日通しで歩み値を出す事は出来ますか?

やはりFTICKが30なので30まででしょうか?

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

2012年06月07日

Tsuyoshi Takayama

ありがとうございます。

ところで確かにTickは30までですね。

沢山とれたほうがありがたいのですが、システム仕様としては岡三オンラインのスタッフのかたでないとわからないですね。

ただ、長いティックデータに関しては大阪証券取引所など、取引所の著作物となっている場合もあったような気がします。

※ すみませんチェックしておりません。

システムトレードをするに当たり長期のティックデータはみなさんがほしいところだと思いますが

大阪証券取引所から ディスクに落としたデータを有料で販売していると思います。

ただし、問題は価格が結構お高いことです。

実際、この辺のコストと効用の見合いを考えながらということになってしまいますね。

2012年06月07日

自然堂

自然堂です。ご無沙汰しております。

原因は良く分からないのですが、岡三デスクトップのログインパスワードを間違えたら、いつの間にか岡三RSSへのリンクが切れており、「岡三RSSツールバー」が消えていました。リンクは復活したようなのですが、「岡三RSSツールバー」がどこにも見当たりません。復活方法どなたか、ご存知ないでしょうか。

「岡三RSSツールバー」から「注文ボタンを注文可」にできないので、発注が出来ない状態です。

マクロから注文ボタンを押す方法が日本株のサンプルにあったので試して見ましたが、「岡三RSSツールバー」があることを前提にしているようで、実行時にエラーになってしまいました。

「岡三デスクトップ」、「岡三RSS」の再インストールをしてみましたが、状況変わらずです。

環境は、Windows Vista Home Basic SP2 Excel 2003 SP3です。

2012年07月07日

Ryo Ohno

自然堂さん、お久しぶりですっ!!

それ・・・なっちゃいましたか・・・

それなると厄介ですよね・・・

自分もOfficeを2003から2010に上げた時に、同じようになっちゃいました・・・

えっと、以下の事を教えてください。

・VBAエディタのプロジェクトエクスプローラー(左上にあるエクスプローラー風のやつ)に″岡三RSS(岡三RSS.xla)″って表示されますでしょうか?(たぶん出てないはず)

・Application.CommandBars.Add (″岡三RSS″) を実行したらどうなりますでしょうか?(たぶん動かないはず)

・アドインは岡三RSSを登録再登録されたとのことですが、″OSON COM Addin″って登録されてますでしょうか?

すみません、もう手元に2003で岡三RSSが入った環境が無いので『こんな観方してください』てのが言えなくて

もーしわけないです。

2012年07月07日

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

自然堂さま

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

ご連絡いただいた内容について調査のうえ、あらためて回答させていただきます。

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

2012年07月07日

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

自然堂さま

「岡三RSSツールバー」が消えてしまい、復元できない事象につきまして、

ご迷惑をお掛けし誠に申し訳ございません。

ツールバーが消えている状態としましては、岡三RSSのCOMアドインが無効に

なっている可能性が考えられます。

ディスカッションボードにファイルを添付できないため、ウォールに投稿させて

いただきました。恐れ入りますが、ウォールに投稿した資料をご参照いただき、

お試し頂けないでしょうか。

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

2012年07月07日

自然堂

高山さん お手数おかけいたしました。システム屋さんのおかげで復活いたしました。

      ご指摘なければ、まだ悶々としていたと思います。

      この手の事はやはりシステム屋さんですね。

大野さん システム屋さんのおかげで無事復活いたしました。ご指摘の″OSON COM Addin″でした。

      それにしても大体のことは、経験済みなのですね。頼りにしています。

システム屋さん ″OSON COM Addin″で無事復活いたしました。有難う御座いました。

           ところで、他にもハマッた方が結構いらっしゃると思います。

           よくある質問の方にも上げて頂けないでしょうか。

           目に触れる場所が増えたほうが良いと思いますので。

2012年07月07日

Ryo Ohno

はい

岡三RSSのQAコーナーが作れるぐらい、いろんなことやりました(笑

とりあえず、直って良かったですねー♪

>岡三オンライン様

自然堂さんが言われてるみたいに、これ、はまる人が多いので、

自分も公式サイトのQAに上がってたがよいと思いまっす♪

2012年07月07日

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

自然堂さま

大野さま

貴重なご意見ありがとうございます。

「岡三RSSツールバー」の件、早速QAに反映させていただきました。

http://qa.okasan-online.co.jp/faq_detail.html?id=780&mode=preview&history=2751

今後とも岡三RSSユーザーの皆様からの忌憚ないご意見をお待ちしておりますので、

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

2012年07月07日

自然堂

岡三オンライン様

早速のご対応有難う御座いました。

これからもよろしくお願いいたします。

2012年07月07日

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

[email protected]��て、代理で質問箱に記入します。

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

サンプルシート(If done OCO + 時間決済)に関しての質問です。

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

これは、エクセルファイル立ち上げ後のみ発生し、発注IDを変えて同じ動作を行うと正しく新規取消注文が発注されます。

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

ちなみにエクセル2007にて行っています。

2012年11月07日

Tsuyoshi Takayama

取り急ぎ、お応えいたします。

エクセルの立ち上げ時飲み起こるエラーということですとVBAマクロで、ファイルを開いたときにマクロを実行する−Auto_Openマクロが何らかの悪さをしている場合がすぐに考えられます。

 当該サンプルシートの中を今精査中なのですが、サンプルシートの中にはAuto_Openマクロで、立ち上げ時に特定のセルの中身を一旦クリアーする命令を書いている場合があるのですが、そのマクロが余計なことをしている可能性がありおます。

サンプルシート(If done OCO + 時間決済)をこれから良く見てみたいと思いますが、別のシートを同時に立ち上げた場合などの他のシートのマクロが動いてそのような状況を招いている場合もあるかもしれません。

2012年11月07日

Tadashi Nagao

オプションの売り可能枚数を0枚にしたいのですが、どうしたらいいのでしょうか? 自動売買にするので、間違った発注があると困るのでそうしたのですが、

2012年07月07日

Tsuyoshi Takayama

長尾様

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

岡三RSSの注文可否ボタンで、オプション売りのみを制御するというのは難しそうですね。

岡三オンラインの方にお伺いしたいのですが

契約上そのような処理はできるのでしょうか?

2012年07月07日

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

Nagaoさま

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

大変申し訳ございませんが、岡三RSS質問箱は、岡三RSSの使用方法に関するご質問の場として

開設させていただいております。

オプション売り可能枚数の変更などお取引ルールに関するご質問は、大変お手数ではございますが、

弊社コールセンター宛にお問い合わせいただきますようお願いいたします。

コールセンター:0120-503-239

(携帯電話からは 03-5646-7532)

2012年07月07日

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

[email protected]��て、代理で質問箱に記入します。

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

岡三RSSで、ランキングを一定間隔で更新させ、それに合わせて証券コードから、

QUOTE関数を使って現在値など表示させています。

最初のうちは、うまく表示されるのですが、段々と表示されなくなってしまいます。

キャッシュが関係してるのか、よく分かりませんが、途中でキャッシュを削除するような

マクロがありましたら、ご教示をお願いいたします。

2012年10月07日

Tadashi Nagao

岡三RSSで発注ができなくなりました。症状としては、確認画面がでてこなくなりました。カレンダーと時計のガジェットがでてこなくなったので関係あるのかなと思われます。どうしたらいいのでしょうか? 再インストールしてもかわりません。

どうも、画面の表示問題だったようです。ディスプレイが2つになっていました。

2012年12月07日

Ryo Ohno

>どうも、画面の表示問題だったようです。ディスプレイが2つになっていました。

という事は解決されたんですが・・・

なにはともあれ、良かったですね。

マルチディスプレイには対応してないんですかねー

2012年12月07日

Tadashi Nagao

偶然、マルチディスプレイになっていたようです。

2012年12月07日

Ryo Ohno

うちのはモニタ3枚なんですが、普通に動いています。

何が違うんでしょうね・・・(^^;

なにはともあれ、ナイス情報ありがとうございます。

もし同じ状況で引っかかったら、問題解決に難儀しそうな問題だったので(たぶん、気が付かない(^^;)

もしものために事前に知れたのはありがたかったです。

ありがとーございましたっ!!

2012年12月07日

Tadashi Nagao

はい、1枚のモニタしかみていなかったので、おっかけられなかっただけです。

2012年12月07日

Tadashi Nagao

http://www.okasan-online.co.jp/information/2011/0714b/  に、『なお、岡三RSSでは、IF関数等を組み合わせることで特殊注文のロジックを組み立てることが可能なため、特殊注文向けの独自関数を定義しておりません。』とあるのですが、どこかにサンプルはあるでしょうか

2012年12月07日

Ryo Ohno

IFDOやOCOの直接的なサンプルって、なかった気がします。

確かに、作って上げて頂けると、とっつきやすいかもですね・・・

自分もIF関数等を、組み合わせてやってます。

個人で、VBA、セル関数共に、いくつか作ってるのですが、

どのようなのがあるとよいのでしょうか?

もし、自分が作ってるやつの中にあれば、ここに、ベタっと張りますです♪

2012年12月07日

Tadashi Nagao

どんな機能があったらいいかとか考えたいところです。

シート構成としては、建玉、発注(新規)が一覧できるのを作り底から発注できるようにするのがまず第一ですね。

2012年12月07日

Ryo Ohno

自分は、デイトレードでRSSを使っているのですが、

引け時に、似たようなことをやっています。

シートに、今のポジションの一覧が出ていて、その情報を元に、決済の発注をかけると・・・

2012年12月07日

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

Ryo Ohnoさま、いつもご回答いただきありがとうございます。

[email protected]��らの質問を代理で

質問箱に記入させていただきます。よろしくお願いいたします。

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

お世話になっております。

当方、岡三RSSを用いて日経225先物の自動売買を考案中なのですが

自動発注のおいて行き詰まっております。

買シグナル発生に伴い、

FNEWORDER(…)において、10枚の成行買い注文を行った結果

7枚・2枚・1枚と3回にわたって約定した場合、

次の売りシグナル時に10枚まとめて成行売を自動的に行いたいのですが

建玉枝番号の指定等の部分で自動化できない状態です。

当方の理想としましてはエクセル関数で、買いで10枚を数回にわたり約定しても、

売りシグナル発生で、すべて自動に売注文を発生させたいのですが・・・

ぜひ、アドバイスをいただければと思います。

2012年12月07日

Tadashi Nagao

枝番号処理問題ですね。組み合わせでできなこともないようですが、

2013年01月07日

Ryo Ohno

To:岡三オンライン様

いつも思うのですが・・・

岡三オンラインさんの代理投稿されたやつで、

自分が経験したり、分かるようなことがあれば返信したがよいのでしょうか?

(返信すると、質問者にそれは返信される??)

岡三オンラインさんの方でも、その質問者の方にも返答されていると思うので、

いつも反応するべきか悩みます。

>枝番号処理問題ですね。組み合わせでできなこともないようですが、

確かにそのような感じですね。

2013年01月07日

Tadashi Nagao

サポートがどうなっているかは知りたいところですね。来週にでも電話かけてみます。

2013年01月07日

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

Ryo Ohnoさま、いつも当ディスカッションボードにご参加いただきありがとうございます。

>岡三オンラインさんの代理投稿されたやつで、

>自分が経験したり、分かるようなことがあれば返信したがよいのでしょうか?

>(返信すると、質問者にそれは返信される??)

代理投稿しました質問に対して、Ryo Ohnoさまの方で参考情報をお持ちでしたら、

積極的にご返信いただければ幸いです。

[email protected]�ンボードで参考になる情報が

提供されたことをメール返信にてお知らせしております。

どうぞよろしくお願い申しあげます。

2013年01月07日

Ryo Ohno

To:岡三オンライン様

了解しました、ご返答ありがとうございましたっ!!

2013年01月07日

Tadashi Nagao

建玉の返済発注をした場合に、返済の発注番号と建玉番号のヒモ付は、メモ経由でしかできないのでしょうか?

2013年01月07日

Ryo Ohno

>建玉の返済発注をした場合に、返済の発注番号と建玉番号のヒモ付は、メモ経由でしかできないのでしょうか?

たぶん、できないと思います。

昔はメモすらなくて、ヒモ付けが出来なくて、めっちゃ苦労しました。

メモが付いた時にちらっと聞いたんですが『ヒモ付けなどに使ってください』と言われたので、

そんな感じだと思います。

>取引余力をRSSで取得することはできないのでしょうか

取引余力、自分も取りたいです。

建数を制御したくて、自分も昔調べたんですが、

自己の情報に関する情報は取得できないみたいでした。

2013年01月07日

Tadashi Nagao

Ryo さん リプライありがとうございます。少しここで議論続けましょう。関心もって書き込みしてくれる人もでてくるかもしれません。公式の方が、代理書き込みした件ですが、建玉番号なしに、発注ができればこの問題解決するのですが、できないみたいですね。サンプルシートにはできるようなことが書いてあるのですが、先入れ、先出しでの処理にはならないように思えます。

2013年01月07日

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

>建玉の返済発注をした場合に、返済の発注番号と建玉番号のヒモ付は、メモ経由でしかできないのでしょうか?

決済時における発注番号と建玉番号の紐付けですが、Ryo Ohno様のご指摘どおり、当初は当該機能を実装しておらず、ご要望が多かったことから『メモ』経由での紐付けをご用意させていただきました。

>取引余力をRSSで取得することはできないのでしょうか

現在のところ、岡三RSSで取引余力を取得することはできません。

※岡三RSSでの取引余力ご提供に向けた検討を行っております。

2013年01月07日

Tadashi Nagao

取引余力をRSSで取得することはできないのでしょうか

2013年01月07日

Tadashi Nagao

バラバラの建玉を一括返済発注は簡単にできました。オプションのシートにブランクなら先入れ、先だしとか書いてあったのに惑わされていました。限月、オプションの種類、行使価格を指定して発注すればオッケーです。ブランクではなく、Aとかいれればオッケーでした。電話かけたら簡単に教えてくれたのですが、メールでの回答は難しいのでしょうか。

2013年01月07日

Ryo Ohno

To:Tadashi Nagaoさん

おー!!

まぢですかっ!!

これはすごいっ!!

建玉番号だけ入れて、枝番を″A″とか入れると、その建玉番号で別れてしまった、ポジションを一括で返済できるって事ですか・・・

ひとつ勉強になりました。

2013年01月07日

Tadashi Nagao

エクセルのサンプルシートに、ブランクとかかいてるのが。。。 いけませんね。Aは評価損順ですね。今、ロング専門のエクセルシート作成中です。

2013年01月07日

Ryo Ohno

あっ!!

そー言うことですかっ!!

理解しました。ありがとうございましたっ!!

オプションのロング用のシステムですか・・・

自分もオプションでシストレがしたいんですが、いかんせん過去データがなくて・・・

2013年01月07日

Tadashi Nagao

過去データは、取得しています。Ryo さんは、自動売買をオプションではしていないのですか?

2013年01月07日

Ryo Ohno

はい、自分は日経225先物でやってます。

あるところにはあるんですね・・・

225先物のデータは無料でいろいろとあったんですが、オプションは有料の高いのばかりでした。

2013年01月07日

Tadashi Nagao

岡三オンラインRSSで取得できますよ。

2013年01月07日

Ryo Ohno

To:Nagaoさん

情報ありがとうございますっ!!

助かりますっ!!

自分は出来れば、RSSで取得できない10年分ぐらいほしいと思ってます。

オプションて先物と違って行使価格がある上にATMとかもコロコロ変わって、流動性のある行使価格も変わるし、

オプションでシストレされてる方って、どうやってバックテストやられてるんですかね。

やっぱり、格行使価格のデータを限月ごとに全部集めて、

トレードごとに使う限月と行使価格をもとめてバックテストするしかないんだろうか・・・

2013年01月07日

Tsuyoshi Takayama

FIFO LIFO 評価損益の多少による区別 A~Dの指定ですが、確か、途中で仕様変更になって追加になったのだったと思います。

サンプルシートや解説動画へのメンションが追いついていないようで、申し訳ございません。

2013年01月07日

Tadashi Nagao

まともに、シストレやっている人すくないのではないでしょうか?

2013年01月07日

Ryo Ohno

自分の周りに何人かいらっしゃいますが、FXでやられている方がほとんどです。

225だとさらに少なくて、オプションだと知り合いには一人もいらっしゃいません。(^^;

2013年01月07日

Tadashi Nagao

RSSで発注しても、opneworder が反応しないことがあるんですが、なんなんでしょう。エクセル、岡三デスクトップをと落として立ち上げなおしたらうまくいきました。現象再現できないのですが、何か対策あるでしょうか

2013年01月07日

Ryo Ohno

たぶん、NEWORDER系の関数は反応しない状態で、ぱっと思いつくのは、

発注IDが同じになってしまっているか、Excelのセル関数自動計算が利いてない場合だと思います。

自分はVBA内でNEWORDERを使っているのですが、反応しないことは、とりあえず今まではありませんでした。

2013年01月07日

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

[email protected]��らの質問を代理で

質問箱に記入させていただきます。よろしくお願いいたします。

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

毎日使用しているEXCELシートなのですが、

先物オプション取得関数が、たまに不思議な挙動をして悩んでいます。

FOPORDQUERY関数や、FOPPOSITION関数で、注文情報や保有情報が

なぜだか、定期更新で表示されない日があります。

(表示すべき情報があるのに、表示先の1行目以降がすべて空白セルのまま)

そんなときは、

関数の入ったセルをダブルクリックして入力しなおしてやると、

その列の関数については、思い出したように、更新が開始されます。

一度更新されなくなったEXCELシートは、

翌日以降もずっと、ダブルクリックしなおさないと表示されない傾向があります。

(FTICK関数やFCANDLE関数については、つねに問題なく表示されます)

他に、同じ症状でお困りの方はいらっしゃらないでしょうか。

原因や対処法があればご教示を頂きたく、どうぞよろしくお願いいたします。

主な環境:

 Intel Core2 Duo 2.40GHz、2.74GB RAM、Windows XP SP3、EXCEL 2003 SP3

2013年01月07日

Ryo Ohno

To:岡三オンラインさん

>FOPORDQUERY関数や、FOPPOSITION関数で、注文情報や保有情報が

>なぜだか、定期更新で表示されない日があります。

自分もまったく同じ状況に、陥ったことがあり(今でも陥っている。)

FOPORDQUERY関数、FOPPOSITION関数は、

シート起動時に、毎回VBAにてセルに自動で書き直しています。

『ツール』-『オプション』-『計算方法』

で『自動』になっていない可能性もありますが、

不定期になるとのことなので、可能性は低いと思います。

To:Nagaoさん

opneworder が反応しないような時は、岡三デスクトップ入れ替えると直るんですね。

勉強になりました。情報ありがとうございます。

エクセルが落ちるんですか・・・

これまた、厳しい問題ですね。

トレード中に落ちるんでしょうか?

2013年01月07日

Tadashi Nagao

エクセルVBAの勉強が大切ですね。

ところで、Application.ScreenUpdating = False を使うとスピード早くなりますね。

Ryo さん 使っていますよね。画面表示を抑制するだけで、かなりスピード早くなります。

チェックを5秒おきにしようと思っているのですが、可能みたいな気がします。

あとは、更新のタイミングがどうなっているかもしりたいところです。建玉、発注のデータをとってくるようにしているのですが、

どのくらい負荷がかかるのか不明なんで。。。。

2013年01月07日

Ryo Ohno

自分のロジックは、今のところほとんど負荷は掛かっていません。

画面の更新系の処理もないので、画面の描画停止の処理は入れていませんが、

処理が追いつかなくなってきた時は、一番に入れたいと思いますっ!!

情報ありがとうございました。

負荷の件ですが、メッセージ監視やプログラム監視のPGなどを、

別プロセスにしてCPUのコアを有効利用しているというのもありますが、

1秒単位で処理を行って、CoreDuoの古いPCで、2,3%程度です。

岡三RSSの更新タイミングは、

0.5秒ごとに取得データを更新する関数と、2秒ごとに更新する関数があって、

#情報が1つだけ帰ってくるのが0.5秒毎、リストで帰ってくるのが2秒毎だった気がします。

どちらも、前回取得情報との差があった時のみ、セルの更新してて負荷を押さえてたと思います。

2013年01月07日

Tadashi Nagao

自動実行の場合は途中でこけるのの対応が結構やっかいですよね。

2013年01月07日

Ryo Ohno

はい、自分もあの手この手でやってます。

プログラムはまだ何とかなるんですが、回線障害時に復旧させるがけっこう大変です。

2013年01月07日

Tadashi Nagao

岡三RSSって人気どうなんでしょうか? 自動発注できるのは、岡三RSSだけなんでいいと思うのですが、あまりネット上に情報ないような気がします。

2013年02月07日

焼酎

こんにちは。はじめまして。

サンプルシートに関して質問です。

VBA初心者なんですが、PCTimeUpdateをエクセル起動時に自動で実行させて、

その後も定期的にPCTimeをアップデートさせる方法を教えてください。

2013年02月07日

Tsuyoshi Takayama

VBA イベントプロシージャ AUTO_OPEN で検索してみてください。

たぶんヒントがあると思います。

2013年02月07日

焼酎

ありがとうございました。

自動で更新できるようになりました。

あと、また質問で申し訳ないのですが、IF関数で条件を自分で作っています。

条件が合致しても、指定したセルに注文番号がまだ入ってないからか、『訂正可能な注文がありません』というようなエラーが出ます。

条件が合致しても、3秒くらいあとに注文を出すような関数というのはどのように作ればいいのでしょうか?

2013年03月07日

Ryo Ohno

>焼酎さん

初めまして、大野と申します。

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

このIF関数と言われているのは、ワークシート関数のIF関数でしょうか?

『訂正可能な注文がありません』との事ですので、訂正時の問題と思うのですが、

ワークシート関数のみだけだと若干厳しいかもしれません。

発注時の時間をどこかのセルに記述しておかないといけないと思いますので・・・

焼酎さんの内容ですと、

ワークシート関数のみの場合は、IF関数の条件に注文番号も入れてしまうのが一番いいと思います。

=IF(AND(日経平均のセル>10000,注文番号のセル<>″″),RSSの訂正関数)

とすると、日経平均が10000を超えて、注文番号のセルに文字が入った時に、訂正関数が実行されます♪

>長尾さん

自分は、確認ウインドウが表示されないモードで、RSSを動かしてるんですが、

約定後は、すぐに操作出来ていまーすっ!!

2013年03月07日

Tadashi Nagao

Ryo さん 早速ありがとう。

>約定後は、すぐに操作出来ていまーすっ!!

間違い発注ちょっと怖いですね。。。。。

岡三デスクトップ ユーザ・インタフェースが凝っているので、ちょっと重いですね。。。。。

2013年03月07日

焼酎

Ryo Ohno様

レス有難うございます。

注文番号の参照にFOPORDQUERY関数を使ってるので、既にひとつ前の注文番号がセルに入ってます。

よって大変申し訳ないのですが、【注文番号のセル<>″″】の条件式が使えません^^;

言葉足らずで申し訳ございません。

VBAを使ったら時間差発注は可能でしょうか?

2013年03月07日

Ryo Ohno

>焼酎さん

そうですか、使えませんか・・・残念です。(しくしく

注文番号は『建玉番号』でしょうか、それとも『発注ID』でしょうか?

出来れば、VBAを使わずにワークシートだけでできたらいいですね。

もう少し、何かわかればお力になれるかもです。

>VBAを使ったら時間差発注は可能でしょうか?

VBAだったら、なんでもありになります。

自分はワークシート関数はほとんど使っておらず、VBA内で処理をしています。

さて、本題のVBAで時間差の発注に関してですが・・・

APIを使ったり、方法はいくつもあるんですが、一番簡単なのは・・・

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

Dim dataNow As Date

dateNow = Now '今の時間

Do Until Now >= DateAdd(″s″, 3, dateNow) '今の時間から3秒経つまでくるくる回る

DoEvents '岡三RSSを動かすためのおまじない

Loop

Call MsgBox(″3秒後″)

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

これが一番簡単だと思います。

このサンプルは、3秒後に″3秒後″とメッセージボックスが表示されます。

『dateNow = Now』の前に、事前の処理

『Call MsgBox(″3秒後″)』のところに、時間差の発注処理を記述すると、時間差(ここでは3秒後)で動かすことができます。

>長尾さん

>岡三デスクトップ ユーザ・インタフェースが凝っているので、ちょっと重いですね。。。。。

確かにです。(^^;

しかし、かっちょくて、自分は好きなんですが(笑

2013年03月07日

Tadashi Nagao

>DoEvents '岡三RSSを動かすためのおまじない 

え、知らなかった。

2013年03月07日

Ryo Ohno

DoEventsやると、スレッドがCPUを一度離して、OSに制御を一度戻すので

そのスレッドがCPUを占領してしまうような処理の場合、

こやつで、他の処理が安定します。

3秒間ループし続けるので、自処理への影響もないと思いますし・・・

まー

たぶん今回はいらないかもしれませんが、

ちゃんと動くことを検証してないので、

焼酎さんが『3秒間、他の情報が更新されなくなったー』とかなると大変だと思い、

今回、一応先に書いておきました。(笑

2013年03月07日

Tadashi Nagao

Ryo さんは、とてもよい人ですね。

2013年03月07日

Ryo Ohno

いやー

要るか要らないかを検証してないので、逃げただけかも知れません・・・(^^;

2013年03月07日

Tadashi Nagao

DoEvent に関連してですが、エクセルのシートをいじっていると、更新とまったりしますね。

2013年03月07日

焼酎

Ryo Ohno様

レスありがとうございます。

今回の番号は新規指値の注文番号です。

教えていただいたVBAは早速試してみたいと思います!

そもそも、なぜ最近ここでお世話になっているのかと申しますと、発注条件に合致していないのに

発注してしまう誤発注が時々起こるのです(涙

なぜそうなるのか自分なりにいろいろチェックしましたが、どうにもわからなかったので、半ばあきらめて、

誤発注したらすぐにキャンセルしようという方向に切り替えました。

幸いなことに、組んでいる関数が新規成行ではなくて新規指値なので、キャンセルする時間があると思ったのですが、

誤発注したらすぐキャンセルする式を組んだら、注文番号を認識する前にキャンセル発注してしまうような状況になってしまいました。

本来なら、誤発注しなければ一番いいんですけど、なぜ条件が合致していないのにたまに誤発注してしまうんでしょうか?(苦笑

あと別件で、決済逆指値をFREPLACEORDER関数で成行即時決済に変更するときもエラー表示が出て、決済できません。

これは、J-GATEになってから逆指値決済から成行決済への変更はできなくなったんでしたっけ??

2013年03月07日

Ryo Ohno

>焼酎さん

誤発注ですか・・・それは涙目ですね・・・(T-T)

FORDERCANCELされるって事は、誤発注した注文番号ってわかられるんでしょうか?

だったら、IF関数で【注文番号のセル=″注文番号″】てのも難しいですかねー

あと、何とかそもそもの誤発注自体をつぶしたいですね。

もしよかったら、FNEWORDERの実行条件(IF関数など)を教えて頂くって可能でしょうか?

#ストラテジーなどノウハウ的な事はまずいと思いますので、

#単純にこのセルより大きいとか小さいとかでOKです♪

また、決済逆指値と言うのはSOの事でしょうか?

それならば・・・

SO条件達成前ならば、変更できると思います。

SO条件達成後の場合は【取り消し・新規注文】じゃ無いと受け付けなかったと、思いますです。

>長尾さん

まぢですか・・・(^^;

それは危険ですね・・・

システム動かしたら、そのPCは放置してるので気が付きませんでした・・・(^^;

今回もナイス情報ありがとうございますっ!!

2013年03月07日

Tadashi Nagao

関連質問ですが、発注や、約定してからどのくらいたつと、RSSから操作可能になるのでしょうか? まどがでないようにすると、すぐに操作可能なんでしょうか? 確認用のwindow がでていると結構やっかいないようです。

2013年03月07日

Tadashi Nagao

検証まだですが、セルに、データを入れる状態にしていると止まります。

2013年03月07日

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

Yasuyuki Takabatake様

回答が遅くなり大変失礼いたしました。

Quoteでの情報取得上限については、システムリソースとパフォーマンスの観点から

現在は300件に制限させていただいております。

ご指摘のとおり、大阪証券取引所では7月に権利行使価格の刻みを現在の250円から

125円に変更する予定であり、オプション投資を目的に岡三RSSをご利用いただいて

いるお客様からは情報取得件数の拡大へのご要望も頂戴しております。

岡三RSSは、当社でお取引いただくお客様への付加サービスとしてご提供しており

ますが、取得上限件数の引き上げによってサーバ負荷が増加いたしますと、

システム性能の大幅な増強が必要となります。このため、当社でのお取引に応じて

上限件数を拡大するなど対応方法を別途検討させていただきます。

2013年06月07日

Yasuyuki Takabatake

<日経平均オプション権利行使価格刻み変更への対応について>

既にOSEでパブコメ募集が始まっておりますが、近々権利行使価格の刻みが現在の250円から125円へ変更となる運びです。

問題となってきますのが岡三RSS(R社も同様ですが)のQuoteでの情報取得上限300件です。

私の場合ですと、以下条件で;

限月範囲:直近3ヶ月

権利行使価格範囲: ITM方向1000円OTM方向3000円 (250円刻みで16本、125円刻みで32本)

取得情報: 現在値・売/買気配値・売/買気配件数 (都合5件)

250円刻み: 3ヶ月 x 16本 x 5件 x C/P2面 = 480件

125円刻み: 3ヶ月 x 32本 x 5件 x C/P2面 = 960件

上記に加えて先物関連が10件程度加わります。

250円刻みでも300を超えていますが、期近の1円未満を除外するなどの工夫をして何とか300前後に抑制している状況です。ところが125円刻みとなると、これ上記のような姑息な手段でも対応しようがなく、情報取得上限の大幅な拡大なしにはIVスマイルの描画すらおぼつかず、甚だしい支障が生じます。

貴社でのご対応を切にお願いすると共に、現在のご検討状況をご教示願えれば幸甚です。

2013年04月07日

Yasuyuki Takabatake

スレッドが違うのかもと思いましたが、全くお返事が頂けぬまま1か月が経過しました。

このディスカッションボード自体、既に運営を放棄されたものと了解します。

2013年06月07日

Tadashi Nagao

反応たしかにないですね。

2013年06月07日

Ryo Ohno

こんななると残念ですね・・・

2013年06月07日

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

rss_infoに寄せられました質問を代理で質問箱に記入させていただきます。

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

初めまして、こんにちは。

いつもビデオを拝見しております。

早速質問させていただきます。

岡三RSS 第三回のエクセルシートを利用し

約定している注文の決済注文を出そうとしたところ

「建玉番号、もしくは決済順序が指定されていません」

とポップアップが出るため注文が出せません。

ビデオを何度か確認しましたが、

エクセル上のF8やF9等の緑の枠は全て正しく入力しています。

何か理由があるのでしょうか?

解決策をぜひともご教授お願い致します。

2013年06月07日

Nagayasu Otani

エクセルのアドインタブの岡三RSSツールバーが消えてしまいます。

よくある質問にあった

1.Excelの ヘルプ>バージョン情報を参照し、「使用できないアイテム」をクリックします。

でバージョン情報を見てみましたが、使用できないアイテムという項目が出てきません。

Excelは2013を使っています。

よろしくお願いします。

2013年07月07日

Ryo Ohno

Nagayasu Otaniさん

はじめましてー

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

今、手元に2013がないので正確ではないかもしれませんが・・・

Excel2013ではアドインが表示される場所が変わっており、

『ファイル』-『オプション』-『アドイン』に表示されています。

もしかしたら、ここに『使用できないアイテム』があるか、

ここでCOMを登録再登録できるかもです。

おうちに2010があるので、家に帰ったらみてみまっす!!

2013年07月07日

Ryo Ohno

見てみましたー!!

Excel2010ですが、

やはり

『ファイル』-『オプション』-『アドイン』

の中に、『無効なアプリケーションアドイン』

というものがありましたので、たぶんこちらかと思われますっ!!

2013年07月07日

Bang Liu

本日バージョンup(ver.2.0.0.4) され、以下の状況が確認されました。

状況:

(「完全自動発注版」でない) 新しい岡三RSS で、1回の発注金額の上限の設定が必須になった。

上記の上限の設定際に、「発注確認画面が表示されない場合」は、発注金額の条件の設定が必要云々のアラートが

出てきました。

質問:

1、(「完全自動発注版」でない) 新しい岡三RSS で発注確認画面が表示されなくなったのでしょうか?

2、それとも、発注確認画面は表示されるが、上限の設定は必須になったのでしょうか?

3、もしくは、私は「完全自動発注版」も別PCで利用しているのですが、そのようなケースは、すべて発注確認画面

が出なくなるのでしょうか?

2013年09月07日

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

Bang Liu 様

大変遅くなりましたが、いただいた質問に対して下記のとおり回答いたします。

> 1、(「完全自動発注版」でない) 新しい岡三RSS で発注確認画面が表示され

なくなったのでしょうか?

完全自動発注版かどうかに関わらず、発注確認画面は表示されます。(3.の回

答参照)

> 2、それとも、発注確認画面は表示されるが、上限の設定は必須になったので

しょうか?

はい、そうです。

ただし、以下のケースでは発注時に上限のチェックはしません。

・注文確認省略の場合

・先物OPの場合

> 3、もしくは、私は「完全自動発注版」も別PCで利用しているのですが、その

ようなケースは、すべて発注確認画面が出なくなるのでしょうか?

発注確認画面を出すかどうかは、注文関数の引数と完全自動発注かどうか両方

チェックして決定します。

引数に注文確認省略を設定し、かつ、完全自動発注を申し込んでいる場合のみ、

確認画面が出なくなります。

これらの仕様は旧RSSから変更しておりません。

2014年09月07日

Ryo Ohno

岡三オンライン証券、RSS担当者様

8/18にリリースされる先物の新取引機能のRSS対応について質問です。

8/18に新取引システムが稼動するとのことですが、

岡三RSSもすべて対応すると思っていて、よいのでしょうか?

特に以下の機能が気になっています。

・オートネッティング注文

・一括返済

・ポートフォリオ

RSSのバージョンアップに続いて、

痒いところに手が届いたようなバージョンアップのため、ものすごく期待しています。

RSSでも動作すると、めちゃめちゃありがたいですっ!!

また、以下の2点につきまして、詳しく教えて頂けると幸いです。

○オートネッティング注文

 寄り付き前に、売り買いの注文が両方出た場合、相殺し注文を行うという動きは可能でしょうか?

 例)

  買い・・・3枚

  売り・・・2枚

  寄付き時に、買い1枚で発注を行う。

○一括返済

 ポートフォリオ機能が付くとのことですが

 ポートフォリオ単位の一括返済というのは可能なのでしょうか?

2013年10月07日

Tadashi Nagao

余力情報は、RSSではとれないのでしょうか

2014年07月07日

Ryo Ohno

それ、自分も調べたんですが、どうやら取れないみたいでした。

RSSの画面からは見れるんですが、Excel側で取るやつは今のところないみたいです。

取れると、投入するロットを増やすかどうかの判断に使えるんですけどね・・・

2014年07月07日

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

[email protected]��らの質問を代理で

質問箱に記入させていただきます。よろしくお願いいたします。

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

RSSについて質問です。

FOPPOSITION関数で現在保有している先物の一覧を表示できます。

これをC2より下に銘柄名、D2より下に建玉単価、E2より下に売買区分、F2より下に

メモのように一覧を表示させます。

A2以下には、IF関数を使って、ある条件(時間やその時の価格など)に至った時に、

その行の建玉の決済注文を行うようにします。

質問①

たとえば、B列に″9″を入力すると、その時点でその行の建玉を強制決済するIF関数

をA列に配置したとします。

2行目から4行目まで3つの建玉があった場合で、2行目の建玉だけを強制決済さ

せようとB2セルに9を入力すると次のようになってしまいます。

1) 2行目の建玉が強制決済される

2) FOPPOSITION関数が自動更新され、3行目にあった建玉が2行目に、4行目

にあった建玉が3行目に記載される

3) 元3行目の建玉がB2セルの9により強制決済される

4) これを繰り返し、全部強制決済されてしまう

建玉番号を、新規注文のときに特定できれば対応の方法はあるのですが、実際に新

規約定してみないと建玉番号は分からないので事前コントロールができません

行をずらさない方法、ずれても対応できる方法をご教授ください。

質問②

①の現象と同様によるものかどうかは分かりませんが、次の場合に問題があります。

新規発注時に、メモ欄に決済予定価格を予め記入しておくとします。

そしてA列には、メモ欄(F列)に記載されている価格に到達したら成行き注文を出

すIF関数をセットしておきます。

2つの買建玉があった場合で、2行目は15100円になれば自動注文、3行目は

15200円になれば自動注文するようにメモ欄に記入したとします。

15090円から15100円に上った瞬間に、2行目は決済されます。

その後、3行目は2行目に繰り上がり、それまではA3セルのIF関数注文の監視対象

だったのが、A2セルのIF関数注文の監視対象に移ります。

この時、セルの更新にタイムラグがあるためかどうかはわかりませんが、

2行目に繰り上がった3行目の建玉は15200円になるまで決済されないはずな

のにF2列に未更新のまま残ってた15100の情報を拾ってしまい、15100円で

決済されてしまいます。

こういうことが起こらないようにするにはどうしたらいいでしょうか。

ちなみに、注文IDは時間で逐一変動するようにしております(数秒待てば何度でも

発注ができる)

質問③

こうした現象のデバック作業のために、仮想注文をしたいのですがそのような機能

は無いのでしょうか。

実売買で確認すると、どうしても実際のお金を損してしまいます。

よろしくお願いします。

2014年09月07日

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

質問③について回答いたします。

誠に申し訳ございませんが、岡三RSSではデモ環境をご提供しておりません。

ご理解いただいたうえで、ご利用いただきますようお願いいたします。

岡三オンライン証券株式会社

2014年09月07日

Ryo Ohno

代理投稿分

>質問①

>たとえば、B列に″9″を入力すると、その時点でその行の建玉を強制決済するIF関数

>をA列に配置したとします。

VBAだと簡単なのですが、確かにセル関数だけでやられる場合は、難しいと思います。

スマートな方法ではないですが、以下のようにしたらいかがでしょうか?

A列の決済用のIFの条件を、B列に″9″と入力された場合ではなく、

『B列とC列(建玉番号)が同じ場合に決済する』として、

B列に″9″と入れられるのではなく、建玉番号を入れられるというのはいかがでしょうか?

そうすると、決済され、列が移動しても他の建玉が決済されることはないと思います。

また、もし、列の順序を入れ替えることができるならば

A列・・・建玉番号

B列・・・決済したいときに入れる行

C列・・・決済用のIF文

とすると、

B列に建玉を入れたいときは、入力する必要はなく

『Ctrl + R』

を押す事により、A列の建玉番号をコピーすることができるので、数字の″9″を入れられるような感覚で

運用できると思います。

>質問②

こちらは、一発で更新が行なわれず、1セルずつ更新が行なわれるために、

データの書き換え時のちょっとした差分で、発生していると思われます。

これもVBAだと簡単にできるのですが、

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

FOPPOSITIONで表示されているメモ欄のデータの件数がポジション数と同じこと

(メモ欄の件数と、一番左のセル(建玉??)の件数)を、

IF文の条件に入れたら、回避できると思います。

未検証ですが・・・

2014年09月07日

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

Ryo Ohno様

お忙しいなかご回答いただきましてありがとうございました。

今後ともよろしくお願い申し上げます。

岡三オンライン証券

2014年09月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日

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



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

先物・オプション取引システムでご提供している下記機能および情報取得関数につきまして、

岡三RSSでの対応状況および今後の対応予定をお知らせいたします。

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

1.余力情報

岡三RSSでは、現在のところ余力情報の関数をご用意しておりませんが、

余力情報を取得できる関数追加に向けた調査を開始いたします。

なお、余力情報については、システム負荷の観点から手動更新(リクエストベース)

方式でのご提供を検討いたします。

2.一括返済

岡三RSSでは、現在のところ全決済注文をご用意しておりませんが、

追加機能の候補として、全決済注文の導入に向けた調査を開始いたします。

なお、現在のところ、ポートフォリオ単位での一括返済機能のご提供は予定して

おりませんのでご了承ください。

3.オートネッティング注文

岡三RSSでは、オートネッティング注文をご用意しておりません。

誠に申し訳ございませんが、現在のところ岡三RSSでのご提供予定はございません。

4.ポートフォリオ

岡三RSSでは、ポートフォリオ機能をご用意しておりません。

誠に申し訳ございませんが、現在のところ岡三RSSでのご提供予定はございません。

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

なお、現在のところご提供の予定がない機能につきましても、お客さまからの貴重なご意見・

ご要望として承り、今後の機能追加検討の参考材料とさせていただきます。

今後とも岡三オンライン証券をよろしくお願いいたします。

2014年09月07日

Ryo Ohno

岡三オンライン様

質問のご回答ありがとうございました。

一括決済など、ご考慮頂き、ありがとうございます。

また、代理の①、②は何かコメントをしたがよいのでしょうか?

③だけが回答が書いてあって、①②が回答が無かったので・・・

2014年09月07日

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

Ohno様

いつも貴重なご意見を賜りまして、誠にありがとうございます。

岡三RSSをご利用いただいているお客様同士で、質問やそれに対する回答などを

行っていただける場として、こちらのディスカッションボードをご用意しております。

実際に岡三RSSをご活用いただいております、Ohno様のご回答いただける範囲で

結構ですので、他のお客様からの質問にご回答いただければ幸いです。

また岡三RSSでの新機能や関数の追加など、ご要望に対してすべてに対応できる

訳ではございませんが、Ohno様からいただきました貴重なご意見は開発メンバーも

拝見させていただいており、開発テーマ検討の際の材料とさせていただいております。

今後ともよろしくお願い申しあげます。

2014年09月07日

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

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

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

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

2014年09月07日

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

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

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

発注に失敗すると、エラーダイアログが画面右下に出てきます。

「値がありません」「○○が不正です」など

しかしこれらのダイアログは、自動で消えてしまい、

しかもログが残らないので、後で検証することができません。

発注エラーのログを入手することはできませんでしょうか。

2014年09月07日

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日

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日

岡三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日

岡三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日

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日

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

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

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

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

「活用術のサンプルシート「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

大貫様

 

″#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日

Hitoshi Nakamura

大野さん

こんばんわ。

メインシーケンス自体のタイマーはWINAPIかなにかで呼び出しているのでしょうか?

以前岡三RSSのFAQに、

例)Application.OnTime Now() + TimeValue(″00:00:05″), ″自己参照″

みたいな例があったので使ってみたのですが、上記命令を記述したマクロが走っている間はやはりRSSは動きませんでした。何か私の勘違いだったのでしょうか?

ご教示くだされば幸いです。

2015年01月07日

Ryo Ohno

すみません、2つのことをまとめて書いてしまいました。

わかり辛くなってすみません。

まずメインのシーケンスの件ですが、

タイマーはWinAPIではなく、

Nakamuraさんがおっしゃられている、VBAのOnTimeを使用しています。

自分のやり方としては、メインのシーケンスをループなどで、ずっと動かし続けるのではなく、

1つの関数のような使い方をして、それを1秒間隔で繰り返して動かしています。

動きとしては基本、RSSが動き続けていて、1秒間隔で発注や損切りなどの処理が入った、

メインシーケンスが間に割り込むって感じでしょうか・・・

また、マクロが走っている間は、RSSは動作しませんが、

時間が掛かってしまうマクロ内で、DoEventsを使うと、

マクロ実行中でも、RSSが動けるようになり、データの取得ができます。

自分のやり方としては、これら2つをあわせて・・・

1.データを見て、新規建てや損切りの発注を行なうシーケンス(マクロ)を作成

2.このシーケンスをOnTimeで1秒間隔で呼び出す

3.シーケンス内で、ポジションなど情報を更新したい場合、DoEventsで、RSSが動けるようにして、情報を更新してもらう

イメージでいいますと

9:00:00.000・・・メインのシーケンス実行 (0.1秒で処理が終わるとします)

9:00:00.100・・・RSS実行

9:00:00.200・・・RSS実行

9:00:00.300・・・RSS実行

9:00:00.400・・・RSS実行

9:00:00.500・・・RSS実行







9:00:01.000・・・メインのシーケンス実行 (必要だったらここの内部でもDoEventsでRSSを動かす)

9:00:01.100・・・RSS実行

9:00:01.200・・・RSS実行

文字だけでお伝えできるかどうか不安ですが、お伝えできると幸いです。

2015年01月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

解決方法ですが、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日

Hitoshi Nakamura

大野さん

ありがとうございます。

Application.OnTime関数では処理がVBAからOSに戻ると考えてよろしいということですね。

そしてシーケンス(マクロ)の最後で同じシーケンス(マクロ名)を呼び出しながら繰り返してゆくという感じでしょうか。?

 あつかましいのですが、場中では取引があった時刻と値しか表示されずローソクが時系列ではありません。これを時系列に直す良い方法は無いでしょうか?もしご存知でしたらご教示いただきたく。よろしくお願いいたします。

2015年01月07日

Ryo Ohno

Nakamuraさん

>Application.OnTime関数では処理がVBAからOSに戻ると考えてよろしいということですね。

Application.OnTime関数は、シーケンスの再実行を行なっているだけの関数になりますので、

OnTime関数を使用したので、OSに処理が戻るというより、シーケンスが終わったので、戻ったという感じででしょうか

シーケンス実行中にOSが他のことを処理できるようにするためのものがDoEvents関数となります。

>そしてシーケンス(マクロ)の最後で同じシーケンス(マクロ名)を呼び出しながら繰り返してゆくという感じでしょうか。?

はいっ!!

Nakamuraさんの言われるとおりですっ!!

メインシーケンスの最後で、自分自身を、1秒後に呼び出すようなOnTimeを書いておくと、

1秒後などに自身のシーケンスがもう一度動きます。

そして、その1秒間はRSSが情報の更新をし続けます。

>場中では取引があった時刻と値しか表示されずローソクが時系列ではありません。

>これを時系列に直す良い方法は無いでしょうか?

こちらは、例えば、1分足のCANDLE関数で、その1分間に取引がなかった場合、

そのCANDLEの戻り値がないって話になりますでしょうか?

例)

9:15の1分間に取引がなかった場合

時間:始値:高値:安値:終値

9:13:17000:17100:16900:17000

9:14:17000:17100:16900:17000

9:16:17000:17100:16900:17000

9:17:17000:17100:16900:17000

2015年01月07日

Hitoshi Nakamura

大野さん

よく分かりました。ありがとうございます。

>そして、その1秒間はRSSが情報の更新をし続けます→再度動作を確認してみます。

ただし一回ごとに1クール前に読み込むなどしたメモリーは開放されてしまうので、必要な情報(フラグなど)はエクセルのどこかに書き出しておく必要があるのと、RSSの発注や取り消しに関わるタイミングをうまく取ってゆく必要はありそうですね。

 ローソクの件はご認識のとおりです。

間を補完すれば良い事はわかっているのですが、あまりシステムに負担をかけたくない(正直アルゴリズムを組むのが面倒くさい)ので上記の大野様の例でご説明するなら、

9:13:17000:17100:16900:17100

9:14:17000:17200:16900:17200

9:15:17000:17200:16900:17200←このように取引の無かった9:15分のデータを9:14分の値で補完してほしい

9:16:17000:17200:16900:17100

9:17:17000:17200:16900:17000

と希望しております。ローソク関数は場が終わった後は時系列で場中は1分足のティックという形で動きます。統一していただくべきではないかと思っております。

まずは御礼まで。

2015年01月07日

Ryo Ohno

伝わりましたか・・・よかったです♪

 

>ただし一回ごとに1クール前に読み込むなどしたメモリーは開放されてしまうので、必要な情報(フラグなど)はエクセルのどこかに書き出しておく必要があるのと、RSSの発注や取り消しに関わるタイミングをうまく取ってゆく必要はありそうですね。

 

メモリはGeneralで変数で宣言するか、staticで宣言すると、マクロが終わっても内容が保持され続け

次に、シーケンスが動いた時に、内容が参照できるようになります。

ファイルがアップできないので、文字だけになりますが・・・

 

・Generalで変数宣言

一番上のOption Explicitと一番先頭に作成したマクロとの間が、Generalになりますので、ここで変数を宣言すると

マクロが終了しても変数の中身が保持され続け、また他のマクロでもその変数の中身が参照できます

 

・staticで宣言

Dimで変数宣言するのではなく、

『Static isNewOrder As Boolean』

のような感じで、Staticで宣言すると、マクロが終了しても変数の中身が保持され、

再度同じマクロが実行されたときに、前回の変数の中身が参照できます

 

 

CANDLE関数の件ですが、本数指定ではなく、期間指定で取得を行うと、取引が無い足も作成されるようになります。

 

株式

=CANDLE(″6701″,″東証″,″1″,″1″,″出来高″,M2,″D″,″0″)

 

先物

=FCANDLE(″N225″,″0″,″1″,″1″,″出来高″,F2,″D″,″0″)

 

しかし、この時、取引のない足は前足の終値で作成されますので、Nakamuraさんの求められることとは

少し異なってしまいますが、もし問題なければ・・・

9:13:17000:17100:16900:17100

9:14:17000:17200:16900:17200

9:15:17200:17200:17200:17200←このように9:14の終値で作成されます

9:16:17000:17200:16900:17100

9:17:17000:17200:16900:17000

2015年01月07日

Hitoshi Nakamura

大野さん

お世話になります。

>メモリはGeneralで変数で宣言するか、staticで宣言すると、マクロが終わっても内容が保持され続け、

→確かにその手がありました(恥ずかしー)、画面を読みに行く時間が節約されますね。

>CANDLE関数の件ですが、本数指定ではなく、期間指定で取得を行うと、取引が無い足も作成されるようになります、

→私の場合も本数指定は0で1日分のローソク足を取得するように設定されていますが、やはり場中では取引があったときのみが値が表示されます。この点は何度か岡三に電話をかけSさんという方に聞いたのですが、場中では取引のあった場合のみ表示されるとの見解でしたので仕様変更を望みつつもあきらめていました。再度上記例示

=CANDLE(″6701″,″東証″,″1″,″1″,″出来高″,M2,″D″,″0″)

で場中であっても前足での補完が行われるかどうか試してみたいと思います。

まずは御礼まで。

2015年01月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日

Ryo Ohno

こんばんは、大野です。

自分のところでは、出来高が0の時のデータも取得できているのですが、

もしや自分がNakamuraさんのご質問をできてないのでしょうか・・・

例えば・・・

上記の『=CANDLE(″6701″,″東証″,″1″,″1″,″出来高″,M2,″D″,″0″)』ですと、

 

2014/11/21 14:34

2014/11/21 14:31

2014/11/21 14:29

 

が1分足で出来高が0ですので、この足が取れたらよいのかな・・・

と思ったのですが・・・

2015年01月07日

Hitoshi Nakamura

大野さん

ありがとうございます。

○ローソク足にて場が引けた後では問題なく1分足での時系列データが得られるのですが、場中ではなぜか取引が成り立った時点に限り時間と値が表示されるのです(要は分足ティックですね)。エクセルを再起動すれば1分足の時系列データが表示されます。よって本現象は場中でのみ観察されるもののようです。私の勘違いかもしれませんが岡三証券のSさんがそういう仕様であると電話で言っておられました。

○他方当方ではやや深刻な問題が起こっておりまして、WIN2007、エクセル2013にて岡三RSSの関数を含むワークシートが立ち上がる際「値を更新しますか?」という質問が出ます。「更新する」を選択するとQUOTEで取得している関数が全て#VALUEになります。CANDLEは影響を受けません。参照先を再度設定しなおしてもこの現象はなくなりません。「更新しない」を選択しても同様です。何かセキュリティー上の設定が絡んでいるようなのですが、お心当たりございませんでしょうか?

 ご教示いただければ幸いです。

2015年01月07日

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

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

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

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

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

エラーコード:1701

2016年02月07日

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

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

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

>エラーコード:1701

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

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

2016年02月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日

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

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

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

以下のような単純なシステムをRSSを利用して運用したいとと思っています。

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

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

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

ぜひご教示ください。

2015年01月07日

Hitoshi Nakamura

最近過去成立していたスイング系のストラテジが役に立たなくなってきまして、デイトレに移行しようと考えていました。自分はサラリーマンですので自分で見張っているわけにはゆきません。そこで岡三RSSを使ってデイトレ用完全自動売買システムを構築しようと考えました。ようやく何とか形になりまして、現在小額の資金にてシステムの堅牢性を評価している段階です。当初は同じ銘柄を10回も発注されてしまって翌日大損とか開発にはつき物の犠牲も払いましたが、今は無難に完全自動で売り買いをしてくれています。すこし岡三RSSについての感想を書いてみたいと思います。 岡三RSSは言うまでも無く自動発注にまで対応した画期的なデータ取得・発注システムだと思います。ただしRSS自体がVBAマクロとして動作するため、ほかのマクロ起動中(例えば利益判定&返済売買マクロ)起動中はRSSが停まってしまいます。RSSを停めっぱなしにしては意味がありませんので短い割り込みプログラムをいくつも組み合わせる必要が出てくることになります。ゲームのようなプログラムを作るようなわけにはゆきません。通常のプログラムにあるシーケンスという概念が成立し得ないからです。つまりメインプログラムの無い完全離散系プログラムシステムを構築すると言うことになります。メインプログラムの存在しない割り込みばかりのプログラムは例えば車を制御しているシステムがこれにあたるわけですが、プログラム自体は同時並行で走らすことが出来ます。しかしRSSではこれが出来ません。プログラムの分野ではありえない条件で動きを成立させる必要がありました。1分以下の高速動作をさせることや取り扱い銘柄を増やすには限界があると思っています。エクセルVBAベースのRSSというものの性質上無理なのかもしれませんがRSSとVBAが独立して動くようになっているとストラテジに対する自由度やプログラムの自由度が飛躍的に向上すると思います。岡三API(自動発注機能つき)みたいなものがあれば最高だと思います。

2015年01月07日

Ryo Ohno

Nakamuraさん始めましてっ!!

確かに、VBAとRSSが簡単に平行で動くとやりやすいですよね・・・

自分は、Nakamuraさんのアプローチとは逆にメインのシーケンスを1つだけ用意し、

発注などの全ての処理は、その中で行い、

そのメインのシーケンスを、タイマーで繰り返し呼ぶという流れで、1秒単位の処理を行なっています。

※メインシーケンスは、毎回終了し、そのシーケンス自体が何度も何度も呼ばれるという形です。

また、シーケンス内で、どうしてもRSSの更新情報が欲しいときは、

DoEventsなどを使用すると、一旦OSに処理が戻るので、データが再取得出来たりします。

ご参考になれば幸いです。

岡三API・・・

あると確かに最高ですね。いや欲しいです。

CANDLEなどの情報取得関数がVBAで動くとたまらないです。

2015年01月07日

Hitoshi Nakamura

デイトレ完全自動プログラム構築中です。

基本1分足を利用していますのでデイトレの銘柄を見つける際のバックテストにはローソク足の1分値を使っています。デイトレ自体も1分足で動くように設定しているのですが、場中のローソクって完全に時系列に並んではいなくて、取引があったときだけ時刻と値がつくようになっています。つまりバックテストの条件と実取引の時系列条件が食い違ってしまいます。場中はローソクというよりも分足ティックと呼んだほうがいいような気がします。エクセルを立ち上げなおせば可能なのは知っていますが、ティック関数は別に存在するので、場中であってもローソクは時系列で表示してほしいと考えています。このあたり改善は無理なのでしょうか?

2015年01月07日

Yixiang Gu

大野様

OFFICEは2013です。

商品は先物です。

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

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

2016年04月07日

Hitoshi Nakamura

大野様

ナカムラです。

上記問題ですが、複数のパソコンで発生しました。仕様はWIN7 EXCEL2013です。

マニュアルに従い一度岡三RSSを再インストールしてもQuote関数で値を取得しているセルに#VALUEと表示されます。

XPと2003の組み合わせでは何とか動くようです。WIN7の32ビットと2003の組み合わせで使用すると、Candol関数はインストールできません、Quote関数はインストールできませんというエラーが果てしなく出ます。

とりあえずQUOTE関数が#VALUEになったままという状態をどうにかしたいのですが、お知恵を拝借できないでしょうか?

*取引はしばらくXP、2003でやってみます。

2015年01月07日

Ryo Ohno

ナカムラさん

そうなんですか・・・

確かに、現物株のCANDLE関数は場がしまってから、動作を確かめました・・・

先物のFCANDLE関数は、夜間取引中でしたが、普通に更新が掛かってたような・・・

もう少し調べてみます & Excelを再起動されたら取れるとのことですので、何か回避策がないか自分も考えてみます。

というか、この仕様は確かに厳しいですね・・・

また『値を更新しますか?』の件ですが、こちらはリンクの更新のメッセージの件でしょうか?

QUOTEが#VALUEになるとのことですが、

#VALUEが出るセルのQUOTE関数の前に、岡三RSSのパスが表示されていたりする場合があり、

その場合に、このメッセージが出力されます。

64bitOSと32bitOSで岡三RSSのインストール先が異なるため、

64bitOSで作成したファイルを、32bitに移動したり、逆に32bitOSで作成したファイルを64bitに移動したりすると、

岡三RSSのプログラムを見つけきれなくて、このメッセージが出ます。

この時は、Quote関数などの前についているパスを消すと、正常に動作します。

2015年01月07日

小林信弘

はじめまして。岡三RSS初心者の信弘です。

自動売買プログラムの作成を目指しておりますが。初歩の段階でつまずいております。情報も少なくなかなか思うように進捗しません。

信用買いの自動発注まではクリアできたのですが、注文取消しがVBAで動作しません。

取消注文 = ORDERCANCEL(取消ID, 0, PASS, 取消番号, ″0″)

日本株注文確認のダイアローグがポップアップして、その後キャンセルの注文をすると

入力した内容に誤りがあります。ご確認の上、再度お試しください。

[201]:1701

と表示されます。そしてそれ以来、取り消し注文しても、ポップアップすら表示しなくなります。

以後の動作で、取消注文=″注文完了″となっておりますが、実際は注文は取り消されません。

また、パスワードについては、同じ変数で信用買い注文ができているので間違いないです。

何が、原因で注文できないのかわかる範囲で教えていただけると幸いです。

初歩的な質問で申し訳にですが、よろしくお願いいたします。

2015年01月07日

小林信弘

上の質問ですが、自己解決しました。第3引数を省略可能と理解していたのが原因です。

今後も、初歩的な質問をさせていただきますが、よろしくお願いします。

2015年01月07日

Hironobu Handa

はじめまして、半田と申します

自動売買で225先物のシンプルな寄り引けトレードを行っております。

ミニ先物を取引しているのですが、寄り付き前にエントリーするのですが、

ほとんどの場合でスリッページが発生します。

5円から20円の範囲で発生します。

成り行き注文や最大指し値で入れてみていますが、スリッページをなくすことはできないでしょうか?

朝は8時30分に注文が通るようにしています。

2015年01月07日

Ryo Ohno

半田さん

はじめまして、大野と申します。

これは、寄り成りで発注しているのに、寄り付きの価格から、滑るということでしょうか?

自分も225先物で寄り引けのトレードがほとんどなのですが、今まで、一度もスリップしたことがありません。

プレオープニングですので、執行条件を13:成行(FAK)か0:最大指値でいける気がします。

もしよかったら、FNEWORDERの記述を教えていただけますと幸いです。

2015年01月07日

Hironobu Handa

大野さん、早速のご返事ありがとうございます。半田です。

よろしくお願いします。

fneworderの記述ですが、

=IF(C2*C3<>0,fneworder(C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27),″Locked″)

といった形です。C2は独自ロック、C3は時間ロックで8:30になればロック解除にしています。

引数設定ですが

第1引数 先物コード N225mini

第2引数 限月 201412

第3引数 取引種類 1

第4引数 建玉番号 (ブランク)

第5引数 建玉枝番号 (ブランク)

第6引数 売買区分 3

第7引数 執行条件 13

第8引数 単価 0

第9引数 数量 5

第10引数 注文確認 1

第11引数 完了メッセージ 1

第12引数 注文画面 1

第13引数 パスワード *****

第14引数 発注ID 41977yori

第15引数 有効期間区分 1

第16引数 メモ 41977yori

第17引数 発注条件 (ブランク)

第18引数 発注単価 (ブランク) 

といった形です。執行条件は13成行と、0最大指値の両方を試してみたのですが・・・・

8:30には注文が通っているのですがどうもうまくいかないようです。

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

2015年01月07日

Ryo Ohno

こんにちは、大野です。

情報ありがとうございます。

自分も同じような条件でやっていますので、イケそうな気がしました。

225先物がJ-Gateに移行してから、現物とは板寄せ方式が変わっているので、

確かに、滑る可能性はあるとは思うのですが、

J-Gateになってから3年間、自分は今まで、一度も滑ったことがありません。

一応ですが、問題がなければ、発注時間をもう少し早めの時間に変更されて、

様子を観るというのは如何でしょうか?

関係がありそうな部分の自分の条件も書いておきますっ!!

何かのご参考になれば幸いです。

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

発注時間:8:02

執行条件:0(最大指値)

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

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

13は確か、成行き(FAK)ですので、プレオープニングで、板寄せの対象からもれたときって、

発注が失効しそうな気がしたんですが、板に乗るんですね・・・

初めてしりました。

2015年01月07日

Hironobu Handa

半田です。

発注時間と執行条件を変更して試してみました。

その他の条件は同じとして。

12月8日 225MINI 寄付き売りトレード、寄付きは18000

発注時間 執行条件 約定値

8:02  13  18010

8:30  13  18000

8:30  13  18010

8:02  0   18000

8:15  0   18010

8:30  0   18005

8:30  0   18010

8:30  0   18000

かなりばらついてしまいます。上に滑っているので結果オーライですが。

これで見ると、発注時間 8:02 で条件を 0 が寄付値に近いのではと思いますので

もう少し様子を見たいと思います。

2015年01月07日

Ryo Ohno

不思議です・・・

最大指値が、寄り付きと同じ価格で約定しているのに、

同じ時間に発注した、成行きが約定していないとか・・・

中でも、以下のこれが一番不思議です。

8:02  13  18010

8:30  13  18000

同じ成行きで、8:30の発注がプレオープニングでマッチングしているなら、

通常は時間が早い8:02のも必ずマッチングしていると思うのですが・・・

どうにもプレオープニングで、大証まで発注が飛んでない気がします。

大証のプレオープニングのマッチングの対象に成行きで乗っているなら、

時間が早いほうが滑ったり約定しななんてことはないと思われます。

しかし、大証まで注文が飛ばないなんてことがあるんだろうか・・・

何が起こってるんでしょうか・・・

めっちゃ気になります。

2015年01月07日

Hironobu Handa

本日のナイトの寄り付きエントリーです

12月8日 225MINI ナイトセッション 寄付き買いトレード、寄付きは17970

発注時間 執行条件 約定値

16:17  13  17975

16:17  0   17975

16:28  13  17975

16:28  0   17975

すべてのパターンで5円滑っています。

注文が流れた時のポップアップが出ますし、ブラウザーの画面にも注文が反映されているのですが・・・

滑る場合の方が多いので、システムトレードでは影響が大きいですね。

2015年02月07日

Ryo Ohno

昨日は、自分もイブニングの225miniを寄り成りでエントリしたんですが、

ずれなく、17,970で約定しました。

発注時間は16:17だったと思います。

ポップアップもでていて、ブラウザに注文が出てるなら、確実に発注はできてますね・・・

寄り付きと、引けは、滑らないことが一番のメリットだと思うのですが、やっかいですね・・・

んー

J-Gateがらみでネットで調べてもでてこないし、ホントになんなんでしょうか・・・

2015年02月07日

Hironobu Handa

寄り付きスリッページの件ですが、12日朝 3月限 寄り買い

寄り付き値17280

ざっと書くと

17285

17300

17310

17315

17300

17305

17315

17315

17315

それぞれ別のパソコンでRSSを稼働させた状況です。

寄りついてから市場に注文が出ている感じです。

315円とかひどすぎると思います。

こんど、一部はブラウザーから手動で注文を出してみて試そうと思います。

2015年02月07日

Ryo Ohno

半田さん

すみません、なんでかお知らせに上がってきませんでした。

遅くなりました。

ちなみに、自分の3月限の寄付きの発注ですが、

今までイブニングとTopix先物も合わせて、15回発注を行っていますが、

一度も滑りませんでした。

やはり、大証まで発注されていない感じですね。

2015年02月07日

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

お客さまからメールで来た質問を代理で投稿させていただきます。

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

岡三RSSを使って下記のような注文はできますか?

終値 1000円

翌日始値が 990円以下ならで寄付買い

翌日始値が 991円以上なら終日985円で指値買い

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

2015年06月07日

Hironobu Handa

豊田さんの質問に対してですが、大野さんが書かれているように、第2引数で限月を直接入力せずに

期近にすればいいと思います。

第2引数

0:期近

をいれればつなぎ足になります

2015年08月07日

Koji Toyoda

初めまして、現在岡三RSSを勉強中の豊田です。

FCANDLE関数(FCANDLE_Mも)で過去の日足のデータを取得したところ、一部おかしい状況になりました。

私だけでしょうか?

1.取得期間を36ヶ月(仕様上の最大値)を指定してるのに、1年3か月分くらいしか取れない。例えば今日(2015/6/22)では2014/3/14より古いデータが出ない。

2.出来高の数値が直近10日分くらいしか正しくない。例えば今日(2015/6/22)では2014/6/11より古いデータの数字がおかしい。これは岡三ネットトレーダーWEBと比べてそう判断しています。

3.4本値(始高安終値)が一部若干違う。1Tickくらいの違いなので実質的にあまり問題ないのですが、少し気持ち悪い。これは岡三ネットトレーダーWEBと比べてそう判断しています。

実際に使ってるパラメータ

=FCANDLE_M($C$1,$C$2,$C$3,$E$1,G10,G11,$C$4,$E$2)

C1=N225mini

C2=201509

C3=B

E1=36

G10=取引日付/始値/高値/安値/終値/出来高

G11=表示開始する場所

C4=D

E2=0

もしかしたら私の使い方が悪いのかもしれません。何かアドバイス頂けたらと思います。

2015年08月07日

Ryo Ohno

豊田さん、初めまして、

大野と申します。

 

 

すみません・・・

家に帰って検証してから返信しようと思っていて完全に忘れてしました。(^^;

 

 

データが微妙にずれたり、取れなかったりするとのことですが、

FCANDLEを使われているとのことですので、225先物だと思われまっす。

 

先物は、限月の違いにより同じminiでも複数の限月の取引があるのですが

ほとんど、期近、期先に取引が集中します。

#今でいうと、2020/6の取引はほぼない

 

また、現在、実質的な期近のデータである(2015/9)のデータも、

2015/6にならないと、ほとんど取引が無い状態です。

 

 

このように、期近にならないと極端に出来高が少ないため、

そもそも丸一日取引がなく4本値がなかったり、あっても極端に価格がずれてる場合があります。

 

このため、長いスパンのデータを使用する場合は

出来高が多く価格が正常な期近のデータをつなぎ合わせた、つなぎ足というものを使用します。

 

FCANDLEは確か、つなぎ足ではなくその限月のデータを返してきたと思います(間違っている可能性大)

 

また、岡三RSSにもIDXCANDLEという関数もあり、こちらはつなぎ足のデータを返してきます。

 

 

もしかすると、ネットトレーダWEBはつなぎ足のデータを返し、

FCANDLEは限月のデータを返すため、若干価格に差が出てるのではないかなーと思います。

 

 

も もメジャーSQ日であるため、もしかすると可能性があるかもでっす!!

家に帰って、動かしてまた返信しますが、とり急ぎ返信までに・・・

2015年08月07日

Koji Toyoda

大野様、半田様

とてもよくわかりました。

確かに自分は「限月を直接入力」して「つなぎ足指定」はしてなかった、です。

たぶんこれで行けそうな気がします。

本日はシステムメンテ中みたいなんで、また後ほど試してみます。

誠にありがとうございます。

2015年08月07日

Koji Toyoda

試してみました。

•IDXCANDLEは日経平均株価(先物ではない)の日足を36ヶ月まで表示できました。

•FCANDLE_Mで第二引数を”0:期近”を指定した場合は、つなぎ足にはならず、期近だけのデータのようです(今だったら15年7月、9月ではない)

•岡三ネットトレーダーWEBで「期近(15年9月)」を選んだ場合は、「中心限月(3,6,9,12月)のつなぎ足)」になってるようです。「15年9月」と指定した場合はその限月のデータだけになる(これはFCANDLE_Mと同じデータでした)。

出来れば「岡三ネットトレーダーWEBで期近(15年9月)」のように「中心限月(3,6,9,12月)のつなぎ足データ」が取れる方法があると良いのですが…。何かアイデアがありましたら教えて頂けたら幸いです。

とりあえずIDXCANDLEのデータでも今の目的の半分くらいは達成できるので助かります。(あとは出来高データが欲しいのです)。

2015年08月07日

Ryo Ohno

豊田さん、情報ありがとうございますっ!!

FCANDLE_Mでつなぎ足は取れませんでしたか・・・

自分も半田さんが、0:期近で取れるかもと書かれてたので、俺も今後はこいつで取得しようかなーと期待してたのですが・・・(^^;

俺も残念です。

たぶん、

IDXCANDLEの引数を『N225』でされたんだと思います。

この引数の部分を、

『N225F1』で225期近の先物

『N225F2』で225期先の先物

が取得できます。

これまたRSSが手元にないので、正確なことはわかりませんが・・・

たぶん、ラージのつなぎ足が帰ってくると思われます。

miniのつなぎ足がほしい場合は・・・

いったん、225のデータをアップしているサイトなどで落として、

自分でデータをつなぎ合わせていくしかないかもです・・・

2015年08月07日

Fumio Kubo

=QUOTE(銘柄コード,″″,″空売り規制状態″)の表示が

「信用新規売停止」や「信用新規売買停止」の銘柄も「0」と表示されています。

実質空売りができない銘柄についてRSSで取得する関数は、ありますか?

また、「信用新規売停止」と「空売り規制」の違いについても教えて頂ければ幸いです。

2016年01月07日

Ryo Ohno

Kuboさん初めまして。

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

 

現物は最近やってないので、間違っている可能性があることを、ご了承ください(^^;

 

『信用新規売停止』は確か・・・

会社が倒産しそうで大きく値が動いたときとか、空売り用の株を日証金とかが集めれなくなった時などに、

新規に空売りが出来なくなることだったと思います。

 

『空売り規制』は

通常、51単元以上の空売りの場合、トリガー価格(-10%)の以上の価格であれば発注を行うことができます。

しかし、ザラバ中に価格が下落して、トリガー価格を下回った場合、空売り規制銘柄となり、

翌日まで、現在の価格以上でしか空売りが発注できなくなります。

 

この一時的に、空売りの価格に対し規制が入っている状態のことが『空売り規制』だったと思います。

 

今、試しにRSSでやってみたんですが、

『空売り規制』が入っている銘柄は、″1″が表示されて、

『信用新規売停止』は″0″が表示されました。

マニュアルには明確には書いてなかったのですが、たぶん『空売り規制』がかかっている銘柄を判断するためのものだと思いまっす。

QUOTEの取得項目を観たり、マニュアルひっくり返してみたんですが、

新規で空売りができない銘柄の情報って取れないみたいですね・・・

確かに、取得できると便利そうですね。

2016年01月07日

Fumio Kubo

大野さんはじめまして

大変丁寧な解説ありがとうございます。

「空売り規制」って調べなおしてみたのですが、空売りする株価に規制があるってことで

信用新規売り注文はできるんですね。勘違いしていました。

勉強になりました。ありがとうございます。

あと岡三RSSでメガネスーパーの貸借区分が「0」と配信されているのですが

これはどういう状態の銘柄なのでしょうか。

=QUOTE(3318,″″,″信用貸借区分″)

エクセルで発注までできる岡三RSSで大変感動していろいろ試してみています。

2016年01月07日

Ryo Ohno

Kuboさん、こんにちはー

 

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

 

>=QUOTE(3318,″″,″信用貸借区分″)

信用貸借区分ですので、

その銘柄で、取引可能な信用取引の種類が帰ってくると思われまーす。

 

 

信用取引の銘柄には大きく3つあります

 

一般信用銘柄・・・証券会社毎の独自のルールの信用取引が行われる銘柄

制度信用銘柄・・・信用買いだけができる銘柄

貸借銘柄・・・・・・信用買い、信用売り両方ができる銘柄

 

 

具体的にどの数値がどの取引に値するかは、お家に返って試してみないとわからないのですが、

 

・信用取引できない銘柄(岡三は一般信用取引はできないため)

・制度信用銘柄(信用買いのみできる)

・貸借銘柄(信用買い/売りどちらもできる)

 

のいずれかの情報が取得できると思われます。

 

 

RSS良いですよねー

俺もめっちゃ助かってます。

2016年01月07日

Ryo Ohno

kuboさん

家で、信用貸借区分をいろいろと試してみたのですが・・・

『0』 『N/A』 『制度信用』 『貸借・制度信用』

の4種類が帰ってきました。

0,1,2とか数値で帰ってくるのだろうと予想してたんですが、予想外に『制度信用』と普通の文字が帰ってきました。

じゃ、0とN/Aってエラーになるところはなんだろーと

日本証券取引所や日証金のリストと見比べてみたのですが、まったくわからず・・・(^^;

『制度信用』 『貸借・制度信用』と文字が帰ってくる銘柄は、

日本証券取引所のリストとあってるのですが、

リストで制度信用に指定されている銘柄でも、N/Aが帰ってくる銘柄が多々ありました。

もしかしたら、時間外にやってるからの可能性もありそうですが、残念ながらよくわかりませんでした。

2016年02月07日

Fumio Kubo

大野様

検証ありがとうございます。

4592 サンバイオ

8301 日本銀行

3924 ランドコンピュータ

なども同じように0と表示されます。

2016年02月07日

Ryo Ohno

今日はエラーにならず投稿できるかなー

Kuboさん、なんとなくわかった気がします。

まず、N/Aは数が多すぎると出るようです。

QUOTE関数で500以上取ろうとすると、N/Aになるみたいです。(RSSのQAに書いてありました。)

日証金のリストを使ってたので、4000銘柄ぐらいに倒して、QUOTE関数を使ってたので、

N/Aがところどころ出ていましたー

んで、0自体ですが、信用取引の対象じゃないと『0』って出るみたいでーす。

2016年02月07日

Fumio Kubo

大野様

なるほど! 0は、信用取引対象外なんですね。

大野様の研究熱心さに、頭が下がります。

謎がとけました。ありがとうございます。

またわからないことがあったら

是非、よろしくお願いします。

2016年02月07日

Ryo Ohno

>Kuboさん

研究熱心というより、ただ単に自分も気になって・・・(笑

なにはともあれ、お役に立てたみたいでよかったです♪

Kobayashiさん

このディスカッションボードには無いみたいです・・・

確かに検索できるとうれしいですっ!!

2016年02月07日

Ryo Ohno

あっ投稿できたっ!!

最近、なんでかエラーになって投稿できませんでした。(>_<;

遅くなってすみません。

2016年02月07日

Teruhiko Kobayashi

質問する前に、過去に同様の質問が無いか確認したいのです。

過去の質問を検索できないのでしょうか?

2016年02月07日

Teruhiko Kobayashi

エクセル以外、例えばVB.net等からでも利用できますか?

2016年02月07日

Ryo Ohno

自分も一昔前に同じこと思いました。(笑

岡三さんが、Excel以外での利用を許容しているかどうかまでは、残念ながらわからないですが、

やったとしても

COMアドインで、確かインターフェースも公開されていないので、結構大変だと思います。(^^;

でも確かに、インターフェース公開されて、他の言語から使えると、ありがたいです。

2016年02月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日

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日

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日

岡三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日

Washio Shinjirou

サポートに聞いてなんとか理由が判りました、、、、、(^^;

2016年06月10日

Ryo Ohno

Wahio Shinjirouさん

初めましてっ!!

>サポートに聞いてなんとか理由が判りました、、、、、(^^;

すみません、見落としてみたいです・・・

なにはともあれ、解決できてよかったです♪

2016年06月10日

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

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

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

初めまして、岡三RSSで自動売買システムを組んでいますが、分からない所があるので教えて下さい

先物の保有ポジション関数(=FOPPOSITION)の商品種別を呼び出した時に、各銘柄での取得文字列を教えて下さい。

ちなみに、N225ミニは試しに両建てでポジションを取りましたので分かりました。

(取得文字列 N225ミニ)

N225ラージ

topixラージ

topixミニ

ダウ先物

VI先物

よろしくお願いします。

2016年06月10日

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

>先物の保有ポジション関数(=FOPPOSITION)の商品種別を呼び出した時に、各銘柄での取得文字列を教えて下さい。

取得文字列はそれぞれ下記になります。

N225ラージ  → N225先物

topixラージ → TPX先物

topixミニ  → ミニTPX

ダウ先物   → ダウ先物

VI先物    → VI先物

なお、″商品種別″に取得文字列については下記リンク先の″岡三RSS関数一覧″のP.63のに記載しております。

こちらもあわせてご利用ください。

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

2016年06月10日

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

以下質問について代理で質問箱に記入しますので、ご回答宜しくお願いします。

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

岡三RSSを使って日経225取引を考えています。

岡三RSSを使って、日中取引で以下の取引を行う方法を教えてください。

新規・決済ともラージ1枚の取引を行うことを前提でお願いします。

①始値が 8,490円以下ならば、始値で新規売。新規売が約定した場合、終値で買決済。

②始値が 8,510円以上ならば、始値で新規買。新規買が約定した場合、終値で売決済。

なお、①②どちらかの注文が約定した場合、もう片方の新規注文はキャンセルします。

2011年11月07日

ryo

岡三RSSで先物の自動発注を行いたいのですが、躓いてしまいましてご教授頂きたく投稿しました。

以下のような先物の寄り引けシステムを考えております。
(VBAは一切使用しておりません。提供された関数のみです。)

①売買サインに従い、寄りで成行エントリー
②エントリー価格に対して一定金額のロスカット注文(逆指値注文)
③ロスカットに引っ掛からなかったら、引けで成行エグジット

現在、①まではうまくいきましたが、②の注文が通りません。
(②のタイミングは保有してから1分後に設定)

「売買区分が正しくありません」と表示されますが
売買区分は特に問題ないと思います。
(買いと売りのケースがあるので、if関数で条件分岐させています)


ちなみに以下
fneworder関数の引数になります。

第1引数 先物コード N225mini
第2引数 限月 0
第3引数 取引種類 2
第4引数 建玉番号 vlookup関数で検索した建玉番号
第5引数 建玉枝番号 1
第6引数 売買区分 3or1(売買サインによる)
第7引数 執行条件 8
第8引数 単価 エクセル上で計算させた値
第9引数 数量 1
第10引数 注文確認 1
第11引数 完了メッセージ 1
第12引数 注文画面 1
第13引数 パスワード 任意のもの
第14引数 発注ID 任意のもの
第15引数 有効期間区分 1
第16引数 メモ 任意のもの
第17引数 発注条件 13
第18引数 発注単価 0


何か分かれば、ご教授ください。

2018年03月25日

Okubo Kei

このようなロジックはうまくいきますか?

少々お聞きしたいことがあります。

日経225ミニのチャートを見ていると大口注文が入ることで20~50円ほど一気に上がる時、下がる時が1日に何度も目にします。
この一瞬の急騰急落で5円、10円を抜くロジックが有効なのかご意見を伺いたいです。

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

市場価格より20円高い価格で新規注文買建の逆指値を入れておいて急騰により約定すると同時に+5円利益確定と-10円ロスカットの決済注文を出す

同じように

市場価格より20円低い価格で新規注文売建の逆指値を入れておいて急落により約定すると同時に+5円利益確定と-10円ロスカットの決済注文を出す

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

市場価格は5~10円幅で上がったり下がったりを繰り替えすので2秒毎に新規注文買建と新規注文売建の逆指値を修正する

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

新規注文が約定後、決済注文が約定すると新たに仕掛けをして待機する

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

現在の価格の上下で待ち伏せして急騰急落をキャッチして非常に狭い値幅を狙うことでリスクを限定的にして利益を積み上げていく手法を考えたのですが、
仕掛けている逆指値を連続的に修正する必要があるので手動での作業は不可能となりシステムトレードなら可能なんじゃないかな?と思ってます。
しかし、瞬間的な値動きに対応できるのか疑問がありますし果たして利益になるのかもわかりませんが、このような事はうまく行くものなのかご意見いただければ嬉しいです。

2017年03月19日

Ryo Ohno

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

以前、岡三RSSがまだVer1だった頃の話ですので、
現在は状況が違うのかもしれないことをご了承ください。
※岡三RSSがVer2になって、情報が落ちてくるスピードが速くなったため。

以前、似たようなロジックを作って運用したことがあります。
自分の時はラージとミニのサヤ抜きのロジックで
ラージとミニの価格差が30円以上開いた時に、エントリしてラージとミニのサヤ抜きをするというロジックでした

実際のロジックは・・・

1.板情報を観て、30円以上開いたら両建ての成行でエントリする
2.さやがおさまったら、決済・・・

もし、Largeで1tick、miniで1tick不利な方に動いたとしても、15円は抜ける
はずでした・・・(笑
実際に動かしてみると、30円開いたところでエントリしても、
約定するときに、3,4tick以上動いてしまいまったくサヤ抜きになりませんでした。

その時に調べたんですが、大証→証券会社→岡三RSS→個人
とデータが落ちてくる時点で遅延しており、表示されている情報が秒単位で古い
また、注文の情報も同じように遅延していたため、
実際に約定の注文が大証に届いた時には、サヤがおさまっているとい状態のようでした。

今は、岡三RSSのVerが2になっており、
情報が落ちてくるスピードが速くなったので、
もしかすると可能なのかもしれませんが、試していません。

一瞬ではなく、理論株価から5秒間ぐらいズレ続けるなら、個人投資家の環境でもいけるかも知れまっせんっ

2017年03月21日

Ryo Ohno

『始めまして』ではありませんでしたか・・・
失礼しました・・・(^^;

日経のデータは大人の事情なんですね・・・w

はい、もし上手く行きましたら教えてください!!
自分もサヤ抜きのロジックを復活させますw

2017年03月22日

Okubo Kei

Ohnoさん こんにちわ

お返事いただきましてありがとうございます!
以前、岡三RSSの掲示板で日経平均をリアルタイムに表示することで何かに利用できるのか?といったスレッドに返信していただきありがとうございました。
お答え頂いた数日後岡三証券から電話がありまして、岡三証券のホームページ上で日経平均リアルタイム計算式を公開するのは大人の事情でよろしくないので公開していたページを削除してもいいですか?と問い合わせがあり了承したので以前のページは削除されて今現在は見れなくなっています。

Ver.2になったことでどのくらい処理能力が速くなったのかわからないからロジックがうまくいくかどうかはやってみないとわからないっ!てことですね!
では試してみます!!!と言いたいところですがVBA、マクロはさっぱり分からないのでいちから勉強です( ノД`)シクシク…

2017年03月21日

mk

candle関数について

candle関数について、前日のみの4本値を出したいのですが、前日のみ出せる方法はありますか?

2017年09月17日

Ryo Ohno

mkさん初めまして

残念ながらcandle関数に指定日のみを取得する機能は無いようです。

もし前日のみの4本値の情報が必要な場合は・・・

いったん、どこかのセルに2日分取得し、lookup関数なので前日分のみを取得するか
もし取得する足(分足)などが決まっているのでしたら、
candle関数の表示順を昇順にし、
上から固定量(1分足なら302行、5分足なら62行)だけを使用する
というのが簡単な方法な気がします!!

2017年09月18日

アキラ

sub または function が定義されていません。

先日の研修会に参加し、自動売買を始めようとしていますが、NEWORDER関数をCALLしようとすると、コンパイルエラー「sub または function が定義されていません。」が出てしまいます。何か事前設定が必要なのでしょうか?

2017年09月10日

アキラ

大野様
ありがとうございました。エラーが解消し、VBAからの自動発注ができるようになりました!(感動)

2017年09月12日

Ryo Ohno

解決できましたかっ!!それはよかったです!!
自動発注もできたようで何よりです!!

素敵な、自動売買ライフを!!

2017年09月12日

Ryo Ohno

アキラさん、初めまして。
大野と申します。よろしくお願い致します。

研修会ご参加ありがとうございました。
これからもよろしくお願い致します。


正常に岡三RSSがインストールされているいるならば、
VBAの参照設定に『岡三RSS』が入っていない可能性があります。

以下の手順でご確認いただけますでしょうか?

1.alt + F11 でVBAエディタを開く
2.メニュ―のツール押下
3.参照設定押下
4.左の『参照可能なライブラリファイル』の中にある岡三RSSにチェックが付いているか確認

もし、チェックが付いていなければ、チェックをつけて頂くと、
コンパイルエラーが消えると思いまっす!!

2017年09月12日

ヤマダ

指定した発注IDの注文状況をセルに表示させる方法

先物の注文状況をセルに「約定」等表示させる方法を教えてください。
よろしくお願いします。

2017年11月09日

Ryo Ohno

ヤマダさん、初めまして。

解決できましたようで、よかったです!!

2017年11月09日

ヤマダ

発注IDは発注時のみ有効で、それ以降はヒモ付け出来ないことが分かりました。

2017年11月09日

ヤマダ

これで解決しました。
http://qa.okasan-online.co.jp/faq_detail.html?id=577
先物やオプション取引で、注文に紐付けて指定決済を行うことはできますか?

J-GATE対応にあわせて、注文関数の引数にメモを追加しました。
新規注文時に登録したメモを利用することで指定決済を行うことができます。
具体的な利用方法は以下のとおりです。
FNEWORDER関数で新規注文を発注します。その際、第16引数(C20)に「メモ」("abc"など)を登録します。
=fneworder(C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22)
約定成立後、FOPPOSITION関数で「建玉番号(2013年8月18日以降「建玉枝番号」は廃止したため、固定で「1」を指定してください)」「数量」とあわせて、新規発注の際に登録した「メモ」を取得することにより、新規注文と保有建玉を紐付けることでできますので、それをもとに指定決済可能です。
※一部約定の場合には、同じメモの明細が複数となります。

2017年11月09日

RSSユーザー

時間指定注文

Screenshot from 2018-02-14 10-46-48.png (45.4KB)

添付の画像のように、
・時間指定注文
・最大指値
・FAS
・当セッションのみ

で岡三RSSで注文を出したいのですが、該当する引数がないように思えます。
どのように引数を指定すればよろしいでしょうか?

2018年02月14日

Ryo Ohno

RSSユーザさん、こんにちわ!!

・時間指定注文
残念ながら岡三RSSの発注関数に時間指定注文機能がありません
もし時間を指定したい場合は、
セル関数などで対象時間に注文関数が動くようにしてあげる必要があります!!

・最大指値
第7引数(執行条件)を 0 に設定することにより、最大指値になります!!

・FAS
こちらは記載がないので、間違ってる可能性がありますが・・・
第7引数(執行条件)を
0:最大指値、1:指値、:不出来引成、14:最良指値
を選んだときはFASの動きをするのではないかと思われます。

・当セッションのみ
第15引数(有効期間区分)を1(もしくは省略)すると当セッションのみの注文となります!!


あやふやな部分があって大変申し訳ないのですが、
少しでもご参考になれば幸いです!!

2018年02月14日

RSSユーザー

Ryo Ohnoさん
コメントありがとうございます!
時間指定注文はないんですね、、
他引数の指定の件も参考になりました!
実際発注してみて挙動を確認してみます!
テスト環境があればいいのですが、、

2018年02月17日

RSSユーザー

岡三RSS(岡三RSS.xla)の中は見れないのでしょうか?

エクセルの開発→VisualBasicの中に岡三RSS(岡三RSS.xla)というのがあり、中を見ようとすると岡三RSSパスワードを要求されますが、エラー(プロジェクトがロックされています。不正なパスワードです。)が表示されます。

これは何なのでしょうか?
分かる方教えてください。
よろしくお願いします。

2017年07月05日

Ryo Ohno

xxxx.xlaは、Excelのアドインのファイルとなり、
『岡三RSS.xla』は岡三RSS本体とExcelを結びつけているものになります。

プログラムの中身が見えてしまうといろいろとまずいので、
パスワードでロックがかかっていると思われます。

自分も見えていますし、中身は見れませんが問題ありませーん!!

2017年07月07日

Ryo Ohno

Windows 10 Fall Creators Updateについて

こんばんは、大野です。

10/17にWindows10の大型アップデート(Fall Creators Update)がリリースされました。

早速、入れ替えてみて、今日一日、岡三RSSで取引を行ってみたのですが、
情報取得関数、発注関数共に正常に動作しました―


以上、報告です!!

2017年10月20日

井之上 まこと

自作プログラムのバックテスト(自動)方法

トレードお疲れさまです!
初めて自動売買プログラムを作り始めています。
ふと、思ったのですが完成した自動売買プログラムの
バックテストは皆さん、どういう方法で行っていますか?

できるだけ自動が大量に処理できると思うので良いと
思っていますが、便利なツールなど諸々やり方を教えて
頂けたら嬉しいです!
よろしくお願いします!

2017年09月03日

タケ

おはようございます。
>現在は処理速度の関係からC#というプログラミングをできるやつでやっています。

具体的にどのような、環境、ツールでされているのでしょうか?
また、java、rubyはありますか?

よろしくお願いします。

2017年09月18日

井之上 まこと

大野さん
ありがとうございます
アクセスはエクセルより良い面あるのですか?
C#ってwもはや完全にプログラム組んでるって事ですね。
わかりました、とりあえず自分は初心者なのでエクセルの
世界から始めたいと思います。ありがとうございます。

井之上

2017年09月17日

Ryo Ohno

井之上さん、初めまして
大野と申します、よろしくお願い致します。


バックテストに関してですが、自分はExcelでやり始めました。

その後Excelでは面倒になってきたので、
ニンジャトレーダーなど、バックテストができるツールを試したのですが、
英語のみだったり、自分がやりたい指標や売買手法ができなかったため
またExcelに戻ってしまいました。(^^;

自分は分足のデータを使用するので、
データ量がどんどん増えてきてしまい、Excelでの処理は厳しくなってきましたので
その後、AccessというVBAでプログラミングできるツールで
バックテストを行っていてしました。

現在は処理速度の関係からC#というプログラミングをできるやつでやっています。

現在のやり方としては・・・

1.ロジックを思い付く
2.Excelで関数を使って簡単なバックテスト
3.もし行けそうな感じなら、プログラムを作って完全なバックテストをやる

という感じでやっています!!

2017年09月05日

ぞうやん

NTトレードで手動、自動で同時発注したい

FQUOTE,FOPPOSITIONでポジの損益を表示するところまで来ました。これを自動または手動で手仕舞い出来る仕組みを作りたいです。以下にようにしたい場合、FNEWORDERをどのように使えばよいでしょうか。
手動の場合はワンアクションで同時発注。
移動の場合は損益条件のトリガーで自動発注。
どなたか教示いただけるとありがたいです。

2017年07月02日

Ryo Ohno

うまくいきますことを祈っております

2017年07月12日

Ryo Ohno

以下、VBAを使わずにセル関数だけでやることを前提ですが

1.発注フラグ用のセルを一つ決める(例えば"A1")
2.自動発注フラグ用のセルを一つ決める(例えば"B1")
3.A1セルもしくは、B1セルに何か文字が入ったら、FNEWORDERを動くようにする
=IF(OR(A1<>"",B1<>""),FNEWORDER(・・・・),"未発注")

こうすると、A1もしくはB1に何か文字が入ると、FNEWORDERが動くようになります

手動でやられるときは、A1に何か文字を手で入れると、入れた瞬間に
FNEWORDERが動きます

自動でやられたいときは、B1に損益条件のトリガーを満たすと文字が出るように
IF関数を作ってあげると、イケると思います!!
例) =IF(損益条件の式,"発注","")

2017年07月02日

ぞうやん

いつもお世話になってすみません。
なるほどですね、ありがとうございます。
NとTの2つそれぞれにFNEWORDERを設定するのでしょうか?(言い換えるとあらかじめ、複数のFNEWORDERを用意するイメージですか)
加えての質問ですみません。

2017年07月03日

ぞうやん

たびたびですみません、二つのFNEWORDERを同時に動かす設定はどうしたらよいでしょうか?

2017年07月04日

ぞうやん

教えていただいたif関数をそれぞれのFNEWORDERに設定すれば良いのですね。(A1TとB1は共通にして)
分かったような気がします。
お手数おかけしました。

2017年07月04日

Ryo Ohno

はい、ぞうやんさんの仰られますと通り、
どこか二つの別々のセルに、
IFの部分は同じで、N225とTopix用の二つを作ってあげたら
だいじょうぶです!!

2017年07月04日

ぞうやん

重ね重ねですみません。
岡三のネットトレーダーライフFで発注した建玉を特定するものとして、FNEWORDERの第4引数(建玉番号)、第5引数(建玉枝番号)、第16引数(メモ)を、FOPPOSITIONのデータからコピーしてします。メモについてハイフォンが入っているようですが、この文字は使えるのでしょうか?エクセルを起動すると(多分エラーの)ポップアップが表示されているようなので、質問しました。
ちなみにRSSの発注系は練習ができないので怖いですね。

2017年07月05日

Ryo Ohno

ぞうやんさん

メモの仕様ですが、使用できる文字は以下の通りでーす♪

『0-9/a-z/A-Z の範囲文字と_(アンダーバー)のみ』

2017年07月07日

ぞうやん

メモの件、ありがとうございます。
動きを見ているところなのでいろいろとお世話になりますが、よろしくお願いします。

2017年07月08日

Ryo Ohno

はーい!!

自分でお手伝いできることがあればっ!!
いろいろと大変とは思いますが頑張ってください!!

2017年07月08日

ぞうやん

すみません、さっそくお言葉に甘えまして。
あらかじめ表示セルを決めて、上の行にN、下の行にTの保有データを入れて表示したいです。FOPPOSITIONで落とした保有データを移し替えようと思いますが、当然保有データは増えたり減ったりします。データの増減の対応、移し替える対応はどのようにしたらよいでしょうか。

2017年07月09日

Ryo Ohno

ソート.xlsx (9.8KB)

ぞうやんさん

FOPPOSITIONは表示のソート(データの並び替え)ができないため、
Excel側でソートをやってあげる必要があります。

しかし、Excel側で自動でソートを行うことができないため、
自分でデータの並び替えを動かすか、VBAでプログラムを書く必要があると思われます(たぶん

これだと大変なので、VLOOKUPとメモを利用してやってみました、
参考になれば幸いですっ!!


以下、サンプルシートの内容です。

1.メモに"N225_1"や"TOPIX_1"など一組ごとに内容が変わるメモを入れる
2.I列以降でVLOOKUP関数を利用して、いれた内容のメモに対する情報を表示する。

2017年07月10日

ぞうやん

サポートありがとうございます。
なるほどエクセルのVLOOKUP関数ですね。
挑戦してみます。

2017年07月11日

Ryo Ohno

途中で送ってしまった・・・
もし上手くいかなかったら、いつでもご連絡くださいっ!!

2017年07月12日

Ryo Ohno

はい、岡三RSSではバスケット注文のようなことができませんので、
FNEWORDERを日経225用と、Topix用と二つ用意してあげる必要がありまっす!!

2017年07月03日

大田孝

指値注文を、ある条件によってキャンセルしたり、復活させたい

お世話になります。
指値注文を出しておいて、a<bの時は、その指値注文をキャンセル(無効)にし、a>=bの時は指値注文を有効(復活)にしたいのですが、どなたかコードをお教え願えませんでしょうか。

2017年08月05日

KAN

発注コマンドについて

いつもお世話になっております。
運営に質問したところ、こちらの広場での質問を促されたのでお尋ねさせてください。

VBAから直接発注してもポップアップ画面を出さないように設定することは可能ですか?

岡三RSSの発注について、VBAプログラムから直接買い注文(現物、成行)を出したところ、
「ご注文を受付しました」
というポップアップが発生し、CANDLE関数等が動かなくなってしまいます。

このポップアップを出さないようにする、もしくはプログラムで出てもすぐに消すようにしたいのですが、いい方法はありますでしょうか。

ちなみに全体のプログラムとしては、毎秒マクロを実行して買いサインが出たらプログラムから直接注文という方法を考えております。

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

2017年06月20日

小笠原聖史

ご注文を受け付けしました.png (55.0KB)

KAN様
初めまして。小笠原と申します。
ご指摘のポップアップは、添付の画面でよろしいでしょうか。
こちらで間違いなければ、第10引数が原因と思われます。
0:表示あり、1:表示無し
ですので、「1」に設定いただきますと、ご指摘のポップアップが表示されないようになると思いますので、一度お試しいただけますでしょうか。

2017年06月20日

KAN

小笠原様

早々にご回答いただき、誠にありがとうございます。
ご指摘の通り修正したところ、ポップアップは非表示となりました。

0と1を逆に記憶しており、大変恥ずかしい質問ではございましたが、小笠原様のおかげで気付くことができました。
大変感謝しております。

また質問する機会もあるかと存じますが、その際にはまたご指南いただけますと幸いです。
どうぞよろしくお願いいたします。

2017年06月25日

小笠原聖史

KAN様

ご丁寧に恐縮です。
また何かございましたら、いつでもご質問ください。
KAN様のトレードの成功を祈念いたします。

2017年06月26日

RSSユーザー

岡三RSSとRSS365CFDのアドイン

岡三RSSとRSS365CFDのアドインは、同時にEXCELにインストール出来ますか?

2017年12月07日

デスモ

「'RSS365CFD.xll’のファイル形式と拡張子が一致しません。」
のエラーに悩み続けましたがやっと判りました。

64bit版のエクセルでは、アドインは動作しません。
32bit版を使ってください。

2019年10月07日

RSSユーザー

コメント、有難うございます。
岡三RSSのアドインとは関係ないかも知れませんが、
RSS365CFDのアドインをインストールしたところ、
「'RSS365CFD.xll’のファイル形式と拡張子が一致しません。」
というメッセージが出ました。
これは、何が問題なのでしょうか?

2017年12月14日

Ryo Ohno

こんばんは

自分は入れていないので、たぶんとしか言えないのですが・・・
RSS三兄弟(株・FX・CFD)は同時に入れれたと記憶しています。
アドインのところに2段、3段になって出るはずです!!

2017年12月12日

コマヒデ

過去の日付のストップ高を表示させる方法

エクセル上に、過去のストップ高銘柄の証券コードを表示させる方法をご存知でしたらご教授願います。

=HIGHLOW("ストップ高","銘柄コード",A2)

上記の現在ストップ高を表示する方法をご教授頂き活用しているのですが、その発展形でストップ高をつけた銘柄の翌日の動きを検証したいと考えております。

以上よろしくお願い致します。

2018年03月10日

コマヒデ

Ohnoさん
こんにちは!
ご回答頂きありがとうございます!
いつも、代替え案もご教示頂きありがとうございます。

過去データを取得出来ないのは残念ですが、ご教示頂きました方法でデータを日々ストックしていきたいと思います。

ありがとうございました。

2018年03月12日

Ryo Ohno

コマヒデさんこんにちは!!

残念ながら、岡三RSSに過去のストップ高を表示させる機能はないようです。
確かにあると便利そうですね・・・

もしやるとしたら、前日のストップ高の銘柄を別のセルにコピーし退避させておいて、
そこの銘柄コードなどを参考にして翌日の動きを検証させるしかないと思います・・・

エクセルのセル関数でセルのデータを退避させる事ができないので、
もし自動でさせたいときは、マクロ(VBA)を利用して、コピーさせる方法があります!!

2018年03月11日

ヨッシー

岡三RSSの機能拡充(CSVデータ取得)に関して

いつもお世話になります。

今更で恐縮ですが、本広場の2021/1/20付で岡三RSSの機能拡充について記述されており、
CSVファイルで一括して取得できるようになったとのことですが、この連結されたデータから
個々のデータを抜き出すのは、EXCELのMID関数等によって行うということでよろしいのでしょうか。

もしそうであれば時刻が"0:00:00"の時、”0”となっているので抜き出す時に何らかの工夫が必要だと思うのですが、
そのやり方も併せて教えていただければ幸いです。

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

2021年06月27日

ヨッシー

大野様

申し訳ありません。
直ぐにご回答をしていただいていたのに、何を勘違いしていたのか、気が付きませんでした。

"0:00:00"の時、”0”となる問題も含め、岡三オンライン証券さんの
『CSV項目内の値をセル関数で抽出する方法』で解決されますね。

いつも迅速なる回答、ありがとうございます。

2021年07月18日

大野 了

ヨッシーさん、こんにちは!!

>もしそうであれば時刻が"0:00:00"の時、”0”となっているので抜き出す時に何らかの工夫が必要だと思うのですが、
>そのやり方も併せて教えていただければ幸いです。
こちらはデータによって表示される桁数がずれるので、
MIDで切り抜く桁数を指定するときに、スタート位置が毎回変わってしまうという事でしょうかー?


もしそれであれば、項目の位置を指定して、
CSV形式からデータをセル関数だけで抜く方法のサンプルを
岡三オンライン証券さんが挙げてくれています!!

https://www.okasan-online.co.jp/ont/rss/manual/

『CSV項目内の値をセル関数で抽出する方法』
です!!

2021年06月27日

大田孝

指値注文を、条件によってはキャンセルし、条件によって復活させる


すいません。前の質問内容の文字が飛んでしまいました。もう一度質問をさせていただきます。
指値注文を出していて、条件a>bの時は指値注文をキャンセル(無効化)し、a<=bの条件に戻た時は,指値注文を復活(有効化)させたいのですが、どなたかこのコードをお教え頂けませんでしょうか。

2017年08月05日

大田孝

やっとパソコンに向かえるようになりました。返事が遅れ申し訳ございませんでした。有益な回答有難うございました。これを基にやってみます。

2017年08月23日

Ryo Ohno

1,2
キャンセルを行った注文の指値の取得は可能です。
FOPORDQUERYの第一引数が、注文状態となります
ここを3(失効/取消/エラー)とすると、キャンセルした時の指値の価格を取得することができます。
例)
=FOPORDQUERY("3","2","注文単価",A25)

3
通常はVBAで他のセルにコピーした内容は消えないため、
もしかすると、どこかで上書きしてしまっているかもしれません。

4
こちらは『キャンセルした注文の指値の価格を・・・』
ということでしょうか?
残念ながら、fopordquery以外で注文の情報を取得する方法はないと思われます。
もし、fopordqueryでキャンセル時の指値を取得されるのが
ご面倒であれば、逆転の発想で指値注文した時の指値価格を
どこかに残しておくというのはいかがでしょうか?

2017年08月10日

Ryo Ohno

大田さん初めまして!!

コードということですので、VBAのコードということでよろしいでしょうかー?

『指値注文を出していて・・・』
ということですので、
以下、注文の部分はわかられるということ前提ですが・・・


証券会社に出してしまった指値注文の無効化ということはできませんので、
約定しないような金額に注文を変更するか、
本当にキャンセルして、再注文しかないと思われます。

処理的には指値を変える方が簡単ですが、気持ち悪いと思いますので、キャンセル方法で・・・

==============================================
If a>b Then
'注文番号の取得は、Excelシートに"=ORDQUERY("1","注文番号",A1)"などと入れて頂き取得してください
'オーダーキャンセル
ORDERCANCEL(取得した注文番号,1,1,パスワード)
Else If a<=b Then
NEWORDER(銘柄コード, ・・・・)
End If
==============================================

的な感じで行けると思いまーす!!

2017年08月06日

大田孝

早速のご教示有り難うございます。
すいません。先物でした。又,同時に、複数の指値注文があります
1,
else If a<=b then
fneworder(指値単価)
end lf
のところですが、指値注文をキャンセルした後、新らたにa>=bの条件で指値注文を出す部分ですが,指直注文の指値単価(キャンセルした前と同じ)をどこから取得すべきかが分りません。
2、fopordqueryを使っても、注文中の注文単価は取得できますが,いったん、キャンセルされてしまいますので、注文単価は消えています。
指直注文中に注文単価を別のセルにコピーして注文単価を保持しようとしましたが,注文指値がキャンセルされた時点で注文単価が消えてしまい、コピーした注文単価も消えてしまいます。
3,この様に元コピーが消滅しても、コピーしたものが残る方法は,ありますか?
4、fopordqueryを使わない方もあれば、ご教授して下さい。

2017年08月08日

kizuki

データの取得

サンプル.png (13.4KB)

いつもお世話になります。データの取得ですが225ミニ TOPIXラージのデータ自動取得の方法を教えてください 期間は7日分でそれ以後自動削除 時間は 
           225ミニ  TOPIX
2017/8/4 8:45    19945 1628
2017/8/4 15:15 19950 1632.50
2017/8/4 16:30 19950 1632.5
2017/8/4 5:30    20045 1642.00
のようにエクセルに表示したいのですが・・・

2017年08月07日

Ryo Ohno

時系列データ.xlsx (12.4KB)

kizukiさん、初めましてー

大野と申します、よろしくお願い致します。
もうかなり時間が立ってしまいましたが、添付しましたファイルのような感じではどうでしょうか?
kizukiさんの求められてるのと若干レイアウトは違いますが、
もしこのレイアウトでよければ、
岡三RSSとExcelの関数のみで行けます。

A列~E列に営業日と、取引日ごとの始値と終値を表示し
E列以降にデータを並び替えて表示するという感じです。

2017年08月21日

kizuki

こんにちは ご連絡が遅れ申し訳ございません
正直諦めてましたが 本日開いてみるとビックリです
早速試してみたいと思います
ありがとうございました

2017年09月01日

Ryo Ohno

時系列データ.xlsx (12.4KB)

kizukiさん、初めましてー

大野と申します、よろしくお願い致します。
もうかなり時間が立ってしまいましたが、添付しましたファイルのような感じではどうでしょうか?
kizukiさんの求められてるのと若干レイアウトは違いますが、
もしこのレイアウトでよければ、
岡三RSSとExcelの関数のみで行けます。

A列~E列に営業日と、取引日ごとの始値と終値を表示し
E列以降にデータを並び替えて表示するという感じです。

2017年08月21日

ビギナー

注文方法

時間を指定して逆指値注文をしたいのですが可能ですか?
(例)
14:50分を過ぎたら現在の株価が当日の始値より高ければ(14:50分時点では陽線という意味です)逆指値で買い

宜しくお願いします

2018年01月04日

ビギナー

テスト.xlsx (11.2KB)

すいません。PCの故障しまして返信できませんでした。サンプルファイルありがとうございます。
中身をかえて14時50分時点でこちらの指定して値段に達していたら信用取引の逆指値で注文したいと思うのですが一度ファイルをみていだだけないでしょうか。

2018年01月24日

Ryo Ohno

Book1.xlsx (11.3KB)

ビギナーさん、こんばんはっ!!

残念ながら、岡三RSSの発注関数で時間を指定した発注は行うことができません。
ですので、自力で時間を判断して発注関数を実行させてあげる必要があります。

サンプルファイルを作成してみましたので、ご参考になれば幸いです。

G1に時間の判断と、始値と現在値の陽線の比較を入れてあります。
G1のNEWORDER()の部分を、本当の発注の関数に修正すると動作すると思います!!

ご参考になれば幸いです。

もし中身とかでご不明な点がございましたら、
再度、ご連絡を頂けますと幸いです!!

2018年01月06日

hana

IF関数で現在値とVWAPを比較する場合について

現在値がVWAPより高ければ”上”、低ければ”下”と表示させようとして以下のように記述しました。しかし実際の上下に関係なく全銘柄”下”と表示されてしまいます。VWAPを数値として認識していないのでしょうか。
岡三RSSは今回初めて利用しました。どなたか教えて頂けませんでしょうか。よろしくお願い致します。

=IF(F2>QUOTE(A2,"","VWAP"),"上",IF(F2<QUOTE(A2,"","VWAP"),"下",""))

F2には現在値:=IF(A2="","",QUOTE(A2,,"現在値"))
A2には銘柄コードを入力しています

2017年06月27日

Ryo Ohno

hanaさん、初めまして!!

hanaさんの言われます通り、
VWAPは標準では文字として扱われることがあります。

=IF(F2>VALUE(QUOTE(A2,"","VWAP")),"上",IF(F2<VALUE(QUOTE(A2,"","VWAP")),"下",""))

のようにして頂けると、数値として大小比較になると思います!!

2017年06月28日

hana

Ryo Ohno様
早速のご回答ありがとうございます。
VALUE関数で数値に変換するのですね。比較できるようになりました。
もっと勉強しないといけませんね。
ありがとうございました。

2017年06月28日

Ryo Ohno

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

value関数とか普通は使わないですもんね・・・(^^;

2017年06月28日

RSSユーザー

岡三RSSのツールバーの注文可/注文不可をVBAマクロで制御したい

朝8時にツールバーの注文スイッチを注文不可から注文可に変えたい。具体的にどう記述すべきかを教えて下さい。(RSSは、1日中注文可として接続していますが、早朝メンテナンスのあとは,注文可から注文不可に変わってしまうため、注文可に自動に戻しておきたいため)

2017年11月09日

RSSユーザー

お返事遅れました。完璧なご回答ありがとうございました。

2017年11月14日

Ryo Ohno

RSSユーザさん、こんにちは!!

こちらですが、発注可・不可の状態は、VBAでコントロールしなくても、
設定で"注文可"の状態を維持することが可能です。

1.タスクバーから岡三RSSを右クリック
2.右クリックメニューの中の『設定』を押下
3.『エクセルの注文可・不可状態を維持する』にチェックを入れる

この設定を行いますと、一度可能状態にしてしまえば、
これ以降は、岡三RSSが再起動などしても、ずーと注文可の状態が維持されます。


もし、そのほかの理由でどうしてもVBAで制御されたい場合は

Application.CommandBars("岡三RSS2").Controls(4).Execute

でON、OFFを切り替えることができます!!

2017年11月09日

mal

注文方法について

1、複数の銘柄を成行注文
2、成行が約定したら、指値、逆指値で決済注文
3、指値、逆指値で約定されなければ、引け売り

上記の条件で作成したいのですが、どのように作成すればいいのでしょうか?

また、前日の安値、高値、始値は取得できないのでしょうか?

お手数ですが、ご回答お願いします。

2017年09月03日

Shinji Matsuo

ご連絡ありがとうございます。

成行売り注文ですと、売りたい値からの差額が発生すると思いますので避けたいです。
指値、または逆指値、どちらかでもいいのですが注文はできないでしょうか?

>大引け近く(14:57など)になれば、neworder関数で引け売りを発注する
時間の指定はどのようにするのでしょうか?

お手数ですが、よろしくお願いします。

2017年09月05日

小笠原聖史

malさん初めまして。

1、複数の銘柄を成行注文
→neworder関数で成行発注。(関数マニュアルでは23ページ)
2、成行が約定したら、指値、逆指値で決済注文
→岡三RSSでは、指値と逆指値を同時にセットするいわゆるOCO注文はできないので、買い注文の約定後、position関数(関数マニュアル20ページ)で損益額または損益率をエクセル上に表示し、その数字を監視して、ご自身が希望する利益確定額(率)を超えるか、損切額(率)を超える場合に、neworder関数で成行売り注文を発注する(たとえば、、、=if(or("評価損益率">5%,"評価損益額"<-5%,),"売成行","")のようなエクセルの関数を活用して)。
3、指値、逆指値で約定されなければ、引け売り
上記2の条件にヒットしないまま、大引け近く(14:57など)になれば、neworder関数で引け売りを発注する。

以上の方法で、malさまがお考えの仕組みを構築することができるのではないかと思いましたので、ご参考になれば幸いです。

また、前日の安値、高値、始値は、candle関数(関数マニュアル16ページ)で取得することができます。

2017年09月04日

mal

両方で試してみます。
>=if(or("評価損益率">5%,"評価損益額"<-5%,),"売成行","")のようなエクセルの関数を活用して)。

成行方法ですと、差額はでないでしょうか?
例えば、1000<株価で売りとすると、999円で約定するという認識でよろしいでしょうか?

また、candle関数は前日のみは出せないと思いますが、前日のみ出せるのでしょうか?

よろしくお願いします。


2017年09月07日

小笠原聖史

2で、指値、逆指値どちらかを注文することはできます。
もし、売り指値を出された場合には、損失額または率を監視して損切ポイントをヒットしたら売り指値を取り消して損切の注文を出す、
または、売り逆指値を出された場合には、利益額または率を監視して利益確定ポイントをヒットしたら売り逆指値を取り消して利益確定の注文を出す、という風にすればよいと思います。

あと時間の指定ですが、セルA1に
=IF(NOW()-TODAY()>TIMEVALUE("14:57:00"),"引成発注","待機")
などはいかがでしょうか。
14:56:59までは”待機”と表示され、14:57:00以降は”引成発注”と表示されます。そしてセルA2に、=if(セルA1=”引成発注",neworder関数,””)としておけば指定した時間以降に引成を発注することができると思います。※発注済の指値または逆指値がある場合には、これを先に取り消す必要があります。

以上ご参考になれば幸いです。

2017年09月05日

わに

FCANDLE関数とIDXCANDLE関数の違い

基本的なことかもしれないですが、教えていただきたく投稿します。IDXCANDLE関数は、N225F1を指定すると期近をつないだ四本値が取得できる、とあります。他方、FCANDLE関数で0:期近を選ぶと、同じように期近をつないだ足が出てくると思うのですが、何が違うのでしょうか。

2018年04月11日

小笠原聖史

わにさん
はじめまして。小笠原と申します。
最長、どこまでさかのぼってデータがとれるのか、違いがあるようです。今試してみましたが、
IDXCANDLE関数だと、日足で2699営業日さかのぼって4本値を取得することができました。
一方、FCANDLE関数だと、1719営業日さかのぼって4本値を取得することができました。

2018年04月11日

岡三オンライン

岡三RSS(国内株式・先物OP)関数の仕様変更について

2022年4月4日(月)の東京証券取引所における新市場区分への移行に伴い、岡三RSS(国内株式・先物OP)関数の仕様変更を予定しております。

今回の仕様変更では、市場再編に関連する情報の変更、追加などを行います。

詳細は下記よりご確認ください。

■岡三ネットトレーダーシリーズの仕様変更について
https://www.okasan-online.co.jp/information/2022/0317a/

2022年03月18日

ゾウ

CANDLE_M関数で1分足始値の即時取得

ファイルイメージ.xlsx (12.6KB)

いつもお世話になっております、ゾウと申します。
CANDLE_M関数を用いて、1分足始値をなるべく素早く(目標は1秒以内)取得したいのですが、
どうしても5秒程度掛かってしまいます。
プログラム方法やパソコンの設定も含めて、
みなさまのお知恵をお貸しいただけませんでしょうか。

イメージとしては添付ファイルの通りで、
 ①VBAで毎秒外部データを更新
  (Application.CommandBars("岡三RSS2").Controls(5).Execute で始値も毎秒更新)
 ②条件に合致した銘柄を外部データから取得
 ③1分足の始値を利用して発注
という流れを5秒以内に行いたいです。
①②はおよそ1秒で済むのですが、③の始値を出すのに時間が掛かってしまい困っております。

現在パソコンの設定で試していることとしては、
タスクマネージャーからエクセルと岡三RSSの優先度を「高」に設定しております。

なお、CANDLEではなくCANDLE_Mを使っている理由としては、
実際試行したときに発注が若干早かったためです。

条件等々の説明が不十分かと思いますので、必要な情報があればお申し付けいただければと思います。
以上、どうぞよろしくお願いいたします。

2017年08月02日

ゾウ

コメントいただき、ありがとうございます。

>ちなみに、手動計算にされた場合でも、目標の1秒以内には遠く及ばない感じでしょうか?
そうですね、まだ2秒程度かかってしまうようです。

>今、255銘柄から、10銘柄に減らして条件を合わせてみたのですが、やはり1秒弱ぐらいでした。
255本分の値を取得していたのと勘違いしておりました。
255銘柄でも1秒弱で表示できていたのですね。。

>あとは解決策とは違いますが、
QUOTE関数で現在値を取得しVBAで1分ごとに、
その時の価格をセルに設定するというのはいかがでしょうか?

当初QUOTE関数を使っていて、うまくいかなかったのでCANDLEに変更した経緯がありまして...
ですが、他のアプローチを考えた方が早いかもしれないですね!
諸々ご助言いただき、誠にありがとうございました!

2017年08月13日

Ryo Ohno

ゾウさん初めましてー

③の始値を出すのに時間がかかってるととのことですが・・・
CANDLE_Mの結果が表示されるのに時間がかかる感じでしょうか?
自分もやってみたのですが、225件の始値を表示するのに大体
0.5~1秒ぐらいで帰ってきました。

ですが、確かにたまーに3秒ぐらいかかるときもあり、
いろいろと調べてみたのですが、
岡三RSSのデータ表示に時間がかかってる感じでした。

岡三RSSの優先度を上げておられるとのことでしたので、
以下のことを試して頂けますでしょうか?

1.計算方式の設定を、手動にしてみる
  ファイルーオプションー数式ー計算方法の設定
  手動を選ぶ

2.画面描画を一時的に止めてみる
  Application.CommandBars("岡三RSS2").Controls(5).Executeの処理が入っているVBAのコードを
  Application.ScreenUpdating = False
  と
  Application.ScreenUpdating = True
  で囲む
  ※これはExcelの画面表示を一時的に止めて、処理を高速化させます。
  ※しかし、たぶん効果は無いと思われますが、一応・・・

3.ハードウェアのグラフィックアクセサレータを止めてみる
  ファイルーオプションー詳細設定ー表示
  『ハードウェアグラフィックアクセサレータを無効にする』にチェックを入れる
  ※古いPCとかで対応してない場合、Excelがもっさりすることがあります
  ※自分が昔これで解決したのですが、最近のPCでは効果がないと思われます・・・

4.マルチスレッド計算が外れてないか確認
  ファイルーオプションー詳細設定ー数式
  『マルチスレッド計算を行う』のチェックが外れてないか確認する
  ※表示でもたついてる感じなので、望みは薄いですが、これも一応・・・

いずれかで解決できるとよいのですが・・・

2017年08月06日

ゾウ

Ryo Ohno様

ご回答ありがとうございます、是非参考にさせていただきます。

1:
発注の一部にエクセルの計算を使っているため、できれば避けたいところです。
どうしても他のところで解決しなければ、手動にして毎秒再計算させるようなプログラムに変更してみます。

2:
実行済みでした。。(常にFalseに設定)
仰る通り、大きな改善は見られなかった記憶があります。

4:
チェックが入っておりました。


3と場合によっては1について試行してみます。
そもそもネット回線が遅いのでは?と思い、いま使っている古めのルーターを買い替え予定です。

少しお時間いただきますが、結果が出ましたらまた改めてご報告いたします。

ありがとうございました!

2017年08月07日

ゾウ

Ryo Ohno様

1の手動計算を試してみたところ、若干の改善が見られました。
元々有線なこともあってかルーターの変更では改善なさそうです。。

3については、Excel2007を使用しており方法がわからなかったので未実施です。

ちなみに10程度の銘柄を一度に取得しているのですが、それでも1秒弱で取得可能でしょうか?
ご教示いただけますと幸いです。

どうぞよろしくお願いいたします。

2017年08月09日

Ryo Ohno

手動計算で若干解決されましたか・・・
良かったですが、あまり解決策にはならないですね・・・
ちなみに、手動計算にされた場合でも、目標の1秒以内には遠く及ばない感じでしょうか?

自分のところも回線の帯域(回線を使っている量)はほとんど使っていませんでしたので、
よほどの事がない限り回線速度の問題は低そうですね・・・


>ちなみに10程度の銘柄を一度に取得しているのですが、それでも1秒弱で取得可能でしょうか?
今、255銘柄から、10銘柄に減らして条件を合わせてみたのですが、やはり1秒弱ぐらいでした。

あとは解決策とは違いますが、
QUOTE関数で現在値を取得しVBAで1分ごとに、
その時の価格をセルに設定するというのはいかがでしょうか?
それなら、比較的目標の時間には近づけられる気がします。

2017年08月10日

しょう

FNEWORDER(マクロで呼び出し)

はじめて投稿します。よろしくお願いいたします。

早速ですが、表題の件で質問があります。
質問①:下記のコードを実行しますと、コード中のNorder = FNEWORDER(TK(1),・・・・・のうち「TK」の部分が選択されて 「コンパイルエラー ByRef 引数の型が一致しません。」とエラーが出ます。配列に格納するときはString型にしないといけないのでしょうか? セルにマクロで呼び出しではなく直接=FNEWORDER($Q$4,$R$4,$S$4,$T$4,$U$4,$V$4,$W$4,$X$4,$Y$4,$Z$4,$AA$4,$AB$4,$AC$4,$AD$4,$AE$4,$AF$4,$AG$4,$AH$4)と入力すると実行は出来ました。

質問②:FNEWORDER関数をマクロで呼び出す時にMsgBoxを使用したくない場合、「Call FNEWORDER」とすれば実行出来ますか?

Public Sub Ordermini()
Call SetParts'シート名等を格納します
Dim OrderSheet As Worksheet
Dim Norder As String
Dim TK(1 To 16) As Variant
Set OrderSheet = Worksheets(WsName(1))
With OrderSheet
Dim i As Integer
For i = 1 To 16
TK(i) = .Cells(4, 16 + i)
Next i
End With
Norder = FNEWORDER(TK(1), TK(2), TK(3), TK(4), TK(5), TK(6), TK(7), TK(8), TK(9), TK(10), TK(11), TK(12), TK(13), TK(14), TK(15), TK(16))’発注単価、発注条件はブランクです。
Call MsgBox(Norder)
End Sub

以上です。

2017年09月19日

しょ しょう しょう

訂正です。

質問②:FNEWORDER関数をマクロで呼び出す時にMsgBoxを使用したくない場合、「Call Norder」とすれば実行出来ますか?

2017年09月19日

しょう

自己解決することが出来ました。
お騒がせいたしました。

2017年09月20日

大田孝

225先物で、エントリは5分足で、エクジットは5秒間隔で行いたい。


いつも.大変お世話になります。
1,エントリは、5分足のキャンドルの更新時にエントリ用のマクロを走らせたい。。
2、エグジットは,ポジション関数で利益をみるマクロを5秒間隔で走らせ決済をしていく。
1.2とも、ONTIMEにて5秒間隔の設定で行いました。1、は,キャンドル足の時間が変わった時点で5分毎にエントリマクロを動かします。1、2の5秒間隔、1の5分間隔のカウントをとって比較しましたが、最初は正確にカウントされていましたが、4時間後の朝には、全てが止まり、RSSもはずれていました。
1,ONTIMEは、不安定なのでしょうか? sub名(マクロ)も変えないと指定間隔どおり動かないこともありました。
2,ONTIME以外の方法はありますか?
ご教授願えれば大変有りがだいです。

2017年08月24日

大田孝

なるほど、やってみます。有難うございます。

2017年08月26日

大田孝

5分足更新は,エベントで、5秒間隔はONTIMEでも行いました。RSSが勝手に外れる様なことはないのですが,しかしONTIMEの方は不安定のような気がします。他に,方法はないものなんでしょうか。お教え下さい。

2017年08月24日

Ryo Ohno

大田さん、初めまして

onTimeは、もしかして一つ一つのマクロ(VBAの関数(プロシージャ))に、
一つずつ設定されていますでしょうか?

もし使われる場合は、ワークブック(1エクセルファイル)単位で
1つonTimeを用意されて、
その中のマクロで、5分足のロウソク足と、利益を見るマクロを
動かしてあげれば安定すると思います!!

2017年08月24日

Ryo Ohno

いえ、こちらこそ説明不足&誤解を与えてしまい、
申し訳ありません。
次回の資料には、追記しておきますっ!!

こちらこそ、ありがとうございました。

2017年08月26日

RSSユーザー

発注後、反応が遅かったり、RRSの反応が長い間無い時があります

先物で、返済注文、訂正注文、取消注文などの注文関数をエクセルのセルに記載してVBAで再計算して発注しています。
その発注関数の戻り値を確認して、「発注完了」となった時点で、次の注文を連続して発注をするようにしています。
最初の注文後、VBAの状態を記録してVBAを抜けてOntimeで数秒後に、VBAが起動しVBAを抜けたところの状態に戻り再度「発注完了」を確認していますが、PCのディスプレイの右下に表示されるRSSの発注状態を表示する窓が半透明のまま数分間もの長い間消えなかったりして、停止しているように見えて連続発注ができないことがあります。
対策はありますでしょうか?

2017年12月08日

RSSユーザー

付け加えますが、このとき、WEBで取引状況を確認すると、すでに発注済みです。
岡三RSSを、Alt+Control+Deleteでプロセスを終了して再起動すると「発注完了」となります。
なお、EXCEL2007、OSはWindows7です。

2017年12月08日

RSSユーザー

動作環境を確認しましたとろ、エクセルは、Office 2010(32bit)以降の対応でした。

2017年12月08日

Ryo Ohno

こんばんは!!

初めて聞く症状です・・・

以下の状況で間違いないでしょうか?

1.VBAにて発注
2.onTimeで数秒後に『発注完了』の確認をしている
3.右下に発注状態(緑色の正方形の画面)が出続けて、発注完了にならない

上記の件ですが、数点確認させてくださーい

1.発注状態を表示してる画面は、緑色の正方形の画面になりますでしょうか?
そしてこの画面が半透明にはぅて止まっている
2.毎回ではなくたまになるときがある

という感じでしょーかー?

なかなか解決が難しそうな問題です・・・(^^;

2017年12月12日

Ma Mi

エクセルは、Office 2010(64bit),windows7の環境下で確認しました。

>1.発注状態を表示してる画面は、緑色の正方形の画面になりますでしょうか?
そしてこの画面が半透明にはぅて止まっている

 発注後に、ディスプレイの右下に結果を表示するポップアップ画面です。
 ついでに申し上げると、発注確認を「あり」にすると、発注確認の[OK]クリック後に、ディスプレイの真中に表示される「受付ました」のポップアップ画面も[OK]をクリックしても消えません。こちらは半透明ではありません。

>2.毎回ではなくたまになるときがある

 相場が急変しているようなときに頻繁になるような気がします。
RSSで発注後、WEBで注文状態を確認すると受付が2、3分後の時や、10分以上の場合もありましたし、発注できていない時もあります。

 岡三RSSを、Alt+Control+Deleteでプロセスを確認すると、メモリの欄は、通常250,000kくらいが1,000,000kくらいになっている時もあります。

 これは、VBAの作りの問題でしょうか?
 岡三オンラインさんのサーバ側の問題でしょうか?
 こちら側で対処できるのであれば、対処したいです。

2018年01月19日

ヤマダ

225miniの四半期期近(3,6,9,12月)データを作成する方法を教えてください。

FCANDLEで作ろうとすると直近になってしまいます。 数100日分をTOPIX先物の直近と並べて比較できるようにしたいです。 よろしくお願いします。

2017年12月18日

Ryo Ohno

ヤマダさん、こんにちはっ!!

こちらは過去100日分の期近(中心限月)のデータのつなぎ足のデータを
取得されたいということでしょうか?
※現在でいうと・・・過去4期分で
※2018/03、2017/12、2017/09、2017/06
※のデータのつなぎ足がほしい


もし上記のような状態でしたら

=FCANDLE("N225mini","0","B","0","始値",D2,"D","100")

のように、期近のデータで取得本数を『100』としますと
中心限月のデータとして、つなぎ足が取得できますっ!!

何か勘違いしている気もしますので、もし間違っていたら
再度、投稿頂けますと幸いですっ!!

2017年12月21日

ヤマダ

Ohnoさん、ありがとうございます。

225miniの「直近」というのは「直近の中心限月」なんですね。
私の確認不足による勘違いだったようです。

ちゃんと確認してみます。
ありがとうございました。

2017年12月22日

Ryo Ohno

自分の勘違いではなかったですかー
よかったです。

確かに、ミニの期近は中心弦月ってのがわかり辛いですよねー
たぶん、昔はミニも3,6,9,12しか無かったので、
その時のPGとかも、ちゃんと動くように考慮して今のような形になってるのかもですねー

なにはともあれお役に立てようでよかったです。

2017年12月22日

RSSユーザー

セルの+表示についてです。

お世話になっております。IDX("N225","前日終値比幅")で+表示ができません。エクセルのユーザー定義はできないのでしょうか、お教えください。

2020年10月14日

RSSユーザー

出来ました!ありがとうございました。

2020年10月14日

大野 了

こんにちは!!

こちらは、
『前日終値比幅』がプラスの場合に、頭に+を付けたいんだけど、
ユーザ定義しても、+が付かないという事でしょうか?

もしそれであれば、IDXの戻りが文字列型になっているため、
ユーザ定義が機能しないと思われます。

=VALUE(IDX("N225","前日終値比幅"))

の様にVALUEで囲んで頂けますと、
IDXの戻り値が数値型になるため
『+#.00;-#.00』
のようなユーザ定義が機能するようになりまっす!!

2020年10月14日

システム

岡三RSS稼動させるエクセル関数について

お世話になります。

岡三RSSで1分おきに出来高等を書き出し、
それを下の行へずらしていくマクロを使用しております。
出来高を集計したい為、

=SUMIF($S$8:$S$20000,AL8,$T$8:$T$20000)

とすると、1分後には=SUMIF($S$9:$S$20000,AL8,$T$9:$T$20000)
となってしまい、ずれていきます。
S9とならずに、S8で固定させたいのですが、
INDIRECT関数か何かを組み込むとよいでしょうか。

何か良い方法があれば、教えていただけますか。

2023年01月11日

大野 了

システムさん、こんにちは!!

そうですねー
INDIRECTで固定させてあげるか、
もしマクロを使われているのであれば、

Sheets("Sheet1").Range("C1") = "=SUMIF($S$8:$S$20000,AL8,$T$8:$T$20000)"

のような感じで追加後に上書きさせてあげるかと思います!!

多分、INDIRECTが最も簡単だと思います!!

2023年01月12日

マーク

RSSの「再接続失敗」について

お世話になります。
岡三RSSを使って、自動売買をしております。
ナイトセッションも朝の引けまで、繋ぎっぱなしで立ち上げたままなのですが、朝に確認すると、ネットワークが切断された状態で、ログイン履歴が表示されていることがたまにあります。

ログイン履歴は以下のような感じです。

08:00 ログイン完了
23:25 再接続中… ネットワーク切断
23:25 再接続失敗 情報配信サーバへ接続できません。ネットワークの設定を確認してください。

普段は、朝まで繋がったままなのですがたまに夜の間に切断されてしまいます。

上記のような問題を解決する方法はないでしょうか?
よろしくお願いします。

2017年09月28日

小笠原聖史

私も基本繋いだままの状態ですので、マークさんと同じように再接続の履歴はよく出てきます。
が、切れたままになることはあまり経験がありませんので、マニュアルをのぞいてみると、パスワードの変更や書面の未承諾の状態があると一旦メンテナンス時間に入ったあとの再接続が不可となる、とあります。ご参考になれば幸いです。

2017年09月28日

マーク

小笠原さん、コメントありがとうございます。
なるほど、さっそく書面の未承諾など確認してみます。

ただ、メンテナンス時間は、ナイトセッションが引けた、早朝だと思うのですが、履歴を見ると、切断状態から再接続が失敗するのは、場中なので、他にも原因があるのではと思います。
一度、自宅のネットワークの状態なども調べてみます。

2017年09月28日

岡三オンライン証券

岡三RSS利用日数プレゼントキャンペーン[岡三RSSメンバーズ限定]のお知らせ

岡三RSSメンバーズへ入会しているお客さまを対象に、岡三RSS利用日数90日間分(利用料金5,000円/35日間)をプレゼントいたします。

通常、岡三RSSのご利用には利用料金(5,000円/35日間)が発生いたしますが、本キャンペーンの対象となるお客さまにおいては、90日間分を無料にてご利用いただけます。

対象となるお客さま
(1)証券総合口座をお持ちのお客さま
(2)岡三RSSメンバーズに入会されている方
※本キャンペーンはエントリーが不要です。

岡三RSSメンバーズは、入会金無料の岡三RSSユーザーコミュニティです。入会されたメンバー様にはさまざまな特典をご用意しています。

▼岡三RSSメンバーズ詳細&入会はこちら
https://www.okasan-online.co.jp/ont/rss/ members/ target="_blank">https://www.okasan-online.co.jp/ont/rss/ members/

▼岡三RSSについてはこちら
https://www.okasan-online.co.jp/ont/rss/

▼本キャンペーンについてはこちら
https://www.okasan-online.co.jp/campaign/2017/rss/2017_11_01/

2017年11月01日

Hisam

板読み投資術のシートについて教えてください

初めて質問します。板読み投資術のエクセルシートで、トレード候補抽出Step1が不可状態になっていて、クリックすると『RSS
からデータ取得してから操作してください』が出ます。トレード候補Step2は可能になっていてワークしています。左上のおすすめ5も出てきます。 どこをどうしたら良いでしょうか? 初心者なのでどなたか教えてください。 また、自分で新しい銘柄を既存の300銘柄に加えるのはどのようにしたら良いのでしょうか? よろしくお願いいたします。

2017年10月20日

小笠原聖史

拝見いたしました。2枚目の「データ」シートのJ列が#REF!になっていると、Step1不可状態、の表示になります。データシートの102行目以下を削除していただくと、J列の#REF!が消えると思います。そうすれば、step1のボタンが押せるようになると思うのですが、試してみていただけますでしょうか?

2017年10月22日

Hisam

できました! 何度も指導していただきありがとうございました!!
明日から早速使ってみます、楽しみです!
最後にもう一つ教えてください。 自分で銘柄を足すのは、どこに足したらよいのでしょうか? 

2017年10月22日

Hisam

いろいろありがとうございます。 シストレに大変興味がありますので、今後小笠原さんのセミナーに参加したいです!(Bコミさんのは数回参加しました)その節はよろしくお願いいたします。 また、ラジオ日経楽しみにしています。 久保田

2017年10月22日

Hisam

キャプチャー1.png (146.2KB)

ありがとうございます。
全部で3枚のキャプチャーを送らせていただきます。

2017年10月22日

Hisam

こんにちは。小笠原様のセミナー、東京で開催されるもののご予定はありますでしょうか? もしくはスクールのようなものでも良いのですが(有料でも良いです)教えて頂けますでしょうか? 

2017年11月06日

岡三 オンライン

いつも岡三RSSをご利用いただき、誠にありがとうございます。
岡三RSSの会場セミナーを年明けに東京にて開催しようと準備を進めております。
その際の講師として、小笠原さまにご登壇いただく予定でございます。
詳細が決まり次第、Webサイトにて募集を開始いたします。
なお、RSSメンバーズさまを優先でご案内する予定としておりますので、もしまだ未入会の場合には入会をご検討くださいますようお願いいたします。

▼岡三RSSメンバーズの詳細について
https://www.okasan-online.co.jp/ont/rss/members/

これからもご愛顧賜りますよう、お願い申しあげます。

2017年11月06日

小笠原聖史

はじめまして、Hisam様、小笠原と申します。
板読み投資術のシートにトライくださり、ありがとうございます。
おてもとのファイルのバックアップをどこかのフォルダにおいていただいた上で、以下お試しいただけますでしょうか。
①ユニバース設定というシートが一番右端にあると思います。
②当該シートの102行目以下を削除して、一旦そのファイルを保存して閉じていただけますでしょうか。
③そしてstep1は不可状態か可能か、どうなったか教えていただけませんでしょうか。
よろしくお願いいたします。

2017年10月20日

Hisam

小笠原様、早速のお返事ありがとうございます。①〜②やりましたが、step1は不可状態のままです。クリックすると同じ『RSSからデータ〜〜〜』が出ます。

2017年10月20日

小笠原聖史

承知しました。
では、さらに「データ」シートの151行目以下を削除して、一旦保存いたただき、再度開いていただけますでしょうか?
その時点でのstep1の不可、可能状態について教えていただけますでしょうか?

2017年10月21日

Hisam

おはようございます。さて、『データ』の151行目から削除しましたが、不可のままです。昨日の『ユニバース』の102行目も、今回の151行目もそれぞれ500行目までの削除にしましたが、それで良いのでしょうか? ラジオやセミナー等お仕事で大変お忙しい中、お手数おかけし申し訳ございませんが、よろしくお願い致します。

2017年10月21日

小笠原聖史

久保田様
セミナーぜひいらしてください。そしてシストレの楽しさを久保田様と共有できれば幸いです。
ラジオ日経は、機転の利いた返しが難しくて、苦戦しておりますが、シストレに興味ある方に有益な情報を提供したいという思いでしばらく頑張ってみます。引き続きよろしくお願いいたします!

2017年10月22日

小笠原聖史

お気遣いありがとうございます。Hsam様のPCで動作するまで頑張りますのでよろしくお願いいたします。
さて、データの151行目から500行目までの削除、ユニバースの102行目から500行目までの削除していただきありがとうございます。
なぜそうしていただいたかというと、PCのメモリ等のスペックが足りない場合にHisam様のおっしゃる現象が現れる経験がありましたので同じことかなと思ったのですが、どうも違うようです。
念のためですが、岡三RSSへのログインが切れていた、ということもたまにありますが大丈夫でしょうか?
あと、エクセルの画面のキャプチャーを集いの広場にアップロードしていただくことは可能でしょうか?

2017年10月22日

小笠原聖史

よかったです!
あと、ご自身で銘柄を追加する方法ですが、
①ユニバースシートで102行目に、B列に銘柄コードとC列に銘柄名を記入してください。
②追加した銘柄分、データシートの102行目に、101行目のE~J列の内容をコピーしてください。
以上で1銘柄追加できると思います。
同じ手順を下の行に向かって繰り返すことにより、銘柄数を増やすことができると思います。
ただし、銘柄数がHisam様のPCのスペックの限界を超えると、また最初と同じようにstep1が押せなくなってしまうと思いますので、いいあんばいの銘柄数を探ってみてください。

2017年10月22日

ササキ

板読み投資術のサンプルシートの銘柄の入れ替え方について

初めまして。
銘柄を入れ替えずに使用すると問題なく使えるのですが、
銘柄の入れ替え(追加でも)
ユニバース設定シートのB列に入力して変更するのかと思い
入れ替えた後に
トレード候補抽出step1 を押すと、
前日終値の列にN/A、前日比率の列に♯VALUE!と出る銘柄があり
トレード候補抽出step2 の抽出が不可になってしまいます。

板読み投資術のシートを使ってみたくて岡三RSSを初めて使ってみて、自分なりに色々試しては板のですが解決せずお手上げです。

使用環境は
Windows10 64bit
Excel2016を使っています。
CPU I7-3770 3.4GHz
メモリ 8G (通常で使用してるメモリは50%~60%程度)

もし、解決方法が分かる方いましたらご教授願えませんでしょうか?
よろしくお願いします。

2017年10月22日

小笠原聖史

ササキ様、初めまして。小笠原と申します。
銘柄の追加、変更時には、ユニバース設定シートのB列に銘柄コードを、C列に銘柄名を入力してみていただけますでしょうか?
PCのスペックは十分ですので、追加しても大丈夫だと思います。

2017年10月23日

RSSユーザー

コメントありがとうございます。
C列に銘柄名入れても変化はありませんでした。
コード打ち込んだ時点で
データシートの方で#VALUE! 出ます。

お手数かけますがよろしくお願いいたします。

2017年10月23日

小笠原聖史

承知しました。ササキ様のPCで銘柄追加ができるようになるまで頑張ります。
状況を確認してみたいので、銘柄の追加をしたあとの3つのシートのキャプチャーを添付ファイルで拝見させていただいてもよろしいでしょうか?

2017年10月23日

ササキ

301行目のみ入れ替え.JPG (168.4KB)

なるほど。
ユニバースの301行目のコードと銘柄名を入れ替えてみたところ、データシートの方で#VALUE!が出てきました。

2017年10月24日

小笠原聖史

ササキ様
拝見いたしました。
データシートで302行目以降で岡三RSSからデータが取得できていない銘柄が確認できております。一銘柄でもデータが取得できない銘柄があり#Value!などのエラーがセルに表示されると、step1が不可になってしまいます。
ユニバース設定シートの301行目の銘柄コードと銘柄名を書き換えた場合にはうまく動作すると思われますが、いかがでしょうか?
もしそうだとすると、302行目以降の追加がPC側要因で不可となっている可能性がございます。

2017年10月24日

ササキ

初期設定のファイル.JPG (205.9KB)

関係あるかどうかは分からないのですが、今日、確認した現象として、先日投稿したファイルを開いた所、エラーが出る銘柄が変わっておりました。
一度閉じて、アドインのリンク先を変更だけしてた初期銘柄のままのファイルを開いてみて動作確認したところ、画像の行がうまく取得出来てない状態になっていました。(先日は動作確認したときはOKだったのですが)

2017年10月24日

小笠原聖史

ササキ様、お待たせして申し訳ありません。
にアップしていただいたキャプチャーを拝見する限り、デフォルトで設定されている銘柄数よりも増加させるとPCスペックの限界を超えているように思います。当初300銘柄の範囲内で銘柄を入れ替えていただく運用だとうまくいくと思います。

2017年10月24日

ササキ

お世話になっております。
対象銘柄を100銘柄まで減らし、読み込まない銘柄は入れ替えて運用できるようになりました。
これでしばらく運用してみたいと思います。
ありがとうございました。

2017年10月24日

ササキ

いえいえ、お忙しい中、初歩的な質問に対応してくださり感謝しております。
先日、板読み投資シートの質問をされていた方へのアドバイスの様に銘柄を減らしてみたり、300銘柄の中で銘柄を入れ替えてもエラーが出てしまいます。
ひとつ確認なのですが、銘柄名は正式名称で入力しなければならないとかなどはありますか?

2017年10月24日

ササキ

お世話になっております。
対象銘柄を100銘柄まで減らし、読み込まない銘柄は入れ替えて運用できるようになりました。
これでしばらく運用してみたいと思います。
ありがとうございました。

2017年10月24日

小笠原聖史

ご確認事項ですが、銘柄名は正式名称でなくとも動作するように作っております。

2017年10月24日

リラックマサ

岡三RSSのアドインファイルが作成されません

岡三RSSのインストールが出来ずに困っています。

Q&Aに記載と同じ現象が発生したのですが、
ExcelバージョンはExcel2010なのですが、岡三RSSフォルダが
作成されません。どうしたらいいでしょうか。

http://qa.okasan-online.co.jp/faq_detail.html?id=549&category=130&page=1

>岡三RSSのインストールは正常に完了したのですが、マニュアルに記載されてい
る「岡三RSS」フォルダがドライブ上に存在していないため、Excel上でアドイン
ファイルの指定ができません。

>岡三RSSでは、Excel2010以降のバージョンを推奨環境とさせていただいており
ます。お客様がご利用のExcelバージョンがExcel2007以前の場合、岡三RSSのア
ドインファイル「岡三RSS.xla」および「岡三RSS」フォルダが作成されない可能
性があります。

2017年10月28日

リラックマサ

お手数をおかけします。

〇Windowsのバージョン
Windows8.1
〇Windowsのbit数
64bit
〇岡三RSS自体はインストールされているか?
岡三RSSはインストールされています。

あと、参考になるか分かりませんが、
何年か前に岡三RSSを使っていたことがあるので
その時はうまく動いていたのですが、

今回、久しぶりに使おうとして
エラーになった関数があったため
一度アンインストールしました。

2017年11月01日

リラックマサ

コメントありがとうございます。

Okasan Online Securities Co.,Ltdのフォルダ自体が
作られていないようでした。
また、再インストールは試しましたが、結果は変わりませんでした。
よろしくお願いします。

2017年10月30日

Ryo Ohno

リラックスマサさん、初めまして。

岡三RSSのフォルダが作成されないとのことですが、
『岡三RSS.xla』を指定するための岡三RSSのフォルダが存在しないということでしょうか?

自分はなったことがないのですが、知り合いの方で発生したことがあります。

確かにたまにインストールされなかったり、違うところにインストールされることがあるようです。

また、岡三RSSのインストールの後に、
岡三RSSエクセルアドインがインストールされるのですが、
このインストールがなぜかキャンセルされてしまったりして、
岡三RSSエクセルアドインがインストールされない事があるようです。


もし、場所を確認されるとしたら・・・
以下の場所を確認してみて頂けますでしょうか?
※確認場所はWindowsのbit数によって変わってきます。


〇Windowsが64bitの場合
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd

〇Windowsが32bitの場合
C:\Program Files\Okasan Online Securities Co.,Ltd


また、岡三RSSフォルダができた場合でも、
岡三RSSフォルダの直下に『岡三RSS.xla』がある場合と、
岡三RSSフォルダの下に『Addin』というフォルダができて、
その中に『岡三RSS.xla』が入っている場合があるようです。


もし
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd

C:\Program Files\Okasan Online Securities Co.,Ltd
の両方になかった場合、
『岡三RSS』と『岡三RSSエクセルアドイン』を消してから、再インストールすると作られるようです。

これで、うまくいくと良いのですがー

もし何かご不明な点がございましたら、ご連絡ください!!

2017年10月29日

Ryo Ohno

『Okasan Online Securities Co.,Ltd』自体が出来ていませんですが・・・
うーん、なんでしょうか・・・


以下のことを教えて頂けますでしょうかー?

〇Windowsのバージョン(Windows10など)
〇Windowsのbit数(32bitか64bitか)
〇岡三RSS自体はインストールされているか?

2017年10月31日

Ryo Ohno

リラックマサさん、8.1ですか・・・
唯一ないマシンが・・・(^^;

64bitでしたら、通常ですと
『C:\Program Files (x86)\Okasan Online Securities Co.,Ltd』
に、エクセルアドインがインストールされるはずなのですが・・・


『岡三RSS』と『岡三RSSエクセルアドイン』は別物になって、
通常、岡三RSSのインストールが終わった時に
『続けてエクセルアドインをインストールしますか?』
と聞かれるはずなのですが、こちらは聞かれますでしょうか?

もし聞かれなかったりする場合は、
もしかするとclickonceの情報が壊れてしまって正常にインストールできないのかもしれません・・・


clickonceの情報は、以下の手順で初期化ができるのですが、
この手順で岡三RSSを復旧したことがないので、
大変申し訳ございませんが、正常に直るとか、
勢いあまってPCが壊れないとかいう保証ができません・・・
自己責任で試して頂けますと幸いです。(申し訳ありません

1.『岡三RSS』をアンインストール
2.『岡三RSSエクセルアドイン』があればアンインストール
3.以下のサイトの手順で、clickonceの情報を削除
http://blog.regrex.jp/2016/09/02/post-972/

2017年11月02日

リラックマサ

>『続けてエクセルアドインをインストールしますか?』
と聞かれるはずなのですが、こちらは聞かれますでしょうか?

これは聞かれていませんでした。

>3.以下のサイトの手順で、clickonceの情報を削除
こちらの情報をもとに該当フォルダを削除したら
上記エクセルアドインをインストールを聞かれまして
無事インストールすることが出来ました。

関数も無事動きまして助かりました。
この度は誠にありがとうございました。

2017年11月03日

Ryo Ohno

おぉぉ!!
リラックマサさん、直りましたかー!!
それは良かったです!!

ということは、やっぱりclickonceの情報が何かのきっかけで壊れてしまって、
アドインがインストール済みと誤認識してしまっていたようです。

自分も勉強になりました。
きっかけをありがとうございました。

2017年11月03日

Tango

注文が実行されないことについて

お世話になります。
環境が変わったわけでもなく、突如、注文が入らないことがあります。
例えば、16:25に寄り成り注文を入れても、注文が実行されない場合があります。(右下のコマンドの窓が現れない現象です。)
注意深くエクセル(プログラム)上の時計を見ていると、1秒ごとに刻まず、飛び飛びで表示される現象が起こっています。
このことが、直接注文の起動に影響を与えているのかは不明ですが、何方か、エクセル上の時間が正確に刻まれないことについてご教示頂けますでしょうか。また、発注が安定的になされないその他の要因等、何かご存知であれば、併せてご指導いただければ幸いです。
よろしくお願い致します。

2017年11月01日

Ryo Ohno

Tangoさん

申し訳ありません。
一度、送信が正常にできなくて返信が滞っておりました。
遅くなってしまい申し訳ありません。

確かに、5秒も止まるとなるとTangoさんがおっしゃられている通り、
値動きが激しいときはあぶないですね・・・

外的要因(ウイルスチェックなど)とは思いますが、
VBAの動作がもたつくときはExcelが原因のことが多いので、
ExcelでVBAを阻害するような別のアドインが入っていないかも確認していただけますと幸いです。
原因究明の少しでもお手伝いになれば・・・


自分もほかに何か思いつきましたら、また連絡致します。

2017年11月19日

Tango

Ryo Ohno 様
ご指導頂きありがとうございます。
お礼のご連絡が遅くなり申し訳ございません。
PCを代えて動作確認を行っておりました。
従来の機種はCeleron 2GHzで、現在、 i7-2.6GHzで起動確認をしております。 (WIN10、Office2013の環境です。)
Updateの時に一度変な動作をしてましたが、その後の再起動で問題なく動作してます。
このことから、CPU能力と負荷の関係かと思うのですが、如何でしょうか。
現在、1秒監視なのですが、2秒にすることで、問題が解決されるのか、今のところ、根本的な問題がどこにあるのか、特定出来ていません。

プロシジャーは以下の通りです。

Public Sub tradeBody()

Set s2 = Sheets("Trade")
s2.Range("c2") = Now
runtime = TimeValue(Now)

.......

earlist = Now + TimeValue("00:00:01")
latest = earlist + TimeValue("00:00:05")
Call Application.OnTime(earlist, "tradeBody", latest, True)

現状、そのようなところで推移しております。
また何かお知恵を拝借できるようであれば、ご指導のほどよろしくお願い致します。

2017年11月09日

Tango

Ryo Ohno 様
色々とご教示頂きありがとうございます。
Queue自体がなぜ蓄積されるのかという根本的な理由を探らなければならないと考えておりました。と言いますのも、時間が1秒ではなく、5秒以上停止することも以前に確認したことがあったからです。そうすると、時間を引き伸ばすだけでは、解決しない可能性があると考えておりました。
また、1秒ごとに監視することを重要視したのは、価格の変動が著しいとき、秒数をあけることにより、変動リスクが増すことも懸念材料としてありました。
とはいうものの、具体的な問題の解決策が見当たらないことから、まずは、監視時間の間隔を2~3秒に設定すると同時に、時間が飛ぶ瞬間にバックグラウンドで何が動いているのかなどをモニターするなどをして、原因究明と対処を平行して行っていこうと思います。

2017年11月11日

Ryo Ohno

Tangoさん初めまして。

Tangoさんが作成されたExcelシートの状況がわかりませんので、
何点か確認させてくださいっ!!

〇発注はVBAで行われていますでしょうか?
〇onTimeでマクロを繰り返し実行される感じでしょうか?
〇エクセル上の時計と言われますのは
range("A1") = Now()
などの形で、現在の時間をセルに書き出している時間が飛び飛びに表示されるということでしょうか?


もし発注がVBAで、マクロをonTimeで繰り返し実行している形ですと、
時間が飛び飛びになってしまうのは、ロジック次第ですが動き続けている限り問題ありません。


もし、ロジックやPCの負荷の関係で1秒単位での動きでは厳しい場合

If TimeValue(Now) = TimeValue("16:25") Then

などと時間の判定が入っていますと、16:25:00にたまたま動かず、16:25:01にマクロが動いてしまうと、
判定がスルーされてしまいます。

もしPCの負荷や作成されているロジックの関係上1秒毎に動作が厳しい場合は、

If (TimeValue("16:25") <= TimeValue(Now)) And (TimeValue(Now) <= TimeValue("16:26")) Then

などとすると、1分間は判定に余裕がでますので正常に時間を判定できると思われます。

また、この場合、
1分間内に、複数回、寄成の注文が出てしまうと思いますので、
2回目の発注をスルーする処理が必要となります。

2017年11月03日

Ryo Ohno

Tango様

そうですね・・・
1秒おきにマクロが動かない件ですが、
たぶん、ロジックが高度で時間がかかっている、
もしくは外部的要因(ウイルススキャンなどが動いている)かもしれません。

もし2,3秒の間隔でしか、VBAが動けない場合でも、
もしTangoさんのストラテジー的に問題がないのであれば、
現状のままでも問題ないと思われます。


ただ、以下の2点は対応しておいたが良いかもーと思いました。
#Tangoさんのロジックや状況がわからないので、
#的外れなことをことを書いておりましたら、申し訳ありません。

1.寄り成り注文などの判定を・・・
 If TimeValue(Now) = TimeValue("16:25") Then
 から
 If (TimeValue("16:25") <= TimeValue(Now)) And (TimeValue(Now) <= TimeValue("16:26")) Then
 のように幅を持たせる

 この判定文『If TimeValue(Now) = TimeValue("16:25") Then』
 で、1秒間隔で動かない場合・・・

 もし・・・
 16:24:58
 16:24:59
 16:25:01
 のような間隔で、VBAが動いてしまったときに、16:25の発注が動きません。
 もしかするとこれが、たまに発注がかからない原因かもしれませんので、
 If (TimeValue("16:25") <= TimeValue(Now)) And (TimeValue(Now) <= TimeValue("16:26")) Then
 として頂けますと、もしかすると発注ミスはなくなると思います。


2.onTimeの終了時間を外す
 earlist = Now + TimeValue("00:00:01")
 latest = earlist + TimeValue("00:00:05")
 Call Application.OnTime(earlist, "tradeBody", latest, True)

 こちらの場合、何かしらの理由で5秒間VBAの動作の感覚が空いてしまうと、
 PGが止まってしまう可能性があります。
 もし問題がなければ
 Call Application.OnTime(earlist, "tradeBody")
 として頂けますと、VBAの間隔が、30分空いても、次のtradeBodyを必ず実行してくれますので、
 TangoさんのVBAのプログラム次第ではこちらの方がよいかもしれません。


以上、少しでもご参考になれば幸いです。

2017年11月09日

TA2104

単純なデータの取得方法

(初心者です。基本的な質問をさせてください。)
各種データを取得する方法について質問します。
RSSは、1回に読めるデータの上限が500項目との説明を受けました。(パフォーマンスの良い処理を目指しますので、この制約を守りたいと思います)
やりたいことは、1000種類の銘柄の前日終値と現在値を読み込むことです。前日終値は1日1回、現在値は短い間隔で読みたいと思います。
RSSに関する資料を読むと、データの読み込みはEXCELのシート経由がお勧めだと書いてあります。各セルにQUOTE関数をセットして読み込む事が「シート経由の読み込み」と理解しています。
そうすると、500項目単位での読み込みができません。
(一度セルにQUOTE関数をセットするとリアルタイムでどんどん読み込んでしまいます)
どのように処理を作ったら、500項目単位の処理ができるのですか?
また、前日終値などは1日1度の読み込みで終わらせたいと考えています。セルにQUOTEをセットして、データを取得した後はどのように処理すればいいのですか?(セルを””(ブランク)で埋める処理などを行う必要がありますか?)

このような問題は、VBAでコーディングすれば回避できると思いますが、VBAで回避した場合は、どのような不都合が生じるのですか?)

基本的な質問で申し訳ありません。
どなたか、ご教授お願いします。

2017年08月30日

Ryo Ohno

TA2104さん
初めまして、大野と申します。

QUOTEで同時に1000銘柄ですか・・・
なかなかに厳しいです・・・

VBAで取得するということや、レスポンスのお話以前に、
残念ながら岡三RSSで同時に取得できる銘柄数は起動後500銘柄までと決まっています

いったん、500件取得してしまうと、岡三RSSがその銘柄を覚えてしまっているため
セル上のQUOTE関数をブランクで塗りつぶしても、残りの500件を取得することができないため
一度、Excelを閉じたりログアウトしないと残りが取得できません。

もし全自動で1000銘柄の情報を取得するためには、

1.前半の500銘柄を取得するブックを起動しデータ取得
2.いったんブックを閉じる
3.1分ほど末(もしくはログアウト)
4.後半の500銘柄を取得するブックを起動しデータを取得

などとして、取得する必要があります。

もしくは、PCを2台用意したり、仮想環境などで、
2つの岡三RSSを動かせるようにしたりするなど・・・

2017年09月06日

TA2104

大野さん
そういう仕様になっているんですか。
参考になりました。
ありがとうございます。

2017年09月06日

Ryo Ohno

以前、サーバーの負荷等の為とお聞きしたことがあるのですが、
出来ればもう少し取得数が増えると、確かにありがたいですね。

もし、自動で処理されたい場合は、
自動化ツールのUWSCや、windowsに標準で付いているタスクスケジューラーを使用すると自動化が可能になります

2017年09月06日

窓店

分足のリアルタイム更新

初心者丸出しの質問ですみません。
日本株の1分足をリアルタイムで更新していきたいです。
岡三RSSのマニュアルを見てもイマイチやり方が分からないのですが、やり方としては本数の項目を1にして次の行に移動みたいな処理でしょうか?

2018年01月20日

Ryo Ohno

窓店さん、こんにちは!!

はい、1分足をリアルタイムで更新するには
窓店さんが仰られる通り、
CANDLE関数で取得本数を1にするのが、一番いいと思いまーす。

以下のように本数を1にすると、日本株のデータが最新の1分のみ帰ってきます!!
=CANDLE("8609","東証","1","0","終値",A2,"D","1")

2018年01月23日

Takahiro Onishi

岡三RSSのクラウド環境での実行について

初めて投稿させていただきます。

現在、岡三RSSの稼働環境をクラウドへ移行できないか検討中なのですが、自分が調べた限りだとExcelのライセンスまわりがややこしいように思いました。

クラウド環境でのノウハウをお持ちの方がいらっしゃれば、どちらのサービスを使っているのかや、費用などについてご教授願えないでしょうか?
よろしくお願いいたします。

2018年01月28日

Takahiro Onishi

ありがとうございます、参考にさせていただきます!

2018年02月01日

rssfan

個人で購入したOfficeライセンスをデータセンターで使用することは、Microsoftのライセンスとしては問題があるかもしれません。ライセンスを購入したのだからいいのではと思ってしまいますが難しいところです。

2018年02月07日

小笠原聖史

takahiroさま
私はエイブルネットさんの仮想デスクトッププランwin2(月額2077円、年払い時)を使っております。使い始めるまでの設定がとても簡単です。普段使いのPCとしては物足りないスペックですが、RSSは問題なく動作します。
エクセルのインストール方法は、様々あると思いますが、私は以前、自宅のPCのドライブにメディアをセットして仮想環境からそのドライブを使ってインストールしました。
ご参考になれば幸いです。
http://www.ablenet.jp/

2018年01月30日

武田志郎

順張り・逆張りサンプルシートについて

1/12放送のデイトレオンラインで話していた、順張り・逆張りのサンプルシートサンプルシートをダウンロードしたのですが、過去データが3年間分しかありません。
株式データの場合、6年分のデータを取得できるはずですが、どこをどう変更したら、6年分の過去検証をする事が出来るのでしょうか?
ご存知の方がいらっしゃいましたら、教えてください。
またこれが出来た場合、更にその前の6年間のデータを取得して合計12年間の過去検証を行う事は可能でしょうか?
(例えば、2012/1/15から2018/1/14までのデータと2006/1/15から2012/1/14までの2期間に分けて過去検証をする事は出来ますでしょうか?)
ご存知の方がいらっしゃいましたら、これも合わせて教えてくださいませ。
よろしくお願い致します。

2018年01月15日

武田志郎

小笠原さん

「曜日別アノマリー」の方にも書きましたが、こちらでも御礼申し上げます。
ありがとうございました。(^_^)

2018年01月18日

小笠原聖史

6年対応【信用取引】順張り逆張り効果検証シート_20170207.xlsx (0.5MB)

武田様
シートをダウンロードしてくださり、ありがとうございました。
6年間の日足に対応できるように、シートを修正しましたので、よろしければご利用してみてください。
ただ、岡三RSSの日足の取得可能期間は過去6年分ですので、12年の検証は行うことができません。
どうぞよろしくお願いいたします。

2018年01月15日

武田志郎

小笠原さん、ご回答ありがとうございます。
しかも早速の添付ファイルもありがとうございます。(^_^)
過去データは6年分だけという事、了解しました。

ところで、前回の曜日アノマリー株式用のエクセルマクロ有効ファイルですが、私のメールアドレスに添付して頂くという事は可能でしょうか?
この集いの広場にマクロ有効ファイルのアップが出来ないのなら、一番有効だと思うのですが、いかがでしょうか?
よろしくお願いします。

2018年01月15日

武田志郎

「曜日アノマリー」を個別株で検証する方法

初めて投稿させて頂きます。最近岡三RSSの勉強を始めた新参者ですが、よろしくお願いいたします。
2017/11/20更新のサンプルシート「曜日アノマリー」が、とても興味深くダウンロード致しました。
ただ私は、先物取引ではなく個別銘柄で過去検証したいのです。
RSSの勉強で、FCANDLE関数をQUOTEに変更するという処まで分かりました。
でも実際には、どこをどう変えれば個別株で過去検証出来るようになるでしょうか?
ご存知の方がいらっしゃいましたら、教えてください。
よろしくお願いします。

2018年01月04日

武田志郎

小笠原さん、初めまして! そして、ありがとうございます。
この3連休で色々な銘柄を検証させて頂きます。
楽しみです。(^_^)
また、毎週金曜日のデイトレオンラインも視聴させて頂いております。
有意義な動画を誠にありがとうございます。
これからも、エクセルでの色々なバックテスト方法を楽しみにしています。

アーカイブ動画視聴なので、リアルタイムでの質問は出来ませんが、エクセルは出来るようになると楽しいので、何とか理解できるように頑張って参ります。

取り急ぎお礼申し上げます。( ^-^)爻(^-^ )

2018年01月05日

武田志郎

小笠原さんへ
先日添付して頂いた、株式用のエクセルファイルですが、今日検証しようとした処、どの銘柄コードを入力しても反応がありませんでした。
L1セルしか触ってないので、数式を壊したとも考えずらいです。重ね重ね申し訳ありませんが、解決策を教えていただけますでしょうか。
保存形式はマクロ有効ブックで、6301コマツをL1に入力したエクセルファイルを添付しようとした処、「ファイル形式が誤っています」とエラーになり添付できませんでした。(何故なんでしょう?)
どうか、よろしくお願いします。

2018年01月07日

小笠原聖史

武田さん
ご確認ありがとうございます。まずは動いたということですので、よかったです。データ数の問題は、ご指摘のとおりです。先物は7年分取得可能なのに対し、現物は6年分ですので、その差があります。あと、不出来の日には足が作成されない仕様のようですので、銘柄によっても取得本数が変わります。ですので、日付のところはシミュレーション機能とあまり関係ありませので、表示させなくてもよいかもしれないです。先物7年、現物は6年とさえ認識しておけば大丈夫と思います。
もう一点、すべてのシートを現物対応にする件ですが、こちらはマクロ有効ファイルになりますので、集いの広場に私はアップロードできませんので、一旦ひきとらせていただきます。検討結果はまたこのスレッドにコメントさせていただきますので少々お待ちいただけますでしょうか?

2018年01月09日

武田志郎

小笠原さん
ご連絡ありがとうございます。
なるほど、5枚のワークシートはマクロ有効ファイルだからアップロード出来ないという事情だったんですね。
時間が掛かってもお待ちしますので、よろしくお願いします。
何か良い解決策があれば良いのですが…

2018年01月09日

小笠原聖史

株式曜日アノマリー20171110.xlsx (381.0KB)

武田様
はじめまして。小笠原と申します。
個別株の4桁コードを、添付のセル(1、L)に入力していただくとにより、当該銘柄のグラフが表示され、結果を検証ができるようにしました。
銘柄コードを色々試しにセットしてみて、お試しいただけますでしょうか。

2018年01月05日

岡三オンライン証券

株対応曜日アノマリー20181110.xlsm (0.9MB)

武田さま

いつも岡三RSSをご利用いただき、誠にありがとうございます。

小笠原さまよりご依頼いただいた「株対応曜日アノマリー」をアップロードさせていただきます。


ご活用くださいませ。

2018年01月17日

小笠原聖史

武田様
曜日アノマリーのマクロ付ファイルの株対応版を作成してみました。
岡三オンライン証券様が、私に代わってアップしてくださいました。
ご活用いただけますと幸いです。

2018年01月18日

武田志郎

岡三オンライン証券 担当者様
小笠原さん、

マクロ有効ファイルのアップロード、誠にありがとうございます。
この週末に色々な銘柄で検証してみます。
楽しみです(^_^)

本当にありがとうございました。
取り急ぎ、御礼まで^^

2018年01月18日

小笠原聖史

6301添付ファイル.xlsx (371.4KB)

武田様
ラジオも聞いてくださっているとのこと、ありがとうございます。なんか自分はあまり向いていないな~と思うときも多いのですが、坂本さんと武田さんにお助けくださるので、なんとかかんとかやっています・・・
また、エクセルも早速お試しくださりありがとうございます。
銘柄コードをご入力しても反応がない、という点ですが、岡三RSSにログインはされていらっしゃいますでしょうか?
私が手元のPCで試してみると、ログインしていれば、L1セルにコードを入力すれば動くようです。
あと、マクロ有効ブックは、私自身も集いの広場にはアップロードできませんでしたので、アップロードする際には.xlsxなどマクロが有効ではないブックをアップするようにしています。
6301をL1に入力してみた例をアップロードしておきますので、ご参考にしてください。その時に気づいたのですが、岡三RSSから四本値をダウンロードしてくる際に、銘柄によっては取得本数が少なくなり、前に取得した足がエクセル上に残っている場合にはグラフの表示がおかしくなりますので、そのような場合には、A25からE1500のセル範囲(黄色い網掛けをしておきました)の部分のデータを一旦削除してみてください。
うまくいくといいのですが、、、お試しいただけますでしょうか?

2018年01月08日

武田志郎

小笠原さん
早速のご回答ありがとうございます。^^
岡三RSSにログインしてやっていたのですが…何故か昨日は何の反応もありませんでした。
新たなエクセルファイルと手順をありがとうございます。(^_^)
また、次からアップロードする時はマクロ無効のファイルにします。
今日、夕方より再チャレンジ致します。
その後、改めてメッセージを致します。
取り急ぎ、御礼まで。

2018年01月08日

武田志郎

小笠原さん、出来ました! ありがとうございます。(^_^)
ただ、データ数は小笠原さんが仰るように何かの狂いが生じるみたいです。U11セルの日付がおかしいので、A1496まで下げると2012/1/10からと、正しい日付が表示されるようになりました。
これは、先物と株式ではデータ取得本数が違うという事ですかね?
銘柄によっては2012/1/4から表示できるものもあったのですが(A1499から表示)、繰り返し色々な銘柄コードを入力していたら、それも表示されなくなりました… なんでなのかは解りませんが…
また、先物のファイルには「32パターン…」等、あと5枚のワークシートがありますが、これをすべて株式用に転用出来ないのでしょうか?? 
出来れば空売りも含めて、すべてのバックテストをしたいのですが可能でしょうか??
どうか、ご教授いただければ幸いです。

2018年01月08日

ヤマダ

引け間際の注文が「出来ず」となりました。

TOPIX先物の新規成行注文を引け間際に出したところ、注文が成立しませんでした。

岡三スマホFの注文照会画面では注文状況が「出来ず」となっていました。

原因は何が考えられでしょうか?

よろしくお願いします。

2018年03月28日

小笠原聖史

ヤマダさま

解決された旨ご一報くださりありがとうございました!

2018年03月29日

小笠原聖史

ヤマダさま
「引け間際」に「新規成行」が「出来ず」になった原因究明、ということで承りました。
①注文種別・・・通常・OCO・IFDなど
②執行条件・・・成行(FOK)、成行(FAK)など
③発注時刻・・・15:09ごろ、15:14ごろなど
をおきかせ願えますでしょうか?私のスマホFでも同じことを試してみようと思います。

2018年03月29日

ヤマダ

小笠原様

「出来ず」になったのは「ザラバ引け」だった為でした。

3/26のTOPIX先物18/6がザラバ引けでした。

コメントありがとうございました。

2018年03月29日

窓店

岡三RSSの参考書籍等

お世話になります。
窓店です。

岡三RSSの勉強中なのですが、参考になるような書籍等ご存知でしたら教えて頂きたいです。
当方、VBAは初心者です。

2018年01月16日

窓店

Ryoさん
いつもお世話になっています。

書籍は絶版ですか、残念です。
中古であれば探してみます。

教えてくださったWebサイトも参考にします。
ありがとうございました!

2018年01月19日

みやぞう

ドテンの発注方法とロスカット

はじめまして、RSS初心者のみやぞうと申します、よろしくお願いします。MACDを利用したモデルを日足から60分足用に変更したのですが、今度は、発注の所で新規買いから売り(ドテン)(その逆も)、とロスカット、の方法が、どうしても、判りません、よろしくお願いします!

2018年01月29日

小笠原聖史

みやぞう様

お手元にあるエクセルシートをこちらにアップロードしていただけますでしょうか?一度拝見いたしますと、何か申し上げることができるかと思います。
どうぞよろしくお願いいたします。

2018年02月01日

みやぞう

MACD1.xlsx (311.4KB)

エクセルシートを添付します、なにか、ヒントがあれば幸いです、どうかよろしくお願いいたします。

2018年02月01日

RSSユーザー

エクセルの音出しについてです

お世話になっております。エクセルの特定セルの値(ポジション関数の値とか)、あるいは手動で特定セルの数字入力後エンターキーを押した時などに音ってだせますか、お教えください。自動売買で約定した時「ピンポーン」とか手動で入力した時「ズギューン」とか出来たらなあと思いまして。

2020年10月14日

大野 了

おぉぉ!!
うまくいきましたか!!
良かったです!!

2020年10月14日

RSSユーザー

音出し.xlsx (9.1KB)

できました!ありがとうございました!

2020年10月14日

大野 了

>このセル値に対応してますか
こちらは、具体的には
『どこにサンプルのVBAを記述すればよいか?』
という事でしょうかー?
理解力が無く申し訳ありません・・・


>あと音源はC:\sound.wav", 1, 1に入れておくということでしょうか
これも説明がほぼ無くサンプルだけ記述してしまい申し訳ありません。

Call PlaySound("C:\sound.wav", 1, 1)
が、実際に音を鳴らす関数となります。
いろいろと説明すると難しくなるのですが、
第一引数の"C:\sound.wav"が鳴らしたい音源となります

ですので、
ピンポーンの音源を『ピンポーン.wav』
ズギューンの音源を『ズギューン.wav』
として、ファイルの保存場所を"C:\音源"としますと・・・

Call PlaySound("C:\音源\ピンポーン.wav", 1, 1)
とすると『ピンポーン』と音が鳴り

Call PlaySound("C:\音源\ズギューン.wav", 1, 1)
とすると『ズギューン』と音が鳴ります!!


RSSユーザさんがVBAをどの程度使われているかわからないので、
RSSユーザさんに適した説明になっているかわかりません。

もしご不明な点がありましたら、遠慮なく返信頂けますと幸いです!!

VBAはあまり使わないし難しいですもんね・・・

2020年10月14日

RSSユーザー

すみません、VBA初心者です。どこのセル値に対応してますか、あと音源はC:\sound.wav", 1, 1に入れておくということでしょうか、すみません。

2020年10月14日

大野 了

RSSユーザさんこんにちは!!

Excelで音声を鳴らすためには、音声を鳴らす処理を
PlaySoundAPIを使用して、VBAにて鳴らしてあげる必要があります!!

以下に簡単なサンプルを記述しまーす!!

POSITION関数や、ORDERRESULT関数などで、
約定を監視しておいて
約定したら、PlaySoundを使って音を鳴らすと
『ズギューン』と鳴らすことができまーす!!

===========================================
Option Explicit
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long

Private Sub CommandButton1_Click()
Call PlaySound("C:\sound.wav", 1, 1)
End Sub
===========================================

2020年10月14日

Yoshiさん

NEWORDER()関数の第3引数のデータ型について

標記、第3引数(売買区分)にInteger変数を介して買(=3)を指定したところ、「ByRef引数の型が一致しません 」エラーが発生しました。こちらのデータ型は何でしょうか?

2018年04月14日

Yoshiさん

追記:Byte変数でも、「ByRef引数の型が一致しません 」エラーが発生しました。

2018年04月14日

Yoshiさん

売買注文テスト.xlsx (39.8KB)

Ryo Ohnoさん

早速のアドバイスをありがとうございました。
(にも関わらず、お礼が遅くなって申し訳ございません_O_)
その後、String型の変数を第3引数に与えることで問題は解決しました。
ちなみにやりたかったのは、NEWORDER()を使いやすくしたstr成行注文()なる発注関数の実装でして、売買種(例えば、"vb寄成売")、証券コード、数量を引数とし、実行の結果、成功の場合は注文番号、エラーの場合はエラーメッセージを戻り値にするというものです。
ご参考までにテストコードを添付します(".xlsm"ファイルのアップロード不可により、拡張子をあえて".xlsx"に変更しました。利用の際は拡張子を元に戻して下さい)。

2018年04月28日

Ryo Ohno

Yoshiさんこんにちは!!

NEWORDERの第三引数はString型になります!!

2018年04月15日

職人さん

YouTubeへ動画投稿を行いたいのですが

初めて質問します。
RSSで取引を行う動画をYouTubeにアップしたいと考えていますが可能でしょうか?

動画では
 ・『岡三オンライン証券のRSSを使っている』旨の発言
 ・エクセル画面のRSSのアドイン部分
 ・VBAのエディター画面
 ・エクセル画面上で実際に動いている画面
を撮影予定です。

業務ではなく趣味で作成する動画になり
個人のアカウントでアップされます。
観る人はほとんどいないと思われます。

以上になります。

2021年09月26日

職人さん

ご担当様

早々のご確認ありがとうございました。
規約を確認しながら、問題のないように動画を作成します。

以上になります、ありがとうございました。

2021年09月27日

岡三オンライン証券

職人さんさま

いつも岡三RSSをご利用いただき、誠にありがとうございます。

岡三RSSのご利用におきましては、下記に定める利用規約の範囲内にてお願いしております。

岡三RSS 利用規約
https://www.okasan-online.co.jp/ont/rss/agreement/

そのうえでご判断いただければ幸いです。

今後ともどうぞよろしくお願いいたします。

2021年09月27日

裸野光一

3分足について

最近RSSに取り組み始めした。私は売買の判断に3分足を使って
います。岡三RSSで取得出来るのは標準では、1分、5分、15分だと思うのですが、3分足のデータを取得することは可能でしょうか。エクセルにて加工をしないといけないのでしょうか?
よろしくお願いいたします。

2017年02月16日

裸野光一

回答ありがとうございます。参考にさせていただきます。

2017年02月16日

小笠原聖史

3分足.xlsx (105.6KB)

はじめまして、小笠原と申します。
私もレファレンスを確認してみましたが、おっしゃるとおり、岡三RSSの仕様で3分足を取得することができないようなので、日経平均先物の1分足と現在値から日中取引の3分足を作るエクセルシートを作ってみました。
明日、自分でもきちんと動くか確認してみますが、取り急ぎ、、、
ご参考になれば幸いです。

2017年02月16日

裸野光一

小笠原様 エクセルシートありがとうございました。
これから有難く使わせていただきます。
1つ質問なのですが、このデータを降順にして、常に最新の
データを上に表示させる事は出来るのでしょうか?

2017年02月17日

小笠原聖史

3分足降順.xlsx (127.5KB)

裸野様
おはようございます。
3分足をWからAA列に降順に表示させてみました。
ご参考になれば幸いです。

2017年02月20日

裸野光一

小笠原様 色々とありがとうございました。
私は、最新のMAを別のワークシート上に引用して参考にしたかったので、3分足のMAをMATCH関数を使用して別のシートに引用しようとしたのですが、手で時間を入力するとマッチして、思い通りになるのに、関数で時間を取得すると、エラーなってしまいました。
色々ネットで検索してみるとMATCH関数で時間を扱う事は難しいと書いてありました。あきらめる他無いようです。

2017年02月21日

2018

板読み投資術のトレード候補抽出件数を増やしたい

いつもお世話になっております。サンプルシート「板読み投資術」を勉強し始めたRSS初心者です。大変素晴らしいツールをありがとうございます!
現在「トレード候補抽出」step2が5件表示されますが、10件ぐらい表示させることは可能でしょうか?
マクロ編集画面を見たのですが、どうしてもわかりません。もし、マニュアル等がござましたらお教えください。
あつかましいお願いですみませんm(_ _)m

2018年01月24日

小笠原聖史

承知いたしました。
手元のPCで試して、フィードバックいたしますので、少々おまちいただけますでしょうか。

2018年01月29日

2018

小笠原様
早速のご返信をありがとうございます!

添付してくださった資料の通り、
298,299,300のセルのみを上書き、増やすときはそれを上のセルにコピー、298,299,300セル上書きを繰りかえすことで、
問題なく銘柄を増やすことができるようになりました。

本当にありがとうございます!

良い結果が得られたときは、ご報告したいと存じます。
まずは、御礼まで('◇')ゞ

2018年01月30日

2018

ありがとうございます!

2018年01月24日

岡三オンライン証券

RSS版板読み投資術ver4 (10銘柄対応).xlsm (240.1KB)

2018さま

いつも岡三RSSをご利用いただき、誠にありがとうございます。

小笠原さまよりご依頼いただいた「RSS版板読み投資術ver4 (10銘柄対応).xlsm」をアップロードいたしました。

ご活用くださいませ。

2018年01月25日

小笠原聖史

ご活用いただければ幸いです!

2018年01月26日

小笠原聖史

2018様
岡三RSS版板読み投資術をご利用くださり、ありがとうございます。やってみますので、いましばらくお待ちいただけますでしょうか。

2018年01月24日

2018

岡三オンライン証券御中
小笠原様

早速ダウンロード、試しております。
迅速なご対応、ありがとうございます!
まずは、御礼まで。

2018年01月26日

2018

「RSS版板読み投資術ver4 (10銘柄対応).xlsm」をありがとうございました!

既出の質問で恐縮ですが、
ユニバース設定で、銘柄を変更しています。データタブを見ると、変更した銘柄の「売り合計」「買い合計」「買/売比率」、
全体の銘柄の「買/売比率ランク」が[#value]になり、トレード候補抽出タブのstep1/step2も不可状態になります。
銘柄を100まで少なくしたり、書類を閉じたり、パソコンを再起動したりするのですが、銘柄の変更ができません。
たまに、書き換えらる銘柄があるのですが、その理由もよくわかりません。
ダウンロードしたままの、銘柄を変更しない「添付ファイル.xlsm」は問題なく使用できます。
デフォルトの銘柄もよい結果が得られるので素晴らしいとは存じますが、1/3ぐらい書き換えられればと希望しております。

何かよい方法はございませんでしょうか?
再びあつかましいお願いを申訳ありませんm(__)m

2018年01月29日

小笠原聖史

うまくいってよかったです!
ご活用くだされば幸いです。

2018年01月30日

武田志郎

小笠原さんへ 質問をお願い致します。

小笠原さん、こんにちは!
デイトレオンラインの引退残念です。もっともっとお話を聞きたかったです…

今日は一つ質問をお願い致します。
「(信用取引対応)前日、当日の株価の動きから翌日以降の取引を判断する」のルールで現在売りポジションを持っていた場合です。

昨日の高値が300円、安値が295円。
今日の高値が300円、安値が280円、だった場合、高値は切り下がっていないので、ルール上はドテン買いとなるのでしょうか?
チャート的には安値の切り下げの方が圧倒的に大きいので売りポジション継続と行きたいところですが、データの検証方法はドテン買いで、間違いないでしょうか?
また、売りと買いが逆の場合でも同じ解釈で良いのでしょうか?
お忙しいところ恐縮ですが、ご回答をどうか、宜しくお願い致します。

2018年03月06日

小笠原聖史

武田さん
↓はい、こちらのとおりになっています。
買いエントリーも同じよう(空売りとは逆)に
「高値が切り上がっていれば、安値が同値でも買い継続」

2018年03月11日

武田志郎

小笠原さん、またまた新しいファイルを作ってくださって、ありがとうございます。(^_^)
早速、私もいくつかの銘柄で検証してみました。
小笠原さんの仰る通り、大差は無いようですね。
この後も検証を繰り返してみたいと思います。
あと、このファイルのロジックは空売りエントリーだけでなく、買いエントリーも同じよう(空売りとは逆)に
「高値が切り上がっていれば、安値が同値でも買い継続」と
なっているのでしょうか?

2018年03月11日

武田志郎

小笠原さん、早速のご回答ありがとうございます。(^_^)
切り上がり、切り下がりの解釈了解しました。

検証した具体的な個別銘柄は
3382 セブン&アイ
4041 日本曹達
6301 コマツ
8604 野村

などですが、チャートと照らし合わせてメンタル的に実戦に耐えられるかの過去検証なので、はっきりした時期や詳細は控えていません。
ただ、その時の大きな安値(下髭の小さな大陰線ならなおさら)でドテン買いはしづらいというのが正直な感想です。
システムを信じて実戦トレードするには何かのフィルターが必要かなと、感じています。
こんな感じですが、宜しくお願い致します。

2018年03月06日

小笠原聖史

武田さん
ラジオ、聞いてくださって、ほんとうにありがとうございました。自分にはなかなか難しかったです、、、でも、引き続きこちらでコミュニケーションさせていただければ幸いですので、引き続きよろしくお願いいたします。
さて、順張りルールの高値安値の切り下がり条件について、ですが、サンプルシートの仕様は、武田さんのご認識のとおりです。
高値が同値であれば、安値が切り下がっていてもドテン買い、でおっしゃるとおりです。
売りと買いが逆の場合でも同じように解釈をしていただければと存じます。
武田さんの書いてくださった事例ですと、チャート的には確かに切り下げの方が圧倒的なので、売り継続にしたい、というお気持ち、わかります。銘柄別にバックテストしてみると、武田さんのご指摘のとおりのロジックの方がパフォーマンスが出る銘柄も必ずあると思いますので、ご自身が取り組まれる銘柄はどっちが当てはまりやすいか、をチェックして、サンプルシートを銘柄別にカスタマイズする、というのもありかなと思いました。
具体的な銘柄いくつかおっしゃってくださったら、こちらでテストして報告させていただきますよ。

2018年03月06日

小笠原聖史

武田様カスタマイズ.xlsx (0.9MB)

武田様
おまたせしてすみませんでした。
オリジナルでは、「安値が切り下がっても、高値が同値であればドテン」となっているところ、武田様カスタマイズで「安値が切り下がっていれば、高値が同値であっても売り継続」という条件を作って並べてパフォーマンスを比較してみました。
結果は、大きな変化はなかった印象です、詳細は添付ファイルでご覧ください。
3382 セブン&アイ
 パフォーマンス:オリジナル>武田様カスタイマイズ
4041 日本曹達
 パフォーマンス:オリジナル<武田様カスタイマイズ
 ※順張りが全く効いていない。むしろ、逆張りと相性がよい銘柄のようです。
6301 コマツ
 パフォーマンス:オリジナル>武田様カスタイマイズ
8604 野村
  パフォーマンス:オリジナル<武田様カスタイマイズ
この4銘柄ですと、8604野村が最も順張りとの相性がよいですね。
「システムを信じて実戦トレードするには何かのフィルターが必要」という点、おっしゃるとおりと思います。ご指摘のようなフィルターを色々と試してみて、いけそうだ、と腹落ちできることが重要だと思います。

2018年03月11日

武田志郎

小笠原さん、お返事ありがとうございます。(^_^)
これからも両方のファイルで繰り返し検証して、違いの大きな銘柄があるかどうか探してみます。
どうもありがとうございました。

2018年03月12日

wani

VWAPを5分足や15分足に並べて表示する

教えていただけると幸いです。
例えば、FCANDLEにて5分足終値をたてにならべます。その5分足の終値に対応するように、VWAPを並べて表示するのはどのようにしたらよいのでしょうか。

2018年04月17日

小笠原聖史

FCANDLE当日のVWAP.xlsx (29.4KB)

wani様
はじめまして。小笠原と申します。
FCANDLEで取得した5分足を縦にならべて、VWAPを計算するシートを作ってみました。
御覧いただけますと幸いです。
ご質問等ございましたら、おっしゃってください。

2018年04月17日

RSSユーザー

注文が執行されない場合がある件

いつもお世話になっております。質問させていただきたいのでよろしくお願いします。

自動発注用のシートをつくって何度か動作テストを行っているのですがどうしてもまれに発注ができていない場合があります。
FNEWORDER関数が発注完了になっているのに発注ができていない感じです。

発注を安定させたいのですがよい方法はないでしょうか?

2018年07月24日

小笠原聖史

初めまして。小笠原と申します。
FNEWORDER関数の第14引数の発注IDは、エクセルを開いている限り、一つのIDで一回発注後は、同じ発注IDで発注することはできませんが、この点はいかがでしょうか?的外れでしたら申し訳ありません。

2018年07月24日

RSSユーザー

早速の回答ありがとうございます。
IDについては重複しないように設定していますので問題ないと思います。
今朝も同様の現象が起きました。
システムの内容は単純である時間になったら逆指値の売りと買いを出します。片方が約定したら約定していない注文を取り消します。ここまではだいたい毎日上手くいくのですが、ここから約定した注文に逆指値で決済注文をいれます。ここで「発注完了」になるのですが注文が通っていない状況です。
口座に300,000円いれていますがアクティブ口座でmini2枚で取引しています。最初の逆指値で売り買い合わせて4枚で必要証拠金は160,000円くらいで余裕はあると思うのですが証拠金が足りない場合でも同様の現象になりますでしょうか?

よろしくお願いします。

2018年07月26日

RSSユーザー

早速の確認ありがとうございました。
証拠金を追加して確認してみたいと思います。

2018年07月26日

小笠原聖史

「証拠金が足りない場合でも同様の現象になりますでしょうか?」
↑こちらについて、手元の環境でも試しましたところ、同様の事象となりましたのでご報告いたします。
口座残高:60万円
建玉:ミニの売りが2枚
の状態で、ミニの新規買い100枚を発注しますと、証拠金不足で発注できず、のRSSのポップアップが表示され、エクセル上では「発注完了」となりました。

2018年07月26日

マーク

限月を切り替えるとデータが読み込めない

お世話になります。
岡三RSSの不具合についてよろしくお願いします。

【限月を切り替えるとデータが読み込めない】

エクセル上で225オプションの板を作って表示させています。
関数は


=OPBOARD(0,"C",24000,"気配値5")
=OPBOARD(0,"C",24000,"気配値6")
=OPBOARD(0,"C",24000,"気配値7")


のように、気配値と(売買)気配数量をそれぞれ表示させています。

岡三RSSにログインした状態で、ブックを開くと、それぞれの値が読み込まれます。
しかし、限月の引数を「0」から「1」に変えて再計算させると、「N/A」となり、データが読み込まれません。
※ アドインの更新ボタンを押しても読み込まれません。
※そのほかの「出来高」や「クォート」などのデータは読み込まれます。

そして、限月の引数を「1」のまま、ブックを保存して、エクセルを再起動すると、読み込まれます。
今度はそのまま、 限月の引数を「1」から「0」に戻すと、同じように 「N/A」となり、データが読み込まれません。

で、限月の引数を「0」のまま保存、再起動させると読み込まれますが、限月を変えると同じことの繰り返しです。

これを何度か繰り返すと、岡三RSSも再起動しないと読み込まれなくなります。

【使用環境】
・WIN10+エクセル2013
・WIN7+エクセル2010

上記、どちらでも同じ不具合が生じます。

【やってみた対策】
・岡三RSSのアンインストールと再インストール
・エクセルの修復
・エクセルのアンインストールと再インストール
・Microsoft .NET Frameworkの更新


お手数ですが、解決策があればご教授いただければ幸いです。

2018年02月16日

muka

お世話になります。
アドインの使用法hについて教えてください。

インストールが完了しアドインから「株」ボタンを押してもなんの応答も動きもありません。

どうすればよいでしょうか?
リンクは接続されています。

2019年04月19日

マーク

ohonoさん、原因究明、ありがとうございます!
原因がわかったと言うことは大きいです。
これを元に対策を考えて見ます!
ホントにありがとうございました!!

2018年02月26日

マーク

Ohnoさん、ありがとうございます!
今夜試してみて、結果を報告させて頂きます!!

2018年02月17日

Ryo Ohno

んー
難解ですね・・・(^^;
CANDLE関数とかは、確かローカルにキャッシュしていたので、
上記のような動きは確かに考えられるのですが、
OPBOARDはしてなかったような・・・

今の感じだと、マークさんの環境で、OPBOARDが入ったブックを作成されると
現象が発生しそうですので、
マークさんが作られた、ブックを頂くとマークさんのノウハウが流出してしまいますので、
もしご面倒でなければ、OPBOARDだけが入っている状態で、限月変更でN/Aのエラーが出る
ブックを作成していただき、あげて頂くことは可能でしょうか?

自分の環境でも動かしてみます!!

ブックなのか、環境なのかの原因の切り分けができそうです!!

2018年02月18日

Ryo Ohno

マークさん、ファイルありがとうございます!!
自分の方でも再現しましたー

なんか更新しなくなりますね・・・
自分の場合は、OPBOARDはおろか、その他の先物系の関数もデータを取得出来なくなってしまいました。

いろいろとみてみます。
今週、平日がちょっとだけ忙しいので、週末に返信とかでも大丈夫でしょうか?
すみません・・・

2018年02月19日

Ryo Ohno

マークさん、とりあえず原因はわかりましたー!!

OPQUOTEで、その限月にない行使価格のデータを取得すると、
OPBOARDが、なぜかN/Aを返すようになるみたいです。
かつ
この現象は、ブック起動時には起きないみたいです。


例えば
ブックを起動したときは、期近、その後期先に変更した場合、
変更後の期先に、29,875円の行使価格はありません。
この29,875円のOPQUOTEの情報をとると、期先のOPBOARDがN/Aになってしまうようです。

また、存在しない行使価格のOPQUOTEを呼べば呼ぶほど、
このN/Aを返してしまうOPBOARDの関数が多くなるみたいです。
(しかもN/AになるOPBOARDはランダムみたいです)

頂いたシートの行使価格が、125円単位になっていまうので、
存在いない行使価格に対する、OPQUOTEの参照が大量にあり、
限月を変更した際に、OPBOARDが大量にN/Aになってしまい、
データが取れなくなっているように見えてるのが原因でした


対策としては存在しない行使価格に対するOPQUOTEをなくしてしまうぐらいしか
今は思いつかなかったです・・・(^^;

有効な行使価格を自動で作るのって、意外と面倒なので、
できれば岡三RSS側で、N/Aにならないように対応してもらえるとありがたいですね・・・(^^;
あぶないですし・・・

よし、岡三オンライン証券さんに連絡しよう!!


てな感じで、以上が原因でしたー!!

2018年02月24日

Ryo Ohno

Book1.xlsx (24.7KB)

マークさん
こんばんは!!

自分のところでOPBOARDをたくさん出してみたのですが、
限月を切り替えても正常に切り替えがうまくいきました。
一応、24000円周辺のコールとプットを出してみたのですが、
大丈夫そうでした。

一応、動かしてみたOPBOARDのExcelのファイルを添付致しますので、一度動かいてみた頂けますでしょうか?

I1を変更すると限月が切り替わります!!

2018年02月16日

マーク

Ohnoさん、こんばんは!

さっそく試してみました。
結果は不可解な状況になりました。

まず、Ohnoさんに添付いただいたファイルを開いて限月を「0」と「1」を試すとうまくデータを取り込めました。

そして、私が作ったブックを開くと「0」「1」ともにデータを取り込めました。

しかし、再起動後、私の作ったブックを先に開いて、限月を変えるとデータが取り込めません。

続いて、Ohnoさんのファイルを開くと、こちらも限月を変えると取り込めなくなります。

【そこで以下の3つを試しました】

①Ohnoさんのファイルを開く、何もせず私のブックを開く。
  ↓
 限月を変えてみるとデータが取り込めない

②Ohnoさんのファイルを開く、限月を変えて「0」と「1」の両方のデータを取り込む
  ↓
 私のブックを開く
  ↓
 限月を変えてみるとうまくデータが取り込める

③私のブックを開いて、限月を変えるとデータを取り込めない
  ↓
 Ohnoさんのファイルを開く、限月を変えると同じようにデータが取り込めない



とにかく私の作ったブックに問題があるようですが、どのような原因が考えられるでしょうか?

2018年02月17日

マーク

限月・検証用-2.xlsx (280.0KB)

Ohnoさん、こんばんは!
ご返信ありがとうございます!

試していただけるということで、感謝します。

ロジックの部分を省いたものを作りましたので、よろしくお願いします。
価格リストというシートのF6のリストから、期近、期先を選んでいただけると、それぞれの気配値が表示されるようになっています。

大変、お手数をおかけしますがよろしくお願いします。

2018年02月18日

マーク

ohnoさん、さっそくのファイルの確認、ありがとうございます!
やはり、同じ症状が出ましたか。
使用しているパソコンは、トレード用に購入したもので、余計なものは一切入れていません。
作成にあたっては、岡三証券さん作成の「オプションサンプル」と言うサンプルシートを下記からダウンロードして、使いました。
https://www.okasan-online.co.jp/ont/use/sample/download_02.html

こちらのシートを単体で開いて試してみたところ、限月切替でも問題なくデータを取り込めました。
なので、私の作り方に問題があるのでしょうけど、どこがだめなのかさっぱりわかりません。

お手数ですが、よろしくお願いします。
週末でも、全然問題ありません、むしろ感謝いたします!!

2018年02月20日

Ryo Ohno

マークさん、今更ながら申し訳ありません・・・

自分がいろいろと検証を間違っていました。
(期近、期先が先物と同じで3,6,9,12月が返ってくると思い込んでいた)

本件、ただ単純に、岡三RSSの500件のリミットにぶつかっているようでした。

思いっきりうそを書いてしまい、申し訳ありませんでした・・・
OPQUOTEの数を減らしていただくだけで大丈夫と思います。

間違った行使価格をたくさん読んでも大丈夫です!!

2018年03月13日

おおぎ

新規約定後にメモ欄の変更はできますか?

新規発注時につけたメモ欄の文字列を約定後に変更することはできますか? 約定後はメモ欄の文字列を見て利確したり、損切したりするため、状況によってメモ欄が変更できたら助かるですが。。。

2022年12月01日

海行かば

>行指定では様々な発注、変更指示ができなくて困っているのです。

メモを建玉を区別するために活用すればいいのではないですか?

2023年01月21日

おおぎ

ご回答有難うございます。そうなんですよ
複数の建玉がある場合、表示される行が常に変動するため
行指定では様々な発注、変更指示ができなくて困っているのです。
今後の改定に期待したいと思います。
有難うございました。

2022年12月01日

大野 了

おおぎさん、こんにちは!!

残念ながら、約定後のポジション情報を変更する関数がないため
メモ欄の変更はできないと思われます。

確かに、そのポジションの状況が記録できると便利なので、
メモ欄が変更できるとありがたいですね・・・

2022年12月01日

RSSユーザー

相場が急変するようなときに、データが更新されない

相場が急変するようなときに、データが更新されないことがよくあります。
このとき、Windowsタスクマネージャの、メモリ(プライベートワーキングセット)のところが、すごく増えています。起動中は増え続けているようですが、データ更新されないときは増えた状態のままでメモリの数字も変化しません。動作していないように見えます。物理メモリは60~80%の表示なのでPCのメモリ不足ということではないように思います。
エクセルは起動したままで、岡三RSSのみを、終了後再起動すると正常に更新するようになります。(データ更新していない時の終了は、「タスクマネージャのプロセスの終了」でないと終了できません)

対策はありませんでしょうか?
たとえば、VBAで岡三RSSをリセットするとか・・
(リセットできれば、VBAでデータ更新時間を監視して、更新時間+αになってもデータ更新が無い時に岡三RSSをリセットしたいです)
どなたか、ご教示お願いします。

2018年02月08日

Ryo Ohno

RSSユーザーさん、こんにちは!!

岡三RSSを使い始めて、もう7,8年になりますが、
ありがたいことに、自分の環境では大きく動いた時でも、
岡三RSSが停止することはありませんでした。

環境の問題だとは思いますが、現時点の情報だけだと何とも・・・
もしかすると、再インストールと.NetFrameWorkの更新で直る可能性があるかもですが、
再現性が無いとなると・・・

一応、VBAにて岡三RSSを起動、停止のロジックを書いておきます!!
ですが、以下の方法は正常な停止方法ではなく、
タスクマネージャからプロセスの終了で強制的に落とす流れと同じ流れになります!!
ご参考になれば幸いです。

〇RSSの起動
Call Shell("cmd /c ""C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\岡三オンライン証券\岡三RSS.appref-ms""")

〇RSSの終了
Call Shell("taskkill /im OkasanRSS2.exe /F")

2018年02月08日

RSSユーザー

Ryo Ohnoさん、ありがとうございます。
参考にさせていただきます。
試行錯誤の繰り返しになると思いますが、いろいろやってみたいと思います。

2018年02月11日

RSSユーザー

Ryo Ohnoさん、ありがとうございます。
試してみます。

参考までにお聞きしたいのですが、データ更新の項目が多いとこのような現象が起きるのではないかとも思いました。
現在、作成したファイルでは下記のような項目をRSSで取得していますが、Ryo Ohnoさんの取得しているデータより多いでしょうか?
・日経225先物5日分の5分足の日付、時刻、4本値(定時更新(2秒毎))
・日経225先物日足つなぎ足3か月分の日付、4本値(定時更新(2秒毎))
・その他先物の現在値、Fboard、など数点のデータ

2018年02月09日

Ryo Ohno

日中の分足のデータは使用していないので、
確かに自分の方が圧倒的に取得している情報は少ないです。

今、数えてみたのですが、ずーと運用している自分のシートには
RSSの関数が30個がありました。
また、自分が頼まれて過去に作成したツールで一番多かったのは、
130個でしたー
※こちらは板情報などはありますが、分足のデータ取得関数はありません。


また、昔、負荷テストで、RSSのデータ更新が10秒以上かかるぐらい
大量の分足のデータを取得したことがあるのですが、
その時もRSSが止まるってことはありませんでした。
しかし、負荷テストした際に市場が大きく動くことはなかったので、
取得数が多い&市場が大きく動くと何かがあるかもしれません。

ご参考になれば幸いです!!

2018年02月10日

Okamura Yoshiaki

岡三RSS入門編動画 3.チャートを作成してみよう!資料P4

1. 環境設定
Excelのオプション →「セキュリティの設定」でセキュリティレベルを下げる。
開発タブ → VBE画面のツール → 参照設定 →「岡三RSS」にチェック。
ここまでしました。
しかし、これ以降、グラフの調整まで、うまくできません。
手順をもう少し細かく教えていただけませんでしょうか。

2018年04月02日

小笠原聖史

標準モジュール.png (147.3KB)

初めまして、小笠原と申します。
開発タブ → VBE画面のツール → 参照設定 →「岡三RSS」にチェック。
の次の手順は、添付ファイルの画像のような感じで「VBE画面→標準モジュールの挿入」するとよいと思いますが、ここはうまくいきましたでしょうか?

2018年04月03日

RSSユーザー

CANDLE関数 ざら場中の自動更新について

初めまして
皆さんのお力を貸していただきたく、投稿させて頂きます。

CANDLE関数にて取得期間を設定した場合、新しく出来高があればセルに追加されると岡三のコールセンターの方に回答頂いたのですが、現在値は変動しているのに、CANDLE関数で取得している5分足データがいつまで待っても更新されません。

また、CANDLE関数で本数に1を指定した場合も同一セルに新しいデータが上書きされると聞きましたが、変動ありません。

この問題の解決方法をご存知の方は教えて頂けますと幸いです。
よろしくお願いします。

2018年02月17日

Ryo Ohno

RSSユーザさん、こんにちわ!!

日中が仕事中のために動かして試してみることはできないのですが、
15:00以降に
=CANDLE("8609","東証","5","0","約定時刻",A2,"D","59")
を記述した場合は
A2~A60に15:00~9:00と表示されますでしょうか?

また、岡三RSSのツールバーの中に『更新』というものが5つ目にあるのですが
こちらを押下しますと、CANDLE関数は更新されますでしょうか?

また、日中に5分足が、更新されない時に
メニューの『数式』に『再計算の実行』というものが、一番右にあるのですが
こちらを押下した場合は、どのようになりますでしょうか?

もし再計算の実行で表示される場合は、
もしかすると自動再計算が止まっているのかもしれません。
CANDLE関数って自動再計算が止まってて動いた気がするんですが、一応・・・

2018年02月19日

RSSユーザー

コメントありがとうございます。
恐らく原因が分かりました。
数式の入力先と表示先を同一セルに指定していたせいだと思われます。

2018年02月21日

RSSユーザー

N225とN225mini 1分足を並べて表示した場合に行がずれる

20180403135840870-1.png (81.2KB)

お世話になります。
N225とN225miniの1分足を並べて表示した場合に、行がずれて表示されます。添付ファイルをごらんください。行をそろえる方法は何かございますでしょうか。

2018年04月03日

Ryo Ohno

FCANDLE.xlsx (49.2KB)

RSSユーザーさん、こんにちは!!

FCANDLEで分足の情報を取得されていると思われますが、
FCANDLEでは出来高がない時間の足が返って来ないため
ミニだけで約定があるような時間帯は、ミニだけ足ができてしまい。
頂いた画像の様に足の数がすれてしまいます。

対応としては足の抜けが無いようにするのが手っ取り早いのですが、
足の抜けが無いようにするには、
9:00,9:01,9:02と時間だけのセルを作成し
別の場所で取得したFCANDLEのデータを、VLOOKUPなどで持ってきてあげるのがセル関数だけで簡単と思われます!!

以前、他の方からも質問されたことがあるので、
その時のファイルを送りまーす!!

サンプルファイルでは、A~F列で1分足のデータを取り、
対応する時間のデータをH~M列に表示しています。
※この時足がない時間のところは事前のデータをそのままもってきています。

サンプルではラージのデータしかとっていませんが、
ミニのデータも取って、同じようにコピーしてあげれば
足の抜けがないデータが作れると思いますので
ずれが発生しなくなると思います。


もし説明がわかり辛い場合は再度ご連絡頂けますと幸いですっ♪

2018年04月04日

コマヒデ

過去の日の始値の取得方法

度々の投稿、すみません。

始値を取得する際は下記の関数で取れたのですが、
指定の日付の始値を取得する関数をご存知でしたらご教示願います。

=QUOTE("6664","","始値")

以上よろしくお願い致します。

2018年03月12日

コマヒデ

Ohnoさん
こんにちは!
いつもありがとうございます。

CANDLE関数を使用するのですね。

いろいろやってみます。
ありがとうございました!

2018年03月13日

Ryo Ohno

コマヒデさん、こんばんは!!

過去の日付の始値ですが、
QUOTE関数は現在の銘柄の状態を取得する関数になりますので、
CANDLE関数を使用し、過去の始値のデータを取得させる必要があります。

この時、CANDLE関数は日付指定することができないため、
時系列でドバっとたくさん取得し、
その中から、LOOKUPなどの関数を使用して、対象の日付の始値を取得する形になります。

下記のように記述していただきますと、日足で1000日分始値を取得しまーす!!

=CANDLE("6664","東証","D","0","始値",A2,"D","1000")

2018年03月13日

ぞうやん

岡三RSSを自動でオフオンしたい。

岡三RSSを長時間動かしていくと徐々に重くなっていくので、途中で一度、時刻を指定して自動オフオンをしたいです。
PC起動、岡三RSS起動の状態で岡三RSSのみ指定時刻の自動オフオンです。
UWSC、またはwindowsのタスクスケジューラーを使うのかもしれませんが、どなたか簡単な方法を教示いただけるとありがたいです。

2017年11月23日

kamap

すみません、誤爆です

トップに質問しなおしました

2019年12月19日

kamap

分割約定の質問1219.xlsx (13.8KB)

日本株の信用取引、分割約定について教えてください

やってる事は、
 ①成行買い(11列)
 ②指値売り(16列)
 ③成行売りへの変更(21列)
なのですが、分割約定の場合②の売りができません
約定毎に売り注文を出してるのですが、どこがいけないのでしょうか?

分割でなければ、②も③も正常に動いてます

よろしくお願いします

2019年12月19日

Ryo Ohno

もしなにか分かりつらい部分などがあれば、いつでもご連絡ください!!

ありがとうございますっ!!
PCばっかりで遊んでる毎日がお役に立てて光栄です。(笑

2017年11月27日

Ryo Ohno

すみません、風邪で死んでて、返信が遅くなりました。

上手くいきませんでしたか・・・

今、自分も試しにやってみたのですが、
終了したのちに10秒後に再起動を入れてみたのですが上手く再起動できましたー
ですので、10秒差が短すぎるということはとりあえずなさそうです。


>なお昨日は実行のクリックで起動したのですが、今日はダメみたいです。
こちらはタスクスケジューラで『実行する』をクリックしても、
立ち上がらない時があるとのことでしょうかー?


ちなみに自分が試した環境で関係がありそうな内容を書いておきます!!
OS:Widows10
Excel:2013
ログインユーザ:管理者権限を持ってる
状況:ログイン中に1分後に停止、1:10秒後に起動のロジックを実行


あとは、岡三RSS自体は自動起動にしておいて、PC自体を再起動ですかね・・・

2017年11月30日

ぞうやん

ちょっと難しそうですがトライしてみます。
ありがとうございました。
それにしてもすごいスキルですね!!

2017年11月27日

Ryo Ohno

ユーザ名取得.xlsx (34.3KB)

もしかしてデスクトップなどにある岡三RSSのショートカットでしょうか・・・
自分はWindows10でスタートメニューからやるやり方でした。
分かり辛くて(というか記述すらしていなくて)申し訳ありませんでした。

ほぼすべてのOSで共通のやり方としては、コマンドプロンプトを表示するのが一番簡単かもしれません。
以下に方法を記述します

1.Windowsキー + R を押して『ファイル名を指定して実行』を表示する
2.『名前』のところに『cmd』と入れてエンターキーを押す
3.コマンドプロンプトという黒いWindowが表示される
4.たぶん画面に以下のように表示されていると思います
=========================================
Microsoft Windows [Version 10.0.16299.64]
(c) 2017 Microsoft Corporation. All rights reserved.

C:\Users\ユーザ名>
=========================================
ここのユーザ名のところがユーザ名となりまーす。

2017年11月27日

ぞうやん

>>>
もしユーザ名がわかられない場合は、岡三RSSの起動のためのショートカットを右クリックして
  『その他』ー『ファイルの場所を開く』を選ぶとエクスプローラーが上がってきますので
  そこに表示されるパスにユーザ名が出てきます!!
>>>
すみません。右クリックしてもその他が無いのですが・・・

2017年11月27日

ぞうやん

了解です。ユーザ名が分かりました。
タスクスケジューラーの設定も一応でき、実行クリックでうまくいきました。
あとは明日以降スケジュール通りに動くかどうかです。

2017年11月27日

ぞうやん

残念ながらうまくいきません。
10秒差で動いているRSSの停止と起動をセットしたところ、停止は成功しましたが、起動しませんでした。
タスクスケジューラーの履歴には停止と起動の両方とも成功となっていますが。
10秒差が短すぎる?
あるいは他に原因があるのでしょうか?
なお昨日は実行のクリックで起動したのですが、今日はダメみたいです。
直すべきところがあればご指摘ください。

2017年11月28日

Ryo Ohno

ぞうやんさん、こんにちは!!

UWSCだと、UWSCをインストールしないといけないので、
タスクスケジューラを使用するのが良いかもしれません・・・
標準でついているので・・・

しかし、岡三RSSはClickOnceという少し特殊な作りですので、
普通に起動するのは難しいです・・・
もしタスクスケジューラで設定する場合は・・・
以下のように設定していただけると起動すると思います。


岡三RSS起動:
 操作:プログラムの起動
 プログラム/スクリプト:cmd
 引数の追加:/c "C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\岡三オンライン証券\岡三RSS.appref-ms"
 ※ユーザ名の部分はログインされているユーザ名を入れてください。
  もしユーザ名がわかられない場合は、岡三RSSの起動のためのショートカットを右クリックして
  『その他』ー『ファイルの場所を開く』を選ぶとエクスプローラーが上がってきますので
  そこに表示されるパスにユーザ名が出てきます!!


岡三RSS停止:
 操作:プログラムの起動
 プログラム/スクリプト:taskkill
 引数の追加:/im OkasanRSS2.exe /F

あとはこれらの岡三RSS起動と停止のタスクを指定時間に指定すると再起動ができると思います

ですが・・・
自分自身このやり方を使って、再起動させているわけではありませんので、実績がありません(ごめんなさい
試しにやってみた感じ大丈夫そうですが、ご注意いただけますと幸いです!!

2017年11月24日

RSSユーザー

エクセルのリボンの移動についてです。

お世話になっております。最初にエクセルのリボンがホームの状態でプログラムしたせいか、自動で起動するとリボンがホームの画面になっています。手動でリボンをアドインの状態に直して発注可を確認して監視しているのですが、マクロでリボンをアドインの状態にするにはどうすればよいでしょうか、お教えください。

2021年06月25日

大野 了

RSSユーザさん、こんにちは!!

返信が遅くなってごめんなさい・・・

UWSC Or マクロでうまく行きましたかー
良かったです!!

2021年06月27日

RSSユーザー

お世話になっております。
UWSCだと以下のスクリプトでうまくいきました。

try
ExcelObj = GETACTIVEOLEOBJ("Excel.Application")
ACW(GETID("Book1 - Excel","XLMAIN"),18,80,1329,712,0)

KBD(VK_ALT,CLICK,1)
KBD(VK_X,CLICK,1)
KBD(VK_ALT,CLICK,1)

except
exit
endtry


また大野さん推奨の

「リボンのタブを選択するVBAマクロ
マクロでリボンのタブを選択する方法として、ActivateTabやActivateTabMsoメソッドを使う方法やMSAAを使う方法がありますが、今回はUI Automationでタブを選択するマクロを紹介します。」

の中のMSAAを使う方法でも上手くいきました!

おさわがせしました!ありがとうございました!

2021年06月27日

RSSユーザー

お世話になっております。上記のプログラムコードをコピーして貼り付けエクセルのマクロ実行ボタンを押したらエラー表示になりました。そこで簡単にリボンの移動ができないか調べたところ、キーボードのAltを押して、xのキーを押して、
Altを押すとリボンがアドインに移動することがわかりました。以前にUWSCでエクセルマクロを実行させるプログラムコード(下記)を教わったのですが、これをいじって上手くできないでしょうか、お教えください。

try
ExcelObj = GETACTIVEOLEOBJ("Excel.Application")
ExcelObj.Run("Macro13")
except
exit
endtry

2021年06月27日

大野 了

RSSユーザさんこんにちは!!

そうですねー
リボンの操作はやったことないのですが、調べた感じUIAutomationClientが簡単そうでしたー

https://www.ka-net.org/blog/?p=4624

2021年06月26日

RSSユーザー

上海総合指数の前日終値比幅のリアルタイム表示の件です。

お世話になっております。上記の通り上海総合指数の前日終値比幅のリアルタイム表示が出来ません、前日の値になっています。
式は =VALUE(IDX("SHCI","前日終値比幅"))です。これで日経先物とかダウ先物はリアルタイム表示できています。どうしてか分かりません。お教えください。

2021年09月30日

大野 了

RSSユーザさん、こんにちは!!

なるほどー
確かに上海の指数をリアルタイムで使えると幅が広がりそうですねー

Webに上がってるのはディレイが掛かってるのも多いので、
どこかで取得できるといいですね・・・

何か簡単に取れそうなところを見つけたら、ここに書きますねー

2021年10月01日

RSSユーザー

平日の10時30分になると上海総合指数の影響を日経平均も受けるのでリアルタイム表示してトレードの条件値に組み込もうかなあと思ってみたのですが、難しそうです。別の方法を考えてみます。有難うございました!

2021年10月01日

大野 了

RSSユーザさん、こんにちは!!

IDX関数で取得できる指数のデータは、
取得したい指数によって更新頻度が異なるようです。

自分もすべて押さえてるわけではありませんので
もやっとした回答しかできなく、申し訳ないのですが、
大体のところ、

国内の指数はリアルタイム
海外の指数は1日1回

のような感じのようです!!

2021年09月30日

ryo

先物ロスカット注文について教えてください

岡三RSSで先物の自動発注を行いたいのですが、躓いてしまいましてご教授頂きたく投稿しました。

以下のような先物の寄り引けシステムを考えております。
(VBAは一切使用しておりません。提供された関数のみです。)

①売買サインに従い、寄りで成行エントリー
②エントリー価格に対して一定金額のロスカット注文(逆指値注文)
③ロスカットに引っ掛からなかったら、引けで成行エグジット

現在、①まではうまくいきましたが、②の注文が通りません。
(②のタイミングは保有してから1分後に設定)

「売買区分が正しくありません」と表示されますが
売買区分は特に問題ないと思います。
(買いと売りのケースがあるので、if関数で条件分岐させています)


ちなみに以下
fneworder関数の引数になります。

第1引数 先物コード N225mini
第2引数 限月 0
第3引数 取引種類 2
第4引数 建玉番号 vlookup関数で検索した建玉番号
第5引数 建玉枝番号 1
第6引数 売買区分 3or1(売買サインによる)
第7引数 執行条件 8
第8引数 単価 エクセル上で計算させた値
第9引数 数量 1
第10引数 注文確認 1
第11引数 完了メッセージ 1
第12引数 注文画面 1
第13引数 パスワード 任意のもの
第14引数 発注ID 任意のもの
第15引数 有効期間区分 1
第16引数 メモ 任意のもの
第17引数 発注条件 13
第18引数 発注単価 0


何か分かれば、ご教授ください。

2018年03月25日

Ryo Ohno

上手くいきましたかっ!!
それはよかったです♪

2018年03月25日

Ryo Ohno

ryoさん、こんにちは!!

逆指値の件ですが、上記の内容で問題ないと思われまーす。
丁度、ポジションがあったので実際に確かめてみたのですが、
一応、上記の内容で試してみたのですが自分は逆指値で発注通りました。

売買区分ですが、買いポジションの時は、売り(1)、売りポジションの時は買い(3)で出す必要があるのですが
こちらは問題ありませんでしょうかー?
始めはこれかなーと思って、こちらでも逆を試してみたのですが、
売買区分が間違っていた時のメッセージは『決済建玉がありません』となったので
大丈夫と思いますが・・・


『売買区分が正しくありません』のエラーが出るパターンも合わせて調べたのですが、
売買区分に1,3以外が設定されると出るようです。
もし書いたら何かしらの条件で、売買区分に1,3以外が渡されているのかもしれません。

ぱっと思い付いたのは、
・1,3が全角になってしまっている
・If分の条件でFalseが渡されてしまってる
ぐらいでしょうか・・・

2018年03月25日

ryo

Ryo Ohnoさん

ご回答ありがとうござます!

売りと買いの番号は逆ではなかったので、大丈夫だと思いますが

私もポジションを持っていたので、今もう一度注文してみたら通りました。

原因不明ですが
回線不良だったのかもしれません。

2018年03月25日

Ryo Ohno

限月を切り替えるとデータが読み込めない件について(マークさんへ)

スレッドが流れてしまったので、新規で投稿します。


マークさん、今更ながら申し訳ありません・・・

以前、限月の切り替えの件で、大ウソを書いてしまったため、ここで訂正します。
見られることを祈って・・・

以前、OPQUOTEで、その限月にない行使価格のデータを取得すると、
OPBOARDが、なぜかN/Aを返すようになるみたいという返信をしたのですが、
待ったくそんなことはありませんでした。

自分がやった検証が一部間違っていました。
(期近、期先が先物と同じで3,6,9,12月が返ってくると思い込んでいたため、
自分が使った行使価格がおかしかった。)

N/Aが返ってきてしまう件は、
ただ単純に、岡三RSSの500件のリミットにぶつかっているだけのようです。

思いっきりうそを書いてしまい、申し訳ありませんでした・・・
OPQUOTEの数を減らしていただくだけで大丈夫と思います。

2018年03月13日

マーク

ohnoさん、追加の情報ありがとうございます!
なるほど、そう言うことだったんですね。
もう一度、見直してみます!
ご丁寧な対応に感謝します!

2018年03月15日

Ryo Ohno

あー!!
マークさん、伝わってよかったです。

先日は大嘘ついて、すみませんでした・・m(_ _)m
少しでもご参考になれば幸いです!!

2018年03月15日

Ryo Ohno

April 2018 Updateで動きました。

Windows10の大型アップデート(April 2018 Update)の
正式版が本日より配布され始めましたので、
正式版を再度入れてみて、
簡単に岡三RSSを動かしてみたのですが、データの取得、発注共に大丈夫そうです!!

以上、情報共有でしたっ♪

2018年05月01日

ヤマダ

指定時間での発注について

岡三のホームページQ&Aに下記記載がありますが、この発注は再計算をしないと無効(何かしらデータ等の数値に変化があって再計算されるまでは無効)ということでしょうか?

よろしくお願いします。

http://qa.okasan-online.co.jp/faq_detail.html?id=587

指定時間に指定した値以上なら発注する条件式を教えてください。

(例)日経225mini(2017年6月限)が10時10分00秒~10時11分00秒に10,000円以上なら発注する場合

=IF(AND(NOW()-TODAY()>=TIMEVALUE("10:10:00"),NOW()-TODAY()<TIMEVALUE("10:11:00"),FQUOTE("N225mini",201706,"現在値")>=10000),FNEWORDER("N225mini","201706",1,"","",3,0,0,1,0,1,"","password","1",1,"","",""),"待ち")

2018年04月17日

小笠原聖史

はじめまして、小笠原と申します。

おっしゃるとおり、何かしらの条件が成就すれば発注する、という関数になっていますね。

and(now()-today())
で現在値を計算しますので、
現在時刻>=timevlue("10:10:00")
かつ
現在時刻<timevlue("10:11:00")
かつ
miniの2017年6月限の現在値>=10000
ならFNEWORDERを実行、つまり

現在時刻が10時10分で、mini2017年6月限が10000円以上であれば発注、という具合になっているようです。
ご参考になれば幸いです。

2018年04月17日

ヤマダ

小笠原さん、コメントありがとうございます。

10時10分になる前から10,000円以上で10時11分過ぎまで価格変動がない場合でも、式は計算の対象になるのでしょうか?

どのタイミングで計算されるのでしょうか?
私の認識ではエクセル上の数値に変化がないと計算されないと思うのですが、10時10分になった瞬間、また、10時10分05秒に10,000以上になった場合はその瞬間に計算され、発注されるのでしょうか?

あるいは、10時10分から10時11分の間に値動きがあった時だけ計算されて発注されるのでしょうか?

取引時間外に試してみましたが、発注されませんでした。
手動で再計算するまで発注されませんでした。

何が間違っているのか不明です。
もしお分かりになれば教えていただけると助かります。
よろしくお願いいたします。

2018年04月17日

小笠原聖史

ヤマダさん
解決されたとのこと、よかったです。
ご丁寧に、ご報告ありがとうございました。

2018年04月18日

小笠原聖史

時間指定注文キャプチャ.xlsx (198.8KB)

ヤマダさん
すみません!私の調査不足で申し訳ありませんでした。
おっしゃるとおり、エクセルシート上で変化があってはじめて関数が動作いたしますので、ミニ直近限月のFCANDLEなど、RSSのデータ取得頻度が高くなるようにしたうで、お試しいただけますでしょうか。
手元のPCでは、添付ファイルのように発注関数が動作いたしました。

2018年04月17日

ヤマダ

小笠原さん、ありがとうございます。
無事解決しました。

アドバイス通り、取得頻度の高いデータを取り入れながらやってみます。

2018年04月18日

TAKA

板読み投資術(岡三RSS版)の使い方について教えてください。

板読み投資術(岡三RSS版)をダウンロードして使ってみたのですが#NAMEというエラーが出て、使う事が出来ません。抽出ステップ1をクリックするとRSSからデータを取得してから操作してくださいと出ます。どうしたら良いのでしょうか?

2018年03月14日

Ryo Ohno

TAKAさん、こんばんは!!

#NAMEの件ですが、ダウンロードされたファイルで発生する場合、
以下の2点が大体の問題点となります。

1.岡三RSSが正常にインストールできていない
2.OSのbit数があっていない

確認手順としては、
1.任意のセルに『=IDX("N225","現在値")』と入力してみる
これでも#NAMEが出る場合は、何かしらの理由で岡三RSSが正常にインストール出来なかった
可能性が高いです
2.#NAMEと出ているところに
『'C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\岡三RSS.xla'!』
などの文字が出ている
この場合はOSのbit数が違う場合が多いです。
『C:\Program Files・・・\岡三RSS.xla!』までを削除していただくと、岡三RSSで値が取得できるようになると思われます。

詳しくは以下のURLに詳しく載っています!!
http://qa.okasan-online.co.jp/faq_detail.html?id=552&category=130&page=1

2018年03月15日

wani

日経平均株価と先物価格を並べる

基本的なことかもしれませんが、どうぞ教えていただけなしでしょうか。
日経平均株価と先物価格をたとえば15分足(終値)で並べたいです。
先物はFCANDLEで簡単に並べられますが、日経平均株価はどうやったら15分ごとに並べることができますか。

2018年05月07日

Ryo Ohno

waniさん、こんにちは!!


指数株価はIDXCANDLEというもので取れるのですが、
残念ながら指数は日足のみで分足の情報が取得できません。

IDX関数で
=IDX("N225","時刻")
=IDX("N225","現在値")
としますと、時刻と現在値が取得できますので、
VBAなどで、自力で15分おきにFCANDLEで取得したデータの隣に並べてあげる必要がありまーす。

何か簡単に取得できる方法があると良いんですが、
残念ながら、ちょっとだけ面倒です・・・

2018年05月07日

ヤマダ

必要証拠金額を表示させる方法。

エクセル上に必要証拠金額を表示させる方法があれば教えて下さい。
よろしくお願いします。

2018年02月19日

Ryo Ohno

ヤマダさん、初めまして!!

岡三RSSですが、証拠金を表示させる機能は残念ながらなかったと思います。

自分も取得できると便利だなーと思うこと、時々あります。

2018年02月19日

ヤマダ

Ohnoさん、ありがとうございます。
岡三RSSには無いんですね。

重くならなければWebクエリを検討してみます。

2018年02月20日

コマヒデ

呼値の単位を取得する方法

指定した銘柄の「呼値の単位」を表示させる方法をご存知でしたらご教授願います。

現在値から3Tick下の価格等で指値を出したいと思っております。

2018年03月05日

Ryo Ohno

コマヒデさん、こんにちは!!

今、QUOTE関数を見てみたのですが、
呼値の情報は取れないようです。(ざんねん

以下の内容で、自分で判断してあげるしかなさそうです!!
https://www.okasan-online.co.jp/jp/call.html

ご参考になれば幸いです!!

2018年03月05日

コマヒデ

Ohnoさん、こんにちは!

お調べ頂きありがとうございます!
そうですか、残念ですが、計算処理を入れてみます!

ありがとうございました!

2018年03月06日

ミッキー

複数ブックでの同時利用は可能?(225オプション)

複数のポジションを複数のExcelbookで作成しようとしています。
1.RSSからの情報取得は可能でしょうか?
2. 取引指示はシート関数からの想定ですが、こちらも複数BOOKから独立の発注が可能ですか?

2022年09月10日

大野 了

ミッキーさん、こんにちは!!

>複数のポジションを複数のExcelbookで作成しようとしています。
こちらは同一PCで複数のExcelbookを使用されるという事で、よろしいでしょうか?


>1.RSSからの情報取得は可能でしょうか?
別のworkbookを複数あげて、両方共で情報取得は可能です。

>2. 取引指示はシート関数からの想定ですが、こちらも複数BOOKから独立の発注が可能ですか?
こちらも複数ブックから発注可能です。
一点気になるのは、
もしかすると発注の時に使用する発注IDは、一つ目のbookと二つ目のbookで異なるものを使用しないといけない可能性があります。
※同一のものを使用するとエラーになるかもです。

その時は、workbook1の方はwb1_xxxxx workbook2の方はwb2_xxxx などのようにIDを変えてあげれば大丈夫と思ます!!

2022年09月11日

RSSユーザー

エクセルマクロの実行についてです

お世話になっております。以前エクセルマクロを実行するためのプログラムを書いていただき運用しているのですが、ある時同じファイルの違うシートで作業していたらマクロが実行されました。以下のプログラムでシート名「データ」のセルG1=0でのみ実行されるようにするにはどのように書き換えればよいでしょうか、お教えください。

Sub Macro12()
If Cell(1 ,7) = 0 Then
Macro11
End If
End Sub

2020年09月27日

大野 了

はい!!

RSSユーザさんのおっしゃれています手順で、問題なく保存できます!!

2020年09月27日

RSSユーザー

迅速な対応ありがとうございます。エクセルマクロのデータ書き換えは表示→マクロ表示→編集→書き換え作業→右上×でマクロを閉じる→ファイルの上書き保存で閉じるの順番でよろしいでしょうか。シートの見出しでコードの表示からでも出来てしまったのですが正式なやり方ってありますか。

2020年09月27日

大野 了

こんにちは!!

Cell(1 ,7)とすると、
今アクティブになっているシートのセルを観てしまいますので、
シートを固定されたい場合は

If Sheets("データ").Cell(1 ,7) = 0 Then

として頂くと『データ』シートの1,7を観るようになりまっす!!

2020年09月27日

りょう

条件付きの注文取消しについて

初めて質問させていただきます、よろしくお願いします。

・9:00になった時点で9時の始値の値から+50円に買い、-50円に売りの逆指値注文をそれぞれ注文します。
ここからが質問なんですが
どちらか片方の注文が約定したさいに、残った逆指値注文を自動的にキャンセルするようしたいのですが
どういう組み合わせでできますでしょうか?



質問のレベルが低くてすみませんがご教授お願いいたします。

2018年06月08日

Ryo Ohno

りょうさん、こんにちは

OCOのような機能は残念ながら岡三RSSに用意されておらず、
自分で設定する必要があります。

もし逆指値を踏んだ時に発注でよければ、
岡三RSSの逆指値発注を使用するのではなく、自力でやってあげるのが簡単だと思います。

IF関数を二重にかけ、
一つ目のIFに逆指値の条件である、始値+50円と-50円の条件を指定し
二つ目のIFに反対側の発注がかかっていない事の条件を指定する方法はいかがでしょうか?

例)
A1:現在値
B1:高値
C1:安値
D1:買いの発注関数
E1:売りの発注関数

D1のセル
=IF(A1 + 50 <= B1, IF(A1 - 50 < C1,FNEWORDER(),"発注待機"),"発注待機")

E1のセル
=IF(A1 - 50 >= C1, IF(A1 + 50 > B1,FNEWORDER(),"発注待機"),"発注待機")


もし、板に少しでも速く載せたいなど、実際に発注まで行いたい場合は、
かなり面倒になってしまいますが、
FPOSITION関数で、約定を監視し、もし逆指値を踏んでポジションができた場合に、
FOPORDQUERY関数で『注文中』から残っている注文の注文番号を取得し、
FORDERCANCELで、キャンセルする必要がありまーす!!

2018年06月09日

RSSユーザー

「新規・決済・買・売」を条件発注する方法

初めて投稿させていただきます。
fneworder関数で、if文で条件発注する場合、
A1セル:IF(C2="B",fneworder(新規,買),IF(C2="S",fneworder(新規,売),"保有")) のような取引種類が新規の式と
B1セル:IF(C2="S",fneworder(決済,売),IF(C2="B",fneworder(決済,買),"保有")) のような取引種類が決済の式を
2つ作成すれば、
①新規買い・決済売り と ②新規売り・決済買い の両方に対応
できますでしょうか。

2018年06月02日

Ryo Ohno

こんにちは!!

こちらは一回のExcel起動で、新規買いと新規売りの二つの注文を出されたいということでしょうか?

もしそうでしたら、
RSSユーザーさんのおっしゃられます通り、
セルを2つに分けて、発注IDを別のものにして頂ければ、
一回のExcel起動で2つ発注を行うことができます!!

2018年06月04日

あんこし

先物のデータ取得ができません

初歩的な質問で申し訳ありません。

CANDLE関数での日本株のデータ取得はできるのですが、
FCANDLE関数で225miniのデータ取得しようとするとセルが「#N/A」となってしまいます。

サンプルシートに書かれていた下記

---------------------------------
セル上に「#N/A」が表示され、データが取得できない場合
→  http://qa.okasan-online.co.jp/faq_detail.html?id=550

セル上に「#N/A」が表示され、データが取得できない場合
→  http://qa.okasan-online.co.jp/faq_detail.html?id=551
--------------------------------

を参照しましたが、どれもあてはまっておりません。
先物・オプション口座も開設いたしましたし、
接続状態や引数も関数マニュアルを見ながら何度も確認致しました。

ほかに考えられる状態があればご教示ください。
よろしくお願いいたします。

2018年08月01日

あんこし

カテゴリーを間違えてしまいました

2018年08月01日

Sai Kyuusei

国内株 注文番号の紐づけについて

現在、自動売買ツールを自作中ですが、困っていることがあり、
わかる範囲で教えてください。

日本株サンプルシートをベースに、自動売買ツール(関数+マクロ)をチャレンジしております。
その中、注文照会シートを利用し、発注するたびに、その注文番号を取得したいですが、ORDQUERY関数が書き込んできて、1行ずつずれていく、紐づけがうまくできず。。。

いろいろ調べましたが、発注IDと注文番号の紐づけができないようで、断念しました。

ご教授ください。

2018年05月16日

Sai Kyuusei

小野さん 
 
 誠にありがとうございました。
 来週から、試運転をかけてみます。

2018年06月03日

Ryo Ohno

上手くいくことを祈ります!!

2018年06月04日

Ryo Ohno

Sai Kyuuseiさん

>①受付日時
こちらは訂正注文後のORDQUERYで帰ってくる値がどのようなものかということでしょうか?
それでしたら、
訂正注文後の『注文番号』『受付日時』に関してですが

注文番号:新規注文の時の注文番号のまま
受付日時:訂正注文を出した日時

となります!!


>②注文状態
「注文中」
指値を出して、まだ約定していない時

「完了」
指値注文が約定した後

「失効」
指値注文が時間切れで、取消となった場合


>③訂正/取消可能状態
申し訳ありません、
一時不可の状態がどのような時に発生するか、自分もわかりません。
マニュアルもひっくり返してみたのですが、どこにも書いてありませんでした(^^;

もしかすると、売買が一時的に停止している銘柄とか、
取引時間終了後から17:00頃までのシステムメンテの時間に、表示されるかもしれません。


>④エクセルに書き込む行
ORDQUERYは、確か日付の降順(新しいものが上にくる)だったと思います
また、訂正注文は既存の注文に上書きとなりまーす!!

2018年06月01日

Sai Kyuusei

小野さん
 
 返事、ありがとうございます。
 
 紐付けしたい理由は利食い注文を出した後、価格が下がったら、訂正注文を出すときに、売り注文の注文番号がないと訂正できないだと思います。
 やはり、マクロでORDQUERYのデータから銘柄や受け付き日時などさがしないといけないでしょうか。
 
 また、ORDQUERY関数の戻り値について、岡三RSSサーバーから注文情報を取得しているでしょうか。そうでしたら、エクセルがなんか異常終了しても、再度ブックを開いたら、過去の情報を取れるでしょうか。取れるとしたら、何日分とれるでしょうか。
 
 いろいろ、質問してしまい、すみません。
 

2018年05月21日

Ryo Ohno

注文番号取得サンプル.xlsx (10.7KB)

Sai Kyuuseiさん

利食い注文の変更のためのREPLACEORDERやORDERCANCELのための注文番号ということですねー

ちなみに、日本株はひと銘柄1つの利食い注文でしょうか?
それでしたら、マクロ等でPGを書くと大変ですので、
ORDQUERYの表示対象を『注文中』の情報のみにし、
それを注文した銘柄コードを使用してlookup関数などで探すというのはいかがでしょうかー?

説明が大変なので、サンプルシートを作ってみましたー!!
参考になれば幸いです!!

A1:注文中の銘柄コード
B1:注文中の注文番号
D列:注文した銘柄コード
E列:銘柄に対する注文番号が表示される


>また、ORDQUERY関数の戻り値について、岡三RSSサーバーから注文情報を取得しているでしょうか。そうでしたら、エクセルがなんか異常終了しても、再度ブックを開いたら、過去の情報を取れるでしょうか。取れるとしたら、何日分とれるでしょうか。
こちらもSai Kyuuseiさんのおっしゃられます通り、
ORDQUERY関数は、毎回、岡三RSSサーバーから取得していますので、
Excelが異常終了して、再起動させた場合でも再度正常に表示されます。

また、取得できる期間に関してですが、
注文状況が『注文中』『保留中』は、その注文が消えるまで
『約定済完了』『失効/取消/エラー』『全注文』の場合は、確か1日分だったと思います。(少し記憶が怪しいです)

2018年05月21日

Sai Kyuusei

小野さん
 
 仰る通り、1つ銘柄に対する、利食いと損切訂正と考え方です。
 
 添付ファイルを確認しましたが、大変ヒントを得られました。
 ありがとうございます。
 
 そして、質問させてください。
 ①ORDQUERYの表示対象を『注文中』の場合、データの取得期間が注文が消えるまでと仰いましたが、消えるとは取消注文を出すと指していますか。それでも、「注文完了」になったら、消えるでしょうか。消えるとしたら、成行注文を出す場合、時間的にはどのぐらい消えるでしょうか。
 
 ②注文状況が「保留中」とは、どうな場合に発生しますか。
 
 ③注文状況の受付日時のデータは文字列ですか。 
  下記のように、桁数やスペースはあっていますか。
  「2018/05/24 13:03:58」
 
 いろいろ細かくて、すみません。

 

2018年05月24日

Ryo Ohno

Sai Kyuuseiさん

サンプルシートは、お役に立ててよかったです!!

>①ORDQUERYの表示対象を『注文中』の場合、データの取得期間が注文が消えるまでと仰いましたが、消えるとは取消注文を出すと指していますか。それでも、「注文完了」になったら、消えるでしょうか。消えるとしたら、成行注文を出す場合、時間的にはどのぐらい消えるでしょうか。
こちらは両方になります。

こちらは注文を出して、その注文が生きている間ですので、
指値の場合は、指値が約定するまでか、取消注文を出すまでとなります
また、成行注文に関してですが、たぶん上がらないか、上がったとしても一瞬だと思います。


>②注文状況が「保留中」とは、どうな場合に発生しますか。
こちらは正確な知識がないので、間違ってる可能性大ですが・・・
確か逆指値のトリガー待ちの時だったと思ます。
#間違っていたら本当にごめんなさい。


>③注文状況の受付日時のデータは文字列ですか。 
  下記のように、桁数やスペースはあっていますか。
  「2018/05/24 13:03:58」
はい、全角と半角の違いはありますが、桁等はあっていると思いまーす。

2018年05月24日

Sai Kyuusei

小野さん
 
 買い注文が成行と考えているので、この間、受付日時の照合からリンクしている注文番号のマクロを作成しました。

 ORDQUERY関数の戻り値について、質問させて頂きます。
 ①受付日時 
  売り注文を発注し、注文番号と受付日時をもらいました。
  この売り注文の訂正注文を出すときに、注文番号が上記の売り
  注文の注文番号となり、受付日時は訂正注文を受ける時間ですか、それども売り注文の受ける時間ですか。
 
 ②注文状態
  売り注文を指値で出して、「注文中」「完了」「失効」というのはどんなタイミングで発生するでしょうか。
 
 ③訂正/取消可能状態
  「一時不可」とはどういうことでしょうか。

 ④エクセルに書き込む行
  最新データがどんどん最終行へ書き込むでしょうか。
  注文の訂正や取消などは既存の注文にデータを更新ですか、
  それども新たな行へ新規書き込みですか。


 

2018年05月30日

Ryo Ohno

Sai Kyuuseiさん、こんにちは!!
返信が遅くなりました。

こちらは、最後に発注かけたものの注文IDを取得したいということで間違いありませんでしょうか?

残念ながら、Sai Kyuuseiさんがおっしゃられる通り、注文IDから発注IDを調べることは出来ず、
発注を情報を見つけるのがなかなか難しい状況です。
確かに注文後の情報を一発で探せると、便利なのですが・・・

ORDQUERYでいったん表示された物から、
銘柄コードや受付日時などの項目を使用して探し出すしかないのが現状です。

ちなみに、注文番号は取得しても、その後あまり使用できないような情報なのですが、
どのようなことに使われますご予定でしょうか?

もしかしたら、注文番号を取得する方法以外で何か解決策があるかもしれません!!

2018年05月20日

RSSユーザー

FCANDLE関数が時間帯によってうまく動作しません

現在FCANDLE関数で分足を取得しているシステムを開発しています。
通常ですとうまく作動するのですが、例えば15時9分等ザラバ引けの時間直前だと取り込みがストップしてしまう時があります。
どなたか同じような現象に遭われた方、対処法等をご存じな方はいらっしゃいますでしょうか?
ちなみに問題がある分足取得は分足10本程なのでそんなに沢山のデータ量を必要とはしていないかと思います。
どうぞ宜しくお願い致します。

2018年09月08日

Ryo Ohno

FCANDLE.xlsx (49.2KB)

RSSユーザさん、こんにちは

こちらは毎回ではなく、たまに停止してしまうということでしょうか?

岡三RSSのCANDLEの仕様として、出来高がない場合はなぜか足が作成されません。
ですので、もしかすると足ができていない時は、出来高がない場合なのかも知れません!!

もし上記の場合、対処方法としては、分足の時間だけのリストを作って、
Dlookupなどでコピーしてあげる方法が一番簡単だと思います。

以前に質問されたことがあって、その時に作成したファイルを一応添付します。
ご参考になれば幸いです!!

2018年09月10日

RSSユーザー

前日出来高から当日のある時刻の出来高を推定するエクセルの式についてです。

前日出来高から、当日のある時刻の出来高を加重平均により推定したいのですがエクセルだと、どんな式になるでしょうか。お教えください。なお前日寄付の出来高は0とします。

2020年01月30日

大野 了

なるほどー!!
そういう事だったんですねー

前日の出来高から、今現在の出来高を推定したいという事だったんですねー

なにはともあれ、完成おめでとうございます!!
よかったです!!

2020年01月30日

RSSユーザー

すみません。一次方程式でした。

2020年01月30日

大野 了

こんにちは!!

申し訳ありません。
理解力に乏しく・・・

RSSユーザさんが求められている
『ある時刻の出来高を加重平均により推定したい』の具体的な内容が
想像できませんでした。

こちらはどのような意味合いになりますでしょうかー?
※VWAPの出来高版のようなもの???

もう少し情報を頂けると、何か計算式が思いつくかもしれません!!

また、加重平均をExcelで計算するのは簡単なのですが、
加重平均の"ウェイト"となる情報も頂けますとRSSの関数と組み合わせて
返答ができるかもしれません!!

それとも岡三RSSの関数は関係なく、
Excelで加重平均の出し方がわかればよい感じでしょうかー?

2020年01月30日

RSSユーザー

イメージトレードは可能か?

自分で作った自動売買プログラムの有効性を確認したいのですが、実際に岡三RSSにて実稼働させますと、大きな額の損害が出てしまうのが恐怖です。この場合、あたかも実際に売買しているのと等価な、いわゆるイメージトレードを行う方法はあるでしょうか?どなたか教えていただれば幸いです。(バックテストのプログラムが非常に面倒なので作る気が起きないのです)

2020年09月26日

大野 了

そうですね・・・

RSSユーザさんのシステムがよくわからないため、一概に言えませんが・・・
CANDLEなどの取得関数の代わりに、
バックテストシートのヒストリカルデータを取得するようにして、
システムを動かし、記録するのであれば、行ける気がします。
ですが、VBAなどのプログラムは必須になると思います。

もし、VBAを使用されないのであれば、
バックテストシートに、今作られているプログラムと同じような
シグナルを判断するセル関数を埋め込めばよいと思います

ですので、
汎用的なバックテストシートを作って、バックテストができるかどうかは、
現在のシステムの作りによる・・・
という感じでしょうか・・・

2020年09月28日

RSSユーザー

イメージトレードという言葉は、まさに小野さんがおっしゃられた意味でした。残念ながら、その環境はないとのこと。そうすると、なんとかしてバックテストのプログラムを作らねばならない。ということは理解しました。ありがとうございました。ところで、汎用バックテストというシートを作っておき、そこにリンケージすると、楽にバックテストが出来る。という作り方はあり得るでしょうか?

2020年09月28日

大野 了

こんにちは!!

すみません。
勉強不足でイメージトレードという言葉を知らなかったため、
確認させてください!!

"イメージトレード"を"バックテスト"と分けられているところを見ると、
イメージトレードというのは、
過去データを利用して、有効性を確認するのではなく、
『これから数か月、実際に発注は行わず、発注したようにふるまって、
実相場の動きと比較しながら収益を観てみる』
と言う感じでしょうか?

もし上記の内容でしたら、
残念ながら岡三RSSにテスト環境のようなものはないので、
自力でやってあげる必要があります。

具体的には、
1.発注関数を動かないようにする
2.新規シグナルが出たタイミングの現在値を記録する
3.決済シグナルが出たタイミングの現在値で収益を計算する
という感じでしょうか・・・

確かにシミュレーション用の環境があると便利ですねー

2020年09月26日

みどりーにょ

RSS356CFDでのヒストリカルデータ降順処理方法

=CFDHISTORICALRATEDATAAUTOにおいて、昇順で表示される4本足を、降順で表示させるには、どのようにすれば宜しいでしょうか。
以前、別のスレッドにあった3分足の降順の関数を応用してみようと試みましたが、ヒストリカルデータでの日時の取得形式が違うのが原因のようで、うまく降順化させれませんでした。
知識が薄く申し訳ございませんが、何卒宜しくお願い申し上げます。

2018年08月14日

Ryo Ohno

みどりーにょさん、こんにちはー

RSS365は使ってないので、何とも言えないのですが、
1分足を取得して、3分足を作成されたいとのことでしょうか?

もしよろしければ、CFDHISTORICALRATEDATAAUTOを実行して
日時、始値、高値、安値、終値を取得して、
Excelシートを上げて頂けますと、何かできるかもしれません!!

2018年08月15日

みどりーにょ

( sample )RSS365CFD_RLS.xls (264.5KB)

ご回答ありがとうございます!
4本値を取得したSampleを添付いたします。
日本株などでは、"D"の値で降順化できるかと思うのですが、
CFDでは、降順の値を入れる部分がないようなのです。。
何かお知恵がありましたら、ご教示いただけますと幸いでございます。

2018年08月16日

みどりーにょ

( sample )RSS365CFD_RLS.xls (264.5KB)

ご回答ありがとうございます!
4本値を取得したSampleを添付いたします。
日本株などでは、"D"の値で降順化できるかと思うのですが、
CFDでは、降順の値を入れる部分がないようなのです。。
何かお知恵がありましたら、ご教示いただけますと幸いでございます。

2018年08月16日

Ryo Ohno

RSS365CFD_RLS_降順.xls (252.0KB)

ソート順が無いのは不便ですね・・・

とりあえず、関数を埋め込んでみましたー
ただ単純に下から逆に参照してるだけですが・・・www

もっと簡単に確実にできる方法があるかもしれませんが、
RSS365を入れていないので、ほかの関数がわからずなんとも・・・

少しでも参考になれば幸いです!!

2018年08月16日

Ryo Ohno

H列以降に降順のリストを追加しています。
1000行ぐらいまでは対応させていますが、
もし、分足などに変更されてもっと対応の行を増やされたいときは、
COUNTA($A$6:$A$1000)
の部分を
COUNTA($A$6:$A$2000)
とかに、ぶわっと増やして頂けますと幸いです!!

2018年08月16日

みどりーにょ

Ohno様
ありがとうございます!流石です。
プログラム素人なので(関数も含めて)、自作でなんとか降順を作ったのですが、読み込むと重くて、offset関数、大変ありがたいです。使わせていただきます。
本当にありがとうございました。

2018年08月17日

Ryo Ohno

ご希望に添えましたかー!!
お役に立てて、良かったですっ♪

2018年08月18日

ヤマ

日経平均株価をリアルタイムで算出・表示させる方法

日経平均株価をリアルタイムで算出・表示させる方法を教えていただけないでしょうか?

岡三オンラインのホームページかYouTubeで見た事があるような気がするのですが、ちょっと探しても見当たりません。

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

2020年03月23日

ヤマ

今は非公開なんですね。
理由も分かってスッキリしました。
ありがとうございます。

2020年03月23日

岡三オンライン証券

ヤマさま

いつも岡三RSSをご利用いただき、誠にありがとうございます。

お問合せいただきました内容は、岡三RSSで作成したサンプルシートのことかと思われます。

日経平均株価をリアルタイムで算出・表示させることができるサンプルシートでしたが、以前に日本経済新聞社さまより著作権の問題で指摘を受け、公開を停止したものです。

上記のことから、現在においては非公開といたしましたことをご理解ください。

引き続き変わらぬご愛顧、何卒よろしくお願いいたします。

2020年03月23日

大野 了

ヤマさん、こんにちは!!

5秒間隔でよければ、岡三RSSの関数で取得ができるのですが、
完全なリアルタイムですと、岡三RSSの関数では無理そうです。

以前同じようなご質問をされた方がおられて、
岡三オンライン証券さんから、非公開となった旨の返答がされているみたいです!!

https://bbs.okasan-online.co.jp/ont/rss/board/?topic_id=296

2020年03月23日

クロ

セッションごとの場足取得について

現在225miniの場足4本値取得について悩んでいます…
デイセッション、ナイトセッションごとの4本値(場足)の取得方法はございますでしょうか?
もし無いようでしたらどなたか60分足等から加工して抽出する方法等ご存知の方がいらっしゃいましたらご教授願えますでしょうか?

2018年06月01日

Ryo Ohno

場足.xlsx (18.2KB)

クロさん、こんにちは!!

始値と終値だけでよければ、

日中始値:営業日始値
日中終値:取引日終値
夜間始値:取引日始値
夜間終値:営業日終値

とすることで、時系列で取得が可能です。

もし高値、安値が必要であれば、確かに大変です・・・
特に日をまたいだ夜間となると・・・

ナイトセッションを判断させて・・・、0:00~5:30までは前日として処理をして、
各足の最大値を・・・
とかする必要があるのですが、説明が大変なのでサンプルシートを作ってみましたー

別にMAX関数じゃなくてもいいじゃん、というところもありますが、
眠いので勘弁してくださいw

ご参考になれば幸いです。

2018年06月02日

クロ

RyoOhnoさま
ありがとうございます
問題解決しました

2018年06月06日

岡三オンライン証券

岡三RSS会場セミナーのご案内

9/14(金)18:30より岡三RSS会場セミナーを開催いたします。

岡三RSSを使って、日本株・先物で自分だけの売買ルールを作るきっかけとなるセミナーを予定しています。

↓セミナー詳細はこちら↓
https://www.okasan-online.co.jp/tradeinfo/seminar/live/2018-09-14/

ご参加のほど、お待ちしております。

■タイトル
自分だけの売買ルールで勝ち組投資家へ! ~岡三RSSでオリジナルルールを発掘~(JPX共催)

■日時
2018年9月14日(金)18:30~20:30(開場18:00)

■定員
100名(先着順)

■講師
株式会社GesCalgo代表取締役社長 小笠原 聖史 氏
Zeit 大野 了 氏

■会場
日本取引所 オープンプラットフォーム
(東京都中央区日本橋兜町2番1号)

2018年08月03日

わに

日経225先物つなぎ足 日中足

お世話になります。教えていただけないでしょうか。
日経225先物つなぎ足の、日中足(8:45から15:15)までの、
始値、高値、安値、終値、をつくりたいのです。
営業日、取引日指定をすると、夜間がはいってきます。
なにか、上手に、日中足を作る方法はないでしょうか。
よろしくお願いいたします。

2018年09月05日

Ryo Ohno

わにさん、こんにちは
返信が遅くなってしまい大変申し訳ありません!!

日経225先物のつなぎ足で日中のみのつなぎ足を作成することは残念ながらできません・・・
#自分も不便に思ってます・・・
#日中足だけで取れるとホント良いんですが・・・

過去5日分でよければ、分足から作成することができますが、
もしそれ以上の期間ですと、自分は分足のデータをためて作成するか
データを取得できるサイトから取得したりする必要があります。


もしデータを取得されるのであれば、225LABOさんがよいかもしれません。
https://225labo.com/

また、もし取得等が難しい場合は個別に連絡を頂けますと幸いでーす。

2018年09月10日

たく

シートが勝手に書き換えられてしまいます

キャプチャ.PNG (57.7KB)

FCANDLE関数を使って15分足での取引日付・約定時刻・高値の3つの情報を取得したいのですが、
ツールバーから関数入力を行い、データを取得した後に数分間放置しているとなぜか勝手に書き換えられてしまいます。
なにやら1分足での値や出来高?のような数値などがでてきたり
8/2の時点で過去3日間の値を取得したいので7/31からの値が取得できればいいのですが、(書き換えられる前はできています)
7/27の値が出てきたり、1961年なんてのが出る時もありました。

原因のわかるかたぜひご教示お願いいたします。

2018年08月02日

たく

Ryo Ohno様
いつもお世話になっております。
今回の助言により原因と対処法が完全に理解できました。

本当にありがとうございました。
また関わることがありましたらよろしくお願いいたしますm(__)m

2018年08月14日

Ryo Ohno

解決できましたかー!!
良かったです!!

また、何かありましたら、いつでも!!

2018年08月15日

Ryo Ohno

FCANDLE取得サンプル.xlsx (16.6KB)

たくさん、こんにちは

添付されているキャプチャだけですと、いまいち現象は想像できませんが、
もしかすると"表示開始先セル"の設定がFCANDLEの関数同じセルになっており、
取得したデータで上から上書きしているのかもしれません。


正常に動くサンプルのExcelシートを作成してみました。
ご参考になれば幸いですっ!!

2018年08月06日

たく

Ryo Ohnoさん、こんばんは
返信遅くなってしまって申し訳ありません
なぜ1961年とかでるのかはいまいちわかりませんが頂いたサンプルファイルは正常に動作したのでどうやらデータの上書きが原因のようです…
助かりました本当にありがとうございます!

重ねて質問申し訳ないのですが、
FCANDLE関数を同じセルに新しく書き直したいとき、今あるデータを一度消して上書きするようにしたいときにはどのようにしたらいいのでしょうか?

2018年08月08日

Ryo Ohno

うまくいきましたか・・・
良かったです。

FCANDLEですが、通常ですと自動でデータを上書きしてくれます。

以下のように記載しますと、
ラージで、15分ごとにA2セルより下に1000本、足が表示されます。

=FCANDLE("N225","0","15","0","高値",A2,"D","1000")

先日のサンプルでは15分おきに新しい足に置き換わるはずですが、
自動で置き換わらない感じでしょうか?

もし、15分待っても自動で足が上書きされない場合は、
Excelの自動計算がオフになってるのかもしれませんっ!!

2018年08月09日

たく

いつも丁寧な返信ありがとうございます。

アドインの関数入力からデータを取得した後、
表示開始セルを同じ(もしくは既にデータが取得されて数値が入っているセル)にして再度関数入力をするとなにやらデータがうまく取得できないようです
シートを新しくすれば問題ないのですが、ほかに方法はないのでしょうか…

2018年08月11日

Ryo Ohno

こちらは別セルの複数の関数で同じ、表示開始セルを使用しているということでしょうかー?
それとも、同じセルに関数入力から別の関数に上書きしたということでしょうか?
#理解力がなく申し訳ありません・・・(^^;

もし別セルの複数の関数から同じ表示開始セルを使用することはできません。
関数ごとに別の表示開始セルを指定してあげる必要があります。

また、同じセルで別関数を同じ表示開始セルで上書きの場合、
書式が初期化されない問題があります。

1.A1のセルに、FCANDLEで約定時刻を取得するように設定(表示開始セルはA2)
2.約定時刻を表示するときに、各セルに時間表示用の書式設定がされる
3.A1のセルに、FCANDLEで高値を取得するように再設定(表示開始セルはA2)
4.書式設定が戻らないため、高値の値を時間の様に表示して0:00と表示される

上記の場合は、関数を再設定された後に表示されるセルの書式設定を消してあげると
再設定後もシートを新しくしなくても正常に表示されます!!

説明がわかり辛いと思いますので、もしご不明な点がありましたら、
また、ご連絡頂けますと幸いです!!

2018年08月11日

岡三オンライン証券

岡三RSS(国内株式・先物OP)の機能拡充について

いつも岡三RSSをご利用いただき、誠にありがとうございます。

1/23(土)に岡三RSSの機能拡充を予定しています。

これまで更新タイミングによっては、同一行におけるデータ表示にズレが発生していましたが、今回の機能拡充によりズレの無い最新データを取得することができようになります。

※今回の機能拡充は、対象関数の取得項目で「CSV」を選択した場合のみ適用となります。

詳細は下記のお知らせよりご確認ください。

■岡三RSS(国内株式・先物OP)の機能拡充について
https://www.okasan-online.co.jp/information/2021/0120a/

■メンテナンス日時(予定)
2021年1月23日(土)09:00 ~ 12:00頃

※メンテナンス終了後、岡三RSSを起動させると自動アップデートが行われます。

引き続き、岡三RSSをご利用くださいますようお願いいたします。

2021年01月21日

大野 了

スピルとか出力結果の見え方が既存と同じなのでだいぶうれしいですねー

俺もC#などで作れると、ホントありがたいです・・・

2021年01月26日

りーぼうじいじ

始めて投稿します。
各項目が全て揃ってから計算を行うロジックから解放されることは、うれしいですね。
但し、CSV形式を変換する事無く使用できるように、全項目を一括で出力する配列数式か、又はスピル(動的配列数式)もオプションに加えてもらえるとありがたいですね。
そうすれば、今まで作成したプログラムをほぼ変更なしで使えます。
岡三RSSは、これが無いと困るくらいに、非常に便利に使わさせて頂いております。
ついでに淡い希望ですが、C#やvb.net対応のAPIを提供して頂けるとVBAから解放され、ユーザーにとって業界最高のツールになるでしょう。
岡三オンライン証券。ファイティング。

2021年01月26日

スペース 西

>今回の機能拡充によりズレの無い最新データを取得することができようになります。

非常にうれしい機能追加です。
仕様を確認中です。

[TICK][FCANDLE]にて、[CSV]項目の追加を確認しました。
ところが、私が一番欲しい[FTICK]は未サポートのようです。
日経ミニはデータ量が膨大で一般PC用のサポートが困難でしょうが
日経ラージのみでもサポートしていただきたいものです。
追加サポートの予定はあるのでしょうか?
行単位の不一致に悩むユーザとしては、強く希望します!

2021年01月23日

大野 了

とうとう来たぁぁぁぁぁぁ!!

各項目のズレチェックのロジックから解放される!!
これはだいぶ使いやすくなりますねー!!

2021年01月23日

RSSユーザー

一般信用銘柄で空売が出来る銘柄の表示についてです。

お世話になっております。
上記の通り、一般信用銘柄で空売りが出来る銘柄が分かりません。まったく無いわけでもないと思うのですが分かる方法はないでしょうか、お教えください。

2021年12月02日

大野 了

そうですねー
一般で空売り出来たらありがたいですねー

なにはともあれ、お役に立てて幸いです。

2021年12月03日

RSSユーザー

お世話になっております。そうでしたか、残念です。
一般信用銘柄で空売りでおいしそうなのが沢山あるもんですから!
RSSだからこそ空売りが可能になるわけで(じゃなかったら命までとられます)。
分かりました、ありがとうございました!

2021年12月03日

大野 了

RSSユーザーさん、こんにちは!!

岡三オンライン証券さんの一般信用取引に関しては、
無期限の買建のみ可能なようですので、一般信用で空売りはできないかと思われます!!

https://www.okasan-online.co.jp/qa/detail/212

2021年12月03日

SE

注文エラーを監視したい。

ORDERRESULT関数を使って、注文のログをとっています。エラーも発生したらすぐに記録されます。
それを利用して、注文エラーが発生した場合にすぐに保有している全ポジションを決済するようなプログラムを書きたいのですが、何か方法は無いでしょうか?
VBAのChangeイベントを利用しようと思ったのですが、ORDERRESULT関数によるデータの追加ではイベントが発生しないようです。(おそらく行挿入となるため)
Application on timeによる定期的な監視という方法もできればとりたくないです。(エラー発生時にすぐ動くプログラムにしたい)
以前注文エラーが発生して損切りが行われなず大きく損失を出してしまい、そのようなことを防ぎたいのですが、どなたかお知恵を貸して下さい。

2018年08月16日

Ryo Ohno

VBAのonTime以外のやり方ですと・・・

Workbookの中にSheetCalculateというイベントがあります。

このイベントは再計算がかかるたびに動くイベントで、
岡三RSSがデータを書き込むと、ワークシートに対して再計算がかかるため、
このイベントが走る形になりまっす!!

2018年08月16日

RSSユーザー

エクセルマクロをオンタイムメソッドで実行する方法についてです

いつも大変お世話になっております。
以下のプログラムをオンタイムメソッドで9:00~11:30,12:30~15:00まで1分おきに実行するには何を書き足せばよいでしょうか、お教えください。(UWSCのタイムスケジュールで9:00~14:59まで1分おきの式でやっているのですが11:31~12:29までの1時間のムダな実行を省きたいのです)

Sub Macro8()
If Sheets("株価").Cells(1 ,6) = 0 Then
Macro7
End If
End Sub

2020年09月28日

大野 了

はい、大丈夫だと思います!!

2020年09月29日

RSSユーザー

つまり、8:50とかにuwscでmacro8を実行させればあとはオンタイムメソッドで動くよということでしょうか。

2020年09月29日

大野 了

なるほどー!!

OnTimeメソッドは、指定した時刻に対象メソッドを動かすためのもので、
スケジューリングの機能は持ち合わせていません。

繰り返し動かす場合は、この指定した時刻に動く機能を利用し、
『今から1分後に、もう一度Macro8を動かす』
というものを繰り返して、1分間隔でマクロを動かす機能となります。

ですので、OnTimeを使用する場合は、
9:00より前にMacro8を一度動かしてあげる必要がありまーす!!

2020年09月29日

RSSユーザー

すみません、プログラムが動いているので15:00までさわれませんでした。15:00すぎに時刻をそれぞれ3時間ずらして、表示→マクロ表示→macro8実行をクリックしたら動き出しました。自動で9時には動かなかったということになります。

2020年09月29日

大野 了

今、こちらでテストしてみたのですが、
正常に動作しました。

Macro8を1度動かしたら、
その後は1分単位で繰り返して動いているのですが、
Macro8を動かされても、1分単位で動かない感じでしょうかー?

2020年09月29日

RSSユーザー

残念ながら、動いていませんでした。'Macro7の'も取ったのですが!

2020年09月29日

大野 了

なるほど!!

テストができていませんが、以下の内容で大丈夫だと思います。
11:30と15:00は、現物ですと数秒の違いでマーケットが閉まっている可能性があるため
9:00~11:29、12:30~14:59
となっています!!

Sub Macro8()
If ("0900" <= Format(Now, "hhnn") And Format(Now, "hhnn") < "1130") _
Or _
("1230" <= Format(Now, "hhnn") And Format(Now, "hhnn") < "1500") Then

If Sheets("株価").Cells(1, 6) = 0 Then
'Macro7
End If
End If

Call Application.OnTime(Now + TimeValue("00:01:00"), "Macro8")
End Sub

2020年09月28日

大野 了

こんにちは!!
1点確認させてください。

こちらのご質問ですが・・・

『UWSCにて1分毎にMacro8は起動するので、
呼ばれたMacro8の方で、11:30~12:30は動かないようにしたい』
という事でしょうかー?

それとも
『UWSCは使わず、Macro8だけでonTimeを使って1分ごとに繰り返して、
11:30~12:30を覗いて、1分ごとに動かしたい』
という事でしょうかー?

2020年09月28日

RSSユーザー

本当に素早い対応、感謝です。
明日が楽しみデス。

2020年09月28日

大野 了

あっ
Macro7がコメントになってしまっていますので、
そこだけ元に戻してください!!

2020年09月28日

RSSユーザー

すみません。

『UWSCは使わず、Macro8だけでonTimeを使って1分ごとに繰り返して、
11:30~12:30を覗いて、1分ごとに動かしたい』

の方です。

UWSCだと15:00ジャストがないので!(難しければ前者でもOKです!)

2020年09月28日

クロ

証拠金額及び口座残高取得方法

もしご存知な方がいらっしゃいましたらご助言をお願いいたします。
岡三RSSで証拠金および自分の口座残高を取得方法はありますでしょうか?口座残高によって取引枚数を自動で取得したいと考えております。
もし、岡三RSSでは難しい場合はなにか他に手段はありますでしょうか?
何卒ご助言宜しくお願い致します。

2018年06月14日

クロ

Ryo Ohno様
ありがとうございます。やはり無いのですね。
岡三オンラインさんの方で作ってもらえたらいいのに、、、と願うばかりです。
他に方法はないのか模索してみます。もしご存じの方がいらっしゃいましたらご助言くださいませ

2018年06月14日

Ryo Ohno

クロさん、こんにちは

残念ながら、岡三RSSでは証拠金と口座残高の情報を取得できません。
取得できると自分もエントリの枚数を自動でできるので、ありがたいのですが・・・

2018年06月14日

スペース 西

履歴Tickデータ

「N225:日経平均先物1限月」の本日Tickデータ(日中分)を喪失しました。
電源関係で岡三RSSを受信している2台のPCが止まり、データを失いました。

何らかの方法で入手する方法はないでしょうか?
お知恵をお貸しください。

2021年04月20日

スペース 西

大野 さん、こんにちは。スペース西です。

>また、JPXは一年前のデータしか取れなかったんですね・・・

はい、前月までのデータしか取れないようです。

>ネットレーダーで行けましたか!!

はい、ばっちりです。
今、インポート機能を実装しMy履歴へ抜けた個所を追加しました。
検証中ですが、OKのようです。
これで安心してトレードを継続できます。

直近「10,000 Tick」のデータのとり方を教えていただいたので
今後、異常読込が発生した時に対応可能になりました。

本当にありがとうございました。

2021年04月21日

大野 了

スペース西さん、こんにちは!!

おぉ!!
ネットレーダーで行けましたか!!
うろ覚えの知識で申し訳なかったのですが、良かったです!!

また、JPXは一年前のデータしか取れなかったんですね・・・
これは失礼しました・・・

確かに大昔の分足のデータしか買ったことなかったので、
直近のデータが買えないことは知りませんでした

勉強になりました、こちらこそありがとーございました!!

2021年04月21日

スペース 西

引き続き、教えていただいた「ネットトレーダー」の機能を調査しました。

[投資情報]→[歩み(大)]→[通常歩:検索件数10000]で買付強度、VWAP 値がCSVで取れそうです。
※データ形式:時刻,現在値,前回比,出来高,累計,売気配,買付強度,買気配,VWAP

簡単な「インポート機能」をプログラムすれば、欲しいデータを取得できそうです。
それと、今後もデータ不正などが生じたときに、有効に活用できそうです。

貴重で有効な情報、ありがとうございました。

2021年04月20日

スペース 西

大野さん、お久しぶりです!
と言いつつも、何時も「岡三RSS集いの広場」で拝見しています。

情報、ありがとうございます。

>ネットトレーダーでTickを表示して、そのデータをCSVで落とせた気がします。
>ちょっと記憶があいまいなので何とも言えませんが・・・

ネットトレーダーを起動し、色々と調べています。
現時点で見つけたのは------------------------------
N225先物、期近[21/06] 歩み 右クリックで[CSV出力]
時刻,前回比,現在値,売気配,買気配
--------------------------------------------------
でした。

必要なデータは
--------------------------------------------------------
日付時刻,約定通番,現在値,VWAP,買付強度,Tick出来高,出来高
--------------------------------------------------------
なのと、1日データ表示でも件数が非常に少なかったです。
RSS制限の300件以内のような印象です。
まだ調査不足なので、引き続き調査してみます。

>それか有料でよければ、JPXからTickのデータを購入すると言う手もー
>一日分であればそんなに高くないですしー

情報、ありがとうございます。
「指定可能期間 : 19881001 ~ 20210331」と書いてあるので
過去年月のデータのようです。
検証用には有効ですが、必要な本日データはなさそうです。

2021年04月20日

大野 了

スペース西さん、お久しぶりです!!

Tickのデータですか・・・

Tickのデータがネットに上がってるところは残念ながら知らないのですが、

手元にネットトレーダーが無い為、正確なところは言えませんが、
確か、一日分であれば
ネットトレーダーでTickを表示して、そのデータをCSVで落とせた気がします。
ちょっと記憶があいまいなので何とも言えませんが・・・


それか有料でよければ、JPXからTickのデータを購入すると言う手もー
一日分であればそんなに高くないですしー

昔買ったことがあるのですが、CSVの形でデータを取得することができます!!

http://db-ec.jpx.co.jp/category/C430/C430508.html

2021年04月20日

羽生

ブレイクアウト

nikkei先物でボックスブレイクアウトを行いたいのですが、どのような方法があるのでしょうか?
具体的に回答いただければ幸いです。

2018年08月23日

Ryo Ohno

ボックス相場の判断というわけではなく、指定期間の上値と安値のブレイクアウトってことですねー
すみません、勘違いしてました。

それでしたら・・・・

1.9時~13時の高値、安値のデータをFCANDLE関数の時足で取得(5行データが返って来る)
A列:高値
B列:安値
2.MAX(A2:A6)で、9~13時の高値を取得
3.MIN(B2:B6)で、9~13時の安値を取得
4.14時以降に現在値が高値安値を超えたら発注

の流れはいかがでしょうかー?

ご参考になれば幸いです!!

2018年08月27日

羽生

傾きとか複雑なことではなく、例えば、9時~13時のboxですと、その間の高値、安値を取得して、そのboxを下回ったら売り、上回ったら買いという方法でいいのですが、難しいでしょうか?

2018年08月27日

Ryo Ohno

羽生さん、こんにちは!!

ボックスの判断ですか、難しそうですね・・・

正確性を求めて、見た目から簡単に判断させるなら・・・
相場を座標で考え、任意の2日間の2点間の傾きを求め、
※(x2-x1)(y-y1) = (y2-y1)(x-x1)でよかったでしたっけ・・・(^^;
xが任意の数値以下の条件で頂点付近であることを求め、
yの値が上下に数パーセント内に入っているものとか言う判断で良いような気がします。
でも、これですと2点間の差(日数差)とデータ次第では、頂点の判断が間違って来ると思いますので、
複雑で良いなら、微分して接線の傾きを出す方が良いかもしれません・・・
たぶん・・・きっと・・・

もしインジケータ的なもので判断させるなら、
ボリンジャーバンドの変化量が少ないってのが簡単なような気がします。

すみません、ボックス相場の判断をやったことがないので、
もっと簡単で、正確な判断方法はあると思います!!

2018年08月25日

mm

対Topixβについて

岡三RSSで対Topixβを出したいのですがどのようにすればよろしいですか?
よろしくお願いいたします。

2021年04月17日

mm

ありがとうございました。

2021年04月18日

大野 了

mmさん、こんにちは!!

集計期間が60日か52週でよければ、QUOTE関数に項目がありますので、
QUOTE関数の取得項目名で
"対TOPIX60日ベータ"、"対TOPIX52週ベータ"
と指定すると取得ができます!!

もし上記以外の日数の場合は、自力で計算するしかないと思われます!!

2021年04月17日

上野

5分足の指数平滑移動平均線を表示させたい

いつもお世話になっております。
主題の件ですが、5分足の指数平滑移動平均線がゴールデンクロスしたタイミングでINする仕組みを考えています。
指数平滑移動平均線を使用するには、1本前のEMAが必要です。

そこで、
CANDLE関数で5分足の終値を表示させた際、5分ごとに行が更新されて行きますが、
このマクロを5分足のEMAに応用したいと考えています。

この様な場合、どのようなマクロを組めば良いのでしょうか?
なお、EMAの計算式自体は存じ上げております。
よろしくお願いします。

2021年11月15日

大野 了

上野さん、こんにちは

うまく行きましたか!!
お役に立ててよかったです!!

2021年11月19日

上野

大野さん
こんばんは!うまくいきました!
いつもいつも本当にありがとうございます!!!

2021年11月18日

大野 了

上野さん、こんにちは!!

少しでもお役に立てたのであれば幸いです。

うまく行くことをいのります

2021年11月18日

上野

大野さん
こんばんは。ご無沙汰しております。
いつもありがとうございます!

文章だけだとうまく説明できない為、
エクセルを添付しましたのでご確認頂けますと幸いです。
お手数をおかけしますが、よろしくお願いいたします。

2021年11月15日

大野 了

上野さん、こんにちは!!

こちらは、EMAの具体的なセル関数の書き方を・・・
ということでよろしいでしょうかー?

2021年11月15日

上野

大野さん
こんばんは!
改良して頂き誠にありがとうございます!!!
明日の場中に確認させて頂きます!

2021年11月16日

大野 了

EMA GC判定.xlsx (27.6KB)

上野さん、こんにちは!!

うまく行きましたか!!
よかったです!!

また途中で気が付いたのですが、
今回、時刻と終値をCANDLE関数で取得しているため、
関数間の時差問題が発生してしまうかもしれません。

以前いただいた質問への回答のURLで申し訳ございませんが、
内容的にはこちらを見て頂けますと幸いです。
https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=315#comment_1585


また、銘柄を増やす件ですが、
シートを拡張したが早そうだったので作ってみました。

現在、4銘柄ほど入れていますが、
株価シート、EMA5シート、EMA25シートを横に拡張していってください。
また、VBAは50銘柄まで対応していますが、
もし60 銘柄、70銘柄と増やされたい場合は、
VBAの『For ColIdx 2 To 51』の51 の部分を、61、71に増やして頂ければ動くと思います!!

ご確認ください!!

2021年11月16日

上野

大野さん

こんにちは!
早速書き込んで頂きありがとうございます!
今稼働させてみましたが、思い通りに動いています!凄いです!
ありがとうございます!!!

追加で質問なのですが、
今「株価」シート、「EMA5」シート、「EMA25」シートのB列にのみ銘柄を入れていますが、
例えば、C列以降に他の銘柄を増やしたい場合、VBAはどのようにいじれば良いのでしょうか?
最大で50銘柄まで組み込みたいと考えています。
重ね重ね恐れ入りますがご教授下さい。
よろしくお願いします。

2021年11月16日

大野 了

EMA GC判定.xlsx (27.5KB)

上野さん、こんにちは!!

以前、EMAでやり取りさせて頂いた上野さんだったんですね!!
その節はお世話になりました。

さて、ご質問の件ですが、CANDLEのデータの書き出しにはExcelのマクロは使用されておらず、
岡三RSSのアドイン等が直接書き出しているようです。

このため、上野さんがやられたいような
CANDLE関数の更新時に、
EMA5シートのB4の値を、B5にコピーするようなマクロを埋め込むことができません。

ですが、ワークシートにCalculateというイベントがあり、
このイベントを利用するとCANDLEを書き込んだ際に、指定したマクロが動くようになります。
そしてこのイベントの中でEMAのずらし処理を入れたら大丈夫だと思います。


自分もExcelシートに書き込みましたのでご確認ください。
集いの広場の仕様で、xlsmは上げれませんので、拡張子をxlsxに変更してupしています。
ダウンロード後に、xlsmに変更すると開くようになると思います。

2021年11月16日

りょう

歩み値の取得件数について

いつもお世話になっております。
歩み値の表示件数について質問させてください。
先物の歩み値の取得件数が最大で30件になっているのですが
これを一日分くらいを取得したいのですがなにか方法はありますでしょうか?
たとえば表示されている件数は30ですが別のセルに記録されるなどして一日分くらい記録するなどです。
お手数おかけしてすみませんがご教授お願い致します。

2018年09月15日

りょう

質問の回答ありがとうございます!
正確に取得するのは難しいのですね。
いろいろ試してみます!
ありがとうございました!

2018年09月21日

Ryo Ohno

りょうさん、こんばんは!

歩み足の件ですが、一日分を取得するには
りょうさんがおっしゃられます通り、
VBAなどで別のセルにコピーしていくしかないのですが、
Tick関数のひとつ厄介なところは、
Excelと岡三RSSの仕様上、正確なデータを取ることが難しく・・・
(現在値時刻と現在値がどうしてもずれてしまいます。)

それでも問題がない状態での利用となってしまいまーす。

2018年09月19日

かく

バックテスト

先物の5分足でバックテストを行いたいのですが、どのような方法があるのでしょうか?
よろしくお願いします。

2018年09月15日

小笠原聖史

かくさん、はじめまして。
先物の5分足は、2018/9/18の午前7時現在ですと、9/11の8:45から9/15の5:30まで、5営業日分を取得することができることを確認しました。
約定日、足時刻、始値、高値、安値、終値、出来高、が表示されますので、5分足から移動平均線やボリンジャーバンドをエクセル上でテクニカル指標をエクセル関数を使って先物5分足の隣のレンジに自作することができます。
あとは、5分足とテクニカル指標を比較して、例えば、5分足が移動平均を上回ったら買いなど、自由にバックテストを行うことができます。
ザラバエントリーを想定する場合には、スリッページの設定も行うのがよいと思います。
ご参考になれば幸いです。

2018年09月18日

Jun Jun

指標コード(指数情報取得用)

IDXCANDLEでJNK400(JPX日経400)が取得出来ません
他は取れてるんですが

2018年09月12日

小笠原聖史

いえいえ大丈夫です。
為替(ドル円)はおっしゃるとおり、JPY=Xで取得できます。

2018年10月04日

Jun Jun

返事遅くなりました。JN400だったのですね
関数一覧のマニュアルにはJNK400となってました
ちなみに為替も取得したいのですがJPY=Xで合ってますか?

2018年10月04日

小笠原聖史

JPX400テスト.xlsx (62.9KB)

Jun Jun様、おはようございます。
手元の環境で取得してみましたら、添付ファイルのとおり取得できました。
添付をJun Jun様のPCでお試しいただけますでしょうか?
もしくは、何か原因があって取得できないのかもしれませんので、Jun Jun様のエクセルをアップしてくださることができれば、当方でも試してみることができます。
どうぞよろしくお願いいたします。

2018年09月18日

RSSユーザー

自動注文を出す

例えば、セルA1とB1の値が同じになったら、セルC1に1を代入して、発注するプログラムを作成したいのですが、下記の記述のしかたでちゃんと動くでしょうか?

これの他に常にA1とB1の値をチェックして判定するようなプログラムが必要な気がするのですが。

もし必要なら、それの作成方法を教えていただきたいのですが。よろしくおねがいします。

Sub NewOrder()

If Range("A1").value = Range("B1") Then

Range("C1").value = 1

Else

Endif

End sub

2018年11月18日

小笠原聖史

RSSユーザー様
なにかありましたら、また書き込んでください。

2018年11月24日

RSSユーザー

すみません解決しました。

2018年11月24日

RSSユーザー

小笠原様 
回答ありがとうございます。ひとつ質問なのですが、
End Sub の上の行の”サンプル”もそのまま記述するのでしょうか?
よろしくお願いします。

2018年11月23日

小笠原聖史

RSSユーザー様
はじめまして、小笠原と申します。
ontimeメソッドの活用が一つの解決策だと思いますので、以下にご紹介いたします。

Sub サンプル()
Call NewOrder’岡三RSSユーザー様のsubプロシージャー、NewOrderを呼び出します。
基準時刻 = TimeValue(Now)
Cells(1, 5) = 基準時刻
反復時刻 = TimeValue(Now) + TimeValue("00:00:01")
Application.OnTime 反復時刻, "サンプル"
End Sub

2018年11月21日

RSSユーザー

3分足

3分足降順.xlsx (127.5KB)

以前3分足について、質問を行い小笠原様からシートを提供して
頂いのですが、取得期間が8:45から15:10までの
ものでした。その後移動平均線を使いたいと思い。16:30から5:30までの値を取得しようと私なりにトライしてみましたが、全くうまくいきません。
そこで16:30から翌日の5:30までのデータを取得する方法を教えて頂いのですが、よろしくおねがいします。
前回小笠原様に提供していただいたシートを添付します。

2018年11月09日

小笠原聖史

3分足20181203.xlsx (436.6KB)

ハダノ様
こちらこそ、何度も申し訳ありません。
いままでのバージョンでは、当日の8:45以降のデータのみを使って3分足を計算しておりましたので、寄り付きからしばらくの間は正確なデータが計算できておりませんでした。今回のバージョンでは、前日と当日の二日間のデータを使って計算するように修正しましたので、8:45の移動平均は5:30分などの足を使って計算するようになっております。添付ファイルをお試しいただけますでしょうか。

2018年12月03日

ハダノ

2018-12-03_08h59_28.png (84.4KB)

小笠原様
度々で申し訳ありません。昨晩まではチャートに
表示される3分足のMAの値とエクセルの値が一致していたのですが。今朝の相場が始まるとチャートとMAのそれが一致しません(添付のコピーを参照してくださ)。
今回修正して頂く前からの現象で、それが原因だと思っていたのでうすが、違ったようです。どうにかなりますでしょうか?

2018年12月03日

ハダノ

小笠原様
ありがとうございました。

2018年12月02日

小笠原聖史

3分足20181201.xlsx (297.6KB)

ハダノ様
すみません、考慮が足りていませんでした。
修正版をアップロードしておきますので、お試しいただけますと幸いです。

2018年12月01日

ハダノ

小笠原様
先日はありがとうございました。
質問なのですが、セル V394(5:30の終値)が#N/Aと
表示されるのですが、正常に表示させることは出来ますでしょうか
よろしくお願いいたします。

2018年12月01日

小笠原聖史

ハダノ様
ご丁寧にありがとうございます。
ハダノ様のお役にたてて光栄です。

2018年11月14日

ハダノ

小笠原様
長年の悩みが解決しました。有難うございました。

2018年11月14日

小笠原聖史

3分足.xlsx (291.1KB)

ハダノ様
4種類の移動平均を取得できるようにセットしておきました。
お試しいただけますと幸いです。

2018年11月13日

ハダノ

小笠原様
大変有難うございます。大いに助かりました。
最後にもう一つお願いなのですが、他に3種類ほど、同時に違う本数の移動平均線の値を取得したいのですが、私ではシートを見ただけでは、同様に移動平均線の値と出しているの見当もつかない付きません。そちらの方も何卒よろしくおねがいします。

2018年11月13日

小笠原聖史

3分足.xlsx (280.5KB)

RSSユーザー様
添付ファイルのY4のセルに、移動平均を表示させています。
計算対象の本数はY3で指定してください。
あと、ファイルを開いてすぐにグレーの網掛け部分をデリートしてから使用するようにしていただければと思います。
一度お試しいただけますと幸いです。

2018年11月12日

RSSユーザー

3分足の移動平均線をトリガーにした、発注システムを作ろうと
していたのですが、3分足を取得できれば、その移動平均線を得ることが出来ると思っていたのですが、考えが甘いようでした。
恐れ入りますが、3分足の任意の移動平均線をこの表から取得することは出来るのでしょうか?教えていただければ幸いです。

2018年11月12日

RSSユーザー

コメントが遅れて申し訳ありません。早速明日から試してみます。
有難うございました。

2018年11月11日

小笠原聖史

3分足.xlsx (214.0KB)

RSSユーザー様
添付の通り作成してみましたので、使ってみてください。
どうぞよろしくお願いいたします。

2018年11月09日

大野 了

最近、VBAが止まってしまう現象が起きている方へ

こんにちは、大野です。

WindowsUpdateで2019年8月の月例アップデートを当ててしまうと、
VBAが止まってしまうという不具合が上がっているみたいです。

もしかすると、ここ2,3日で急にシステムが停止してしまうようになった方は、
これが原因かもしれません。

自分のPCでは発生していないため、解決方法は調査できていませんが、
2019年8月の月例アップデートをアンインストールすると、
またVBAが動くようになるかもしれません!!


https://forest.watch.impress.co.jp/docs/news/1201758.html

2019年08月16日

大野 了

VBAの停止の件ですが、MicrosoftよりVBAが停止してしまう不具合への対応パッチが出ているみたいです。

https://support.microsoft.com/ja-jp/help/4512534/windows-10-update-kb4512534

WindowsUpdateで『更新プログラムのチェック』で不具合修正のアップデートがかかると
書いてあると書いてありますが、自分は当たりませんでしたw

もしパッチが当たらなくて、お急ぎの場合は
一番下の、
『To get the standalone package for this update, go to the Microsoft Update Catalog.』
と書いてあるところのリンクからMicrosoft Update Catalogに飛んでもらって、
対象OSのパッチをDLすることができますのでー
それを当てると改善するかもしれません!!

自分は不具合が発生しておらず対象の修正プログラムを当てていないので、
必ず直るとは言えず・・・
試される際は自己責任で行って頂けますと幸いです。

2019年08月19日

りょう

バックテストシートを作成したい

バックテストサンプル1.xlsx (33.4KB)

いつもお世話になっております。
現在バックテストシートを作成していて困っていることがありますのでご教授お願いいたします。
アドインから株価の情報をエクセルに表示させてそれをもとにバックテストをしています。
銘柄のコードを入力したら自動で銘柄情報を更新してバックテスト結果がでるようにしています。
これの計算しきを使って複数銘柄のバックテスト結果を記録していきたいと考えています。
しかしマクロを実行しても動作が終了したあとに株価情報が更新され、計算結果が株価情報が更新されていない状態での結果が入力されていきます。
株価情報が更新され正しい計算結果がでてから次の計算にうつるにはどうしたらよいでしょうか?
サンプルシートをつくりましたのでお手数ですが確認をお願いします。

2018年09月10日

へろへろ

NT両建て決済注文で方玉のみ残る

こんにちは

N225ミニとTOPIXミニの差額(サヤ)の取引シートを岡三RSSで作りました。
新規建ては、5分足終値のNT差額が希望額になったときに建玉します。決済は、建玉の合計「評価損益額」が利食いの評価益額に達するか、損切りの評価損額に達した場合、セルにサイン「1」を表示させ、別の二つのセル内の225,Topixの両方の発注関数を同時に有効化して建玉決済を行うというものです。決済の「評価損益額」の計算には分足データではなく、Fpositionで導き出した評価損益額の合計を使用しています。

起こった問題ですが、決済時、片玉のみしか決済されない事例が現れました。これは、価格の変動により、発注条件が一瞬だけ満たされた場合に起きる現象なのだろうと想像しています。このような現象で、片玉だけ残る事態を避けるための工夫や知恵や、現在の仕組みへのダメ出しがあればコメントいただければと思っています。
このシート(ブック)で、マクロは「マクロの記録」で利用できるものを加工したものしか使っておりません。VBA知識は乏しいです。

また、別件ではありますが、Fpositionで導いた建玉情報が、建玉がなくなった後でも、表示先に残ることが頻繁にあり、個別に消去しています(Ordqueryでも起こるようです)。
対策があれば情報いただければと思います。

2020年03月10日

sakai

>Lookup関数や、sum関数の範囲を、
>一番初めに出てくる『***End***』までにすることでしょうかー

>確かにこれ、確実に消してほしいですね・・・

この仕様については今のままの方が良ろしいかと思います
Lookup関数や、sum関数の範囲を、一番初めに出てくる『***End***』までにする*べき*です
ご存じのようにシートへの書き込み(clear)は時間がかかります
RSSに余計な作業をさせると注文がスリップする可能性が高くなります 
私は株取引でRSSを使っていますが1注文の出来が分割出来となり、多いときは複数銘柄でPOSITIONが100行ほどになります 市場の超高速なシステムを相手に戦っていますので、少しでも高速な処理を希望します
RSS開発者が変な気を起こさないようにしたいものです
前回の株注文の表示関数化version-upのようなことがないようにお願いします(その後macro機能を復活していただきました)
老婆心ながら

2020年04月11日

大野 了

ポジションが100銘柄ですかー!!
さかいさん相変わらず、すごいですね・・・

なるほどー
確かにそこまでポジションがあると、ちんたらされると困るので、
高速性の要求も高くなりますね。

2020年04月13日

大野 了

少しでもお役に立てれれば幸いです!!
わかり辛い点もあると思いますので、何かあればご連絡頂けますと幸いです!!

2020年03月10日

へろへろ

度々のご返信ありがとうございました。

2020年03月10日

大野 了

へろへろさん、こんにちは!!

決済発注はエラーではなくそもそもされてないんですねー
でしたら、"発注完了"を見ることにより何とかなると思います。

うまくいくことを祈ります!!

旧データが残る件ですが、これのことだったんですねー
通常は消さなくても、自動で消えるようですが、
ポジションが大きく動いたときにたまに残るようです。
この現象はたまに自分も起きています。
とはいえ、頻繁には起きないです・・・

対策としては、へろへろさんのおっしゃいます通り、13行目以降を消して頂くか
Lookup関数や、sum関数の範囲を、
一番初めに出てくる『***End***』までにすることでしょうかー

確かにこれ、確実に消してほしいですね・・・

2020年03月10日

へろへろ

sannkou.png (29.4KB)

大野様
早速のご回答をいただき感謝いたします。

2つのケースを挙げていただきました。
今までに、数回ですが、決済で使用していて初めてのことです。また、発注エラーは見受けられない(よう)です。 1のケースなのかと思います。
この場合、戻り値の ”発注完了” を利用しろというご指摘をいただきました。自分では思い付きもしませんでした。やってみます。ありがとうございました。

  別件の、旧データが表示先に残る件ですが。png 画像ファイルでお示しします。この画像の場合はNTとも正常に決済され、ミニTOPIXについても決済後で建玉がない状態です。Nの建玉のあった13行めは、***END***となっていますが、その下の2行はNT両建玉のあったときのままの表示になっています。毎回(だと思いますが)手入力で消すため、運用の妨げとなります。
ひょっとしたら、もともと、決済があった後は、13行目以下をクリアして使用すべきものでしょうか。

2020年03月10日

大野 了

へろへろさん、こんにちは!!

ちなみにこちらは、毎回発生しますでしょうか?
それとも、時々発生する感じになりますでしょうか?

状況を考えますと、2つ原因が考えられると思いました!!

1.へろへろさんの想像されている現象でサイン『1』が一瞬しか出ないため、片側しか決済がかからなかった
  こちらは
  1.一瞬決済の『1』が表示される
  2.225だけ決済
  3.『1』が消える
  4.その後にTopixの判断
  という動きになると、へろへろさんがおっしゃられてる動作になりそうです。

2.片側が証券会社側、もしくは岡三RSSの発注時にエラーになってしまっている
 
   
1の場合は、サインの1をN225、Topix両方で見るのではなく、どちらか片方にして、
もう片方は、その発注が完了されたかどうかを見るのが対応としては簡単だと思います。
=====================================================
A1:サインのセル
B1:N225の決済用セル
C1:Topixの決済用セル
とした場合

B1:=IF(A1=1,FNEWORDER(225),"待機")
C1:=IF(B1="発注完了",FNEWORDER(Topix),"待機")

としてあげれば、N225の決済発注であるB1の発注が行われたことをトリガーにTopixの発注がされるため、
片バリになることを防げると思います!!
=====================================================


2の場合は、ネットトレーダや、ORDQUERY、ORDERRESULTを使用すると
発注エラーが発生していた場合、その内容を見ることができます!!
もしエラーが片方の発注が取り消されている場合は、エラーを教えて頂けますと
何かしら対応の提案ができると思いまーす!!


>また、別件ではありますが、Fpositionで導いた建玉情報が、建玉がなくなった後でも、表示先に残ることが頻繁にあり、個別に消去しています(Ordqueryでも起こるようです)。
自分もFOPPOSITIONなど使っていますが、今のところ発生していません。
ちなみに2/22以前から発生してますでしょうかー?

2020年03月10日

りょう

バックテストシートを作成したい

バックテストサンプル1.xlsx (33.4KB)

いつもお世話になっております。
現在バックテストシートを作成していて困っていることがありますのでご教授お願いいたします。
アドインから株価の情報をエクセルに表示させてそれをもとにバックテストをしています。
銘柄のコードを入力したら自動で銘柄情報を更新してバックテスト結果がでるようにしています。
これの計算しきを使って複数銘柄のバックテスト結果を記録していきたいと考えています。
しかしマクロを実行しても動作が終了したあとに株価情報が更新され、計算結果が株価情報が更新されていない状態での結果が入力されていきます。
株価情報が更新され正しい計算結果がでてから次の計算にうつるにはどうしたらよいでしょうか?
サンプルシートをつくりましたのでお手数ですが確認をお願いします。

2018年09月10日

りょう

Ryo Ohno様

早速のコメントありがとうございます!
ためしてみたいと思います!

2018年09月11日

Ryo Ohno

りょうさん、こんにちは!!

マクロの実行中は残念ながら岡三RSSがデータを更新することができないため、
りょうさんのおっしゃれます通り、株価の情報が更新されない状態となります。

Excelシートを拝見させていただいたのですが、一番簡単なのは、
CANDLE関数を銘柄文用意してあげるのが簡単だと思います。

もしそれが煩わしい場合、作成されたマクロの中で『doEvents』という関数を呼ぶと
マクロ実行中でも岡三RSSがデータを更新できるようになりますので、
このdoEvents関数を読んだ後に、
株価の情報が更新されたことを確認されてから、計算結果を出し
次の銘柄に移動するという流れを作ってあげると動くと思います!!

2018年09月10日

けん

移動平均値を取得する関数

みなさま、こんばんは。初めて書き込みさせていただく超初心者です。おわかりになる方がいればお教えください。

これはとても単純な例えですが、現在値が5分移動平均値を上回ったら買い、下回ったら決済する、のようなことを1日中自動で行いたいと考えています。

こういうケースで使える移動平均値を取得する関数はあるのでしょうか?(調べたのですが見当たりませんでした)
15分平均値とか25分平均値とか任意の過去XX時間の平均値の取得がしたいと思っています。

また、このような例のサンプルはどこかにありますでしょうか?

とても初歩的な質問で大変恐縮ですが、よろしくお願いいたします。


2018年09月28日

けん

小笠原さん、はじめまして。
ご回答とサンプルの添付までしていただきありがとうございます。
そういう関数は無いのですね。てっきりあると勘違いしてました。
サンプルを確認して、色々試して格闘してみます。
ありがとうございました。

2018年09月29日

小笠原聖史

現在値が移動平均の上か下かをチェック.xlsx (33.6KB)

けんさん、はじめまして。
移動平均を取得する関数、はRSSにはありませんので、4本値から移動平均をaverage関数を使って計算すればよいと思います。そして、計算した移動平均と終値を比較して、上回ったか下回ったかを判断する、という具合です。サンプルを作りましたのでご参考になるかわかりませんが、ご覧ください。
なお、現在値が移動平均を上回る瞬間は、上回ったり、下回ったりをゆらゆら繰り返す場合がありますので、そのような場合の自動売買の処理を考慮しておく必要があると思います。
ご参考になれば幸いです。

2018年09月28日

てぃー

約定時のFOPPOSITION関数の挙動について

キャプチャ.PNG (6.2KB)

皆さんこんにちは。

以前から悩まされている挙動があり、何か解決ヒントをいただければと思い書き込みさせていただきます。

FOPPOSITION関数で保有情報を取得、表示しています。複数の項目を並べて表示しているので、通常は、***END***が同じ行に並んで表示されています。

ポジションの返済注文が約定したら、***END***の表示は、すべて1行ずつ上に詰まると思います。

ところが、なぜか1項目だけ消えずに残ってしまう項目があります。添付画像は、「銘柄名」がその状態になったときの例です。

このとき、関数を記述しているセルをダブルクリックしてあげると正しい表示に戻るのですが、それまではずっと古い情報が残ったままになってしまいます。

この症状がなぜ起きるか、また防止する方法があればご教示いただけないでしょうか。よろしくお願いいたします。

2018年10月31日

てぃー

Ohnoさん、ありがとうございます。
さっそくセルのクリア処理を入れることにします。

岡三RSSはクセをうまくケアしてあげる必要がありますね。
解決できて大変助かりました。
ありがとうございました。

2018年11月14日

Ryo Ohno

てぃーさん、めでたく発生しましたか(笑

表示対象のセルを消した場合に、再表示がかかる場合は、
その表示対象のセルのクリア処理をVBAで入れてあげて下さーい。
多分、関数の更新処理はなくても大丈夫だと思います!!

岡三RSSの関数は、処理負荷の軽減のためか、
表示対象のセルが書き出しをする内容と同じ場合は、
再表示を行わないようになってるみたいです。
※内部を完全に知ってるわけではないので、正確には違うかもしれませんが・・・

通常は、ポジションが更新されると、それを無視して更新がかかるのですが、
何かの拍子に変わらない時があるみたいです。
自分も何回か遭遇しました(笑

2018年11月13日

てぃー

Ohnoさん、

本日、めでたく?発生しました!

それで、FOPPOSITIONの表示先のセルを消してみたのですが、正しい位置に***END***が表示されました。

ということは、VBAの処理では、関数を更新する他に、表示先のセルをクリアする、でもよいということになるのでしょうか…

2018年11月12日

てぃー

Ohnoさん、

VBAでのセル編集モード再現方法ありがとうございます。

肝心の症状ですが、本日も発生しません…
これまで必ず1日に1回は起きてたんですが…
本当にこのままずーっと発生しないのかなあ…

また発生し始めたら、Formulaを試してみます!

2018年11月09日

Ryo Ohno

幸か不幸か発生しませんか・・・
このままずーと発生しないことを祈ります・・・


VBAでセルの計算式を更新するには
以下のように、Formulaというメソッドを使用すると、
編集モードの様に上書きしたのと同じような状況になります。

Range("A1").Formula = "=FOPPOSITION(""銘柄コード"",A2,""0"")"

これで解決すると良いのですが・・・

2018年11月08日

てぃー

>編集モードから確定して、編集モードから抜けた時に更新がかかるんですね・・・

まさにその通りです…

幸か不幸か、今日はこの現象が起きないため、表示先のセルを消した場合にどのようになるか確かめられていません…

発注などはVBAを周期的に動かして処理しているため、その中でVBAから無理やり更新をかける方法も試してみたいです。VBAでセルの更新をかける方法をご教示いただけないでしょうか。

2018年11月07日

Ryo Ohno

編集モード中に更新がかかるのではなく
編集モードから確定して、編集モードから抜けた時に更新がかかるんですね・・・
Excelのバージョンでは編集モード中に更新がかかってしまうという不具合があったので
それ絡みかと思いました・・・
違いそうですね・・・

自分は、***END***が二重になる事はよくあるのですが、
残念ながら、関数が一部だけ実行されないという状態になったことがありません。

岡三RSSの関数なので、計算方式が手動になってるというのも関係ないですし・・・
VBAから無理やり更新を掛けるという方法もあるのですが、
毎回起きないということを考えると負荷が心配です。

ちなみに発生した時ですが、FOPPOSITIONの表示先のセルを消して場合は
どのようになりますでしょうか?

なかなか厄介ですね・・・

2018年11月07日

てぃー

Ryo Ohnoさん、ご返信ありがとうございます。

はい、ダブルクリックすると編集モードになります。編集モードになって、再度、関数を入力した扱いになったら、表示が更新されるんだと思います。

ちなみに、注文が約定したときに、いつもこのような状態になるわけではありません。大抵の場合は正常に全列が更新されるのですが、たまに一部の列のみ表示が残ったままになるといった感じです。

2018年11月06日

Ryo Ohno

てぃーさん、こんにちは!!
返信が遅くなりまして、申し訳ありません。

ダブルクリックしたときだけ、表示が更新されますか・・・

ちなみに、ダブルクリックをすると、セルは編集モードになりますでしょうか?
もし、編集モードになる場合は、編集モード中に表示が正常に戻るという動きになりますでしょうか?

2018年11月05日

岡三オンライン証券(代理記入)

当社に寄せられた質問「‘Range’ メソッドはしっぱいしました」

御世話になります。岡三RSSでロボット発注に取り組んでいます。

サンプルファイルで

Dakoku = Range(""TimeforDakoku"").Value

というVBAの構文がありますが、これを使った、シートをコピーして、コーピーしたシートの

Sub Worksheet_Calculate()

のなかに

Dakoku = Range(""TimeforDakoku"").Value

を書いて、関連するセルを変更すると次にエラーがでます。

Microsoft Visual Basic
実行時エラー’1004’:
‘Range’ メソッドはしっぱいしました‘_Worksheet’オブジェクト

という表示がでてしまいます。

TimefoDakoku

というのは、岡三RSSの中の関数のように思いますが、エラーが出ない使い方をお教え願えますか?


(岡三RSSファンページからの転載)

2016年12月21日

Shosaku Takabayashi

> Dakoku = Range(""TimeforDakoku"").Value
> を書いて、関連するセルを変更すると次にエラーがでます。
> Microsoft Visual Basic
> 実行時エラー’1004’:
> ‘Range’ メソッドはしっぱいしました‘_Worksheet’オブジェクト
> という表示がでてしまいます。
> TimefoDakoku
> というのは、岡三RSSの中の関数のように思いますが、エラーが出ない使い方をお教え願えますか?

お初です。RSSではなくVBA側のエラーですね。サンプルファイル内で定義されたセル範囲が、移植側ファイルにない事が原因です。サンプルファイル側で「数式」リボン→「名前の管理」)TimeforDakokuに該当するセル範囲を確認出来ます。その定義ごと持ってくるか、セル範囲を直接Rangeで指定するで良いかと思います。

参考:https://support.office.com/ja-jp/article/%25E6%2595%25B0%25E5%25BC%258F%25E3%2581%25A7%25E5%2590%258D%25E5%2589%258D%25E3%2582%2592%25E5%25AE%259A%25E7%25BE%25A9%25E3%2581%2597%25E4%25BD%25BF%25E7%2594%25A8%25E3%2581%2599%25E3%2582%258B-4d0f13ac-53b7-422e-afd2-abd7ff379c64?ui=ja-JP&rs=ja-JP&ad=JP&fromAR=1


(岡三RSSファンページからの転載)

2016年12月21日

RSSユーザー

決済発注の対象建玉がなかった場合の発注IDの有効性

別スレで自己解決したとお伝えしたのですが、また同じ動作をしたので解決してませんでした。再度こちらで記載するのでお分かりになれば教えてください。

毎日新規発注と決済を繰り返す仕組みを構築しようとしています。
毎日16時に新規発注、翌日15時に決済のイメージです。

16時新規発注→翌15時決済、16時新規発注→翌15時決済
の繰り返しです。

前日16時に新規発注をしなかったケースなのですが、
翌日こういう動作をしました。

15時決済されず(前日未発注で建玉が無いので)→
16時新規発注→16:30約定→直後同時に16:30決済

たぶん、、、
15時に建玉が無くて決済が失敗したのでその発注IDが無効になったはず?なのに、16時半に約定した直後に決済されたということは、15時の決済発注がまだ有効だったということになるのでしょうか?

建玉が無かった場合の決済時の発注IDが、決済に成功した時と同じように、その時点で無効になると思っていたのですが違うのでしょうか?

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

2018年11月13日

Ryo Ohno

こんにちは!!

ロジックが見えないので、正確なところは言えませんが・・・
毎日Excelは再起動さており、
16:30の新規注文の関数と、15:00の決済注文のシート中に関数は1つずつしかない感じでしょうか?

それですと、決済発注が建玉なしで失敗した場合、
発注IDが使われてしまっていますので、ご指摘の通り2回目の決済発注掛からないような気がします。
また、建玉がない時に発注された決済注文が生きていて、
建玉ができた時に決済注文が生きるってことは少し考えつらいです。

考えられるのは、15時の決済注文は発注されておらず、
16:30の時に何かしらの理由で決済注文が飛んでしまったのではないかなーと思います。

もし、よろしければ発注の部分のExcleシートあげて頂ければ、
もう少し詳しく返答ができるかもしれませんっ!!

2018年11月15日

けん

Ryo Ohnoさん、いつもありがとうございます。
まだ事例が少ないのですが、今のところ建玉指定によってうまく動いているようです。

2018年11月24日

Ryo Ohno

けんさん

返信が遅くなりました。
建玉指定でうまくいきましたかっ!!
このままうまくいくことを祈ります!!

もし何かあれば、再度ご連絡を頂けますと幸いです!!

2018年11月21日

けん

Ryo Ohnoさんコメントありがとうございます。

・Excelは毎日再起動では無く起動しっぱなし
・発注IDは1日ひとつユニークなID(Today関数)を付与
・新規と決済の関数はひとつづつ

というような感じです。

もともとの決済では建玉指定してなかったのですが、建玉指定することで、お伝えした現象が起きないかどうか今試しています。
一度うまく動いたっぽいので、もう少し試してみます。
またうまくいかなかったらExcelシートをあげてみます。

いつもご対応ありがとうございます。


2018年11月18日

2タラント

発注をより高速化するには?

初めまして。
朝の寄付ぎりぎり(8時59分50秒過ぎ)の板情報や気配値で判断し、「寄付条件」で10銘柄の売買注文を出す、というトレードをしております。
(岡三RSSだからこそ可能なので、とても重宝しています。もちろんプロの高速取引には到底かなうものではありませんが、幸いにも銘柄によっては利益になっています)

その10銘柄の注文を、できる限り短時間で受け付けられるようにしたいと考えています。
「注文照会」画面の「受付時刻」を見て確認すると、だいたい1秒間に2~3件というスピードで注文が受け付けられているようです。
(現在のパソコン環境は、CPUがRYZEN5、メモリ16G、Excel2019、ネット回線はNuro光です。試しにより低スペックなパソコンから発注してみても、注文が処理されるスピードはほぼ変わらないみたいです)

そこで最近はパソコン2台を立ち上げ、寄付間際にそれぞれ5銘柄ずつ注文を出すという方法を取ってみました。このパソコン2台から発注する方法だと、少し多めの1秒間に3~4件の注文が受け付けられるようです。
そして、これくらいのスピードが限度なのかなと考えています…
Excelのセル関数は可能な限り簡素化しました。ただVBAは使っています。Excelの時刻を秒単位で更新するためです。VBAによる時刻更新ではなく「=FQUOTE("N225","0","現在値時刻")」を使ったこともあるのですが、肝心なときに時刻が数秒ほど飛んでしまうことがあるので…

注文の受付に関して、このような解釈で正しいものでしょうか?
より短時間で多くの注文を受け付けられるようにする方法などはあるものでしょうか?… もし何かアイデアやアドバイスをいただければ幸甚です。

2021年02月21日

大野 了

2タラントさん、こんにちは!!

いつも見て頂いているとは・・・
お恥ずかしい限りです・・・(笑

もし簡単にできる並列処理がありましたら、ここに書きたいと思います!!

>「VBAコース」を申し込んで、スキル向上を図っていくことろです。
!!!
良いですね!!
これは岡三RSS用のVBA講座開くと一儲けできる!!(笑

2021年02月22日

2タラント

大野様、大変適切でご丁寧なアドバイスを誠に有り難うございます。
(この広場で大野様の解説をいつも興味深く読ませていただいておりましたので、早速のご返信に感激しております)

やはり個人としての発注スピードは、このあたりが限度なのですね。
その点が確認できただけでも良かったです。
現状のスピードでも地道ながらもコンスタントな利益になっているので、何かプラスになる改善点があれば、工夫を加えていきたいと思います。

現在の発注はセル関数です。
VBAは独学でごく初歩的に使っているレベルなのですが、実は先週にパソコンスクールの「VBAコース」を申し込んで、スキル向上を図っていくことろです。

ためになるご返信を、誠に有り難うございました!

2021年02月22日

大野 了

2タラントさん、こんにちは!!

んーそうですねー
個人的には、個人投資家の環境では毎秒2,3件となると限界のような気がします。
現在でも、300msから500msで処理で来てるので・・・

個人投資家が発注を行うと、どうしても、
証券会社の余力確認のシステムとか、実際の証券取引所までのプロバイダ
証券取引所での約定処理、約定情報の戻りなど・・・
と、様々なシステムを中継しないと発注ができないので・・・

ですので、2タラントさんがやられたみたいに並列で発注させてあげるのが
一番だと思います。

あまり複雑なことをせずに簡単に思いつくのは以下の通りです。
1.もしセル関数で発注をさせている場合、
  発注関数の条件を独立させる
  マルチスレッド(並列処理)で発注を行ってくれるかもしれません
2.VBAで発注
  並列処理にはなりませんが、VBAの方が実行が高速なので、
  処理速度が高速になるかもしれません。
3.

しかし、いずれの方法も実際に発注を行う岡三RSSのシステムがPCに1つなので、
そこで詰まってしまうかもしれません・・・

2021年02月21日

けん

取引日付について

ごくごく簡単な質問で恐縮です。
日経225先物のFCANDLE関数で10/12(金)に取得したデータの取引日付が10/15(月)で最新の4本値が取得されています。
1営業日先になっているのですがこれで正しいのでしょうか?

2018年10月14日

Ryo Ohno

けんさん、こんにちは!!

はい、けんさんのおっしゃられます通り、
取引日が10/15のデータは
10/12 16:30 ~ 10:15 15:15
のデータとなりまーす!!

2018年10月20日

けん

Ryo Ohnoさん、こんばんは。
お手数ですが、もう一点確認させてください。
ということは、FCANDLE関数で取得した取引日付が10/15の4本値の、始値は10/12の16:30時点、終値は10/15の15:15時点の
数値という理解で合ってますでしょうか?

2018年10月19日

けん

Ryo Ohnoさん、こんばんは。
すいません、詳しく教えていただきありがとうございます。
助かりました。感謝いたします!

2018年10月16日

Ryo Ohno

けんさん、こんにちは!!

はい、先物には『営業日』と『取引日』というものがあり
営業日は、8:45 ~ 5:30 (日中 + 夜間)
取引日は、16:30 ~ 15:15 (夜間 + 日中)
となっていまーす。

時系列に動きを書くと以下のようになります。

2018/10/12 8:45・・・営業日:2018/10/12 取引日:2018/10/12
2018/10/12 15:15・・・営業日:2018/10/12 取引日:2018/10/12
2018/10/12 16:30・・・営業日:2018/10/12 取引日:2018/10/15
2018/10/13 0:30・・・営業日:2018/10/12 取引日:2018/10/15
2018/10/13 5:30・・・営業日:2018/10/12 取引日:2018/10/15
2018/10/15 8:45・・・営業日:2018/10/15 取引日:2018/10/15
2018/10/15 15:15・・・営業日:2018/10/15 取引日:2018/10/15

営業日は、8:45の時点の日付が、夜間も使用されます(夜間に実際の日をまたいでも前日の営業日扱いとなる)
取引日は、16:30に夜間が始まった時点で翌営業日となります!!

ですので、金曜日に取得された時に15日のデータが落ちてくる動きは正しく
内容としては、夜間のデータが入っていまーす。

2018年10月14日

RSSユーザー

寄付き時の出来高表示についてです。

QUOTE関数で各銘柄の現在出来高は表示できますが、寄付き時の出来高は表示できるでしょうか、9:00ぴったり寄付きだとUWSC操作で現在出来高のコピーで表示できますがそれ以外で寄り付いた銘柄の出来高が知りたいのですが、どなたか知る方法はありませんでしょうか。

2018年11月08日

RSSユーザー

ありがとうございます。歩み値取得やってみます。

2018年11月12日

小笠原聖史

RSSユーザー様
QUOTE関数ほほかに、
歩み値取得(TICK)をご検討されたことはございますか?
もしかすると解決策の一つになるかもしれないと思いました。

2018年11月10日

けん

FOPPOSITION関数で***END***表示(一瞬正しい数字)

FOPPOSITION関数で何項目か表示させると、
”商品種別”だけは正しく「N225ミニ」と表示されるのですが、
"売買" "建玉単価" "数量" "評価損益額"などは、***END***と表示されます。
ただし、一瞬だけ正しい区分や数字が表示されます。
ですがすぐに***END***表示に戻ります。

何かうまく設定する方法があるのでしょうか?
お手数ですが、お教えください。

2018年10月22日

けん

自己解決に近付いたかもしれないので記載しておきます。

岡三RSSを一晩中稼働させていると、メモリーを連続で消費するため、消費量が一定のレベルを超えると、動作が不安定になり、フリーズするのではないかという仮説を立てました。

そこで3-4時間おきに気が付いたときにメモリーをいったん開放する処理をしたところ、比較的操作が安定するようになってきました。

手順は、タスクマネージャー起動→「岡三RSS」を選択して
「タスクの終了」を実施 です。

まだ2-3日ですが、今のところ途中でフリーズしていません。
まだ手動でメモリーを開放しているのですが、自動で実行する方法を分かる方がいらっしゃればお教えください。

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


2018年11月06日

小笠原聖史

けんさん
「RSSがとまってしまう」ということは経験したことがないのですが、止まったRSSをもう一度動かすためにタスクマネージャーから岡三RSSを再起動することで解決していらっしゃるならば、たとえば、PC起動時にRSSが自動接続する設定にしておいて、タスクスケジューラ―で、①PCを決めた時刻に再起動、②エクセルを起動、するようにするというのはどうでしょうか?
そもそも、なぜRSSが止まってしまうのか、という原因を突き止めなければ、根本的な解決にはならないのですが、、、決まった時間にとまってしまう、とか何か特徴はありますか?

2018年11月01日

けん

小笠原さん、Ohnoさん、ご対応ありがとうございます。
また、しばらくお返事できずにすいません。
その後、発注可能なものをベースに書き直して発注できるようになりました。
どこかにごみがあったのか、原因は分かりませんでした。。。

なんとかやりたいことの9割ぐらいは実現でき始めているのですが、もう一点、ご教授ください。

やりたいことは毎日365日自動発注と決済を繰り返したいのですが、RSSにログインして一晩たって翌朝見てみるとどうも値動きがないので確認してみるとRSSが止まっています。
PCの右下に常駐している岡三RSSアイコンをクリックしても、うんともすんとも言わないことが多々あります。
フリーズ状態になっているので仕方なくタスクマネージャから岡三RSSを強制再起動するしかなくなります。

このような状態を脱する方法はありますでしょうか?
PCのスペックは動作条件を満たしているのですが、他にこうした方がいいとかあればアドバイスいただければ幸いです。

2018年10月31日

Ryo Ohno

小笠原さん、お久しぶりです!!

勢いよくコメントしてみたのですが・・・
解決しませんでした(笑

2018年10月28日

Ryo Ohno

けんさん

あら、直りませんでしたか・・・

小笠原さんが投稿された
コピーRSS日経225SIM-S.xls (468.5KB)
も、初めは発注できなかったのですが、
発注関数のところを、"標準"にしたら発注ができるようになりましたー

ちなみに、関数が動いた後、発注関数のところは"発注完了"という文字が表示されますでしょうかー?

もしよろしければ、最終的なシートをもう一度上げて頂けると、自分の環境でも見てみます!!

2018年10月28日

小笠原聖史

大野さん、コメントありがとうございます!

2018年10月27日

けん

Ryn Ohnoさん

こんばんは。ご回答ありがとうございます!
横からなんて飛んでもありません。助かります!

その指摘が原因だなぁと思ったので、試してみたのですが、残念ながらそれでも発注しませんでした……

やっぱり、発注関数がきちんと動く動くシートをもとに再度計画するしかないかなぁ。

2018年10月27日

Ryo Ohno

けんさん、こんばんは!!

横から申し訳ありません・・・

多分ですが・・・
発注がかからないのは・・・
多分ですが、
H2や、H25のfneworderが記載されているセルの書式設定が『文字列』になっているかもしれません!!

1.対象のセルを選択
2.右クリック
3.セルの書式設定を選択
4.表示形式タブの分類を"標準"に変更

これで発注ができるようになると思いまっす!!

2018年10月26日

けん

小笠原様

同様の事例も少ないのでしょうか?
となると、面倒ですが、発注可能なシートをベースに書き直すしか無いかなと思案しておりました。
ご対応ありがとうございます。

2018年10月26日

小笠原聖史

けん様
そうしますと、岡三RSSの設定上の問題ではなく、エクセルの設定、またはPC固有の問題のような気がするのですが、ちょっと私の力不足といいますか、インフラ方面に弱いものですから、いいお答えができる見当がつかず困っております。申し訳ありません。
発注ができたシートをベースにけん様のロジックをセットすることも考えられるかと思うのですが、ご面倒ですよね。

2018年10月26日

けん

小笠原様

ご回答ありがとうございます。
小笠原様に添付していただいたファイルでは発注確認画面が出ましたが、やはり私のファイルでは、全く発注確認画面はでません。
記載内容やパラメーターは小笠原様のサンプルと同じにしても同様です。

2018年10月26日

小笠原聖史

先物発注サンプル.xls (29.0KB)

けん様
-----
確認ですが、このシートは毎日新規発注して毎日決済するので、発注IDは書き換えてないのですが、その理解で合ってますでしょうか?Excelは毎日閉じています。
-----
はい、エクセルを閉じれば、同じ発注IDでも問題ありません。
ちょっと原因がわかりませんのですが、一度、添付ファイルをけん様のPCで、岡三RSSに接続し、発注可能の状態で開いてみていただけますでしょうか?私の手元のPCでは発注確認画面がでます。「注文」を押すと発注するのですが、けん様の環境ではいかがでしょうか?


2018年10月25日

けん

小笠原様
返信ありがとうございます。修正までしていただき恐縮です。
FOPPOSITIONについて了解いたしました。
無事に動いてくれました。

ただ、やはり注文の方は動作してくれません。
第10引数を0にしていますが、注文確認画面は表示されません。

以前、執行条件を"指値"にして単価を"0"にしていてエラーが出たので、そこを"成行"に修正したら注文確認画面は表示されたのですが、発注はされませんでした。
今は注文確認画面すら表示されません。

確認ですが、このシートは毎日新規発注して毎日決済するので、発注IDは書き換えてないのですが、その理解で合ってますでしょうか?Excelは毎日閉じています。

建玉番号:ブランク
建玉枝番号:1
執行条件:13 成行(FAK)
単価:0
発注ID:固定(H001)
有効期間区分:1
 ↑これは1で大丈夫でしょうか?
発注条件:13 成行(FAK)
 ↑執行条件と発注条件の違いが不明ですが。。。
発注単価:ブランク

何か他に発注されない要因がどこかにあるのでしょうか?
お手数ですがご教示ください。

2018年10月24日

小笠原聖史

コピーRSS日経225SIM-S.xls (468.5KB)

けん様
取り急ぎですが、FOPPOSITIONの部分だけ、修正してみました。
FOPPOSITIONの表示開始セルから下のセルに向かってポジション情報が書き込まれていきます。右に向かっては書き込んでくれませんので、添付のようにせざるをえないかなと思います。
ご参考になれば幸いです。
その他についてもコメントさせていただきますので少々お待ちください。

2018年10月23日

小笠原聖史

発注に関しては、けん様のワークシートでは引数の指定がF列になってしまっているので、I列にしてみてください。
手元では発注できました。

2018年10月23日

けん

RSS日経225SIM-S.xls (468.0KB)

小笠原様

コメントありがとうございます!

添付いたしますので、よろしくお願いいたします。
問合せ内容が該当する場所は「注文」シートのA17-B27セルに記述しています。

----------------------------------------------
もしよろしければ以下の点もコメントいただけると助かります。
自動発注したいのですが、注文がうまく出来ません。
発注IDとかがうまく設定出来てないのかもしれません。

やりたいこと
・5日移動平均線の向きで買いか売りか判断
・時間(16:15)が来たら成り行きで発注
・条件に達したら決済(利食い、ロスカット)
・条件に達しなくても時間(15:00)が来たら決済

お手数ですが、始めたばかりで不明点ばかりなので、ご教授をお願いいたします。

2018年10月23日

小笠原聖史

けん様
小笠原と申します。
私の手元のPCでどんな動きをするか、確認してみようと思います。もしよろしければ、使っていらっしゃるエクセルをアップロードしてくだいますでしょうか?

2018年10月23日

gon

レンタルサーバー

さくらインターネットがやっているレンタルサーバーに、RSSをインストールして、当該サーバー上から、発注することは可能でしょうか?RSSインストールでエラーが出ます。

2021年12月02日

大野 了

gonさん、こんにちは!!

VPSで岡三RSS自体は動作可能です。

ですが、VPSによってはポートなどが止められていることがあるので、
すべてのVPSで動かせるとは限りませんが・・・

確かですが、さくらインターネットさんでRSS動かされてた方がいらっしゃったような・・・

ちなみにエラーはどのようなエラーでしょうかー?

2021年12月02日

TEE

IFD-OCO + 時間決算サンプルでの新規注文をOCOに出来ますか?

初めて投稿させていただきます。よろしくお願いいたします。

新規注文をロング・ショート、時間経過毎に注文を変更したいです。
ただし、どこかで約定した場合、他の新規注文をキャンセルしたいです。
新規IFDをOCOにする感じでしょうか?
それらしい動画やサンプルシートを探してみたのですが、どれもOCOは決算についての解説の様です。
どなたかご存じでしたら教えてください。
よろしくお願いいたします。


2022年08月22日

TEE

大野さん

ありがとうございます。
大野さんのご提案試してみます。

ありがとうございました。

2022年08月26日

大野 了

TEEさん、こんにちは!!

両方の新規注文を出しておいて片方をキャンセルってことですね・・・
確かにOCOのサンプルを見たんですが新規発注用はなさそうでした。

もしやるとしたらですが・・・
板に指値で少しでも早く載せたいなどがなければ、
発注してキャンセルよりも、指定した金額になったときに成行発注の方が
RSSで作成するだけを考えると簡単そうです。

キャンセルする必要が無いので、単純に指定価格に来た時に単純に発注するだけで良いので・・・
反対側は、安値側なら、その日の高値が高値側の閾値を超えていたら、
発注させないとするだけでよいので・・・

2022年08月24日

たく

if分を使った決済注文ができません

いつもお世話になっております。
岡三RSSを使って先物の取引をしています。

if文を使ってある条件になったときに決済注文を出したいのですが、
=IF(条件, fneworder("n225mini~"))
という文を書いているのですがエクセルを起動すると同時に
「建玉番号、もしくは決済順序が指定されていません」

というメッセージが出てきて発注エラーとなります。
確かに建玉番号の引数にはfopposition関数から返ってきた値を入れるようにしているのでエラーになるのはわかるんですが、
そもそも条件が真になっていないはずなんです。

新規発注をしたときにメモをつけて、
fopposition関数でメモを取得し、帰ってきた値が新規発注したメモと一致した場合に決済発注をするようにしていますので、
エクセルを起動したとき(建玉がないとき)に真であるはずがないのです。

なのになぜ発注がされようとしているのでしょうか?
エラーとなったらこの発注IDももう使えないので実質この決済注文が実行されることはないということになってしまいます。

どなたか解決方法をご教示ください。
よろしくお願いいたします。

2018年09月27日

たく

Ryo Ohnoさん、こんばんは
そんな関数があったんですね知らなかったです!

試してみたら思い通りの物が書けましたありがとうございます!!

決済注文の件ですが、時間を条件に追加しても
「建玉番号、もしくは決済順序が指定されていません」
のポップアップは出てくるままでした…

エクセルを起動したときは
「発注不可設定になっていますのポップアップが画面を埋め尽くすほど何回も出てきます。(この時点で同じ発注IDで何回も発注しようとしてるの?という疑問もあるのですが)

その後に発注可能状態にすると「建玉番号、もしくは決済順序が指定されていません」が1回だけでてきます。

そもそもfneworderを書いているセルはfalseとなっているんですけどねえ…
謎は深まるばかりです、、


あともう一つ質問申し訳ないのですが、
if文の中に「現在時刻が10時30分00秒であるときに」
というものを追加したいときは、
IF(TIMEVALUE(TEXT(NOW(),"HH:MM:SS"))=TIMEVALUE("10:30:00"),~~)
を使えばよいのでしょうか?

2018年10月05日

たく

Ryo Ohnoさん、お久しぶりです

条件ですが、
=IF(AND(H208="pos1",F201<=E207),fneworder("N225mini",0,2,G208,"",1,13,0,1,1,1,1,***,"setA"))

となっております。
H208はメモを取得して指定した注文が約定していた場合にその注文を決済するようにしてあります。
F201<=E207はその時の値が指定した値を下回ってしまった場合に決済注文を発注するというものですね…
これだけでは情報が不十分かと思われますがどうでしょうか…

これはザラ場で使うシステムなのでE207は指定の時間以外は0になるようになっていて、そもそも0を下回るはずも建玉がないのでメモを取得することもできないはずなんです。

これで真となる場合が考えられないのですがいかがでしょうか…

2018年09月30日

Ryo Ohno

たくさん、こんばんはー!!

ぱっとみ、まったく問題がなさそうですね・・・(^^;

原因までは特定ができないのですが・・・
E207が特定の時間以降に0以外になるのであれば・・・
その条件をIF文の中に入れてしまうというのはいかがでしょうか?

例えば11時以降じゃないと決済がかからないように、0になっているというのであれば・・・

=IF(AND(H208="pos1",F201<=E207,TIMEVALUE(TEXT(NOW(),"HH:MM:SS"))>=TIMEVALUE("11:00")),fneworder("N225mini",0,2,G208,"",1,13,0,1,1,1,1,***,"setA"))

のような感じで・・・

Excelは必ず左上の関数から計算式が実行されるわけではないので、
もしかしたら、時間を判断してE207の中身が0になる前に、先にこの発注用のセルの関数が動いてるかもしれません
※それでも、メモが空白なので発注はしないと思いますが・・・

なにはともあれ、if分の中に入れることにより、時間の判断も同じタイミングでやるようになりますので、
指定時間以降に必ず、実行するようになると思います!!

2018年09月30日

Ryo Ohno

たくさん、こんにちは!!

どのような計算式を使われているかわからないため、
返信が難しいですが、今、自分の方でも

=if(False,fneworder())

と、必ずfalseになる文を作って実行してみたのですが、
fneworderは、やはり実行されませんでした。

とすると、やはり何かしらの理由で、条件式が真になってしまっていると思うのですが、
使用している関数などをもう少し詳しく教えて頂くことは可能でしょうか?

2018年09月28日

Ryo Ohno

こんばんは!!

便利なんですけど厄介ですね・・・IFS・・・

なにはともあれ、うまくいくことを祈っていますっ!!

2018年10月10日

たく

Ryo Ohnoさん こんばんは

なるほど、そういうことでしたか…全く知る由もありませんでした
ありがとうございますm(_ _)m

時間の範囲は10秒ほど余裕を持たせようと思います
ご指摘ありがとうございます
一旦これで動作確認してみますm(_ _)m

2018年10月10日

Ryo Ohno

あと、一つ気が付いたのですが・・・

B207~210の
(TIMEVALUE(TEXT(NOW(),"HH:MM:SS"))=TIMEVALUE("10:30:00")
の部分ですが、これだと10:30:00ピッタリじゃないと発注がされず、
何かしら拍子で、1秒ぐらい更新が止まってしまうと、
発注がされない可能性がありますので、もう少し幅を持たせてあげたが良いかもしれませーん!!

2018年10月09日

Ryo Ohno

システムトレード.xlsx (23.0KB)

こんはんは!!

たぶんですが、原因がわかりましたー
たくさんの言われてるように、C208とC210が原因のようです。

自分も解析してみて、今回初めて知ったのですが、
IFSの関数は、IFの関数と違い、
一度、条件に対する処理がすべて動いてから条件式がされるようです。
※VBAの条件式の動きがそんな感じですので、その流れを引き継いでいるのかもしれません。

ですので、C208とC210のところに記述されている
=IFS(条件1,fneworder(),条件2,fneworder(),TURE,FALSE)
の部分のfneworder()が、
Excel起動時に、まず問答無用で実行されてから、
その後、条件1や条件2の判断処理が行われます。

ですので、このIFSの分をご面倒ですが、IFを2重にかけた形に書き換えると、
自分の方では起動時の変な発注はなくなりましたー


修正をしたファイルを送り返しまーす。

2018年10月09日

たく

システムトレード.xlsx (22.9KB)

Ryo Ohnoさん、こんばんは
返事が遅くなり申し訳ありません。

エクセルファイルを添付するのでどうかよろしくお願いします。

どうやらc208とc210に書いてある発注がうまくいっていないようです…

2018年10月08日

Ryo Ohno

MAXIFSはお力になれたみたいでよかったです!!


条件の中に時間を入れてもダメでしたか・・・
発注不可状態で起動時に何度も発注がかかってるとすると・・・
別の何かの要因があるかもですね・・・
こうなるとExcelシートを全体的に観てみないと、厳しそうです・・・(すみません
とはいえ、時間の指定が入っているので、その時間までは発注はかからないと思うのですが・・・


>if文の中に「現在時刻が10時30分00秒であるときに」
>というものを追加したいときは、
>IF(TIMEVALUE(TEXT(NOW(),"HH:MM:SS"))=TIMEVALUE("10:30:00"),~~)
>を使えばよいのでしょうか?
はい、大丈夫です!!
NOW関数は再計算がかからないと現在の時間が更新されないので、
Tick関数でもなんでもいいので、定期的に値が更新される関数を
必要なくてもシートのどこかに入れておくと定期的に再計算走り日付が更新され続けていくので便利です!!

2018年10月06日

Ryo Ohno

最大値取得サンプル.xlsx (14.5KB)

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

そうですねー
判断用の行をひとつ増やしていいなら・・・

10:30~12:30を判断する行と、MAXIFSの組み合わせが簡単だと思います。
もしくは、VLOOKUPで10:30~12:30を抜き出して、その範囲でMAXを取るとか・・・

とりあえず、MAXIFSのサンプルを作ってみたのでアップします!!

ご参考になれば幸いです!

2018年10月05日

たく

Ryo Ohnoさん、こんにちは

なるほど、if文の中で時間を指定するのは考えて居ませんでした。
後ほど動作確認したいと思います。

別の問題なのですが、
10:30〜12:30の値で1番高い値を計算する方法を考えているのですが、
fcandle関数で取得した時間のセルをifs関数で辿りながら10:30のセルを見つけ、そこから8個分のセル(15分足なので2時間分)のセルの中からmax関数で1番高い値を見つけて…
というふうにしているのでふが、この10:30のセルを見つける動作がかなり長文になってしまってすごく見づらい上に書き間違いがあってもわかりづらく、何かいい方法はないでしょうか。

10:30になった時点で、取得した最高値を一つの定数にしてしまえば話が早いのですが、マクロというものを使わなければならないらしくそれがよくわからないので…

2018年10月03日

jugemu

fquote

寄り後の確認のためfquoteを利用しようとしています
fquoteの第3パラメタ買気配種別の指定で場中にもかかわらず常に”Y"=寄前気配が返され困ってます
ほかのparmの指定では正常な値が戻って来ているようです
ザラバで他の値が返るべきかと思いますが
何か勘違いしているのでしょうか?

2023年04月19日

大野 了

jugemuさん、こんにちは!!

ザラ場中に確認しましたー
以下のセル関数では、ザラ場中は問題なく空白が返ってきました。

=FQUOTE("N225mini","0","買気配種別")

なにはともあれ、別の方法で解決できたようでよかったです!!

2023年04月21日

jugemu

原因はわかりませんが実は解消されていません
”N225”は”Y"が表示されませんが”N225mini”は相変わらず”Y"が戻って来ます
使用関数が多過ぎるのかとも思い削除しても同じ結果です
寄り前のfquote現在値は0のようなのでそれで判断するようにしました
preOpen,Closeがあるのでftick関数利用(now)の時刻も参照し取引制御します
お騒がせでした

2023年04月21日

大野 了

jugemuさん、こんにちは!!

なるほどー
そういうことだったんですねー
上手く行ったようで、よかったです!!


jugemuさんの寄り後の確認等が、
うまく行くことを祈っております!!

2023年04月20日

jugemu

大野様
お忙しい時にも拘わらずご返答ありがとうございました
第2parm numeric で指定しておりました
他の第3parmでは正常に戻って来ていたので混乱しました
老体に鞭打って励んでおります
一層のご活躍を

2023年04月19日

大野 了

jugemuさん、こんにちは!!

今、ちょうど場中だったので、以下の条件で『気配種別』を表示してみたところ、
"Y"ではなく空白が返答されました。

=FQUOTE("N225","0","買気配種別")

確かにYが返答されることはないと思うのですが、
どのようなパラメータで動かされていますでしょうかー?

2023年04月19日

Ryo Ohno

岡三RSSがデータで更新した際に発生するイベントについて(VBA)

岡三RSS夏期講習会のセッションCで登壇させて頂きました、大野です。

2回目のセッションで、以下のようなご質問を受けました。

『岡三RSSがデータを更新した時に任意のマクロを実行することはできないか?』

その時はすぐに解答することができなかったのですが、
よく考えたら、ワークブックの再計算イベントで行けるのではと思い確認してみたら、
反応しました。

ワークシートではなくワークブック側で、
SheetCalculateのイベントを設定しますと、岡三RSSが更新した際に
再計算が走り、任意の処理を行うことが可能となります。


ご質問の方がここを見られるかは、
わかりませんが、ご本人に届くことを祈って・・・

また、同じような悩みを抱えられておられる方がおられましたら、
ご参考になれば・・・

2017年08月22日

miporin

こんにちは。
とてもわかりやすくはっきりした説明をありがとうございます。

上記のスケジューラを使う場合データー更新したらvba またデーター更新したらvbaの交互にせっていするのでしょうか?

お忙しいとは思いますがよろしくお願いします。

2017年08月22日

Ryo Ohno

ゾウさん、ご指摘ありがとうございます

大変申し訳ありません。
最終的に、『Excel側で全部データは取得しようよ!!』と
話しの流れでしたので、
内容が複雑になってしまいそうなので、
詳しくは記載していませんでしたし、詳しく説明も行っていませんでした。

quoteなどの関数を利用する際は、
一度、Excelの方に記述していただくと、VBAの方で取得が可能になります。
#昔は取れてたような記憶がありますが、最近は取れなくなってるみたいです。

今、考えてみると参加されずにマニュアルを見てVBAだけで処理をされたいと思われた方にとっては
かなり誤解を招く資料でした。
次回の資料には反映をさせたいと思います。

また、今回の資料の補足って事で追加修正がもし可能なら、入れておきます。

ご指摘本当にありがとうございます。
助かりました。

2017年08月26日

ゾウ

いつもお世話になっております。
本投稿とは直接関係ないのですが、セッションCの内容について質問させていただけますでしょうか。

プレゼン資料31枚目に、表示先の設定がないものについてはVBAで取得可能と書かれておりますが、これはどのような意味合いでしょうか。
VBAの変数に直接格納可能と受け取りましたが、うまく取得できないようです。

例:(a="N/A"が格納されます)
sub test()
meigara=1570
a=quote(meigara,"","現在値")
end sub

FAQでも取得はできない旨の記載があります。
http://qa.okasan-online.co.jp/faq_detail.html?id=621&category=136&page=1

都合により参加できておりませんので、もしおかしなことを尋ねておりましたらご指摘ください。

お忙しい中恐縮ですが、よろしくお願いいたします。

2017年08月25日

Ryo Ohno

再計算.xlsx (60.7KB)

miporinさん、初めまして!!

こちらは、イベントと言いまして、少し難しいのですが
再計算(Excelがセル関数の計算をしたとき)した時に、任意のVBAを動かせるようになります。
#onTimeが『1秒後』と指定された時間にVBAを実行するように設定するに対し
#SheetCalculateは『再計算された』時にVBAを実行できるようになる感じとなります。

1.岡三RSSがデータを取得する
2.Excelが更新されたデータで再計算をする
3.SheetCalculateのイベントが発生!!
4.SheetCalculateに書かれた内容が動く!!

というような流れでしょうか?

ですので、onTimeのように、1秒後にまたVBAが動くように再設定せずとも、
岡三RSSがデータを取得する度にVBAを動かく事が可能になります。


言葉だけでは難しいと思いますので、
どんな感じになるかVBAの画像を張ってみました。

ご参考にあれば幸いです。


P.S.
セミナーに参加された方だと思って内容を書いたのですが、
もし参加されていない方の場合、分かりづらいと思いますので、
その時はご連絡を頂けますと、別の記載の仕方に変えたいと思いますっ!!

2017年08月23日

RSSユーザー

EXCELデータ更新(再計算)の為のダミーデータ取得について

ご存じの方がいらっしゃいましたら教えてください。
岡三RSSにて取得データが更新されるとEXCELの自動計算も追随してされると思います。よって何もデータが更新されないと自動計算もされないという事は分かるのですが、例えば15:10~15:15のクロージングセッション中といった場に動きがない時にEXCELのNOW関数等を更新する場合、なにか常に動いているような良いデータ取得項目はありますでしょうか?データ取得項目はデータ更新動作のみにしか使わないので実際の作業に必要ないデータでも構いません(更新の為にダミーで抽出するだけです)
VBAも考えたのですが、VBAを使わずに自動計算を走らせたいと思っております。
お知恵がございましたらお授けください。

2018年10月02日

小笠原聖史

=FX("JPY=X","時刻")
こちら、先ほど6:50頃に確認したところ、10分間隔で更新されています。おそらく、引け後にも同じように動くと思われます。

2018年10月04日

RSSユーザー

小笠原さま
ご丁寧にありがとうございました。
とても参考になりました。

2018年10月04日

RSSユーザー

小笠原さま
ありがとうございます。
因みにもしご存知でしたらお教えください。
引け後(デイ⇄ナイトの間)に動いているデータ(先物に限らず)はございますでしょうか?

2018年10月04日

小笠原聖史

RSSユーザー様
例えば、ミニ四半期直近限月の売り買い気配(FQUOTE)はいかがでしょうか。15:10~15の間も取引所の気配は常に動いていることに着目してみました。

2018年10月02日

けん

決済発注の対象建玉がなかった場合の発注有効期限

お手数ですがお分かりになる方がいらっしゃれば教えてください。

毎日新規発注と決済を繰り返す仕組みを構築しようとしています。
毎日16時に新規発注、翌日15時に決済のイメージです。

16時新規発注→翌15時決済、16時新規発注→翌15時決済
の繰り返しです。

前日16時に新規発注をしなかったケースなのですが、
翌日こういう動作をしました。

15時決済されず(前日未発注で建玉が無いので)→
16時新規発注→16:30約定→16:30決済

たぶん、、、
15時に決済が失敗したのでその発注IDが無効になったはずなのに、16時半に約定した直後に決済されたということは、15時の決済発注がまだ有効だったということになるのでしょうか?

意図しない動作だったので理解できていないのですが、お分かりになる方がいらっしゃれば教えてください。

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

2018年11月06日

けん

申し訳ありませんが、本件解決したので質問を取り下げます。
失礼いたしました。

2018年11月07日

けん

ポイントとしては建玉が無かった場合の決済時の発注IDが、決済に成功した時と同じように、その時点で無効になるのかどうかでしょうか。
たぶん、建玉が無かったときは発注IDが有効のままなので、その後決済されたと解釈するのが自然なんでしょうね。。。
だとしたらそれをどういう風に処理すれば正しく振舞うのですかね?

もしどなたかお分かりになれば教えてください。

2018年11月06日

taku009

1,2秒 エラーが表示される!

初めまして!
RSSを9月中旬から使用している
超初心者の『taku009』と云います。
現状、VBAと関数で日経225の手動発注
(逆発注、決済、訂正、取消)
をおこなってます。

ボタンを押して発注、約定したら返済ボタンを押す
という感じです。

時々、1,2秒エラーが表示される時があります。
文言は『建て玉が何チャラです』などです。

色々試していると、新規発注⇒約定⇒返済発注⇒約定
ではエラーは出ませんが

新規発注⇒約定⇒返済発注⇒訂正⇒約定
と訂正を挟むと、決済約定後にエラーが表示される
ような気がします。

返済が約定するまではエラーは出ませんので
返済約定したら、何か戻って来てエラーが出ている
ような感じです。


但し、自分の思い通りの動きは出来ており実害は
一切無いのですが、判るものならスッキリしたい
と思ってます。

上手く説明出来ませんが同じような経験を
された方、多分コレだよなど
教えて頂けませんでしょうか?

よろしく、お願い致します。m(__)mペコ

2020年10月02日

大野 了

おぉぉぉぉぉ!!
入れ違いになってた!!

なるほどー!!
そういう事でしたかー
なにはともあれ、解決できたようで良かったです!!


>やっぱり、注文番号をキーにして重要な建て玉金額などは
>取得するようにしないと上手くいかないんでしょか?
こちらは、決済がかかった時に
ポジションを判断するセル(建玉番号など)は値が入っているが、
ポジションの金額が先に空白とかになってしまい、
間違ってLCと判断されてしまうという事でしょうかー?

それでしたら、以前に頂いた質問の転記になってしまいますが、
以下のような対応があります。
自分もLCなど様々な処理を入れているのですが、こちらの投稿で
データのずれが無いようにしてから、LCの処理が動くようにしています!!

https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=315#comment_1585

もし返答が的を得ていなかったり、転記した内容がわかり辛かったら
またご連絡ください!!

2020年10月13日

大野 了

おぉぉぉぉぉぉ!!!

他にも発注のロジックがあったんですね!!
画像を見ると確かに発注のロジックごとに、IDが1000番台ごとに飛んでる!!
これっポそうですねー

ここらへんでうまくエラーがなくなることを祈りますっ!!

2020年10月13日

taku009

現在値(FQUOTE)と建て玉(FOPPOSITION)で
損益を計算して関数が動くようにしています。

約定すると建て玉が動き、それに連動して
一瞬利確やLC値となり、関数が動いている事が判りました。

解決です!

皆さん、ありがとうございました m(__)mペコ

PS

関数で動かすのは難しいですねーーー

エクセルやパソコンの負荷などに左右されます。

やっぱり、注文番号をキーにして重要な建て玉金額などは
取得するようにしないと上手くいかないんでしょか?

2020年10月13日

taku009

Poster1_20201013_082048.jpg (22.0KB)

判りました!\(^o^)/

ボタンランチャーの横に
利確/LCとなると自動で決済又は訂正する
関数を入れています。

手動で決済し、約定したらココが動くんだと思います。

コレを切って(ON/OFF設定で動かないよう出来る)
本日やってみます。

多分コレです、発注IDが1000飛んでいると
指摘されて判りました!

2020年10月13日

taku009

エラーメッセージに付いている数字は
発注IDなのですか?

うーーーん、この辺りを中心に調べてみます。

2020年10月13日

taku009

大野さん、色々試して頂いて
ありがとうございます。

頂いたコメントから、もう一度追ってみます。

2020年10月13日

大野 了

あっ!
ちなみに、訂正は指値の金額修正を行う形でやりましたー

2020年10月13日

大野 了

taku009さん

いろいろと試してみたんですが、
自分の環境では
売り新規⇒訂正⇒約定⇒決済⇒約定
の順で約定後のエラーは、
ログ、岡三RSSのポップアップ共に発生しませんでした・・・(涙

また、ログの出力も
新規、受付
訂正、受付
新規、約定
決済、受付
決済、約定
の順で正常に表示が行われました。


試したパターンは以下の通りです!!

〇売り新規(指値)⇒訂正⇒約定⇒決済(建玉指定)⇒約定
〇売り新規(指値)⇒訂正⇒約定⇒決済(建日時古順指定)⇒約定
〇売り新規(指値)⇒訂正で一度無理やりエラーを発生させる⇒正常な訂正⇒約定⇒決済(建玉指定)⇒約定
※無理やりエラーを出したときは狙ったエラーがきちんと表示されました。


また、taku009さんのログを再度観ていて、一つ気になったのですが・・・

>先物 3076 決済 エラー 8:指定された建玉情報の建玉数量が、実際の建玉情報の建玉数量より多いため注文を受付できません。:1701
>先物 4076 訂正 エラー 訂正可能な注文がありません。

となっている、4076と3076はエラーなので発注IDが表示されていますが、
taku009さんのロジックを観ると、
発注の度に1つずつ増えて行く感じだと思います。
しかしログを観ると、発注番号が一気に1000番ほど戻っています。

これを観ると頂いたVBA以外のタイミングで、発注系の関数動いているように見えるのですが、
こちらを何かしらヒントに追える現象はありませんでしょーか?

2020年10月13日

プログラミング経験のあるRSS初心者

補足です。taku009さんに、逆にお伺いしたことがあります。

>色々試していると、新規発注⇒約定⇒返済発注⇒約定
>ではエラーは出ませんが
>新規発注⇒約定⇒返済発注⇒訂正⇒約定
>と訂正を挟むと、決済約定後にエラーが表示される

>但し、自分の思い通りの動きは出来ており実害は
>一切無いのですが、判るものならスッキリしたい
>と思ってます。

とのお話ですが、その
訂正⇒約定
は訂正通りの約定になっていますか?
もしかして、訂正されていないもとの返済発注がそのまま約定していませんか。

少なくとも私の場合は、FREPLACEORDERのエラーの後、もとの返済発注がそのまま約定しています。

ちなみに、以上のことも、RSS(FREPLACEORDER)のバグと考える理由の1つです。

2020年10月10日

大野 了

おー
プログラミング経験のあるRSS初心者さんも、エラーが出てしまうんですか・・・
taku009さんのやり方で、月曜日にもう一度チャレンジして見らねば・・・

不具合だとすると変な履歴が残るのでヤバいですね・・・

2020年10月10日

taku009

コメント、ありがとうございます。(^o^)/
 
》 訂正⇒約定
》 は訂正通りの約定になっていますか?

はい、記憶でしかないのですが
訂正通りの約定となっていると思います。

不具合臭いとは思っていたんですよネーーー
だって、エラーが出るキックが
約定後ですから・・・・

エクセルでは約定後には何も出来ませんから

コレでスッキリしました。

試して頂き、ありがとうございました。m(__)mペコ

2020年10月10日

プログラミング経験のあるRSS初心者

おそらくそれはRSS自体(おそらく注文訂正の関数FREPLACEORDER)のバグだと思います。

ORDERRESULTをシートに出力する際に
種類 注文番号 注文種別 注文状態 エラーメッセージ
のすべてを表示させてみてください。

すると、注文を
決済
新規
取消
にする場合は
注文番号
が表示されます。

しかし、注文の
訂正
の場合だけは
注文番号
ではなく
取消ID
が表示され、以下のようなエラーメッセージが出ます。
130:訂正項目が存在しません。:1701
49:この注文内容に訂正することはできません。入力項目をご確認ください。:1701

おそらく、注文訂正の関数FREPLACEORDERの中に何らかのバグがあり、注文番号と取消IDを混同しているのでしょう。
そうだと考えれば、上記エラーメッセージと符合します。

function_manual関数マニュアル
を参照すると、
FREPLACEORDER
については、何度も修正が記載されています。
開発にてこずり、まだバグが残っているのかと、推察しています。
もちろん、ほかの部分のバグの可能性もあります。

解決策としては、2つあります。

① 岡三の担当者さんにバグでないか問い合わせる。ただし、岡三の担当者さんはシステムのことはほぼ全くわからない人のようなので、開発会社に問い合わせてもらうといいでしょう。本当は、開発会社に直接問い合わせたほうが効率的だと思います。

② 訂正処理を行っている部分を、注文取消し→新規注文のように書き換える。あるいは、注文取消し→新規注文からなる訂正処理関数を自分で作る。

2020年10月10日

大野 了

taku009さん、こんにちは!!

ソースなどを見させて頂いたのですが、
確かにこれだだとボタンを押したときに複数回発注が
飛ぶことは考えつらいですね・・・

>先物 3076 決済 エラー 8:指定された建玉情報の建玉数量が、実際の建玉情報の建玉数量より多いため注文を受付できません。:1701
>先物 4076 訂正 エラー 訂正可能な注文がありません。
この子たちが、正常に約定後にエラーになったログになるんですよね?
自分が試したやり方がちょっと違ったので、
夜間やれるときに試してみます!!
ログだけを見ると、もう一度決済注文とかが飛んでる感じなんですけど・・・


んー
後は、fneworderがセルのどこかに紛れ込んでいるとかでしょうか・・・

2020年10月07日

taku009

Book1.xlsx (216.9KB)


コメント、ありがとうございます。


》訂正注文と決済注文が2回飛んでいる

うーーーーん、私も最初そう思って、ログを入れてみたが
ログは1回しか取得されていません。

それと、決済が約定してからエラーが出ているのが
不思議なんです。
(約定しないと5分でも10分でもエラーは出ない!)


訂正と決済ソースと画面イメージをアップしています。

ランチャーなので、ボタンに1対1で紐付いている
簡単なロジックなんですよ


よろしくお願い致します。m(__)mペコ

2020年10月06日

大野 了

taku009さん、こんにちは!!

自分のところでは出なかったので、ログ取れてよかったです!!


ログの内容、
正常に訂正と決済ができている、
たまにしか起きない、
という現象を見ると・・・

多分、データ更新のタイミングなどの関係で、
訂正注文と決済注文が2回飛んでいるものだと思われます!!

正常に訂正と決済ができているとのことですので、
1回目の決済が正常に処理され、
続いて、もう一度同じ訂正と決済注文が飛んでいるため、
2回目の注文が、
『訂正可能な注文がない』
『決済建玉数が合わない』
となっているのだと思われます!!

taku009さんのプログラムを見ていないので何とも言えないのですが、
正常に動いているのでしたら問題はないと思いますが、
もし気持ち悪いなどありましたら、
パスワードやシグナルのノウハウの部分などを消して頂いて、
上げて頂くと何かわかるかもしれません!!

2020年10月06日

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日

大野 了

はい、ORDERRESULTは先物でも使用できます
こいつでメッセージが残ると良いんですがー

2020年10月02日

taku009

『ORDERRESULT』先物でも使用出来るのですね!
気が付きませんでした、試してみます。

2020年10月02日

taku009

コメントありがとうございます。

完了メッセージが1(なし)となっている事を確認しました。

『ORDERRESULT』ですが、先物でも同じような関数が
ありますか?
探したのですが、見つけられませんでした。

何かお気づきの点があれば、宜しくお願い致します。

2020年10月02日

大野 了

taku009さん、初めまして!!

正常約定後のエラーメッセージですか・・・
正直、ぱっと思い付かないです・・・(涙

多分、約定してるのであれば・・・
『完了メッセージ』が出てしまってるのではないかなーと思うのですが
完了メッセージ(第11引数)は、1(なし)になっていますでしょーかー?

完了メッセージの場合は、こんなメッセージが出てくると思うと思いまーす!!
=================================
ご注文を受け付けました。
必ず先物OP注文照会でご確認ください。
受付番号 xxxxxxxxxxxxxxxx
=================================
でも、このメッセージは1,2秒で勝手に消えるわけないしな・・・


もし"1(なし)"なっているのであれば・・・
何かしらのメッセージと思うのですがー
注文時のエラーであれば『ORDERRESULT』という関数があるので、
これで発注時に何か起きているのであれば、これでログが見れます!!

これを仕掛けて、何が出力されるか見て頂けますでしょうかー?
発注自体は正常に行ってるっぽいので、残らない可能性も大ですが・・・

もし夜間に試せるのであれば、自分も発注、訂正、約定 で一度動かしてみます!!

2020年10月02日

たく

建玉番号と発注IDの違いがわかりません

無題.png (122.8KB)

こんにちは。
先物miniで取引をしています。
初歩的な質問でお恥ずかしいのですが建玉番号と発注IDの違いがわかりません。

公式の関数一覧のpdfではfneworderの第4引数の建玉 or 決済順序にはブランクはなしと書いてあるのですが、
文例ではブランクとなっていますし、次の第5引数も1を指定と書いてありますがブランクとなっています。
ブランクの認識を間違っているのでしょうか?

新規発注の際に発注IDを充て、
決済発注の時にIDを指定して決済する。
ただこれだけのことがしたいので評価益や約定時刻など関係ないので本来ブランクでよいと思うのですが何かしらの値は入れなければならないのでしょうか。

また、第6第7引数である売買区分や執行条件は新規発注の際に指定したものと同じでいいのでしょうか?

念のため関数一覧のpdfを切り取った画像を載せておきます。
よろしくお願いいたします。

2018年08月15日

たく

Ryo Ohnoさん こんばんは

挙動を見ながら調整していきたいと思います…

ありがとうございました!

2018年09月05日

Ryo Ohno

たくさん、こんにちは!!

関数はうまくいきましたか、よかったです!!

岡三RSSはPCで動きますので、PCはつけっぱなしにいておく必要がありまーす!!
約定もうまくいくことを祈ってます( ̄人 ̄)


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

2018年09月03日

たく

Ryo Ohnoさん こんにちは

お陰様で思うような関数が書けました
いつもありがとうございますm(_ _)m

ようやく岡三RSSをオンにしてみて
PCをつけたまま家を出てみて
今日システムが使える日だったのですが約定通知は来ませんでした^^;

きっとどこか関数の記述がおかしかったのでしょう。。
またお世話になることがあるかと思いますが何卒よろしくお願いしますm(_ _)m

ちなみに岡三RSSを使うためにはPCをつけっぱなしにすることは不可欠ですよね?

2018年09月03日

Ryo Ohno

たくさん、こんにちは!!

ポジションが二つあって、各々の約定を判断されたいってことですねー?

先物のFNEWORDERには『メモ』という便利な機能(第16引数)があります。
ここに任意の文字を入れておくと、FOPPOSITION関数で"メモ"を指定すると、
約定しているポジションに対しメモが返ってきます。

発注される際に、メモに"POSI1"、"POSI2"とか入れておくと、
建玉の情報として、そのメモが返って来るので、
これを利用すると、どちらの発注で約定したポジションか判断することができます!!

2018年09月01日

たく

Ryo Ohnoさま こんにちは

度々この場で質問させて頂き大変恐縮なのですが
先日ご教示頂いた「条件発注が真となって新規発注が約定している時に」という条件を条件発注の決済注文に使いたいのですが、なかなかいい方法が思いつかず困っています…

何かうまく関数を利用して建玉番号などから約定しているかどうか調べる方法はないでしょうか

2つの条件新規発注があり、最大2つの建玉を持つシステムを考えているので建玉があるときにという条件ではどちらの条件が真となったかわからないため使えないのです…

2018年08月31日

Ryo Ohno

疑問は解決しましたか・・・
それは良かったです!!

自分も負けないようにシストレ頑張ります!!

2018年08月29日

たく

Ryo Ohnoさま こんばんは

いつもありがとうございます
お陰様で現在疑問は全て解決致しましたm(_ _)m

明日からシステムトレードを実際に開始してみたいと思います

また疑問が出てきて質問させて頂くことがあるかと思いますがどうかよろしくお願い致しますm(_ _)m


本当にありがとうございました

2018年08月28日

Ryo Ohno

たくさん、こんばんは!!

>発注完了とfalseを繰り返していてそれすら出ていない状況でしたので、これから条件を満たしている状態(22195円以下の状態)が続いた場合に、ちゃんと次のステップに進んでくれるのかということです、、
そういうことですね・・・
条件が満たされれば次のステップに行けると思います。
たぶんですが、1回目の『発注完了』は、建玉番号が違うなどの何かしらのエラーで止まっていて、
2回目以降は、発注IDが同じであるために発注されてないのだと思います。
ORDERRESULT関数で、発生したエラーが取得できますので、
また、決済注文ができなかった場合に、実行して頂くと発注できなかった原因がわかると思います。


>>関数が動いてしまえば、『発注完了』と出てしまいますのであまり当てになりません。
>なるほど…これが混乱の一番の原因のように感じました
ですね・・・エラーの内容が返ってくるとわかりやすいんですけどね・・・(^^;


>新規注文と決済注文を条件発注したいわけですが、新規注文の条件を満たしていないときに決済注文の条件を満たしてしまう時もあると思うのです。
>その時は勝手にエラーになって発注されないものとして、
>その時のことを考える必要はないのでしょうか?
>それとも決済注文の条件に「新規注文が約定しているときに」という条件も加えなければならないのでしょうか?
はい、たくさんのおっしゃられる通り、決済注文が先に出てしまったときはエラーになります。

エラーが出ても良いならは、そのままでもよいのですが、
その時に設定してた『発注ID』が使用済みになってしまいますので、
そのセルの決済注文が、本来必要な時に動かなくなってしまいます。

できれば、新規注文が約定している時という条件を追加する方が良いと思います!!

2018年08月27日

たく

Ryo Ohnoさん、こんばんは

>>放っておいて約定することはありません。
注文確認のポップアップが出て止まっています。

すみません、約定というか注文確認のことですね…
発注完了とfalseを繰り返していてそれすら出ていない状況でしたので、これから条件を満たしている状態(22195円以下の状態)が続いた場合に、ちゃんと次のステップに進んでくれるのかということです、、


>>関数が動いてしまえば、『発注完了』と出てしまいますのであまり当てになりません。

なるほど…これが混乱の一番の原因のように感じました


>>丁度建玉を持っていたので、たくさんが書かれた、式を実際に実行してみたのですが、

いつも親切にありがとうございますm(__)m


また、新たに質問申し訳ないのですが、
新規注文と決済注文を条件発注したいわけですが、新規注文の条件を満たしていないときに決済注文の条件を満たしてしまう時もあると思うのです。
その時は勝手にエラーになって発注されないものとして、
その時のことを考える必要はないのでしょうか?
それとも決済注文の条件に「新規注文が約定しているときに」という条件も加えなければならないのでしょうか?

2018年08月26日

Ryo Ohno

たくさん、こんにちは

>ずっと見張っていましたが注文確認のポップアップが出てくることはありませんでした。一度
>発注完了と出たら約定待ちということでしょうか?
>放っておいたら約定することはあるのでしょうか…?

放っておいて約定することはありません。
注文確認のポップアップが出て止まっています。



>また、発注完了のあとにfalseになってまたその後にifの条件を満たした場合に、
>同じ発注IDでの発注ということになってしまうため、もう一度発注完了とでるのは何か違和感を感じるのですが、約定するかどうかは置いておいて発注自体は何度もしているということになるのでしょうか?

はい、ほんとは発注がちゃんと動いた時のみ『発注完了』と出ればいいのですが、
残念ながら、発注IDが同じで発注エラーが起きようが、枚数が多すぎてエラーになろうが、
関数が動いてしまえば、『発注完了』と出てしまいますのであまり当てになりません。

また、価格が下がり、もう一度発注対象となれば、何度でも発注がかかります。

丁度建玉を持っていたので、
たくさんが書かれた、式を実際に実行してみたのですが、
ちゃんと注文確認ポップアップが出て、OKを押すと実際に決済注文ができましたので、
可能性があるとすれば、建玉番号が間違っているなど何かが起きてると思われます。
※ちなみに建玉が間違っていても『発注完了』と出ます。

ORDERRESULT関数を使用すると注文の状況が取得できますので、
これで情報を取得してみられて頂けますでしょうかー?



>例として第14引数を「発注ID」と致しましたが普段そうしているわけではありません、わかりづらくて申し訳ありませんm(__)m
>エクセルを再起動すれば同じIDを使えるということもあり、同じ条件で同じ日に発注する予定はないのでAとかBとかにしていますが…

それでしたら、よかったです!!

2018年08月25日

たく

Ryo Ohnoさん、こんにちは

発注完了のあとfalseになるのは理解できましたが、

>>・注文確認(第10引数)、完了メッセージ(第11引数)、注文画面(第12引数)が0(あり)になっているため
たぶん、注文時に注文確認メッセージが出てきて、注文が行われないと思います。(いつもOKを押されてる??)

ずっと見張っていましたが注文確認のポップアップが出てくることはありませんでした。一度発注完了と出たら約定待ちということでしょうか?
放っておいたら約定することはあるのでしょうか…?
また、発注完了のあとにfalseになってまたその後にifの条件を満たした場合に、同じ発注IDでの発注ということになってしまうため、もう一度発注完了とでるのは何か違和感を感じるのですが、約定するかどうかは置いておいて発注自体は何度もしているということになるのでしょうか?


>>・発注ID(第14引数)が"発注ID"と固定値になっている。
発注IDは発注の度に違う値を設定する必要があります。もし同じ値を設定した場合は
『発注完了』と表示されますが、実際の発注は行われません。

例として第14引数を「発注ID」と致しましたが普段そうしているわけではありません、わかりづらくて申し訳ありませんm(__)m
エクセルを再起動すれば同じIDを使えるということもあり、同じ条件で同じ日に発注する予定はないのでAとかBとかにしていますが…

2018年08月25日

Ryo Ohno

たくさん、こんばんは!!


>=IF(F201<=22195,FNEWORDER("N225mini",0,2,G208,1,3,12,0,1,0,0,0,*****,"発注ID"))
こちらの関数の書き方ですと・・・

はやり、一度、22195円を現在値が下回って、発注が行われたのちに
もう一度、22195円を超えた場合は、FALSEという表示になりまーす。
理由としては、2018年08月21日に記述した内容になります!!


>発注完了と出るくらいですから関数の記述の仕方自体は間違っていないと思うのですが、
>今思えば新規発注のときに建玉枝番号はブランクにしていて決済発注のときは"1"にしていたのかもしれません…
>約定はしなかったわけですがこの書き方ですと何か問題はありますでしょうか?
観てみたのですが・・・
書き方自体は問題ないと思います!!

岡三RSSの『発注完了』は紛らわしいことに『発注成功』出ないため、
発注が完了し、その後証券会社側などで、エラーで発注が失敗しても『発注完了』が出てしまいます・・・

現状の下書き方で、気になる点は以下の点です。
・注文確認(第10引数)、完了メッセージ(第11引数)、注文画面(第12引数)が0(あり)になっているため
たぶん、注文時に注文確認メッセージが出てきて、注文が行われないと思います。(いつもOKを押されてる??)
・発注ID(第14引数)が"発注ID"と固定値になっている。
発注IDは発注の度に違う値を設定する必要があります。もし同じ値を設定した場合は
『発注完了』と表示されますが、実際の発注は行われません。

もしかすると、発注IDを毎回同じ値(発注IDという文字)を使われてませんでしょうか?
発注IDは毎回異なる値を指定してあげる必要があります!!


>また、建玉番号や建玉枝番号、取引パスワードなど、ダブルクォーテーションがあってもなくても発注できるように感じているのですが、決まりはないのでしょうか?
正確なところは、FNEWORDERは引数がすべてString型というものになっていますので、
全てにダブルクオーテーションが必要となりますが、

Excelでは自動で型変換を行ってくれるので、
数字を渡すところは付け忘れても、自動でダブルクオーテーションを付けた感じにしてくれますので、
問題ありません。

一応、マニュアルを観ると・・・
1,4,5,8,13~18引数がダブルクオーテーションが必要となっていまーす。

2018年08月24日

たく

Ryo Ohno様
いつもありがとうございます。いつも丁寧な回答とても助かっております。

>『建玉番号』は約定した際に建玉毎に振られる番号で
FNEWORDERで決済を行うときに、どのポジションを決済するかを指定したいときに使用します。

振られるということは任意で決める番号ではないということでしょうか?
1,2,3の順に約定した3つ建玉があり、2だけ決済したい場合は建玉番号で指定するのでしょうか?その場合引数はどのようになりますか?

また少し本題からそれてしまうのですがアクティブ先物を行っている場合は岡三RSS上で自動決済されるのでしょうか?

質問が多くてすみません…
どうかよろしくお願いいたします(._.)

2018年08月16日

Ryo Ohno

たくさん、こんにちはー

>振られるということは任意で決める番号ではないということでしょうか?
>1,2,3の順に約定した3つ建玉があり、2だけ決済したい場合は建玉番号で指定するのでしょうか?その場合引数はどのようになりますか?
たくさんがおっしゃられる通りで、
新規発注をして、約定した際に岡三オンライン証券さん側で建玉ごとに振られる番号になります。
1,2,3と3回約定して、2などの対象の建玉を決済するときに使用します。

約定後にFOPPOSITIONを使用すると、現在持っているポジションの情報を取得できます。
この時にFOPPOSITIONで"建玉番号"、"建玉枝番号"を指定すると対象のポジションの建玉番号が取得できますので、
これをFNEWORDERの第4引数、第5引数に指定してあげると対象の建玉を決済することができます。


>また少し本題からそれてしまうのですがアクティブ先物を行っている場合は岡三RSS上で自動決済されるのでしょうか?
こちらはアクティブプランで契約をされている場合、
岡三RSSから新規発注して約定した建玉も、自分で引成などで決済発注せずとも、引けで自動決済されるか?
ということでよろしいでしょうか?
もしそれでしたら、確か自動で決済が掛かったと思います!!

2018年08月18日

たく

Ryo Ohnoさん こんばんは
どうやらコメントが入れ違いになってしまったようで、失礼いたしました。

せっかくの申し出とてもありがたいのですがその時使っていた関数は一回消してしまってわからなくなってしまいました…

記憶では売りの発注が約定したのちに

現在値が22000あたりで、22195に下がったら成行FOKの決済をしようと、
(F201:現在値、G208:建玉番号)
=IF(F201<=22195,FNEWORDER("N225mini",0,2,G208,1,3,12,0,1,0,0,0,*****,"発注ID"))
にしていたと思います。
発注完了と出るくらいですから関数の記述の仕方自体は間違っていないと思うのですが、
今思えば新規発注のときに建玉枝番号はブランクにしていて決済発注のときは"1"にしていたのかもしれません…
約定はしなかったわけですがこの書き方ですと何か問題はありますでしょうか?

また、建玉番号や建玉枝番号、取引パスワードなど、ダブルクォーテーションがあってもなくても発注できるように感じているのですが、決まりはないのでしょうか?

2018年08月22日

たく

Ryo Ohnoさん、こんばんは
いつもわかりやすい丁寧な説明ありがとうございます。

試しにFOPPOSITION関数を利用してみたところ、「***END***」と出ました。
これは建玉が1つもないときに出るのでしょうか…

また、建玉がいくつあるかを知りたい場合は
FOPPOSITION("数量",A1,"")
のような記述をすればよいのでしょうか?

2018年08月19日

Ryo Ohno

こんばんは!!

>試しにFOPPOSITION関数を利用してみたところ、「***END***」と出ました。
>これは建玉が1つもないときに出るのでしょうか…
これは、データの終わりを識別するために最終行に表示されます。
もし、建玉が3つあれば、3つ建玉のデータが出て4行目に「***END***」が表示されます
また、建玉が1つもない場合は、建玉のデータが1行も出らずに、いきなり「***END***」が表示されます!!



>また、建玉がいくつあるかを知りたい場合は
>FOPPOSITION("数量",A1,"")
>のような記述をすればよいのでしょうか?
こちらは残念ながら建玉の数ではなく、その建玉自体の枚数になります。

確か、岡三RSSには建玉の数を取得する関数はなかったと思いますので、
FOPPOSITIONで帰ってきたデータの数を数えてあげるしか無いと思います。
#確かに、建玉の数が一発でわかると便利な場合も多いかもと自分も思いました・・・

2018年08月20日

Ryo Ohno

たくさん、こんばんはー

>建玉番号と発注IDの違いがわかりません。
まず、FNEWORDERは、発注の時に使用する関数で、新規発注時も決済発注時にも使用します。

『建玉番号』は約定した際に建玉毎に振られる番号で
FNEWORDERで決済を行うときに、どのポジションを決済するかを指定したいときに使用します。

『発注ID』は誤発注を防ぐための機能で、発注関数を使用して発注する度に毎回違う値を設定する必要があります。
※Excelを再起動すると再度同じ発注IDは使用できます。


>公式の関数一覧のpdfではfneworderの第4引数の建玉 or 決済順序にはブランクはなしと書いてあるのですが、
>文例ではブランクとなっていますし、次の第5引数も1を指定と書いてありますがブランクとなっています。
第4引数のブランクの件ですが、FNEWORDERは発注でも決済でも使用するため、
新規発注時はブランクで、決済時は必須となっています。
たぶん、例題は新規発注時の例題だと思われまーす。
確かに、自分も思ったのですが、"ブランクはなし"と書かれてもちょっと意味がわかり辛いですね・・・


>新規発注の際に発注IDを充て、
決済発注の時にIDを指定して決済する。
>ただこれだけのことがしたいので評価益や約定時刻など関係ないので本来ブランクでよいと思うのですが何かしらの値は入れなければならないのでしょうか。
『発注ID』は誤発注を防ぐためのIDとなりますので、
何かしら、識別するためのIDとして使用するものではありません・・・(確かに名前が・・・
ですので、決済を行う場合に
決済したいポジションを指定したい場合は『建玉番号』を指定し
なんでもいいので、一番初めに約定したポジションを決済したいような場合は、
C(建日時古順)を設定します!!


>また、第6第7引数である売買区分や執行条件は新規発注の際に指定したものと同じでいいのでしょうか?
第6引数の『売買区分』は、新規約定と逆(買いのポジションの時は売り)を指定する必要があり、
第7引数の『執行条件』は、決済時の執行条件(成行で決済したいなど)を指定する必要がありまっす!!

2018年08月15日

たく

Ryo Ohnoさん、こんばんは

約定後にFOPPOSITIONを使用すると、現在持っているポジションの情報を取得できます。
この時にFOPPOSITIONで"建玉番号"、"建玉枝番号"を指定すると対象のポジションの建玉番号が取得できますので、
これをFNEWORDERの第4引数、第5引数に指定してあげると対象の建玉を決済することができます。

すみません、建玉番号と建玉枝番号の違いを教えて頂けないでしょうか_(._.)_

建玉が3つある場合は3つ引数が返ってくるということでしょうか?

また、2つ目の建玉のみ決済したい(2つ目の建玉番号が知りたい)場合、FOPPOSITIONの第1引数はどのようになりますか?

よろしくお願いいたしますm(__)m

2018年08月18日

Ryo Ohno

たくさん、おっはよーございます!!


>すみません、建玉番号と建玉枝番号の違いを教えて頂けないでしょうか_(._.)_
『建玉番号』は約定した建玉1つずつに対するユニークな番号になります。

『建玉枝番号』は、互換性のために残っていて、J-Gate稼働後は確か"1"固定になってました
※すみません忘れてました。

ですので、建玉を指定して決済されたい場合は、建玉枝番号は無視されて"1"を固定で設定されても大丈夫だと思います。


>建玉が3つある場合は3つ引数が返ってくるということでしょうか?
複数のポジションがある場合に、FOPPOSITIONを使用すると引数の数は変わりませんが、岡三RSSが返してくるデータの行が複数行になります。

例えば、3つポジションを持っている時に、FOPPOSITIONを使用すると、
FOPPOSITIONの第2引数で指定した表示開始行より下に、
3行データが返ってきて一行ずつ異なった建玉番号が返ってきます。


>また、2つ目の建玉のみ決済したい(2つ目の建玉番号が知りたい)場合、FOPPOSITIONの第1引数はどのようになりますか?
FOPPOSITIONは現在のポジションのデータが全て返って来る関数となります。
また、残念ながら複数の建玉から欲しい建玉の情報のみを取得する機能がありません。

ですので、2つ目の建玉のみ決済したい場合は・・・
FOPPOSITION(”建玉番号”,A2,””)
などとして、いったんデータを3行取得し、その中から2つ目を取得してあげる必要があります!!

例)
関数
 A1セル:FOPPOSITION(”建玉番号”,A2,””)
結果
 A2セル:111111(1つ目の建玉の建玉番号)
 A3セル:222222(2つ目の建玉の建玉番号)
 A4セル:222222(3つ目の建玉の建玉番号)

このなかから、A3のセルの建玉番号を使用して決済する

2018年08月19日

Ryo Ohno

たくさん、おっはよーございます!!


>すみません、建玉番号と建玉枝番号の違いを教えて頂けないでしょうか_(._.)_
『建玉番号』は約定した建玉1つずつに対するユニークな番号になります。

『建玉枝番号』は、互換性のために残っていて、J-Gate稼働後は確か"1"固定になってました
※すみません忘れてました。

ですので、建玉を指定して決済されたい場合は、建玉枝番号は無視されて"1"を固定で設定されても大丈夫だと思います。


>建玉が3つある場合は3つ引数が返ってくるということでしょうか?
複数のポジションがある場合に、FOPPOSITIONを使用すると引数の数は変わりませんが、岡三RSSが返してくるデータの行が複数行になります。

例えば、3つポジションを持っている時に、FOPPOSITIONを使用すると、
FOPPOSITIONの第2引数で指定した表示開始行より下に、
3行データが返ってきて一行ずつ異なった建玉番号が返ってきます。


>また、2つ目の建玉のみ決済したい(2つ目の建玉番号が知りたい)場合、FOPPOSITIONの第1引数はどのようになりますか?
FOPPOSITIONは現在のポジションのデータが全て返って来る関数となります。
また、残念ながら複数の建玉から欲しい建玉の情報のみを取得する機能がありません。

ですので、2つ目の建玉のみ決済したい場合は・・・
FOPPOSITION(”建玉番号”,A2,””)
などとして、いったんデータを3行取得し、その中から2つ目を取得してあげる必要があります!!

例)
関数
 A1セル:FOPPOSITION(”建玉番号”,A2,””)
結果
 A2セル:111111(1つ目の建玉の建玉番号)
 A3セル:222222(2つ目の建玉の建玉番号)
 A4セル:222222(3つ目の建玉の建玉番号)

このなかから、A3のセルの建玉番号を使用して決済する

2018年08月19日

Ryo Ohno

たくさん、おっはよーございます!!


>すみません、建玉番号と建玉枝番号の違いを教えて頂けないでしょうか_(._.)_
『建玉番号』は約定した建玉1つずつに対するユニークな番号になります。

『建玉枝番号』は、互換性のために残っていて、J-Gate稼働後は確か"1"固定になってました
※すみません忘れてました。

ですので、建玉を指定して決済されたい場合は、建玉枝番号は無視されて"1"を固定で設定されても大丈夫だと思います。


>建玉が3つある場合は3つ引数が返ってくるということでしょうか?
複数のポジションがある場合に、FOPPOSITIONを使用すると引数の数は変わりませんが、岡三RSSが返してくるデータの行が複数行になります。

例えば、3つポジションを持っている時に、FOPPOSITIONを使用すると、
FOPPOSITIONの第2引数で指定した表示開始行より下に、
3行データが返ってきて一行ずつ異なった建玉番号が返ってきます。


>また、2つ目の建玉のみ決済したい(2つ目の建玉番号が知りたい)場合、FOPPOSITIONの第1引数はどのようになりますか?
FOPPOSITIONは現在のポジションのデータが全て返って来る関数となります。
また、残念ながら複数の建玉から欲しい建玉の情報のみを取得する機能がありません。

ですので、2つ目の建玉のみ決済したい場合は・・・
FOPPOSITION(”建玉番号”,A2,””)
などとして、いったんデータを3行取得し、その中から2つ目を取得してあげる必要があります!!

例)
関数
 A1セル:FOPPOSITION(”建玉番号”,A2,””)
結果
 A2セル:111111(1つ目の建玉の建玉番号)
 A3セル:222222(2つ目の建玉の建玉番号)
 A4セル:222222(3つ目の建玉の建玉番号)

このなかから、A3のセルの建玉番号を使用して決済する

2018年08月19日

たく

すみません、上の問題は解決しましたm(__)m

ただ、別の問題が発生しました…
試しに岡三RSSを使って発注してみたのですが、売りの新規注文は約定したのですが
決済注文をIF関数と組み合わせて現在の終値が何円以下になったら発注というようにしたのですが、
条件を満たしたのち発注完了と出ました。

ですが約定完了の通知が来ず、HPからログインして確認してみると決済はされていませんでした。
その後また価格が上昇すると発注完了と出ていたセルはFALSEとなりました。

これはどういうことなのでしょうか?
発注して約定しなくてもそのあと価格が上がったらそこで約定するものではないですか?
発注完了は発注完了ですし、そこでなぜまたFALSEとなるのでしょうか…

2018年08月20日

Ryo Ohno

たくさん、こんにちは!!


具体的にExcelの関数をどのように記述されているのかわからないので
想像になってしまいますが・・・


>発注して約定しなくてもそのあと価格が上がったらそこで約定するものではないですか?
約定完了の通知が来ず、HPからログインして確認されたときは、
決済注文の発注自体はされておられましたでしょうか?
もし決済注文自体がなかった場合は、岡三RSSの発注の関数自体は成功したものの、
発注IDを同じものにしてしまったなどで、発注自体が通らなかった可能性があります。

もし、発注自体が正常にされていた場合ですが、
発注はどのような条件でやられておられましたでしょうか?
成行のFOKで発注したや、指値で発注したなど情報を頂けますと幸いです。



>発注完了は発注完了ですし、そこでなぜまたFALSEとなるのでしょうか…
こちらはたぶん以下のようなIF関数の分を使われていると思います

=IF(現在値 <= 決済金額,FNEWORDER(・・・))

上記のような記述ですと、
現在値が決済金額より高い場合、『IF文の結果』としてFALSEが表示されます。

IF文は・・・
第1引数:条件
第2引数:条件に合致した時に動くもの
第3引数:条件に合致しない時に動くもの(省略した場合はFALSEを返す)
となっています。

注文時の現在値が決済金額より高いときは、省略されている第3引数の"FALSE"が表示されており
価格が狙い通り下がって、決済金額より低くなったので、第2引数のFNEWORDERが実行され、"発注完了"が表示される
また、現在値が上昇したことにより、省略されている第3引数の"FALSE"が表示されたのだと思われます。


もし、差し支えなければ、発注関数が記載されたシートをアップロードしていただけますと、
具体的にどこが問題かわかると思います

2018年08月21日

RSSユーザー

QUOTE関数とORDQUERY関数の時刻についてです。

当日限りで同じ銘柄のORDQUERY関数の受付日時とQUOTE関数の高値時刻を比べ受付日時<高値時刻なら1違うなら0とセルに表示したいのですが日時と時刻で違うでしょうか、お教えください。

2018年11月25日

RSSユーザー

ポジション関数の評価損益率についてです。

ポジション関数で保有株の評価損益率が最高益率のマイナス3%になったら成売りというプログラムは作れるでしょうか。お教えください。

2018年11月23日

RSSユーザー

ありがとうございました。さっそく試してみます。

2018年11月27日

小笠原聖史

最高益率-1.xlsm (20.9KB)

RSSユーザー様
小笠原と申します。
添付のとおり作成してみました。
各銘柄ごとの評価損益率を5秒間隔でチェック、過去の評価損益率を上回っていれば、当該銘柄の評価損益率を書き換えます。
※当該銘柄の売買をしたことによって評価損益率が変わってしまっても、その変化を考慮した修正は自動でできるようにはなっていませんので、ご注意をお願いいたします。
現時点の評価損益率が、これまでの最高の評価損益率を3%以上下回っていれば、現物売りを成行きで発注します。
マクロを止めたいときは、セル(1、”W”)に数字の1を入れていください。
記録した過去の評価損益率をリセットしたい場合には、リセットボタンを押してください。
以上、お試しいただけますと幸いです。

2018年11月26日

RSSユーザー

QUOTE関数の日付の書式についてです

QUOTE関数の日付とEXCEL2016で作った日付が一致したら1と表示したいのですが出来ません。QUOTE関数の日付の書式を教えてください。

2018年11月21日

RSSユーザー

1

2018年11月23日

RSSユーザー

小笠原様、上手く出来ました!本当にありがとうございます。返事が遅くなってすみません。

2018年11月23日

小笠原聖史

日付一致を判定.xlsx (11.1KB)

RSSユーザーさま、はじめまして。小笠原と申します。
・QUATE関数に1をかけてシリアル値に
・エクセルのセルに入力した日付にも1をかけてシリアル値に
・両方を比較して一致・不一致を判定する
というエクセルシートを添付しております。
「QUOTE関数の日付の書式を教えてください」にストレートにお答えできていないのですが、お役に立ちますでしょうか。

2018年11月22日

RSSユーザー

小笠原様 評価損益額についてもお教え下さい

すみません。最高損益率の3%下回った場合成り行き注文を教えてもらった者です、最高損益額の3%下回った場合の成り行き注文プログラムもお教えください。すみません

2018年11月27日

RSSユーザー

ありがとうございました!

2018年11月28日

小笠原聖史

最高益額-1.xlsm (22.9KB)

RSSユーザー様
評価損益額が、最高額から3%以上減少したら成行売り、を添付のとおり作成してみました。
お試しいただけますと幸いです。

2018年11月27日

RSSユーザー

RSS信号と総合口座からの注文の優先順位についてです

現物売りでRSS信号の注文よりも総合口座からの注文のほうが優先されますか、お教え下さい

2018年11月28日

RSSユーザー

大変よく分かりました、ありがとうございました。

2018年11月30日

小笠原聖史

RSSユーザー様
総合口座からの注文、はWEBアプリからの注文、と認識させていただいたうえで申し上げますと、

ある株式を100株保有しているとして、
売り注文を出していない状態で、RSSから保有株100株の売り注文を出すと、WEBアプリからは売り注文を出せないようになります。
また、売り注文を出していない状態で、WEBアプリから保有株100株の売り注文を出すと、RSSからは売り注文を出せないようになります。

保有している100株に係る売り注文が二重発注されないよう、証券会社側でうまく管理されているようです。

2018年11月28日

RSSユーザー

エクセルファイルを開くと特定シートの特定セルの時計が自動スタートについてです

エクセル時計(自動オープン).xlsx (8.9KB)

お世話になっております。
ネットで調べて、「エクセルファイルを開くとセルの時計が自動で動くマクロ」を作ってみたのですが、このプログラムだとすべてのシートのセルA1に時計が表示されました、これを特定のシートのセルA1にだけ表示させるには添付ファイルのどこをどう修正すればよいかお教えください。

2020年10月01日

大野 了

うまくいきましたか!!
良かったです!!

2020年10月01日

RSSユーザー

上手くいきました。ありがとうございました!

2020年10月01日

大野 了

RSSユーザさん、こんにちは!!

Sheets("Sheet1").Range("A1") = Format(Now, "hh:mm:ss")

と、シートを指定してあげたら大丈夫です。

2020年10月01日

RSSユーザー

数秒後、特定セル値を自動で消す方法です。

お世話になっております。入力した特定のセル値を数秒後、自動で消す方法はありますか、(RSSの接続メッセージのように)。お教えください。

2020年10月15日

大野 了

なるほどー
そいうことだったんですねー

お仕事中に「ズギューン」が鳴りっぱなしになったらだいぶやばいですねw
なにはともあれ、上手い事行ったようでよかったです!!

2020年10月15日

RSSユーザー

お世話になっております。じつは、先日効果音がでないかと問い合わせた者なのですが、音がなりっぱなしになってしまって。。。そこで以前教わったポジション関数の各項目の数のそろえで「取得中」、「取得済」の取得中(約定した合図)のときだけ効果音「ズギューン」にしました、これで仕事中でも約定が音でわかります。いろいろすみませんでした。

2020年10月15日

大野 了

RSSユーザさん、こんにちは!!

こちらはVBAを使用せずにという感じでしょうかー?

セルの値を、IFなどで空白にすることは可能ですが、
セルの中身を完全に消すことは、残念ながら通常セル関数だけではできません・・・(涙

もし、VBAを使用せずにExcelだけの機能で消したいのであれば、
だいぶ無理やり&1分間隔になってしまいますが、
PowerQueryを利用して消す方法があります!!

PowerQueryで引けるデータを空白のデータにして、
そのデータの出ロ先を消したいセルにすると、
1分間隔でセルのデータが消せると思います。

PowerQueryでの更新の仕方は以前いただいた質問の転記で申し訳ありませんが、
ご参照頂けますと幸いです!!
https://bbs.okasan-online.co.jp/ont/rss/board/?page=2&topic_id=336#comment_1759

もしわからない点がありましたら、遠慮なくご返信ください!!

もし・・・
数秒で消されたい場合は・・・
VBA以外では厳しいと思います・・・

2020年10月15日

shiverian

help me

Book3.xlsx (11.8KB)

図の様な分足のシートを作成したのですが、刻々と新しいデータが刻まれていくのですが、K列の現在時刻(一番新しい)のデータを違うセルに表示させたいのですが、可能でしょうか、勿論、元データが更新される度に別のデータも更新させたいです、宜しくお願い致します。

2023年12月06日

shiverian

了解しました、有難う御座いました。

2024年02月08日

大野 了

shiverianさん、こんばんは!!

ファイルありがとうございました。

せっかくファイルを上げていただいたのに恐縮ですが、
楽天RSSはノウハウがないため、二重発注の防止に対して何かしらの返答は難しい状況です。

少しでもshiverianさんのお役に立ちたいのは山々なのですが・・・
大変申し訳ございません。

2024年02月08日

shiverian

コピー最新シストレ改良版(自動回復済み).xlsx (0.8MB)

今晩は。未だ楽天RSSにしがみついてます、この様な感じで売買をしております、切り替わりのタイミングで前のデータが残っているのか、二重発注になりますお忙しいでしょうが何か解決策が有りましたら宜しくお願いします。

2024年02月08日

大野 了

shiverianさん、こんにちは!!

本件ですが、岡三RSSをご利用でしょうかー?
岡三RSSですと、発注IDを使用して二重発注を止めることは可能ですが、
楽天RSSですと同様の内容でつぶせるかわからないため、回答が厳しいのが現状です。

また、もし岡三RSSをご利用の場合は、ストラテジやパスワードの部分を消して
ファイルをアップしていただくことは可能でしょうか?

現状ですと、shiverianさんがどのような処理を行われているかわからないため、
問題点が分からず対策を考えるのが少し厳しい状況です。

2024年02月08日

shiverian

先日は、有難う御座いました、今度は時間が更新されると前時間に注文が有った時に二重発注になります、此の儘では完全自動で売買は出来ません、他の方の投稿も参考にしたのですが、旨く行きません何か対策は有りますでしょうか、宜しくお願いいたします。

2024年02月08日

shiverian

2024年02月06日

shiverian

Book1.xlsx送信用.xlsx (12.2KB)

今晩は、お手数をお掛け致します、私は楽天証券と岡三証券にも口座を持っているのですが、岡三のRSSと株式取引の手数料が無料で無いので現在は楽天RSSのみで取引をしております、ちょっと岡三RSSとは違うかもしれませんが、宜しくお願いします。
買い注文        売り注文
37717 14:10    27772 14:05
37722 14:11  27777 14:06    
37802 14:35 277?7 14:30
37807 14:36 27802 14:31
37817 14:50 27807 14:40
37822 14:51 27812 14:41
27822 14:55
27827 14:56
買い注文        売り注文

2023年12月20日

大野 了

shiverianさん、こんにちは!!

なるほどー
岡三RSSは、このような場を作っていただけてるので、
Excel自体やVBAの話ができるためめっちゃありがたいですよね・・・
自分も回答してる中でいろいろと気が付いたり、知見が溜まっていくのでものすごく助かっています。

楽天RSSに関する回答は難しいですが、
もし岡三RSSであれば回答できることも多いと思いますので、
その時はまたご質問いただけますと幸いです!!

2023年12月20日

shiverian

大野様有難う御座います、楽天ではインストール及びアドイン設定位はサポート有りますが、今の様な質問等には関与しないみたいです、楽天で旨く行くようでしたら岡三でもRSSに移行したいです、これからもよろしくお願いいたします。

2023年12月20日

大野 了

shiverianさん、こんにちは!!

情報ありがとうございます。
いただいた情報から見ると、5分ごとに丸めが走るため問題なさそうです。

CEILING関数は5分帯にまとめるため
1の位が 1 ~ 5と 6 ~ 0 がひとまとめになります。
もし、1の位が 1 ~ 4 と 5 ~ 9 がひとまとめにされたい場合は、

CEILING(TEXT(NOW(),"HHMM") + 1,5)

としていただくことにより、ご希望の動作になると思います!!


また、大変申し訳ございません。
楽天RSSはノウハウがなく、楽天RSSの発注IDの仕様が分からないため、
そもそもこのやり方で正常に再発注が止めれるかどうかは判断ができず、これ以上はなんとも・・・

楽天さんにお問い合わせいただけると、確実で素早い解決ができるかもです!!

2023年12月20日

大野 了

shiverianさん、こんにちは!!

申し訳ありません、繰り返しになってしまい大変申し訳ないのですが、
まず、shiverianさんが行われたい内容を整理させてください!!

こちらは、発注IDが同じ場合、発注が空回りすることを利用し、
5分間、同じ発注IDを維持することで、再発注を防ぎたいということで間違いありませんでしょうか?

もし上記の場合、
現在、発注IDを生成されているセルのワークシート関数の実際の記載と
下記の現象が起きた際の実際の10分丁度の発注ID、1分後の発注IDを記載いただけますと
原因が何かわかるかもしれません。

>10分丁度に買いサインが出ると発注IDが表示されて発注されますが、1分後に又発注IDが更新されていくので、二重発注になります

2023年12月20日

shiverian

今日は、場中に立ち上げて様子を見ました、発注IDは更新されて行きますが、10分丁度に買いサインが出ると発注IDが表示されて発注されますが、1分後に又発注IDが更新されていくので、二重発注になります、売りの時も同じで二十発注になるみたいです、10:10に発注、10:11に発注、その後は10:15分までは変化は有りません、何か解決策は有りますでしょうか、宜しくお願いします。

2023年12月20日

大野 了

shiverianさん、こんにちは!!

なるほどー
自分はうまく動作するので、もしかしたらC6やE6が発注毎に更新されていないでしょうか?
だとすると、TEXT(NOW(),"HHMM")が5分間隔でしか更新されなくても、
発注IDが更新されてしまい、発注されてしまいます。

ご提示いただいた、ワークシート関数だけではなんとも判断がつかないので、
想像になってしまいますが・・・

2023年12月19日

大野 了

shiverianさん、こんにちは!!

TEXT(NOW(),"HHMM")
の部分を
CEILING(TEXT(NOW(),"HHMM"),5)
としてもダメでしたでしょうか?

2023年12月19日

大野 了

shiverianさん、こんにちは!!

おー!!
上手く行きましたかー
それはめっちゃよかったです!!

さてご質問の件ですが、
こちらは、発注IDが同じ場合発注が空回りすることを利用し、
5分間発注IDを維持することにより、再発注を防ぎたいということで間違いありませんでしょうか?

それでしたらCEILING関数を利用するとよいと思います。
CEILING(TEXT(NOW(),"HHMM"),5)

としていただくことにより、5単位でHHMMが丸められるため、
結果5分間は同じ発注IDとなります。

もし3分がよい場合は
CEILING(TEXT(NOW(),"HHMM"),3)
として頂くと、3単位で丸まります!!

ご参考になれば幸いです!!

2023年12月19日

shiverian

大野様、有難う御座います、両方とも解決しまして発注も出来返済売りも可能となりました、発注idは=IFERROR($E6*10000+$C6+TEXT(NOW(),"HHMM")でokなのですが、売買成績は5分足が良い為に5分足で表示させています、しかし上記の発注idですと1分間隔で更新されるので、5回程の注文を出してしまいます。
発注idを3分、5分間隔で更新させることは可能でしょうか?宜しくお願いします。


2023年12月19日

shiverian

はい何故だか旨く行きませんでした。

2023年12月19日

shiverian

発注IDのセルに上記関数を入れたのですが、旨くいきませんでした、=IFERROR($E6*10000+$C6+TEXT(NOW(),"HHMM")この関数に何かをプラスして、完成させるようにしたいです。

2023年12月19日

大野 了

shiverianさん、こんにちは!!

なるほどー
もし可能であればですが、シグナルを発生させるストラテジの部分やパスワードを消したファイルを
上げていただくことは可能だったりしますでしょうか?

もし上げていただけるのであれば、自分が見てみましょうか?

2023年12月09日

shiverian

色々、やってみたのですがダメ見たいです、最新のデータは最下位に表示されるようになってるみたいです、そこだけを直せばシストレが完成するのですが、残念です。

2023年12月08日

大野 了

shiverianさん、こんにちは!!

>エクセルを立ち上げた時は時間は降順になっているのですが、その後の時間とデータは一番下のセルに表示さてしまいます、
立ち上げた時は降順なのに、後から昇順になっているということですかー?
もしそあれであれば、CANDLE関数が複数の箇所に書いてあって、
片方が降順、もう片方が昇順になっていたりしませんでしょうか?


>それと可能でしたら買を数字で違うセルに表示させる事も出来ますでしょうか。
こちらは違うセルに表示させる際にIF関数で置き換えるとよいと思います。
表示させたいセルに・・・
=IF(K2="買",1, IF(K2="売",2,0))
とすると、
買 = 1
売 = 2
買でも売でもない場合 = 0
と数値に変換されて表示されると思います。

2023年12月06日

shiverian

コメント有難う御座います、質問の前に試したのですが、エクセルを立ち上げた時は時間は降順になっているのですが、その後の時間とデータは一番下のセルに表示さてしまいます、それと可能でしたら買を数字で違うセルに表示させる事も出来ますでしょうか。

2023年12月06日

大野 了

shiverianさん、こんにちは!!

こちらは、最新時間の『買』などの文字を別セルに表示したいということで間違いないでしょうか?

もしそれであれば、4本値をCANDLE関数で取得されていると思いますので、
並び順を降順(第七引数を"D"にする)にしてみるというのはいかがでしょうか?
そうすれば、K2が常に最新時間の情報となりますので、そこを他のセルに表示させればよいのではないかと思います!!

2023年12月06日

RSSユーザー

オンタイムメソッドとNOW関数の更新についてです

大変お世話になっております
NOW関数はセルの数字などが入力されなければ変わりません。そのため、1570-日経平均レバレッジ上場投信の出来高をセルに表示させNOW関数をほぼ1秒間隔で動かしています。
オンタイムメソッドはそのような助けを借りなくてもパソコンの内部時計で自動に動くのでしょうか、もしそうならNOW関数をオンタイムメソッドで1秒おきに動かすことはできますか、お教えください。

2020年09月29日

大野 了

すみません、投稿に気が付くのが遅くなりました。

オンタイムメソッドで繰り返し動かそうとされているマクロの中に、記述してもらえれば表示されます!!

2020年10月01日

RSSユーザー

すみません。
Cells(1,1) = Now() をどこにどう貼ったらよいのでしょうか、教えてください。

2020年09月29日

大野 了

RSSユーザさん、こんにちは!!

はい、VBAのOnTimeメソッドはVBAで定期処理されるため、
セル関数のNOWと違って必ず実行されます。

ですので、RSSユーザさんのおっしゃられます通り、
出来高などを表示させて、定期的にセル関数のNOWを動くようにしなくても、
Cells(1,1) = Now()
などとしてあげたら、確実に1秒間隔で時間を表示することが可能です!!

2020年09月29日

RSSユーザー

ORDQUERYの表示消去についてです。

POSITION関数の表示は保有数がなくなるとすぐ消えるのですが、ORDQUERY関数の注文履歴は消えません。ある一定期間が過ぎると自動で消えるのでしょうか、お教えください。

2018年11月30日

Ryo Ohno

すみません・・・
ORDERQUERYでした・・・

ORDERQUERYは注文関数ですので、営業日が変わるとというか、
注文関数の期間指定で指定した期間が終われば、削除される形でした・・・
ウソついて申し訳ありません。

ORDERQUERY関数の注文状況が『注文中』の場合、
期間が過ぎたら、自動的に消えるはずなのですが・・・
もしかしたら、何か起きてるのかもです。

2018年12月08日

RSSユーザー

ありがとうございました。翌日になっても昨日日付の注文履歴がORDQUERY関数にあったので、UWSCで自動消去にしてました。もう一度検証してみます。

2018年12月07日

Ryo Ohno

こんにちは!!
最近ちょぅと、忙しくて返信が遅くなりました。

ORDQUERYですが、営業日が変わるとデータが初期化されます!!

2018年12月06日

じぱんぐ

VBAマクロ内での発注と発注(約定)確認

こんにちは。VBAマクロ内での発注確認がうまくいきません。
お知恵をお借りできれば幸いです。

1. NEWORDERをセルに書き込んで発注
2. POSITION_M, ORDQUERY_Mを更新
3. 更新されたPOSITION_M, ORDQUERY_Mから発注(約定)を確認
(4. 買い注文の確認後、同一のVBAマクロ内でそのまま売り注文を発注)
というコードを書きたいと考えております。

下記のコードで発注はかかるのですが、POSITION関数およびORDQUERY関数が更新されず、発注確認ができないため、ループを抜けられない状態になってしまいます。
なぜ岡三RSSの更新がかからないのか、思いあたる原因がありません。
(なお、NEWORDER関数を用いない場合は、岡三RSSの更新ができることを確認しています。)
NEWORDER関数を用いた場合、一度VBAマクロを抜けないと岡三RSSの更新ができない仕様になっているのでしょうか?
ご存知の方がいらっしゃいましたらご教示いただけますと幸いです。
どうぞよろしくお願いいたします。

2020年06月16日

じぱんぐ

大野様

お返事が遅くなりまして申し訳ありません。
わざわざご確認までしていただき、誠にありがとうございます。
ロジックそのものは問題なしとのこと、承知いたしました。
また見直してみます。
どうもありがとうございました。

2020年07月20日

大野 了

じぱんぐさん

だいぶ間が空いてしまったので、伝わるかどうか微妙ですが・・・
一応、現物株のNEWORDERでも試してみたところ、
じぱんぐさんのソースで正常に動作しました!!

なので、やはりじぱんぐさんのPG自体は問題ないと思います!!

もう解決してると良いのですが・・・

2020年07月10日

じぱんぐ

更新できないコード.xlsx (6.1KB)

大野さま

お返事いただきまして、誠にありがとうございます。
標準モジュールに移してみてもダメでした。
PauseTime = 3 と設定しているので、そこの部分は問題ないはずなのですが。
お言葉に甘えてチェックをお願いしてよろしいでしょうか。

VBAマクロ部分のコードを添付しております(テキストファイルですが、アップロードのために拡張子を変更しております)。このマクロは、ThisWorkbookモジュールに記述されています。

エクセルのワークブックは、1枚のSummaryシートと、b1 – b10と名前を付けられた10枚のシートの、計11枚のシートから構成されています。
・Summaryは、Position, Ordquery, 発注情報等をまとめて管理しているシートです。
・b1-b10には、各1銘柄ずつ(計10銘柄)の1分足情報が出力されており、銘柄ごとに発注条件を計算しています。計算は非常に単純なので、ここでの負荷は問題にならないはずです。
・b1-b10のいずれかで発注シグナルが出ると、情報がSummaryシートに反映されて、これをモニターしているVBAマクロ(1個め)によって、注文処理用のVBAマクロ(2個め Sub OrderProcessing)が呼び出されて、「買い注文の発注⇒約定確認⇒売り注文の発注」を行います。が、RSSが更新されず、約定の確認ができないために、約定確認のためのループからいつも抜けられません。
なぜ更新されないのかが、いまだに分かりません。

どうぞよろしくお願いいたします。

2020年06月19日

大野 了

確認テスト.xlsx (32.7KB)

じぱんぐさん、こんばんは!!

PG見てみました!!
PGはコピーしてシート側はPGからそれっぽくおこして、動くファイルを起こしてみました(笑

結果から申しますと、発注した際も正常に動作しましたー

夜だったというのもあり、発注自体は先物にソースを変更し、
実際に動かしたのですが、
発注後に、ループで回りつつポジション関数が返ってくるのを待機して
発注した数とマニュアル系関数で戻ってきた数が同じになった場合は、
ばっちりループを抜けましたー
※動きすぎて、大量に発注してしまいましたw

動くことは動いたのですが、負荷が高めな傾向にありました。
大量にデータ取得関数を書くなど負荷が高くなると、岡三RSSは表示が上手くいかない事があるので、
もしかしたらそれが原因かもしれません。

ソースを観て負荷を下げれる点をいくつか思い付きましたので、記載します!!

1.SheetChangeイベントが大量に発生しているので、
  Application.EnableEventsを使用してVBAが動いている間はイベントを起こさないようにする

  多分、今でも SummaryシートのB2にフラグを立てて、VBA実行中のイベントが
  空回りするようにされてると思いますが、それでもイベントが発生してしまいますので、
  Application.EnableEvents = Falseなどを使用してイベントが起きないようにしてあげると良いかもしれません

2.DoEventsが繰り返し呼ばれている
  岡三RSSが動けるようにするために、3秒間DoEventsが動き続けていますが、
  DoEventsは処理コストがむちゃくちゃ高いので、繰り返し呼び続けると負荷がめちゃめちゃ上がります
  Sleep関数などを使用して1秒間隔でDoEventsを動くようにするとかなり負荷が下がります。

サンプルソースや注意点をソース中に開催していますのでー
『じぱんぐさんへ』で検索して頂けますと幸いです!!

個人的には、onTimeに書き直す方がよいと思うのですが、
これだけ作られてると、書き直すのも大変そうですね・・・


ファイルは、拡張子を変えてます。
.xlsx → .xlsm に変えて頂けますと幸いです!!


これで直ると良いんですがー

2020年06月20日

大野 了

あっ
動かすと連続で発注してしまう可能性がありますので、
動かすときはご注意ください!!

また、負荷を下げる感じだけですとー
DoEventsを1秒置きに呼ぶようにするだけで大丈夫かもです!!

イベントを止める方はエラーの時とかの処理が面倒なのでー

2020年06月20日

大野 了

じぱんぐさん

今、先物で試してみたのですが正常に動作しましたー

じぱんぐさんのロジックをまるまる使って、
先物の関数に書き換えてDoEventsが回ってる間に
更新のロジックが通ることを確認しました。

多分、頂いた部分でのロジックは問題が無いと思います。
後は、ExcelかVBAの別の部分のソースが関係しているかもしれません!!

============================================
取得関数:FOPORDQUERY_M
VBAのソース:

Dim Start As Long
Dim PauseTime As Long

Call FNEWORDER("N225mini", 0, "1", "", "", "3", "1", "21000", "1", "1", "1", "1", "password", "3", "1", "")

PauseTime = 2


Do
Application.CommandBars("岡三RSS2").Controls.Item("更新").Execute
Start = Timer

Do While Timer < Start + PauseTime
DoEvents
Loop

Loop While Cells(2, 9) = "***END***"

Call MsgBox("end")
==================================
一部記号が全角になっています。

2020年06月17日

大野 了

一応、セルに発注関数を書き込む形式でも正常に動作しましたー

Cells(1, 1).Formula = "=FNEWORDER(""N225mini"", 0, ""1"", """", """", ""3"", ""1"", ""21000"", ""1"", ""1"", ""1"", ""1"", ""password"", ""4"", ""1"", """")"

2020年06月17日

大野 了

じぱんぐさん、こんにちは!!

自分はめんどくさくて、ThisWorkSheetでやったのですが
それでも大丈夫だったので大丈夫と思います。


じぱんぐさんに頂いたソースだけで想像すると・・・
PauseTimeに値が何かしたらで入っていないということはありえませんでしょうか?

もし、PauseTimeが空っぽの場合、
DoEventsの処理が通らないので岡三RSSの更新がかかりません。

Loop Whileの処理の書き方次第では、
発注が無い時はDoLoopを抜けて、岡三RSSの更新が走り
(DoLoop内のDoEventsで岡三RSSが更新をしているわけではない)

発注があった時はDoLoopを回り続けるが、
DoEventsを踏まないので更新が掛からないということがありえます。

もし、他の方法ででもダメな時は、
じぱんぐさんの発注シグナルのノウハウの部分は消して、
発注とポジションの確認だけのソースをもう少し頂くことができれば、全体的に見てみます!!

2020年06月18日

じぱんぐ

大野さま

夜分遅くにも関わらず、ご丁寧にお返事をいただき、誠にありがとうございます。
また、VBAについてご教示いただき、本当にありがとうございます。

ロジックではなく、処理の負荷が問題であるとのこと、承知致しました。

・DoEventsの呼び出しによる負荷については、認識しておりませんでした。確かに、ループ中休まず呼び出し続けていると、呼び出しで処理が手一杯になる可能性がありますね・・・。

・Application.EnableEventsについては、実は作り始めのころは使っていました。しかしながら、これをFalseにすると岡三RSSの更新もできなくなるのでは?と思い始めて、途中から使うのをやめていました。岡三RSSもVBAマクロの一種なのかなと思っていたのですが、そうではないということですね。EnableEventsをFalseにしても岡三RSSの動作には問題ないとのことで承知致しました。

1. Sleep関数を用いて、DoEventsの呼び出し時間間隔をあける。
2. Application.EnableEventsを利用して、発注シグナルモニタ用マクロによる負荷を下げる。
3. イベントの発生をWorkbook_SheetChange からOnTimeに変更して負荷を下げる。
の順で負荷の軽減に取り組んで行きたいと思います。

大変勉強になりました。来週動作テストをして、うまく動きましたらご報告いたします。
本当にありがとうございました。

2020年06月20日

大野 了

じぱんぐさん

更新されませんでしたか・・・
家に帰って、NEWORDERでちょっとやってみますねー
多分、NEWORDERとFNEWORDERで違いは無いはずですが、一応・・・

onTimeだとさすがに確実だとは思うのですがー
あれなら、発注してポジションを確認する程度のonTimeのサンプル作りましょうか?

2020年06月25日

じぱんぐ

大野さま

上記コメントの 1、および1と2の併用を行っても、やはり更新されませんでした。負荷の問題ではないようです。
NEWORDERとFNEWORDERでは動作が異なるということなのでしょうね。
返事がくるのかはわかりませんが、気が向いたときに公式に問い合わせてみます。
お力になっていただき、どうもありがとうございました。

2020年06月25日

大野 了

じぱんぐさん

自分のPCでは問題なく動いてしまったので、
負荷が高いことが原因であることは、まだ予想でしかないのですがー

それでも、自分が頂いた範囲でのソースだと
じぱんぐさんの狙っている通りの動きになるので、
ソース自体には問題が無いことがわかって、一歩前進ですねー

2020年06月20日

じぱんぐ

VBAコード.xlsx (467B)

(上記質問の続きです)
すみません、VBAのコードをコメント欄に投稿しようとすると"Access Denied"となって投稿できないようですので、テキストファイルとして添付しております。
(拡張子がxlsxになっていないと投稿できないようですので、拡張子を変更しております。)
どうぞよろしくお願いいたします。

2020年06月16日

じぱんぐ

大野様

ロジックの動作確認までしていただき、誠にありがとうございます。
ロジックには問題ないとのこと、承知いたしました。
ThisWorkbookモジュールに処理を書いているのですが、これがよくないのでしょうかね?
処理部分を標準モジュールに移すなど、もう少しいろいろ試してみます。
どうもありがとうございました。

2020年06月18日

大野 了

じぱんぐさん

更新掛かりませんか・・・
掛かってもいい気がします・・・
家に帰ったら、自分も試してみます。
結果は報告します!!

別の方法ですが、onTimeを使ってマクロを繰り返し実行に変更すると
確実に岡三RSSの更新はかかると思います。

2020年06月17日

じぱんぐ

大野様

お返事いただきまして、誠にありがとうございます。
NEWORDER_CL関数については、以前試したことがあります。
本日も試してみたのですが、やはり、発注はかかるのですが、どれだけ待っても更新がかかりませんでした。
こういうものだと認識して、別のやり方を考えてみることにします。
どうもありがとうございました。

2020年06月17日

大野 了

じぱんぐさん、こんにちは!!

VBA実行中は、岡三RSSと言いうよりExcelの仕様上
岡三RSSの更新は通常かからないので、
onTimeを使用して、繰り返しマクロを呼ぶ形にするか、
Doeventsを使用して、岡三RSSが動けるようにする必要があります。

じぱんぐさんのロジックを観るとDoeventsが書いてあるので、
確かに更新がかかっても良いような気がします。
よくあるロジックですし・・・

とりあえず、解決策としては
NEWORDERの兄弟関数で、『NEWORDER_CL』という関数があり、
こちらはセルに書き込まなくてもVBAから直接実行できますので、
こちらの関数に変更しVBAから直接発注するか、
onTimeを使用してマクロを繰り返し実行にすると解決すると思います!!

2020年06月16日

Robo

FCANDLE関数でデータ行数について

FCANDLE関数でデータを一日設定し、"市場コード",A1行から一日分を取り込んで、翌日のデータ取り込む行数"市場コード",
A(行数自動変更)可能ですか?

2018年12月11日

Ryo Ohno

Roboさん、こんばんは!!

申し訳ありません、自分の理解力が無く、
Roboさんの疑問が理解できていません。(ごめんなさい

こちらは、FCANDLE関数を使用して、複数日のデータを取得し、
当日分、前日分、前々日分と分けでデータを取得されたいということでしょうか?

2018年12月13日

けん

FCANDLE関数で取引日付が翌日日付に代わるタイミング

FCANDLE関数で取引日付が翌日日付に代わるタイミング(最新の行の日付が変わる時間)は何時何分でしょうか?
16:30という理解で間違いないでしょうか?

2018年12月02日

けん

どなたかご存知かと思い書き込みましたが、自分で仕事を休んで観察したところ、やはり16:30丁度に翌日の取引日時になりました。
注意:日足です。

この質問はクローズさせていただきます。

2018年12月04日

へろへろ

repaymentorder関数の「日本株注文確認」ウィンドウ非表示

お世話になります。信用返済のREPAYMENTORDER関数で発注時の、注文確認画面を非表示にするのに悪戦しています。関係する引数は 第12引数「注文完了省略フラグ」(表示なしの1)第13「注文画面省略フラグ」(常になしということですので省略)第18「注文確認省略フラグ」(表示なしの1)第19「注意画面省略フラグ」(表示せず注文キャンセルの1)だと思いますのでいろいろ試してみました。また、岡三RSSは岡三RSS確認画面省略機能 を使用しています。見落としている点やコツ、ヒントなどありましたらコメントいただけたらと思います。

2019年04月10日

Ryo Ohno

やはり注文確認画面ですか・・・
悩ましいですね・・・
自分も何かわかりましたら、報告いたします。

2019年04月20日

へろへろ

回答ありがとうございます。また、遅くなりまして申し訳ありません。
現在(今週)、返済すべき信用建玉がなくなってしまっていて、再現ができなくなりました。
空売り規制画面ではないです。注文確認画面でした。
今後もいろいろやってみてご報告したいと思います。

2019年04月20日

Ryo Ohno

へろへろさん、こんにちはー

引数の設定を見ている限り、大丈夫そうですね・・・
こちらは空売り規制画面ではなく、注文確認画面が表示される感じでしょうか?

ちょっと知識があやふやで嘘を書いている可能性も大ですが、
空売り規制画面は消せなかったような記憶が・・・(かなり怪しいですが・・・

2019年04月13日

RSSユーザー

エクセル画面を一番前に出したいです。

お世話になっております。
毎朝、エクセルのトレードファイルを開いた後、平日の時は違う資料も開くようにuwscで設定しているのですが、その資料が一番前にきてしまいます。その時エクセルトレードファイルを一番前にするか資料を最小にするスクリプトはどう書けばよいでしょうか。お教えください。

2023年12月11日

RSSユーザー

ネットで探してるうちに次のスクリプトがありました、これで無事資料ウィンドウが最小になりました、お騒がせしました。
id=GETID("〇〇〇〇〇")
IF (id > 0) THEN CTRLWIN(id, MIN)

2023年12月11日

くくり

現在値の取得とエラー時の対応について

確認したいことが2点ございます。

①VBA内での株価の現在値の取得
シートのセルを使用せずに、VBAの中だけで現在値を取得することは可能でしょうか?
できないことは知っていますが以下のようなイメージです。
VAL = QUOTE(7203,”東証”,”現在値”)

ぴったり現在値でなくても、前日終値などざっくりした値を確認できれば十分です。

②エラーが出たときの通知について
例えばインターネット回線が途切れたときに、岡三RSSはメッセージボックスを表示してデータの取得ができなくなるかと思います。
その時に自動で復帰する、またはメール等で通知するような機能をご存知でしたら教えてください。

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

2018年12月19日

Ryo Ohno

くくりさん、こんばんは!!


>①VBA内での株価の現在値の取得
QUOTE関数は、シート側に『QUOTE(7203,”東証”,”現在値”)』を記述しておくと、VBAで取得することができます!!
もし、シート側に記述せずに、VBA側で『QUOTE(7203,”東証”,”現在値”)』を実行すると、エラーがが返ってきてしまいます。

>②エラーが出たときの通知について
岡三RSSはエラーの時にメールを送る機能はついていませんが、
回線が切れた場合に自動で復旧する機能はついており、
回線が復旧した際に、自動で再接続します!!

2018年12月19日

RSSユーザー

条件に達していないはずなのにIF文の条件決済関数が起動してしまいます

RSS日経225サンプル.xlsx (211.3KB)

現在の評価損益額が設定したロスカット金額を下回ると決済発注されるIF文が、意図したタイミングで作動しません。

① Excel起動時に、条件に達していないのに、fneworderの関数が走り、エラーメッセージが出て決済されないことがあります。
② ①の状態になった後にロスカット金額に達しても、決済されません。(①で発注IDが無効になっているためかと)
③ 上記に気づいてExcelを再起動すると決済されます。

本来はロスカット条件に達したら即決済したいのですが、①で条件が真になってないのに条件発注の関数が走るので、その後に意図した動作にならないのです。

実際のシートを添付しますので、どなたか確認していただけないでしょうか?

・A38セルのIF文が条件発注の式です
・1日1回発注するので、発注IDは取引日付より取得します

お手数ですがよろしくお願いいたします。

2019年01月04日

けん

Ryo Ohnoさん

すいませんが、本件また妙な状態になったので助けていただけると幸いです。

前回、条件文を直していただきその後しばらくうまくいっていたのですが、最近またこういう現象になりました。

☆ポジション保有時、Excelを再起動させると、条件に達していないのに、決済されてしまいます。

都合があってExcelを再起動させたいのですが、今回もまた同様のタイミングの問題が残っているのでしょうか?Excelは再起動しない方がよいのでしょうか?

お手数ですが、よろしくお願いします。

2019年03月12日

Ryo Ohno

岡三RSSがデータをシートに書き込むタイミングと
Excelが計算するタイミングが絡んで、なかなか難しい部分がありますからね・・・
自分が経験したことが少しでもお役に立てれれば幸いですっ!!

2019年01月08日

けん

Ryo Ohnoさん、こんばんわ。返信ありがとうございます。

なるほど!理屈が分かりました。
そうすると、色々判断する条件をもっと強固にする必要がありそうですね。自分にはちょっと難しそうですが、助けていただきながら、頑張ってみたいと思います!

いつもありがとうございます。m(_ _)m

2019年01月08日

Ryo Ohno

あっ!!けんさんだったんですね!
お久しぶりです!!

>なぜ、条件式が判断される前に発注がかかってしまうのか、いまひとつ理屈が分からないところではありますが
こちらは、セルの計算が実行される順序が不定のため(岡三RSSのデータも並列に書き込まれる)
条件式が判断される前に発注がかかってしまうというより、
条件式が判断される前に、まだ利食い価格などの計算が終わっていないという感じでしょうか・・・

今回のシートの場合
以下の順序でセルの計算が動くと、正常に動作すると思うのですが
1.評価損益額(J20)・・・評価額を取得
2.利食い価格(J15)・・・J20の評価額を元にして計算(100000円など)
3.損切価格(K15)・・・J20の評価額を元にして計算(-100000円など)
4.発注(A38)・・・J15とK15の金額から発注の判断

しかし、もし以下の順番で動いてしまうと、誤発注されてしまいます。
1.評価損益額(J20)・・・評価額を取得
2.発注(A38)・・・J15とK15の金額から発注の判断
※まだ利食いの計算がされてないので、利食い価格も、損切価格も0円の場合がある
評価額が10000円とかなっていたりすると、決済の発注がすぐにかかってしまう
3.利食い価格(J15)・・・J20の評価額を元にして計算(100000円など)
4.損切価格(K15)・・・J20の評価額を元にして計算(-100000円など)

イメージですがこんな感じでしょうか・・・

岡三RSSの更新順やセルの更新順が不定のため、
うまく行ったり、行かなかったりしてしまうのが、これが原因と思われまーす。

2019年01月08日

けん

Ryo Ohnoさん、いつもご回答いただきありがとうございます。
 #前回不注意でハンドルネームの入力を忘れましたが、
  何度かお世話になっているけんです。

実はどのタイミングで誤発注がかかるのか、不定期なのでイマイチ不明瞭なのですが、基本的にはポジションを保有していない時、Excelを起動したときに発注がかかり、ポジションが無いのでエラーになるケースが多い気がします。Excelを起動したときに必ず誤発注されるのではなく、どのタイミングでそうなるのかたまになるのでよく把握しておりません。。。

なぜ、条件式が判断される前に発注がかかってしまうのか、いまひとつ理屈が分からないところではありますが、Ryo Ohnoさんからいただいた条件式をそのままコピーさせていただき、しばらく運用しながら様子を見たいと思います。

本当にご丁寧にありがとうございます。

2019年01月07日

Ryo Ohno

これで解決することを祈ります!!

2019年01月06日

Ryo Ohno

こんにちは!!

誤発注の件ですが、一度ポジションを持ったのちに、誤発注がかかってしまうということでよろしいでしょうか?

まず、前提条件として、岡三RSS(というかExcel)の関数の実行順序は左上のA1セルから実行されるわけではなく、不定となりまーす。

今回のA38の発注関数は、利食い価格(J15),損切価格(K15),評価損益額(J20)が正しく計算できている前提ですが、
実行順が不定のため、利食い価格、損切価格、評価損益額が計算される前に
A38の発注の条件の判断が動いてしまうことがあります。

ポジションがないのと、前提がわからなかったため、完全に調べ切れていないのですが、
多分、利食い価格などが、正常に計算される前に発注条件が判断されてしまい、発注が掛かっていると思います。
また、計算式上、建玉単価と数量が空白になってしまったの場合、
利食い金額とロスカット額が0円になってしまうため、こちらも合わせて対応しておいた方がよいと思います。
(FOPPOSITION関数が書き換えの時に一瞬空白になるときがあります、この時に発注関数が動いてしまうと、問答無用で決済がかかってしまいます。)


申し訳ありません、再現出来なかったので必ず直ると事が確認ができていませんが、
回避策としては・・・
A38の発注関数に『数値であること』『利食い,ロスカット額が0以上(以下)であること』を
条件に入れるのが簡単と思われまーす。

=IF(OR(J20>J15,J20<K15),fneworder(),"-")

=IF(AND(ISNUMBER(J15),ISNUMBER(K15),ISNUMBER(J20),J15>0,K15<0,OR(J20>J15,J20<K15)),fneworder(),"-")

この条件で、
利食い価格(J15),損切価格(K15),評価損益額(J20)がすべて数字になっている
かつ、
利食い価格(J15),損切価格(K15)に目標の金額が設定されている
かつ、
利食い価格(J15)以上,損切価格(K15)以下
になった時だけ発注がかかるようになります。

2019年01月06日

たかぎ

引成の注文数を確認する事は可能でしょうか

ご存じの方がいらっしゃいましたらおしえてください。
クロージングセッション中等で引成の注文数を参照したいのですが、そのような方法はありますでしょうか?
一応マニュアルを見たらFBOARD関数の中に「成行売気配数量」「成行買気配数量」というのがあったのですが、実行しても値が「0」のままで全く数値が変わりません。他方法があれば知りたいのですが、どなたかご教授いただけますでしょうか。宜しくお願い致します。

2018年12月18日

Ryo Ohno

たかぎさん、こんばんは!!

取得したことはないですが、
マニュアルを読む限りだと取得出来そうな気がします。

ちなみにクロージングセッション中というのは、
プレ・クロージング中に成行が取得できないということでしょうか?

実際に動かしてみると簡単なのですが、
プレ・オープニングもプレ・クロージングも家にいないので・・・
申し訳ない限りです。

2018年12月19日

Ryo Ohno

たかぎさん

関数を見る限り、おかしくはなさそうですね・・・
自分もやってみたのですが、同じ関数で0が返ってきました。

まー
ザラバ中に試したので、0が返ってきてもおかしくないですが・・・

もしどこかのタイミングでプレクロージングの時に確かめられたら、またやってみます。

2018年12月21日

たかぎ

Ryo Ohnoさま
コメントありがとうございます。
クロージングセッションはおっしゃる通り「プレ・クロージングセッション」です。日中だと15:10~15:14なのですが、
FBOARD関数で「成行売気配数量」や「成行買気配数量」を設定してもやはり関数自体はエラーにならず「0」という数値のままで全く動きません。何か問題があるのか全く分かりません。
ちなみに関数は
FBOARD("N225mini","0","成行売気配数量")
というようにしています

2018年12月20日

RSSユーザー

POSITION関数の約定日付についてです

現物株を買ったら5日後になり売りのプログラムを組みたいのですがPOSITION関数で現物株の約定日付が表示できません、何かいい方法はありませんかよろしくお願いします。

2019年01月14日

RSSユーザー

ありがとうございました。なぜ現物株の約定日が表示されないのか分かりませんが、とにかく違う方法を考えてみます。

2019年01月16日

小笠原聖史

RSSユーザー様
私も手持ちの現物株について、約定日付が表示されません。現状岡三RSSを使って5日後に成行き売り発注を自動化するのは無理だと考えております・・
ただ、ひと手間かけて、RSSとは別に保有ポジションを管理する仕組みを構築すれば、そのようなことは可能だと思います。たとえば、総合口座にログインしていただき、「過去のお取引」メニューから全約定に関するCSVデータをダウンロードすることが可能で、当該データには約定日付が載っております。このデータを使って株式明細ごとの売却日と当該日における売却株数を算定しておき、当該日がくれば、RSSで自動で売却注文を発注する、というような仕組みを作ることは可能ではないかと考えます。
RSSユーザー様のご参考になれば幸いです。
※なお、信用建玉については、建日が表示されます。(複数建玉を保有されている場合には、直近の建玉の建日が表示されます。)信用の建玉について約定日付が表示されないとのコメントを記載しておりましたが、誤りですので、お詫申し上げまして、あわせて、訂正いたします。

2019年01月15日

yamada

DoEvents関数の使い方について

初めて質問させていただきます。
現在15分足の4本値を取り込み、それを加工(再計算)して発注サインを発生させているのですが、新規の15分足の更新時に取り込みの順番やエクセルの再計算の関係(?)で、意図しないところでサインが出てしまいます。
※エクセルは自動で再計算させています。
そこで新規の足を取り込んだ時に下記のVBAを実行させ、ある一定の時間(5秒)は発注をストップさせ、ループ中にDoEvents関数により4本値の取り込みは行うことを考えましたが、実際はループ中は4本値の取り込みは行われず、ループ終了後に取り込み場行われます。
DoEventsの実行時、岡三RSSの処理が行われると伺ったのでこのような処理を考えたのです・・・。
関数の使い方がよくないのでしょうか。
尚、別な方法で私のやりたいことができるのであればその方法をご教授いただければ幸いです。

Dim tNow As Long
hachu = 0
tNow = Timer
'5秒間発注停止
While Timer < tNow + 5
DoEvents
Wend
hachu = 1

2019年01月21日

yamada

早速のご回答、ありがとうございます。
ご教示いただいた内容で試してみます。
今後ともよろしくお願いいたします。

2019年01月22日

Ryo Ohno

分足完全取得.xlsx (36.4KB)

yamadaさん、こんばんは!!


DoEventsの関数に関してですが
yamadaさんのロジックをそのままコピペし、
5秒を、2分まで増やして動かしてみたのですが、
2分間、岡三RSSの情報が正常に更新され、VBAで更新後の内容も取得が出来ましたので、
ロジック自体には問題は無いと思います。

多分、yamadaさんもおっしゃられてます通り、
4本足の始値~終値の時間がずれてるため、誤発注がかかっていると思われます。

15分足は1日分の日足を使ったりされてますでしょうか?
もしそれでしたら、各足の合計数を取得し、その合計数が一致すれば、
対象の分足が完全にとれているという判断ができますので、
これで誤発注が防げると思われます。

言葉だと説明が難しいので、Excelブックを作ってみましたー

2行目で、各足が何本取れているかを取得し、
G2で取得できた足の数がすべて同じであれば、データがきちんと取得できていると判断しています。

わかり辛い点がありましたら、再度ご連絡を頂けますと幸いです!!

2019年01月21日

丹羽 徹

FCANDLEの挙動が怪しい

以下の手順で処理を実行している場合に、当日の四本値が取得できない事象が確認されています。
対策を講じたいのですが、何か方法はありますでしょうか?

8:45以前に岡三RSSおよびExcelマクロ有効ワークシート(以下、プログラム本体)を起動する。
プログラム本体にはFCANDLE関数が実装されており、直近20本の四本値を取得している。
8:45を超えても、当日の四本値データが取得されない。
(例えば、5月22日 8:30にプログラム本体を起動した場合、8:45を超えた時点においても取得した四本値の最新データは5月21日時点のままです。)

【期待する挙動】
8:45を超えた時点で、当日の四本値データがワークシートに表示されること。
(例えば、5月22日に本プログラムを起動した場合は、8:45時点で四本値の最新取得日付が5月22日に自動的に更新されて欲しい)

よろしくお願い申し上げます。

2020年05月23日

丹羽 徹

ご回答ありがとうございます。
ご教示頂いた通り、新規ファイルにてFCANDLE関数の挙動を5月23日に確認したところ、問題ありませんでした。
同日、マクロ有効ワークシートでも症状の改善が見られましたが、6月5日現在、症状が再発しました。
別のスレッドでも「CANDLE関数の不具合」ということで同様の症状が確認されているようですね。

2020年06月05日

大野 了

丹羽さん、こんにちは!!

こちらの現象ですが、FCANDLEはザラバが開始された後、
ずっと更新されない形になりますでしょうか?

もしそうであれば、FCANDLEの更新遅延等ではなく、
何かしらの理由で岡三RSSからの表示が止まっていると思われます。


マクロ有効ワークシートということですので、VBAが書かれているワークシートだと思われますが、
VBAが無いシートにFCANDLEのみを記述して頂き、
それでも更新されないのであれば、
岡三RSSの設定、もしくは環境がおかしくなっている可能性があります。

もし、マクロ付きシートだけでFCANDLEの更新が止まるのであれば、
VBAがFCANDLEの更新を止めている可能性が高いです。

VBAが実行されている間は岡三RSSがセルに情報を更新することができないため、
一つのVBAが永久ループ等でザラバ中ずっと動いているような場合、
FCANDLEのデータが岡三RSSに届いても、
セルに対し書き込みするタイミングが無くなるためFCANDLEが取得できていないように見えます。

もしこの場合は、永久ループ等を止めOnTime等を使用しVBAの関数を繰り返し呼ぶ形にするか
DoEventsを使用して、岡三RSSが更新できるタイミングを作ってあげる必要があります!!

これで直ると良いのですが・・・

2020年05月23日

去り行く

自動売買の一歩として

始めまして。
ネットトレーダー株365を自動で終了と再起動をする方法はあるのでしょうか?
ネットトレーダーはUWSCに反応しないように出来ているみたいで困ってます・・・・
Pythonを使えば出来るようになるのでしょうか??

2023年11月05日

大野 了

のび太さん、こんにちは

他のRPAなら動く可能性は高いですが、有料ですからね・・・
プログラムが組めるのであれば、C#などで作るのが一番だと思います。

確かに岡三RSSは自動ログインができるのでネットトレーダにもついていれば
ありがたいですねー

2024年01月15日

のび太

大野さん

試してみてくださり、ありがとうございます。
やはり、厳しいですか、、、、
おかげさまであきらめがつきました。

結局、Pythonなどを利用したほうがいいかもですね。

それにしても、そもそもネットトレーダーが自動機能の仕様にしてくれればいいだけなのですが(笑)

2024年01月15日

大野 了

のび太さん、こんにちは!!

Power Automateでやってみたのですが、
UI要素として取得ができないためUIオートメーションのクリックはできなさそうですね・・・

また、画像認識でやると、ログインボタンまでマウスポインタの移動はできるのですが、
その後のクリックが反応しないです。

PowerAutomateだと厳しいかもですね・・・

2024年01月13日

大野 了

去り行くさん、こんにちは!!

ネットトレーダー株365にも、岡三RSSのような自動ログイン等の機能が欲しいですよね・・・

自分もUWSCでやれないか試してみたのですが、
ログインボタンのハンドル取得までは行けたのですが、
肝心のクリックなどのキー入力を受け付けてくれませんでした。

もしやるとしたら・・・
RPAツールを利用してボタンをクリックさせるか、
PythonやC#などのプログラミングが組める言語を利用して、
WindowsAPIというものを利用してクリックさせる必要がありそうです。

また、もしCFDではなく、現物株で自動売買をされたいのであれば、
岡三RSSの方は自動ログイン等の機能がありますので、そちらの方が便利と思います!!

解決策の返答になっておらず、申し訳ありません。

2023年11月05日

のび太

実は私も以前大野さんに
https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=592
にて以下のようなご教示をいただきました。

>ネットトレーダー株365は毎日再度ログインしないといけないので、RSSを利用するために、それを何とか自動化したいと思っています
>どなたか方法をご存知の方はいらっしゃいますでしょうか
>タスクスケジューラやバッチファイルを使えばいいらしいのですが詳細がわからないのです
自動起動まではタスクスケジューラやバッチファイルで簡単にできるのですが、
ログインまでとなると、UWSCやRPAなどの自動化ツールを使わないと厳しいと思います。

最近、RPAツールのひとつのMicrosoft Power Automateが無償と知り試してみました。
しかし、マイクロソフト製品ではいろいろな自動化はできても、それ以外の製品はむつかしいようです。
ネットトレーダー株365でも起動画面を立ち上げることはできても、その先に進めないようです。

しかし、私がやり方を理解できていないだけかもしれません。
ご存じの方がいらしたら、ぜひご教示ください。

2024年01月11日

むむのり

日経225の自動売買について

5分足で売買サイン.xlsx (281.7KB)

初めまして。むむのりと申します。
最近、岡三RSSに興味を持ちまして、RSSを使っての自動売買を検討しております。
ロジック作成の練習として、サンプルシートを使って下記のロジックで225ミニの自動売買処理を組もうとしているのですが、いろいろ手詰まりとなっております。
 動画セミナー等を見ているのですが、理解が追い付かず、申し訳ありませんがご教授いただけますでしょうか。
ロジック…5分足確定時の終値で、
・5MAが10MAを上回り、かつ5分足の終値が5MAより上回る場合は「買い」で成行新規発注。
・5MAが10MAを下回り、かつ5分足の終値が5MAを下回る場合は売りで成行新規発注。
・それぞれの「売り」「買い」は15分後、つまり発注のもととなる確定した5分足から、5分足が3つ確定した後に、成行決済注文をする。

質問は次の4つです。
①買いと売りのサインは5分足を岡三RSSで表示し、サインが出るように数式を組みました。その数式に「売」と「買」という文字が出るようにし、買いと売りのシートでIF関数を使って成行注文できるような式を次のように入力してます。
=IF(四本値!N13="買",fneworder(C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22))
この式で注文はできるのでしょうか。なにかおかしい点はありますでしょうか。

②次に発注IDなのですが、この発注IDについて理解が追い付いておりません。サインが出た場合、何度も同じ注文を出すことを防ぐためとQ&Aに書いてましたが、サンプルシートにではデフォルトで「F001」と最初から入っております。これが入っていると連続して自動売買処理ができないのではないでしょうか。このサンプルシートをつかって1日に何回も注文と決済をくりかえしたいのですが、この発注IDを消すのがまずいと直感的に感じますので、発注IDを活かして連続で注文と決済を繰り返すには、どのような方法があるのでしょうか。

③仮のこのロジックで売りと買いの注文ができたあとに、15分後、つまり注文から5分足が3つ確定したところで、15分前に注文した建玉を成行決済するロジックをどのように組めばいいか、見当が付きません。どのようにしたらよいか教えていただけますでしょうか。

④このRSSでの自動売買処理ですが、練習するデモ環境みたいなのはありますでしょうか。
いきなり本番は少しこわいため、練習が必要と思います。

いろいろと申し訳ありませんが、どなたか教えていただけますと幸いです。現在作成中のサンプルシートをアップしておきます。

2019年01月25日

超初心者

先物サンプル.xls (0.6MB)

Ryo Ohno様

初めまして。超初心者です。
一括エントリー、分割決済を岡三RSSで自動化して、決済の負担を減らしたいと検索していたところ、Ohno様と質問者様の過去ログに触れました。

まさに下記のような分割決済を理想としており読み進めていたのですが、全く理解ができなくて・・・(涙)

お忙しい所大変恐縮ですが、質問させて下さい。

サンプルシートはダウンロードしたのですが、Ohno様のおっしゃっているポジション情報 A47 B47 その他セル番号は
サンプルシートの「注文」タブのシートの該当セルにその計算式を書き加えて行く、ということでしょうか。

もしくは全く見当はずれのことを申しておりますでしょうか。下記作業をするにあたり、ヒントを頂けますと幸いです。

ダウンロードしたサンプルシートを添付致しました。

また、以下は2014年9月7日の過去ログのコピーです。

*****

1.決済は最高で7分割

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

例) 15000円で建てたときに

1:+50円

2:+100円

3:+150円

4:+200円

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

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

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

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

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

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

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

ポジション情報

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で建てたポジション以外の、先物のポジションが無いことが前提となっています。

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

*******

新規売り→買返済 の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 -,

がこれで良いのか?

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

*****

>特に計算式の中の

>> or <,

>+ or -,

>がこれで良いのか?

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

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

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

ちなみに、Higuchiさんは

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

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

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

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

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

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

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

*****

まとめました。

 

 

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

○買いの場合

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)』と言うシートがコピーされて作成されます。

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

*******

大変長くなってしまって申し訳ございません。
何卒ご助言賜ります様、宜しくお願い申し上げます。

2019年03月17日

むむのり

いつもお世話になります。

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

まだいろいろよくわからない点もありますが、

いったん今の状況のシートを使用し、

テクニカル指標を見直して運用を開始してみたいと思います。

いろいろ相談に乗っていただきありがとうございました。

2019年01月31日

Ryo Ohno

こんばんは!!

>①建玉番号
>このC:建日時古順とは先入先出法の意味でしょうか。つまり古い建玉から自動的に決済されていくという意味でしょうか。
はい、むむのりさんのおっしゃられます通りで、
『C:建日時古順』は自分で決済する建玉を選ばず、
先入先出法で古い建玉から指定枚数分、自動的に選ばれて決済されます。


>②決済注文のルール
>このRSSでの決済注文の場合、例えば売りの決済発注をする際に買いの建玉を持っていない場合はエラーになるのでしょうか?
>それとも売りの建玉が注文される、つまり新規で売りが立ってしまうのでしょうか?
こちらは新規で売りが立つことはなく、『決済対象無しのエラー』になります。


>④練習環境
特に損切のテストの時はほしいです・・・
ホントに損にしないといけないので・・・(笑

2019年01月31日

むむのり

いつもお世話になっております。

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

アドバイスをいただいたおかげでだいぶ理解が進みました。

①建玉番号
このC:建日時古順とは先入先出法の意味でしょうか。つまり古い建玉から自動的に決済されていくという意味でしょうか。

②決済注文のルール
このRSSでの決済注文の場合、例えば売りの決済発注をする際に買いの建玉を持っていない場合はエラーになるのでしょうか?それとも売りの建玉が注文される、つまり新規で売りが立ってしまうのでしょうか?

③発注ID
発注IDには&をいれてかぶらないようにしました。

④練習環境
テクニカルサポートがなければせめてデモ環境さえ用意してくれればユーザー側で試行錯誤するんですけどね・・・

2019年01月31日

Ryo Ohno

むむのりさん、こんばんは!!

>①発注IDについて
現状のこのロジックですと・・・
C12で、9:10に新規発注があったとすると
15分後、
C15の表示も、9:10になってしまい発注IDが同じになってしまいますので、
何か後ろに新規の売り買い、決済の売り買いを識別するやつを追加した方がよいと思います

例えば・・・
新規買い:『=四本値!C15 & "NL"』
新規売り:『=四本値!C15 & "NS"』
決済買い:『=四本値!C15 & "CL"』
決済売り:『=四本値!C15 & "CS"』

などとすると、時間がかぶさっても大丈夫と思います!!


>②15分後の決済について
ですよね・・・
動かせてないのが申し訳ないのですが、自分もやるとしたら同じような形になると思います!!


>③決済について
確かに、むむのりさんのおっしゃられますと取り、エラーになりそうです。
もしその時は『決済対象の建玉がありません』的なエラーが出て終わります。
そのままでも問題は無いと思うのですが、
エラーが出てしまうのが気持ち悪いと言うことであれば、FOPPOSITION関数で
今抱えているポジションを取得し、決済注文のIFに決済関数の有無を追加するというのはいかがでしょうか?


>④指定決済について
はい、先物の場合、建玉番号を指定すると対象の建玉をピンポイントで決済することができます。
新規発注の時のメモ(C20など)に任意の文字を入れて、新規発注を行いますと
FOPPOSITION関数でメモの項目を取得すれば、発注関数で指定した値が返ってきます。
あとはこのメモの値を検索条件として、VLOOKUP関数などで取得すれば、対象の建玉番号を取得できます!!


>⑤練習環境について
テクニカルサポートも、VBAやExcelの関数の話になると、
Microsoftのアプリケーションですし厳しい点も、きっとあるんでしょうね・・・

2019年01月30日

むむのり

190130 5分足で売買サイン.xlsx (283.6KB)

Ryo Ohno様

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

①発注IDについて
可変ということですので四本値シートのC12の約定時刻に設定し、5分毎に発注IDが変わるようにしました。これで連続で発注ができるようになったと私は認識しておりますが、間違いがありますでしょうか?ご指摘いただいた点を踏まえたシートをUPしておきます。

②15分後の決済について
>N15が『買』『売』いずれかだった場合、最も日時の小さいものを決済するというのはいかがでしょうか?
シートを見たところ、時系列に流れているため、もし9:10で『買』サインが出た場合、
5分後には、一つ下に、10分後には2つ下にそのサインが移動していくと思われます。
15分経つと、3つ下にそのサインが移動すると思われますので、
そこに『買・売』のサインがあれば、決済を行うというのはいかがでしょうかー?

こちらについては、私も同様なことをかんがえておりました。四本値シートの黄色のセル、つまり15分後のところに”買”サインが出てれば、決済をするようなロジックです。Ohnoさんのおっしゃるようなイメージで決済の項目を追加してみました。これでご認識はあいますでしょうか?

③決済について
実はこの②の決済方法を考えてて、あれ?うまくいかないな?とおもった点があります。つまりエクセルシートを開いたときに、その瞬間で5日分の5分足を取得しますので、直近5分足とその15分前の5分足も一度にサインがシート上で表示されます。
つまり何が言いたいかというと、建玉がまだ立っていない状況で、15分後のサインを拾ってしまい、カラの状態なのに決済注文がでてしまうことがあり得ます。これでなにかエラーみたいなのが起こりますか?ちょっと説明がしづらいのですがここは。。

④指定決済について
そこで③についてですが、指定決済というものがあれば、新規注文した建玉をピンポイントでそれを選んで決済ができるのではないでしょうか?メモ欄を使って指定決済できるようなことがQ&Aにあったのですが、具体的にどのようにやるかわかりますでしょうか?

⑤練習環境について
指値の設定などをして本番環境でみなさん練習されているのですね。。このRSSというのは結構すごい機能だと思うのですが、岡三オンライン様はあまりそこまで力をいれてらっしゃらないのでしょうか。。テクニカルサポート窓口などを作っていただければいいと思うんですが。。

理解が追い付かず申し訳ありません。お時間あるときで結構ですのでご返信頂けますでしょうか。よろしくお願いします。

2019年01月30日

Ryo Ohno

むむのりさん、こんにちは!!
返信が遅くなりました。

ご質問の件ですが・・・

>①買いと売りのサインは5分足を岡三RSSで表示し、サインが出るように数式を組みました。その数式に「売」と「買」という文字が出るようにし、買いと売りのシートでIF関数を使って成行注文できるような式を次のように入力してます。
はい、式的には問題ないと思います!!
そのままですと、発注IDが変わらないため、2回目以降の発注がかかりませんが、
発注IDを以下の様に時間ごとに毎回変わるようにしてあげれば、大丈夫と思われます。

>②次に発注ID
こちらは、むむのりさんのご心配の通り、同じ発注IDを繰り返して使うことができませんので
一日に何度も(正確にはExcelを起動している間)発注がある場合は、
発注毎に、毎回違う発注IDを指定してあげる必要があります。
もし、1秒以内に何度も発注を行わない場合は、NOW関数を使用して時間を発注IDにしてしまうのが簡単です。


>③仮のこのロジックで売りと買いの注文ができたあとに、15分後、つまり注文から5分足が3つ確定したところで、
現状のシートを大きく変えないで実現するとなると、少し難しいのですが
N15が『買』『売』いずれかだった場合、最も日時の小さいものを決済するというのはいかがでしょうか?
シートを見たところ、時系列に流れているため、もし9:10で『買』サインが出た場合、
5分後には、一つ下に、10分後には2つ下にそのサインが移動していくと思われます。
15分経つと、3つ下にそのサインが移動すると思われますので、
そこに『買・売』のサインがあれば、決済を行うというのはいかがでしょうかー?


>このRSSでの自動売買処理ですが、練習するデモ環境みたいなのはありますでしょうか。
これ、自分もほしいです(>_<)
残念ながらないので、自分の口座でやる必要があります・・・
発注だけでよいなら、その時だけわざと約定しないような指値に設定して、動かしたりしています。

わかり辛い点も多いと思いますので、
もし何かあれば、再度ご連絡を頂けますと幸いですっ!!

2019年01月28日

けん

FOPPOSITION関数で特定の銘柄を特定の列に表示する方法

たとえば先物のN225とDOWの両方を保有している場合、
A列にN225の建玉単価や数量などのポジション情報を、
B列にDOWのポジション情報を表示させるようなことは可能でしょうか?
お手数ですが、よろしくお願いいたします。

2019年01月29日

けん

Ryo Ohnoさん、こんばんは。
いつもご丁寧にありがとうございます!
大変参考になりましたし助かりました!
ありがとうございました!

2019年02月01日

Ryo Ohno

銘柄分け.xlsx (13.0KB)

けんさん、こんばんは!!

確かにポジション関数には銘柄毎に分けて取る機能がないため、
まとめて取れてしまって不便ですね・・・

解決させる方法としてはー
いったんFOPPOSITIONで取得したのちに、
VLOOKUPとかで、銘柄ごとに分けてあげるのが簡単だと思います。

ですが、残念ながら、VLOOKUP単体ですと複数件の情報を取得することができません。

いくつかの関数を組み合わせるとできるのですが、
説明が大変なのでサンプルシートを作ってみました!!

C,D,E列でポジション情報を取得
A,B列に各ポジションを認識するためのID的なものを作成
それを利用して、H~K列、M~P列に銘柄ごとの情報を抽出
という流れになっています。

『H1』と『M1』にRSSから帰ってくる商品種別を入れると取得できると思いまーす!!

ご参考になれば幸いです!!

わかり辛い点がありましたら、また連絡ください♪

2019年01月30日

ゆう

「マクロ'Reflesh'を実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。」について

今朝、突然ポップアップ「セキュリティの警告 リンクの自動更新が無効にされました」が表示され、このコンテンツを有効にしてもRSSがデータを取得しなくなりました。
アドインタグから岡三RSSを手動更新をかけるとタイトルのエラーが出て動きません。
エクセルのオプション→セキュリティセンターからマクロを有効、VBA~アクセス信頼、や
ブックもマクロ有効で保存し直し、一度岡三RSSをアンインストールして再度インストール。などやれることはやりましたが、それでも動きません。どなたか解決方法ご存じであればお教えください。

同じような質問が昨年あったようなのですが、自己解決されていたようなので、また新たに作成しました。

環境はwindows7、エクセルは2007です。

2018年11月08日

Ryo Ohno

ゆうさん、こんにちは!!

もしかすると、岡三RSS自体にRefleshというマクロ(メソッド)があるので、それが動かなくなぅているかもしれません・・・

以下の点を確認していただけますでしょうか?

1.『ファイル』-『オプション』-『アドイン』
  のアクティブなアプリケーションの中に
  ・OSON COM addin2
  ・oson2.rtdserver
  ・岡三RSS
  が入っているか

2.ALT + F11で、VBAエディタを起動し
  『ツール』-『参照設定』
  の中に"参照不可"となっている項目があるか

アドインが無い場合は、再登録
参照不可となっている項目があれば、
その参照不可となっている項目が必要ない場合、チェックを外すと直るかもしれまっせん!!

2018年11月11日

Ryo Ohno

よくありますよね・・・
実は自分もよくやってしまいます・・・(笑

なにはともあれ、直ってよかったです!

2018年11月12日

ゆう

> Ryo Ohno 様

ありがとうございます!
いろいろやったのに最も基本的なことが抜けていたようで、1を確認したら抜け落ちていました、お恥ずかしい・・・。
これでいつも通りのトレード生活が送れそうです、本当にありがとうございます!

2018年11月12日

初心者

二つのロジックの自動売買について

初めて質問させていただきます。
現在岡三RSSを使って225先物をデイトレードで自動売買しているのですが、それと並行して同じ225先物をスイングのロジックでも自動売買したいのですが、一つの口座で何らかの工夫により可能でしょうか。

2019年02月10日

Ryo Ohno

それはよかったです!!

分割約定の時は、建玉番号が変わってしまうので、厄介ですよね・・・
自分も大変でした・・・(^^;

うまくいくことを祈ってます!!

2019年02月12日

Ryo Ohno

初心者さん、こんにちは!!

はい、特殊なことをせずとも、
そのまま一つの口座で複数のロジックで取引を行うことができます。
#自分もひとつの口座で、岡三RSSを使い9つのシステムを同時に動かしています。


もし、気にされている内容が
『複数のロジックで発注をした際に、決済対象の建玉がわからない』
とのことでしたら、
先物はメモ機能がありますので、
発注の際にデイトレと、スイングのロジックを見分けるような単語を入れておき、

1.発注時に『メモ』を追加
2.FOPPOSITION関数で、メモ項目も取得
3.対象のメモの建玉番号をVLOOKUPなどで取得
4.対象の建玉番号を使用して決済

の流れで、ロジックごとの建玉を切り分けで決済をすることができます!!

2019年02月11日

初心者

Ryo Ohno様
早速のご教示ありがとうございます。
私が心配したのは正に
『複数のロジックで発注をした際に、決済対象の建玉がわからない』
でした。
メモ欄を使って区別し、それを検索ワードにして建玉番号を抽出し、その建玉番号を使って返済するということ理解しました。
ただ分割約定したときメモが一つで、建玉番号が二つになるので、返済時にひと工夫必要になりそうですね。
早速トライしてみます。

2019年02月11日

けん

日経225ミニとダウ先物とマザーズ先物の休日の注文

以前から日経225ミニを毎日16:15に注文して16:30に約定する仕組みにしています。
この度、同じ仕組みでダウとマザーズも試そうとしておりますが、これまで日経225ミニでは休日には注文されなかったのですが、ダウ先物とマザーズ先物は、本日土曜日の16:15に注文(予約)されました。
これは正しい振る舞いなのでしょうか?
期待としては、日経225ミニと同様に営業日の定時にのみ注文が通って欲しいのですが、銘柄によって動きが違うのですか?
ちなみに執行条件は成行(FAK)です。

2019年02月02日

けん

本件、1つ前の対応にて期待していた動きになってくれましたので、クローズさせていただきます。
Ryo Ohnoさん、ありがとうございました。

2019年02月26日

けん

Ryo Ohnoさん、こんばんは。

今日、確認しましたが、やっぱり土曜日でも予約発注される、
というのが正しいふるまいのようですね。
 #今まで土曜日はPCを落としてたので気付かなかったのかも

非営業日の土日に予約発注されないよう、発注日の日付と、FCANDLEで取得した取引日付(=営業日である月曜日の日付)を照合して、イコールになった場合だけ発注する仕様に変えてみます。

これで期待する動きになってくれると思います。
ありがとうございました!

2019年02月16日

けん

Ryo Ohnoさん、こんばんは。
いつもご回答ありがとうございます。
回答遅くなりすいません。

やはり土曜日に予約発注される、になるはずですよね。
ですが、そうなると困るんですよね。。。
明日土曜日の16:15の動きを確認してまたご相談します。

2019年02月16日

Ryo Ohno

けんさん、こんにちは!!

今、試してみました!!
ミニ、ダウ共に、土曜日の16:15で正常に発注され予約がかかりました!!


以上、ご参考になれば幸いです!!

2019年02月09日

けん

Ryo Ohnoさん、こんにちは。
ご回答ありがとうございます。
ミニを明示的に週末に注文してるわけではないのですが、以前お送りしたサンプルファイルの様に、曜日関係なく毎日16:15に注文する仕様にしているのですが、ミニは週末に注文されずエラー表示も出ません。ダウとマザーズは予約注文されました。

ただ、土曜だけで日曜は注文されなかったので、ファイル作成最初の動作が何らかの不具合があっただけかもしれません。

私ももう少し様子を見てみます。

いつもお手数をおかけします。

2019年02月05日

Ryo Ohno

けんさん、こんにちは!!

ダウとマザーズは実際に取引したことないのですが、
確か先物系は全ての銘柄で
お休みの日でも発注が可能で、その時は全て予約になったと記憶してます。

ですので、どちらかというとダウとマザーズの動きが正しく、
225ミニでエラーになってしまうのがおかしい気がしました。

ちなみに、ミニは週末に注文するとどんなエラーが返ってきますでしょうか?

自信がないので、週末時間があったら、自分もミニで注文してみて試してみます!!

2019年02月04日

RSSユーザー

EXCEL2016で岡三RSSのアドインメニューが表示されない

EXCEL2016に岡三RSSをインストールしましたが、メインタブにアドインメニューが表示されません。
リボンのユーザー設定でアドイン表示設定していますし、開発メニューのEXCELアドインを確認しても、岡三RSSはインストールされています。
どなたか、同様な問題を解決された方、ご教授いただけないでしょうか?

2017年11月28日

RSSユーザー

質問者様と同様の状況です。
どのように自己解決されたかお教えいただけないでしょうか。
よろしくお願いいたします。

2017年12月15日

RSSユーザー

コメント、有難うございます。
アドインは2種類共、登録は成功しています。
開発メニューで、ExcelアドインとCOMアドインを確認しても、
両方ともチェックされています。
岡三RSS、Office2016の再インストールも試しましたが、表示されません。

2017年12月01日

Ryo Ohno

了解しました。
なかなか難しいですね・・・

それでは、可能性でしかないのですが・・・
以下の2つのことを試して頂けますでしょうか?

1.岡三RSSのアドインが2ヶ所に登録されている場合、反対方向にアドインの設定をやり直す
たまに、岡三RSSのアドインが2ヶ所に登録されることがあるようです。

2ヶ所にインストールされている場合は、アドインの設定を逆の方にすると
上手く行った事象も過去にありました。

Windowsが64bitの場合は
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS
もしくは
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn

Windowsが32bitの場合は
C:\Program Files\Okasan Online Securities Co.,Ltd\岡三RSS
もしくは
C:\Program Files\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn


2.再インストールに実は失敗している。
再インストールするときに、うまく行っているように見えても、実はうまくいかない事があるようです。
#岡三RSSのインストール後に、Excelアドインのインストールを聞いてくるが、聞いてこないなど
これは、clickonceの設定がおかしくなっている為で、
その時は、
http://blog.regrex.jp/2016/09/02/post-972/
のサイトに従いclickonceの設定を削除してから岡三RSSを再インストールすると直ります。

この二つで解決できると良いのですが・・・

2017年12月03日

Ryo Ohno

こんにちは!!

Excelのアドインに関してですが、2種類あります!!
2種類とも登録が成功しておりますでしょうかー?

岡三RSSのアドインが出ない原因として、
片方のアドインしか登録が成功してないことがあります。

Excelアドイン:岡三RSS
COMアドイン:OSON COM Addin2

にチェックを入れて頂くとアドインが表示されると思います!!

2017年11月30日

RSSユーザー

コメント、有難うございます。
自己解決しました。
EXCELファイルを直接指定してファイルオープンすると、アドインメニューが表示されません。
しかし、EXCEL単体を起動させると、アドインメニューが表示されます。
EXCELを起動させる時のマクロの読み込みを見ていると、EXCELファイルを直接指定してファイルオープンさせた時は、岡三RSSのマクロが読み込まれず、EXCEL単体を起動させた時は、岡三RSSのマクロが読み込まれています。

2017年12月04日

Ryo Ohno

解決されたようでよかったです。

普通に起動されておられたわけじゃなかったんですね。

マクロからということなので、もしかしたらCOMという技術を使用して起動されていると思われます。
COMを使用すると、残念ながらほとんどのアドインが動作することができず、
岡三RSSも例外ではなく動作しません。

Shellなどの関数でExcelと対象のExcelのファイルを起動すると、
アドインも動作する状況で起動させることができます!!

なにはともあれ解決できたようでよかったです!!

2017年12月04日

かっぴー

一括エントリー、分割決済について

先物サンプル.xls (0.6MB)

Ryo Ohno様 初めまして。

超初心者のかっぴーです。

昨日同じ内容のものを送信したのですが、違うところにコメントしてしまったようで(汗)所在不明になってしまったので再送させて頂きます。

一括エントリー、分割決済を岡三RSSで自動化して、決済の負担を減らしたいと検索していたところ、Ohno様と質問者様の過去ログに触れました。

まさに下記のような分割決済を理想としており読み進めていたのですが、全く理解ができなくて・・・(涙)

お忙しい所大変恐縮ですが、質問させて下さい。

サンプルシートはダウンロードしたのですが、Ohno様のおっしゃっているポジション情報 A47 B47 その他セル番号は サンプルシートの「注文」タブのシートの該当セルにその計算式を書き加えて行く、ということでしょうか。

それであれば、その様にコピーし作成を試みようと思っております。
(現在 A47のセルには「解説」という文字が記載されていますが、それを消して 下記の計算式を入れて行ったら良いのでしょうか。)

もしくは全く見当はずれのことを申しておりますでしょうか。作業をするにあたり、ヒントを頂けますと幸いです。

エントリーは一括です。

ダウンロードしたサンプルシートを添付致しました。
また、以下は2014年9月7日の過去ログのコピーです。

*****

1.決済は最高で7分割

2.決済金額は、最大で7種類設定したい
例) 15000円で建てたときに
1:+50円
2:+100円
3:+150円
4:+200円

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

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

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

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

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

サンプルシートを改造するという方式で、説明させて頂きます。
利確、損切用の発注のリストと、現在のポジション情報を追加することにより可能と思います。

ポジション情報

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(B39TIME(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で建てたポジション以外の、先物のポジションが無いことが前提となっています。 もし、他のポジションを考慮する場合、もう少し複雑となります。

*******

新規売り→買返済 の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(B39TIME(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 -, がこれで良いのか?

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

*****

>特に計算式の中の >> or <, >+ or -, >がこれで良いのか? >又損切り幅 入力の際 + なのか?    - なのか?

すみません、確かにです。 肝心なことを書き忘れていました。(^^; ちなみに、Higuchiさんは 『損切りは-で入れたがわかりやすい』 とかありますでしょうか?

もし、ありましたら、リクエスト頂けると、そのように計算式直してみます。 また、同じシートに売り用のを作成してしまうと、 買いと、売りのエントリ用の情報が1つになってしまい、 同値での両建てしかできなくなりますので、 シート自体をコピーして、そちらに売り用のヤツを作ったが良いと思われます。

***** まとめました。    

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

○買いの場合

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(B39TIME(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(B39B67,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)』と言うシートがコピーされて作成されます。 あとは、シートの名前をわかりやすい名前に変更して頂けると大丈夫と思います。

*******

大変長くなってしまって申し訳ございません。
何卒ご助言賜ります様、宜しくお願い申し上げます。

2019年03月17日

Ryo Ohno

かっぴーさん

動作しましたか!!
それはよかったです!!
何とかVBAを使わずに、これだけで正常に動作し続けてくれるとありがたいのですが・・・

損切りは、かっぴーさんがおっしゃられます通り
OCOのようなものではなく、監視をしておいて、成行発注の形になっています。
証券会社に注文が出てるわけではないので、停電などが起きた場合に
Excelが動かなくなると損切がかかりません。

安全面からすると、VPSがベストだと俺も思います。
自分はケチって使っていないですが、自分の知り合いの方も何人か使ってます。


また、ファイルも消して頂けたとは・・・
岡三オンライン証券さん優しいですね・・・(ゴマすりすりw

2019年03月25日

かっぴー

大野様

お世話になっております。
2つ前のコメントの時に一度エクセルをアップさせて頂いたのですが、消し忘れのものがあったため、ご担当者の方に特別に削除して頂きました。(通常はできないそうですが、、、)

現在のところ、お蔭様で正常に動いています。
また決済損益も無事追加できました。

動作確認をしながら、ふと気が付いたのですが、損切りはOCO注文ではないので、監視はしているけれど、実際に注文が出されているわけではないですよね。

損切りが発注されていない状態で、停電や、地震などの不慮の事態に遭遇してパソコン(エクセル)が動かなくなった時のことを考えると、VPSで動かすことが必要なのかな、と。

大野様はどう思われますか。

2019年03月25日

かっぴー

大野様

色々お気遣い頂きありがとうございます。
それぞれのシートに少し修正を加えて、動作確認をしたところ
買(1)での1枚を2回注文、1回目、+10円の約定、2回目、損切り約定まで 正常に動作しました。

まだ複数枚の確認はできておりませんが、その前に売(1)の方もチャレンジしてみます。

また加えたシートにつきましても正常に動作しております。
約定一覧シートの方は決済損益も欲しいのですが、今のところ計算式を探せないので、また検索の旅に出てまいります。

以上現状報告でした。

2019年03月25日

かっぴー

大野様

何から何までありがとうございます。
それではお言葉に甘えてアップさせて頂きます。
場が動いていない時に色々変えてしまったので
明日どうなるか全く見当がつかないのですが
「買(1)(2)売(1)(2)」「注文紹介」「約定一覧」「保有」のシートがうまく動いてくれることを願うばかりです。

買(1)だけご訂正頂ければ、他のシートは自分で直しますので、どこをご修正されたか教えて頂けますと幸いです。

本当にありがとうございます。

2019年03月24日

Ryo Ohno

かっぴーさん

全角半角は、フォントの種類ではなくその中の文字になります。
#説明不足で申し訳ありません・・・

例えば、カタカナとかがわかりやすいのですが・・・
『ア』(全角)と『ア』(半角)と同じアでも二種類あります
これと同じで『"』にも、『”』(全角)と『"』(半角)と二種類あり、
全角の『”』ですと関数が正常に動作しません。

ですので、フォントの種類を変更しても文字が全角の場合、
同様の不具合が発生する可能性があります。

もし、違いがわかり辛いようでしたら、
最新のExcelファイルを上げて頂ければ、自分の方で置換してここに戻しましょうか?

2019年03月24日

かっぴー

大野様

休日中にもかかわらずありがとうございました。

詳細なご説明のお蔭で理解できました。

全角に関しては、どのセルなのかが分からなかったのですが
確かに書体が一部「メイリオ」になっていたので、それを全て「MSゴシック」に変更しました。
月曜日に動作確認をして、またご報告させて頂きます。

2019年03月23日

Ryo Ohno

かっぴーさん

まず、決済するときに設定する建玉数ですが、
これは『決済可能な残建玉数』となります。
この『決済可能な残建玉数』は、建玉枚数―決済発注済み枚数となりますので
指値で決済注文をした場合や、逆指値を出した場合、
発注を行った時点で、約定されてなくても『決済可能な残建玉数』が減ってしまいますので
減った枚数で発注してあげる必要があります。

今回はネットトレーダーで逆指値をかけてしまったので、
残枚数が減ってしまったのだと思われます。


また、損切の枚数の件ですが、
今回、"B51"が残枚数を計算している部分になります。
買いでエントリした枚数を集計しているので、
ご質問の例で言いますと・・・

1.7枚でエントリ
2.B51が7になる
3.=B51となっているC67(損切の枚数)も7になる
4.21315円になって1枚利確
5.B51が6に減る
6.=B51となっているC67(損切の枚数)も6になる
7.21305円になって損切りする場合は6枚で損切される

という感じです。

今回Excelを見てみたのですが、たぶん掲示板にコピーされた際に
計算式の"(半角)が”(全角)になってしまっていました。

”(全角)を"(半角)にすべて置換していただくと正常に動作すると思います!!

2019年03月23日

かっぴー

やはり損切は注文が出されませんでした。
建値から-20になった段階でE67は「発注完了」にはなりましたが、決済されずに素通りされてしまいました。
何か対応策がございましたら教えて頂けますと幸いです。

2019年03月22日

かっぴー

その後ナイトでもミニ1枚で動作確認実行中です。
先程 指値買 ⇒ +10円に達したら成行買い の条件の

56行の注文が決済できました。(成行なので決済値は+5になってしまいましたが、、、)

引き続き動作確認致します。

2019年03月22日

かっぴー

発注画面.png (146.7KB)

大野様

本日ミニ1枚で動かしてみました。
発注はできたのですが、決済でつまづきました。
添付した画像中に質問事項を書かせて頂きました。

お仕事がお忙しそうですので、ご無理なさらず、お時間できました時にご覧頂けますと幸いです。

2019年03月22日

かっぴー

お忙しい中、本当にありがとうございます。
これからひとつひとつ照らし合わせて、確認させて頂きます。また分からないことがありましたら質問させて頂くかと存じますが、何卒宜しくお願い申し上げます。
とり急ぎ御礼まで。

2019年03月21日

Ryo Ohno

先物決済_New.xlsx (288.4KB)

また、レイアウトがずれていた部分や、式がおかしかった部分を修正した、
『とりあえず動きはするかなー』
というような内容のファイルを送りまーす。

1点ご注意頂きたいのですが、
以前ご質問を頂いた方も最終的にはVBAでやられたこともあり、
このやり方で正常に動作した実績がありません。

また、今回修正したファイルも動作テストをしたわけでもありませんので、
誤発注(もしくはそもそも動かない)可能性も大いにあります。
使用される場合は自己責任かつ、ご注意頂けますと幸いです。

そんな感じなので、多分、この先も動かないないなど、
いろいろとありますので、
このファイルをベースに改造して頂いたり、ディスカッションできると幸いです♪

2019年03月21日

Ryo Ohno

先物決済.xlsx (291.2KB)

かっぴーさん、こんばんは!!
頂いたExcelシートに吹き出しで返答を入れました。
ご確認頂けますと幸いです!!

全体的にですが・・・
やっぱり元のシートからレイアウトが若干変ってるのと、
5年前に自分が返信した時の誤字脱字もあり、自分でもわけがわから無かったです(笑

2019年03月21日

かっぴー

おはようございます。
ご覧頂くのはお時間ある時で結構です。
お忙しい中、ご丁寧なご返信に感謝しています。

2019年03月19日

Ryo Ohno

かっぴーさん
こんばんはー!!

ファイル観てみます!!


あと、大変申し訳ないのですが、今お仕事でトラブってて帰りがめっちゃ遅いです・・・
明日も夜間の対応が入ってるため、Excelファイルを観ることが厳しそうです。

少し返答にお時間を頂くことをご容赦ください!!

すぐに返信ができず本当に申し訳ありません・・・
週末までには・・・

2019年03月19日

かっぴー

先物決済.xlsx (283.2KB)

大野様

お世話になっております。
以前のやりとりを参考にさせて頂いて、サンプルシートをカスタマイズしてみたのですが、色々と分からないことがあり、質問させて頂きたいのですが、、、

エクセル表の黄色の箇所が質問部分です。
拙い加工でお恥ずかしい限りですが、どう修正したら良いのか教えて頂けますと幸いです。

2019年03月18日

Ryo Ohno

かっぴーさん、こんばんは!!

懐かしい・・・
このやり取りで樋口さんとは仲良くなりましたw
このころは、Excelファイルを掲示板にあげることができなくて、全部文字だけでやり取りしていましたw

さて本題ですが・・・
5年近く経つので、サンプルファイルが変ってる可能性が高いのと、あの時にどんなサンプルを元にしたか
まったく覚えてなので、内容と添付していただいたExcelファイルで、もう一度観てみたのですが、
ざらっと観た感じでは行けそうな感じがしましたー


>ポジション情報 A47 B47 その他セル番号は サンプルシートの「注文」タブのシートの該当セルにその計算式を書き加えて行く、ということでしょうか。
はい、注文タブのシートで大丈夫と思います。


>(現在 A47のセルには「解説」という文字が記載されていますが、それを消して 下記の計算式を入れて行ったら良いのでしょうか。
多分、あのころにはこの文字がなかったか、もしくは若干レイアウトが違ったのかもです。


最終的に樋口さんもVBAでやられたので、この計算式だけで行けるか残念ながら実績はありませんが、
少しでもお力になれれば!!

2019年03月17日

かっぴー

早速にありがとうございました。
検索している中で、きっとVBAの方が汎用性が高いとは思ったのですが、何しろ知識0+土台になりそうなサンプルも探せなかったので、エクセルで挑戦しようと思った次第です。

時間はかかると思いますが、以前のコメントに従って作成してみます。

因みに作ってみたファイルはこちらにアップしても問題ないのでしょうか。問題ないようでしたら、答え合わせをして頂けると大変嬉しいのですが・・・。

2019年03月18日

きゃべつ

接続状態の確認について

お世話になっております。

岡三RSSがエラーで止まってしまうことがあるのですが、
岡三RSSの注文可否状態(エクセルアドインの左から4番目のボタン)、または、接続状態(エクセルアドインの右から2番目のボタン)をエクセルマクロ上で確認する方法はございますでしょうか。

具体的には
 接続状態 = 〜〜〜
というようにプログラムして、変数(接続状態)になにかしらの値が返ってくることを期待しております。

なお、エラーはポップアップで「エラーが発生しました。再起動してください。」みたいな感じで、岡三RSSアプリを再起動する必要があります。
※スクショとっておらず、曖昧ですみません。

月一くらいのペースで発生しており、発注したいタイミングで発注できないということが起きてしまいます。。。
接続切れは仕方ないとして、切れたら自分宛にメールを送るなどしたいので、検知できればと考えております。

ご助力いただけますと幸いです。

2021年02月12日

きゃべつ

>大野様

早々にご回答いただきありがとうございます。
エラーを再現できないので確認はできませんが、取り急ぎ実装してみました。
またエラーが発生しましたら、うまくいったかご報告いたします。

心より感謝いたします...!!

2021年02月26日

大野 了

きゃべつさん、こんにちは!!

残念ながら、自分はこのエラーが発生したことが無いので
発生原因に関してはなんともお答えできませんが、
ポップアップが出ているかどうかは、FindWindowAPIを使用すれば判断できます。

APIの使い方ですが、
Generalに以下のようにAPIの宣言を記述して頂き

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

ポップアップを確認したいところに
Dim hWnd as Long
hWnd = FindWindow(vbNullString, "エラー")

と書いてあげると
『エラー』とWindowタイトルがついているWindowがあった場合、0以外の数字がhWndに帰ってきます!!

一つ注意点としましては『エラー』とタイトルがついている別のWindowが上がっていた場合
ご認識をしてしまうことぐらいでしょうかー

2021年02月26日

きゃべつ

スクリーンショット 2021-02-26 113244.jpg (11.0KB)

本日例のエラー(添付画像)が出ましたが、
このポップアップが出ている間は
Application.CommandBars("岡三RSS2").Controls.Item("未接続").TooltipText = "接続中"
となるようです。
※ポップアップのOKをクリックすると"未接続"になります。

恐れ入りますが、以下2点お分かりになる方がいらっしゃいましたらご教示いただければと思います。
●このエラーの発生原因
●このポップアップが出ているかどうかを判定するプログラム

2021年02月26日

大野 了

きゃべつさん、こんにちは!!

上手く行きましたかー
お役に立ててよかったです!!

2021年02月13日

きゃべつ

>大野様

いつもお世話になっております、助かります。
実行してみたところ確かに取得できることを確認いたしました!!
本当に助かります、ありがとうございます。

2021年02月12日

大野 了

きゃべつさん、こんばんは!!

そうですね・・・
岡三RSSの通信が切れているかはどうかは、接続中の状態方法が良いと思うので・・・

Application.CommandBars("岡三RSS2").Controls.Item("未接続").TooltipText

でTooltipTextを取得して頂き、

"未接続":通信切断
"接続中":通信中

で判断して頂くのが良いと思います!!

きゃべつさんの言われている例ですと

接続状態 = Application.CommandBars("岡三RSS2").Controls.Item("未接続").TooltipText

という感じでしょうかー

2021年02月12日

Sai Kyuusei

岡三RSSインストール 失敗

自宅共用パソコン(win10)で岡三RSSを利用し、株売買をやっております。岡三RSS専用パソコン2台(win10)を購入しました。岡三RSSインストールした時、途中で「岡三エクセルアドインのインストールが必要です。」というメッセージがでて、インストールがストップされました。わざわざ買ったのに、使えないのは悔しくて。。


コールセンターにTELし、色々やってみましたが、改善できず。
1)再インストール ✖
2)C:\Users\XXXXX\AppData\Local\Appsのファイルを削除してから、再インストール ✖
3)OSを初期化して、ファイヤーウォールをOFFにし、ウイルスソフトをOFFし、再インストール ✖
4)共用パソコンでアンインストールして、再インストールできた。
専用パソコンにsetup.exeを移動し、再インストールしたら ✖。
5)APPSフォルダーにアドインを発見し、インストールしたら、インストール自体が成功し、岡三RSSを再度インストールしたら、同じメッセージがでた ✖
6)専用パソコンを再度初期化し、OSを最新バージョンをアップデートし、再度チャレンジし、✖
7)2台ども同じ現象で、インストールできず。

パソコンスペックが CPU i5 8GB 240GB 。
win10 Pro バージョン1803 (ビルド17134.191)
問題ないと思いますが、どっかアドバイスを頂けないでしょうか。
気になるのは、あのメッセージがでる理由があると思いますが、
ご存知ですか。


2018年07月30日

saitaka

横から失礼します。

以前から岡三RSSは利用しております。
今回新PCに変えたところ私も同じ現象でつまずきました。いろいろ試したのですがお手上げです。何かわかれば教えて頂けないでしょうか。

PCを新規購入
win10 home(64bit)
excel2016(office home&business2016)

岡三RSSをインストール時「岡三エクセルアドインのインストールが必要です」がでて先に進めず

正常なら作成されるであろう「C:\Progam Files(x86)\Okasan Online Securities Co,.Ltd」のフォルダが作成されませんでした。

win update
エクセルの再インストール
岡三RSSの再インストール
clickonceキャッシュ削除(C:\Users\(ユーザ名)\AppData\Local\Apps\2.0\→これ以降削除)
等行いましたがダメでした。

なにか情報があれば教えて下さい。

2018年12月18日

saitaka

一応自己解決しました。

win10 home(64bit) 再インストール
excel2016(office home&business2016)(64bit版)
岡三RSSインストール

で普通に動きました。
おそらくexcelの32bit版を間違ってインストールした可能性があります。

2018年12月27日

yhisashi

excelの32bitが原因のようですね。
私も同様のエラーでインストールできませんでした。

Windows store版ではなく、オフィスsoloのページから直接DLすると岡三RSSが問題なくインストールできました。

2019年03月20日

RSSユーザー

私も同じ現象が発生しました。

(以前)
 Windows10 / Office2010(Excel2010) / 岡三RSS
 正常に利用出来ていました。


(異常発生)
 Windows10 / Excel2016(64bit) / 岡三RSS
 Excel2010から2016にアップグレードし、RSSを再セットアップした所、
 「岡三エクセルアドインのインストールが必要です」とエラーが出ました。

 Excel2010と共存しているのが問題と思い、Office2010をアンインストール。
 RSSの再インストール→同じエラーが発生。


(問題解決)
 最初にアプリの削除(Excel2016、岡三RSSをアンインストール)
 次に、過去のインストールやバックアップだと予想される対象フォルダを削除
   C:\Users\(ユーザ名)\AppData\Local\Apps\2.0\*****\*****\okas..tion_*****
    ※****はPC環境で異なると思います
 
  上記フォルダで更新日時が古いフォルダを削除しました。
 【注意】ネットトレーダー環境も同列で保存されるようなので注意が必要です。


 <PC環境が綺麗になった所で>
 1.PCを再起動
 2.岡三RSSをインストール
 3.Excel2016(64bit)をインストール
  (「以前のRSS環境が見つかりました」メッセージ表示)
 4.Excelのアドイン設定から参照して「岡三RSS.xla」の追加が出来ました。

 ご参考になれば幸いです。

2018年12月07日

Ryo Ohno

Sai Kyuuseiさん、お久しぶりです!!

エクセルのアドインだけが入らない感じなのですか・・・


実は自分の知り合いの方にもお一人、岡三RSSのアドインだけが入らない方がおられて同じような状況です。
Clickonceのキャッシュの削除もされていますし・・・
そもそもOS自体の初期化もされてるんですね・・・
普通の手段はすべてやられてる気がします。

あと、動くかどうかはわからないのですが、
正常に動いてるやつから、
岡三RSSアドイン(岡三RSS.xla)とOSON COM Addin2(mscoree.dll)をコピーして、
自力で登録してみるかぐらいしか思いつきませんでした・・・

でも、OSの再インストール直後で再インストールできないのって厄介ですね。

2018年08月01日

Sai Kyuusei

Ohnoさん

 情報、ありがとうございます。
 自力登録する手順について、具体的な手順を教えていただけませんか。
 mscoree.dllを書き換えようとしたら、OS側が拒否されました。。。

2018年08月15日

けん

条件に達していないはずなのにIF文の条件決済関数が起動してしまいます その2

RSS日経225mini.xlsx (409.5KB)

Ryo Ohnoさん

以前、「条件に達していないはずなのにIF文の条件決済関数が起動してしまいます」の件で助けていただいたけんです。
その節は大変ありがとうございました!

お手数なのですが、本件また妙な状態になったので助けていただけると幸いです。

前回、条件文を直していただきその後しばらくうまくいっていたのですが、最近またこういう現象になりました。

「ポジション保有時、条件に達していないのに、決済されてしまいます。」

以前は、条件に達していないのに”Excelを再起動すると”決済されていたのですが、今は何もトリガーが無いのですが、なぜか条件決済されてしまいます。

お手数ですが、再度添付いたしますので、見ていただけないでしょうか?お手数ですがよろしくお願いします。

2019年03月19日

けん

Ryo Ohnoさん、こんばんは。

その後、継続して試しておりますが、誤動作は起きていないので、いただいたアドバイス、式が有効だったようです。

とりあえづご報告まで。
本当にいつもありがとうございます!

2019年04月11日

けん

Ryo Ohnoさんおはようございます。
ご返信ありがとうございます!

ISNUMBER(J40)のJ40はK40の間違いですね。
多分、表のセルを変えたのに式を変えるのを忘れたのかと思われます。


いただいた計算式を昨夜少し試してみましたが、今のところ誤発注は出てないようなので、継続して試してみたいと思います。
結果はこちらでご連絡いたします。

本当にいつもありがとうございます!

2019年04月04日

Ryo Ohno

けんさん、こんばんは!!

>F40-L40の方にも、L20-L26のTrue/Falthのような仕掛けを入れなくても大丈夫でしょうか?
それだ!!
すみません、Vlookupが使っていることに気が付きませんでした。(すみません・・・

けんさんがおっしゃられます通り、
A38の計算式で、J40とK40を使っているのですが、
その値をVlookupで取得しているため、
VlookupよりA38のセルの判断が動いたらおかしくなってしまいますね・・・

今のJ40,K40をVLOOKUPの式にそのまま置き換えると誤動作は減ると思います。

ちなみに・・・
ISNUMBER(J40)のJ40は条件式としては使用されていないみたいなのですが、
こちらは、K40の間違いでしょうか?


以下は、J40はK40の間違いとした前提で記述してあります

J40とK40を、IFERROR(VLOOKUP("N225ミニ",$F$20:$K$25,5,FALSE),0)
に置き換えて・・・

=IF(AND(L26=True,ISNUMBER(J15),ISNUMBER(K15),ISNUMBER(IFERROR(VLOOKUP("N225ミニ",$F$20:$K$25,5,FALSE),0)),J15>0,K15<0,OR(IFERROR(VLOOKUP("N225ミニ",$F$20:$K$25,5,FALSE),0)>J15,IFERROR(VLOOKUP("N225ミニ",$F$20:$K$25,5,FALSE),0)<K15)),fneworder(C5,C6,C28,C29,C9,C30,C31,C32,J40,C14,C15,C16,C17,C41,C42,C43),"-")
※どんどん長くなるな・・・w

というのをA38に入れ込むと誤動作が減ると思います。
気が付かずに申し訳ありませんでした・・・


また、VBAの件ですが、内容的には問題ないと思いまーす。
ですが、
VBAで再起動後数分は発注を行わないようにする対処療法の件ですが、
以前3:00と15:00に再起動されているとお伺いしました。

今回、8:04にも誤発注がかかかったとすると、
残念ながら再起動後数分は発注させないという対処療法も意味がなさそうです。


今回の変更で直ると良いのですが・・・
誤発注つらいですね・・・

2019年04月02日

けん

それともう一点気になることがあります。

FOPPOSITION関数で取得した値をF20-K25の表で表示させているのですが、更にvlookup関数でその値を拾いF40-L40に表示させて、そこをA38セルの式が参照して条件決済しています。

F40-L40の方にも、L20-L26のTrue/Falthのような仕掛けを入れなくても大丈夫でしょうか?
少し気になったので念のための確認です。

2019年04月01日

けん

マザーズは実質ロスカットが効かない価格設定にしていたので、A38の条件決済のセルは無効にしていました。
なので誤発注が起きているのはN225ミニしーとだけになります。
そしてまた今朝も8:04に誤動作で発注されてしまい、それに気づかずに8:45に決済されてしまいました。
一体これでいくら損害が出ているのか。。。(泣)

マクロについてはよく分からないのですが、NOW関数の現在時刻がフリーズして止まることがよくあり困っていたので、時計が止まらないためのマクロをネットでググって仕込んでいます。
 #もしかしてこれが原因だったりするでしょうか。。。

'===================================================
Private tm As Double
Sub 更新()
Application.Calculate
tm = [now()+timevalue("00:01:00")]
Application.OnTime tm, "更新"
End Sub
'=====================================================
Sub 更新やめ()
Application.OnTime tm, "更新", , False
End Sub

上記のマクロの良しあしを含めて、対処療法のマクロについても教えていただければと思います。

2019年04月01日

Ryo Ohno

けんさん、こんにちは!!

ありがとーございます。やっと人間らしい生活に・・・w
誤作動はA38だったんですね・・・
誤動作の検証は、片方だけわざと決済枚数を変更などして、表示されるエラーを
変えてあげるしかないと思います。

>Ryo Ohnoさんに今回修正いただいたのは下記2か所ですよね?
はい、A38とL20~L26の2ヶ所になります!!

同じような修正をマザースのシートの方にも行って頂けていたとすると・・・
原因究明がちょっと厳しいですね・・・
残念ながらたまたまオーバーナイトのポジションがないため、再現が厳しい状態です。

原因解決ではなく対処療法になってしまうのが大変申し訳ないのですが、
VBAのマクロも使用されているようですので、
起動後5分ほどたったら、VBAでどこかのセルに"RSS安定"でもなんでもよいので文字を出すようにしておき
その文字があれば、発注処理を行うというのがいかがでしょうか?

すみません、どのようなVBAを書かれてるのかがわからなかったので、
具体的なサンプルを記載できませんでした。(^^;

もし、具体的なVBAのコードがわからない場合はまたご連絡頂けますと幸いです!!

2019年03月31日

Ryo Ohno

けんさん、こんにちは!!

ありがとーございます。やっと人間らしい生活に・・・w
誤作動はA38だったんですね・・・
誤動作の検証は、片方だけわざと決済枚数を変更などして、表示されるエラーを
変えてあげるしかないと思います。

>Ryo Ohnoさんに今回修正いただいたのは下記2か所ですよね?
はい、A38とL20~L26の2ヶ所になります!!

同じような修正をマザースのシートの方にも行って頂けていたとすると・・・
原因究明がちょっと厳しいですね・・・
残念ながらたまたまオーバーナイトのポジションがないため、再現が厳しい状態です。

原因解決ではなく対処療法になってしまうのが大変申し訳ないのですが、
VBAのマクロも使用されているようですので、
起動後5分ほどたったら、VBAでどこかのセルに"RSS安定"でもなんでもよいので文字を出すようにしておき
その文字があれば、発注処理を行うというのがいかがでしょうか?

すみません、どのようなVBAを書かれてるのかがわからなかったので、
具体的なサンプルを記載できませんでした。(^^;

もし、具体的なVBAのコードがわからない場合はまたご連絡頂けますと幸いです!!

2019年03月31日

けん

Ryo Ohnoさん、こんばんは。
ようやくお仕事が一段落したんですね。よかったです。

はい、A38が注文用のセルで、B38は文字列セルで表示用です。
A38にB38の式をコピーしてるのでそこが原因ではないと思われます。

また、誤動作しているのはA38セルだと思っています。
(誤発注時のエラーメッセージの発注IDで確認済みです)
が、誤発注がエラーにならず発注されたときはエラーメッセージが無く、発注IDが分からないので、A25が誤動作している可能性も捨てきれませんが、たぶん違うと思っています。
 #どちらが誤動作しているか検証する方法はあるのでしょうか?

それと念のため確認させて下さい。
Ryo Ohnoさんに今回修正いただいたのは下記2か所ですよね?

→A38セルとL20-L26セル

その2か所を普段使用しているファイルにコピペしたのですが、もしかしたら他の部分も修正しているなんてことはないでしょうか?
 #念のため確認です。

以上、よろしくお願いします。
 #いつもすいません、ありがとうございます。

2019年03月31日

Ryo Ohno

けんさん、返事が遅くなりました。
やっとこさ、いろいろと落ち着きました・・・

もう一度、Excelシートを観てみたのですが、
申し訳ありません、自分はてっきりB38が注文関数用のセルと思ってたんですが、
A38が注文関数用のセルだったのですね・・・
A38の方は変更してないので、もしかしたらそれかもです。

また
『すでに気が付かれて変更されていたら・・・』
と思ってほかの原因も合わせて考えてみたのですが、
あと可能性があるとしたら、もしかしたらA25の決済注文の方も誤動作してるかもしれません

A25とA38どちらで誤動作しているかわかられますでしょうかー?

2019年03月30日

けん

RSS日経225mini0322.xlsx (402.2KB)

Ryo Ohnoさんおはようございます。
返信いただきありがとうございます!

前回、修正いただいてから多少はいじりましたが、計算式の基本の部分はほぼ変えてないので何がいけないのかさっぱり。。。

ファイルを再度添付いたしました。
 (普段は岡三RSSを再起動するマクロを有効として.xlsmの拡張子なのでそれをここに添付しようとしたら、添付出来ないエラーになったのでファイル名を.xlsxにリネームしたのですが、それだとファイルが開けないのですね。。。)
 (ここに添付はできないけど、.xlsmのエクセルファイルは実用上は問題なく使えるのですよね?)

お仕事が忙しいのに申し訳ありません。
もしお手すきの時があれば見てみてください。

2019年03月22日

Ryo Ohno

こんばんは!!

そーでしたかー
マクロを含んだExcelファイルは拡張子がxlsmじゃないとダメなのですが、
それだとウイルスなどを含んだファイルもあげられてしまうので、
岡三オンラインさんがxlsmは添付できないように気を使われているのだと思います。

xlsmは問題なく使えます。自分もxlsm形式でーす!!

2019年03月23日

けん

「何もトリガーが無いのに条件決済される」と書きましたが、前回のようにExcelを再起動したときには決済されなかったのですが、もしかしたら以下の点がトリガーだったのかもしれません。

・夜中03:01と日中15:01に決済されていた時があった
 →Excelがフリーズしないよう、毎日03:00と15:00にマクロで岡三RSSを再起動しているのが何らかの影響を与えているのかも

・新規約定した際に即条件決済されていた
 →新規約定したことが何らかのトリガーになっていた?

たった今も見ていたら、16:30の新規注文時に、条件決済が起動していたので、明らかにそれがトリガーになっているのかもしれません。この時はたまたま?売買区分が正しくないというメッセージが出て、決済されずに済みましたが。。。

やはり、Excelの処理する順番が不定なので、条件決済が走っている感じなので、もっと条件を追加して誤作動を防ぐ必要があるのかもしれません。

お知恵をお貸しください。よろしくお願いします。

2019年03月20日

けん

備忘録追加
タスクスケジューラで毎日15時と3時に岡三RSSを再起動させていて、その直後に誤発注されたことがあったので、やっぱりトリガーはログイン直後にFOPPOSITION関数で値を取得した時か。。。

2019年03月26日

けん

その後繰り返しの検証で分かったこと(備忘録です)

・Excelを再起動後、岡三RSSを起動してログインすると、3回に1回程度の割合で誤発注が起きている
・誤発注のほとんどは「注文エラー:建玉がありません」となるが、たまにエラーにならずに発注されてしまう
・岡三RSSを起動したまま、Excelを再起動しても誤発注は起きない

まとめ:ログイン直後のタイミングで誤発注(注文エラーor正常注文)が起きる場合がある(毎回ではない)

ちなみに以前、複数ではなくひとつの建玉のみで条件発注していた時はこのタイミングでの誤発注は無かった

2019年03月26日

けん

Ryo Ohnoさん、こんばんは。
残念ながらまだ駄目でした。。。。。。

ポジションを保有、ロスカット利食いの条件に達していない状態で、岡三RSSとExcelを再起動した際、同時に条件決済が走りました。

1度目は(1日1回の今日付けの発注IDで)即決済が走りました。
(この時は売買区分か取引区分が違うというメッセージで決済されず)

上記の後、同様にExcelと岡三RSSを再起動した際に、昨日付けの発注IDで)再度条件発注が誤って走ってしまいました。
(この時も決済建玉がありません、エラーで決済されず)

条件を満たしてないのに条件発注がされてしまう現象に変わりありませんでした。(泣)
#なので肝心な時に決済が走らないのです。。。

この状況にて他に対策はありますでしょうか?

何度も申し訳ないのですが、よろしくお願いします。


2019年03月26日

Ryo Ohno

伝わったようでよかったですっ!!

これで誤発注がなくなることを祈ります!!

2019年03月25日

けん

Ryo Ohnoさん、こんばんは。けんです。

お忙しいのに本当にいつもありがとうございます。
説明の吹き出しを確認しましたが、私にも理解できました。

しばらくいただいた対策で実施してみます。
また何かありましたらご連絡いたします。

本当にありがとうございます!!!


 

2019年03月25日

Ryo Ohno

RSS日経225mini0322.xlsx (417.3KB)

本題の原因ですが・・・

多分、けんさんがおっしゃられています
『新規約定した際に即条件決済されていた』
が原因だと思われます。

FOPPOSITION関数のような一つの銘柄の情報を複数の関数を組み合わせて取得するような
場合に起こってしまう状況です。

対策を入れたファイルを上げます。
中にふきだしで記述してありますので内容を読んで頂けますと幸いです!!
※文字だけで書いてたら大変なのであきらめましたw

赤色の吹き出しが、今回誤動作が起きたと思われる原因で
青色の吹き出しが対策です!!

ご参考になれば幸いです!!

これまた内容が分かりづらいと思いますので、ご不明な点はまたご連絡頂けますと幸いですっ♪

2019年03月23日

Ryo Ohno

けんさん、お久しぶりです!!

内容からすると、前回のIFSの時みたいに起動後にもしかしたら決済がかかってしまってるのかもですね・・・

Excelファイルを観てみたいのですが、
あげて頂いたファイルが、壊れてるみたいで開けませんでした・・・
もう一度、あげて頂けますと幸いでーす。

また、今お仕事でトラブってて・・・
毎日午前様です・・・(しくしく
返答が遅くなってしまう可能性が大なことをご容赦ください・・・(ごめんなさい

2019年03月21日

RSSユーザー

POSITION関数の更新についてです。

POSITION関数の保有銘柄コードと損益率を表示させておき、損益率が-5%以下になったら成売の式をエクセル2016で作成しておいたところ、ある銘柄が-5%以下になり自動的にロスカットが行われたのですが、その上か下にあった銘柄も成売になっていました。2番目に成売が実行された銘柄は-5%以下には」なっていませんでした。POSITION関数の更新のタイムラグによるものと思われますが、対処の式や方法があればお教えください。

2019年01月30日

Ryo Ohno

これで誤発注がなくなる事を祈ります!!

2019年01月31日

RSSユーザー


position関数のロスカットで発注実行された初めてのケースでした。オオノ様の言う通り式を入れてみました。この式がなければ皆さんも誤発注が出ると思います。ありがとうございました。

2019年01月30日

Ryo Ohno

分足完全取得.xlsx (36.4KB)

こんばんは!!

こちらは、新規約定や決済約定で、ポジション数が減った時にご発注してしまった感じでしょうか?
もしそうでしたら、複数のPOSITION関数が実行途中で、
決済の処理が走ってしまったのかもしれません。


対処方法としては、すべての関数が取得できた時のみに、発注関数が動くようにしてあげる必要がありますっ!!

他の方への回答した時に作った、Excelシートで大変申し訳ないのですが添付致します。
ご参考になれば幸いです!!

このシートでは、CANDLE関数ですが、
2行目で各関数が取得した件数を取得し、それが同じであれば
G2に"取得済み"などの文字が出るようなサンプルにしてあります。

そして、注文関数の実行条件に、このG2が"取得済み"である事の
条件を付けくわえて頂けますと、ポジションが増減した際の誤発注は防げると思います!!

2019年01月30日

RSSユーザー

NYダウの現在値がリアルタイムで取得できません

以下の関数で値は取得できますがリアルタイムに更新されません。
=IDX("DJI","現在値")

日経平均やダウ先物あたりは問題ないのですが・・・

2019年03月29日

小笠原聖史

RSSユーザー様
昨晩、手元の環境で確認ましたところ、
=IDX("DJI","現在値")
についてリアルタイム更新がされなかったです。
これはいかんともしがたいと思われます。

2019年04月02日

Ryo Ohno

横から失礼します・・・

確かIDXの海外指数系は、記憶が正しければ・・・
ダウ、NASDAQが1日1回
その他は2分単位だったと思います。

確かに、リアルタイムだとうれしいですね・・・
夜間取引するときは・・・

2019年04月02日

小笠原聖史

来週、NYの取引時間中に試して、状況ご報告いたしますね。

2019年03月30日

RSSユーザー

仕様なんですね~

情報ありがとうございました!

2019年04月02日

Taro Inu

VBAソースからのRANKING_M()関数の呼出し

こんにちは。

VBAのソースから、下記のようにRANKING_M()関数を呼出したい
のですが、コンパイルエラーになってしまい、実行できません。

---
Option Explicit

Sub calltest()

With Worksheets("Sheet1")
RANKING_M("株価急騰(1分前)","銘柄名",10,A2)
End With

End Sub
---

ExcelのセルにRANKING_M関数を入力して取得することは
できるのですが、VBAソースから呼び出す方法を教えて
いただけますでしょうか。

よろしくおねがいいたします。

2019年03月29日

Taro Inu

小笠原さま

色々とお世話になります。真にありがとうございます。

おかげさまで。
Application.CommandBars("岡三RSS2").Controls(5).Execute
で更新ができようになりました。ありがとうございました。

さて、いただいたソースを実行しようとしたのですが、
Cells(i, "c") = "=QUOTE(b" &amp; i &amp; ", """", ""現在値"")"
の部分が構文エラーになってしまい実行できませんでした。

ファイルを添付いたしますので、回避方法をご教示いただけますでしょうか。(拡張子.xlsmだとアップロードできないので、拡張子をxlsmにしてあります)

さて、そもそも今回実現したいのは
① 株価急騰(1分前)の銘柄名と銘柄CDを10件取得して
② ①で取得した銘柄の「現在値」と「約定時刻」を取得
を定期的に実行したいのです。

VBAソースから定期的に岡三RSSの「更新」を実行する方法はわかったのですが、更新を実行すると、前のタイミングで取得したランキング情報での「現在値」や「約定時刻」になってしまいます。
(推測になりますが、更新処理内では、TICK_Mのほうが先に実行されているのかもしれません)

実現方法をアドバイスいただければ幸いです。

よろしくおねがいいたします。

2019年04月01日

Taro Inu

小笠原さま

教えていただきありがとうございました。

パラメータにダブルクォートが必要だったのですね。失礼しました。

ちなみに、更新ボタンをVBAで押すにはどうすればよいのでしょうか?

また、ワークシートに複数の関数がある場合(例えば、RANKING_MとQUOTE)、
まず、RANKING_Mを実行し、その後にQUOTEを実行したい場合にはどのように記述すればよいのでしょうか?

不勉強で恐れ入りますがよろしくおねがいいたします。


2019年04月01日

小笠原聖史

Taro Inu
以下でセルA1に関数がセットされ、アドインの更新ボタンを押下するとデータを取得できます。なお、アドインの更新ボタンもVBAで押すことができます。ご質問の趣旨に沿っておりますでしょうか?

Sub calltest()
With Worksheets("Sheet1")
Cells(1, 1) = "=RANKING_M(""株価急騰(1分前)"", ""銘柄名"", 10, A2)"
End With
End Sub

2019年03月30日

小笠原聖史

test画像.gif (37.6KB)

Taro Inu様
情報が取得できたとのこと、よかったです。
ご報告有難うございました。

2019年04月02日

Taro Inu

小笠原さま

お世話になっております。

いただいたExcelファイルで情報が取得できました。

教えていただき大変助かりました。どうもありがとうございました!

2019年04月02日

小笠原聖史

test1.xlsx (17.8KB)

Taro Inu様

Taro様と同じく、ファイル名の末尾をxにしてアップしましたので、mに書き換えてファイルをお開きください。
明日のざら場中に、calltestを実行し、次にkousinを実行、を試してみていただけますでしょうか?
10秒おきに、株価急騰の情報を取得し、当該銘柄コードの現在値と現在値時刻を取得するようにしたつもりです。
私も明日のざら場で試しみます。取り急ぎ、ファイルを共有させていただきます。

2019年04月01日

小笠原聖史

Taro Inu様

以下のcalltestを実行していただいたうえで、次に、kousinを実行してみていただけますでしょうか。
その後、kousinを実行するたびに、最新のラインキング情報と、当該ランキング銘柄の現在値を表示するようになっています。


Sub calltest()
With Worksheets("Sheet1")
Cells(1, 1) = "=RANKING_M(""株価急騰(1分前)"", ""銘柄名"", 10, A2)"
Cells(1, 2) = "=RANKING_M(""株価急騰(1分前)"", ""銘柄CD"", 10, B2)"
For i = 2 To 11
Cells(i, "c") = "=QUOTE(b" & i & ", """", ""現在値"")"
Next
End With
End Sub



Sub kousin()
Application.CommandBars("岡三RSS2").Controls(5).Execute
End Sub

2019年04月01日

RSSユーザー

N225ミニの残存日数について

以下の関数でN225ミニ期近の残存日数を取得したいのですが、N225ラージと同じ限月の残存日数が表示されます。これは仕様でしょうか?
=FQUOTE("N225mini",0,"残存日数")

回避策はあるので大丈夫なんですが…
回避策1 限月を指定
=FQUOTE("N225mini",”201904”,"残存日数")
回避策2 オプションの残存日数を代用
=OPQUOTE(0,"C",20000,"残存日数")

2019年04月02日

RSSユーザー

メジャー限月はラージで取得できるので、ミニはマンスリー限月を取得してほしいところですが、仕様ならば仕方ないですね。

回答ありがとうございました。

2019年04月02日

Ryo Ohno

こんにちは!!

はい、ミニ系でFQUOTE関数を期近で指定した時は、
ラージと同じ限月が返ってきます。

ミニの場合、マンスリー限月(3,6,9,12月以外)は取引量が少なく、メジャー限月にすっ飛ばして取引される方が多いため、
ミニの期近はメジャー限月の限月が返ってくるようになっています。

2019年04月02日

イーサン

岡三RSSの関数のうち、マクロで呼出しができる関数はなんでしょうか?

お世話になります。

タイトルの通りなのですが、岡三RSSの関数のうち、マクロ(VBAソース)から呼び出せる関数の一覧はありますでしょうか?

NEWORDERは呼び出せることは理解していますが、RANKING_Mは、セルに記述しないと呼び出せないので、呼出しができる関数を
知りたいです。

よろしくおねがいいたします。

2019年04月09日

イーサン

QUOTEテスト.xlsx (31.3KB)

Ryo Ohnoさん、こんにちは。

10連休前の微妙な時期にすみませんが、2点ほど
おしえていただけますでしょうか。

添付の通り、ExcelシートにQUOTE関数を記述して
情報が取得できることは確認できたのですが、
VBAのソースからQUOTE関数を呼びだして、情報を取得する
方法が分かりませんでした。

下記のコードを実行すると
「Sub または Functionが定義されていません。」と出て
怒られます。

質問1:コードはどのように記述すればよいのでしょうか?
質問2:QUOTEの結果は、VBAのソースの中で値として
    取得することはできるのでしょうか?



コード
-------------------------------------------------
Option Explicit

Sub QuoteTest()

Dim ws As Worksheet

Set ws = ThisWorkbook.Worksheets(1)

ws.Cells(2, 3) = QUOTE("9984", "", "銘柄コード")

End Sub
-------------------------------------------------
■備考
添付のファイルは、拡張子をxlsxからxlsmにして開いてください。

本当にすみませんがよろしくおねがいいたします。

2019年04月24日

イーサン

Ryo Ohnoさん、こんにちは。

回答をいただきましてありがとうございます。

とても参考になりました。

Ryo Ohnoさん、小笠原さんも心強く大変感謝しております。

いつもありがとうございます。

2019年04月10日

Ryo Ohno

イーサンさん、こんにちは

横から失礼します。
自分も一覧はもっていないのですが、
岡三RSSの関数で『表示開始セル』の引数があるものは、VBAから呼ぶことができません。
逆に言いますと『表示開始セル』がないものはVBAから呼ぶことができます。

しかし、この時注意点が一点ありまして、
『表示開始セル』の引数が無いものでも、
発注系関数以外は、どこかのセルに記述しておかないと値が取れません。
※多分ですが、不要な情報取得のための通信をしないようになってる気がします。

どこかのセルに記述しておくと、その後はVBAからでも取得が可能でーす。

一覧というわけではないですが、ご参考になれば幸いです!!

2019年04月10日

小笠原聖史

イーサン様
私は一覧的なものを持っておりませんでして、ストレートなご回答ができずに申し訳ありません。
このような方法もある、という例を挙げさせていただきます。
 ①vbaでRANKING_Mをセルに記述
 ②vbaで更新ボタンを押す
もしご参考になれば幸いです。

2019年04月09日

イーサン

小笠原さま

いつもながら迅速な回答ありがとうございます。深謝いたします。

さて、わたしの質問の仕方が悪かったのですが、今回知りたいのは
 VBAのソースから(セルに記述することなく)直接
 呼び出せる関数は何か?
ということです。

公式マニュアルにも目を通しましたが見当たらなく、ご存知の
関数だけでもご教示いただければ幸いです。

2019年04月09日

murata

関数で過去N日の最安値、最高値

関数で過去N日の最安値、最高値の取得方法を教えたいただけないでしょうか?
よろしくお願いします。

2019年04月04日

小笠原聖史

過去x日の高値、安値.xlsx (16.1KB)

murata様
岡三RSSのcandle関数で
FCANDLE_M("N225mini","0","B","0","高値",E3,"D","100")
FCANDLE_M("N225mini","0","B","0","安値",F3,"D","100")
という具合に高値と安値を取得し、
=MAX(E3:E12) : 指定範囲の最高値を取得する関数
=MIN(F3:F12) : 指定範囲の最低値を取得する関数
を使って、過去の高値の内の最高値、過去の安値の内の最低値、を取得するとよいと思います。
添付ファイルをご参照ください。

2019年04月05日

岡三オンライン証券

岡三RSSをインストールできないお客さま(Office 2016)

Office 2016をご利用で岡三RSSをインストールできないお客さまはこちらのサイトをご覧ください。

https://www.okasan-online.co.jp/ont/rss/platform/attention.html
※このページの情報は、2019年4月現在のものです。

2019年04月05日

イーサン

時間が経つとQUOTEの結果がN/Aになってしまいます。

時間が経つとQUOTEがNAになる .xlsx (17.5KB)

お世話になります。

現在、QUOTE関数で銘柄の情報を取得しているのですが、
Excelを起動してからの最初の30分のうちは、銘柄の情報が
取得できるのですが、30分ほどすると結果がN/Aになって
しまいます。
ただし、Excelを再起動するとちゃんと値が取れます。

QUOTE関数の数は180個で、500未満なので問題はないと
思っているのですが原因がさっぱりわかりません。

ファイルを添付いたしますので、原因と対策方法についてご教示いただけますでしょうか。


■補足
 ・実際には、QUOTE以外に、RANKING_M×2個、TICK_M×40個はをプログラム内で30秒間隔で更新しています。(戦略を流出させたくないため、コードは含んでおりません)
 ・添付ファイルの拡張子は、xlsxからxlsmに変更してください。

■環境
OS:Windows 10 Pro
Excel:Office 365

すみませんが、よろしくおねがいいたします。

2019年04月16日

小笠原聖史

イーサンさん
ご丁寧にありがとうございます。
また何かありましたら、おっしゃってください。

2019年04月19日

イーサン

小笠原さん

いつも本当にありがとうございます。

いただいたファイルはちゃんと動作しますね。

私のプログラムに問題があると思うのでもう少し見直してみます。

取り急ぎお礼のみで失礼いたします。

2019年04月18日

小笠原聖史

時間が経つとQUOTEがNAになる .xlsx (22.8KB)

イーサン様
アップしてくださっていたファイルにコードを書いて、手元の環境で、本日14:00頃から15:00前まで動かしてみました。20秒更新です。今回試した限りでは、QUATEがNAになって更新できなくなることはないようでした。(ランキングの更新時に、一瞬NAになることはありますが、、)
よろしければ、添付ファイルの末尾のxをmに変えて、お試しいただけますでしょうか。

2019年04月17日

イーサン

連続の投稿ですみません。

もしかしたら、単純にプログラムの不具合かもしれませんので
一旦ご放念ください。

(補足)
問題が発生しているExcelファイルを閉じたあと、しばらくすると
勝手にExcelが起動するので、OnTimeで登録したイベントの解除
漏れの可能性があります。調査してみます。

2019年04月16日

イーサン

お世話になります。

その後ためしてみましたが、OnTimeの問題を修正しても
症状は改善されませんでした。

定期的に実行するにあたって、なにか留意すべき事項は
あるのでしょうか?(例えば、キャッシュをクリアする?など)

よろしくおねがいいたします。




2019年04月17日

イーサン

岡三RSS集いの広場の検索機能強化のおねがい

サイト管理者様

お世話になっております。

いつも本サイト「岡三RSS集いの広場」を便利に利用させて
頂いております。本当にありがとうございます。

早速ではございますが、一点お願いがありまして
・複数単語での検索
が出来るようにしていただけませんでしょうか?

具体的には、「銘柄情報 定期取得」のようにスペースで
区切って検索すれば、両方の単語を含むスレッドを
表示するようにしていただきたいです。

そうすることによって、岡三RSSユーザーの方が、早期に疑問の
解決ができることが期待できます。

お手数とは思いますが、ご検討のほどよろしくお願いします。

2019年05月29日

イーサン

岡三オンライン証券
ご担当者様

この度は、お忙しい中早速ご対応いただきましてありがとうございます。

正常に動作することを確認いたしました。

どうもありがとうございました。

2019年06月05日

岡三オンライン証券

イーサンさま

お待たせいたしました。

「複数単語での検索」に対応いたしましたことをお知らせいたします。

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

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

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

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

上記の説明は、サイト内リンクよりご覧いただけます。

引き続き、ご利用くださいますようお願い申しあげます。

2019年06月04日

イーサン

岡三オンライン証券
ご担当者さま

お世話になっております。返信のほどありがとうございます。

それでは、お忙しいところ恐れ入りますが、ご検討のほど
よろしくお願い申し上げます。

2019年05月31日

岡三オンライン証券

イーサンさま

いつも「岡三RSS集いの広場」をご利用くださり、誠にありがとうございます。

ご要望の内容につきまして、検討いたしたいと思います。

少しお時間を頂戴するかと思いますが、お待ちくださいますようお願い申しあげます。

2019年05月29日

ざき

値を正しく取得したい

お世話になっております。
ざきと申します。
現在、自動発注の為、約定時間が更新されたタイミングで始値を取得しているのですが、
たまに、約定時間のみ更新されており、始値が更新されていないことがあります。
このような現象を解消し、
約定時間と始値が更新されたタイミングで動作させたいと考えております。
良い方法はありますでしょうか?

2021年02月22日

大野 了

ざきさん、こんにちは!!

いろいろと了解しました!!

となると、FCANDLEでは残念ながら取得することができません。
と言いますのもFCANDLEは、約定があった時に初めて足ができるので・・・
例えば
8:49:45、30000円で約定
8:50:30、30010円で約定
というような場合、
8:50の1分足は、8:50:30に初めて、30010円で出来上がります。

このため、30秒間は、リアルタイムで8:50になっていようとも、
ざきさんがおっしゃられます通り、8:49の30000円の足しかありません。

ですので、リアルな時間を取得するには、
FQUOTE関数で現在値を取得し、
VBAで、リアルタイムで現在値を見に行く形となります!!

また、もしVBAを使用されたくない、
もしくはあまりシステムを変えられたくないという事でしたら、
FCANDLEの始値ではなく終値を観られてはいかがでしょうかー?
それでしたら、上記の例で言うと
8:50に、FCANDLEの最新足の終値を観ると、
約定があろうとなかろうと、実質8:50時点の値となります!!

見当違いの返答になっていたら申し訳ありません。
その時は再度メッセージを頂けますとありがたいです!!

2021年02月23日

ざき

大野さん
コメントありがとうございます。
説明が不明瞭で申し訳ありません。
やりたい事としては、
「FCANDLE」で一定の約定時刻の始値を取得したいというものです。
8:45の始値、8:50の始値~15:10の始値、15:15の始値と取得したいのですが、
約定時刻と始値では、更新(描画?)されるタイミングが少しずれる時があるようで、更新される前の値を取得して処理してしまう事があります。
このような事を回避したいとかんがえております。

2021年02月22日

大野 了

ざきさん、こんにちは!!

なるほどー

『約定』とは自分自身が出した新規注文の約定という分けではないんですねー
勘違いしていました・・・

平たく言うと『実時刻』で
8:45
8:50~15;10(の5分間隔?)
15:15
の、
その瞬間の価格を取りたいという事であってますでしょうかー?

2021年02月22日

ざき

大野さん
ありがとうございます。
質問内容の方を難しく言ってしまい、
申し訳ありません。

大野さんの指定通り、「その瞬間の価格が取りたい」が実施したい事になります。

リアルタイムで1分、5分、15分間隔に問わず
それぞれの瞬間の値を取りたいと考えております。

もし案があれば、よろしくお願いいたします。

2021年02月22日

大野 了

上記は、
8:50丁度に約定があろうがなかろうが
その瞬間の価格が取りたい!!!

という意味となります!!

2021年02月22日

大野 了

ざきさん、こんにちは!!

こちらは、約定価格を取りたいという分けではなく、
約定した時間の次の時間の始値を確実に取得したいという事でしょうか?

例)
1.14:00:30 に約定
2.14:01 の始値を確実に取得したい

理解力がなくて申し訳ないです・・・

2021年02月22日

RSSユーザー

信用売の返済買戻しができません。

お世話になっております。初めてRSSで信用売をしたのですが、売建はできたものの買戻しが出来ません。「注文可能な信用
建玉がありません」と出てしまいます。注文は=REPAYMENTORDER(P5,Q5,R5,・・・,AI5)でP5とかにそれぞれの数字が入っています。なお市場コード、期間、預かり区分、発注条件、発注単価、信用取引区分は空白でよいとのことでなにも入れていません。今のとこ総合口座で逆指値でしのいでいます、RSS試行の際は総合口座注文は取り消して行っております、何が買戻し注文を邪魔しているかお教えください。

2021年11月16日

大野 了

RSSユーザさん、こんにちは!!

なるほど!!
売買区分が逆だったんですね!!
自分も一番初めに同じ間違いしました(笑

なにはともあれ、解決したようでよかったです!!

2021年11月18日

RSSユーザー

お世話になっております。最初買戻しだから売買区分を3にしたのですが、反応しなかったので空売りの返済だから売買区分は1かなと思っていました。結局最初売買区分が3の時に違うセルでバグがあったのでしょうね、おさわがせしました!!!

2021年11月17日

大野 了

こんにちは!!

確かにお伺いしてる状況だと、問題はなさそうな気がします。

もし問題がなければ、
信用売りの建単価などの情報と、REPAYMENTORDERに設定している
各引数の値を教えて頂けますでしょうか?

2021年11月16日

イーサン

国内で上場している銘柄コードのリストは取得できますでしょうか?

こんにちは。

国内で上場している銘柄コードのリストを取得したいのですが、岡三RSSもしくは他のサービスを利用して取得できますでしょうか?

形式はcsvでもExcelでもOKです。

岡三RSSのマニュアルみは目を通したのですが見当たりませんでした。

お忙しいなかすみませんがよろしくお願いいたします。

2019年05月14日

イーサン

小笠原さま

いつも早速の回答ありがとうございます。

無事にダウンロードできました。

サイトの掲載を見る限り、銘柄一表の更新は毎月一回のようなので
上場して間もないの銘柄は自分でメンテしたほうがよさそうですね。

いずれにしてもどうもありがとうございました!

2019年05月14日

マーク

特定の建玉番号に対して、返済注文を出すときの不具合

以前も質問しましたが未解決なため再度よろしくお願いします。

225ミニで取引しています。
複数枚指定した新規発注(例えば買の時)が、複数の売り注文に分かれて約定する時があります。

そのような場合、メモを使って建玉番号を引っ張て来て分割返済注文を出すと、
「決済建玉がありません」
「指定された建玉数が実際の建玉数より多い」
などのエラーが出ます。

●具体的なエクセルの動作

新規発注
FNEWORDER(新規買、指値10000、10枚、メモ001)

一つの売り注文に対して10枚全てが約定すると
FOPPOSITION(買、10枚、建玉番号A1、メモ001)

となり、以下のように分割で返済注文を出しても、問題ありません。
FNEWORDER(返済売、指値10010、建玉番号A1、5枚)
FNEWORDER(返済売、指値10020、建玉番号A1、2枚)
FNEWORDER(返済売、指値10030、建玉番号A1、2枚)
FNEWORDER(返済売、指値10040、建玉番号A1、1枚)

 
しかし複数の売り注文に対して約定すると
FOPPOSITION(買、3枚、建玉番号A1、メモ001)
FOPPOSITION(買、2枚、建玉番号A2、メモ001)
FOPPOSITION(買、1枚、建玉番号A3、メモ001)
FOPPOSITION(買、4枚、建玉番号A4、メモ001)

のように、一つのメモに対して複数の「建玉番号」が返ってきます。

この時、メモを使って建玉番号を引っ張ってきて先ほどと同じように以下の注文を出します。
FNEWORDER(返済売、指値10010、建玉番号A1、5枚)
FNEWORDER(返済売、指値10020、建玉番号A1、2枚)
FNEWORDER(返済売、指値10030、建玉番号A1、2枚)
FNEWORDER(返済売、指値10040、建玉番号A1、1枚)

すると、上記の例のように、A1の建玉数が3枚で、最初の返済注文A1が5枚の時、
「指定された建玉数が実際の建玉数より多い」というエラーがでて、

もし、最初の返済注文がA1、3枚だと注文が通り、二つ目の返済注文で、
「決済建玉がありません」
とエラーが出てしまいます。


新規注文は手動ですが、返済注文は自動で発注したいと思っています。

ややこしい内容で恐縮ですが、これを解決する方法はないでしょうか。
よろしくお願いします。

2019年06月20日

Ryo Ohno

複雑に作ってしまうと、メンテも大変ですし、組み込みにくいですからね・・・
なにはともあれ、お役に立てたようでよかったです!!

わかり辛い辛い部分などあると思いますので、
また何かありましたら、ご連絡頂けますと幸いです!!

2019年06月26日

マーク

Ohnoさん、おはようございます。
ありがとうございます!
シンプルな関数だけでここまでできるサンプルを作っていただき感謝です。
自分でもかなり考えたのですが、開始枚数と言う考え方に至りませんでした。
この考え方を参考に自分のイメージに落とし込もうと思います。

2019年06月26日

Ryo Ohno

分割決済.xlsx (10.2KB)

マークさん、こんにちは!!


返信遅くなりました・・・

分割約定面倒ですよね・・・
俺はVBAで対応しているのですが、一応、セル関数だけでできるように考えてみました。


だいぶいろいろと考えたのですが、できるのはできるのですが、
やっぱりすっごい複雑になってしまいます。

もし『決済は1枚ずつ発注』ということで良ければ、比較的簡単な仕組みでできました。
※もし10枚発注するのであれば、1枚ずつ10回に分けて発注を出す

詳しくは添付ファイルのExcelブックをご覧ください!!


内容としては、
分割決済用の設定と実際のFOPPOSITIONの内容に枚数の開始枚数を算出するロジックを入れて
それに対する、建玉番号と指値をMATCHで引いて、
実際の決済用FNEWORDER設定値とするロジックです。

ご参考になれば幸いです!!




2019年06月25日

マーク

チャート自動スクロールについて

お世話になります。
岡三RSSを使って、先物225の1分足4本値を取得し、エクセルでチャートを表示します。
ここまでは、いいのですが、その後新しい4本値が追加されると、一番古い四本音をチャートの参照範囲から除外して一つづつ左へ自動でスクロールしていきたいです。
いわゆる、証券会社が提供しているチャートソフトのように常に先頭の足が表示されていて、足が追加されて行くたびに自動で左へスクロールして行くと言う事をエクセル上で実現できないでしょうか?
ネット上で調べましたが、データが追加されるたびに参照範囲を広げて行くやり方は出てくるのですが、その場合、一番古いデータは残ったままなので、チャートがどんどん縮小されていきます。
何とか実現できないでしょうか?
よろしくお願いします。

2019年06月06日

Ryo Ohno

おー!!
マークさん行けましたか!!
少し手でもお役に立てたようでホントによかったです♪

不明な点など、何かりましたら、よろしくお願い致しまーす!!

2019年06月09日

マーク

「行けして」→「生かして」です(^^;

2019年06月09日

マーク

Ohnoさん、こんにちは!!
ありがとうございます、できましたー!
範囲を広げることもでき、追加することもできました。
これで自分のトレード環境に行けしていけそうです!
本当にありがとうございます!!

2019年06月09日

Ryo Ohno

チャートサンプル.xlsx (30.6KB)

マークさん、こんばんは!!
マークさんの求められる事と合致しましたかー
それはよかったです♪

表示範囲を変更できるように変更した、Excelブックをアップしますので
ご確認いただけますと幸いです。

また、可能な限り吹き出しと、VBA中に説明のコメントを入れましたので、
ご参考になれば幸いです!!


とはいえ、わかり辛い点も多いと思いますので、ご不明な点がありましたら
またご連絡頂けますと幸いです!!

2019年06月08日

マーク

Ohnoさん、ありがとうございます!
いつも丁寧なご回答に感謝です!
まさにやりたかったことが実現できそうです。

あと、もう少し教えてください。
サンプルシートをいろいろ試しているのですが、スクロールバー(ActiveX版)の参照範囲を指定する方法がネットで検索してもわかりませんでした。
サンプルシートのVBAも拝見しましたが、理解できず(-_-;)

四本値の表示本数を増やしたいのと、移動平均線を追加した時に参照範囲を追加する方法が理解できればいいのですが。

追伸
参照範囲を広げるVBAは検索した時に見つけただけで、使用しておりません、作っていただいたサンプルシートが理想に近いです。
よろしくお願いいたします。

2019年06月08日

Ryo Ohno

チャートサンプル.xlsx (27.4KB)

言葉だけではわかり辛いと思いましたので、ファイルを添付します。

VBAを含んでいますので、
チャートサンプル.xlsx

チャートサンプル.xlsm
にリネームして開いてください。

2019年06月08日

Ryo Ohno

マークさん、こんにちは!!


こちらは、例えば最新からの10本足だけ出ればよいのでしょうか?
もしそうでよければ、

=FCANDLE("N225","0","1","0","終値",B2,"A","100")

このように昇順でデータを並べて置き、表示データを10件とすると、
岡三RSSがデータを更新すると、常に最新の10件だけチャートに表示することができます。
難点としては11件目以前のデータは表示されませんが・・・(^^;


もし『チャートソフトの様にスクロールバーで表示する部分を変更したいんだ!』
ということでしたら、残念ながらExcelのチャートにスクロールバーを出す機能はないため
自分で、スクロールバーを追加しVBAで制御しないといけません・・・

また、参照範囲を広げていかれているとのことですので、
多分、すでにVBAを使われていて、Calculateイベントなどで制御をされていると思います。

もしそれでしたら、スクロールバー(ActiveX版)をチャートの下などに追加し
そのスクロールバーのchangeイベントに以下の記述すると、
スクロールバーを変更すると、それに合わせて参照範囲も移動していき、
チャートソフトのような動きを作れると思います。

Private Sub ScrollBar1_Change()
Dim RangeStr As String

RangeStr = "Sheet1!$A$" & ScrollBar1.Value - 8 & ":$A$" & ScrollBar1.Value + 1 & ",Sheet1!$B$" & ScrollBar1.Value - 8 & ":$B$" & ScrollBar1.Value + 1

ChartObjects(1).Chart.SetSourceData Source:=range(RangeStr)

End Sub


また、現在チャートの参照を広げて行っている部分に、

ScrollBar1.Value = ScrollBar1.Max

と記述すると、画面に更新がかかるたびに、スクロールバーが一番右に移動しますので、
最新の足を表示する流れになります!!

もし、ご不明な点がございましたら、またご連絡頂けますと幸いです!!

2019年06月07日

クマ

QUOTEが#NAまたは#VALUEのまま

tosho_stock _send.xlsx (19.2KB)

お世話になります。くまです。

QUOTE関数を使ってある株はN/Aのままになっていますが原因は分かりません。
例えば 3010,7725等は表示されていません。 4588は取得できました。

件数は500件以下です。
新しいアドオンも再インストールしました。

取引は禁止が原因でしょうか?

他の情報は:
現物口座だけ開設しました。
EXCEL 365 32ビット
Windows10

どうかご存じしている方よろしくお願いします。

2019年05月25日

クマ

今日はもう一度開くと全部取得できるようになりました。

他にも参考のためにおそらくQUOTEは500件をたつとそれ以外
のQUOTEの情報が取得できなくなりました。
最初の500件のQUOTEがEXCEL?が覚えてしまったので、別のQUOTEを取得したいのであればRSSをログアウトして再ログインする必要があります。

サーバなどの状況で500件までは納得いけますが
再ログインだとかなり不便ですので、修正して頂けるとありがたいです。

ここに参考しました。
https://bbs.okasan-online.co.jp/ont/rss/board/?topic_id=93

これで解決しました。

2019年05月27日

クマ

例1.jpg (92.7KB)

小笠原聖史様

早速のご返信ありがとうございます。
開く時見れますが、更新すると #NAME? と表示されていて

QAに参考すると 'F:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\岡三RSS.xla'! を削除しました。

そうすると N/A が表示されています。

小笠原聖史様には表示されますのでこれで私だけの問題
と分かりました。ありがとうございます。

添付した画像は私のパソコンからの画像です。

2019年05月25日

小笠原聖史

コピーtosho_stock _send.xlsx (19.3KB)

クマ様
ちょっと整理してみましたので、
添付ファイルをお試しいただけますでしょうか?

小笠原聖史

2019年05月25日

RSSユーザー

呼び値の単位についてです。

お世話になっております。
現在、買指値は現在値+20円(成行買いでは余力不足になりかねないため)、売りは成売りで設定しています。
今後は売り設定で指値にしたいのですが(成売りではロットが大きくなると思わぬ下の買い板までいってしまうため)、呼び値の単位で設定する必要があります(5円、0.1円等))、銘柄詳細情報には呼び値単位の項目はないのですが、どうしたらよいでしょうかお教え下さい。

2021年03月09日

RSSユーザー

ありがとうございました。

2021年03月15日

大野 了

こんにちは!!

今やってみたのですが、確かに呼値取れないですね・・・
取れると便利そうなのに・・・

JPXから抵抗されている表に照らし合わせて、
自分で判断するしかないかもです・・・

https://www.jpx.co.jp/equities/trading/domestic/07.html

2021年03月09日

山本

VBAによる四本値の取得の仕方について

国内株式で5MAの傾きが3日連続下向きの銘柄を抽出したい場合の質問です。
VBAで直接四本値を取得できないと伺っており、いったんエクセルのセルに四本値を出力し、それをVBAで読み取り、5MAを計算させて、傾きを判定し、抽出するシステムを作成したのですが、VBAの処理が速すぎ、エクセルのセルに四本値を表示する前に次の銘柄をの四本値を取り込みに行ってしまい、うまくいきません。
DOEVENT関数で処理を遅らせたりもしたのですが、駄目でした。
このようなことをしたい場合、どのようなやり方をすればよろしいのでしょうか。
ご教授をお願いいたします。

2021年03月06日

大野 了

繰り返し取得.xlsx (23.7KB)

山本さん、こんにちは!!

なるほど!!
いろいろと理解できましたー!!

FOR NEXTで35000回ループでも、とりあえず大丈夫と思うのですが、
このやり方だと、CANDLE関数の取得が早く終わったとしても、
35000回無駄に回らないといけないですし、
逆に何かの理由でCANDLE関数の応答が遅かった場合、
35000回では足らない場合が出てくると思います!!

一番いいのは、CANDLE関数が取得することを判断して、
CANDLE関数が取得中のみVBA内で待ってあげるのがよいと思います。

言葉で説明する自信がなかったので(笑)、サンプルPGを作ってみました。
添付したファイルのVBAの中の『WaitForGetCandleData』という関数が
CANDLE関数の応答を待つ関数となります!!

簡単に中身を説明しますと・・・
〇G2~G4が取得したい銘柄コードのリスト
〇H2がCANDLE関数が観に行く銘柄コード
〇A1~E1に実際のCANDLE関数がされている
〇始値取得のボタンを押下すると、取得銘柄コードリストに指定されている銘柄の
 始値をK列に表示する。

VBAの動きとしては、簡単で
1.K列の初期化
2.取得したい銘柄コードの分だけ以下の処理を繰り返す
  2-1.CANDLE関数が観に行くH2に取得したい銘柄コードを指定
  2-2.CANDLE関数の出力先の初期化
  2-3.CANDLE関数が出力されるまで、永久に待機(笑
  2-4.CANDLE関数が出力されたら、始値をK列に転記

という流れになります。

これだと、CANDLE関数が取得できた瞬間にその銘柄の判断処理が実行できますし
逆にCANDLE関数の応答が遅い場合でも、取得できるまで最短で待ち続けます。

注意点としては、CANDLE関数の応答を最大何秒待つという処理は入れていないので、
もし何かの拍子でCANDLE関数の応答が返ってこない場合、永久に待ち続けてしまいます。

DoEventsを使用しているため、もしかしたら山本さんの他のコードに影響があるかもしれませんが
ご参考になれば幸いです!!

※ここにxlsmが上げれないので、拡張子をxlsxに変えています。
※ファイルをダウンロードされた後は、拡張子をxlsmに変更してファイルを開いてください。

2021年03月07日

山本

大野様
私の拙い説明を理解していただきありがとうございます。

FOR NEXTでなく Do While LOOPで待機するということですね。
確かに35000回が妥当かどうか判断しかねるところで、こちらのやり方のほうが無駄がありませんね。
やってみます、ありがとうございました。

※岡三RSSで個別銘柄を一定の条件でスクリーニングすることは特別なことではないと思っていて、決まったやり方が確立していると思っていました。

2021年03月07日

大野 了

山本さん

上手く行きましたか!!
それはよかったです!!

とはいえ、処理速度とか言われると・・・
最速を目指したくなりますね・・・(笑

2021年03月07日

山本

大野様
早速やってみました。
日経225の225社のスクリーニングの時間を測定したところ
FOR NEXT 35000回--10分27秒
Do While LOOP--7分37秒
格段に速くなっていました。
ちなみに抽出結果は同じでした。
これで次のステップに進めます。
ありがとうございました。

2021年03月07日

大野 了

山本さん

確かに言われてみると、
スクリーニングはよくするので、
定石のようなやり方があってもよさそうですね・・・

なにはともあれ、お役に立てて幸いです!!

もし不明な点がございましたら、再度返信いただけますと幸いです!!

2021年03月07日

山本

大野様
お世話になります。

質問が分かりにくくてすみません。
私の意図していたのは、3の四本値が更新された時、エクセルのセルに四本値が表示され、その表示された4本値を4のVBAで読み取るというものでした。
しかし実際はエクセルの処理が遅いため、セルに表示される前に4.が実行されてしまいます。
昨夜時点での質問は以上でした。
ただ昨夜この質問をさせていただいた後に、3と4の間にFOR NEXTで35000回DoEvents関数をループさせればうまくいくことが分かりました。
ただし検索する銘柄数がかなり多く、時間も要するので、もっとスマートなやり方があればご教授願います。
あと四本値をエクセルを介さず直接VBAに取り込むのは無理なことでしょうか。(これができれば一番良いように思います)

2021年03月06日

大野 了

山本さん、こんにちは!!

どの部分が速すぎるのかいまいち想像できなかったので、
どのような動きをするか整理させてください!!

1.CANDLE関数はセルに事前に書いておく
2.VBAで取得したい銘柄のコードを、CANDLE関数の第一引数が指定されているセルに書き込む
3.4本値が更新される
4.VBAで更新された4本値を取得しに行く
5.次の銘柄コードを、CANDLE関数の第一引数が指定されているセルに書き込む
6.4本値が更新される
7.VBAで更新された4本値を取得しに行く

というような動きをしたい際に、4と7の処理が速すぎて、
取得できないという事でしょうかー?

2021年03月06日

勉強中の入門者

新規信用建て未約定分のキャンセル方法について

はじめまして。VBA、エクセル、RSS、トレード、いずれもまだ勉強中の入門者です。今は注文関数なしで、値動きを見て売買サインを出すところまでのテストの段階です。これにVBAにてmarginorder関数をセルに設定する部分を追加し信用売買を行いたいのですが、分からない部分があるので質問させて下さい。marginorder(成行指定)実行後、もし未約定が出た場合、ある基準(価格や経過時間等)を超えたら、その未約定分だけをキャンセルしたいのですが、可能でしょうか。単純にordercancelに新規建て注文時の注文番号を指定するだけで良いのでしょうか。成行きなので未約定が出ることは考えなくて良いでしょうか。質問がおかしいかもしれませんがよろしくお願い致します。

2020年10月08日

勉強中の入門者

素早く、しかも明快なご回答有難うございます。また何かございましたら質問させて頂きます。よろしくお願い致します。

2020年10月08日

大野 了

勉強中の入門者さん、こんにちは!!

はい、勉強中の入門者さんのおっしゃられます通り、
未約定分のキャンセルは、ORDERCANCEL関数で大丈夫です。
またやり方も、MARGINORDERの注文番号を入れてあげる形で大丈夫です!!

成行でも約定しないことはあると思うので、
※ほぼ無いと思いますが・・・
時間でキャンセル入れてると確かに安心ですねーっ!!

2020年10月08日

RSSユーザー

初歩のプログラミングについてです

エクセルが開いている時、
1 ExcelObj = GETACTIVEOLEOBJ("Excel.Application")
2 ExcelObj.Run("Macro1")
でMacro1が動くのですが、エクセルが閉じている時にこれをやると、エラーとなります。
1,2の命令分に何かしらを加えて、「エクセルが開いている時はMacro1が動くが、エクセルが開いていない時はMacro1は動かない」という命令文にしてエラーが出ないようにしたいのですがお教えください。上記の命令文はUWSCにて作動させています。

2019年07月02日

Ryo Ohno

RSSユーザさん

上手くいきましたか!!よかったです!!
また、副産物もあったみたいで、ダブルで良かったですね

お役に立てて、幸いです。

2019年07月05日

RSSユーザー

Ryoさま
tryの文を入れると、エクセルが立ち上がっていなくても、エラー表示が出ませんでした。ありがとうございました。それと、uwscのマークがタスクバーの中にかくれていても作動することを初めて知りました。すごくラッキーです。

2019年07月04日

Ryo Ohno

こんにちは!!

UWSC懐かしいですねー

確かに、GetActiveOLEObjectは
Excelが立ち上がっていないと確かにエラーになりますので、
以下の様に、Tryで例外処理をしてあげると、大丈夫と思います。

try
ExcelObj = GETACTIVEOLEOBJ("Excel.Application")
ExcelObj.Run("Macro1")
except
exit
endtry

2019年07月02日

RSSユーザー

現物買いのプログラムについてです。

現物の売買プログラムをエクセル2016で作ったのですが、同じ銘柄の1日の売買を買いが1回、売りが1回にしたいです。余力金がない場合は同じ銘柄の1日の売買はそれぞれ1回と強制的になるのですが余力金がある場合はどのようにしたらよいでしょうか、お教えください。

2019年07月18日

大野 了

お役に立てて幸いです。
もし何かありましたら、またお尋ね頂けますと幸いです!!

2019年07月19日

RSSユーザー

ORDQUERYに表示されたコードの有無を買い条件に入れて作ってみます。ありがとうございました。

2019年07月19日

大野 了

RSSユーザさん、こんにちは

こちらは、

ひとつの銘柄の売買を1日一回としたいが
現状シグナルが出るたびに発注がされてしまう。
この時、余力が無い場合であれば、余力不足で2回目以降の発注がキャンセルされるが
余力が残っていると、2回目以降も発注されてしまう

ということでよろしいでしょうか?

発注のシグナルをどのように処理しているかわからないため、
なんとも言えませんが、
シグナルが出た時に、時系列で事前のシグナルが出ていないかの条件を追加するか
もし、時系列的に過去のシグナルを判断するのが難しい場合は
今から発注を行おうとしている銘柄が、すでに発注されていないか
ORDQUERYの結果で確認するのがよいと思います!!

2019年07月18日

RSSユーザー

エクセルVBAエラー 実行時エラー'28' についてです。

エラー.xlsx (8.9KB)

お世話になっております。
上記のとおり添付ファイルのようなVBAで実行するとエラー

実行時エラー'28'
スタック領域が不足しています。

が出てしまいます。VBA自体は以前、大野様にエクセルのセル値でマクロ実行を教えてまらったものです。(シートのコード表示を出して貼り付けたもの)
3種の命令は無理なのでしょうか、お教えください。

2024年01月30日

大野 了

RSSユーザさん、こんにちは!!

なるほど、そういうことだったんですね。
また、何かありましたらご連絡いただけますと幸いです!!

2024年01月31日

RSSユーザー

もともと、このマクロはボタンを付けて手動で行っていたものなのですが(手動だと完璧に動く)、自動だと楽かなと思い作りました。しばらくは手動で行い先ほどのShell関数をくっつけてみようと思います。ありがとうございました!

2024年01月31日

大野 了

RSSユーザさん、こんにちは!!

そうですね。
スタック領域不足のエラーは繰り返しが起きるタイミングや条件によって異なるので、
なかなか難しいですね。

簡単にわかるケースもあるのですが、毎回起きるわけではないという事ですと、
マクロの中で自身のマクロを読んでしまう経路、もしくはイベントが繰り返し起きてしまう可能性がないかを
コードベースで追っかけて行くしかないと思われます。


>エクセルのa1=1の時にuwscのスクリプト実行なんて出来ないものでしょうか、
こちらはShell関数を使用することで、uwscのスクリプトは実行可能です。
丁度良いサイトがありましたのでリンクを張っておきます!!
参考になれば幸いです!!

https://ktpcschool.hamazo.tv/e7326091.html

2024年01月31日

RSSユーザー

どうも、出来たりエラーになったりです、
今更ながらなのですが、エクセルのa1=1の時にuwscのスクリプト実行なんて出来ないものでしょうか、最悪一分おきのスケジュールでやるかなあと思っています。

2024年01月31日

大野 了

RSSユーザさん、こんにちは!!

添付いただいたExcelのコード自体はエラーにならないようです。

エラーが『スタック領域の不足エラー』ですので、
このソースの中で呼ばれている"新規買"、"新規売"、"返済"のマクロが再起呼び出し(自分自身を何度も呼ぶような呼び方)
陥ってるのではないかと思われます!!

残念ながら、添付いただきましたソースだけでは原因の特定が難しい感じです。
"新規買"、"新規売"、"返済"のマクロが繰り返し呼ばれていないかを、ご確認いただけますと幸いです!!

2024年01月30日

RSSユーザー

RSSのシステムメンテナンス翌日の起動についてです

毎朝7時にPCの再起動をスタートアップスケジュールで行い、RSSの設定は「Windowsの起動と同時に開始する」にて行っています。平日はなんともないのですが、日曜に御社のシステムメンテナンス中ですとメッセージジが出る時の翌日はRSSシステム接続が上手くいきません。自動でシステムメンテナンス中のメッセージを消す方法とかあるでしょうか、お教えください。

2019年07月22日

大野 了

なるほど!!
メンテ中のメッセージを出しっぱなしでPCを再起動すると、
RSSが繋がらなくなるってことですね・・・
なので自動でメッセージを終了させたいと・・・

残念ながら、メッセージを出したままでPCを再起動したことがないので、
ノウハウがないのですが・・・
※今度、どこかでやってみます。

手としては、終了する前に岡三RSSを終了させるか
RSSユーザさんの言われる通りにメッセージを停止するのが一番だと思いました。

岡三RSSを終了させるには、昔同様の質問を受けましたので、
こちらの掲示板の検索で『岡三RSSを自動でオフオンしたい』で検索すると出てきたスレッドの内容を見て頂けますと幸いです。

また、メッセージを自動で削除する方法ですと、
UWSCなどの自動化ツールを使って消すのが一番手っ取り早いと思います。

Vecterで引っかかったやつを適当に上げまーす。

UWSC
https://www.vector.co.jp/soft/winnt/util/se115105.html?_ga=2.135023153.188848950.1564112343-2098402272.1562035917

TitleKiller
https://www.vector.co.jp/soft/win95/util/se109681.html?_ga=2.134171150.188848950.1564112343-2098402272.1562035917

close
https://www.vector.co.jp/soft/win95/util/se250716.html?_ga=2.134171150.188848950.1564112343-2098402272.1562035917

UWSC以外は使ったことはありませんが、閉じるだけならこっちの方が簡単かも入れません。
ご参考になれば幸いです!!

2019年07月26日

RSSユーザー

ありがとうございました。やってみます。

2019年08月01日

大野 了

もうすでに、UWSCを使われているんですねー

ウィンドウは以下のスクリプトで消すことができます。
GETIDにウィンドウの名前を指定し、そのIDをとってきて、
CtrlWinで感じになります。

target = GETID("ログイン履歴")
CtrlWin(target, CLOSE)

RSSのシステムメンテの画面は任意では出せないので、
ウインドウの名前がわかりませんが、
システムメンテのウィンドウを出して、その一番上に名前が出ているはずなので、
そこを指定指定すれば大丈夫と思います。

2019年07月29日

RSSユーザー

すみません。UWSCを使っています。これでRSSのシステムメンテとログイン履歴のメッセージを消すスクリプトをお教えください。

2019年07月28日

RSSユーザー

すいません、PS2台でRSSに接続しているのですが、1台は日曜の夜弊社メンテが終わっている時手動でメンテメッセージを消して再起動しておきました、もう1台はなにもせつずに放置しておきました、放置しておいたPCがRSSに接続できませんでした。2台とも再起動はちゃんとうごいています。

2019年07月25日

大野 了

こんにちは!!

こちらは月曜日の7時の再起動後に接続できなくなるってことでしょうかー?
そもそも、PCの再起動が上手くいかないということでしょうかー?

日曜日にメンテがあった翌月曜日に接続できなかった事は、
今のところないのですが、メンテナンス中のメッセージを消したいということは、
月業日もこのメッセージが出ているって感じでしょうか?

もう少し情報を頂けますと、何かわかるかもしれません!!

2019年07月24日

knightgiri

岡三RSSが立ち上がらなくなった

アプリを立ち上げると、ホストとの通信状態をあらわすウィンドウはでるのですが・・・・その後、うんともすんともいいません。

タスクマネージャーをみても岡三RSSが稼働していないようです。

従来は動いていたのに、ある日から突然です。困ってます。ちなみに岡三ネットトレーダープレミアムは普通に稼働しています。

OSはwindows10です。ひょっとしたらwindows Defenderファイアウォールが通信を遮断してしまっているせいかもしれないと思ったのですが、どのアプリを許可設定したらいいのかわかりません。

どなたか同様な症状で解決した方いたらアドバイスお願いします。

2019年07月12日

knightgiri

解決できました!

①従来から共有されている/user/appdata/local/ 以下のAppsフォルダの削除に加えて
②local/Okasan Online Securities Co.,Ltd/ 以下にある
 OKASAN RSS と RSS2 フォルダも消してください。
(かなり乱暴だと思いますが・・・・)
その後に改めてインストールしなおすと見事に
アプリが立ち上がりました。理由はわかりません。

2019年07月12日

イーサン

「発注不可設定になっています」と表示されてしまいます。

設定画面.png (34.9KB)

こんにちは。

サンプルシートの「09_資産管理 兼 利益・損失確定シート.xlsm」
を使って、現物保有株の売却をしようとしたのですが、
画面右下に「発注不可設定になっています」と表示されてしまいました。

これはどのように対策すればよいのでしょうか?
(すみませんが、画面ショットが取れませんでした)

また、岡三RSSの設定項目に
「エクセルの注文可・不可状態を維持する」
がありますが、これはどのように使う項目なのでしょうか?
(添付ファイル参照ください)

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

2019年10月16日

イーサン

度々ですみません。

自己解決しました。

発注不可設定になっているのは、Excelのアドインツールバーにある、注文可能ボタンが注文不可状態になっていたためでした。

また、「エクセルの注文可・不可状態を維持する」については、この注文可能ボタンの状態を維持することなのですね。

よく調べずに投稿してしまい、どうもすみませんでした。

2019年10月16日

イーサン

注文エラー.png (5.0KB)

度々ですみません。

「発注不可設定になっています」の画面ショットが取れましたので
添付します。

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

2019年10月16日

RSSユーザー

2019excel RSSの対応について

現状アドインとして認識されません

2019年07月29日

岡三オンライン証券

RSSユーザーさま

岡三オンライン証券です。

情報を共有できておらず、大変失礼いたしました。

Excel2019の動作推奨環境への対応の際は、「岡三RSS集いの広場」などでのご案内を予定しております。

いましばらくお待ちください。

今後ともご愛顧賜りますようお願い申し上げます。

2019年08月07日

RSSユーザー


岡三オンライン証券様

コールセンター窓口で今回の回答が欲しかったです。


               岡三RSS 1ユーザーより


2019年08月06日

大野 了

チェックついてませんでしたか・・・
ダメ元ですが、ダメだったですね(^^;

少しでも早く対応してくれることを祈るしかないですね・・・

2019年08月05日

RSSユーザー



大野 了様

遅れまして申し訳ございません。
ご指示いただきました、二点について確認しましたところチェックは入っていませんでした。

ありがとうございました。

2019年08月04日

岡三オンライン証券

RSSユーザーさま

岡三オンライン証券です。

岡三RSSをご利用いただき、誠にありがとうございます。
また、Excel2019への対応におきましてはご面倒をお掛けし、申し訳ございません。

現在、Excel2019の動作推奨環境への対応につきまして準備を進めております。

いましばらくお待ちくださいますようお願い申しあげます。

2019年08月02日

大野 了

まぢですか・・・
2019で動かないとは・・・
これは対応してほしいですね!!

『岡三RSS2は正式なアドインとして認められません』
このメッセージが少し気になってて・・・

ダメ元ですが・・・
もしかしたらセキュリティで止まっているかもです。

手元に、2019がないので、同じルートかわかりませんが

ファイルーオプションーセキュリティセンタ(左のタブ)ーセキュリティセンター(ボタン)-アドイン(左のタブ)
ここの
『アプリケーション アドインに対し、信頼できる発行元の署名を必須にする』

『署名されていないアドインに関する通知を無効にする』
にチェックが入っていませんでしょうか?

岡三RSSのアドインには電子署名がついていなので(というかほとんどのアドインにはついていないので)
ここにチェックを入れると岡三RSSのアドインが上がってこなくなります。

2019年08月01日

RSSユーザー


いろいろありがとうございます。

デスクトップアプリで2019は問題なく動いています。
岡三RSS2は正式なアドインとして認められませんとコメントがでます。
岡三オンラインさんのお話では現状対応してませんとのことです。
2019へのバージョンアップはご注意ください。

2019年08月01日

大野 了

こんにちは!!

Excel2019で動かないんですか・・・
2019で動かした実績はないのですが、アドイン周りはほとんど変わっていないので、
例えばストアアプリ版のExcelが入っているなど、
https://www.okasan-online.co.jp/ont/rss/platform/attention.html

もしかしたら別の理由かもしれません・・・

どのようなところでエラーがでますでしょうか?
2019で動かないならしかたないのですが、
たまにインストールが上手くいかないことがあるので、もしかしたら・・・

2019年08月01日

イーサン

サンプルシート「資産管理 兼 利益・損失確定シート」の使い方について

いつもお世話になっております。

岡三RSSのサンプルシートのページに掲載の「岡三RSS冊子「Excelで始める最強トレードガイド」掲載サンプルシート」にある「09_trailorder.xlsm」(資産管理 兼 利益・損失確定シート)について質問です。

【質問1】直下のセルに「1」を値のみ貼り付けについて
このシートの12行目の「発動フラグ」の説明文として「「現在値≧トレール発動水準」でフラグ「1」が立ち、直下のセルに「1」を値のみ貼り付け」とあります。
説明部分の前半は理解できるのですが、「直下のセルに「1」を値のみ貼り付け」との記載があるのですが、計算がみあたらず、どうやって1を貼り付けているかがわかりません。

【質問2】保存フラグの使い方について

また、保存フラグが13行目、17行目、20行目にありますが、これらの保存フラグはどのように使うのでしょうか?

すみませんがよろしくおねがいいたします。

イーサン

2019年07月30日

大野 了

イーサンさん、こんばんは!!

お役に立ててよかったです!!

素敵な岡三RSSライフになりますように!!(笑

2019年08月05日

イーサン

大野さん、こんにちは

質問が多いにもかかわらず丁寧に説明いただきありがとうございました!

おかげさまで理解できました。

どうもありがとうございました!

2019年08月05日

大野 了

イーサンさん、こんばんはー!!


>【質問3】
>24行目の「発注待ち」の文字列はどのような仕組みで表示しているのでしょうか?Excelの関数でもVBAの関数でも見当たりませんでした。
こちらは、NEWORDERが返しています。
岡三RSSが発注可能状態になっていない時などに発注関数が動くと、
証券会社まで発注ができないため『発注待ち』と表示されます!!


>【質問4】
>「発注待ち」と「待機中」はなにが違うのでしょうか?
> ・「発注待ち」はその名の通り発注待ち
> ・「待機中」は、発注した注文が約定されるのを待っている
> の理解で合って会っていますでしょうか?
『発注待ち』は、トレール的には決済のシグナルが出たんですが、岡三RSS側で発注が出来なかった場合
『待機中』はトレールの決済発注がされていない時(トレール未発動時も)に出るようです。


>【質問5】
> 本サンプルシートのトレール注文では、トレール発動したあと、利益を伸ばすために、株価上昇に連動してトレール決済水準を変更する機能を実現していると理解していますが、合っていますでしょうか?
>当方の理解が合っている場合、トレール決済水準の変更はREPLACEORDERで変更するのかと思ったのですが、NEWORDERでできるのでしょうか?

はい、イーサンさんのおっしゃられる通りと思います。
トレール発動後、高値に合わせて、トレール決済水準が上がっていって、
その後、決済水準まで価格が下がったら決済発注になってます。

トレール決済の発注は、トレール発動水準に達した際に行っているのではなく、
価格が落ちてくるまで発注を行っていないようです。
なので、REPLACEORDER関数での指値の変更は不要と・・・


このシートの具体的な動きとしては、

前提:対象銘柄を保有している
1.トレール発動水準より現在価格が上がる
2.トレール発動(13行目の保存フラグに1が立つ)
3.高値が切りあがる(やったー)に連れ、15行目のトレール決済水準(高値-トレール幅)が切りあがっていく
4.価格が落ちてきて、トレール決済水準を下回る
5.決済注文(NEWORDER)が動いて決済

という流れっぽいです。

自分が作ってるわけではないので、間違っていたらすみません・・・(^^;

2019年08月02日

イーサン

大野さん、こんにちは。

いつも丁寧な回答をありがとうございます。

質問1については、ファイルをよく見ておらずすみませんでした。
確かに、ワークシート関数に記載がありました。

質問2については、おかげさまで少しずつ理解が進みました。ありがとうございます!

さて、追加の質問になり恐れ入りますがご教示いただけますでしょうか。

【質問3】
24行目の「発注待ち」の文字列はどのような仕組みで表示しているのでしょうか?Excelの関数でもVBAの関数でも見当たりませんでした。

【質問4】
「発注待ち」と「待機中」はなにが違うのでしょうか?
 ・「発注待ち」はその名の通り発注待ち
 ・「待機中」は、発注した注文が約定されるのを待っている
 の理解で合って会っていますでしょうか?

【質問5】
 本サンプルシートのトレール注文では、トレール発動したあと、利益を伸ばすために、株価上昇に連動してトレール決済水準を変更する機能を実現していると理解していますが、合っていますでしょうか?
当方の理解が合っている場合、トレール決済水準の変更はREPLACEORDERで変更するのかと思ったのですが、NEWORDERでできるのでしょうか?

当方の理解が浅く、大野さんには大変お手数をおかけしますが、何卒よろしくお願いいたします。

2019年08月01日

大野 了

イーサンさん、こんにちは!!

>【質問1】直下のセルに「1」を値のみ貼り付けについて
シートを見てみたのですが、VBAで書き込んでいるみたいです。

Excelの再計算が走ったら、12行目が1なら、1を、それ以外なら現状のセルの値を維持するような
VBAが書いてありました・・・


>【質問2】保存フラグの使い方について
VBAや計算式を見てみた感じ、対象の発注が行われたかどうかのフラグのようです。
一度、対象の発注(トレール発動、トレール決済、逆指値)が行われると、
各々の保存フラグ(13行目,17行目,20行目)が建つようです。

後は発注の際に、このフラグも見て、発注を行うかどうかの判断に使っているようです。
例えば・・・
トレール決済の発注は、トレール発動の保存フラグが1であることが条件になっています!!

2019年08月01日

Masato Suzuki

NewOrder、MarginOrder関数の戻り値「制限金額オーバー」

Excel VBAからNewOrder関数、MarginOrder関数を使用して発注しているのですが、一昨日まで出来ていた発注が、昨日から戻り値に「制限金額オーバー」が返ってきており、注文できなくなっしまいました。
タスクトレイの設定画面の一回あたりの上限額設定も問題ありませんし、手動でログインして発注すると成功します。。
コールセンターに問い合わせてみたところ、RSSから送信する前のエラーであること以外はこちらでは分からないと言われ、対策がわからず困っております。。
どなたかこのような現象についての情報を少しでもお持ちの方はいらっしゃらないでしょうか。よろしくお願い致します。

2019年04月05日

小笠原聖史

Masato Suzuki様

コメント拝見いたいました。
私は経験したことのない事象なのですが、まずは、Masato Suzuki様がお使いのファイルをアップしてくだされば、私の環境で発注をかけてみる、ということをやると、原因の切り分けの一助にはなるかもしれないと思っております。
ファイルをアップロードしていただくことは可能でしょうか?
また、ほかに追加情報ございましたら、教えていただけると何かわかるかもしれません。
どうぞよろしくお願いいたします。

なお、もしVBAが含まれるファイルの場合には、ファイル名の一番後ろの.xlsmを.xlsxに書き換えていただいた上でアップロードをお願いいたします。
※拡張子を書き換えますと、「ファイルが使えなくなります」、というエクセルがメッセージを表示するのですが、ダウンロード後に.xlsmに書き換えると問題なく動作いたします。

2019年04月08日

Masato Suzuki

小笠原様

ご回答頂きありがとうございます。

他の方に依頼されて作成したファイルだったので
アップロード出来ず独自に原因を調査しておりました。

原因は逆指値時に、条件によって
NewOrder関数、MarginOrder関数の
価格に0が設定されてしまう処理に
なってしまっていた事だと判明しました。。
※発注単価には正常に設定

ご報告いたします。
ありがとうございました。

2019年04月30日

田中

岡三RSSがフリーズする件

岡三RSSを使って自動売買を始めて半年近くになりますが、ここ2,3日頻繁にRSSがフリーズ(要はロック)してしまいます。
その時はタスクマネージャーにて岡三RSSを強制的にタスク終了し、再度立ち上げれば、稼働はします。

フリーズは一日に数回あり、今までと使用環境は変更していないので、原因が分かりません。
漠然とした質問で申し訳ありませんが、何か参考になる情報等がございましたらご教示願います。

尚、インターネット環境は有線で繋いでおり、接続が切れるとか、そのような問題ではないと思われます。

2019年08月06日

大野 了

田中さんへ

この掲示板をもう一度見られるかどうかわかりませんが・・・

8月のWindowsUpdateで、VBAが止まってしまうという不具合が上がっているみたいです。
もしかすると、これ絡みでVBAが最近止まるようになってしまったのかもしれません・・・


https://forest.watch.impress.co.jp/docs/news/1201758.html

2019年08月16日

大野 了

田中さん、こんにちは!!

一日に何度も止まってしまうんですか・・・
これは厄介ですね・・・

自分の方では止まってないので、環境周りが原因とは思うのですが、
Excelも巻き込んで止まってしまう感じでしょうか?
それとも岡三RSSがだけ止まって、関数などの更新が動かなくなる感じでしょーか?

今、お伺いしている内容だと、
岡三RSSの再インストールぐらいしか対策が思いつかないのが現状です。

この2,3日だとWindowsUpdateも走ってないですし・・・

2019年08月08日

田中

コメント、ありがとうございます。

岡三RSSだけが止まり、四本値が取得できなくなります。
Excelは動いています。
またWindowsのUpdateは自動に行われないように設定し、手動で行っております。

その後いろいろ調べたところ、熱によってそのような状態になることもある(いわゆる熱暴走)らしく、USBの卓上ファンでノートPCを冷やしたところ、今のところ問題は発生しておりません。
しばらくこの状態で、様子を見てみます。
どうもありがとうございました。

2019年08月09日

大野 了

田中さん、こんばんは!!
熱暴走だったんですね・・・

なにはともあれ、解決したようでよかったです!!

2019年08月11日

イーサン

2017年8月19日に開催された岡三RSS夏期講習のサンプルシートについて

大野さん、こんにちは。

私は、2017年8月19日に開催された岡三RSS夏期講習に参加させていただきました。その節は色々と教えて頂きどうもありがとうございました。

さて、その際、プレゼンで使用された「夏期講習自動売買.xlsm」がお手元にありましたらアップしていただけるとありがたいのですが可能でしょうか?

パワポの資料を見ながら転記することも考えたのですが、パワポには乗ってないコードもある上、タイプミスを避けたいためです。

お急がしい中すみませんが、ご検討いただければ幸いです。よろしくお願いいたします。

2019年08月09日

大野 了

我を崇めよ。

冗談はさておき、少しでも参加された方の手助けになれたならよかったです!!
お陰様でキッチンで牛乳をぶちまけてしまった現実を忘れれそうです・・・w

自分が東京に住んでいれば、
気軽に『明日にでもやりましょう!!』というところなのですが・・・

何かやりたいですね。勉強会!!

2019年08月12日

イーサン

大野さん、こんにちは!

あの講習会はとってもためになりました!
有料でもよいので、また開催してくれると本当にありがたいのですが。

さて、ファイルのアップをありがとうございました。

大野さんを、「岡三RSSの神」として崇めさせていただきます!

2019年08月11日

大野 了

岡三RSS自動売買.xlsx (26.8KB)

イーサンさん、こんばんは!!

夏期講習会にご参加頂いた方だったんですね!!
ありがとうございます!!
あの時は稚拙な内容で、分かりにくかったりいろいろとしたと思いますが、
あの時のファイルを必要と言って頂けて本当にありがたいです。

ファイル名は若干違いますが、パワポに記載していますファイルを
アップします。

こちらの掲示板にはマクロ付きのファイルがあげられないため、
拡張子を『xlsx』に変更しています。
ダウンロード後、拡張子を『xlsm』に変えて頂けますと、開けると思います!!

2019年08月11日

ヒロシ

信用買いの「MARGINORDER_CL」関数をVBAのコードより行う場合

信用買いの「MARGINORDER_CL」関数をVBAのコードより行う場合、以下のコードで買い注文がうまくできません。
※item8~item25は関数の引数

Application.Run("岡三RSS.xla!MARGINORDER_CL(item8, item9, item10, item11, item12, item13, item14, item15, item16, item17, item18, item19, item20, item21, item22, item23, item24, item25)

正しい、発注用のVBAのコードを教えて下さい。
宜しくお願いします。

2024年01月17日

大野 了

ヒロシさん、こんにちは!!

『MARGINORDER_CL』はApplication.Runを使用せずVBAでそのまま実行を行うことができます。

Call MARGINORDER_CL(item8, item9, item10, item11, item12, item13, item14, item15, item16, item17, item18, item19, item20, item21, item22, item23, item24, item25)

で実行可能です!

もし、上記のコードで実行できない場合は、
別の原因が考えられますので、エラーメッセージをあげていただけますと幸いです!!

2024年01月17日

tetta

注文関数について

VBAでの自動売買を作っています、シグナルは完成したのですが
注文がうまくいきません。
下式は、どこがまずいですか?(#VALUEが戻り値)
=NEWORDER("1541","",3,0,0,1,"T","","0",0,0,"PASS","N12345")

確実に動く式が分かれば、細工はできるので
よろしくお願いします

2019年08月16日

大野 了

tettaさんこんにちは!!

#VALUEが出る場合出る場合は、引数の数が違う場合が多いです。

岡三RSSは通常版と自動発注版はどちらを使用されていますでしょうか?
通常版であれば引数が足りないと思われます。

=NEWORDER("1541","",3,0,0,1,"T","","0",0,0,"PASS","N12345","","")
とすると動くと思われます!!

2019年08月16日

tetta

できました。ありがとうございます

2019年08月17日

RSSユーザー

エクセルの特定セル値でマクロを実行させる方法についてです。

お世話になっております。VBA初心者です。エクセル2016で、表示→マクロ記録でMacro1を作ったのですが、これをシート名「買注文」のセルA1=1になったら実行させるには、どうすればよいかお教えください。

2020年10月22日

大野 了

はい、他のセルが更新されて再計算が動いても、
大丈夫と思いまーす!!

このやり方で、RSSユーザさんのシートで、
うまくいくことを祈ります!!

2020年10月22日

RSSユーザー

これで、となりでQUOTE関数の値がバンバン変わっていてもシート「買注文」のA1=1にならなければMacro1は実行されないわけですね!ほんとにありがとうございました。

2020年10月22日

大野 了

マクロ実行.xlsx (15.9KB)

なるほどー

説明するよりサンプルを作った方が早かったので、サンプルを作りましたー!!
やり方は上げて頂いたやり方とは全く違うのですが、同じことはできます。

マクロ付きファイルがアップロードできないので、拡張子を変えてあります。
ダウンロード後、拡張子をxlsmに変更して開いてください!!

2020年10月22日

RSSユーザー

すみません。これらのコードをどこに貼り付けてよいかわかりません。標準モジュールとか。

2020年10月22日

大野 了

A1は計算式なんですねー
なら、Calculateイベントでやるしかないですねー

Excelを拝見したのですが、このやり方でも大丈夫な気がしますが、
RSSユーザさんの環境ではうまくいかないという事でしょうかー?

2020年10月22日

RSSユーザー

Book1.xlsx (9.5KB)

すみません。セルA1は計算式です、いろいろ探して添付ファイルの文章を探したのですが、これをどうにかして、A1セルの退避など出来ないでしょうか、お教えください。



2020年10月22日

大野 了

こんにちは!!

A1セルをどのように更新されてるのかわかりませんが、

手打ちやVBAでセルの値を直接変更するのであれば、
「買注文」シートのChangeイベント以下のように記述すればマクロを動かすことができます!!

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row = 1 Then
If Target.Value = 1 Then Call Application.Run("Macro1")
End If
End Sub


もし、A1セルに計算式などが入っているのであれば、
「買注文」シートのCalculateイベント以下のように記述すればマクロを動かすことができます!!
しかし、この場合、A1セルは変化せずとも(ずーと1のまま)、
ほかのセルの再計算がかかった場合でも、マクロが動いてしまうのでご注意ください!!
もしマクロが動いてしまうことを避けたい場合は、
再計算の度に、A1セルを退避するなどして繰り返し動かないようにしてください!!

Private Sub Worksheet_Calculate()
If Range("A1") = 1 Then Call Application.Run("Macro1")
End Sub

2020年10月22日

RSSユーザー

銘柄の板の厚さ、前日の約定がない時間率などの調査方法について

当方岡三RSSの初心者です。QUOTE関数(あるいはCANDLE関数など、何でも良いです)を使って、一般株式の特定の銘柄の板の厚さ、あるいは、前日の約定がない時間率などは調べられるでしょうか?関数マニュアルを調べ、約50ほどある、取得項目(例としてQUOTE関数の第3引数)を調べたのですが、詳細な説明がなく、実態がわかりません。どなたかおわかりの方がおられましたら教えていただければありがたいです。

2021年08月17日

RSSユーザー

早速の回答ありがとうございました。いろいろ試してみたいと思います。ありがとうございました。

2021年08月17日

大野 了

RSSユーザさん、こんにちは!

板の厚さですが、
現在値周辺の厚さでよければ、QUOTE関数に『買気配数量』と『売気配数量』というものがありますので、
これを指定させてあげればQUOTE関数で取得することができます!!

もし、現在値周辺以外の厚みを取られたい場合は、
BOARD関数というものがあり、この関数では板全域の売りと買いの気配を取得することができます!!

また、前日に約定が無い時間率ですが、該当する項目(取引時間率や取引時間など)を調べてみたのですが、
確かになかったので、
もし計算するとすると・・・・
CANDLE関数で前日の1分足を取得し出来高の無い時間を積算して
取引時間で割るという方法でいかがでしょうか?
ちょっと大変ですが・・・

2021年08月17日

長島

同じ発注IDで連続発注(返済)される件

返済買い.JPG (119.5KB)

本日も発生したのですが、あるサインに基づいて発注が行われ、その2秒後に何故か連続して同じ発注が行われました。(もちろん発注IDは変更しておりません)
そこで1枚だけ返済しようと、添付のシートを実行したところ、今度は1枚返済された1秒後にもう1枚も返済されてしまいました。
(発注IDはどこかから持ってくるのではなく、直接入力しています)
誤動作防止のために同一発注IDでは、連続処理が行われないと認識していますが、このような動作を起こす可能性がある原因等をご教示いただければ幸いです。

2019年08月14日

大野 了

長嶋さん、こんばんは!!

アップして頂いた画像だけでは、
残念ながら新規発注が2回飛んだ理由まではわからなかったのですが、
長嶋さんがおっしゃられます通り、通常は同一の発注IDで2回は発注が走りません。

Excelを上げなおしたり、岡三RSSを上げなおししたりしておられませんでしょうか?
一応、発注IDはExcelが起動中のみ一意である必要があるため、
Excelを上げなおしたりすると、同一の発注IDでも発注が飛んでしまいます。

あまり解決にはなりませんが、ご参考になれば幸いです。

2019年08月15日

長島

コメントありがとうございます。

発注は2秒後、返済は1秒後に連続して処理がなされておりますので、再立ち上げの問題ではないと思われます。
しばらく様子を見てみます。

どうもありがとうございました。

2019年08月15日

くろ

岡三RSSがフリーズした事がある方に質問です

1日に何度も岡三RSSのデータ取り込みが止まってしまいます(エクセル自体はフリーズしていません)
色々調べると岡三RSSがフリーズする人、しない人がいるようです。PCのスペック等が影響するかとは思います。。。
そこで今まで岡三RSSがフリーズした経験のある方に質問です。
フリーズ対策としてどのような事をされたら改善できましたでしょうか?
現在自動売買システムを構築中なのですが、フリーズしたら自動の意味がなくなってしまいます。フリーズ対策も自動で行うような設定ができればと思っています。
どうぞ宜しくお願い致します。

2019年08月16日

岡三オンライン証券

とみさま

お世話になっております。

新しいトピックはトップ画面からご入力をお願いしております。

下記URL内にある「岡三RSS集いの広場に行く」をクリックし、該当する項目にある「Facebookにログインして新しいトピックを作成する」から投稿をお願いいたします。

■「岡三RSS集いの広場」ご利用にあたって
https://bbs.okasan-online.co.jp/ont/rss/board/use.html

また、こちらの下部に投稿いただいたご質問においては、こちらで消去させていただきます。

大変お手数をお掛けしますが、よろしくお願いいたします。

2021年03月16日

とみ

はじめてなので勝手がわからずすみません。
「新しいトピック」というのはトップ画面から入力するのでしょうか?
この記事の下のコメント欄に再記述しましたが、間違いのように思えてきました。

2021年03月16日

岡三オンライン証券

とみさま

いつも岡三RSSをご利用くださり、誠にありがとうございます。

また、本掲示板へのご投稿もありがとうございます。

今回のこちらのご投稿ですが、以前のスレッドへの投稿のため、大野さまが見つけることができないかと思われます。

大変お手数ではありますが、「新しいトピック」を作成いただけますでしょうか。

その際に今回投稿されたスレッドのURL(下記をご利用ください)を記載いただければ、どのスレッドの話しなのか分かるかと思います。

-------

■岡三RSSがフリーズした事がある方に質問です
https://bbs.okasan-online.co.jp/ont/rss/board/?topic_id=258&page=1#comment_1380

-------

ご面倒をお掛けしますが、よろしくお願いいたします。

2021年03月15日

とみ

大野さま
昨年の春までは、Worksheet_Calculateを使ったデータ取得VBAが問題なく動作していましたが、今年になった再度動作させると途中でとまってしまいます。確かにShell関数を使ってRSSを停止して再起動すると無事に動くことは確認できました。最初は2時間程度で停止するのですが、停止間隔が早くなり1分程度でフリーズしてしまいます。これでは、時間による判断で再起動を繰り返すのは問題が多いです。何か本質的な問題があるように思います。フリーズの原因について、もう少しコメントいただけないでしょうか?
windows10を使用していますが、昨年8月アップデートも自動でなされていてタイミング的にはこれも関わっているように思います。これを戻す方法はわかりません。

2021年03月15日

大野 了

うまくいきましたか!!
お役に立てたようでよかったです!!

2019年08月21日

くろ

大野さま

ありがとうございます!!
シミュレーションで実効性が確認できました。
あとは実際稼働で試してみてフリーズしても再立ち上げができているのか試してみます。
とても為になりました!!

2019年08月20日

大野 了

くろさん、こんにちは!!

なるほど!!
再計算の部分など、作られてる途中だったんですね!!
フラグを建てれたとの事でしたので、何かしらの処理が入ってるのかなーとばかり・・・(笑

いろいろと了解しました!!

VBAにonTimeいう関数がありこの子を使ってあげると、
マクロを定期実行することができます!!

VBAは使われている感じですので、いろいろなものをすっ飛ばして書くと・・・


標準モジュールの中に関数を一つ作り(下の例では"Macro1")
その最後にonTimeで自分自身をもう一度呼ぶとすると、
マクロの定期実行ができるようになります。

下の例ではMacro1というマクロの最後に
自分自身を2秒後に再度呼び出している感じです!!

この中で、2秒ごと(毎回)に再計算
20秒ごと(10回ごと)にフリーズ監視
で良いと思います!!


====================================
Private Sub Macro1()
Dim NextTime As Variant

'ここに監視のPGとか、再計算のロジックとか・・・

NextTime = Now + TimeValue("00:00:02")
Call Application.OnTime(NextTime, "Macro1")

End Sub
====================================

2019年08月20日

くろ

大野さま

ありがとうございます。
現在時刻の更新ですが→超アナログでF9ボタンで手動で更新しています。
(F9更新でもフラグの変更はWorksheet_Changeでは無視されてしまいます。Worksheet_Changeはあくまでセルを直接触った時のみに反応します)

岡三RSSのフリーズですが→完全に岡三RSSの更新が止まっていますWINDOWSの画面右下に出る岡三RSSのインジケーターアイコンですが、通常は右クリックすると設定だとか終了だとかの選択肢が出ると思いますが岡三RSSのアイコンは表示されていますが右クリックしても何の反応もありません。つまり岡三RSSが完全にフリーズしてしまっています。

希望の流れはこんな感じなのですが、
①再計算するマクロを走らせる
②現在時刻(now関数)とRSS時刻20秒以上間隔が空いたらフラグを立てる
③フラグを監視するマクロでフラグが立ったら岡三RSS再起動マクロを実行する


大野さまがおっしゃる通り再計算を〇秒ごとに行うマクロもそういえば必要ですね、、、(自分の無知さ加減にあきれています)
ただ、今回の再起動マクロは再計算マクロとは別サイクルで考えたいと思います。

理由は再計算は細かい頻度で行いたい(例2秒ごと)と考えております。
再計算と連動でRSSフリーズのフラグ判断してしまうと、一度フラグが立ってしまうと岡三RSSを終了して再起動している間に再び再計算が入りフラグ判断をしてRSS再起動をしてしまう、、、という無限ループに入ってしまいます。

再計算マクロもそうなのですが、〇〇秒ごとにマクロを実行する(RSS値取得を邪魔しない)という方法をご存じでしたらアドバイス頂けないでしょうか?

希望としては
・2秒ごとに再計算をするマクロを動かす
・20秒ごとにRSSフリーズ監視マクロを動かす

という感じです。

2019年08月20日

大野 了

くろさん、こんばんは!!

Shellでうまくいきましたか!!
良かったです!!


監視の件ですがー
1点質問があるのですが、現在時刻はどのようにしてExcel上更新されていますでしょうか?
もし、セル関数のNow関数を使用されているのであれば、
Excelで再計算しないと時刻の更新がかからないので、
岡三RSSの現在値時刻と20秒差がついた時にフラグを立てるために、
現在、どのようにかして再計算を定期実行されていると思われます。

監視のロジックはその処理の間に入れてあげたらよいと思います!!


また、岡三RSSはフリーズされていても、画面の値の更新はかかる感じでしょうか?
一応、Worksheet_Calculateイベントという再計算が動いた時に動くイベントがありまして、
これは岡三RSSが動いた際にでも動くイベントになります!!

岡三RSSがフリーズするって現象を、岡三RSSが完全に止まってしまって、
動かなくなると勘違いしてました・・・(^^;

ご参考になれば幸いです!!

2019年08月19日

くろ

大野さま

昨晩Worksheet_Changeなどを使ってセルの値が変更されたらフラグを判断するマクロを実行する
という事を考えたのですが、RSS等により実際にセルの値は変更されるのですが、Worksheet_Changeが機能しません。
ただし、セルに直接手打ちでフラグを入力するとマクロは作動します。もしくは全く関係ないセルを選択(ダブルクリック)して放しても作動しました。

つまりWorksheet_Change自体の構文は間違えていなのですが、RSS等による値の自動取得の場合にはWorksheet_Changeと見なされていないようで、、、
なにか岡三RSS自動取得した数値でも変化と見なしてくれるような方法はないでしょうか?

2019年08月19日

くろ

大野さま

ありがとうございます!!
Shell関数を使ってみたら実行できました。

もう一つ甘えても良いでしょうか
現在時刻とN225miniの時刻の差が20秒以上開いたらタスクを実行しようと思っています。エクセル関数で20秒以上開いたらフラグを立てることまではできたのですが、

特定のセルが変化したら(フラグが経ったら)
 →例セルA1の値が1になったら
マクロを実行するというやりかた

つまりセルの値変化し、かつその値が1ならマクロを実行というVBAを場中にずっと監視させるようにするにはどうしたら良いでしょうか?

2019年08月18日

大野 了

以前、ここの掲示板で岡三RSSを再起動方法が何かないかと聞かれたことがあって、
その時はShell関数を使用してやる方法を提案したのですが、
残念ながら自分は再起動のロジックを埋めていないので、
このやり方が安定して運用できるかまではわかりません・・・(ごめんなさい

もし、そんな方法で良ければ!!


〇RSSの起動
Call Shell("cmd /c ""C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\岡三オンライン証券\岡三RSS.appref-ms""")

〇RSSの終了
Call Shell("taskkill /im OkasanRSS2.exe /F")


これで岡三RSSの終了と起動はできると思います!!

2019年08月17日

くろ

大野さま
アドバイスありがとうございます。
私のフリーズ現象ですが実は何年も前から悩まされていまして、、、、
なるほど時間で判断ですね
VBAでRSSを再起動かけることはできますでしょうか?

2019年08月17日

大野 了

くろさん、こんばんは!!

最近、RSSが止まるって方が多いですね・・・
先日も良くフリーズするようになったという方がおられたのですが、
その方は熱暴走されていたと、ここの掲示板でおっしゃられていました。

また、もし最近発生するようになったのであれば、
2019/8月の月例アップデート(WindowsUpdate)でVBAなどが止まってしまう不具合が出ているので
それが原因になっているかもしれません。


自分は止まったことがないので、フリーズ対策はやった実績がないのですが、
もし、岡三RSSがフリーズしたのちに再起動で復活するのであれば・・・

やるとしたら・・・
ほぼ毎秒更新があるような流動性の高い銘柄の現在値時刻を表示させておいて、
その現在値時刻とPCの時間が大きくずれた場合、岡三RSSが更新ができないと判断して、
岡三RSSの再起動をやるぐらいでしょうか・・・

2019年08月16日

RSSユーザー

ストップ配分ルールについてです。

貴社のストップ高、ストップ安配分のルールが
・・・配分ルール. ストップ高、ストップ安で比例配分が行われる場合、当社基準により公平公正に配分いたします。・・・とあり他社のような具体的なルールがないのですが、注文受け付け順とか成り行き注文優先とかまったくないのでしょうか、お教えください。

2020年10月22日

RSSユーザー

すみませんでした。ありがとうございました。今後コールセンターに問い合わせます!

2020年10月22日

岡三オンライン証券

RSSユーザーさま

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

ストップにおける配分ルールは以下の通りとなっております。

<Q&Aより抜粋>
Q
日本株取引で比例配分(ストップ配分)が行われる場合、どのように配分されますか。

A
ストップ高、ストップ安で比例配分が行われる場合、当社基準(1.価格優先、2.時間優先等)により配分いたします。

https://www.okasan-online.co.jp/qa/detail/199

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

なお、こちらの掲示板は岡三RSSに関する内容での投稿にてお願いしております。

今回のようなご質問につきましては、コールセンターへお問い合わせくださいますようお願い申し上げます。

https://www.okasan-online.co.jp/support/

2020年10月22日

RSSユーザー

ログイン履歴のメッセージの非表示についてです。

インターネットが切断された後、再接続するとその都度「ログイン履歴」というメッセージが表示されますが、これを表示させない方法はありますか、お教えください。。

2019年08月20日

大野 了

そういうことだったんですねー

自分も出張などで週末をまたいで上げっぱなしの時があるんですが、
その時は岡三RSSのサーバーに繋げずログイン履歴のWindowが出っぱなしですが、
その後も問題なく月曜日に取引できている実績があるので、
岡三RSS的には大丈夫と思います!!

2019年08月21日

RSSユーザー

RSSの設定でログイン履歴の非表示という項目はないのですね、わかりました。朝7時にPCの再起動が設定されているのでこの表示は必ず出ているのですが、7時30分にエクセルの起動設定の為、上塗りのようにログイン履歴は隠されている状態です。今はUWSCのスクリプトにて操作しているので問題はありません。以前はUWSCの録画で操作していたので一番表にこの表示が出ると誤作動していました。そのままにしておきます。ありがとうございました。

2019年08月21日

大野 了

こんにちは!!

ログイン履歴を表示させないようにすることは確かできなかったと思います。
出っぱなしでも問題はないと思いますが、
もし何かしたら問題があるのでしたら、
UWSCなどのツールかVBAでメッセージを消してあげる必要があります。

以前も同じようなご質問があり、消し方などを質問されたことがありましたので
以下のリンクを参考にして頂けますと幸いです。

https://bbs.okasan-online.co.jp/ont/rss/board/?topic_id=250


もし、リンクが飛ばない場合は、以下のワードで検索すると出てくると思います。
"RSSのシステムメンテナンス翌日の起動についてです"

2019年08月20日

マサ

さや取りをしたい。注文方法は?

さや取りの自動売買を考えて夢見て、岡三RSSに首を突っ込もうとしている者です。ただしマクロどころかエクセル関数も初心者なので、とこまでやれるかは疑問です。
 とりあえず、鞘取り注文の関数の作成を試みました。
例として「日経225ラージがミニよりも100円高ければラージ売り」という関数です(実際にありそうもないですが)。

先物サンプル注文シート(更新日:2018年11月08日) に
新規発注、注文待ちの箇所、B2に以下の関数があります。
=fneworder(C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22) →これは長いのでfneworder(C5からC22)と略します。
これを参考に下記の式を考えました。

=IF(★>=100,fneworder(C5からC22),"注文待ち")
★の部分はラージとミニの価格差を表示しているセル内の数字です。

自分としては「100円以上になったら注文する」という式のつもりです。

質問は以下の三つです。
1.この式で良いのか
2.「C11 執行条件、C 21発注条件」の違いは何か
3.C11,C21はどちらも「12成行」で良いのか

どなたか教えていただきませんか。

2019年08月17日

大野 了

まささん、こんにちは!!

うまくいきましたか!よかったです!!

先物はJ-GATEになってからFOKとかいろんな取引方法が増えて、
複雑になりましたね・・・
自分も変わった瞬間は全くわけがわからなかったです(笑

岡三RSSは複雑なことをしようとするといろいろと大変になりますが、
簡単なやり方でできる場合は、ほんと簡単ですよねー

今後の拡張もうまくいくことを祈っています!!

2019年08月22日

マサ

ありがとうございます。
なんだか,つまらないところで、うまくゆかず、連絡が遅れました。
ちゃんとやれました。こんなに簡単でいいのかな、という気持になりました。
FOK,FAK,最大指値、どの言葉も知りませんでしたが、違いを知りました。(当分最小単位で練習しまうので今は必要ないようですが)
ただ、ここからが大変なんでしょかね。
登山口までロープウェイ(テンプレート)で登って感激しているだけのようにも思います。
当面は朝、一単位だけ仕込んで、できていれば夜、手仕舞する
という実践練習と、マクロに何が書いてあるのかが漠然と分かるといった勉強を始めようと考えています。
これからもよろしくお願いします。


 
 

2019年08月22日

大野 了

マサさん、こんばんは!!

>1.この式で良いのか
はい、この式で価格差が100を超えた場合、発注がかかると思います!!


>2.「C11 執行条件、C 21発注条件」の違いは何か
C11は通常発注の執行条件で、
C21は逆指値を踏んだ時の執行条件となります。
逆指値での発注を行わない時は、C21は空白で大丈夫です!!


>3.C11,C21はどちらも「12成行」で良いのか
こちらは、成行がFOKとFAKどちらが良いかという意味になりますでしょうか?
どの発注も一長一短があるので、
個人的には、成行よりも最大指値の方が確実でよいと思います。
多少滑っても、片張りになってしまうのよりも良いので・・・

また新規発注であれば、C21は空白にする必要があります!!


以上、ご参考になれば幸いです!!

2019年08月19日

イーサン

岡三RSSへの同時ログイン可能数は2つでしょうか?増やす方法はありますでしょうか?

こんにちは。いつもお世話になっております。

岡三RSSへの同時ログイン可能数は2でしょうか?

だとした場合、これを増やす方法はありますでしょうか?
(オプションで申し込みができればよいのですが)

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

2019年10月25日

イーサン

大野さん

いつも本当にありがとうございます。

一台のPCでの同時ログインができないとのこと、承知しました。
同時に別のPCを使って、ログイン可能数を試してみましたが
やはり、1つの口座で2台までのようですね。

どうもありがとうございました。

2019年10月25日

大野 了

イーサンさん、こんにちは!!

同時ログインの件ですが、別PCだと同時ログインは可能ですが、
残念ながら、一台のPCでの同時ログインはできません。

PCが別だと同時ログインができますので、
少しお金がかかってしまいますが、PCを2台用意したり
仮想環境と呼ばれる、PCの中に仮想的な別のPCを用意することで、
同時にログインができまーす。

2019年10月25日

RSSユーザー

エクセルの自動マクロ記録についてです。

お世話になっております。いつもはエクセルのマクロを表示→マクロ記録で自動で記録しているのですが、今これを使うとめちゃくちゃなプログラムコードを記録するようになってしまいました。幸い簡単なプログラムコードだったので、手動で作りましたが、今後複雑なプログラムのとき面倒になりそうです。なぜこのようになったのかお分かりになりますか、また正常な自動記録になおすにはどのようにすればよいでしょうか、お教えください。

2021年06月19日

大野 了

RSSユーザーさん、こんにちは!!

なるほどー!!
確かにそれは影響がありそうですねー

なにはともあれ解決されたようでよかったです!!

2021年06月22日

RSSユーザー

お世話になっております。今のエクセルファイルは開くと自動的に時計が動くプログラムが組まれているのですが、そのプログラムを停止してからだとうまく自動記録が出来ました。たぶんこのせいだと思います、お騒がせしました!

2021年06月22日

大野 了

RSSユーザーさん、こんにちは!!

マクロの自動記録自体の動きを変えるオプションはなかったように思いますので、
残念ながら記録時の操作のやり方を変えてみるとかしかないと思われます。

Excelは裏でアップデートが掛かり続けているので、たまに動きが変わることは考えられると思います。

2021年06月20日

イーサン

岡三RSSを自動でログアウト・終了・起動・ログインする方法が知りたいです。

岡三RSSを自動でログアウト・終了する方法が知りたいです。

いつもお世話になっております。

Excel+VBAの環境でRANKING関数やQUOTE関数を使って
銘柄情報を取得するプログラムを作っています。

起動してから数分間は情報が返ってくるのですが、その後
しばらくすると岡三RSSから情報が返ってこなくなります。

掲示板を色々と調べてみたところ、下記の状況と同じようです。

-----------------------------------------------------------
https://bbs.okasan-online.co.jp/ont/rss/board/?topic_id=93
-----------------------------------------------------------

(概略)情報を500件取得したあとは、ブックを閉じてログアウト
する。その後、1分ほど待ってから、再度ログインする)

解決策としては、「UWSCやタスクスケジューラを使う」とあるのですが、岡三RSSの
 1.ログアウト
 2.終了
 3.起動
 4.ログイン(このとき、ユーザIDとパスワードが入っていない場合は自動で入れる)
は、具体的にはどのようにすればできるのでしょうか?

一部でもよいので、サンプルがあればご提供いただけると
ありがたいです。
UWSC、タスクスケジューラ、VBAのいずれでも結構です。

なお、岡三RSSをVBAから終了・起動する方法は分かっています。
(shell関数でcmd,taskkillを使っています)

岡三RSSのログアウトとログインの方法がわからなくて困っています。

おいそがしい中すみませんが、何卒よろしくお願いいたします。

2019年08月27日

大野 了

イーサンさん、こんにちは!!


>自動ログインにはチェックを入れているのですが、VBAから
>岡三RSSの停止・起動を繰り返しているといつの間にか
>チェックが消えてしまうことがあります(?)
そうなんですね・・・
ちなみに手動でログアウトすると、なぜかチェックが外れてしまいますw
もしかしたら同じような現象なのかもですね・・・

もし、パスワードだけが抜けてしまうような場合であれば・・・

UWSCで以下のようなスクリプトを書いてあげることにより、
パスワードのテキストにパスワードを入れて、ログインすることができます

===============================
WindowHandle = GETID("ログイン","HwndWrapper")
SENDSTR(WindowHandle,"password",2, true)
SCKEY(WindowHandle,VK_RETURN)
===============================



>この『記録』とはExcelの『マクロの記録』の事でしょうか?
>Excelのマクロの記録は岡三RSSのログアウトにも使えるという事でしょうか?
いえ、こちらはUWSCに『記録』という機能がありまして、
Excelの『マクロの記録』と同じように、マウスの起動などを覚えて
スクリプトに落としてくれる機能になります。
UWSCがタスクバーのWindowIDをとれないためログアウトするためのマウス操作を
覚えさせてログアウトさせてあげる必要がありまーす!!
(もしかしたら何かあるのかもしれないですが、UWSCのプロではないので・・・)


>(概略)情報を500件取得したあとは、ブックを閉じてログアウト
>する。その後、1分ほど待ってから、再度ログインする)
>の流れで、ブックを閉じるときは、ブックだけでなくExcel自体も
>終了する必要があるのでしょうか?
こちらは、すべてのブックを落として1分以上か
Excelを落として1分以上かになります。

なので、すべてのブックを落としている状態であればExcelが起動しっぱなしでも大丈夫です!!


回答に漏れがないことを祈って・・・w

2019年08月28日

イーサン

大野さん、こんにちは!

チェックが外れてしまう件については、教えていただいた方法で
試してみます。

マウス操作の記録についても、UWSCで試してみます。

また、すべてのブックを落とす必要があることは知りませんでしたので助かりました!

いつも親切丁寧な回答をありがとうございます!

2019年08月29日

大野 了

今までの経験が少しでも、お役に立てたら幸いです!!

うまくいくことを祈りまーす!!

2019年09月01日

RSSユーザー

こんにちは。

UWSCでスクリプトを組んでいろいろと
やってみたところ、1から3まではできたの
ですが、4と5はアイテム名の設定がうまくいかずできませんでした。。。

仕方がないので、.NET Framework等のライブラリ
を使ってウインドウを操作することで実現したいと
思います!

2019年09月08日

大野 了

イーサンさん、こんばんは!!
返信がだいぶ遅くなってすみません。

パスワードだけじゃなくてすべてが空白になってしまうんですね・・・
でしたら以下のようなスクリプトはいかがでしょうかー?

================================
WindowHandle = GETID("ログイン","HwndWrapper")

SENDSTR(WindowHandle,"ユーザID",1, true)

SCKEY(WindowHandle,VK_TAB)
SCKEY(WindowHandle,VK_SPACE)

SENDSTR(WindowHandle,"password",2, true)

SCKEY(WindowHandle,VK_TAB)
SCKEY(WindowHandle,VK_SPACE)

SCKEY(WindowHandle,VK_TAB)
SCKEY(WindowHandle,VK_SPACE)

SCKEY(WindowHandle,VK_RETURN)
================================

多分これで、すべてチェックして起動してくると思います!!

2019年09月08日

イーサン

大野さん、こんにちは。

ありがとうございます!これでできました。

どうもありがとうございました!

2019年09月09日

大野 了

イーサンさん、うまくいきましたかー
よかったです!!

お役に立てて幸いです!!

2019年09月09日

イーサン

大野さん

お世話になっております

--------------------------------------------------------
もし、パスワードだけが抜けてしまうような場合であれば・・・

UWSCで以下のようなスクリプトを書いてあげることにより、
パスワードのテキストにパスワードを入れて、ログインすることができます

===============================
WindowHandle = GETID("ログイン","HwndWrapper")
SENDSTR(WindowHandle,"password",2, true)
SCKEY(WindowHandle,VK_RETURN)
===============================

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

私の環境では、
1.ログインID   [テキストボックス]
2.ログインID保存 [チェックボックス]
3.パスワード   [テキストボックス]
4.パスワード保存(自動ログイン) [チェックボックス]
5.インサイダー関連同意 [チェックボックス]
がすべて未入力の状態になってしまうのですが、その場合は、どのように指定すればよいのでしょうか?

すみませんです。よろしくお願いいたします。

2019年09月04日

イーサン

大野さん

お世話になっております。
いつも丁寧な回答をありがとうございます!

>ログインは、岡三RSSの設定で
>『パスワードを保存する(自動ログイン)』にチェックを入れると
>岡三RSSが起動した際に、自動でログインがされます。

自動ログインにはチェックを入れているのですが、VBAから
岡三RSSの停止・起動を繰り返しているといつの間にか
チェックが消えてしまうことがあります(?)

もしかしたら私の設定ミスか見間違いかもしれないので、
もう少し様子を見てみます。

>UWSCでスクリプトを組むのではなく『記録』でマウス操作を覚>えさせ、
>それでログアウトさせる方法はいかがでしょうか?

この『記録』とはExcelの『マクロの記録』の事でしょうか?
Excelのマクロの記録は岡三RSSのログアウトにも使えるという事でしょうか?

また、追加の質問ですみませんが、
-----------------------------------------------------------
https://bbs.okasan-online.co.jp/ont/rss/board/?topic_id=93
-----------------------------------------------------------

(概略)情報を500件取得したあとは、ブックを閉じてログアウト
する。その後、1分ほど待ってから、再度ログインする)

の流れで、ブックを閉じるときは、ブックだけでなくExcel自体も
終了する必要があるのでしょうか?

たくさんの質問ですみませんがよろしくお願いいたします。

2019年08月28日

大野 了

イーサンさん、こんばんは


VBAを使用されていて、現在岡三RSSの終了と起動をされているのであれば、
そのままVBAを使用されて岡三RSSを再起動かけるのが、
もっとも簡単ではないかと思いました。


ログインは、岡三RSSの設定で
『パスワードを保存する(自動ログイン)』にチェックを入れると
岡三RSSが起動した際に、自動でログインがされます。


ログアウトは、もし気持ち悪いとかなければ、
taskkillで強制的に落とす形でもよいのではないかと思います。

もし、どうしてもログアウトされたいのであれば、
UWSCでスクリプトを組むのではなく『記録』でマウス操作を覚えさせ、
それでログアウトさせる方法はいかがでしょうか?

一応、スクリプトでできないかやってみたのですが、
UWSCでタスクバーの岡三RSSのハンドルが上手い事取れなかったので、
だいぶん複雑になってしまうかと思います。

ですので・・・

1.終了(taskkill)
2.起動(cmd)
3.自動でログインされる

という流れはいかがでしょうかー?

2019年08月28日

RK Isi

Excelで「OSON COM Addin2」を有効にするには?

岡三RSSのExcelの設定についての質問です。

これまでは正常に使えていただのですが、突然使えなくなりました。

上部のメニューに「アドイン」が表示されません。

確認したところ、Excelでのアドインの設定で、「OSON COM Addion 2」というのが「無効なアプリケーションアドイン」というところに入ってしまっています。
そこで、アドイン画面の下の方の「管理」から「COMアドイン」を選択し、「使用できるアドイン」の一覧を見ましたが、「OSON COM Addin2」のチェックが外れています。
チェックを入れてOKを押しても、再度「COMアドイン」を見ると、チェックが入っていない状態です。
何度やっても「OSON COM Addin2」にチェックが入らず、「無効なアプリケーションアドイン」のところに入ったままです。

一旦OSの「プログラムと機能」から「岡三RSSエクセルアドイン」をアンインストール→再度インストールをしても同じ状態です。

「OSON COM Addin2」を有効にするには、どうしたらよいでしょうか。

OSはwindows10の64bit版で、エクセルは2016(office365)です。

2019年09月04日

大野 了

こんにちは!!

再インストールで直りませんでしたか・・・
残念です・・・

自分も全く同じ環境で動かせています。
Excelの最新バージョン1908でも岡三RSSが問題なく動いているので、
確かにサポート対象外ですが、動作自体は問題ないと思います。

自分の環境
OS:Windows10(64bit)
Excel:office365


急にアドインだけ登録できなくなったということですので、何かのファイルが壊れてしまったか、
レジストリという、アドインなどの設定情報が壊れてしまったのだと思われます。

ClickOnesのキャッシュをクリアして、再インストールしても動かないとのことですので、
レジストリが壊れてしまったのかもしれません・・・

対処方法ですが、
1.Excelを管理者モードで上げて、アドインにチェックを入れてみる
(たぶんダメと思いますが、一応)
2.VBAエディタで参照設定不可になっているものがないか見てみる
あれば外す
ALT + F11で、VBAエディタを起動し
  『ツール』-『参照設定』
  の中に"参照不可"となっている項目があるか
(これもダメと思いますが、一応)
3.C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSSの中に
TDCOMAddin2.dll
が存在するか見てみる
(こいつがOSON COMの本体なので、もしなければここにインストールできてないのが原因と思われます。)

4.もしファイルが存在するならレジストリ関係が壊れている可能性があるので、
レジストリエディタを起動して、OSON COM Addin2関係の情報をキーごと削除する

多分、レジストリで『OSON COM Addin2』関係を削除すると
再インストールでレジストリを再登録してくると思います。

今、一応レジストリエディタを起動して『OSON COM Addin2』関係を調べてみたのですが、
削除したが良いなーと思われる対象がだいぶありました。
もし問題なければOSから再インストールするのが一番かもしれません・・・

2019年09月11日

RSSユーザー

大野様

お返事ありがとうございます。
いただいた方法で再インストールをしてみましたが、結果は同じでした。

サポートの方にも問い合わせてみたところ、「office365のexcel2016には対応していない」と言われてしまいました。
そうはいっても、今までその環境で使っていたし、他のPCでは同じoffice365のexcel2016でも問題ないんですけどねぇ。
細かく聞いても「対応していない」の一点張りで、解決はしませんでした…。
うーん。
全然納得はできないけど、これ以上できることはないのかなぁ。

とにかくありがとうございました。

2019年09月11日

大野 了

RK Isiさん、こんにちは


急に動かなくなってしまったんですか・・・
確かにたまにありますね・・・


再インストールですが、キャッシュが残っていると、
キャッシュから再インストールされてしまい、
きれいに再インストールがされない時があります。

以下のサイトを参考に再インストールしてみるというのはいかがでしょうか?

http://blog.regrex.jp/2016/09/02/post-972/

これで直ると良いのですが・・・

2019年09月08日

投資初心者

総合チャート管理の四本値の時系列データーの取引日付の表示について

総合チャート管理をサンプルシートから入手して個別銘柄の売買のデータとして使用しようと思ったのですが、使おうと試みた所、「四本値」のシートの中で時系列データーのB7セルの日付が2023/6/23になっており、B8のセルは、1日前の6/27になっています、以下は、1日づつ、過去に遡っています。
現在の価格の項目のB4のセルには、現在の日付けである2023/12/28となっているのですが、時系列データーの取引日付の表示が上手く行っていない為、「Monitor」のシートの表示も正常に機能していない様です。
もともと、先物で使う前提だと思いますが、個別銘柄で使用可能と動画の内容では、言っており、個別銘柄で使用する際に変更すべき事項と前述の状態から上手く機能する様に回復できる手段を教えて下さい。
岡三のサポートに電話したのですが、サポート外との事で途方に暮れています。
どなたか、大変申し訳ございませんが、ご教授いただければ幸いです、宜しくお願いします。

2023年12月28日

大野 了

投資初心者さん、こんにちは!!

>現時点で表示されている夕場安値が恐らく、当日の安値、夕場高値が同様に前日の高値に恐らく読み替えていけば、現物株にも対応している様に思っているのですが、正月休みの為、確認できていません。
>取引が始まる4日以降、確認してみようと思っているのですが、合ってますでしょうか?

今、市場が動いていない状態ですと、投資初心者さんのおっしゃれれる通りと思います。
あとは、ザラバ中に正常に動作するかですね・・・

2024年01月03日

投資初心者

大野さん

ご丁寧にありがとうございます。
現時点で表示されている夕場安値が恐らく、当日の安値、夕場高値が同様に前日の高値に恐らく読み替えていけば、現物株にも対応している様に思っているのですが、正月休みの為、確認できていません。
取引が始まる4日以降、確認してみようと思っているのですが、合ってますでしょうか?
また、いろいろな状況で教えていただきたく、今後とも宜しくお願いします。

2024年01月03日

大野 了

投資初心者さん、こんにちは!!

うまく行きましたかー
良かったです!!


>そこにどういった理論が有り、BをDにすれば、正常に表示されたのでしょうか?
先物取引には夜間取引があるため、日足が『営業日の日足』と『取引日の日足』という2種類が存在します。
これに対し、現物株には夜間取引がないため『日足』のみとなります。

このため、第三引数の足種別の日足の値がFCANDLE_MとCANDLE_Mで若干異なっており、

先物
B:日足(営業日ベース)
T:日足(取引日ベース)

現物
D:日足

となっています。

Excelファイルはもともと先物で作られているため、
日足が2種類選べ、選んだ内容で"B"もしくは"T"がCANDLE関数にセットされるのですが、
前述のとおり、現物用のCANDLE_Mの関数は"D"にしか対応していないため、
"B"や"T"を送ってしまった場合、エラーとなります。

今回はこの"B"を"D"に変更したので、CANDLE_Mにセットされる値が"B"から"D"にかわったので、
正常に動くようになった感じです。

ご参考になれば幸いです!!

2023年12月31日

大野 了

投資初心者さん、こんにちは!!

現在の投資初心者さんのExcelファイルの状況がわからないため、推測になってしまいますが、
以前、画像で張っていただいたままだとすると、
足種別のところが問題ではないかと思われます。

現物株は夜間取引等がないため、営業日や取引日という考え方がありません。
このためCANDLE_M関数の足種別は

1分:1
5分:5
15分:15
30分:30
時足:60
日足:D

となります。

頂いた画像ですと『営業日 日足』が先物の値である"B"のままになっているため、
足種別が合わないためエラーとなっていると思われます。
もし簡単な修正でとどめておかれたい場合は、M12を"D"に変更すると動作すると思います。

自分も投資初心者さんにいただいたセル関数をそのままコピーし、
M12を"D"に変更後、J9で『営業日 日足』を選んだら、
正常に現物株の時系列データが表示されましたー

ご参考になれば幸いです!!

2023年12月31日

大野 了

投資初心者さん、こんにちは!!

了解しました!!

それでは、更新ボタンを押下されていないのではないでしょうか?

もともとのファイルにある関数は『_M』になっているマニュアル系の関数になってるため
更新ボタンを押下するまで、四本値シートのデータの取得が行われません。
このため更新ボタンを押下して初めて最新データに更新されます。

また、添付されていた画像を拝見したところ、
I16~の関数がすべてN/Aになっているみたいですので、
もしかしたら関数の引数等にミスがあるかもしれません。

その時は更新ボタンを押下しても更新されない可能性が在りますので、
その場合、I16~のCANDLE関数の関数をご確認ください!!


>夜間取引などの表示を外す方法を教えていただけないでしょうか?
軽く見てみたのですが、完全に外す場合いろいろなところを修正しないといけないのと、
誤動作を起こすほどではないような気もしましたので、
一度、現物版を動くようにされてから、不都合がある部分のみを消すというのはいかがでしょうか?

2023年12月29日

投資初心者

大野さん

ありがとうございます。
教えて頂いたBをDに変更して更新しましたら、正常に時系列データが表示されました。
ありがとうございます。
ちなみに考え方としてBをDに変えれば現物株に対応する事になっていると思いますが、そこにどういった理論が有り、BをDにすれば、正常に表示されたのでしょうか?
関数が影響したと思えませんので不思議に感じます、単に結果として正常に動いたのでとてもありがたいのですが、今後の操作に関しての参考としたいと思いますのでご教授いただければ幸いです。
宜しくお願いします。

2023年12月31日

投資初心者

ご返信、ありがとうござます。
更新ボタンを押すと、#VALUEに変わりました。
最新データに更新されているかと思いきや、やはり、更新されないままでした。
大野さんが言われるI16から以下の関数を確認してみたところ、
I16=CANDLE_M($J$7,$J$8,OFFSET($M$6,MATCH($J$9,$L$7:$L$13,0),0),$J$10,$B$6,$B$7,$J$13,$J$14)となっており、関数自体が特に間違ってはいない様な気がするのですが、どこが問題か分かりません。
お判りになられるようであれば教えてください。

2023年12月31日

大野 了

投資初心者さん、こんにちは!!

こちらは以下のサイトの下の方にある
https://www.okasan-online.co.jp/ont/rss/movie/chart/06.html

『「RSS総合チャート管理」(解説)』と書いてあるところの動画と
『サンプルシート』と書いてあるところから落とされた
RSS総合チャート管理.xlsのことで間違いありませんでしょうか?

もしそれであれば、四本値シートのC2セルなどに埋め込まれている岡三RSSの関数が
『='C:\Program Files\Okasan Online Securities Co.,Ltd\岡三RSS\岡三RSS.xla'!FQUOTE($J$7,$J$8,B2)』
のようにパスが追加された形で表示されておりませんでしょうか?

もしそれであれば、このパスの部分を置換などで全体的に削除すると動作すると思います。
ちなみに自分は置換後は正常に動作しました。


また、RSS総合チャート管理.xlsの現物株対応に関してですが、
Excelシートをざざっと見る限り

1.岡三RSSの先物用関数をすべて現物株用の関数に変更する
2.夜間取引などの計算式や表示を外す

という対応で、現物株対応は可能と思うのですが、実際の修正箇所はだいぶ多くなる感じがします。

2023年12月29日

投資初心者

すいません、途中になっていまいました

また、岡三RSSの先物用関数をすべて現物株用の関数に変更する為に関数に付けられたFは、既に外して変更しており、大野さんのアドバイスである、夜間取引などの表示を外す方法を教えていただけないでしょうか?
宜しくお願いします。

2023年12月29日

投資初心者YA

2023-12-29.png (103.1KB)

大野さん
アドバイス、ありがとうございます。
RSS総合チャート管理.xlsので間違いありません。
ご指摘の中の『='C:\Program Files\Okasan Online Securities Co.,Ltd\岡三RSS\岡三RSS.xla'!FQUOTE($J$7,$J$8,B2)』
のパスは、削除しており、私見ですが、問題だと思うのは、添付ファイルの様に「4本値」のエクセルシート現在の価格の項目のB4のセルには、現在の日付けである2023/12/28と最新の日付となっているのですが、時系列データーの取引日付が2012/6/26となっており、固定化されている状態なのです。
また、岡三RSSの先物用関数をすべて現物株用の関数に変更する為に関数に付けられたFは、既に外して変更しており、大野さんのアドバイスである、夜間取引などの表示


2023年12月29日

山本

四本値の取り込みタイミングに関する質問

現在FCANDLE関数を使って先物の30分足の4本値の取り込みを行っていますが、その更新タイミングがその時々で異なっています。
時刻通りの時もあれば、10数秒後の時もあります。
毎回調べてデータは取っていませんが、規則性はないようです。

当方のPC及びインターネット環境によるものなのかわかりませんが、もし同じような経験をされている方がおられれば、対応策等を教えていただければ幸いです。

2019年09月12日

山本

小笠原様
大野様
コメントありがとうございます。
4本値の取り込みタイミングの件、よく理解できました。
当方の問題ではないことが分かり、そういうものだという前提で、システムを考えていきたいと思います。
今後ともよろしくお願いいたします。

2019年09月14日

大野 了

山本さん、こんにちは!!

>もしこの問題を解決されていらっしゃる方、コメントかぶせていただけますと幸いです。
根本的な解決策ではないですが、
もしFCANDLEで最新の足を見ているのであれば、仕様通りの動きとなりまーす。

FCANDLEは岡三RSS稼働後はローカルにてデータを作成しています。

この時、FCANDLEで30分足のデータを取得しようとした場合、
次の時間帯になった時に、前の時間帯の足が落ちてくれば良いのですが、
(10:00の足は10:30になったら完成するので、10:30に落ちてくる動き)
残念ながら実際はリアルタイムで落ちてきます
(10:00の足は10:00~10:29の間、10:00の足として4本値を都度更新し続ける)

このため、10:00の30分足は、足が完成した10:30に作成されるのではなく、
10:00~10:29の中で、初めて取引があった瞬間に足が作成されてExcelに表示されてしまいます。
ですので、10:00台の取引が10:00ピッタリにあれば、すぐに足が作成され、
10:01に初めて取引があれば、10:01に足が作成されるため、
足が表示される時間がまちまちになってしまいます。


小笠原さんのおっしゃられます通り、厳密なリアルタイムの情報は厳しいですね・・・

山本さんの問題内容がこの仕様に関する事かどうかまでは特定できませんが、
もし、解決させるとしたら、
10:00の30分足は、10:30以降にlookup関数で探して使用するというのはいかがでしょうか?

せめて足が完成したら落としてくれる形だとありがたいんですが・・・

2019年09月12日

小笠原聖史

はじめまして、岡三RSSユーザーの小笠原と申します。

いま、FCANDLEのmini直近限月の1分足とmini直近限月のFQUOTEを並べて眺めてみましたところ、山本様と同じように、更新タイミングがマチマチです。

個人的には、エクセルでほぼリアルタイムのデータが取れる大変便利なツールだと思う一方で、厳密なリアルタイム性は期待できないとも思います。

ですので、秒を争うようなトレードは岡三RSSでは無理かなと割り切っております、、

解決策をご提示できなくて申し訳ありません、自分の感想を書いてみました。

もしこの問題を解決されていらっしゃる方、コメントかぶせていただけますと幸いです。

2019年09月12日

RSSユーザー

ニューオーダー関数のIDについてです。

ニューオーダー関数のIDを変えて同じ銘柄を一日に何度か売買しようと思い、IDの後ろに+NOW()*1を付けてみたところ、続けざまに買いが入ってしまいました、IDを10秒に1回変えるようにするにはどうすればよいでしょうか。お教えください。

2020年01月07日

大野 了

RSSユーザさん

1/60だと、起きたり起きなかったりして、確かにだいぶ悩みそうですね・・・
ポップアップのエラーは消えちゃうし・・・(笑

なにはともあれ、お役に立ててよかったです!!

2020年01月07日

RSSユーザー

オオノサマ、確率1/60(1.6%)の割合でIDが同じになってしまう現象があったのですね。おそらくこの現象が発生したら分かるまで悩んだろうと思います。まじでアドバイスありがとうございました。

2020年01月07日

大野 了

あっ!!
今、意味が分かりました・・・
完全に勘違いしてました。

常に更新されてしまう方がまずいってことだったんですね・・・
真逆に受け取ってしまっていました。

MINUTEだけですと、1時間後の同じ分に発注があった時に、逆にIDが重なってしまい
2回目の発注がかからない可能性がありますので、
毎日、Excelを落とされるのであれば
TEXT(NOW(),"HHMM")
と時間までIDに入れたが良いと思いまーす!!

また、ずーとExcelを起動され続けるのであれば
TEXT(NOW(),"YYYYMMDDHHMM")
と、日付も入れたが良いかもしれません!!

2020年01月07日

RSSユーザー

エクセルの1つセルに1570(日経平均レバレッジ上場投信)の出来高のクオート関数を表示させ、常にデータ更新するようにしています。また買いの条件に保有数が0であることがあるので、ポジション関数が更新されるまでの時間かせぎが欲しかったのです。IDの後ろに+MINUTE(NOW())を足して1分おきにIDを更新させてやってみます。ありがとうございました。

2020年01月07日

大野 了

こんにちは!!

>IDの後ろに+NOW()*1を付けてみたところ、続けざまに買いが入ってしまいました、IDを10秒に1回変えるようにするにはどうすればよいでしょうか。

NOW関数の精度は1秒単位のため1秒以内に複数回発注がなければ
IDは被ることはないのですが、
そもそもNOW関数は再計算がかからないと値が更新されません。

確実な方法はVBAにて、再計算を定期的に走らせることがよいのですが、
もし、VBAを使うのがご面倒であれば、
現在値時刻など、
常に更新がかかり続けるような項目を岡三RSSにて出力させておくと、
岡三RSSのデータ更新につられて再計算が常に走り、NOW関数が更新されます。

また、一点に気になったのですが、
NOW関数はNEWORDER関数の中に入れられておられますでしょうか?
もしNEWORDER関数の中にNOW()を埋められていたとすると、
NEWORDER関数が動く際にNOW()も再計算されますので、
常に新しいIDになっているような気がします。

もしこの場合、IDが被ったのは何か別の要因があるかもしれません。

2020年01月07日

RSS初心者です

先物4本値60分足の表示について

はじめまして。
ひとりで地道に自動売買の実装をしようと一念発起しましたが、早速壁にぶち当たってしまったのでこちらにて相談させていただきます。
これまで先物ミニで4本値5分足のデータを取り入れてました。取得期間は0、昇降順序はA、本数は350としていました。このとき、場中であれば350個目のローソク足が5分ごとに更新され、一番先頭の古いローソク足から消えて行く(ズレていく)仕様でした。
60分足でも同じように取得期間は0、昇降順序はA、本数は350としてみましたところ、同じような挙動になりません。
最大分足取得日数が5日なので、100本程度しか取得することはできないのでしょうか?
取得期間を5、昇降順序をA、本数を0としましたところ、朝8時くらいの時間にはきちんと5日分フルに取得されていましたが、8:45デイが始まった瞬間に一番古い5日前のデータが1日分ごっそり消えて、一番下の行の最新データが更新されて繰り上がっていく感じになりませんでした。。
こちらは仕様でしょうか?
また、300本くらいのデータを5分足と同じような挙動で処理するにはどうすれば良いかアドバイスいただけますとありがたいです。

2021年06月24日

大野 了

RSS初心者ですさん、こんにちは!!

はい、残念ながらー

なにはともあれ、お役に立てて幸いです!!

2021年06月24日

RSS初心者です

大野様

ご回答いただきありがとうございます!

やはり仕様ですよね〜。となると、300本くらいの本数を処理したければ自分でデータを作るしかないみたいですね!

ありがとうございました!!

2021年06月24日

大野 了

RSS初心者ですさん、こんにちは!!

はい、分足の場合取得期間がMAX5日となっていますので、
5分足:1440本
60分足:120本
が最大取得件数となっています。

また、その日の取引が始まった瞬間の動きですが、
このMAX5日間という制約があるため、
6日目が始まった瞬間に、一番古い日のデータがごっそり消える仕様となっているみたいです。

60分足を300本ぐらいを処理したいのであれば、
6日前のデータを別のところに退避するか、
FCANDLEの出力先をずらしていく形しかないと思ます!!

自分もバックテスト用に過去データが必要なのですが、土日に5日分まとめて退避しています!!

2021年06月24日

マサ

ロールオーバー。マクロは不要?

先物、マクロとも初心者です。
今回初めて日経225ミニを手がけました。売りです
9月第2週金曜日(13日)が近づき、ロールオーバをすることにしました。
9月限を手仕舞買をして、12月限を新規売です。
私なりには手仕舞、新規は同時にやった方がよいと思い、IFDを使おうとしましたが、
これは異なる限月ではダメなようです。
そこでどなかがRSSでマクロを作っているだろうと想像したのですが、どうも書込もないようです。

ここから質問ですが、どうしてないのでしょうか?
その1 同時に手仕舞と新規をする必要がない、またはそうしない方がよい。
その2 関数を使えばできる。
その3 すでにあるので誰も質問しない。

くだらない質問だと思いますが、教えてください。

2019年09月10日

マサ

ありがとうございます。
質問をしておいて、見逃してしまいました。
初心者なのでミスだらけです。9月13日(金)で乗り換えればいいと思っていたのですが、12日の夕方までなんですね。(涙)
これからもおせわになります。

2019年09月13日

小笠原聖史

小笠原と申します。
その1 =hour(now())と=minute(now())で二つのセルに時刻と分を表示させて、時刻が15、かつ分が11になったら発注する、と=if関数を設定するとよいと思います。
その2 期先の新規発注と期近の決済注文を、その1のif関数で指定した時刻に発注するように=FNEWORDER()関数を設定するとよいと思います。

以上ご参考になれば幸いです。

2019年09月10日

RSSユーザー

株式分割銘柄への対処についてです。

移動平均でゴールデンクロスしたら発注のようなプログラムを作成、運用していたところゴールデンクロスしていない銘柄が発注されていました。調べてみるとその銘柄は計算期間中に株式分割等がされたためでした。このような株式分割銘柄への対処法はありますか、お教えください。

2019年09月26日

RSSユーザー

CANDLE関数だと、まとめて30位の銘柄を一度に処理できますね。分割予定銘柄は予定日以降の買いを不可設定にするようにします。ありがとうございました。

2019年09月27日

小笠原聖史

岡三RSSの「CANDLE」関数で取得することができる四本値は、分割権利落ち日の翌営業日からは、権利落ち日以前の四本値が分割調整後の値で取得することができます。
このような仕様ですので、私は、分割をまたいで移動平均を計算するプログラムを組んでいる場合にはとても便利に活用しております。
ご参考になれば幸いです。

2019年09月26日

RSSユーザー

Excel 2019

いつもRSSを使わせていただいています。ありがとうございます。エクセル2019(オフィス2019)への対応はいかがでしょうか?

2019年10月24日

岡三オンライン証券

「Office 2019」への対応が完了いたしましたのでご報告いたします。

↓岡三RSS動作推奨環境↓
https://www.okasan-online.co.jp/ont/rss/platform/

今後ともご愛顧賜りますようお願い申し上げます。

2019年11月29日

岡三オンライン証券

RSSユーザーさま

岡三オンライン証券です。

いつも岡三RSSをご利用いただき、誠にありがとうございます。

現在、Excel2019への対応を開発中です。

リリースの際は、「岡三RSS集いの広場」などでのご案内を予定しております。

いましばらくお待ちください。

今後ともご愛顧賜りますようお願い申し上げます。

2019年10月24日

イーサン

岡三RSSをインストールしても「oson2.rtdserver」がアドインに表示されない。

アドイン画面2.png (64.0KB)

こんにちは。

PCを入れ替えたので、岡三RSSをインストールしたのですが、
「oson2.rtdserver」がアドインに表示されません。
(添付ファイルを参照ください)

下記のサイトを参考に、ClickOnceのキャッシュを削除してから
再インストールしたのですが、やはり表示されません。

知識が乏しくてすみませんが、そもそも「OSON COM addin 2」がどのタイミングでアドインとして登録されたのかもわかりません。

どのようにすれば、「oson2.rtdserver」がアドインとして
登録されるのでしょうか?

すみませんがよろしくお願いいたします。

2019年10月18日

大野 了

正常に動いてますかー!
それはよかったです♪

2019年10月19日

イーサン

大野さん

ご教示いただきありがとうございます。

「oson2.rtdserver」はなくても問題ないようです。

株価もちゃんと取得できました。

どうもありがとうございました!

2019年10月19日

大野 了

イーサンさん、こんにちは!!

この『oson2.rtdserver』って最近見ないんですよねー
昔は入ってた気がするのですが、
最近の自分のPCにも表示されてないので無くても大丈夫と思われます。
もしかしたら、RSSのバージョンアップのどこかで消えてしまったのかもです。


>知識が乏しくてすみませんが、
>そもそも「OSON COM addin 2」がどのタイミングでアドインとして登録されたのかもわかりません。
『OSON COM addin 2』は、手動でも登録することができますが、
確かインストール時に自動登録されるはずです。


ということで「oson2.rtdserver」は別になくも大丈夫なのですが・・・
データが落ちてこないとか発注ができないとか、
何かお困りごとがありますでしょうかー?
もしかしたら別の原因かもです!!

2019年10月19日

Kappy

先物自動寄りシステムについて

先物寄りトレ_New.xlsx (327.4KB)

大野様

以前先物決済のエクセルについて相談させて頂いたKappyと申します。その節は大変お世話になりありがとうございました。
そのプログラムは結局複雑過ぎて途中で挫折してしまいました。申し訳ありません。

内容を変えて2度目の挑戦です。エクセルを送らせて頂いたのですが、計算式がどうしても分からない箇所があり、またご相談させて下さい。

シートは「買い」「売り」分かれており、とりあえず「買い」シートさえできれば「売り」は自力でできると存じます。

年末のお忙しいところ大変恐縮ですが宜しくお願い申し上げます。

2019年12月24日

Kappy

先物寄りトレ編集用_New.xlsx (311.6KB)

大野様

お忙しい中ありがとうございます。
自力では全く組み立てられない計算式をご丁寧にありがとうございました。

初心者過ぎて申し訳ないのですが

>こちらは関数の発注IDを固定することにより、一つの関数が一度しか動かなくなるので、最初の一回のみの発注だけに絞ることができます。

ここは理解できました。

>とは言え、IDが重複していますのエラーが出てしまいますので、もし、気持ち悪いようであれば、FPOSITION関数でポジションがあれば、C7、C8のセルの発注関数を実行しないと条件を追加すると大丈夫と思います!!

この意味が分からなくて(涙)
ID1 ID2 とID番号を固定させてもその後、発注はされなくても、発注できません、というエラーが出てしまうということでしょうか。
(確かに以前ゾンビのように次々エラーが出てきた記憶がよみがえってきました。)

ただイメージは大分つかめてきました。
★1はやめて、★2だけ完璧に作りたいと思います。

買注文(3)シートに「ポジション情報」がこう見えて欲しい、と少しいじってみたのですが、また計算式で行き詰ってしまいました。

稼働させるのはどちらにしても年明けになりますので、お時間ありますときにまたご添削頂けますと幸いです。

2019年12月26日

大野 了

先物寄りトレ編集用_New.xlsx (316.8KB)

かっぴーさん、こんばんは!

>ID1 ID2 とID番号を固定させてもその後、発注はされなくても、発注できません、というエラーが出てしまうということでしょうか。
>(確かに以前ゾンビのように次々エラーが出てきた記憶がよみがえってきました。)
はい、何かしらでセルが更新された場合は、FNEWORDERが再度動くのですが、
その時はポップアップでエラーが出てきます。
ですが、ポップアップなのでしばらく経つと自動で消えるはずでーす。


>買注文(3)シートに「ポジション情報」がこう見えて欲しい、と少しいじってみたのですが、また計算式で行き詰ってしまいました。
利確と、損切のところですねー
ひとまず動くように関数を入れてみましたー
内容はExcel内の付箋をご覧ください!!

これまた、テストをしているわけではないので
ご使用の際は、気を付けて頂けますと幸いでーす。

2019年12月26日

大野 了

かっぴーさん、こんにちは!!


確か、7分割決済の件でしたでしょうか?
自分こそ上手い事伝えられず申し訳ありません・・・


さて本題ですが、エクセルファイル拝見しました!!
何点か教えてください。


・こちらのシートは日中動かされる予定でしょうか?

・前日や当日というのは、取引日ベースでになりますでしょうか?
例えば、営業日(実日付)の12/24の日中に、このシートを動かすとした場合
前日日中終値:実日付で12/23の15:15の終値
当日ナイト終値:実日付で12/24の5:30の終値

・IF"前日日中終値>現在値>ナイト終値",”未発注"の式ですが
こちらは『前日日中終値>現在値>ナイト終値』だったら新規発注
それ以外だったら発注待ちということでしょうかー?


そして、メリークリスマスです!!

2019年12月25日

Kappy

大野様

クリスマスに早速にご連絡をありがとうございます♪

はい、全ておっしゃる通りです。
(7分割のかっぴーです(笑)覚えて頂いていて恐縮です。)

最後の「それ以外だったら」の件に関しましては
条件に合わなければ「見送り」にしたくて「未発注」としました。

引き続き宜しくお願い致します。
Merry Christmas !!

2019年12月25日

大野 了

かっぴーさん、こんにちはー

うまくいきませんでしたか・・・

また何かお手伝いできることがあれば、いつでもご連絡ください!!

それでは、よいお年をっ♪

2019年12月27日

Kappy

p200はそういう意味だったのですね。
ご丁寧にありがとうございました。

2019年12月27日

Kappy

寄付から+5のところで買い条件②に当てはまり無事注文通りました。
少し上がったところで手動で利確してしまおうと思ったのですが、
動作確認のために待っていたら逆行。そのまま-30の損切り価格まで達しましたが、損切注文が入りませんでした。
しばらく見ていましたが、-35になっても発注がかからなかったので手動で損切りしました。

良く見たら私の式が間違っていましたので、また書き直して年初に稼働させてみます。
(よくよく考えてみれば、動作確認なので、利確、損切ともにもっと値を小さくすべきでした。)

年末気忙しい中、大変お世話になりました。
それではどうぞ良いお年をお迎え下さいませ。

2019年12月27日

大野 了

かっぴーさん、こんにちは!!

うまく動くと良いのですがー

P200は、
とりあえず、200件前はポジションが増えても大丈夫なようにしてあるだけで、明確は意味はありません。(笑
とりあえず、200件以上のポジションを持つことはないだろうと・・・(笑

ですので、無いとは思いますが、ポジションが200件以上になると、誤動作してしていまーす。

2019年12月27日

Kappy

大野様

こんなにすぐに見て頂けるとは思っていませんでした。
本当にありがとうございます。感謝感激です。

年初から動作確認をしようと思っていましたが、せっかく組み立てて下さったので、売りシートも作成し、早速明朝試してみます。

私には全く分からない計算式がありますが、(保有シートのp200の数字など)そこは深く掘り下げず(笑)とりあえず注文が入るかの確認を致しますね。

また改めて結果を報告させて頂きます。

2019年12月27日

大野 了

先物寄りトレ_New.xlsx (310.1KB)

7分割のかっぴーさん、こんにちは!!(笑


>8:45~15:15の間で
>①②の条件に当てはまった時「最初の1回のみ発注」という式を作ることは可能なのでしょうか。
はい、こちらは関数の発注IDを固定することにより、一つの関数が一度しか動かなくなるので、
最初の一回のみの発注だけに絞ることができます。
とは言え、IDが重複していますのエラーが出てしまいますので、
もし、気持ち悪いようであれば、FPOSITION関数でポジションがあれば、
C7、C8のセルの発注関数を実行しないと条件を追加すると大丈夫と思います!!



>★1、★2 それぞれのパターンを作りたいのですが可能でしょうか。
自分の理解力がなく、いまいち理解できませんでした・・・(すみません

こちらは、
★1は、プレオープニング(8:00~8:44)までの間に板寄せ用に発注したい
★2は、ザラバ中(8:45~15:15)までの間で条件を満たしたら発注したい
ということでしょうか?

もしそうであれば、両方作ることは可能ですが、
発注の条件が『前日日中終値>現在値>ナイト終値』ですので、
★1の条件では、まだ現在値が決まっておらず、条件式が満たせません。
板の現在の値という考え方もできますが、
その時は『どの時点での板の情報』というもの決めてあげなくてはと思います!!

とりあえず、★2のみを条件に入れましたExcelを送付しまーす。

テストができてないのですが、多分大丈夫な気がしますが、
間違ってる可能性もありますので、気を付けて動かして頂けますと幸いです!!


また、大変申し訳ないのですが、一度岡三RSSが入ってないExcelで起動してしまったため、
岡三RSS周りの関数に変なパスとかがついてしまうかもしれません。

その時は削除してくださーい!!

2019年12月26日

RSSユーザー

度々申し訳ありません。

★1
当初「日中寄り条件」と考えていたので
「8:45の時点で」①又は②の条件が当てはまれば「発注」
という意味で書かせて頂きました。

大野様からご連絡頂いて改めて検証してみたのですが

★2
8:45~15:15の間で
①②の条件に当てはまった時「最初の1回のみ発注」という式を作ることは可能なのでしょうか。

私の書いた式だと何度も発注を繰り返してしまうことになってしまいますね(汗)。

★1、★2 それぞれのパターンを作りたいのですが可能でしょうか。

2019年12月25日

初心者

CANDLE_Mにはオートフィル機能が使えないのでしょうか?

岡三RSS初心者です。以下教えていただければ幸いです。
セルG6にあった、QUOTE_M(B6,"","前日比率")をコピーして、セルH7に貼り付けますと、QUOTE_M(C7,"","前日比率")と変化しますが、CANDLE_M(B1,○,△,,,,,)は、
どのようにコピーしても全く括弧の中身が変化しません。非常に困っております。どなたか対処方法を教えていただければありがたいです。

2021年11月15日

大野 了

初心者さん、こんにちは!!

なるほどー
もしかすると、うまくセルの指定が認識できてなかったかもですね・・・

何もできていませんが、解決できてよかったです!!

2021年11月18日

大野 了

初心者さん、こんにちは!!

今、書いて頂いている『CANDLE_M(B1,○,△,,,,,)』をA1にコピペし
その後B1にコピーしてみたんですが、正常に書き換わりました。

QUOTE_Mで変化するとのことでしたので、
Excelの設定で止まっている可能性は低いと思いますので、
『CANDLE_M(B1,○,△,,,,,)』

こちらのB1が絶対参照($B$1 のように $ が入っている)になっていたりしませんでしょうか?

2021年11月15日

初心者

大野様
絶対参照はしておりません。以下実験してみました。
実験1:まっさらなexcelを起動して、QUOTE_MとCANDLE_Mを打ち込み、両者
ともに、完全にオートフィルが動くのを確認しました。
実験2:オートフィルが動作しないファイルに、実験1の二つの関数をコピー
    したところ、完全にオートフィルが動作しました。
実験3:オートフィルが動作しないCANDLE_M関数を、実験1のファイルに
    コピーしたところ、オートフィルが動作しませんでした。
最後の手段として、動作しないCANDLE_Mを打ち直したところ
動作するようになりました!
見たところ、どこがおかしかったか全く不明ですが、解決しました。
お騒がせいたしまして、誠に申し訳ありませんでした。

2021年11月16日

RSSユーザー

空売りの買戻しがまた出来なくなってしまいました!

お世話になっております。RSSで空売りの買戻しがまた出来なくなってしまいました。前回は取引区分の買いと売りの逆をやってしまうミスだと思われたもですが今度違うとこでダメみたいです。もしかして建て年月日の様式とか関係しているでしょうか、お教えください。空売りの買戻しのプログラムが走らないのはまじびびります!

2021年12月03日

大野 了

RSSユーザさん、こんにちは!!

はい、決済に必要な建単価は、建玉ごとの単価を指定してあげる必要があります!!
確かに一発で決済できると便利ですね・・・

なにはともあれ、解決されたようでよかったです!!

2021年12月03日

RSSユーザー

この銘柄は一日に二回空売りをかけたのでそれぞれの建単価を手動入力してシステムを動かしたら買戻しできました。複数回の空売りの買戻しは一回で平均取得単価の入力ではだめみたいです。

2021年12月03日

RSSユーザー

信用返済買戻しで、今までの現物の買い売りと信用の売り建てにないもの、それは建て単価と建て年月日です。ここが怪しいと思うのですが!

2021年12月03日

マサ

岡三RSSで日経ミニ、NYダウ 両方、売買したい



岡三RSSサンプルシートで日経ミニ、NYダウ 両方、売買したい
                              お世話になっています。
excelの基礎的な質問です。日経ミニとNYダウを(サヤ取りとかでなく)それぞれ売買したいと思います。現在、先物サンプル注文シート (更新日:2018年11月08日)を使っているのですが、二つを同時に注文できないようです。

そこで私なりに考えた方法は三つです。どれが良いとか、これはダメとか、他にもっとよいアイデアがあるといった意見をお願いします。
一つは同じ注文シート上にコピーなどをして 同一ワークシート上で日経ミニとNYダウがそれぞれ売買できるようにする。
二つ目は注文シートを日経ミニ用とNYダウ用を作る(一つのファイルに二つの注文シートを作る)
三つ目はサンプル注文シートがあるブック自体をコピーして、別ファイルにする方法です。(日経ミニ用BOOK、NYダウ用BOOKを作る)

どれも同じというなら私は三つ目を考えています。一つのファイルに押し込むと動作が遅くなると聞いているのと、入力ミスが少なくなりそうに思うからです。

2019年11月10日

マサ

さっそくのレスありがとうございます。
ファイルが別だと、注文自体に不都合がないだろうか、
という心配もあって質問しました。
これで安心できます。

別プロセス、という方法は知りませんでした。
やってみます。

2019年11月10日

大野 了

マサさん、こんにちは!!

サンプルシートを見てみたのですが、
VBAもなく、計算量も多くないですので、
このサンプルをそのまま使われているのであれば、
1.2.3のどのやり方でされても、大きな違いはないと思います!!

また、3のやり方がマサさん的に扱いやすいのであれば、
2つ目のExcelを起動するときに、
ALTキーを押しながらExcelを起動して頂くと、
別プロセスというもので新しいExcelを起動できます。
※『新しく別のExcelを起動しますか?』と出たら成功です!!

これは普通にExcelを2つ起動する時よりも、
独立性が高いExcelを2つ起動するという感じの機能になります。
独立性が高いため、一つのExcelが何かの拍子に止まってしまった時でも、
もう一つのExcelは影響を受けず、正常に動作し続けることができます。

デメリットとしては、普通にExcelを2つ起動するよりもメモリーを食ってしまいます。

もし、メモリなどに余裕がありましたら、
この別プロセスでExcelを起動させると、さらに安心かもしれません!!

2019年11月10日

mukateri

日本株自動売買システム構築

キャプチャ.PNG (98.7KB)

お世話になります。
5分足のチャートからシステムトレードを検討しているのですが一日の中で売買サインが発生したら発注/決済をできるように構築したいです。
具体的にはD~G列に始値~終値を更新する。H~BC列においてテクニカル指標を計算。その結果をもとに売買サインを見極める。
BD~BO列で売買/決済を決定というエクセルを作成しています。
仮にBJ列で空売り判定、BL列でBJ列の空売り決済判定を例に取ると112行目(12時35分)で空売り成行発注、119行目(13時10分)で発注した空売りを決済する自動売買ツールを作成したいのですがどのように設定すればこの自動売買を発注してくれるのでしょうか?

2019年05月05日

mukateri

返答ありがとうございます!
試してみます!

2019年05月12日

Ryo Ohno

mukateriさん、こんにちは
返事が激しく遅くなってしまい、申し訳ありません。

そうですね・・・
一番簡単な方法としましては・・・

BD列に、発注関数を入れて、if文でシグナルを判断されるのが一番簡単だと思ます。

もし、空売りシグナルが続けて出る場合は、一度しか発注を行わないとすれば
※頂いたサンプルですと、112行目と113行目と連続で空売りのシグナルが出ている。
ひとつ上の同一列が0のもので判断すれば、最初の1回だけ発注が行われると思います。

BD112の場合
=if(AND(BJ112="空売り",BJ111=0),MARGINORDER(・・・),if(AND(BL112="決済",BL111=0),REPAYMENTORDER(・・・),"待機"))

という感じでしょうか

このような感じで、BD列にすべて上記の判断文を埋めてあげれば、
自動売買ができると思います!!

2019年05月10日

mukateri

キャプチャ.PNG (118.9KB)

申し訳ありません。添付画像で行列が表示されていませんでしたので再度添付させていただきます。

2019年05月05日

RSSユーザー

ヤフーの株式ランキングの値上がり率ーーー社と値下がり率ーーー社のデータをエクセルに表示したいです。

お世話になっております。上記の通り、ヤフーの株式ランキングの値上がり率ーーー社と値下がり率ーーー社のーーー社の数字だけエクセルに表示したいのですが、何かいい方法はありませんか、お教えください。

2023年12月28日

のび太

お考えのような集計なら、マイクロソフト製品で閉じているので、Power Automateで可能かもしれません。

もちろん、VBAやpython(openpyxlなど)でも可能かと思いますが、Power Automateのほうが、おそらく簡単でしょう。

ちなみに、日経平均−75.45の日でも空売りプログラムは負けが多いのは、日経平均の構成銘柄群と空売り可能な銘柄群の需給関係が異なるからだと思います。
例えば、外国人投資家がプライム株を売る状況でも、個人投資家は低位株を拾いに行くかもしれません。
また、仕手筋はふるい落としをする必要が無い状況ではしないでしょう。

もしそうなら、そのような需給関係は全体的なトレンドとも異なるのではないでしょうか。
そうだとすると、VBAやpython(openpyxlなど)でプログラミンをしたほうがいいかもしれません。

2024年01月12日

RSSユーザー

お世話になっております。本年もよろしくお願いいたします!
上記のウェブクエリを試すと、このページは表示できません。というメッセージがでて相手にしてもらえません。
ヤフーファイナンスだと取り込み出来ましたが、1200社とか文字扱いみたいなのでこれを数字扱いにできればというところです。
なぜ、日経コムには移動できないのでしょうか。

2024年01月01日

大野 了

はい、その項目になります!!

なにはともあれ、解決できてよかったです!
24年も良いシストレライフになることを祈ります!!

2024年01月02日

RSSユーザー

お世話になっております。
データリボンのブックの接続というところにプロパティというのがありその中に何分おきに更新という項目がありました。それですね!
これで、大発会に間に合いました。ほんと年明け早々、ありがとうございました!

2024年01月02日

大野 了

うまく行きましたか!
良かったです


Webクエリですので、オプション設定で1分時の自動更新を設定すれば、自動で更新されると思います!!

2024年01月02日

RSSユーザー

お世話になっております。上手くできました!
ちなみにこのクエリは自動更新するのでしょうか、しないなら一分おきにUWSCでAltを押す録画で対応しよと思うのですが?

2024年01月02日

大野 了

うまく行きましたかー
良かったです。

>この数字のセル位置がずれる場合があるかんじがするので、セル文字が 値上がり率 とあったらその一つしたのセルの数字を表示するなんて出来ますか、お教えください。

=VALUE(SUBSTITUTE(INDEX(A:A,MATCH("値上がり率",A:A,0)+1,0),"社",""))

これで行けると思います!!

2024年01月02日

RSSユーザー

お世話になっております。
上手く数字だけ取り出せました。ありがとうございました。
もう一つだけ教えてください、この数字のセル位置がずれる場合があるかんじがするので、セル文字が 値上がり率 とあったらその一つしたのセルの数字を表示するなんて出来ますか、お教えください。

2024年01月02日

大野 了

参考になれば幸いです!!

2024年01月02日

大野 了

RSSユーザさん、こんにちは!!


セキュリティですかー
自分は取得できるので、Excelのバージョンかもですね・・・

ファイル確認しました。
数値化は以下のセル関数で行けると思います!

=VALUE(SUBSTITUTE(A86,"社",""))

2024年01月02日

RSSユーザー

ヤフーファイナンス.xlsx (23.4KB)

お世話になっております。
日経のデータはセキュリティの関係でデータが取得出来ないみたいです。
取り急ぎ、ヤフーファイナンスの取得データをおくります。
この中の、セルA86 2,555社を数値化出来ればと思います。よろしくお願いいたします!

2024年01月02日

大野 了

取込手順.xlsx (67.2KB)

RSSユーザさん、こんにちは!!

本年もよろしくお願いいたします!!

今やってみたのですが、日経のサイトから正常に取り込めました。
もしかするとExcelのバージョンか、手順が異なるのかと思われます。

もしこの手順でもダメな場合は、
RSSユーザさんがやられたヤフーファイナンスの取り込み後のファイルをいただけますと、
『1200社』の文字列の部分を数値化できないか見てみます。

2024年01月01日

大野 了

RSSユーザさん、こんにちは!!

なるほど!!
僕もやっとRSSユーザさんが求めるところが理解できましたー
値上がり銘柄数を取りたいとなると確かに岡三RSSだけでは厳しいですね・・・

Yahooの株ランキングだと取り辛いので、
日経新聞社のサイトに対してWebクエリを実行するとデータが比較的簡単に取れそうです。

以下のURLにWebクエリを発行し、Table7に対してWebクエリを発行すると
値上がり件数、値下がり件数が簡単にでき、しかも取得後の成形も必要なく利用可能だと思われます!!
https://www.nikkei.com/markets/kabu/japanidx/

2023年12月30日

RSSユーザー

お世話になっております。すみません、説明不足でした。
全体的なトレンドが知りたくて、例えば12月29日だとヤフー株式ランキング 値上がり率2555社、値下がり率1473社で買いが優勢と判断し空売りプログラムは発動しないようにするためです。
もともと、日経平均がマイナスの時のみ空売りプログラム発動としていたのですが、今日のような日(日経平均−75.45)でも空売りプログラムは負けが多いのは日経225よりも全体的なトレンドが大事みたいだからです。以上のような理由であたまの部分だけ知りたかったからです。

2023年12月30日

大野 了

RSSユーザさん、こんにちは!!

確かにWebクエリでも可能と思います!

一応、自分もyahooの株式ランキングのサイトをWebクエリで取得してみました。

結果として、データが取得できることはできたのですが・・・
名前のところがList構造で返却されたり、肝心の『前日比』のデータが金額と値上がり率がくっついて取得できてしまったりと、
取得後に成形しないといけないところもあり、
いろいろと面倒なので、やはり岡三RSSのランキング関数をご利用になられる方が最も良いと思われます。

ちなみに、岡三RSSではなくWebクエリをご利用になりたい理由はどのようなものがありますでしょうか?
もしかしたら、そちらを解決させた方が速いかもしれません!!

2023年12月29日

RSSユーザー

お世話になっております。早速のご返信ありがとうございます。
以上のランキングを出して値上がり銘柄数と値下がり銘柄数を出してもできますが、エクセルwebクエリで頭の値上がり銘柄の数と値下がり銘柄の数だけ取得はできないでしょうか、お教えください。すみません。

2023年12月29日

大野 了

RSSユーザさん、こんにちは!!

RSSにRANKING_Mという関数があり、
こちらを使用すると前日からの値上がり率や値上がり率をランキング形式で取得できます。


=RANKING_M("値上り率(前日終値)","銘柄名","50",B2,"全市場")
=RANKING_M("値上り率(前日終値)","前日終値","50",C2,"全市場")

ざざっとしか見ていないのですが、Yahooの株式ランキングと同じデータが返ってきたので、
問題なく利用できると思います!!

2023年12月29日

大野 了

Windows10 November 2019 Updateでも正常に動作しました

こんにちはー!!

11/13から日本でも、
『November 2019 Update(年に2回のWindows10の大型アップデート)』が
WindowsUpdateで配信されるようになりました。

いつもトレードをやっているPCを更新して様子を見てみたのですが、
岡三RSSでデータの取得や発注も問題なく動作するようです。

一応、情報を共有ですっ

2019年11月14日

kazu

買い注文の約定と同時に損切り注文を出す方法について

自動売買で買い注文の約定と同時に損切り注文を出したいと思っています。保有に該当銘柄が入ったことを確認して同銘柄に逆指値で損切り注文を出すよう関数を入れていますが、買い注文が約定した瞬間に「返済可能な建玉がありません。」と表示され発注が行われません。
この方法でなくても構いませんが、VBAを使わず買い約定と同時に損切り注文を出せる方法を教えて頂けませんでしょうか。

2019年11月27日

大野 了

kazuさん
こんばんは!!

保有シートの作りがわからないので、正確なところは何とも言えないのですが・・・

kazuさんの関数の作りから想像しますと、
保有シートにはPOSITION関数により、現在のポジション情報が表示されており、
E列には保有数量が表示されている。
また、保有シートのA~D列には銘柄コードなどの他の情報も表示されている。

C27には発注を行いたい銘柄コードを表示されており、
この銘柄コードと同じ行の保有数情報が100株になったら、
『約定している』ということで、逆指値の注文を行うという感じでしょうか?

もしこのような認識で間違いなければ、怪しそうな点が2点ありました。

1.SUMIFの条件列が複数列になっている。
SUMIFの第一引数は条件の対象行の指定となるのですが、
現在『保有!$A:$E』となっており、
複数列に対して銘柄コードを見るため、SUMの条件判断が不定となります。

現状ですと、A~E列に表示されている値によっては、
約定していなくても100と帰ってくる可能性があり、
『返済可能な建玉がありません。』と表示されてしまう可能性があります。

C27が銘柄コードということですので、もしA列に銘柄コードを表示しているのであれば、
SUMIF(保有!$A:$A,C27,保有!$E:$E)
の様に銘柄コードが表示されている行のみにして頂けますと、条件が正常に動作すると思います。


2.POSITION関数のずれ問題
POSITION関数の結果が一瞬ずれてしまうという問題があるのですが、
このためだけに対応すると大変ですので、

もし、銘柄コードの有無だけでよいのであれば、
SUMIF関数ではなく、
=COUNT(保有!$A:$A,C27) > 0
として頂ければ、A列にC27で指定した銘柄コードが表示されたら
発注がかかると思います!!

この2点で解決できれば良いのですが・・・

2019年11月27日

岡三オンライン証券

kazuさま

いつも岡三RSSをご利用いただき、誠にありがとうございます。

本日11:30頃に投稿された添付ファイルですが、取引パスワードと思われる記述がありましたため、コメント自体を非公開とさせていただきました。

取引パスワードなど記述がないことをご確認のうえ、アップされるようお願いいたします。

また、取引パスワードは重要な情報のため、ご変更されることをお勧めいたします。

今後とも、どうぞよろしくお願いいたします。

2019年12月02日

kazu

大野様

ご回答頂きありがとうございます。
一旦逆指値の注文を諦めて、現在値を監視し成り行きで損切り注文を発注する方法に変更することで暫定対応しました。
とはいえ逆指値での対応が理想ですので、いずれご教示頂いた方法を実践してみようと思います。
丁寧にご対応いただきありがとうございました。

2019年11月28日

大野 了

kazuさん、こんにちは!!

自分はVBAになりますが、kazuさんと同じで
現在値を確認して成り行きで損切注文を出す形にしています。

確かに逆指値で出せるのが理想ですよね・・・
滑りにくいですし・・・

あと、1点書き間違いをしていました・・・
=COUNT(保有!$A:$A,C27) > 0

=COUNTIF(保有!$A:$A,C27) > 0
でした。

もしまた何かあれば、投稿していただけますと幸いです。

2019年11月28日

kazu

大野 様
ご回答頂きありがとうございます。
逆指値の注文には以下の関数を利用し、保有に建玉が検出されたあとに発注されるようにしています。
=IF(SUMIF(保有!$A:$E,C27,保有!$E:$E)=100,IF(C36<>0,REPAYMENTORDER(C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45),"待ち"),"待ち")
※保有シートE列:保有数量
※C27:銘柄コード
※C36:始値


上記ないようで、しばらくした後に発注IDを変更すると正常に動作するため、タイミングが早すぎる(建て玉が認識されていない)のではないかと推察しております。

ご確認頂いている内容については以下の回答となります。
・毎回発生いたします。
・1回目の発注から発生いたします。また、同銘柄の別ポジションはありません。
・POSITION関数のパラメータは以下となります。
 =POSITION("","0",E3,E4)

ご多忙のところ恐れ入ります。
よろしくお願い致します。

2019年11月27日

大野 了

kazuさん、こんにちは!!

>保有に該当銘柄が入ったことを確認して同銘柄に逆指値で損切り注文を出すよう関数を入れていますが
こちらはPOSITION関数を使用し、約定した銘柄が出力された後に、
逆指値で発注した時に、
「返済可能な建玉がありません。」と表示される感じになりますでしょうか?

お聞きした感じですとkazuさんが書かれてる内容で大丈夫なような気がしますが、
関数実行のタイミングの問題からもしれません。
タイミングがらみでうまくいかないことが、多々ありますので・・・

原因の絞り込みのために、以下の点を教えて頂けますと幸いです。

・毎回発生しますでしょうか?
・発生するタイミングとして、2回目の新規発注後だけということがあったりしませんでしょうか?
もしくはすでに別のポジションがあったりしませんでしょうか?
・もしよかったら、逆指値側とPOSITION関数のパラメータを教えて頂けますでしょうか?

これらが細かくわかると、VBAを使わずに何とかできるかもしれません!!

2019年11月27日

ふらんそわ

CANDLEでの営業日について

スクリーンショット.png (65.9KB)

こんばんは。
添付のファイルは6月4日22時頃に取ったスクリーンショットです。
営業日であるBを入力しているのにもかかわらず、最新の日付は6月5日になってしまっています。
4日の22時頃エクセルを開きデータを取得し始めた段階から日付が5日になり、始値が反映されてしまています。(5日の始値は4日の22時頃の価格)

この事象は何かの不具合なのでしょうか?
以上、よろしくお願いいたします。

2020年06月04日

ふらんそわ

上記1~3を試したところ問題なくデータを取得できました!
売買の前にRSSを再起動させるようマクロを組んでみます。

ありがとうございました!

2020年06月05日

大野 了

おー!!
上手くいきましたか!!

ということであれば・・・
やっぱり、tickが落ちてきてないか、岡三RSSが動いてない感じですね・・・


RSSの再起動で運用上大丈夫であれば、それが一番確実だと思います。

なにはともあれよかったです!!

2020年06月06日

ふらんそわ

上記1~3を試したところ問題なくデータを取得できました!
売買の前にRSSを再起動させるようマクロを組んでみます。

ありがとうございました!

2020年06月05日

大野 了

これで解決できることを祈ります。

また、リモートデスクトップを閉じる際は、
ログオフではなく、切断を選ばれるとセッションが残りますので、切断を選んでください!!

ログオフ選ぶと、たぶん全部閉じちゃうと思います!!

2020年06月05日

大野 了

なるほど!!

確かふらんそわさんはクラウドで利用されてたんでしたね・・・
もしかして、岡三RSSは起動しっぱなしでしょうか?

岡三RSSのCANDLE関数は、起動した一発目はサーバーから取りに行くのですが、
起動した後の足の情報がサーバーから落ちてくるTickの情報を元にして
クライアントの中で作成しています。

もしかすると、リモートデスクトップで繋いでない間に
岡三RSSがTickの処理が出来ていないのかもです。

もし、現時点で毎回発生するようであればー
よろしければ以下の手順を試してみて頂けますでしょうかー?

1.22時にリモートで繋ぐ。
2.Excelを上げる前に、岡三RSSを再起動。
3.Excelを立ち上げる。

もしこれでうまくいくのであれば、リモートデスクトップが切れている間、
Tickが受信できてないか、岡三RSSの動作が止まっているのだと思われます。

本来は岡三RSSを立ち上げっぱなしでも、Excelが落ちていたら初期化がかかるようなんですが、
この初期化が掛からないことが、たまにあるみたいで・・・

2020年06月05日

ふらんそわ

なるほど、リモートが切れている間RSSが止まってる可能性はあるかもしれません。
今思い出しましたが、楽天RSSでも同じ理由で動作しないと聞いたことがありました、、、

どちらにせよ一度上記の1~3を試してみます!

2020年06月05日

ふらんそわ

こんにちは。
エクセルを開いた時間から始まるようです。

まだ数日しか運用してませんが、リモートデスクトップに22時頃から接続するとこのような事象が起こります。
リモートデスクトップを再起動すると正しくデータが取り込めるようになります。

2020年06月05日

大野 了

FCANDLE.png (36.9KB)

こんばんは!!

これ、確かになんか変ですね・・・

FCANDLEの指定も問題なく、
営業日を指定しているのに、
なんか取引日のデータと混ざって出てきてるみたいな感じですねー

日付をまたがっていますが、6/5のAM 2時に動かしたやつを添付します。
左が営業日、右が取引日なのですが、
自分のところで実行すると、取引日である6/5のデータは混ざらずに
営業日のデータとしてきちんとデータが取得できました。

ふらんそわさんのイメージを観ると、
4行目以降は、営業日のデータとしてちゃんとFCANDLEが取得できているんだけど、
なんか、1件目のデータである3行目だけ変ですねー

D3の『1610.75』も営業日、取引日どの時点の始値でもないですし・・・


FCANDLEの関数が他のところにもあって、
そこの出力がこのセルになってるなどはありませんでしょうか?

また、毎回、発生する感じでしょうかー?
俺も、今日の22時ぐらいに一度動かして試してみます!!

2020年06月05日

RSSユーザー

会社のパソコンで完全にアプリを削除する方法についてです

お世話になっております。
会社のパソコンにANYDESKなる遠隔操作ソフトをインストールして使っていたのですが、ある日間違って自動ログインにチェックを
入れてしまいパスワード無しでログイン出来るようになってしまいました。アプリをアンインストールしたのですが、再びアプリをダウンロードするとやっぱり自分の家のパソコンの画面が出てきて自動ログイン出来てしまいます。アプリを一度完全に削除する方法を教えて下さい。このままでは誰でも自宅の岡三RSSにアクセス出来てしまいます。岡三RSSには直接は関係ない質問なのですがよろしくお願いいたします。

2020年11月03日

大野 了

上手く行きましたかー!!

良かったです♪

2020年11月03日

RSSユーザー

すみません。

・アンインストールの時に『設定のクリア』にチェックを入れてみると消えるかも

これで消えました。ほんと、ありがとうございました。!!!

2020年11月03日

大野 了

途中で送ってしまった・・・

アンインストールで消せなくても、いろんな方法で大丈夫そうですねー
レジストリとかいじるより安全そうです!!

2020年11月03日

大野 了

こんにちはー

ANYDeskは使ってないのでまったくわからないのですが・・・

ぱっとネットでみた感じ
・接続タブで再設定できるような感じ
・アンインストールの時に『設定のクリア』にチェックを入れてみると消えるかも
・もし消えないなら、レジストリでANYDesk系のレジストリを探し出して消してみる
ぐらいでしょうか・・・

ANYDeskのマニュアルがあるなら、一発でわかりそうですが・・・

もしダメでも、最悪、ご自宅のPCのログインパスワードを変更したら、
会社のANYDeskからは入れなくと思います。

2020年11月03日

長島

1分足の四本値の取り込みが中断する件

質問をさせてください。
現在先物のロジックを2つ並行して実行しています。
EXCELのブックは別々にしており、FCANDLE関数を使って一つは30分足、一つは1分足の4本値を取得していますが、1分足の取得が頻繁にストップします。
5分ぐらいの中断で自然に再開することもあれば、ずっと中断の場合もあります。
その間30分足は問題なく取得できております。
考えられる原因等がありましたらご教授願います。
ちなみに更新速度は500ミリ秒にしてあります。
以上、宜しくお願い致します。

2019年11月28日

長島

大野様
コメント、ありがとうございます。
1分足の出来高はあります。
中断が再開された時には、その止まったところの1分足まで遡って取得します。
関係ないかもしれませんが、本数の取得が30分足は200本で、1分足の方は1100本と多いので来週以降500本にしてみようかと思います。
あと思ったのですが、30分足の方も中断しているが、間隔が長いため目立たないだけで、実際は更新が止まっているかもしれません。
やはり当方のPC及び通信環境によるものかもしれませんね。

2019年11月30日

大野 了

長嶋さん、こんにちは!!

なるほど!!
それは確実に止まってそうですね・・・

もしExcelを再起動せずに上げっぱなしで、
どこかの時点で後から一気に遡って足が出てくるということは、
通信と岡三RSSは正常で、Excelへの表示の部分が止まっていると考えられます。
※岡三RSSは仕組み上、もし通信や岡三RSSが止まっていた場合、
※Excelを再起動しない限り過去の足が出ることがないので。

Excelを再インストールなどしてみると手っ取り早いと思いますが、
一応、Excelでの描画関係のオプションで自分が知ってる限りのことを書いてみまーす!!

以下の設定を確認される際は、実際のExcelワークブックを開いてから確認してください

・『ファイル(メニュー)』-『オプション』-『数式タブ』-『計算方法の設定』
自動以外になっていること

・『ファイル(メニュー)』-『オプション』-『詳細設定』-『表示』
『ハードウェア グラフィック アクセサレータを無効にする』のチェックのON、OFFを変えてみる
※PCによってはハードウェア グラフィック アクセサレータを使わない方が
※表示が速かったりします。

・『ファイル(メニュー)』-『オプション』-『詳細設定』-『数式』
『マルチスレッド計算を行う』がONになってること

・『ファイル(メニュー)』-『オプション』-『詳細設定』-『全般』
『マルチスレッド処理を有効にする』がONになってること

また、もし止まってる時があれば、
数式(メニュー)の中の『再計算実行』と『シート再計算』を押して、足が出て売るのあれば
再計算系で止まっているかもしれません。

これで直ると良いんですが・・・
足が取れないと、困りますよね・・・・

2019年11月30日

大野 了

長嶋さん、こんにちは!!

FCANDLEの関数ですが、
1分足が停止してる時ですが、出来高があったかどうかはわかられますでしょうか?

といいますのは、FCANDLEは出来高がない場合、残念ながら足が作成されないため、
システムが停止してるように見えることがあります。

例えば、
10:00:出来高あり
10:01:出来高あり
10:02:出来高無し
10:03:出来高無し
10:04:出来高あり

という場合、10:00、10:01は出来高があるため1分足ができますが、
10:02、10:03は1分足が停止したように見え、
10:04に1分足が出てきます。
30分足で見ると、10:00にとりあえずできているので、正常に表示されています。

もし出来高があったかどうかが分かれない場合は、
1分足の作成が止まった大体の日時を教えていただけると、
自分の持ってる、分足のデータで出来高を確認してみます!!

2019年11月28日

長島

大野様

ご助言感謝いたします。

明日以降、ご助言いただいた内容を試してみます。

ありがとうございました。

2019年12月01日

岡三オンライン証券

岡三RSS動作推奨環境への「Office 2019」追加のご案内

RSSユーザーさま

岡三オンライン証券です。

いつも岡三RSSをご利用いただき、誠にありがとうございます。

以前よりご要望がありました「Office 2019」への対応が完了いたしましたのでご報告いたします。

↓岡三RSS動作推奨環境↓
https://www.okasan-online.co.jp/ont/rss/platform/

今後ともご愛顧賜りますようお願い申し上げます。

2019年11月29日

RSSユーザー

新市場の各銘柄コード一覧を表示したい

お世話になっております。最近導入された新市場(プライム、スタンダード、グロース)の最新各銘柄コードの一覧表は岡三RSSのどこかの機能で表示させることは可能でしょうか、お教えください。

2022年07月15日

RSSユーザー

やはり、ないですか。
新規上場銘柄を自動的に監視させる方法を探していたもので!
東証から自動で取得する方法は厳しいですね。
ありがとうございました。

2022年07月16日

大野 了

RSSユーザーさん、こんにちは!!

間違っていたら申し訳ないのですが、確か・・・

岡三RSSで市場区分に対する構成銘柄の一覧を取得する機能はなかったと思われます。

QUOTE関数でその銘柄に対する市場区分も取得できなかったと思いますので、
東証などから一覧のリストを取得するしかないと思われます!!

2022年07月16日

岡本

現物買い注文の成立後、売り注文を出す方法。

現物買い注文の成立後に即売り注文を出すにはどう書けばいいでしょうか?
マクロと関数で考えているのですが、思いつきません。。

2022年06月28日

岡本

大野様、よくわかりました。ありがとうございました!

2022年07月04日

大野 了

岡本さん、こんにちは!!

はい、岡本さんのご認識通り、計算方法を自動にしておきますと、
f9を押さなくても岡三RSSが更新した際に再計算が掛かります!!

2022年07月03日

岡本

大野様、ファイルの添付もして頂きありがとうございます。
教えていただいた通り、position関数をneworderの条件に使おうと思います。

銘柄コード1301を買って売る場合
買い注文が約定(買い注文用neworder関数)→
***END***"が1301に更新される(position関数)→
position関数を条件に売り注文が約定(売り注文用neworder関数)→
1301が***END***"に更新される(position関数)
の流れになると思うのですが、エクセルの数式の計算方法を自動にしていれば自動で完結するのでしょうか?
f9キーでの更新等は不要でしょうか?

2022年07月02日

大野 了

決済発注Ifのサンプル.xlsx (11.1KB)

岡本さん、こんにちは!!

なるほどー
約定した瞬間に決済注文を出されたい場合ですが、
ワークシート関数でも、マクロでも構わないとのことですので、
他の処理が出来ているのであれば、決済だけをマクロでする必要はなく、
ワークシート関数のみがよいかもです。

約定した瞬間に決済注文を出されたい場合ですが、
新規発注用のNEWORDERとは別の決済発注用のNEWORDER関数とPOSITION関数を用意し、
決済発注用のNEWORDERは条件として、POSITION関数の結果が***END***でないことなどを条件にして頂ければ
大丈夫と思います!!

例)
=IF(B2="***END***","決済発注待機",NEWORDER(・・・・・))

一応、IF関数のExcelシートを添付します!!
B1をご参照頂けますと幸いです。

2022年07月02日

岡本

大野様、ご回答ありがとうございます。
はい、約定した瞬間を検知して、その瞬間に決済注文を出したいです。
全体の流れといたしましては、
始値を検知し逆指値で買い注文。
(10:00AMまでに買えなければ注文取消し)
買えた瞬間に指値で売り注文。
売れなければ、大引けで不成注文。
としたいです。

2022年06月30日

大野 了

岡本さん、こんにちは!!

現物の約定後に、即売り注文とおっしゃられている内容の具体的な内容としては・・・
約定した瞬間を検知して、その瞬間に決済注文を出されたいという事になりますでしょうか?

もう少し具体例を頂けますとありがたいです!!

2022年06月29日

イーサン

ブックをコピーすると岡三RSSのアドインのパスが勝手に入ってしまう件

お世話になります。

岡三RSSを使っているブックを別のPCにコピーすると、
関数のところに「'C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\岡三RSS.xla'!」
が勝手に入ってしまうのですが、これは何が原因なのでしょうか?

OSのビット数が同じPCでも勝手に入ってしまいます。

対策する方法がありましたらご教示頂けますでしょうか。

2019年12月04日

大野 了

イーサンさん!!

出なくなりましたかー
それはよかったです!!

アドイン周りの解除はどきどきしますよね・・・
岡三RSSはその後もちゃんと動くのかと・・・w

なにはともあれ、良かったです!!

2019年12月06日

イーサン

大野さん

コメントありがとうございます!

いったん、Excelから「岡三RSS/Addin」フォルダのアドインを解除し、その後、上位フォルダの「岡三RSS」のアドイン設定をしたら、パスが勝手に入ることもなく、いまのところ動作もしています。

環境をいじるのは少しちびりそうになりましたがw、しばらくはこれで様子を見ようと思います!

2019年12月05日

大野 了

イーサンさん、こんばんは

あら・・・
ということは自分の勘違いで、みんな両方あるんですかね・・・

多分、どちらかがaddinを見て、どちらかが岡三RSSを見てるのかと・・・


ホント、どちらかが坂本一生になればわかりやすいんですけどね。


妄想を語るだけになってしまい、申し訳ありません(涙

2019年12月04日

イーサン

大野さん、お久しぶりです!

早々の回答ありがとうございます。

---------------------------------------------------------------------
ですが、岡三RSSのアドインが
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS
にある場合と
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn
にある場合があって(自分のはなぜか両方あるw
---------------------------------------------------------------------

私のもなぜか両方ありましたw

---------------------------------------------------------------------
これはあくまでも想像でしかないのですが、
岡三RSSのバージョンアップのどこかで『岡三RSS.xla』の場所が変更されて、
常日頃のバージョンアップでは、
一番初めにインストールされた場所を覚えているため、両方のPCでインストールしたバージョンが違うと出てしまうのかなーと・・・
---------------------------------------------------------------------

なるほどですね。

加勢大周と新加勢大周と同じくらいややこしい感じが
しますが、環境をいじるのはちょっと怖いので、しばらくは
このままにしておこうと思います。

どうもありがとうございました!



2019年12月04日

大野 了

イーサンさん、お久しぶりです!!

これですよね・・・
これは『岡三RSS.xla』が見つからない時に出てきてしまうんですが、
通常は、イーサンさんがおっしゃられます通り、OSのビット数が同じ場合は発生しません。

ですが、岡三RSSのアドインが
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS
にある場合と
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn
にある場合があって(自分のはなぜか両方あるw

この場所が違うPC間を行き来すると、ついてしまいます

これはあくまでも想像でしかないのですが、
岡三RSSのバージョンアップのどこかで『岡三RSS.xla』の場所が変更されて、
常日頃のバージョンアップでは、
一番初めにインストールされた場所を覚えているため、両方のPCでインストールしたバージョンが違うと出てしまうのかなーと・・・

完全な妄想ですが・・・

二つのPCで『岡三RSS.xla』の場所をそろえてあげると出なくなると思います!!

2019年12月04日

Kozo

歩み値のフィルタリングの方法について

500株以上の歩ねのみ表示させる方法を教えていただけないでしょうか?歩ねのフィルタリング方法です。

2019年12月28日

Kozo

大野さん、回答ありがとう御座います。RSSでは難しいのですね。大口の約定のみでフィルタリングしたかったのですが。。あとはExcelの機能のフィルタリングを試して見ます。

2019年12月29日

大野 了

Kozoさん

そうですね・・・残念ながら・・・RSSでは・・・

今回の主旨とは異なってしまいますが、
ネットトレーダーの方で、
歩み足がほぼ全件取得(1万取引まで)することができますので、
完全に手作業になってしまいますが、
ネットトレーダーで取得してExcelのフィルタリングが簡単だと思います!!

大量に銘柄があった場合は厳しいですが・・・

2019年12月29日

大野 了

Kozoさん、こんにちは!!

こちらは、
『ある銘柄のTick(歩値)から500株以上で約定したTickをフィルタリングしたい』
ということになりますでしょうかー?

ということでしたら、岡三RSSですと少し厳しいのが現状です。

できない事はないですが、
4本値とは違いTickは、岡三RSS自体が直近の30本しか取得できないため、
まずは、定期的にTickをVBAなどでコピーするVBAを作成し
一日分のTickのデータをため込みところから始める必要があります。

その後、ため込んだデータから、
500株以上で約定したTickをVLOOKUPなどでフィルタリングすることになりますっ!!

2019年12月29日

りな

カギ足の自動売買の作成方法

こんにちは。
エクセルのVBAを用いてカギ足の自動売買を作成しようとしているのですが、VBAのプログラムが思いつきません、、、。
ヒントでも結構ですので教えていただけますでしょうか、、、?
よろしくお願いします。

2020年06月11日

大野 了

りなさん、こんにちは!!

こちらはカギ足を書かれたいとの事でしょうかー?
それともカギ足の情報は、すでにあってそこから何かしらのシグナルとして、
VBAにて自動で発注をされたいということでしょうかー?

前者のカギ足を書くだけでしたらー
VBAはいらず、Excelの関数だけでも行けそうですねー
後者のシグナルからの自動発注のお話になると、
カギ足のデータの作りや、シグナルの内容が分からないと何とも・・・

もし、前者のカギ足を作成したいだけとしたら―

1.CANDLE関数で終値をとってくる
2.前日の終値と当日の終値を比較し、価格差を出す
3.価格差が閾値を超えたら、鍵の差分として使う
  例)
    A1:前日終値のセル
    A2:当日終値のセル
    閾値:50円
 
    IF(ABS(A2-A1)>=50,A2-A1,0)

   これで前日との終値との差が閾値を超えていれば、その差が出て
   閾値以内であれば、0になります
4.差がある部分だけ積算していく

これでカギ足の時系列は作れると思います!!

2020年06月11日

大野 了

お久しぶりです!!

おぉぉぉぉ!!
完成しましたか!!おめでとーございます!!


>時々時刻が飛んでしまっているところが何箇所かございます。
こちらはFCANDLEの戻りが飛んでしまうということでしょうかー?

もしそれでしたら・・・
FCANDLEの仕様が原因かもしれません。

FCANDLEは
起動時にサーバーから全量取得し、
その後は、Tickのデータを元にクライアント側で足を作っています。

このため岡三RSS起動後に5分間取引がなかった場合、
足を作るためのデータが無いため足が作成されず、
時間が飛んだように見えてしまいます!!

しかしも、わかり辛い毎に、
一度、岡三RSSを終了しもう一度起動しなおすと、サーバーから全量取り直すので、
出来高が無かった時間も足が作成されてしまいます。

ちなみに、岡三RSSを再起動すると歯抜けが無い状態になりますでしょうか?
もし歯抜けが発生しないのであれば、その時間に取引が無かった可能性があります。

しかし、一点気になるのは、21:25から翌朝まで出来高がまったくなかったという事は
流石に考えられないため、もしかしたら通信ができていない可能性も考えられます。


ちなみに、どの限月の何日のデータかわかりますでしょうかー?
データがあるやつであれば、出来高がどんなものが見てみます!!

2020年06月15日

大野 了

りなさん

お久しぶりです!!

分足で6日以上のデータですかー
残念ながら岡三RSSでは取得ができないです

確かに俺も2週間分ぐらい取れると良いなーと思うときはあります(笑

残念ながら・・・
自身でデータをためておくしかおくしかないと思います(涙

2020年07月31日

りな

大野さん

お久しぶりです!

カギ足ライフを楽しんでいたのですが、また1つ問題が発生しました。
岡三RSSの機能上、分足ですと最大5日分のデータが取得できると思うのですがそれが原因で売り買いが入るはずのところで入らず誤発注されていまいました。

6日間以上のデータの取得方法はありますでしょうか?
出来れば10日分あると安心できるのですが、、、。

よろしくお願いします!

2020年07月31日

大野 了

FCANDLE_2.xlsx (92.1KB)

りなさん

なるほどー
なら、VBAを使わずにやる方法を・・・

VBAを使わないとだいぶ面倒なのですが、
データの取り込みの定期実行を利用して、定期的にシートを更新させる方法があります。

1.どこか適当に開いているセルをクリック
2.データ ー データの取得を選択 ー その他のデータソースから ー テーブルまたは範囲からを選択
3.テーブルの作成ダイアログが上がってきたら、そのままOKを押す
4.PowerQuery エディタが上がってくると思うので、そのまま保存して読み込むボタン押下
5.新しいシートが出来て、元のセルの場所に『列1』と出てきたら成功
6.データ - 既存の接続を選択
7.既存の接続ダイアログが上がってきたら『このブック内の接続』の『クエリーテーブルxxx』を右クリック
8.接続プロパティの編集が出てきたらクリック
9.クエリプロパティダイアログが上がってきたら『定期的に更新する』をチェックし、1分毎などに設定し保存

これで、1分ごとにシートに更新処理が掛かって、
1分ごとのリアルタイムな時間が更新されるようになります。

後は今回添付したシートのようなセル関数を使って頂くと、
現在のリアルな時間の足が、Q列以降に作成されます。
シートの中身の説明ha書き出すとキリがなかったので、
ご不明な場合はまた連絡頂けますと幸いです!!


りなさんのExcelがoffice365だともっと簡単な作り方があるのですが、
バージョンがわからなかったので、どのバージョンでも動くように作ってありまーす!!

2020年07月12日

りな

大野さん

実は私のカギ足が少々独特で時間が飛ぶとエラーが起きてしまうんですよね・・・。
なので解決したいなと思っておりまして・・。

VBAなのですが恥ずかしながらあまり知識が無いので出来ればそれ以外でありますでしょうか・・?

2020年07月12日

大野 了

りなさん

なるほどー
一番上が最新足じゃないとダメなんですねー

んー
一番上をリアルな現在時刻の最新でないといけない場合、
どうしてもリアルな現在時間が必要になるため、
セル関数だけだと、変な方法しかなくちょっと微妙ですねー
VBAを使っていいなら、比較的まともな方法があるんですが・・・

ちなみに、りなさんのシステムってカギ足なんですよね?

カギ足だと山と谷の更新を観ると思うので、
出来高が無くて間が空いても大丈夫そうなんですがー
損切りとか、一定時間空けたら決済させるとかあるんですかー?
それだったら不可能ですが、もしそう言うのがなければ、
もしかしたら、そっちを直して時間が飛んでも、動くように直したが良いかもです。

なのでー
もしやるとしたら・・・

・セル関数だけでやって、ちょっと変な方法で現在時間を更新させる
・VBAで現在時間を更新させる
・時間が空いても動くようにする

のどれかですが、どれが良いですかー?
VBAが使えるなら、VBAで現在時間を更新させるのが一番いいと思いまーす!!

2020年07月11日

りな

大野さん

そうなんですね・・・。

今私がやっている方法が一番上の行にどんどん新しい数値が更新されていくようになっており、その一番上の数値で売買をするかどうかを決定しています。

そのやり方に応用させていく方法が現在見えず固まってしまっています。

何か方法はありませんでしょうか・・・?

文章分かりづらくてすみません!

2020年07月11日

大野 了

りなさん

やはりですか・・・
出来高が無いときも足を作ってくれるとありがたいんですが・・・

はい、H列の時間はあらかじめ手動で作っておく必要があります。

8:45、9:00 と入れて、オートフィル使うとあとは一撃で
15分ごとの時間をエクセルが作ってくれます。

2020年07月10日

りな

大野さん

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

大野さんのおっしゃっているように出来高が0の時に時間が飛んでしまいます。

一つ質問があるのですが、こちらのエクセルの「時間」はあらかじめ手動で打っておく必要があるのでしょうか?

2020年07月10日

大野 了

FCANDLE.xlsx (49.2KB)

りなさん、お久しぶりです!!

こちらの時間が飛ぶというのは、出来高が無い時間の足が飛ぶという事でしょうか?
もしそれでしたら、岡三RSSの動きとしては仕様となります。

これを回避するには、15分おきの時間のリストを作成して、
そこにFCANDLEの内容をDlookupなどでコピーしてあげるて、
出来高が無い時点の足は、一本前の足の終値を4本音すべてにコピーしてあげる必要があります!!

以前にも同じようなご質問を受けて作ったサンプルで申し訳ないのですが、添付します!!

中に説明などを入れていますが、もしわかり辛かったら言ってください!!

2020年07月10日

りな

大野さん

お久しぶりです!

1つ助けていただきたいことがあるのですがよろしいでしょうか。

現在、大野さんのおかげで自作のかぎ足売買シグナル等はうまくいっております。ありがとうございます!

ただ一点、都合の悪いことが起きていてそれが「時間が飛ぶ」という問題がございます。
この時間が飛ぶ現象は岡三RSSを再起動すると治るのですが、出先でこれが起きると家に帰るまで修正できません。

家にいなくても時間が飛んだ時に修正する方法はありますでしょうか?

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

2020年07月10日

大野 了

りなさん、こんばんはー

上手くいきましたかー
それはよかったです!!

また、何かありましたら―

素敵なカギ足ライフを!!(笑

2020年06月19日

りな

大野さん

ありがとうございます!

確かにA2セル等を削除したらうまくいきました!

恐らく最初からデフォルトで入っていたものですね、、!
言われるまで気づきませんでした。

本当にありがとうございます!

2020年06月19日

りな

大野さん

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

エクセルでやってみたのですがなぜか誤発注をまだ繰り返してしまいます泣

5分足で次の足ができる時以外にも常時発注をしようとしています。
現在は発注できないようにしているのですが永遠と発注しようとしています。

他に思い当たる原因ありませんでしょうか、、、?
これかな?っていう曖昧なものでも大丈夫ですのでよろしくお願いします、、、。

※IF文のAI=K等のセルはまったくKと表示されていません。

よろしくお願いします。

2020年06月18日

大野 了

りなさん、こんばんは!!


Excelファイル観ましたー!!

買いシグナルシートのA2、A26
売りシグナルシートのA2、A26
に、IF文が掛かっていない、FNEWORDER関数が書いてあるため
この子が延々と発注してるのではないかとー

カギ足シートのU4の中身がわかりませんが、
IDを毎回変わるようにされたとのことなので、ここが常日頃変わり続けているのだと思われます!!

だとすると
1.カギ足シートのU4が変わる
2.カギ足シートのU4が変わったのでシグナルシートの発注ID(C18)が変わる
3.買いシグナルシートの発注ID(C18)を使っている、A2、A26の計算式が走る
4.このセルにはシグナル判断のIF文が無いので無条件に発注

となっているのだと思われます!!

買いシグナルシートのA2、A26
売りシグナルシートのA2、A26
の4つは不要と思われますのでー
このセルの中身を消して頂けたら連続した誤発注は無くなると思います!!

これで直ると良いんですがー

2020年06月19日

りな

コピー.xlsx (95.1KB)

大野さん

やはり大野さんが教えてくださったこと以前に問題がありそうですよね・・・。

昨日はなぜか普通にできていたのですがIDを毎回変えるようにしないといけないということを知らずにやっていたので毎回変わるようにIDの部分を変えたことと、元々注文の時はサンプルシートを使っていなかったのですが今日初めて使ったら連続で誤発注が出てしまっています。

パスワードとシグナルは消しているエクセルを添付します。

結構消しているのでもしかしたら情報不足かもしれませんが、、、。

よろしくお願いします!

2020年06月18日

りな

コピー.xlsx (95.1KB)

大野さん

やはり大野さんが教えてくださったこと以前に問題がありそうですよね・・・。

昨日はなぜか普通にできていたのですがIDを毎回変えるようにしないといけないということを知らずにやっていたので毎回変わるようにIDの部分を変えたことと、元々注文の時はサンプルシートを使っていなかったのですが今日初めて使ったら連続で誤発注が出てしまっています。

パスワードとシグナルは消しているエクセルを添付します。

結構消しているのでもしかしたら情報不足かもしれませんが、、、。

よろしくお願いします!

2020年06月18日

大野 了

りなさん

まだ繰り返しますか・・・(ぬーん
かつ、次の足が作られる場合以外でも発注が掛かってしまうんですね・・・

先ほど投稿して頂いたIF文だけ見ますと、問題はない様に思いまーす。
多分、IF文自体は問題なく、他の部分が影響して繰り返し発注が掛かっているのだと思われるのですが、
Excelファイルを全体的に見てみないと、何とも・・・

りなさんのパスワードやトレードのノウハウの部分は消して頂いて、
誤発注を繰り返す状況のExcelファイルを上げて頂くことは可能でしょうかー?

もしあげて頂くことが可能であれば見てみまーす!!

2020年06月18日

大野 了

分足完全取得.xlsx (36.4KB)

りなさん、こんばんはー!!

IF文を見た感じ、
『AI4とAI6が両方とも"K"と"U"になったら発注』
という意味であれば問題ないと思います!!

FCANDLEを元にしたカギ足ですし、たぶんFCANDLE間の時差の問題だと思います

これまた言葉だけで説明できるか心配ですが、説明頑張りますw

FCANDLEのような1つの足の情報を複数のセル関数(始値、高値、安値、終値など)で取得するような場合、
セル関数が一つずつ動くので、一瞬だけ一部のセル関数だけが次の時間に行ってしまう場合があり、
これが原因で誤発注することがよくありまーす。

例えば、5分足を取得していた時に
起動時は、始値~終値まで8:45時点のデータが横一列に並んでいますが、
8:50になった瞬間、始値を取得するFCANDLEが動くので、
一瞬だけ、始値(8:50)、高値(8:45)、安値(8:45)、終値(8:45)
という行になってしまい、でたらめな状態の足一瞬だけできてしまいます。


これを対応する場合、その時間の足が正常に完成したのちに、
シグナルの判断をしてあげる必要があります。

以前、他の方に同様のご質問を受けてその時に作成したファイルで申し訳ないのですが、
添付します!!

添付ファイルのG2の様に、FCANDLEが同一件数取れていることという条件を追加することにより
誤発注が無くなると思います!!

りなさんの条件式ですとー
=IF(AND(カギ足!AI4="K",カギ足!AI6="U",G2="取得済み"),FNEWORDER(C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22),"miss")

というような感じになります!!

これまただいぶ込み入った説明になってしまいましたがー
わかり辛かったら、また書き込んで頂けますと幸いです!!!

2020年06月18日

りな

大野さん

こんにちは!
また困ったことが発生したのですがお力をお貸しいただけますか、、?

シグナルが発生していないのに先物が勝手に発注してしまいます。なぜでしょうか・・・?
発注の数式は

=IF(AND(カギ足!AI4="K",カギ足!AI6="U"),FNEWORDER(C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22),"miss")

としており、『カギ足!AI4』と『カギ足!AI6』にはそれぞれ条件がそろうと「K」または「U」とでるようにしています。

ですが全くシグナルが出ていないのに発注されてしまいます。

原因分かりますでしょうか、、、?

2020年06月18日

大野 了

りなさん

ですねーw

なにはともあれ、伝わったようで、よかったです!!

また何かありましたら、お気軽にご質問頂けますと幸いです!!

2020年06月17日

りな

大野さん

なるほど!そんな仕様があったなんて、、、。難しいですね笑

いつもありがとうございます!

2020年06月17日

大野 了

りなさん、消えている原因がわかりました!!

分足は過去5日分のデータしか取得できません。
この時、日中は、りなさんがおっしゃれます通りの動きで、
一番古いデータが消え、新しいデータが追加される動きなのですが、
営業日が変わった時のFCANDLEの動きは、
最古の一日分のデータがまるっと一気に帰ってこなくなります。

今日を例にすると・・・

昨日の夜間の終わりの時点のFCANDLEの戻り値は、
6/9の8:45~6/16の5:30までの、まるまる5日分のデータが帰ってきます。
※ここまでは予定通り!

しかし、これが今日の朝になった時点でFCANDLEの戻りは
いきなり、最古の1日分がまるっと帰ってこなくなって、
6/10の8:45~6/15の5:30の4日分しか戻ってこなくなります。
※ホントは6/9の8:45~6/16の5:30まで帰ってきてほしい

そしてその後、16日分(本日分)が5分ごとに1本ずつ足が出来ていきます。

この時、厄介なことにExcelのセル上は6/9の8:45以降のデータは消えずに残っているため、
ここに、5分ごとに列が増えていき、
一番古い日付の一番最近の時間が上書きされて消えて行っています。

これを解決するには、
毎朝、いったんFCANDLEのデータを全部クリアするか、
過去4日分だけでカギ足を判断する必要があります!!

言葉だけだと説明がだいぶ難しいのですが、伝わりましたでしょうかー?
もし伝わらなかったら、お気軽に返信くださーい。

なんかExcelで図でも描きますw

2020年06月16日

りな

Book1.xlsx (65.4KB)

連続の投稿すみません。

一応、使っているのはサンプルシートと一緒のものですが使っている4本値のデータをお送りします。

2020年06月16日

りな

大野さん

仕事していて返信遅くなってしまいました。すみません、、、。

今、じーっとエクセルの変な箇所を見ていて気付いたのですが値の更新のされ方が変でした。

と言いますのもFCANDLE関数は更新される際、一番古いデータが消え、新しいデータが追加されると思います。

ですが、見ていると消え方が一番古い日付の一番最近の時間から消えていました。(すみません、語彙力が、、、)

例えば、
21:00 〇〇円
20:55 〇〇円
というようにデータが入っていたとすると21:00からデータが消えてしまっているということです。

伝わりましたでしょうか…?

なんでこうなっちゃうんでしょうか?

2020年06月16日

大野 了

6/8のデータを見てみたんですが、
N225、Topixとみてみたんですが、
期近に関しては、出来高が無い時間はなかったですね・・・

2020年06月15日

大野 了

場所が変わったんですかー
なんか大変そうですねー

岡三RSSの再起動後の、FCANDLEの結果には抜けは無い感じでしょうか?

もしFCANDLEの結果に抜けが無いのであれば、
VBAかエクセルの関数に何か悪い部分があるかもしれませんねー

6/8の19:30以降のですかー
家に帰ってデータみてみまーす!!

あと、もし問題が無ければ・・・
りなさんのパスワードや、ロジック的なノウハウの部分を消して、
Excelファイルをアップロードして頂くことは可能でしょうかー?
技術的なところなら見てみることも可能なので・・・

2020年06月15日

りな

大野さん

今少しいじっていたらデータが飛んでいる箇所が変わっていました。

現時点では6/8 19:30からいきなり次の日に飛んでしまっています。

大野さんのおっしゃる通り、FCANDLE関数を使っています。エクセルでは4本値をサンプルシートからコピーして5日分を所得できるようにしています。

もう何がなんだか、、、笑

よろしくお願いします。

2020年06月15日

りな

お久しぶりです!

大野さんのおかげもあり、だいたいエクセルが完成したのでいざ今日やろうと思ったのですが、時々時刻が飛んでしまっているところが何箇所かございます。
例えば、21:25分で次がいきなり次の日の8:45だったり、15:05の次が15:15だったりします。(現在は5分足で情報を所得しております。candle関数です。)

原因とかわかったりしませんか、、、?

2020年06月15日

大野 了

はい、暇人ですのでいつでも!!

2020年06月12日

りな

大野さん

本当にご丁寧にありがとうございます😭

カギ足の自動売買システムを作るのに行き詰まって諦めかけていたので本当に助かります!

今から作成に取り組んでみます。ですが大野さんの言ったようにおそらくまたどこかで行き詰まる可能性があるのでまたよろしくお願いします😢

2020年06月12日

大野 了

りなさん

そうですねー
実際に発注する場合ですが、VBAが書けるなら
VBAにて発注を掛けるのが一番簡単だと思います!!

もし、Excelだけでやられる場合は、

1.時系列のカギ足作る
2.一日で複数の山や谷ができる
3.一つひとつの山や谷にIDを付ける(ROW関数などで)
4.一番大きいIDの山と谷を『シグナル用、山、谷』として、どこかわかりやすいセルに表示する
5.そのセルを使って、NEWORDERを実行

という感じかなーと・・・

CANDLE関数でデータがどんどん増えて最終の山谷がどんどん更新されていくと思うので
ROW関数などで作ったIDが一番大きいものが最新の山、谷と判断して大丈夫と思います!!


説明も稚拙なため、多分、言葉だけではわかり辛いと思います。
多分、いろいろと詰まると思いますので、
その時はお気軽にご質問ください!!

2020年06月12日

りな

大野さん

なるほど、、、ちょっと試してみます!

多分実際にカギ足をする時に交互に買いと売りの発注をすることもVBAじゃなくエクセルで可能でしょうか?

質問ばかりですみません😂

2020年06月12日

大野 了

りなさん

なるほどー
そういう感じなんですねー!!

はい、岡三RSSのCANDLE関数はリアルタイムに足が作成されるため、
リアルタイムでカギ足が出来上がっていきます。
※イメージでは、Excelに1分間ごとに行が1つずつ増えて行く感じとなります。

山や、谷の判断としては・・・
『2行前より、1行前が高い & 1行前より、今が低い』
だと、1行前が山
『2行前より、1行前が低い & 1行前より、今が高い』
だと、1行前が谷

的な判断で、あとはそこを上か下に突き抜けたらNEWORDERで新規発注で良いと思います!!
VBAの方が確かに簡単なような気がしますがー

がんばればExcelのみでも行けるかもです!!

2020年06月11日

りな

大野さん

丁寧にありがとうございます!

まだ、カギ足の情報すら作れていないのですが、分足で「山を超えたら買い」「谷を下回ったら売り」というシグナルを交互で行えるような自動売買システムを作りたいと考えています、、

また、このカギ足を作成する方法とはリアルタイムで勝手に更新されるようなものなのでしょうか。

エクセル初心者ですみません、、、。

よろしくお願いしますm(._.)m

2020年06月11日

RSSユーザー

岡三RSSの更新ボタンを押すとマクロ’Reflesh’を実行できません。、、、、というメッセージが表示される

いつも岡三RSSを利用させていただいている坂本と申します。
先週まで問題なく動いていたエクセルなのですが、今朝エクセルを使用として岡三ンRSSの更新ボタンを押すと以下のメッセージが出て更新できなくなりました。
「マクロ’Reflesh’を実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。」
もちろんマクロはすべて有効にしていますし、マクロ’Reflesh’もわかりません。
どのように対処したらよいでしょうか?教えていただけるとたすかります。

2021年06月07日

大野 了

坂本さん、こんばんは!!

無事解決できたようでよかったです!!

2021年06月07日

坂本 徳一

大野様、無事解決しました。
ありがとうございました。

2021年06月07日

大野 了

坂本さん、こんばんは!!

エラーの件ですが、もしかすると参照設定でエラーが出ているか、
アドインがExcelのアップデートなどで外れてしまったりしていませんでしょうか?

以前、ご質問を頂いた際のリンクで申し訳ございませんが、
以下のリンクを参照して頂けますと幸いです!!

https://bbs.okasan-online.co.jp/ont/rss/board/?category_id=1&topic_id=200

2021年06月07日

T・S

他のPCでの使用について

初歩的な質問で恐縮です。
いつも使っているPCの調子が悪く、作成したEXCELファイルを別のパソコンで開きました。
インストールの仕方が悪かったのか、アドインの設定がおかしいのか、各セルの岡三RSSの関数が「='C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\岡三RSS.xla'!idx("N225","現在値")」のように表示(変更?)され、エラー(#NAME?)となってしまいます。
岡三RSSの使い方というより、EXCELファイルの使い方に原因があるのでしょうか。
初歩的な質問でたいへん恐縮です、ご教示いただけると助かります。

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

2021年10月01日

大野 了

T・Sさん、こんにちは!!

うまく行きましたかー
よかったです!!

お役に立てて幸いです!!

2021年10月04日

T・S

ご教示ありがとうございます。

「\AddIn」なしに寄せ、
「C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\岡三RSS.xla'!」を
削除し、うまくデータ取得することができました。

初歩的な質問にも丁寧にご回答いただき、ありがとうございました。
たいへんお手数をおかけいたしました。

2021年10月04日

大野 了

T・Sさん、こんにちは!!

説明が不足していましたが、
「\AddIn」なし、もしくはありに設定した場合に
このExcelファイル自体は「\AddIn」なしのExcelアドインを参照するように設定がされていますので、

どちらかに寄せた後に、
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\岡三RSS.xla'!
の部分を削除して保存してあげる必要があります!!

2021年10月01日

T・S

早速ご回答をいただきありがとうございました。

ファイルを作成したパソコンの設定が「\AddIn」なしでアドイン設定されていました。
「\AddIn」なしに寄せてみたのですが、うまくいかなかったので、
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn に
寄せて再作成?してみます。

ありがとうございます。




2021年10月01日

大野 了

OSのbit数が異なる場合は、残念ながら解決方法がないため、
ファイルを移動するたびに
'C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\岡三RSS.xla'
を消してあげる必要があります!!

もし、PC間でWindowsのbit数が同じ場合は、
Excelアドインの指定パスが異なっていると思われますので、両方のPC共に
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn
に寄せてあげたら、PC間でファイルを移動させてもこのエラーは発生しなくなると思います!!

2021年10月01日

大野 了

T・Sさん、こんにちは!!

こちらですが、岡三RSSをインストールした際に、
Excelアドインの指定を行いますが、
このExcelアドインの指定パスが異なるPC間で、
Excelファイルを移動させた場合に発生します。


PC間でExcelアドインの指定場所がずれてしまうの原因としては以下の2点があります!!

1.PCのWindowsのbit数が、32bitと64bitと異なる
 32bitのWindowsでのインストール場所:
 C:\Program Files\Okasan Online Securities Co.,Ltd\岡三RSS

 64bitのWindowsでのインストール場所:
 C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS

 64bit版のWindowsでは『(x86)』とフォルダ名が異なるので、パスが変わってしまい
 このエラーが発生してしまいます。


2.PC間で異なる場所のExcelアドインを指定している
 岡三RSSのExcelアドインは
 C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS
 C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn
 となぜか2か所にインストールされてしまいます。

 どちらを指定しても正常に動作してしまうため、
 片方のPCが
 C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS
 もう片方のPCが
 C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn
 となっていると思います!!

2021年10月01日

上野

翌日以降の株価に関して

お世話になっております・
岡三RSSで銘柄スクリーニングシートを作って、毎日データ取得し、日付毎に保存しています。
岡三RSSの関数で前日終値、前日比を表示させる事ができますが、
振り返りとして、該当日の翌日以降の終値を表示させるには、なにか関数はありますでしょうか?

現状、該当日の翌日にQUOTE関数で終値(現在値)を取得、翌々日もQUOTE関数で終値(現在値)を取得。
これを該当日と比較して、上がったか下がったかを振り返りとして見ています。

関数、または他に何か良い方法はありますでしょうか?
ご教授頂けると幸いです。
よろしくお願いいたします。

2021年08月15日

大野 了

上野さん、こんにちは!!

お役い立てて幸いです!!
また、何かありましたらお気軽にご質問頂けますと幸いです!!

2021年08月18日

大野 了

上野さん、こんにちは!!

そしてご質問を見落としておりました・・・
返信が遅くなって申し訳ありません。


こちらは
過去日の指定した日付の終値と、その翌日の終値が取得されたいという事で、
間違いありませんでしょうか?

残念ながらQUOTE関数のような取得の方法で、指定日の終値を取得はありません。
過去三年分以内でよければ、CANDLE関数という過去の四本値を取得する関数があります。

こちらで日足を3年分取得して頂き、その結果から検索されるというのはいかがでしょうか?

例)
A1セル:=CANDLE("8609","東証","D","36","取引日付",A2,"D","0")
B1セル:=CANDLE("8609","東証","D","36","終値",B2,"D","0")

とすると、A2、B2から下向きに日足のデータを3年分取得します!!

2021年08月17日

上野

大野さん

こんばんは。いつもご丁寧にご教授頂きありがとうございます!
やはり、指定日の終値を取得する方法はないのですね…
教えて頂いた通り、CANDLE関数で遡って取得します。

2021年08月18日

kamap

日本株の信用取引、分割約定について教えてください

分割約定の質問1219.xlsx (13.8KB)

やってる事は、
 ①成行買い(11列)  分割されているか列9にcheck
 ②指値売り(16列)
 ③成行売りへの変更(21列)
なのですが、分割約定の場合②の売りができません
約定毎に売り注文を出してるのですが、どこがいけないのでしょうか?

分割でなければ、②も③も正常に動いてます

よろしくお願いします

2019年12月19日

大野 了

kamapさん、こんにちは!!

なんかわかった気がします。
この銘柄、S高してたんですね・・・

今回は分割約定が原因というより、値幅制限に引っかかってると思われます!!

この銘柄は18日の終値が、665円なので、19日の値幅制限は565円~765円になります。
しかし、4列で一日の値幅制限を超える766円で指値価格を指定しているため、
値幅制限超えで失効してるんだと思われまーすっ!!

値幅制限内で、指値を指定してあげるとうまくいくと思いまーす!!



ご質問の内容に答えますw

>過去ログを検索した際に、”枚数”と”枝番”という私の知らないワードが出ていたのですが、日本株の信用取引では関係ないのでしょうか?
枝番は先物での扱いになりますので、信用取引では関係ないでーす!!


>また、ORDERRESULTでのエラーは積み重なっていく形式でしょうか? ログ形式に残さないと上書きされる?
これは積み重なっていきますがー
日にちが変わると消えてしまうので、後日また観たいのであればVBAなどで転記してあげる必要があります!!


>また、ORDQUERYで、第一引数に3をしてしてのエラーは
>VBAで取得できますか?ポップアップでしょうか?
こちらはVBAでもポップアップでもなく、約定済みのORDQUERYと同じようにセル関数として書いてシートに書き出す形となります!!
確かにVBAで取れると便利なんですが・・・

2019年12月22日

大野 了

kamapさん、こんにちは!!

なるほど!!ログだったんですねー!!
だいぶ悩みましたw
ログ残ってるとありがたいですね

ログだとしたときに・・・

101行目の約定の部分(B101~G101)を見てみますと、
成行で決済がかかってるように見えるのですがー
問題の現象としては、
『ホントは指値で出したかったけど、なぜか成行で発注してしまっていて、
受付中にならず、4)の指値検証ができない』
と感じな感じがするのですがあってますでしょうかー?

でも、16列を見る限り、指値で発注してる感じですよね・・・
ちなみに、16列のREPAMENTの関数は、VBAで書かれてますでしょうか?
それとも本来のExcelシートには最初から関数は書いてあって、
VBAにて15列(O列)のフラグをたてている感じになりますでしょうかー?


多分、考え方とかは完璧と思うのですが・・・
VBAの処理順とか、書き込むタイミングとかで発生してる気がしまーす。

成行で決済がかかってしまっていたのであれば、
ポップアップに『対象の建玉がねーぜ』的なエラーが出てたと思います。

分割約定させないといけないので、テストが大変ですね・・・これは・・・(涙

2019年12月22日

大野 了

kamapさん、こんにちは!!
ファイルありがとうございます!!

VBAで売買されてるんですね・・・
ごめんなさい・・・
VBAのソースが無いのと、Bの部分の取得関数などいくつかセル関数が抜けているので、
何とも言えないのですが、
動きを整理させてください。

以下、想像の部分が大半なのですが・・・
まず、全体的な動きとして・・・

・1列の、2桁目が同じもの、11~19までが1つの銘柄に対する新規発注や決済などのワークフィールド
・VBAにてシグナルを感知して、シグナルが出ると・・・
11や21などに新規発注のための情報を書き込み、11列でMARGINORDERを書き込んで新規発注
・新規発注が終われば、ポジションなどをVBAで監視して、1列が12や22に決済のための情報を書き込み
・16列以降に、決済用のREPAYMENTORDERなどを書き込み
・書き込んだ後に15列のフラグを立てて、決済発注
・損切になれば 20列にフラグを立てて、損切様に注文を変更

という感じでしょうか
大半が妄想なので、間違っていらすみませんw

ちなみに、Bの部分はどうやって取得されているのでしょうか?
いきなり値だけ出ていて、判断がつかず・・・(ごめんなさい

もし、上記の場合、分割約定しなかった場合は正常に動いてるとの事と、
16列のAの部分の関数も問題なさそうなので
多分、建玉枚数関係か建単価関係だと思います。

だとしたときに以下の点が気になりました。
・建単価の取得用のPOSITION関数が無い(たぶん取得金額から保有数量を割って出している?)
こちらは取得単価にて、建単価を取得できますので、それを使ったが安全かもしれません
・決済の情報をたぶんVBAで転記されている思うのですが、そのタイミングが
POSITION関数の動きの間に入って動いてしたりして、転記と決済関数の動作タイミングがおかしい


>エラーメッセージは見るようにしてなかったのですが、参考のために追加しました。ORDERRESULTのエラーメッセージですよね?
こちらは、3種類のエラーの見方があります

・ORDQUERYで、第一引数に3をしてして約定のエラーを見る
・ORDERRESULTでエラーメッセージを見る
・REPAYMENTORDERが実行されたときに、左下にポップアップでエラーが出力される

この3つのどれかで、エラーが表示されていると思います!!

2019年12月21日

大野 了

kampaさん、こんにちは!!

分割されていなければ、正常に動作するとのことでしたので、
多分、決済の枚数絡みだと思いますが、
添付頂きましたファイルのセル関数の式が消えていて
判断がつかない状況です。

出来れば関数の式のままファイルを上げて頂くと、何かわかるかもしれませんっ!!

また、エラーになった時、岡三RSSのエラーメッセージが画面の右下の方に
ポップアップで出ると思うのですがー
そちらはどんなメッセージが出ていますでしょうかー?

2019年12月20日

大野 了

kamapさん、こんにちは!!

S高が続いた上に、たまたま値幅の制限を超えちゃったからですねw

なにはともあれ、お役に立ててよかったです!!

2019年12月23日

kamap

大野様こんいちは

値幅制限ですかぁ、お騒がせしました
SIG演算の都合上、値段は全て一定値になるように正規化して
アルゴくんでたもので、実際の値段に関して意識が薄かったです
また、損切りのリミットも価格連動にしているため、最初の指値
は高めに設定してました、値幅制限のアルゴ追加します

丁寧な対応ありがとうございました



2019年12月23日

kamap

大野様こんにちわ、説明が下手ですみません

>101行目の約定の部分
  分割約定で止まっているのを認識して、HPから手動で成行売り
  を行いました。101行はその結果が反映されています
   HPからの注文照会でも、その1件はPCで以外の3件は
   ネットトレーダーとなっていました

>16列のREPAMENTの関数は、VBAで書かれてますでしょうか?
   SIG発生の都度、9列の約定回数を見てFOR分で回して
   書いてます
     Cブロックは質問のために後から追記してます

過去ログを検索した際に、”枚数”と”枝番”という私の知らないワードが出ていたのですが、日本株の信用取引では関係ないのでしょうか?

また、ORDERRESULTでのエラーは積み重なっていく形式でしょうか? ログ形式に残さないと上書きされる?

また、ORDQUERYで、第一引数に3をしてしてのエラーは
VBAで取得できますか?ポップアップでしょうか?

実際にある程度の売買を行わなければ検証できないので
ドキドキですw

2019年12月22日

kamap

分割約定の質問1221.xlsx (16.3KB)

大野様レスありがとうございます
 ファイル添付します
Bの部分は95列目にあり、結果は101行からなのですが
チェックした時点でのログをのこしてます


>動きを整理させてください。
はい、大野様の推測通りです
少し説明を書きます(PW等は省略)

1)買い動作
   CODE,VOL(買い株数)を記入して11列の実行
2)買い注文の検証
   Bブロック(ログなので行位置はズレている)から
   約定回数に応じて、約定値と約定数(VOL)を記入

3)指値売り動作
   必要パラメータは揃ってるので(?)16列実行
4)指値売り検証
   Dブロックにて注文番号を取得し5列に記入

5)成行売りへの変更
   注文番号は取得済なので21列実行

6)売り約定の検証
   Eブロックにて終了を確認

という流れです


今回は、エラーメッセージの確認はできて無いのですが
3)の結果が”発注完了”になっており、4)のORDEQUERYで
止まっている状況です

800の注文に対し、300と500に分割されてそれそれの
約定金額もPOSITIONのログと一致しているのですが

そもそもの考え方が足りないのかな?と思い質問させて頂いてます

よろしくお願いします

2019年12月21日

kamap

分割約定の質問1220.xlsx (15.9KB)

レスありがとうございました
 失礼しました、式入りのファイル添付しました

VBAでの自動売買をおこなっており、SIGが発生するとこのシート
にて前回の①から③の動作を行わせています

21行目で買いを行い、POSITIONで2分割約定していることから
22と23に約定値と約定数を書き込んで
  (10分割されたら破綻しますがw)
売り動作をおこなった結果なのですが、売り動作自体は発注完了になっていますが
ORDQUERYにて執行中にならず止まってしまいました。

エラーメッセージは見るようにしてなかったのですが、参考のために追加しました。ORDERRESULTのエラーメッセージですよね?

また、②が動いた場合の③成行売りへの変更も式をBに入れましたのでアドバイスお願いします

2019年12月20日

イーサン

NEWORDERの引数について

いつもお世話になっております。

NEWORDERの引数の役割について分からない部分があるため
教えて頂けますと幸いです。

第10引数:完了メッセージ
  →これは何が完了したことを意味するのでしょうか?
   注文がサーバーに到達したことでしょうか?

第11引数:注文画面
第16引数:注文確認
 →注文画面と注文確認はそれぞれどういう役割なのでしょうか?
  注文画面は注文した結果を表示する画面?
  注文確認は注文するかどうかを選択する画面?

第17引数:注意画面
 →何を注意する画面なのでしょうか?

実行してみたいのですが、役割を理解せずに実行するのは
怖いので、ご存知の方がいらっしゃいましたらご教示
いただければ幸いです。

また、可能であれば、画面イメージも添付いただけると
なおのことありがたいです。

もっとも、公式の関数マニュアルに載せていただけるといいのですが。

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

2019年12月16日

イーサン

大野さん

いつも親切に回答いただきありがとうございます!

おかげさまで理解できました。

どうもありがとうございました!

2019年12月17日

大野 了

ひとつ思い出しました。
投稿した後に読み直してて思い出しましたw

岡三RSSがVer2になってから『注文画面』は無くなっていて、
『注文確認』画面しか出ないようになったんだった・・・

第11引数は互換性のためだけに残っているだけとなりまーす。

2019年12月16日

大野 了

イーサンさん、こんにちは!!

画面イメージが無いのが申し訳ないのですが・・・

>第10引数:完了メッセージ
>  →これは何が完了したことを意味するのでしょうか?
>   注文がサーバーに到達したことでしょうか?
これは注文が完了したことのメッセージです。
正確な動きはわからないので間違ってる可能性はありますが、
たぶん注文がサーバーに到達したら出るような気がします。


>第11引数:注文画面
>第16引数:注文確認
> →注文画面と注文確認はそれぞれどういう役割なのでしょうか?
>  注文画面は注文した結果を表示する画面?
>  注文確認は注文するかどうかを選択する画面?
これ分かり辛いですよね・・・w

NEWORDERの『本来』動きとしましては、
注文用のダイアログを上げるまでが本来の動きとなります。

1.NEWORDERに発注内容を設定して実行する。
2.NEWORDERで指定した内容がデフォルトで設定された『注文画面』が上がる
3.ここで注文ボタンを押すと注文される。
4.と思うけど
5.もう一度、注文内容に間違いがないか確認するための『注文確認』画面が表示される
6.ここで注文ボタンを押すと、ほんとに注文が飛ぶ

という動きになります。

長くなりましたが
『注文画面』はNEWORDERで入力した内容が表示される、実際に注文するための画面で
『注文確認』画面は『注文画面』で注文ボタンを押した後に、もう一度内容を確認するための画面
となりまーす。


>第17引数:注意画面
> →何を注意する画面なのでしょうか?
こちらは空売り規制や、関与率(流動性が少ない銘柄に大量に注文を出すこと)などで引っかかるときに、注意画面が表示されまーす。


確かにマニュアルにここら辺の動きがまとまって乗ってると良いですねー

2019年12月16日

ひろぷり

日経225ミニ15分足の4本値取得後の更新について

(すみません、間違えてFXやCFDの方に質問してしまったのでこちらに再度質問をあげさせていただきます)

はじめまして、数日前から岡三RSSに申し込みをした超初心者です。225先物の取引歴は5年、EXCEL関数やVBAは初心者で勉強を始めたばかりです。
ストキャスティクスを利用したシステムトレードを行いたく、本サービスを利用しはじめました。
こんな質問を書くとお叱りを受けそうなのですが、超基本的であろう質問をさせてください。

日経225ミニの15分足の情報を関数マニュアルなどを参考にして取得したのですが、取得時以降情報が更新されません。

ちなみに入力した関数は(例えば終値を取得する場合)
=FCANDLE("N225mini",0,15,3,"終値",B2,"A",0)

おそらく根本的なことができてないんだとは思います。
チャート化はしていません。
ちなみに別シートに取得した板情報は更新されます。

いろいろ調べて試しているのですがダメでして
どなたかご教示いただけませんでしょうか?

2020年02月06日

大野 了

動きましたかー!!
お役に立てたようで、良かったでーす!!

2020年02月07日

ひろぷり

大野さん、丁寧にわかりやすくご説明いただき、どうもありがとうございました。

大野さんのご指摘通り、同じセルに重ねてしまっておりました。
いただいたサンプルのようにずらしたらできるようになりました。

初歩的な質問にお時間とらせてしまって恐縮してます。
本当にどうもありがとうございました!!!!!!


2020年02月06日

大野 了

FCANDLEサンプル.xlsx (11.9KB)

ひろぷりさん

わかり辛くてすみません・・・
もっと具体的に書けばよかったですね・・・

岡三RSSは
『=FCANDLE("N225mini",0,15,3,"終値",B2,"A",0)』
という、関数があるときに、ロウソク足の情報を取得します。
この時、第6引数に指定したセルから下方向に時系列の情報を表示しまーす!!

今回の例ですと、
B2:8:45の終値
B3:9:00の終値
B4:9:15の終値
B5:9:30の終値
と表示されていると思います。

もし、この時FCANDLEの式がB2に書かれてしまっていると、
一回目にデータを取得した際に、FCANDLEの式が書かれているB2が、
8:45の終値で上書きされてしまい、FCANDLEの式が消えてしまいます。
こうなると、2回目以降のロウソク足が取得されなくなってしまいます。

このような時は、上書きされないB1のセルなどにFCANDLEの式を書き
その出力をB2から行うようにすると、B1のFCANDLEの式が残ったままになるため
2回目以降の足も取得され続けます!!

サンプルを作ってみましたので、観て頂けますと幸いです!!
サンプルではA1にFCANDLEの取得関数を記述し、A2からその情報を表示していまーす!!

2020年02月06日

ひろぷり

大野さん、さっそくどうもありがとうございます。
いまPCを動かす環境にないのでのちほどトライしてみます。

実のところ
>岡三RSSのデータで式が上書きされているかもしれません。
今回の例ですと、ロウソク足の情報の出力がB2からになっていますので、
=FCANDLE("N225mini",0,15,3,"終値",B2,"A",0)の式が、B2などに書かれていますと、
データで式が上書きされてしまって、2回目以降のデータが取得できなくなってしまいます!!

の意味がイマイチ理解できてないのですが
いただいたアドバイスを参考にやってみます。
それでもどうしてもダメならまた質問させてください。

お答えいただきありがとうございました。

2020年02月06日

大野 了

ひろぷりさん、こんばんは!!

ストキャス懐かしいです!!
そして使いこなせなかった思い出も・・・(笑


さて本題ですが・・・

>日経225ミニの15分足の情報を関数マニュアルなどを参考にして取得したのですが、取得時以降情報が更新されません。
>ちなみに入力した関数は(例えば終値を取得する場合)
>=FCANDLE("N225mini",0,15,3,"終値",B2,"A",0)

こちらですが、自分のところで同じ式を書いてみたのですが、
初回の取得以降もデータが更新されて続けて行きましたので、式自体に問題はないと思います。


岡三RSSのデータが更新されない事象としてよくあるのが・・・

・Excelの再計算が手動になっている
・岡三RSSのデータで式を上書きしてしまった

などがありmさ鵜。


他のシートの板情報は更新されているとのことですので、
手動計算になっているとは考えつらく、
もしかすると岡三RSSのデータで式が上書きされているかもしれません。

今回の例ですと、ロウソク足の情報の出力がB2からになっていますので、
=FCANDLE("N225mini",0,15,3,"終値",B2,"A",0)の式が、B2などに書かれていますと、
データで式が上書きされてしまって、2回目以降のデータが取得できなくなってしまいます!!

以上、ご確認頂けますと幸いです!!

2020年02月06日

わにの

日経225監視シート

日経225監視シート.png (277.0KB)

いつも岡三RSSを活用させていただいています。ありがとうございます。過去の岡三オンライン証券のYouTube動画を見ていたところ、添付画像の動画を見つけ拝聴しました。それは、岡三オンライン証券RSSサンプルシート解説動画、公開日平成24年5月11日、日経225監視シート、の解説動画です。このサンプルシートは、岡三RSSのサイトを探しても見当たりません。できましたら、日経225監視シートをアプロードしていただけなしでしょうか。

2020年02月16日

岡三オンライン証券

わにのさま

いつも岡三RSSをご利用いただき、誠にありがとうございます。

お問合せいただきましたサンプルシートですが、以前に日本経済新聞社さまより著作権の問題で指摘を受け、公開を停止したものです。

そのため、当該サンプルシートを非公開としております。

解説動画においてもその際に非公開とすべきでしたが、作業漏れにより公開となっておりました。

上記のことから、さきほど解説動画も非公開といたしましたことをご理解ください。

引き続き変わらぬご愛顧、何卒よろしくお願いいたします。

2020年02月17日

RSSユーザー

エクセル2016で、セルの値が変化する回数をカウントアップする方法です。

お世話になっております。エクセル2016で、セルの値が変化する回数をカウントアップする方法を教えてください。マクロの知識はありません。エクセルで、A1,A2,A3にある数値が更新された回数を、B1,B2,B3にそれぞれカウントアップしたいのです。よろしくお願いします。

2020年07月24日

大野 了

RSSユーザさん、こんにちは!!

マクロを使わずに、セルの変化を取りたいと言う事ですね・・・

いろいろと考えたり調べたりもしたのですが、
マクロを使わない方法は思いつきませんでした。

マクロ(VBA)を使う方法であれば、CalculateイベントやChangeイベントで
A1~A3が変更されるたびに、B1~B3に加算していくことは可能なのですが・・・

どなたかわかられる方いらっしゃると良いのですがー

もしマクロでよければ、またご連絡頂けますと幸いです!!

2020年07月24日

RSSユーザー

ありがとうございました。

2020年07月24日

りーぼうじいじ

岡三RSSのアドイン多重登録について

岡三RSSをアドイン登録したエクセルアドインファイル(***.xlam)をアドインとして、利用している方はいらっしゃいますか。
以前、そのような使い方をしていて動作が不安定だったので、現在は使用していません。
問題なく運用できている方がいるのであれば、その方法を教えてください。

複数のExcelプロセスを立ち上げて利用しているのですが、Excelプロセスが多くなってくるとPCへの負荷も大きくなります。
できるだけ負荷を減らすために共有で利用できるもの(ORDQUERYやPosition情報等)については一元化のアドインファイルが有効だろうと考えました。
以前の方法については、次のとおりです。
・実行エクセルファイルとアドインファイルの双方に岡三RSSのアドイン設定をすると、動作しなかった。(と記憶)
 (双方の岡三RSSの参照設定は行う)
・アドインファイルの岡三RSSのアドイン設定をし、実行エクセルファイルの岡三RSSのアドイン設定を外したら動作する。
 実行エクセルファイルがアドインファイルの岡三RSSをサーチして実行しているものと推察するが、サーチタイミングの問題か、不安定になり動作しないときも有った。
 (双方の岡三RSSの参照設定は行う)参照設定も試行錯誤しましたがこの設定が、一番マシな状況でした。
良い処理方法があればご教示ください。
よろしくお願いいたします。

ちなみに、岡三RSSは2台のパソコンに対応していますが、最近のパソコンは8コア、12コア、16コアが普及し始めています。
1台に2つの岡三RSS(別名同一アドインファイル?)が対応できれば、上記の件も使い分けが出来そうなのと、1台で分散処理できればより良いと思います。
対応して頂けるとありがたいですね。
岡三オンライン証券。ファイティング。

2021年02月19日

大野 了

りーぼうじいじさん、おはよーございます!!

参照設定などの内容を細かく書くとキリがないので、
以下の説明はあくまでもイメージとなります
また、自分は岡三RSSを作ってる人ではないので、岡三RSSのシステムに関しての説明は、
間違えている可能性もあることはご容赦ください。

まず、いろいろな言葉が入り乱れてるため、一つずつ整理させてください。

Excelアドイン:
『Excelアドイン』は”Excel自体”の拡張機能となります。(あくまでもイメージです。)
また、Excelアドインは見た目は同じアドインでも、〇〇〇型アドインというように、
見た目上同じアドインになっていても、できることがかなり異なります!
Excelで作る『Excelアドイン』はVBAのマクロをまとめて持って行くものとなります。
またこの設定はExcelファイルではなくExcel自体にかかります。

岡三RSSアドイン:
岡三RSS本体の機能をExcelの関数として使用できるようにしているラッパーとなります。
例えば、岡三オンライン証券さんに発注するには、
ユーザIDを送ったり、データを受信して結果をExcelのセルに出力しないといけないのですが、
セルにプログラムは書けないので
発注するためのプログラムを『=NEWORDER()』というような関数に置き換えてくれています。

Excel側のExcelアドインの設定:
こちらは"Excel自体(除くVBA)"で使える拡張機能の設定となります。(イメージ、あくまでもイメージですよ(笑)
ここに岡三RSSアドインを設定すると、セルで『=NEWORDER()』という関数がExcelセルで使えるようになります

VBA側の参照設定:
VBA側で使用する拡張機能の設定となります。
ここに岡三RSSアドインを設定すると、VBAで『=ORDQUERY()』という関数がVBAで使えるようになります。

2021年02月20日

大野 了

上記をふまえてご説明させていただきますと・・・

Excelのセル関数だけで、岡三RSSの関数を使用したい場合は、
『岡三RSSのアドイン設定』のみで大丈夫です。
逆に『岡三RSSのアドイン設定』を行わないと、Excelのセル関数として岡三RSSの関数が使えなくなります!!

今回作成したExcelで作ったExcelアドインはVBAを持って行くため、
VBAの中で岡三RSSの関数を使用するための参照設定が必要となります。

また、関数で同一名が出てきたときですが、
名前空間と同じような感じで、test.xlam!testfunc()としてあげたら大丈夫です



>昨日コメントを頂いた時点で、ORDQUERYやPosition情報のエクセルファイルを参照設定のみで試しました。
>その時は、30~40程度の岡三RSS関数の内半分がリターン無し(待っても反応が無いので時間遅れではない)となり、アドイン設定をすると全数リターンしました。
>今朝再度参照設定のみで試したことろ数回とも全数リターンとなっています。
そもそもORDQUERYやPositionってVBAからは使えないと思うのですが、
どの様に実行されておられるのでしょうか?
もしかしたら別要因かもしれません

2021年02月20日

りーぼうじいじ

大野さん
本来
①岡三RSSのアドイン設定でExcelのセル関数として岡三RSSの関数を使う。
②参照設定で、VBAの中で岡三RSSの関数を利用する。
仰る通りですよね。
(ラッパーと言えば、excelDNAもラッパーの様なものですね。)

先ほど送りました添付ファイルにあるように、参照設定でもセル関数が計算されてしまうので混乱しました。

①岡三RSSのアドイン設定でExcelのセル関数として岡三RSSの関数を使う。
を前提とすると、test.xlamとexec.xlsxの双方に岡三RSSのアドイン設定をすることになります。
これは、うまく動作しませんでした。
Facebookのアカウントを得たので、以前のことでしたが質問させていただきました。
もう一度、整理しなおして最初からやり直してみます。
(アドイン化したい機能は、ORDQUERYとPosition情報限定です。
 添付ファイルはお試し版として作りました。)
言葉の定義等混乱させて申し訳ありませんでした。

2021年02月20日

大野 了

りーぼうじいじさん

上手く行くことを祈ります!!
自分でわかることであれば、少しでもお手伝いできますと幸いです。

2021年02月20日

りーぼうじいじ

見直してみました。
アドインダイアログで岡三RSSのチェックを外したのですが、セルには
='C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\岡三RSS.xla'!BOARD(B2,"","買気配数量3")
が残っています。計算されて当然なのですね。
お恥ずかしいです。
まだ見落としている部分があるかもしれませんので、再度見直します。

2021年02月20日

大野 了

あーなるほど!!!
そうかその手がありました!!

確かに、先にVBAで参照設定を掛けた後に、
岡三RSSのチェックを外す手がありました!!

確かにこれだと、PGを組まなくてもVBAの参照設定を組むことができます。
すみません、まったく気がつきませんでした。
目から鱗です(笑

確かにこの方法だとpublic関数のような扱いになるので、
簡単にVBAの参照設定でセル関数側を動かすことができます!!

2021年02月20日

りーぼうじいじ

大野さん
先ほどコメントを送りましたが、その前にコメントを頂いていたのですね。
ありがとうございます。確認致します。

2021年02月20日

りーぼうじいじ

大野さん
早速の丁寧なコメントを頂き、ありがとうございます。

手順を見ると、Excelアドイン(test.xlam)は参照設定のみで、岡三RSSのアドイン設定をしていないようなのでその条件でアドインファイルのみのテストをしてみました。
目から鱗です。岡三RSSの利用説明には、参照設定とアドイン登録がセットになっていますので、参照設定のみで岡三RSS関数が動くとは思っていませんでした。
あくまで、test.xlamの参照設定とアドイン登録で、exec.xlsxの関数がエクセルの関数サーチの優先順位に従ってまず自分自身(exec.xlsx)の関数サーチし、アドイン登録が無いので次に参照設定とアドイン設定しているest.xlamの関数をサーチして実行しているものと思っていました。
故に、親から子の関数サーチのタイミングで、関数が実行されたりされなかったりの不具合が発生したものと理解していました。
考えてみれば、.Net関連の関数(クラス)は、VBEの「ツール」「参照設定」でライブラリファイルに参照設定すればオブジェクト化できるので当たり前なのかもしれません。
そうすると、アドイン登録って何?との疑問がわきます。
又、参照設定で動くのであれば参照設定のバッティングが起きないのか不安になります。VB.Net等では参照設定で同一メソッド(同一名前空間内)がある場合エラーとなりますからね。

昨日コメントを頂いた時点で、ORDQUERYやPosition情報のエクセルファイルを参照設定のみで試しました。
その時は、30~40程度の岡三RSS関数の内半分がリターン無し(待っても反応が無いので時間遅れではない)となり、アドイン設定をすると全数リターンしました。
今朝再度参照設定のみで試したことろ数回とも全数リターンとなっています。
通信環境?PCの性能の関係?等、よくわからないです
岡三RSS(岡三RSSプロジェクト)はパスワードが有り、中身を見ることができないので、標準モジュールかクラスモジュールなのかもわからず手探りになります。

大野さん、私の理解が思い違いしている部分があるのでしょうか?
いずれにしても、アドバイスを踏まえ、自分自身の理解を一旦クリアして疑問解消に再挑戦してみます。
1年ほど前にアドインファイルを諦め、作り変えてしまっているので、少し時間がかかると思います。
正直、古希も近い身としてはもうすでにうまくいっているよとのコメントを頂けると幸いなのですが・・・
何かわかったことがあれば、UPします。

2021年02月20日

りーぼうじいじ

参照設定での岡三RSS動作テスト_添付用.xlsx (476.8KB)

目から鱗を確認するために、お試し版エクセルを作成してみました。添付します。

作成の目的は、参照設定のみで、どこまで関数が動作するかの確認です。
・あゆみデータは上限の30データを問題なく出力しました。
・boardデータ(QUOTE関数を含む)については、最初エラーとなっていましたが、何回か起動するうち表示しました。
 QUOTEデータも同様に表示するようになりました。
・Position、ORDQUERYも正常に表示されました。(昨日は、全部表示しない場合がありました。現在関数を無効にしましたので、「'=」を「=」に変えれば動作します。)
・sheet("Board")中の「#NAME?」と表示されているのは、VB.Netで動作する自作関数です。
excelDNAを介して作成された .xllのアドインを、アドイン登録(参照設定はしていない)して動作させています。計算等の処理は殆どVB。Netで行っています。

上記のことから、本来参照設定で関数は動作する仕様なのかと思います。アドイン登録はリボンのツール動作の為?? この辺の概念が分かりません。
又、アドイン登録の有無で応答速度等に違いが出るのかどうかは確認していません。

もし皆さんのPCで問題なく添付ファイルが動くのであれば、私の環境に問題になりそうです。
通信はDounLoad 40Mbps UpLoad 30Mbps程度です。
PCは古いですが、i7-3770kの自作で16GBのメモリです。
そんなに貧弱とは思っていないんですが・・・。
但し、今回質問しましたアドイン化ファイルを構成する以外は、現在正常に有効に利用しており不満があるわけではないのですが、出来たら嬉しいです。
もし興味があり試された方で、結果を教えていただければ幸いです。
(添付は、xlsm形式では送れないようなのでxlsx形式です。
 拡張子変換でマクロ有効になると思います)

2021年02月20日

大野 了

りーぼうじいじさん、こんにちは!!

やったことなかったのでやってみたのですが、
岡三RSSを参照設定掛けたExcelアドインを作成し、適当な関数を作成
その後、そのアドインを登録したExcelで
また岡三RSSを参照設定を掛け、VBAを組んでみたのですが正常に動作しましたー


具体的な手順は以下の通りです!!

1.VBAにて岡三RSSの参照設定を掛ける
2.FQUOTE関数を使用した関数(testfunc)を作成する
3.Excelアドインとして保存(test.xlam)
4.別のExcelを作成(exec.xlsx)
5.Excelアドインの設定で、test.xlamを読み込み
6.exec.xlsxのVBAにて、岡三RSSを参照設定
7.FQUOTE関数を使用したテスト用の関数作成(execfunc)
8.exec.xlsxのA1セルに=testfunc()と記述しアドイン経由で岡三RSSが動くかを確認
9.A1セルにFQUOTEの内容がリアルタイムで表示される
10.execfuncを実行して、ホスト側のExcelの岡三RSSが動かくを確認
11.関数実行時のFQUOTEの値が正常に表示

2021年02月19日

大野 了

りーぼうじいじさん

添付されたファイルですが、オリジナルファイルへの参照設定が含まれてるため起動できませんでした。
ファイルが開かなかったため、どの様に調査されているかわかりませんが、
多分、参照設定を掛けれているという事は、Excelアドインの設定が残ってると思われまーす。
なので各関数が動いてるのではないかと・・・
開かなかったので、完全に妄想で申し訳ありません!!

>アドイン登録はリボンのツール動作の為?? この辺の概念が分かりません。
こちらはExcelアドインではなく、COMアドイン側でやってる感じです。

2021年02月20日

イーサン

QUOTE関数をVBAソースから呼び出す方法

QUOTEテスト.xlsx (31.3KB)

※誤って、古いスレッドへのコメントとして投稿してしまいました
 ので、新規スレッドとして投稿させていただきます。
---------------------------------------------------------------------
こんにちは。

10連休前の微妙な時期にすみませんが、2点ほど
おしえていただけますでしょうか。

添付の通り、ExcelシートにQUOTE関数を記述して
情報が取得できることは確認できたのですが、
VBAのソースからQUOTE関数を呼びだして、情報を取得する
方法が分かりませんでした。

下記のコードを実行すると
「Sub または Functionが定義されていません。」
と出て怒られます。

質問1:コードはどのように記述すればよいのでしょうか?
質問2:QUOTEの結果は、VBAのソースの中で値として
    取得し、変数に格納することはできるのでしょうか?



コード
-------------------------------------------------
Option Explicit

Sub QuoteTest()

Dim ws As Worksheet

Set ws = ThisWorkbook.Worksheets(1)

ws.Cells(2, 3) = QUOTE("9984", "", "銘柄コード")

End Sub
-------------------------------------------------
■備考
添付のファイルは、拡張子をxlsxからxlsmにして開いてください。

本当にすみませんがよろしくおねがいいたします。

2019年04月25日

イーサン

すみません、自己解決しました。

岡三RSSの参照設定がされていませんでした。馬鹿ですいません。

もし、調査中でたらすみませんでした。

2019年04月25日

kamap

POSITIONに関して教えてください

POSITION質問.xlsx (0.5MB)

以前、分割約条でお世話になった者です
おかげさまで、VBA取引を行ってます。
最近、銘柄制限のためにPC2台体制に変えたのですが
 (1つの口座を2台で独立にRSSを走らせています)

ところが、最近たまに片側のPCのみ、POSITIONの取得に失敗していることが分かりました。

やってることは、”TRD”シートにて
 ①成り行き買い
 ②POSITIONで買い約定の確認(分割も)
 ③指値売り注文
 ④ORDQUERY(1)で売り注文の確認
 ⑤成行売りへ変更
 ⑥ORDQUERY(2)売り約定の確認

で②が成立しません
本日、状況をみていたら、POSITIONがENDも返してませんでした

その場で、VBAの式を書くサブルーチンを実行しても、アドインの更新をしてもダメでした。
EXCELを終了して、再度実行(式のみ)したらENDがでました
実際の動作中はApplication.OnTimeが5秒間隔で走ってます
また、ORDQUERYは問題ないように思います

何かアドバイスありますでしょうか?
また、ORDQUERYで分割約定ごとに取得する方法はありますか?

該当シートのEXCELを添付します、95行が取得関数で値のコピーとなっています
実際の式を書くマクロはマクロという名前のシートに
TRD_CHK()という名前で入ってます

また、前回同様、つまらないミスと思いますが
よろしくお願いします

2020年02月03日

RSSユーザー

kamap さん
投稿をあまり読み込んでいないので参考になるかわかりませんが、問題がまだ解決されていないならば、私の分割約定建玉決済の経験を書きたいと思います お知らせください

2020年04月12日

大野 了

kamapさん、こんばんは!!

そんな経緯があったんですね・・・
それであればVBAが正常に動いてないのかもしれません。

kamapさんのおっしゃられます通り、VBA内でWindowsAPIを使用するときは
Officeが32bitと64bitで記述の仕方が異なります。

もし、64bitと32bitで完全に同じソースで行きたい場合は
下記のようにAPIの宣言に対し条件付きコンパイルを付けてあげると、
32bitでも64bitでも同じソースで動かすことができます。
※エラーで赤色にはなりますが、問題はありません。

#If Win64 Then
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#Else
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If

また、VBAのソースに問題があるかどうかはコンパイルを行うと確認することができます。

VBAエディタの中で
『デバッグ』-『VBAProjectのコンパイル』
をクリックしますとソースをコンパイルしてくれて、問題があれば教えてくれます。

2つのPCで各々でコンパイルをクリックしてみてみますと、
ソースが正常かどうかの確認が出来まーす!!


2つのPCでうまく行くことを祈ります!!

2020年02月05日

kamap

大野様、返信ありがとうございました

POSITION取得ができなくなった履歴を調べましたら
①PC1台の時はOK(旧PC)
②PC2台で別ファイルで動かしてた時はOK
③PC2台でファイルを共通にしてから、旧PCのみでNG発生
のようです

旧PCはEXCEL2010の32bit版で新PCはEXCEL2019の64bit版

アルゴルをいじるのを新PCに統一し、そのファイルを旧PCに
コピーして並列動作させるようにした頃からこの現象が発生
32と64の吸収は Declare PtrSafe で対応したのですが
ここに問題があったのかもしれません

とりあえず、旧PC用にEXCEL2019を購入し、64bitに
合わせて試してみます。結果が分かれば報告します

この現象は夜のデバックでは発生せず、昼間はずっと再現なので
本番の ontime が絡んでるのかなぁと思ってます

とりあえず、EXCELのバージョンとbit を合わせて神頼みですw
 新PCをいじりたく無いので、64bitでやってみて
 だめなら32bitも試してみます

2020年02月04日

大野 了

kamapさん、こんにちはー!!
お久しぶりでーす!!

さて、本題ですが・・・

片側のPCのみ、POSITION関数でデータが、たまに取れない時があると・・・
毎回じゃないんですよね・・・
辛いですね・・・(涙

難しいですね・・・
上がっているソースも実行してみたんですが、問題なく書き込まれて、
ポジション情報も落ちてきました。

kamapさんのおっしゃられます通り、ORDQUERYもPOSITIONも問題ない様に思いまーす。

Excelを再起動したらちゃんと取ってくるとのことですので、
岡三RSSの環境も正常だと思います。

現状で、更新が止まる可能性としては以下のことが考えられます。

〇VBAがループなどで動きっぱなしになっている。
〇シートの『計算方法の設定』が自動以外になっている。
〇データの更新対象にならなかった


もし頻繁に起こるようでしたら、次にデータが取れなかった時に、以下のことを試して頂けますでしょうかー?

〇リボンの『数式』にある再計算実行ボタンを押してみる(F9でも大丈夫です)
〇101行目以降を選択しDELキーを押してみる

もし再計算で表示されるなら、何かしらの理由でExcelの再計算が掛からない状況になってしまっていて
岡三RSSがデータを更新できません。
また、もし101行目以降を選択して、DELキーを押して表示されるようであればー
何かしらの理由で岡三RSSが更新できなくなってるっぽいです!!



>また、ORDQUERYで分割約定ごとに取得する方法はありますか?
残念ながら・・・
確かORDQUERYはあくまでも発注した情報のみなので、
その結果までは取れなかった気がします。
一瞬でよければ、もしかしたら『約定状態』が"一部約定"で返ってくるかもしれませんが、
本当に一瞬と思いますので、判断に使用するのは厳しいと思いまーす!!

2020年02月03日

マーク

PC起動時にRSSが立ち上がらない

お世話になります。
パソコンを起動した時に、岡三RSSを自動で起動し、ログインする設定にしています。
しかし、5〜6回に一度くらいの割合で、立ち上がらない時があり、手動で立ち上げなければなりません。
自動売買をしていて、パソコンの起動も自動でしているのに、毎回RSSが立ち上がっているかチェックしなければならず、困っています。

このような事例の対応策など、教えて頂けないでしょうか?
OSはwin7を、エクセルは2010を使用しています。
よろしくお願いします。

2020年02月18日

大野 了

自分の方で20回ぐらい再起動を繰り返してみたのですが、
岡三RSSが起動しないということはありませんでしたー

多分、何かの環境周りかもですね・・・
ちなみに自分の環境は以下の通りでしたー

OS: Windows10
Office: Office365


再現できなかったので、原因がわからず対症療法になってしまって大変申し訳ないのですが、
VBAで岡三RSSが起動していなかったら、起動させるというのはいかがでしょうか?

WorkbookのOpenイベントに、

Call Shell("cmd /c ""C:\Users\ここをユーザ名に\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\岡三オンライン証券\岡三RSS.appref-ms""")

と入れて頂くと、岡三RSSが起動します!!


岡三RSSが起動しているかどうかは、

If Application.CommandBars("岡三RSS2").Controls(6).Caption = "未接続" Then

で判断できるのですが、

正常に起動してる時に、このコードが動いても空回りするだけですので、
いきなり、Call Shell("cmd /c ・・・・
を書いてしまっても大丈夫と思います!!

※/(スラッシュ)と=(イコール)は全角で記載しています。半角に変換してご利用ください。 

2020年02月20日

マーク

大野さん、いつもありがとうございます!
さっそく試したいと思います!!

2020年02月21日

大野 了

マークさん、こんにちは!!

こちらは、岡三RSSの設定にある
『Windows起動と同時に開始する』
の設定がたまに動かないという事でしょうかー?

それとも起動時に、岡三RSSをコマンドなどで起動させるものが
たまに動かなくなるという事になりますでしょうかー?

2020年02月18日

マーク

大野さん、こんばんは!
『Windows起動と同時に開始する』の設定がたまに動かないです。
よろしくお願いします。

2020年02月18日

RSSユーザー

アドインの更新コードをどこに書けばよいか教えてください。

お世話になっております。QUOTE_Mの手動更新のVBAを作ろうと思い集いの広場を検索したところ次のコードをみつけました。

Application.CommandBars("岡三RSS2").Controls.Item("更新").Execute

がこれをどこに貼り付けたらいいものかわかりません、お教えください。VBA初心者です!

2020年12月01日

大野 了

おぉぉぉぉぉ!!
うまくいきましたか!!

お役に立てて幸いです♪

2020年12月01日

RSSユーザー

了さーん!
上手くいきました!
ありがとうございました!!!

2020年12月01日

大野 了

了解しましたー!!

それでしたら、一番簡単なのは・・・
『標準モジュール』か『ThisWorkbook』の中に

Public Sub ManualUpdate()
Application.CommandBars("岡三RSS2").Controls.Item("更新").Execute
End Sub

と書いて頂くと、マクロの表示の中に『ManualUpdate』と表示されるので、こいつを使ってください!!

2020年12月01日

RSSユーザー

すみません、後者です。
リボンキーの表示からマクロの表示→実行出来ればOKです。
マクロ記録でリボン操作は記録されなかったためです。

2020年12月01日

大野 了

RSSユーザさん、こんにちは!!

こちらは、VBAの書き方がわからないという事でしょうかー?
それとも、VBAのどのイベントに書いたら良いかわからないという事でしょうかー?

もし前者であれば、ALT + F11 でVBAエディタを起動して頂ければ、
VBAを書くことができます。

もし後者であれば、RSSユーザさんがどのタイミングで、
手動更新をされたいかで、記述するイベントが変わってきます。

2020年12月01日

yamamo

先物の引け成行き返済に関して

初歩的な質問で申し訳ありません。
ザラ場で発生した建玉を、15:15の引け成行きで返済したいのですが、
fneworder関数の
第7引数を「5:引成」、第8引数を「0」
にすればよろしいのでしょうか。
ここの過去の書き込みも読んだのですが、内容が高度過ぎて分かりませんでした。
ご教示願います。

2020年11月24日

yamamo

早速のご回答、ありがとうございました。

2020年11月24日

大野 了

yamamoさん、こんにちは!!

はい、引けで成行発注したい場合は
yamatoさんのおっしゃられます通り

第7引数:「5:引成」
第8引数:「0」

で行けます!!

2020年11月24日

RSSユーザー

エクセルマクロと約定が重なった時の挙動についてです。

お世話になっております。エクセルマクロをUWSCで1分おきに実行
(株価のコピー)しているのですが見てみると時々実行されていない時があります。よく調べてみると、その時間にちょうど約定していることが分かりました。UWSCを使わずエクセルマクロを実行した場合でもこのように重なったら片方のマクロは実行されませんか、お教えください。あとこう時再度、実行させる文とかありますか?すみません!

2020年11月17日

大野 了

上手く行くことを祈ります!!

2020年11月17日

RSSユーザー

とりあえず、エクセルvbaのみで作って試してみます。ありがとうございました!

2020年11月17日

大野 了

RSSユーザさん、こんにちは!!

そうですねー
UWSCからマクロを叩き続けることはやったことないので
マクロが重なった時のことはわかりませんが、

ExcelのonTimeメソッドで繰り返しマクロを呼び出す分には問題ないと思います。
約定が掛かっても普通にできてますし・・・

しかし、一点注意しないといけないのは、
onTimeメソッドを使用する場合は、1Excelで2つ以上のonTimeメソッドを使用すると不安定になるので、
必ず1つのonTimeメソッド(1つのマクロ)でやる必要があります!!

多分、RSSユーザさんの文章から想像するに
複数のマクロををUWSCでいろんなセルの状態を観ながら
マクロの実行を分けられてる感じがするのですが、
それらの複数のマクロすべてにonTimeメソッドを埋め込むと動かなくなると思います。


>あとこう時再度、実行させる文とかありますか?すみません!
あくまでも、複数のマクロをUWSCからたたき分けられているという前提ですがー
再実行させるよりも、マクロの頭でフラグを立てて、マクロが終わる時にフラグを寝せるようにして、
フラグが立っている時に新たなマクロは実行されそうな場合は、
待機するという流れの方が修正が少なくて良いかもしれません。

2020年11月17日

RSSユーザー

更新を選択的に実行する方法について

岡三RSSの初心者です。以下教えていただければありがたいです。
質問は「更新を、選択的に実行する方法はあるでしょうか?」 です。
すなわち、ある時刻では、シート1にてQUOTE_Mのみを実行させ、
ある時刻には、シート2にてCANDLE_Mのみを実行させる。
などです。以上のことをマクロで作りたいのです。
以上どなたか教えていただければわりがたいです。

2021年08月16日

大野 了

RSSユーザさん、こんにちは!!

いろいろと考えてみたのですが、
xxxx_Mを個別に更新させる方法は思いつかなかったので、
『シート1のQUOTE_M』『シート2のCANDLE_M』を取得する直前に計算式を書き込むというのはいかがでしょうか?

例えば・・・・

ある時刻:シート1のQUOTE_Mだけを動かしたい
1.シート2のCANDLE_Mを削除
2.シート1にQUOTE_Mを書き込む
3.手動取得

ある時刻:シート2のCANDLE_Mだけを動かしたい
1.シート1のQUOTE_Mを削除
2.シート2にCANDLE_Mを書き込む
3.手動取得


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

2021年08月16日

大野 了

RSSユーザさん、こんにちは!!

現在、D列には
『QUOTE_M(A1,””,”現値”)』
などと記述されていますでしょうか?

それでしたら
For i=1 to 8000
Cells(i, 4) = "=QUOTE_M(A" & i & ","""",""現値"")"
Next i

としてあげれば大丈夫と思います。

処理が重たい場合は
Application.ScreenUpdating = False

Application.ScreenUpdating = True
で囲むとExcelの描画をいったん止めて、処理をするため高速になります。

注意点としては、エラーなどでVBAが止まった場合に
Application.ScreenUpdating = True
をかけていないと、描画が止まったままになりますので、ご注意ください!!

まとめますと以下のような記述をして頂くと大丈夫と思ます。

On Error GoTo ErrorHandler
Application.ScreenUpdating = False

For i=1 to 8000
Cells(i, 4) = "=QUOTE_M(A" & i & ","""",""現値"")"
Next i

ErrorHandler:
Application.ScreenUpdating = True

2021年08月16日

RSSユーザー

大野様
ありがとうございます。しかしながら、下の4行目のコンパイルエラーが
どうしても取れません。
Sub Kakikomi1()
Dim i As Integer
For i = 1 To 8000
Cells(i,1)="= QUOTE_M(A"&i&","""",""現値"")"
Next i
どうなおしても通りません。教えていただければありがたいです。


End Sub

2021年08月17日

大野 了

RSSユーザーさん、こんにちは!!

Cells(i,1)="= QUOTE_M(A"&i&","""",""現値"")"
の部分の『&i&』の部分にスペースがないためとなります。

Cells(i,1)="= QUOTE_M(A" & i & ","""",""現値"")"

のように『&i&』の部分にスペースを入れてあげるとコンパイルエラーは解消されます!!

2021年08月17日

RSSユーザー

どうやっても駄目なので、最後の手段で、大野様の行をコピー
した結果、一発で通りました!ありがとうございました!

2021年08月17日

RSSユーザー

大野様
ありがとうございました。早速一部分ですが実験してみました!
ところで、QUOTE_Mは、シート1のD列に、縦に約8000行書き込まれております。
したがいまして、削除するのは、Range(Cells(1,4),Cells(8000,4)).clearでOKと思いますが、再度書き込むのは、
For i=1 to 8000
Cells(I,4)=”QUOTE_M(Cells(I,1),””,”現値”)”  (Cells(I,1)=銘柄コード)
Next I
となるのでしょうか?(コンパイルエラーでOKとなりませんでした!)
この書き込み方を教えていただければありがたいです。
 更に、書き込むのに相応な時間がかかりそうですが、他に高速で書き込む方法(出来れば数秒で)はあるでしょうか?
以上よろしくお願いいたします。

2021年08月16日

RSSユーザー

QUOTE関数の銘柄名を別のセルから参照したい場合

=@QUOTE(9984,"東証","現在値")
を使用しております。銘柄名をA1から取得したい場合は
どのようにしたらよろしいですか。毎日監視したい銘柄が入れ替わる為、
A1に銘柄4桁を入力したいと考えています。


2021年06月01日

RSSユーザー

大野さん

できました。

ありがとうございました。

2021年06月02日

大野 了

うまくいきましたか!!

お役に立てて幸いです。

2021年06月02日

大野 了

RSSユーザーさん、こんにちは!!

=@QUOTE(A1,"東証","現在値")
と記述することにより、銘柄コードをA1から取ってくるようになります!!

2021年06月01日

RSSユーザー

QUOTE_M関数のPBRとPERのデータの数値化についてです。

お世話になっております。QUOTE_M関数のPBRとPERのデータを取ると、PBRだと0.94:連結2003期(実績)、PERだと10.31:連結2103期(予想)とかのように、文章で出てきます。これをPBR,PERの数値だけには出来ないでしょうか、お教えください。

2020年11月24日

大野 了

比較できそうですか!!
それはよかったです!!

一応、本職のエンジニアで毎日プログラミングばっかりしてるので・・・w

なにはともあれ、お役に立てたようでよかったです!!

2020年11月25日

RSSユーザー

お世話になっております。PBR,PERの数値化が出来るとは!正直むりだと思ってました。大野さんて何でも出来るんですね、これで数値の比較ができます。ほんと、有難うございました!!

2020年11月25日

大野 了

こんにちは!!

":"より前を取得したいと言う事であれば
=LEFT(QUOTE_M(・・・),FIND(":",QUOTE_M(・・・))-1)
で行けると思いまーす!!

もし、二つ呼び出すのが気になる場合は
どこかのセルにQUOTEを書き出して・・・
=LEFT(B1,FIND(":",B1)-1)
でも良いかもしれません!!

2020年11月25日

岡三オンライン証券

岡三RSS(国内株式・先物OP)の機能拡充について

いつも岡三RSSをご利用いただき、誠にありがとうございます。

2/22(土)に岡三RSSの機能拡充を予定しています。

機能拡充として、多くのお客さまよりご要望をいただいておりました、個別銘柄データ取得数の上限撤廃などに対応いたします。

これにより、上場全銘柄の当日4本値やEPS・PBR・PERといったファンダメンタルズ分析、信用買残・売残など、様々な情報をいちどに取得することができるようになります。

また、これらのデータをExcelにて加工することでオリジナルの分析が可能となります。

他には規制銘柄取得や注文番号表示などにも対応いたします。

詳細は下記のお知らせよりご確認ください。

■岡三RSS(国内株式・先物OP)の機能拡充について
https://www.okasan-online.co.jp/information/2020/0218a/

■リリース予定日時
2020年2月22日(土)昼頃
※リリース後、岡三RSSを起動させると自動アップデートが行われます。


引き続き、岡三RSSをご利用くださいますようお願いいたします。

2020年02月18日

RSSユーザー

楽しみです❗

2020年02月19日

大野 了

この対応ホントありがたいです!!

制限解除と注文番号はありがたすぎる(涙

2020年02月19日

RSSユーザー

ドル円とジャスダック指数等が表示されない件についてです

お世話になっております。ドル円とジャスダック指数及びポジション関数の×××END×××が表示出来なくなりました。QUOTE関数は495銘柄表示していますが、今まで問題ありませんでした。何が原因でしょうか、お教えください。

2020年11月09日

RSSユーザー

_Mのつく関数は無制限て気づきませんでした。ありがとうございました!!!

2020年11月10日

大野 了

RSSユーザさん、こんにちは!!

解決されたようでよかったです!!
QUOTEやIDXは合計で500項目が最大となっています。

xx_Mと最後にMがついている関数は無制限となっていますので
リアルタイムにこだわられないのであれば、
_Mを使用すると取得数を減らさなくても大丈夫と思います!!

2020年11月09日

RSSユーザー

お世話になっております。上記の件、QUOTE関数を495銘柄→490銘柄に減らして再起動したら直りました。容量の問題みたいでした。おさわがせしました。

2020年11月09日

RSSユーザー

現物の引成売が出来なかった件です。

お世話になっております。14:58以降の現物保有株は全て引成売発注のプログラムで問題なく今まで発注約定されていたのですが、今日初めて発注が出来ていませんでした。私は2台のpcで岡三RSSにログインしてそれぞれトレードしています。1台は保有株の引成売が発注約定されていました。もう1台の発注されていなかったPCには「エラー お手数ですが、ツールを閉じて再度ログインしてください (0):1800」というメッセージがありました、エクセルのアドイン状態は接続されていて、今までもこのようなメッセージがあってもプログラムは動いていたように感じていたのですが、このメッセージが原因でしょうか、はたまた、たまたま接続がタイミング悪く切れていただけでしょうか、お教えください。

2020年08月19日

RSSユーザー

お世話になっております。
ザラバ中は無人であることと、トレード中に再起動するほうがリスクがありそうなので、しばらく様子みます。ありがとうございました。

2020年08月24日

岡三オンライン証券

いつもお世話になっております。

大変お待たせいたしました。

1800のエラーダイアログが出た場合、ログインセッションは生き残っているものの、そのまま開いた状態では正常に注文処理が行えない可能性が高いです。

そのため、今回のケースのように注文が発注されなかったものと推測されます。
エラーダイアログが表示された場合、岡三RSSを再起動していただくことで正常稼働いたします。
大変お手数をお掛けいたしますが、どうぞよろしくお願いいたします。

2020年08月24日

岡三オンライン証券

いつもお世話になっております。

本日はプログラム通りの発注ができたとのことで何よりです。

エラーメッセージが表示される件に関して、調査を行っております。
お時間を頂戴しておりますが、いましばらくお待ちくださいますようお願い申しあげます。

2020年08月20日

RSSユーザー

お世話になっております。今日は2台ともプログラムどうり発注約定ができていました、ただエラーメッセージは2台ともありました。「エラー お手数ですが、ツールを閉じて再度ログインしてください (0):1800」というメッセージです。このメッセージはあまり気にしなくてもよいでしょうか。

2020年08月20日

岡三オンライン証券

いつも岡三RSSをご利用いただき、誠にありがとうございます。

これよりシステム担当に確認をいたします。

確認が取れ次第、再度投稿いたしますので少しお時間を頂戴いたします。

2020年08月19日

へろへろ

岡三RSSが応答しません

お世話をおかけします
今週はじめよりWindows10のPC一台に次のような現象があり正常に利用することができていません
・岡三RSSがID-Pass入力画面で停止「応答無し」となる
・岡三オンラインNetTraderPremiumがネットワーク接続エラー表示で応答なし
・岡三オンラインかんたん発注画面はタイムアウトする(FireFox、Edge使用)
・岡三オンライントレード用HPにはログイン接続できるが通信が異常に遅く、表示も異常(FireFox、Edge)

他の証券会社のHP、トレードツールの使用、一般のhttps、httpサイトの閲覧には支障ありません。メール送受信も正常です。 岡三オンライン証券のサーバーのみと思われるの通信障害です
また、これ以前は、数年にわたり正常に岡三RSSにも岡三HP、ツールにも接続できていましてハードウエア環境が変わったわけではありません

異常発生後おこなったこと
・10月4日に行われていた岡三RSSアップデートまでさかのぼってWindowsのシステムの復元を実行しましたが、改善せず
・Google Chrome にも立ち上がらない事象が発生していましたので、Chrome並びに岡三RSSをアンインストールしました(Chromeが関係しているかはわかりません)
・岡三RSSを再インストールしようとしましたがHP接続問題からできずに断念

セキュリティソフトはWindowsDefender のみで、Windows Update はできています。私の、他のPC環境での岡三オンラインとの通信はできています。

岡三オンライン証券のサポートによりますと「ファイアウォールの設定で岡三との通信が止められていないか、また接続ポート80(http/tcp)、443(https/tcp)が解放されているかどうか等の確認をせよ」とのことであります
私なりに当PCを調べましたところ、
・Windowsファイアウォール「アプリにファイアウォール経由の通信を許可する」には
OKASAN NET TRADER のプライベートネットワークのところにチェックが付いております
・また、接続ポート開放というのは各ドメインごとに開放設定しなくてはならないという意味なのでしょうか?理解できておりません
一台のPCのみでの現象なので、運営会社のサポート外であり、自己対応すべきことは理解しております

とは言うものの、回復方法がわからず困惑しておりまして、多少、当広場の趣旨とはずれますが、お知恵を拝借できればと思いまして投稿いたしました。ヒント等あれば教えて下さい
長文お読みいただきましてありがとうございます

2021年10月14日

大野 了

へろへろさん、こんにちは!!

復旧しましたかー
よかったです!!

同一PCで回線変えたら正常に繋がったということと
WindowsUpdateが掛かったり、設定を変更されたなどがなく、
復旧したということですので、
ネットワークプロファイルが回線を変えられたときに変わってしまったなどとかなければ、
ルータか回線のインフラ回りかなーとは思うのですが、
正確にはわからないのが現状です。


後は岡三オンライン証券さん側のセキュリティに引っかかって遮断されていたというぐらいでしょうかー

こちらはへろへろさんや岡三オンライン証券さんが悪いわけではなく、
悪意のある第三者が攻撃をする際、IPアドレスを偽装してきますので、
それがたまたま、へろへろさんのIPなどとかぶってしまった場合、
迷惑なことにへろへろさんからの通信も遮断されてしまいます。

証券会社のような会社の場合、常にサーバーへの不正アクセスがありますので、
自動でフィルタリングなどが掛かると思います。


なにはともあれ、復旧できてよかったです!!

2021年10月20日

へろへろ

お世話になります

復旧いたしました

まず、プロバイダにモデム、ルーター交換してもらいました
17日に新モデムで接続を試みましたが状況は変わりませんでした

18日に再度プロバイダサポート窓口に電話連絡
オペレーターに、食い下がりに食い下がりましたところ、やっと、当方の状況を聞くために、会社担当者から電話連絡いただけることを、お約束いだきました

未だ、当会社からの電話は頂戴していませんが、20日朝、岡三オンライントレード用HP、ネットトレーダープレミアム、岡三RSSに、突然に、正常に、接続できるようになりました

連絡先は、サポート窓口と称する当会社の強力なファイアウォールでした。それでも、プロバイダに、適切な依頼をすることのできたのは、このRSS広場で、きっちりと問題を切り分けていただいたからで、自信を持って相手とお話することができました

原因については、約束の電話もいただいてないので、見当つきませんが、推測されるにどのようなことだったのでしょうか。単に、旧モデム、ルーターに問題があったということでしょうか、それともプロバイダ側が何か設定を変えたということなのでしょうか。
後に参考になると思いますので思い当たりのある方おしえていただけるでしょうか
(尚、当プロバイダ会社サポートは「メール」のやり取り一切不可なのだそうです)

大野さん どうもありがとうございました。助かりました

2021年10月20日

へろへろ

お手間、お時間取らせて申し訳ありません

自宅のルーター経由ではない接続ですと正常に岡三サーバーに接続できます。複数接続試してみることができました
大野さんに問題を切り分けていただきまして、原因がどこなのかわかりました

ルーターの管理画面から自宅ルーター再起動を行いました
結果なのですが、やはり、自宅ルーターで岡三HPに接続できません
アンインストールしていたRSSは別接続でDLインストールしましたが自宅環境ではログインに失敗しますため使えません
ファームウェア更新情報は見つかりませんでした
通信障害情報も当てはまりません

いま、ルーターを提供しているプロバイダ(Softbank)サポートに連絡を試みていますがこちらの方は連絡先を探すだけでも大変です

また、教えてもらいましたDNSの操作などももう一度してみようと思います
今後、進展ご報告いたします
ありがとうございます


2021年10月15日

大野 了

ヘロヘロさん、こんにちは

なるほどー
ほかの回線では繋がりましたかー

ルーターの再起動で直るとよかったんですが、残念です。

実は以前、別の証券会社だったんですが、
Chromeだけ、証券会社に繋がらないということを経験したことがあり、
その時は、プロバイダ側で対応してもらった記憶があります。
※地方のケーブルTV会社だからできたのかもですが・・・


なにはともあれ、少し進んだようでよかったです!!

自分のほかに何か思いついたら、ここにまた書きたいと思います!!

2021年10月15日

RSSユーザー

詳しいコメントありがとうございます
ご案内に従いまして以下試してみました
ファイアウォールを全部停止して岡三オンラインに接続
DNS サーバーのキャッシュ削除 windows再起動の上 接続
DNS サーバーの変更 windows再起動の上 接続
現在もつながらないままです

なお、ご指摘により質問の間違いに気づきました
自宅モデムルーター(有線)に繋がっているPCはこの問題発生中PC一台のみです
接続できる他の環境とはレンタルサーバWindowsServer2016上のブラウザです
(PCーリモートデスクトップ接続は正常です)
それに気が付きまして、スマホで、自宅モデム経由のWiFiで「岡三オンラインアプリ」を試してみたら接続できませんでした。電話会社キャリアサーバ経由では接続できます

さらにお知恵拝借できますでしょうか

2021年10月14日

大野 了

へろへろさん、こんにちは!!

なるほど!!

以下確認です!

・PCは1台
・岡三オンライン証券さんに繋がらないのは自宅のPCで自宅のルーターから直接繋いだ時
・自宅のPCでもリモートデスクトップでVPSに繋いで、そのVPS内のブラウザからは接続できる
・スマホを自宅ルーターに繋いで岡三オンライン証券さんのサイトを見ると繋がらない
・スマホでもキャリアの回線を使うと繋がる

ということで、間違いありませんでしょうか?

もしそれであれば、もしご自宅のPCがノートなどでWiFiに繋がるPCでしたら
一度、スマホでテザリングをしていただき、ご自宅のPCを電話会社のキャリア回線でつないでみて頂けますでしょうか?

もし、繋がるのであれば、
PC固有の問題ではなく、ルータかプロバイダの回線の問題の可能性が高いと思います。

プロバイダの可能性は低いと思いますので、多分ルーターが調子悪くなってるのではないかと・・・
その場合は、一度ルータを再起動してみて頂けますでしょうかー?

また、ルーターによっては自動でファームウェア(ルータ内のハードウェアのプログラム)のバージョンアップが
掛かる機種もあるので、
調子が悪くなった日にち当たりで、ファームウェアのバージョンアップが掛かっているか確認して頂けますでしょうか?
こちらはルーターの管理画面に入ると見れます!!


ルーターの再起動で直るといいのですがー

2021年10月14日

大野 了

へろへろさん、こんにちはー

なかなか厄介そうな現象ですねー

ちなみにPC1台だけということですが、
これはご家庭にPCが複数台ありその中の1台だけということで間違いありませんでしょうか?
そうなると、へろへろさんのおっしゃられます通り、
正常に動作するPCとルータやプロバイダのネットワーク関係も
同条件となりますので、完全にPC固有の問題と思われます。

以下のことを試して頂けますでしょうか?
すみません、今手元にあるPCがWindows11ですので、
手順がまとめられてるサイトのURLとなりますことをご容赦ください


・ファイアウォールを完全に止めてみる
岡三RSSなどにはファイアウォールの例外処理がされていたとのことですが、
一旦、ファイアウォールを完全に止めてみて頂けますでしょうかー?

以下のサイトの手順がわかりやすいと思います!!
この時使われてるネットワークがわからない場合は、
ドメインネットワーク、プライベートネットワーク、パブリックネットワーク
すべてを停止してみてください!!
https://pc-karuma.net/windows-10-firewall-enable-disable/


・DNSを変更してみる
一部のサイトのみ動きがおかしいとのことですので
DNSを変更してみるというのはいかがでしょうか?
以下の手順で変更できます!!
https://faq.interlink.or.jp/faq2/View/wcDisplayContent.aspx?id=639
※ここに出てくるDNSの8.8.8.8はgoogleが運営しているDNSになりますので、
※このIPに接続しても問題はありません!


・DNSのキャッシュをクリアしてみる
PC内に保存されているDNSのキャッシュがおかしくなってる可能性もあるので、
キャッシュのクリアを・・・
以下の手順で変更できます!!
https://help.colorfulbox.jp/manual/dns-cache/

2021年10月14日

RSSユーザー

先物注文関数 FNEWORDER 第16引数 メモ

お世話になります。ささいなことで、大勢に影響のないことかもしれません。しかし気になるので質問させてください。先物注文関数 FNEWORDER の第16引数 メモ についてです。引数は、0-9/a-z/A-Z の範囲文字と_(アンダーバー)のみ入力可、とあります。

入力可とはどういう意味でしょうか?
0-9を数字で入力しました。
注文自体がエラーになるのでしょうか?
それとも「メモ」の部分だけが何も表示されないのでしょうか?

2020年03月03日

大野 了

RSSユーザさん、こんばんは!!

こちらの『入力可』の意味としましては
メモ欄に入れる内容として使える文字の種類を示しています!!

数字(0~9)、アルファベット大文字(A~Z)、アルファベット小文字(a~z)、記号(_)
の合計63文字が使え、これ以外の文字や記号は使えないことになっています。

また、メモ欄として使えない文字を使用すると注文自体がエラーとなりまーす。


例)
20200303_Test ← OK
20200303@Test ← NG ("@"が許可されていないため)

2020年03月03日

大野 了

バージョンアップ後の日本株発注関数をマクロから動かす方法について(NEWORDER、MARGINORDER、REPAYMENTORDER)

2020/2/22(猫の日、にゃー)に岡三RSSがバージョンアップされて、
日本株の新規発注関数に注文番号表示機能が追加されましたが、
表示機能が追加されたことにより、発注関数がVBAから関数を呼び出すことができなくなっているようです。
(呼び出すとVBAでエラーが発生する。)

回避策としては、マクロから直接発注するのではなく、
下記のように一度、セルに書き出して発注関数を実行させる必要があります。

※今までは大丈夫だった記述(2/22以降はエラーになる)
Call MARGINORDER("8609", "", 3, 0, "", 100, "T", "", "", 0, 0, "PASSWORD", 10, 0, 0, 0, 0, 0)
 
              ↓
 
※対応策 (Sheet1のA1のセルに、発注関数を書き込んで実行させる)
Sheet1.Range("A1").Value = "=MARGINORDER(""8609"", """", 3, 0, """", 100, ""T"", """", """", 0, 0, ""PASSWORD"", 10, 0, 0, 0, 0, 0)"


ただ、この方法でも一点問題があり、
マクロで書き出した発注関数は、マクロが終わるまで実際の発注がかかりません。

発注後マクロを抜けるようなVBAの中身だと問題がないのですが、
もし発注後に後処理がある場合、VBAを大きく作り変えないといけない状況が出てくると思われます。

DoEventsというVBAの関数を使うと、この問題も解決できるため、
使えそうなサンプルを2つ記述したいと思います!!


※上記の『=』や『/』は全角になっています。半角に変換してご使用ください。

2020年02月26日

大野 了

DoEventsを使用しつつ、発注が完了するのを待つ方式

1.マクロから直接呼んでいたMARGINORDERをコメントアウト
2.発注関数を任意のセルに書き込み(以下のサンプルではSheet1のA1)
  この時、任意のセルに発注番号が出力されるようにする(サンプルではSheet1のB1))
3.B1に発注番号やエラーが戻ってくるまで、DoEventsを呼びながら待機



=============================================
'元々あった、発注関数を以下の様に変更
'Call MARGINORDER("8609", "", 3, 0, "", 100, "T", "", "", 0, 0, "PASSWORD", 10, 0, 0, 0, 0, 0)
' ↓
'Sheet1のA1セルに発注関数を書き出し、B1のセルに発注番号を戻す
Sheet1.Range("A1").Value = "=MARGINORDER(""8609"", """", 3, 0, """", 100, ""T"", """", """", 0, 0, ""PASSWORD"", 10, 0, 0, 0, 0, 0, B1)"

'Sheet1のB1に発注番号が戻ってくるまで待機
Call WaitForOrder(Sheet1.Range("B1"))


'発注待機関数
Private Sub WaitForOrder(TargetCell As Range)
Dim LimitTime As Date

'最大10秒待ちます。もしもっと待ちたい場合は下の数字を増やしてください
LimitTime = Now + TimeValue("00:00:10")

Do
DoEvents
If TargetCell.Value <> "" Then Exit Do
If Now >= LimitTime Then Exit Do
Loop
End Sub
=============================================



※上記の記号(『=』『/』『<』『>』『+』)は全角になっています。半角に変換してご使用ください。

2020年02月26日

大野 了

発注関数のような関数を作成し呼び出す方式

MARGINORDER_EXのような、
発注関数を同じような引数を持つ関数を作成し、その中で発注関数の書き込みと待機処理を行う
※追加するコードは増えますが、引数などを岡三RSSの関数と同じにできるため、発注の際のPG修正が少なくなります。


1.マクロから直接呼んでいたMARGINORDERをコメントアウト
2.新しく作った関数へ切り替え


=============================================
'元々あった、発注関数を以下の様に変更
'Call MARGINORDER("8609", "", 3, 0, "", 100, "T", "", "", 0, 0, "PASSWORD", 10, 0, 0, 0, 0, 0)
' ↓
'Sheet1のA1セルに発注関数を書き出し、B1のセルに発注番号を戻す
Call MARGINORDER_EX("8609", "", 3, 0, "", 100, "T", "", "", 0, 0, "PASSWORD", 10, 0, 0, 0, 0, 0, "B1", Sheet1.Range("A1"))



'拡張した発注待機関数
Public Sub MARGINORDER_EX(BrandCD As String, _
MarketCD As String, _
SalesType As String, _
ExecutiveCondition As String, _
OrderPrice As String, _
OrderAmmaunt As String, _
DurationType As String, _
Duration As String, _
AccountType As String, _
NoCommitConfirm As String, _
NoShowOrderWindow As String, _
Password As String, _
OrderCode As String, _
ExecutiveCondirionRev As String, _
OrderPriceRev As String, _
NoConfirm As String, _
NoShowWarning As String, _
MarginTradingType As String, _
DisplayArea As String, _
TargetArea As Range)

Dim OrderMessage As String
Dim LimitTime As Date

OrderMessage = "=MARGINORDER("
OrderMessage = OrderMessage & """" & BrandCD & ""","
OrderMessage = OrderMessage & """" & MarketCD & ""","
OrderMessage = OrderMessage & """" & SalesType & ""","
OrderMessage = OrderMessage & """" & ExecutiveCondition & ""","
OrderMessage = OrderMessage & """" & OrderPrice & ""","
OrderMessage = OrderMessage & """" & OrderAmmaunt & ""","
OrderMessage = OrderMessage & """" & DurationType & ""","
OrderMessage = OrderMessage & """" & Duration & ""","
OrderMessage = OrderMessage & """" & AccountType & ""","
OrderMessage = OrderMessage & """" & NoCommitConfirm & ""","
OrderMessage = OrderMessage & """" & NoShowOrderWindow & ""","
OrderMessage = OrderMessage & """" & Password & ""","
OrderMessage = OrderMessage & """" & OrderCode & ""","
OrderMessage = OrderMessage & """" & ExecutiveCondirionRev & ""","
OrderMessage = OrderMessage & """" & OrderPriceRev & ""","
OrderMessage = OrderMessage & """" & NoConfirm & ""","
OrderMessage = OrderMessage & """" & NoShowWarning & ""","
OrderMessage = OrderMessage & """" & MarginTradingType & ""","
OrderMessage = OrderMessage & DisplayArea
OrderMessage = OrderMessage & ")"

TargetArea.Value = OrderMessage


'最大10秒待ちます。もしもっと待ちたい場合は下の数字を増やしてください
LimitTime = Now + TimeValue("00:00:10")

Do
DoEvents
If TargetArea.Parent.Range(DisplayArea) <> "" Then Exit Sub
If Now >= LimitTime Then Exit Do
Loop

Call MsgBox("発注結果が取得できませんでした", vbCritical, "エラー")

End Sub
=============================================



※上記の記号(『=』『/』『<』『>』『+』)は全角になっています。半角に変換してご使用ください。

2020年02月26日

岡三オンライン証券

sakaiさま

お待たせいたしました。

ぜひ、お取引にご活用ください。

引き続き、よろしくお願いいたします。

2020年03月30日

sakai

わーい!!!

どう対応したものか思案して、自動売買をお休みしていましたが、復帰できそうです

機能追加ありがとうございました

2020年03月28日

岡三オンライン証券

いつも岡三RSSをご利用いただき、誠にありがとうございます。

2020/3/28(土)に岡三RSSの機能拡充を予定しています。

【新設】
NEWORDER_CL関数 : 現物注文(注文番号なし)
MARGINORDER_CL関数 : 信用新規注文(注文番号なし)
REPAYMENTORDER_CL関数 : 信用返済注文(注文番号なし)

これらの関数をご利用いただければ、VBAマクロから直接実行することができるようになります。


岡三RSSマニュアル(関数マニュアル・関数一覧)はこちら
https://www.okasan-online.co.jp/ont/rss/manual/


ぜひ、お試しくださいますようお願い申し上げます。

2020年03月27日

岡三オンライン証券

きゃべつさま
このたびの「岡三RSS(国内株式・先物OP)の機能拡充」において、ご迷惑をおかけしたことをお詫び申し上げます。
いまのところ、VBAから関数を呼び出せるようにする対応を行う予定はございません。
なにとぞ、ご理解賜りますようお願い申し上げます。

2020年03月02日

岡三オンライン証券

RSSユーザーさま

このたびの「岡三RSS(国内株式・先物OP)の機能拡充」において、ご迷惑をおかけしたことをお詫び申し上げます。
今後とも、より使い勝手の良い環境をご用意していきたいと思っております。
引き続きご利用くださいますようお願い申し上げます。

2020年03月02日

大野 了

sakaiさん、こんにちは!!

以前にVBAの件でやり取りさせて頂いた方ですよね?(間違っていたらすみません。
その節はこちらこそ、お世話になりました。

なにはともあれ、システムが完成されたとことで、良かったです!!
ちゃんと動いた時の喜びはなんとも言えないですよね!!


別シートへの書き込みは、office365の環境だけの問題だったようで
現在は対応されているみたいです。

自分も先物で取引をしているのですが、先物はメモ機能などがあって
現物と比べてシステムがだいぶ作りやすいです!!

注文番号が落ちてくるのはものすごくありがたいので、
戻り値のような形で戻ってくるとありがたいのですが、
それはそれで、互換性が失われてしまうので難しそうですね・・・

2020年03月01日

sakai

〉大野様
匿名で失礼しました
3年ほど前に当サイトで大変お世話になりました
その後も皆さんもお悩みの情報取得関数(私の場合は返済取引のためのPosition関数)の誤動作(別Sheetへの書き込み)等もあり苦労しましたが何とか克服し、お陰様でそれなりに稼働する物ができ、システム作り、自動売買を楽しんでおりました ありがとうございました
上記誤動作はSheetへの書き込みに時間がかかるのが原因の一つかと思われますが、爾来情報表示関数への信頼が若干失せています
大部分の取引がスピードが求められる高速system相手の昨今の市場では私の 現strategy、systemの限界かとも感じています

近頃では更なる大変動ですが、河岸を変えて先物での再挑戦を考慮中です
先物での取引関数の情報取得関数化のないことを祈りつつ

2020年03月01日

大野 了

>RSSユーザさん
自分がサンプルを作ってる時の話だけでいえば、一瞬(1秒未満)の遅延で済みそうです。
ですが、RSSユーザさんがおっしゃられます通り、
直接発行するより、確かにタイミングは遅くはなるので、
残念ながらスリッページ的には大きくなる方向にはなると思います。
何かいい方法を思い付いたら、また投稿しまっす!!

確かに今週は大きく動きすぎたのでタイミングが・・・(涙


>きゃべつさん
すみません・・・
今後、対応のバージョンアップがあるかどうかまでは・・・
元と同じようにマクロから直接動かせるようになるのが一番ですね、確かに・・・

2020年02月29日

RSSユーザー

全く同様、同感です!!

2020年02月29日

きゃべつ

>大野様
いつも情報ありがとうございます。

>発注関数がVBAから関数を呼び出すことができなくなっているようです。
>(呼び出すとVBAでエラーが発生する。)
こちらについてVBAから呼び出せるように、岡三側にバージョンアップ予定があるかご存じでしたらご教示いただけますか?
直接証券へ確認するのが筋ではありますが、週末となってしまったため、お手数ですがご存じでしたらお願いいたします。

>RSSユーザー様
今回の修正ひどいですよね...
周知も不十分で、私は本日ようやく今回の修正を知りました。(エラーは出てましたが自分のプログラムミスと思っていました)
マニュアルも実装の後に出されたようですし、、、はぁ、、、

2020年02月29日

RSSユーザー

今回の修正(バージョンアップ?,バージョンダウン?)は変更のタイミングといい内容といい私にとって最悪のものでした。
関数の属性が変更になり表示関数化によりマクロで実行できなくなりました。
一つの条件で最大6取引(返済、新規等)をこなさなければならない私のシステムではご提案の変更を加えてもスリッページの可能性大です。

異なる取引関数名で機能を追加すべきものだったと考えています。
涙です!!!

2020年02月29日

大野 了

Test.xlsx (25.9KB)

一応、作成したサンプルのExcelファイルも上げておきます。

マクロ付きファイルがあげれないため、拡張子をxlsxにしてあります
ダウンロード後、xlsmに変更しご使用ください!!


また、本サンプルはすべてのパラメータを完全にテストしたわけではありませんので、ご使用の際は自己責任にてよろしくお願い致します!!

2020年02月26日

RSSユーザー

先物注文関数 FNEWORDER 第11引数 完了メッセージ

もうひとつ、先物注文関数について、教えていただけませんでしょうか。FNEWORDER 第11引数 に、完了メッセージというのがあります。指定するのは、0:表示あり、1:表示無し、です。
「0」を指定した場合、その完了メッセージは、どこに(エクセルのどの部分に)表示されるのでしょうか?
また、その表示されるメッセージは、正確にはどのようなことばでしょうか。「注文完了」でしょうか?「完了」でしょうか?

2020年03月03日

大野 了

わにのさん、こんにちは!!

決済約定の有無で判断されたいということですね。
確かにこっちの方がシンプルかもです・・・


>FOPEXEC関数の引数のうち、「注文受付区分」があります。
>rss経由の注文区分は、どれ(何番)でしょうか?
RSSで発注した場合は番号ではなく『PC(リッチ)』と表示されます。
ですが、確かネットトレーダーから発注した際も『PC(リッチ)』で表示されるため
RSSから発注されたと分のみということが残念ながら判断できません。


FOPEXECを使用する際ですと・・・
取引種別が『決済』で
商品種別が『N225ミニ』のものが、N225ミニの決済になりますので、
このデータの有無が判断材料になると思います!!

2020年03月06日

わにの

大野様いつもありがとうございます。FOPEXEC関数の引数のうち、「注文受付区分」があります。
rss経由の注文区分は、どれ(何番)でしょうか?
また、上記2やりかたではなく、
FOPEXEC関数を使う方法はありませんでしょうか?
ぜひまた教えてください。

2020年03月06日

わにの

ほんとに丁寧に教えていただきありがとうございます。2の方法でやってみます。

2020年03月05日

大野 了

わにのさん、こんにちは!!

自分の知っていることが少しでもお役に立てれれば幸いです♪

なるほど、サヤ抜きだったりの決済をさせたいという事ですねー

もしそれでしたら、2点の考え方があると思います。

1.『miniの決済発注が終わった時点』で、Topixも成行決済させる
  こちらは、miniの発注が終わった時点でTopixも発注させるため
  ロジックは比較的簡単ですが、発注後エラーとなった場合など、
  Topix側だけが成行で売られてしまう危険性があります。

2.『miniの決済注文が約定した時点』で、Topixも成行決済させる
  こちらは、miniがきちんと決済されたことを確認してから、
  Topixの決済注文を出す形になります。
  miniがきちんと決済されているため、片バリになる危険性が少ないですが、
  ロジックが若干複雑となります!!


実際の実現のさせた方ですがー
==================================
1の場合

セルの記述内容
A1:miniの決済用のFNEWORDERが書かれているセル
  =FNEWORDER(miniの決済条件)
B1:topixの決済用のFNEWORDERが書かれているセル
  =IF(A1="発注完了",FNEWORDER(Topixの決済条件),"mini決済待ち")

1.FNEWORDERでminiの決済注文をした際、
  FNEWORDERを記載したセル(A1)が『発注完了』となる
2.A1が発注完了となるため、B1のTopixの決済発注がされる

この条件で、A1のminiの決済発注がされた場合に、引きつられてTopix側の決済が行われます
注意点としましては、A1の『発注完了』はあくまでも発注完了なので、
何かしらエラーが起きた場合でも、Topix側の決済がかかってしまいます。
==================================

==================================
2の場合

セルの記述内容
A1:ポジション情報取得関数
  =FOPPOSITION("商品種別",B1,0)
B列:保持ポジションの商品種別表示
C1:ミニのポジションを持っているか確認
  =COUNTIF(B:B1,"N225 ミニ")
D1:topixの決済用のFNEWORDERが書かれているセル
  =IF(C1=0,FNEWORDER(Topixの決済条件),"mini決済待ち")


1.FOPPOSITIONでポジション情報を取得
2.B列に保有建玉のminiのポジションが表示される
3.C1に現在持っているminiのポジション数が表示される
4.ミニが決済されると、ポジション情報からミニの建玉がなくなる
5.C1のカウントが1から0になる
6.C1が0となるため、B1のTopixの決済発注がされる
  =IF(A1="発注完了",FNEWORDER(Topixの決済条件),"mini決済待ち")
==================================


以上、言葉だけでは非常にわかり辛いと思います。
何かありましたら、またご連絡頂けますと幸いです!!

2020年03月04日

わにの

大野様、いつも初心者からの質問に丁寧にお答えいただきありがとうございます。完了メッセージがポップアップではなく、「発注待ち」、「発注完了」のように、発注関数を書いたセルに表示されるならば、それを利用して、miniの「決済完了」と同時に、topixを成行決済するときに使えると思ったのです。
そこで、このように、miniの「決済完了」と同時に、topixを成行決済する、というのは、どうやって実現すればいいのか、教えていただけませんでしょうか。

2020年03月04日

大野 了

RSSユーザさん、こんばんは!!

完了メッセージとは、
FNEWORDERが正常に動いて
証券会社に注文が飛んだ際に、表示されるメッセージで
Excelのセルではなくポップアップで表示されます。

表示されるメッセージとしては以下の通りでーす。
=================================
ご注文を受け付けました。
必ず先物OP注文照会でご確認ください。
受付番号 xxxxxxxxxxxxxxxx
=================================

2020年03月04日

わにの

岡三RSSのアップデート後

いつもお世話になります。RSSを使わせていただいています。エクセル2016で使用しています。あくまでも、感覚的なものなのですが、先日のRSSアップデートから、反応が非常に遅くなったような気がします。そのような報告はユーザーの方からありますか?

2020年02月28日

岡三オンライン証券

RSSユーザーさま

追加の情報をありがとうございます。

担当へ連携して、調査を進めていきます。

もう少しお待ちくださいますよう、お願い申しあげます。

2020年03月04日

RSSユーザー

お世話になっております。

追加で1時間ごとのRSSのメモリ使用量を調べてみました。
データ取得自体は、15分間隔です。
メモリリークで更新が遅くなっているようです。

RSSのメモリ使用量(タスクマネージャーより)
時間 メモリ(MB)
2020/03/04 08:15 51.3
2020/03/04 09:04 87.8
2020/03/04 09:46 192.4
2020/03/04 11:14 309.1
2020/03/04 12:00 321.1
2020/03/04 12:47 366.7
2020/03/04 13:06 374.7
2020/03/04 14:04 404.8
2020/03/04 15:08 436.8

引き続き、調査の程、宜しくお願い致します。

2020年03月04日

岡三オンライン証券

RSSユーザーさま

いつも岡三RSSをご利用いただき、誠にありがとうございます。

調査をさせていただきますので、お時間を頂戴いたします。

今後とも、どうぞよろしくお願い申し上げます。

2020年03月03日

RSSユーザー

いつもお世話になっております。

RSSアップデート後、
データ更新完了の検知を10秒→30秒に変更しましたが、
完了しないケースが頻発しています。

Win10 Pro 64bit
CPU:AMD-1450 APU
メモリ:4GB

下記は、ログの一部です。
15分毎にN225miniの終値を取得しています。
Long Wait は、30秒以内に終わっていないケースです。
アップデート前は、10秒以内に取得出来ていました。

=FCANDLE_M("N225mini","0","15","0","終値",G2,"D","42")

2020/03/03 9:29:58
21570
2020/03/03 9:44:58
21525
2020/03/03 9:59:58
21575
2020/03/03 10:14:58
21505
2020/03/03 10:29:58
21465
2020/03/03 10:44:58
21380
2020/03/03 10:59:58
21330
2020/03/03 11:14:58
21350
2020/03/03 11:29:58
21360
2020/03/03 11:44:58
21385
2020/03/03 11:59:58
Long Wait
2020/03/03 12:14:58
21350
2020/03/03 12:29:58
21375
2020/03/03 12:44:58
21375
2020/03/03 12:59:58
21390
2020/03/03 13:14:58
21330
2020/03/03 13:29:58
Long Wait
2020/03/03 13:44:58
Long Wait
2020/03/03 13:59:58
Long Wait
2020/03/03 14:14:58
Long Wait
2020/03/03 14:29:58
Long Wait
2020/03/03 14:44:58
Long Wait
2020/03/03 14:59:58
Long Wait

2020年03月03日

岡三オンライン証券

早速のご回答、誠にありがとうございます。

また、なにかございましたら、お気軽にお問い合わせください。

引き続き、よろしくお願い申し上げます。

2020年03月02日

岡村 義明

お世話になります。使用環境は問題のないものと思います。特に遅いのは、idxが遅いように感じられます。あくまでも感覚なのです。他のユーザーの方からの報告がなければ気のせいなのでしょう。

2020年03月01日

岡三オンライン証券

わにのさま

いつも岡三RSSをご利用くださり、誠にありがとうございます。

2/22(土)に行ったアップデート以降、特に反応が遅くなったといったご意見は頂戴していないようです。

念のために確認をさせていただきますので、どの関数の反応が遅くなったなど具体的にお教えいただけますでしょうか。

また、あわせてご利用されている環境もお教えいただけますでしょうか。

お手数をお掛けいたしますが、よろしくお願いいたします。

2020年02月28日

RSSユーザー

RSSでの注文とNET TRADER での注文

お世話になります。基本的なことかもしれません。教えていただけますでしょうか。決済すべき先物買玉が3枚あるとします。買値はたとえば20000円とします。指値売決済をします。まず、RSSにて有効な指値決済注文を、20100、20300、20500、と指定したとします。他方、NET TRADER において、指値決済注文を、20200、20400、20600、と指定したとします。このとき、値段が20100をこえたとき、RSSの決済注文はとおりますか?それとも、NET TRADER 側の注文がすべて(この場合であれば、20200、20400、20600の指値)が優先されますか?

2020年03月02日

大野 了

いえいえ!!
少しでもお役に立てたのでしたら幸いです!!

2020年04月22日

わにの

ほんといつもありがとうございます。

2020年04月22日

大野 了

わにのさん、こんにちは!!

はい、何度でも大丈夫でーす(暇人なので・・・w


>決済玉が3枚あるとします。
>指値 19500 売の決済(買戻し)2枚
>指値 19000 売の決済(買戻し)2枚

この状態のときですが、RSSのみであっても、
一つ目の19500円の指値の発注を行ったときに、
『決済注文中数量』が2枚になるため、

残りの決済可能な枚数は
3枚(売りポジションの枚数) - 2(決済注文中数量) = 1枚

で、決済枚数が1枚の決済注文しか"出せなく"なります。

ですので、
>この場合に、残玉1枚だけ決済されますか?
>それとも、エラーで決済されなくなりますか?
こちらは、どちらでもなく。

二つ目の
『指値 19000 売の決済(買戻し)2枚』
の決済注文自体が出せない

となりまーす!!

2020年04月20日

わにの

大野様、何度もすみません。もうひとつ教えていただけませんでしょうか。

RSS、のみ、での決済です。

決済玉が3枚あるとします。

指値 19500 売の決済(買戻し)2枚
指値 19000 売の決済(買戻し)2枚

としたとき、
最初の19500で、売決済(買戻し)2枚されて、
残玉1枚になりました。
この後、
19000まで下がって指値にひっかかったとします。
残玉1枚なのに、
設定を2枚にしてあります。
この場合に、残玉1枚だけ決済されますか?
それとも、エラーで決済されなくなりますか?

2020年04月20日

大野 了

なるほどー
岡三RSS側の時間指定はご自身で作られてたんですねー!!


自分こそ簡潔にわかりやすく書けず、すみません・・・
決済の注文うまく行くことを祈ります!!

2020年04月17日

わにの

たびたびすみません。大野さんのコメントまたよくよみました。理解しました。ながながとすみませんでした。
ありがとうございます。

2020年04月17日

わにの

大野様、いつもありがとうございます。

RSSで、時間設定決済は、自分でくみました。
RSS単体で、時間設定決済はうまくいきます。
だから、RSSで、時間設定決済ができる前提でのお話です。

朝9時の時点で、
RSSにおいて、昼12時の成行決済2枚を設定しました。
同様に朝9時の時点で、
NET TRADER において、昼13時の成行決済5枚を設定しました。(RSSの決済の1時間後)

つまり、
現在玉が5枚です。
そして、9時に、以下のように決済設定しました。
RSS   12時指定  成行決済 2枚
NET TRADER 13時指定  成行決済 5枚

この場合、12時になれば、RSSの設定である、2枚が成行決済されるのはわかります。
12時の時点で残玉は3枚です。
13時のときに、
NET TRADER で設定した5枚はありませんが、(3枚のみ残っている)、きちんと、残玉の3枚が決済されるのでしょうか。
それとも、設定が5枚なので、エラーがでて、決済されないのでしょうか。

RSSで、2枚決済されたあと、
当初のNET TRADER で、設定した枚数は5枚ですが、実際の残玉は3枚です。

このとき、NET TRADER で、残玉の3枚が決済されますか?
それとも、
NET TRADER の設定が5枚なので、
エラーが出てしまし、決済されないのでしょうか?

少し長くなってしまいました。
よろしくお願いもうしあげます。

2020年04月17日

大野 了

わにのさん、こんにちは!!

>朝9時の時点で、
>RSSにおいて、昼12時の成行決済2枚を設定しました。
>同様に朝9時の時点で、
>NET TRADER において、昼13時の成行決済5枚を設定しました。(RSSの決済の1時間後)

こちらですが、残念ながら岡三RSSには時間指定発注の機能自体がないため、
9時の時点で、岡三RSS側で12時指定の成行決済注文を出すことができません。


また、もし、9時の時点でNET TRADER側で13時指定の成行決済を設定後、
12時になった時に、岡三RSS側で成行決済注文を出そうとした場合ですが、

こちらは、NET TRADER側で時間指定の成行注文を出した時点で、
『決済注文中数量』が5枚になるため、岡三RSS側で成行注文を出すこと自体ができません。


岡三オンライン証券さんの取引のシステムでは、
建玉枚数の他に『決済注文中数量』というものがあります。
そして、決済注文は『建玉数』-『決済注文中数量』分だけが決済発注可能となっています。
 
新規約上した時点では『決済注文中数量』は0なのですが、
指値や、時間指定での発注をした時点で、
約定していなくても『決済注文中数量』は増えていくため、
決済注文自体ができないようになっています!!

ですので、エラーが出て決済されないというより、決済注文自体ができない形になりまーす!!

2020年04月16日

わにの

少し時間がたちました。教えていただけませんでしょうか。岡三RSSとNET TRADERは連携いるのはわかりました。
たとえば、決済すべき玉が5枚あるとします。
朝9時の時点で、
RSSにおいて、昼11時の成行決済2枚を設定しました。
同様に朝9時の時点で、
NET TRADER において、昼12時の成行決済5枚を設定しました。(RSSの決済の1時間後)

つまり、
現在玉が5枚です。
そして、9時に、以下のように決済設定しました。
RSS   12時指定  成行決済 2枚
NET TRADER 13時指定  成行決済 5枚

この場合、12時になれば、RSSの設定である、2枚が成行決済されるのはわかります。
12時の時点で残玉は3枚です。
13時のときに、
NET TRADER で設定した5枚はありませんが、(3枚のみ残っている)、きちんと、残玉の3枚が決済されるのでしょうか。
それとも、設定が5枚なので、エラーがでて、決済されないのでしょうか。

どうぞ教えていただけませんでしょうか。
よろしくお願いもうしあげます。

2020年04月16日

わにの

すみません。さきほどの質問で、少し、時間設定がずれました。
再度かきなおします。よろしくお願いもうしあげます。

少し時間がたちました。教えていただけませんでしょうか。岡三RSSとNET TRADERは連携しているのはわかりました。
たとえば、決済すべき玉が5枚あるとします。
朝9時の時点で、
RSSにおいて、昼12時の成行決済2枚を設定しました。
同様に朝9時の時点で、
NET TRADER において、昼13時の成行決済5枚を設定しました。(RSSの決済の1時間後)

つまり、
現在玉が5枚です。
そして、9時に、以下のように決済設定しました。
RSS   12時指定  成行決済 2枚
NET TRADER 13時指定  成行決済 5枚

この場合、12時になれば、RSSの設定である、2枚が成行決済されるのはわかります。
12時の時点で残玉は3枚です。
13時のときに、
NET TRADER で設定した5枚はありませんが、(3枚のみ残っている)、きちんと、残玉の3枚が決済されるのでしょうか。
それとも、設定が5枚なので、エラーがでて、決済されないのでしょうか。

どうぞ教えていただけませんでしょうか。
よろしくお願いもうしあげます。

2020年04月16日

大野 了

逆に言いますと、
岡三RSSとNET TRADERは連携していますので、
岡三RSSから建てた玉を、NET TRADER側で決済したり、
NET TRADERで建てた玉を、岡三RSS側で決済したりという事も可能です!

2020年03月02日

大野 了

RSSユーザさん、こんにちは!!

こちらは3枚に対し、岡三RSSとNET TRADERで
合計6つの決済指値注文を行うという事でしょうか?

もしそれでしたら、岡三RSSで、3枚指値決済注文をした時点で、
NET TRADER側では、決済可能建玉数が0になっているため、
指値決済注文自体が、そもそもできない形となります!!

2020年03月02日

ちー

注文確認画面の省略について

注文確認画面出現.png (224.4KB)

半自動システムにて、条件合致単純発注→利確(損切)を行おうとしています。
発注と利確(損切)の条件設定を事前に行ったあとは自動で稼働させるため、確認画面省略機能を使いたいのですが、案内のとおり手順を踏んでも注文確認画面が現れます。

具体的な手順としては
・申込ボタンを押し利用規約を確認
・確認画面省略機能のところの「起動/ダウンロード画面へ」よりダウンロード・インストールののちRSSを起動
・Excel2019を立ち上げて(例えば「日本株注文.xlsx」で)シンプルに現物株注文
 第14・15引数は自ら追加(赤字)していまして、ここを「1」としているのにも関わらず確認画面が現れる(添付ファイル参照)
発注セルA3:
=NEWORDER(C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20)

また、一旦完全にアンインストールして、RSS、確認画面省略機能の順にインストールしなおしても改善されません(Excelや岡三RSSを閉じてのインストールや、PC再起動も含め試しました)

そもそももっと初歩的なところで手順を飛ばしてしまっているかもしれません。それがインストールの過程なのか、関数の設定の仕方なのか見当がつきません。何かヒント等がございましたらご教示ください。
よろしくお願いいたします。

2020年11月04日

ちー

大野さま

いつもご回答下さいましてありがとうございます。
なんと!そういう落ちだったとは・・
単に引数が2つ増えるだけという先入観が落とし穴でした。
やはり初歩的なところでした(反省・・)
ばっちり確認画面が省略され発注できました!

とても助かりました。おかげさまで次のステップに進めます。
また壁に当たった折りにはおちから添えいただけると幸いです。
ありがとうございました!

2020年11月05日

大野 了

ちーさん

うまくいきましたか!!
それはよかったです!!
引数多すぎて、時々わけわかんなくなりますよね・・
数えてて、ずれてくるとか・・・(笑

なにはともあれ、お役に立てて幸いです!!

2020年11月05日

大野 了

ちーさん、こんばんは!!

NEWORDERの第14引数と、第15引数は
逆指値の発注条件と発注単価となります。

省略フラグ系は第16引数と、第17引数
注文確認省略フラグと注意画面省略フラグになります!!

まとめますと・・・
第14引数:発注条件(逆指値)
第15引数:発注単価(逆指値)
第16引数:注文確認省略フラグ
第17引数:注意画面省略フラグ
ですので、後2つ引数を増やして頂いて、その2つに1を立てると出なくなります!!

2020年11月04日

RSSユーザー

FCANDLE関数で取得出来た値が違うんですが・・

RSS初心者です。

日経期先miniで15分足のデータを取得しているのですが、高値がその15分ではない値(ひとつ前とか2つ前とか、酷いのは1時間前も)表示します。チャートと矛盾する値です。始値、終値、安値は正常です。
関数は
=FCANDLE("N225mini","0","15","1","高値",D4,"A","0")
です。
ご教授お願いします。

2020年03月05日

岡三オンライン証券

黒犬さま

解決いただけたようで何よりです。

引き続き、岡三RSSをご利用くださいますようお願いいたします。

2020年03月06日

黒犬

自己解決しました。

高値だけ昇降順が違っていました。
失礼しました。

2020年03月06日

岡三オンライン証券

黒犬さま

サンプルのご用意をありがとうございます。

サンプルを拝見したところ、日経225mini期近限月の15分足かと思われます。

高値だけが市場とは異なった価格になっているようですね。

担当に連携し、引き続き調査をさせてください。

どうぞ、よろしくお願い申し上げます。

2020年03月06日

黒犬

rss.jpg (277.0KB)

15分足高値値の件でお問い合わせさせて頂きました。

ファイル添付するのを失念していました。

2020年03月06日

岡三オンライン証券

RSSユーザーさま

いつも岡三RSSをご利用いただき、誠にありがとうございます。

調査をさせていただきますので、お時間を頂戴いたします。

今後とも、どうぞよろしくお願い申し上げます。

2020年03月05日

黒犬

注文、約定、保有情報の取得がうまく出来ません

RSS初心者です。

注文、約定、保有情報を関数で取得しようとしていますが上手く出来ません。ファイル添付致しますのでご教授宜しくお願い致します。
1.注文情報等で***END***表示は情報が取得出来ていないのですが原因が分かりません。
2.C15やC24にデータが何故入るのでしょうか?
3.黄色の所には1946年の日にちが入ってしまいます。何故でしょうか?セルの書式もユーザー定義に書き換えられてしまい、標準に戻しても通信時にユーザー定義に書き換えられます。保有の数量の所には現在値が入っているようです。
4.約定情報の取引種別には有り得ない数値が、数量も1の筈ですが・・

EXCEL2010です。

2020年03月18日

大野 了

得重さん

うまくいきましたか!!
よかったです!!

こちらこそ、よろしくお願い致します!!

2020年03月18日

得重博志

小野様

丁寧なご回答有難うございました。
列なんですね。
表を作り直してみました。
未だ、注文情報だけですが、正しく表示されるようになりました。
この度はお世話になりました。
また宜しくお願い致します。

2020年03月18日

大野 了

得重さん、こんにちは!!

画像拝見させて頂きました!!

FOPORDERQUERY、FOPEXEC、FOPPOSITIONは
発注やポジションが複数あることもあり、
ポジションなどのデータが指定セルから下に複数行データが返ってくる仕様になっています。
また『***END***』はデータをすべて表示したのちに、終わりであることを示すものになります。

例)
注文が3件ある場合に、以下のようなFOPORDERQUERY関数をA1に書いた場合
A1:=FOPORDERQUERY(1,2,"注文番号",A2)

データの戻り方
A2:1件目の注文番号
A3:2件目の注文番号
A4:3件目の注文番号
A5:***END***

というようにExcelに表示されます。

こちらを踏まえてですが、

>1.注文情報等で***END***表示は情報が取得出来ていないのですが原因が分かりません。
注文情報としては、一度は取得できているのですが、
取得後、ほかの関数の***END***で上書きされて消えてしまっていると思われます!!
 
 
>2.C15やC24にデータが何故入るのでしょうか?
一つ上で取得されたデータの***END***が表示されていると思われます
 
  
>3.黄色の所には1946年の日にちが入ってしまいます。何故でしょうか?セルの書式もユーザー定義に書き換えられてしまい、標準に戻しても通信時にユーザー定義に書き換えられます。保有の数量の所には現在値が入っているようです。
岡三RSSは日付などの時は、書式設定を日付の表示形式に変換するのですが、
H22で、約定時刻の書式設定が下まで適用されてしまい、おかしくなっています。
 
>4.約定情報の取引種別には有り得ない数値が、数量も1の筈ですが・・
こちらも同様の理由でほかのデータで上書きをしてしまっていると思われます!!
 
FOPORDERQUERYなどの、複数データが帰ってくる関数は、
A1:FOPORDERQUERY(1,2,"注文番号",A2)
B1:FOPORDERQUERY(1,2,"注文番号枝番",B2)
C1:FOPORDERQUERY(1,2,"朱蒙情報",C2)
というように、出力内容が被らないように列単位で記載してあげるとすべてのデータが上書きされることなく
綺麗に取得できると思います!!

2020年03月18日

得重博志

rss_info.jpg (495.6KB)

添付忘れました。

失礼しました。

2020年03月18日

岡三オンライン証券

黒犬さま

このたびは、「岡三RSS集いの広場」への投稿をありがとうございます。

ファイルが添付されていないようなので、コメントへファイル添付をしてください。

どうぞ、よろしくお願いいたします。

2020年03月18日

Sky777

岡三RSSでセット注文できますか?

225オプションのクレジットスプレッドなどで、権利行使価格の違うPUTの売りと買いを同時に発注する事はできますか?

2020年03月15日

sky777

了解しました。
ありがとうございました。

2020年03月17日

大野 了

あっ!

同時と言われるのは、1つの発注で複数の発注を同時にという事だったんですね・・・
両建てが可能かどうかと勘違いして受け取っていました。
申し訳ございません。

OPNEWORDER関数でバスケットのような注文を出すことはできないので、
買い用と売り用でOPNEWORDER関数を2回発行してあげる必要があります。

2020年03月17日

sky777

返信ありがとうございました。
OPNEWORDER関数を1回で出す様にするための具体的な引数を教えていただけますでしょうか?
お手数ですが、よろしくお願いします。
sky777

2020年03月17日

大野 了

Sky777さん、こんにちは

はい
OPNEWORDERの関数で
同一限月、行使価格事別で売り買い両方出すことができます!

2020年03月15日

スペース 西

岡三RSSをプログラムから起動する方法?

岡三RSSをプログラム(コマンドライン等)から起動する方法を教えてください。

1台目のPCでは、下記のコマンドで起動できます
コマンドは「岡三RSSショートカット」の[全般]→[場所]

[cmd /C "C:\Users\Owner\Desktop\岡三RSS.appref-ms"]

2台目のPCで、「岡三RSSショートカット」の[全般]→[場所]は
[C:\Users\space\OneDrive\デスクトップ]となっており

[cmd /C "C:\Users\space\OneDrive\デスクトップ\岡三RSS.appref-ms"]
[cmd /C "C:\Users\space\OneDrive\Desktop\岡三RSS.appref-ms"]
等としても起動しません。

※[〆:Windowsの起動と同時に開始する]は、AM6:30 以前にPC起動するので使い勝手が悪い

2020年11月11日

大野 了

良かった!!届いたw

ホントですよねー
『拡張子を表示する』
ってしても、一部は表示されないとか意味が分からんですw
どんだけ隠したいんだよと・・・
きっと大事なファイルはミスってリネームされて動かなくなるのを
防ぎたいんでしょうねー
それでも・・・それでも・・・

2020年11月17日

スペース 西

>この手の特殊な拡張子は、
>エクスプローラーの設定で『拡張子は表示する』と設定しても表示されず、
>レジストリを変更しないと表示されません!!

情報、ありがとうございます。
拡張子を簡単に表示してくれれば理解しやすいのに・・・

>返信が届くことを祈って・・・

大丈夫です。
毎日の日課で、大野さんの回答を楽しみに読ませていただいていますから。

2020年11月17日

スペース 西

>なにはともあれパスがOKだったようでよかったです!!

はい、ばっちりでした。

ついでで申し訳ないのですが、
岡三RSS.appref-ms の拡張子[.appref-ms]の拡張子を
エクスプローラーに表示する方法はあるのでしょうか?

2020年11月11日

大野 了

スペース西さん

大変申し訳ございません・・・
返信を見損ねていました・・・
返信が届くことを祈って・・・


この手の特殊な拡張子は、
エクスプローラーの設定で『拡張子は表示する』と設定しても表示されず、
レジストリを変更しないと表示されません!!

\HKEY_CLASSES_ROOT\Application.Reference\NeverShowExt
を削除して頂くか、リネームすると表示されるようになります!!
(たぶん、再起動が必要です)

2020年11月15日

大野 了

毎日回答を見られてると思うと、恥ずかしい限りです・・・(笑

なにはともあれパスがOKだったようでよかったです!!

2020年11月11日

スペース 西

大野了さん、あ久しぶりです。
と言っても、毎日ここで回答を読ませていただいているので久しく感じませんが!?

ご回答いただいたパスで完全にOKでした。
安定した動作が見込めるようです。
ありがとうございました。

2020年11月11日

大野 了

スペース 西さん、お久しぶりです!!

RSSを動かしたいときのパスですが、

C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\岡三オンライン証券\岡三RSS.appref-ms

こちらのパスの方が確実だと思います!!

デスクトップのappref-msはOneDriveのデスクトップの共有化の設定次第で、
いろいろと変わってしまいますのでー

2020年11月11日

黒犬

IF文を使った新規発注が出来ないのは何故でしょうか?

発注フラグをたて、IF文を使って新規注文を出そうとしていますが出来ません。
=IF(data!H11="Entry","=fneworder(C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22)","待機")
各セルには引数が入っています。
条件が整うと待機から=fneworder(C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22)にセルの表示は代わるのですが関数が実行されません。(発注済の表示になりません)
試しに違うセルに上記関数部分をコピペすると発注されました。

何故でしょう?

初歩的な質問で恐縮です。

2020年03月25日

大野 了

なるほど!!
確かにもうちょっとわかりやすいエラーのメッセージだと良いんですけどね・・・
セルにちょろっとエラーが出てもわかrないですよね・・・

なにはともあれ、お役に立ててよかったです!!

2020年03月26日

得重博志

大野様

いつも有難うございます。
""を外すと文法エラーだったのでてっきり・・
エラーの原因は=だったのですね。
=付きのコピペで発注出来たので気が付きませんでした。
Excelの関数の書式と混同していました。

2020年03月25日

大野 了

黒犬さん、こんにちは!!

こちらは、IFの中のfneworderが『"』で囲まれてしまっているため、
fneworderが関数としてではなく、文字としてExcelに処理されてしまっています。

また、fneworderの前の『=』も不要ですので最終的に

=IF(data!H11="Entry",fneworder(C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22),"待機")

で行けると思います!!

2020年03月25日

ななし

岡三RSSの祝日について

祝日は、岡三RSSは稼動しない認識でよろしいでしょうか。
10月10日に=FQUOTE等、読み込ませようとしたのですが、
更新がしなかった為です。

2022年10月11日

大野 了

ななしさん、こんにちは!!

祝日取引に関してですが、
岡三オンライン証券さん自体が、来年度からの参加を目指してるということで、
現状は祝日取引の情報は取れない感じになっているようです。

2022年10月11日

岡三オンライン証券

岡三RSS(国内株式・先物OP)の機能拡充について

いつも岡三RSSをご利用いただき、誠にありがとうございます。

3/28(土)に岡三RSSの機能拡充を予定しています。

【新設】
NEWORDER_CL関数 : 現物注文(注文番号なし)
MARGINORDER_CL関数 : 信用新規注文(注文番号なし)
REPAYMENTORDER_CL関数 : 信用返済注文(注文番号なし)

※今回新設するNEWORDER_CL関数、MARGINORDER_CL関数、REPAYMENTORDER_CL関数は、VBAマクロで直接実行することができます。


詳細は下記のお知らせよりご確認ください。

■岡三RSS(国内株式・先物OP)の機能拡充について
https://www.okasan-online.co.jp/information/2020/0327b/

■メンテナンス日時
2020年3月28日(土)09:00 ~ 13:00頃

※メンテナンス終了後、岡三RSSを起動させると自動アップデートが行われます。


引き続き、岡三RSSをご利用くださいますようお願いいたします。

2020年03月27日

大野 了

これはうれしいっ!!

VBAから現物の発注ができるんですね!!
ありがたい限りです。

2020年03月28日

RSSユーザー

エクセルの式、VBAの優先順位についてです。

お世話になっております。エクセルでトレード中、セルの中の式が条件に一致(1~2秒)したのですが、他の式かVBAがたぶん動作中だったため実行しませんでした。(NEWORDER関数の成売りが実行せず)、式またはVBAでこの実行が最優先とかっていうのありますでしょうか、お教えください。

2020年12月14日

大野 了

ぐろなびさん!!

上手く行くことを祈ります!!

2021年02月14日

ぐろなび

大野様
さっそくにご返答ありがとうございます。
Changeイベントでマクロを作成してみました。
挙動を確認してみて、ダメだったらまたご相談させてください。
よろしくお願い致します。

2021年02月14日

大野 了

ぐろなびさん、こんにちは!!

ぐろなびさんのセル関数がわからないのと、
RSS365FXは使っていないので、間違っている可能性があるのですが・・・
FXONEORDER関数の第15引数の入力完了セルにセルを設定しても繰り返し発注がされる感じでしょうか?

マニュアルをみると、この第15引数にセルを設定させると
その関数で発注がかかると、このセルが0に更新され、
一度0になるとそのセルが1になるまで発注がかからなくなるようです。

もし、関数を使い捨てでよい場合は、第15引数にセルを設定すると
繰り返しの発注はなくなると思いまーす。

デメリットとしては、FXONEORDER関数が使い捨てになるため
一日に何度もドテン発注がある場合は、その分を見越してFXONEORDER関数を事前にいくつも用意しておかないといけなくなります!!

また、もし、いくつもFXONEORDERを用意せずに
一つのFXONEORDER関数で何度も繰り返して発注をやりたい場合は、
ぐろなびさんがおっしゃられてます通り、マクロを使う方が簡単だと思われます。

マクロの内容としては、
再計算イベント、もしくはセルのChangeイベントで、
発注条件を監視しておき、発注条件をみたした際に、
第15引数に設定したセルを1に書き換える
マクロになると思います!!

具体性に乏しい返答になってしまい、大変申し訳ありません。
もしご不明な点がございましたら、再度ご質問頂けますと幸いです!!

2021年02月13日

ぐろなび

RSS365FXを使って、条件が一致したら自動発注する仕組みを作っています。

RSS365FXについて質問できる場所が無いため、何かヒントをいただければと思い質問させていただきました。

単一注文で、i条件が一致f関数のするとドテン発注する仕組みなのですが、条件が一致して発注された後、何度も繰り返し発注されてしまいます。

条件が一致した場合に一度だけ発注し、次回の条件が一致するまで待機するようにしたいのですが可能でしょうか?

RSSで価格を取得する度に、新たに条件が一致したとエクセルが認識して発注されてしまうのでしょうか?
if関数だけの処理をしておりますが、マクロでしたら対処することは可能でしょうか?

どなたかご教授いただきたく、よろしくお願いいたします。

2021年02月13日

RSSユーザー

VBAが実行中はセル関数は動かないのですか!多分それです。(1分おきに1分前の株価をマクロで更新しているので!)、とりあえずポジションを持ったら、マクロ実行をしないようにして対応してみます。ありがとうございました。

2020年12月14日

大野 了

こんにちは!!

RSSユーザさんのVBAの作りがわからないので何とも言えませんが、
通常で考えると、VBAが動作中にセル関数が動いてしまうという事自体が
考えつらいのが現状です。

通常、VBAを使ってる時はDoeventsなどの処理を入れないと、
セル関数自体が動かないので・・・

このためセル関数とVBAで、どちらを優先して処理をすると言うような
設定は残念ながらExcelには無い感じになります・・・

2020年12月14日

RSSユーザー

BOARD関数のOVERとUNDERの表示についてです

こんにちは。BOARD関数のOVERとUNDERの表示は出来ないのでしょうか!教えてください!

2020年12月24日

大野 了

そうなんですよねー

マニュアルによって若干項目が違うときがあるんですよね・・・
自分は一応両方見るようにしています。

なにはともあれ、お役に立てたようでよかったです!!

2020年12月25日

RSSユーザー

ホントだ!ありました。
よく見ると『関数マニュアル』には載ってなくて『関数一覧』には載っていました!ありがとうございました。

2020年12月25日

大野 了

RSSユーザさん、メリークリスマスです!!

BOARD関数に『気配数量OVER』『気配数量UNDER』という項目がありますので
こちらを設定すると取得することができます!!

2020年12月24日

RSSユーザー

ランキング機能について

質問投稿箇所を間違えました。
再掲です。申し訳ありません。

エクセル2019を使用しています。
ランキング取得をしたくシートに
=RANKING_M("値上り幅(前日終値)","ランキング結果",10,C1, "東証 1")
を入力すると#VALUE!とエラーが返ってきてしまいます。
=QUOTE("4563","","現在値")などの値は取得できるのですが、何が問題なのでしょうか?
ご教授していただけると幸いです。よろしくお願いいたします。

2020年10月14日

大野 了

申し訳ありません・・・
返信を見落としていました・・・

ファイルありがとうございます!!
自分の方で動かしてみたのですが、
QUOTE関数、RANKING_M関数ともに正常に動作しましたー

通常#VALUEのエラーが出る場合は、
#NAMEや#N/Aなどと違って引数の数が違うとか、カンマが全角になってるなどが多いのですが、
頂いたファイルを見ると、いろいろな設定などは完璧そうです・・・

一応、以下の項目を確認して頂けますでしょうか?

〇VBAエディタを表示し、参照設定で参照不可が無いかを調べる
1.ALT + F11 を押して、VBAエディタを表示する
2.『ツール』-『参照設定』で参照設定ダイアログを表示する
3.参照可能なライブラリ の 中に"参照不可"が無いかを調べてみる
4."参照不可"があれば、チェックを外してみる

もし、上記に問題がない場合、
もしかしたら、インストールに失敗しているのかもしれません・・・

以前に頂いたご質問の転記で大変申し訳ないのですが、
https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=267#comment_1414
をご参考にされて、clickonesのキャッシュを削除してから
再インストールを試して頂けますでしょうかー?

これで直ると良いんですがー

2020年10月16日

大野 了

あっ、ちなみに頂いた画像の内容を手打ちしてみたのですが、
正常にランキングが取得できましたので、
RSSユーザさんの関数の使い方で、使い方自体は問題ないと思いまーす。

2020年10月14日

RSSユーザー

岡三RSS.xlsx (10.0KB)

私のエクセルで、QUOTE関数は動くのですが、RANKING_M関数が動きません。
エクセルファイルを上げさせてもらいます。
ご丁寧にありがとうございます。

2020年10月14日

大野 了

まぢですか・・・

ちなみに一つお尋ねです!!
『=QUOTE("4563","","現在値")』
は取得できるとのことですが、
こちらは、RSSユーザさんのExcelで表示できるのでしょうか?
それとも、奥様のExcelで表示できたという事でしょうか?

理由としましては、
#VALUE!
と出るときは、岡三RSSの設定が足りていない時も発生します。

ですが、もし岡三RSSの設定が足りていない場合、
QUOTE関数も動かないと思われますので、問題の切り分けをしたく・・・

もしRSSユーザさんのExcelで、
QUOTE関数が動いて、RANKING_M関数だけが動かない場合・・・
QUOTE関数とRANKING_M関数が記述された、Excelファイルを上げて頂くことは可能でしょうか?
もし上げて頂けるのであれば、直接そのファイルを見てみます!!

2020年10月14日

RSSユーザー

2020-10-14_14h17_02.png (9.5KB)

ご回答ありがとうございます。
スペースを抜いても、表示出来ませんでした、、、
添付画像のように、A1セルに関数を入力しているのですが、、

家内のエクセル2019では上記で表示出来るのですが、私のエクセル2019では表示出来ず何かエクセルの設定に問題があるのでしょうか?

2020年10月14日

大野 了

こんにちは!!

=RANKING_M("値上り幅(前日終値)","ランキング結果",10,C1, "東証 1")

"東証 1"の東証と1の間にスペースが入ってるためだと思われます!!

=RANKING_M("値上り幅(前日終値)","ランキング結果",10,C1, "東証1")
と、間のスペース抜くと、自分のところでも無事に表示できました!!

2020年10月14日

黒犬

二重発注された原因は?

いつもお世話になります。

N225ミニ
2006
大阪
新規

指値 19,115 円
1 枚
1 枚
1 枚
19,115 円
04/13 21:30:02
当セッションのみ
約定済
N225ミニ
2006
大阪
新規

指値 19,115 円
1 枚
1 枚
1 枚
19,115 円
04/13 21:30:01
当セッションのみ
約定済

こんな感じで二重発注されました。数日前にも同じ事があったので質問させて頂きました。

発注IDは5分足の時間を充てているので同じ筈です。
又、注文クエリ関数で取得した発注数量でも監視しています。
(IF文で数量が1の時は”発注中”、否定で”OK”としていて"OK"の時に発注可)
それでも1秒の違いで発注されています。
数量は1で固定しています。

どこがまずいのでしょうか?





2020年04月14日

大野 了

黒犬さん

2重発注発生しませんでしたか!!
それはよかったです!!

いろいろと拡張してると、どんどんごちゃごちゃしてきますよねー
俺もある程度ごちゃごちゃして来たら、一気に整理してしまいます(笑

なにはともあれ、少しですがお役に立てた様で幸いです!!

2020年04月18日

黒犬

大野様

昨日出勤前に新規オーダーのIF文の中に「15分足の時刻」のセルと「5分足の時刻」のセルがイコールという条件を付け加えてみました。

約定履歴に新規と決済がきれいに交互に並んでいました。1個だけ別な発注ロジックの方で二重発注が有りましたがこちらの方に同じ修正を加えた前なのか後なのか記憶が曖昧でなんとも言えませんがその後、10回連続2重発注が有りませんので治ったかもしれません。
もう1日、様子見て判断したと思います。

取り急ぎ、出勤前の報告ってことで失礼します。

2020年04月17日

大野 了

黒犬さん、こんにちは!!

出来れば、15分の足間(15分のロウソク足の情報を取る複数の関数)の
ズレもないことも確認できると、ロジック的に硬いと思いますが、
時間の確認を増やされたことで収まったならよかったです!!

これで二重発注が無くなる事をホント祈ります!!!!

2020年04月17日

黒犬

大野様

パラメータを甘くして発注が出やすい状態で出かけました。
ナイトと合わせて30件以上検証出来ましたが2重発注はゼロでした。
念の為、メモに発注IDを入れナイトを動かしていましたがシステム障害で引けまで決済されず検証は出来ませんでした。
おそらくもう2重発注の症状は出ないと思います。
関数実行のズレの件、勉強になりました。
テスト段階という事で画面が大きいデスクトップで作ってましたがEXCEL2010がダウンしたり動作が怪しくなってきたのでノートPCで作り直しを行います。いろんなセルを参照して所謂スパゲティ状態で下手に弄ると思わぬ現象が出たり、検証も出しづらいので・・

落ちてくるデータの取得済のロジックも付け加えさせて頂きます。

本当にお世話になりました。
有難うございました。

2020年04月18日

大野 了

ズレのイメージ.xlsx (11.8KB)

黒犬さん、こんにちは!!
大野@我が家の犬は真っ白のマルチーズです。


データだけですので、あくまでも想像でしたかないのですが、
FCANDLEのデータ取得のはざまで、二重発注してしまったのではないかと思われます。

イメージのファイルを添付します。

添付ファイルように、新しい5分足が落ちてくるはざまで発生したのではないかと・・・

今回の例ですと、ちょうど発注時間が21:30付近ですので、
1.21:29:59に、シグナルが出て一回目の正規な発注がかかる
2.21:30:00に、約定時刻だけが更新されたときに、21:29:59の価格を見て、
  シグナルが出てるように見え再発注がかかる
  ※この時、約定時刻だけは21:30になっており発注IDが変わってしまうので、発注がかかってしまう

発注が処理されるのに、1、2秒かかってしまうので、
発注時間からすると可能性があります。

注文クエリも同じ理由で、時間のはざまで発注数量が正常な値で取れない瞬間があるため
ここもすり抜けてしまったのだと思います。

2020年04月14日

黒犬

大野様

いつもご親切に有難うございます。
ご指摘頂いた内容は理解出来ました。

2重発注の原因はIDにある事に間違いないと思います。
発注に使っているIDは”文字列”&5分足の時刻です。
5分足キャンドルは5分ごとにIDを変える為(連続発注)と損切判定,注文キャンセルの為なので時刻と終値だけを取得しています。
新規注文は15分足での判断で複数のフラグで条件が整えばEntry”になります。従いまして新規注文は必ず0分、15分、30分、45分の直後になります。新規注文は"Entry”の文字列のセルしか参照していないのでデーター取得のはざまでIDが変るとは考えにくい気がします。もしかすると5分足のシリアル値がリアルタイムに変わっているのかと思いCEILING関数で丸めてみましたが、どうもダメみたいです。今日も2回フラグが立ち、2度ともに二重発注となりました。
又、5分約定しないとキャンセルするようにしていますが、キャンセルが実行されるとIDが変る5分後ごとに”Entry”ではないのに新規発注される現象も現れました。
先日まで大過なく自動売買出来ていましたが、手を加えて行く度におかしくなってしまいました。
新規発注フラグの一つに「関数の取得済」を加えさせて頂きます。

今、新規発注が行われましたが正常でした・・

P.S. 今日は仕事が休みでPCに座りっぱなしの私の傍らに黒のラブラドールが暇そうにしています。

2020年04月14日

大野 了

黒犬さん

なるほどー
そういう事なんですねー
だとするとデータ取得のはざま関係では、以下のような可能性が考えられるかもです!!

Excelの関数は左上から順に実行されることが保証されているわけではないので
先に価格の方が動いてる可能性もあります。

1.21:30、15分足のシグナルに使っている情報(始値や終値)が更新される
2.発注のフラグが立つ
3.FNEWORDERが動く
  ※この時まだ『約定時刻』は21:15のため、発注IDは21:15で発注
4.その後『約定時刻』が更新されて、21:30になる
5.『約定時刻』が更新されることによりExcelの再計算がかかり、発注IDは21:30で発注
  ※この時シグナルは、2回立つというより、1回目のシグナルが立ったままのため再発注されてしまう

関数の取得済みの対応だけで直ると良いんですがー

もし、2重発注が止まらない場合は、
パスワードや、黒犬さんのノウハウの部分(シグナル発生などの部分)を消したファイルを上げて頂ければ、
動きの部分は見てみまーす!!


P.S.
黒のラブラですかー
良いですねー
子供のころはラブラを抱き枕に寝るのが夢でした(笑

2020年04月14日

大野 了

得重さん

>ご指摘は21:30分に21:15~21:30までの15分足が確定してフラグが立つ、その時の発注IDで使っている5分足の時刻は21:30に達していないという事でしょうか?
はい、得重さんのおっしゃれる通りとなります。
FCANDLEの関数は1つの足の情報を取るために『約定時刻』『終値』など複数FCANDLEを使って、
1つの足の情報を作り上げるのですが、
この時『約定時刻』『終値』が同じタイミングでまとめて動けばよいのですが、
『約定時刻』を取得し、その後に『終値』を取得しと1つずつ動いていくため、
一瞬『約定時刻』と『終値』で時間軸の違う足が同じ行に出てしまいます。

また、『約定時刻』の後に『終値』が動くことが保証されているわけでもなく
状況によって『約定時刻』の後に『終値』が動いたり、『終値』の後に『約定時刻』が動いたりします。

二重発注されている時間が、
すべて、30、45分の数秒以内に集中していますので、この可能性が高いかもと・・・


P.S.
太ももを枕に・・・
寝返りが打てないやつですね・・・(けど、うらやましいい

我が家のマルチーズは、俺が寝てると少しずつ枕の上に載ってきて
最終的に俺から枕を奪い取ります。

2020年04月15日

得重博志

大野様
御親切に感謝しています。本当に恐縮です。

ご指摘は21:30分に21:15~21:30までの15分足が確定してフラグが立つ、その時の発注IDで使っている5分足の時刻は21:30に達していないという事でしょうか?

昨晩も現象発生していましてサイトの方で注文履歴を確認しました。受付時間が二つとも一緒で0:45:03、処理時刻は1秒の差が有り0:45:03と0:45:04でした。因みに約定時間は二つとも0:45:09でした。(指値なので)受付時間が同じなので同じIDのように思えます。
もう一つ2重発注があったのですが、それは発注5分で未約定キャンセルが影響しているようでした。ステータスは取り消し済みになっていましたが処理済が0個、要するにキャンセルされていない状態、その後に追加で発注されていました。注文個数もフラグも見ている筈ですが・・

もう一つ別の新規発注ロジックも15分足を使い、5分足の時刻IDを使っていますが、2重発注は有りません。

付け焼刃的修正だらけのファイルですが、少し細工してアップ致しますのでその節にはどうか宜しくお願い致します。

取り敢えずお礼まで・・
出勤時間間際で乱文失礼しました。

P.S. うちの黒ラブは私のベッドで私の股の間で太ももを枕にして毎晩寝てます。

2020年04月15日

大野 了

分足完全取得.xlsx (36.1KB)

二つ投稿されてしまった・・・(涙

そして、肝心の対処方法ですがー

FCANDLEなどの複数関数にて1つのデータを取得する関数の場合
複数関数がすべて動いたことを確認する式を追加し、
その追加した式を発注の条件に入れてあげるのが一番だと思います。

以前、ご質問を受けた時に作成したファイルを添付します。

この添付ファイルのG2のセルが、
FCANDLE達がすべて動いた場合に、『取得済み』と出ますので、
FNEWORDERの発注条件のIF文に、このセルが"発注済み"となった時という条件を
追加して頂くと、二重発注が防げると思います!!


添付ファイルの使いまわしであることと、関数の動くタイミングの話になるので
ものすごくわかり辛いと思います。

わかり辛い点が多々あると思いますので、その時はご連絡頂けますと幸いです!!

2020年04月14日

大野 了

ズレのイメージ.xlsx (11.8KB)

黒犬さん、こんにちは!!
大野@我が家の犬は真っ白のマルチーズです。


データだけですので、あくまでも想像でしたかないのですが、
FCANDLEのデータ取得のはざまで、二重発注してしまったのではないかと思われます。

イメージのファイルを添付します。

添付ファイルように、新しい5分足が落ちてくるはざまで発生したのではないかと・・・

今回の例ですと、ちょうど発注時間が21:30付近ですので、
1.21:29:59に、シグナルが出て一回目の正規な発注がかかる
2.21:30:00に、約定時刻だけが更新されたときに、21:29:59の価格を見て、
  シグナルが出てるように見え再発注がかかる
  ※この時、約定時刻だけは21:30になっており発注IDが変わってしまうので、発注がかかってしまう

発注が処理されるのに、1、2秒かかってしまうので、
発注時間からすると可能性があります。

注文クエリも同じ理由で、時間のはざまで発注数量が正常な値で取れない瞬間があるため
ここもすり抜けてしまったのだと思います。

2020年04月14日

RSSユーザー

エクセル2016のマクロ実行のスケジュール設定についてです。

お世話になっております。
エクセル2016が開いている時のみに、エクセル2016のマクロで記録したマクロ名(Macro1)を開場日の前場、後場の1分おきに実行したいのですがどうすればよいかお教えください。今、他の処理はVBAが分からずUWSC Proを使ってスケジュール設定しているのですが、上記のようにするにはどうすればよいか分からないからです。
なお開場日の判定は、あるセルが土日祝日だと0、平日だと1に表示されるようになっています。よろしくお願いします。

2020年07月22日

大野 了

なるほどー!!

そういう事なんだったんですねー
UWSCでスケジューリングができてたので、1分おきにマクロが動かせればよいのかと思ってしまいました。

何とか行けそうとのことで、よかったです。
もしうまくいかない場合はご連絡ください!!

2020年07月22日

RSSユーザー

何とかいけそうです。ありがとうございました。

2020年07月22日

RSSユーザー

超初心者でしてエクセルのマクロもマウス操作とかをただ録画しただけのものです。UWSCスケジュールの簡単な式で出来ればと思ったのですが甘かったみたいです。なお大野様の文章を必死に読んでいるのですが、平日9時と12時半の繰り返しマクロスタート時刻及び平日11時30分と15時の繰り返しマクロ終了時刻はどうすればよいでしょうか。

2020年07月22日

大野 了

こんにちは!!

こちらは、VBAを1分おきに定期実行させたいということでよろしいでしょうかー?

記録で作られたマクロ(VBA)を動作させるには、OnTimeイベントというものを使用します。
こちらは、指定した時間にマクロを実行させることができるため、

マクロが実行される度に、1分後の時間を指定することにより、
1分おきにマクロを実行させることができます。

以前、別の方にご質問を受けました内容のアドレスで申し訳ありませんが、
URLを記述します!!

https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=22#comment_431

上記のサンプルは『MainProc』というマクロを『1秒おき』に動作させるサンプルになります。

URLのサンプルの、

MainProc → Macro1
TimeValue(""00:00:01"") → TimeValue(""00:01:00"")

と変更して頂きますと『Macro1』が『1分おき』に繰り返し動作するようになります!!

そしてRSSユーザさんの作られた、Macro1の一番最後に、

nextTime = Now + TimeValue(""00:01:00"")
Call Application.OnTime(nextTime, ""MainProc"")

の2行を追加して頂きますと、大丈夫と思います


まとめますと・・・

1.繰り返しスタート、終了のマクロを作る
Private nextTime As Variant

Public Sub StartProc()
nextTime = Now + TimeValue(""00:01:00"")
Call Application.OnTime(nextTime, ""Macro1"")
End Sub

Public Sub EndProc()
Call Application.OnTime(nextTime, ""Macro1"", , False)
End Sub

2.Macro1の一番最後に以下の2行を追加する
nextTime = Now + TimeValue(""00:01:00"")
Call Application.OnTime(nextTime, ""Macro1"")


以前頂きましたご質問を引用しているため、わかり辛い点も多いと思います。
もしわかり辛いようでしたら、最後ご連絡頂けますと幸いです!!

2020年07月22日

黒犬

発注ディレイ方法について

いつもお世話になります。

日経先物miniデイトレです。
複数の発注ルートがありますが、フラグの成立やオーダーにはCANDLE情報を契機としています。使用しているCANDLEは15分、60分です。発注ルートの競合時の優先や関数で取得する情報の精度の問題を解決する方法として発注ディレイを行っています。その為に5分足のcandleで時刻を取得して、フラグ成立後5分後に発注しています。candle!$M$4=(candle!$C$4+TIME(0,5,0))
M4が5分足、C4が15分足です。
10:00+5分=10:05という意味ですが、時々発注が出ていない事があり、簡単なIF文で検証するとそのときには=が成立していないようです。
ディレイ方法として間違っていますでしょうか?
ディレイは5分である必要はなく5秒でもいいのですが・・

ご教授宜しくお願い致します。

2020年07月30日

黒犬

大野様

ご丁寧にご指摘頂き、有難うございます。
理解出来ました。

TIME関数は沢山使ってますが、シビアな時間が必要ない所は不等式を使っているので問題はなさそうです。
等式を使っているのはフラグ成立の所です。不等式にするとフラグが立ちっぱなしで怖くて・・(5分足のシリアル値を丸めてIDにしています)オーダー文でINDEXとMATCHを使ったナンピン制御をしていますが一度だけですが制御が効かない事が有ったので・・等式にすると5分でフラグが消えるので保険になります。
キャンドル情報を契機とするルートは15分足と60分足です。ですから直近の15分足の完成時刻(C4)が基準になると思います。
C4に1分なり5分を加算した時間と現在値時刻。或いは現在時刻を照合する事になると思うのですが、等式に拘ると難しいように思えます。シリアル値にして数値を丸める関数を使うという方法もあるかと・・不等式にすれば簡単なんですがね・・少し考えてみます。
未熟物ですが、殆ど思いどうりに動かす事が出来ています。
大野様のおかげです。本当に感謝、感謝です。

P.S.お願いがあります。NOW関数の1分更新、こんな事も出来るのですね。驚きです。
メインのシートの空きセルを使ったので1行目に「列」が挿入され行がズレてしまいました。それに気が付く前に上書き保存してしまいました。
これ致命的なので元に戻したいのですが・・

2020年08月01日

黒犬

連投で失礼します。

メインシートの行挿入の件、大丈夫そうです。
他のシートで参照しているのでセル番号が変わって大変だと焦りましたが、連動しているみたいで・・
こんな事も知らないんです。

2020年08月01日

大野 了

黒犬さん

少しでもお役に立ててるようで、よかったです♪

ファイルも大丈夫だったと言う事でよかったです!!
セルがずれると焦りますよね・・・
自分も昔、何度かやらかしました(笑

NOW関数は再計算が掛からないと、値が更新されないのですが、
Excelには外部のデータをセルに取り込む機能があって、
それ使うと再計算が掛かるようになるので、
その外部取り込み機能をカラ回しさせると、定期的にシートが更新されます。
だいぶ無理やりですが・・・(笑


>等式にすると5分でフラグが消えるので保険になります。
なるほど!!
確かに不等号だけだと、発注し続ける危険性もありますね。
黒犬さんの言われる通り使い方次第ですね。


なにはともあれ、お役に立てたようでよかったです。

2020年08月01日

大野 了

あっ・・・
肝心のURLを張りされてました・・・

https://bbs.okasan-online.co.jp/ont/rss/board/?page=2 &topic_id=336#comment_1759
↑のURLはここの掲示板の仕様で記号が一部使えないので、『&』が全角になっています!!

2020年07月31日

大野 了

黒犬さん

自分も+で時間を加算するやり方でも問題ないだろーと
昨日まで思ってたのでいいきっかけでしたー
ありがとうございました。

>M4=time(10,5,0)
こちらは、M4が時間とのことですので、時間の処理的には必ずIFが成立するはずですので
発注が掛からなかった時というのは、時間以外の別要因かと思われます!!


>FQUOTEで現在時刻を取得する事
あっ!!
黒犬さんは夜間もされるんですよね・・・
FQUOTEは『現在時刻』ではなく『現在値時刻』となり、リアルタイムな時間ではありません。
夜間だとminiでも何分も更新されないことが多々あると思われます。

もし夜間まで考えてディレイさせるとすると、以下の2点かと思われまーす。

1.NOW関数でリアルタイムな時間を表示させて、その時間を基準とする
  メリットとしては1分間隔になってしまいますが、VBAを使わなくても
  Excelに約定の有無関係なしにリアルな実時間を表示させることができます。
  ですので、約定の有無に左右されないディレイの設定が可能となります。
  しかし、NOW関数だけでは画面に描画がかかった時しか現在時間が更新されないため
  VBAを使用しない場合、特殊な設定をExcelに行う必要があります。
  以前、同様の質問を受けたことがありますので、そのリンクで大変申し訳ないのですが
  ご参考頂けますと幸いです!!

2.判定を『=』ではなく『>』にする
  M4=TIME(HOUR(C4),MINUTE(C4)+5,0)
  の判断ですと、その時間の出来高が無かった場合、発注がかかりませんので、
  FQUOTE(現在値時刻)>TIME(HOUR(C4),MINUTE(C4),30)
  とすると、15分足の時刻 + 30秒以降で、最初に出来高が出来た瞬間に発注がかかると思います。

  デメリットとしては、シグナルが経ってから、15分以上市場で約定がない場合、
  次の15分足が出来てしまう可能性がありますので、FCANDLEの動く順序次第では
  これまた発注が掛からない可能性があります。

いろいろなところで使われているとのことですので、
おすすめはVBAで現在時刻を表示させそれを基準にする
もし、VBAを使用したくない場合は、
若干めんどうですが、1分おきにリアルな時間を表示させれるようにして、
それを基準にする

というのが、変な動きとか制約に惑わされないので、安定するかと思われます!!

2020年07月31日

RSSユーザー

大野様

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

FQUOTEは使っていますが、現在値時刻は更新されなかったのでExcelのNow関数と同じと思っていました。テストした時が値動きが無い時間帯だったかDow先物だったかでしょう。
こちらに切り替えます。有難うございました。

TIME関数の不一致の条件は分かりません。ナイトしか検証出来ませんが、ナイトでも足が出ないという事は無いですね。Dowはよく飛んでいますが。
発注条件が整っている筈が発注されていない。検証するとcandle!$M$4=($C$4+TIME(0,5,0)が成立しない。
念のため空きセルに=if(m4=C4+time(0,5,0),1,0)を入れcandleの時刻を戻して確認しました。セルは0でした。昨晩の21:35の時に発生しています。M4は21:35、C4は21:30です。他の時間で数回確認しましたがセルは1でした。因みにC4とM5(21:30)では1でした。
過去にも同じ事が何度かありましたが、頻度は少ないので諦めていました。

2020年07月30日

大野 了

黒犬さん!!

原因がわかりましたー

時間がわかったので、実際のデータ(Excelの時間のシリアル値)を調べてみたのですが、
時間の加算処理の小数点の丸め処理が原因で、IFが成立しなくなっています。

Excelでは時間をシリアル値というもので内部で管理しています。

0.895833333333333(21:30のシリアル値)
0.00347222222222222(5分のシリアル値)
0.899305555555555(21:35のシリアル値)
0.899305555555556(21:30 + 5分のシリアル値)

+で時間が加算されたときに、小数点第15位で四捨五入されており
0.899305555555555 と 0.899305555555556で
小さな値がずれており、IF文が成立しなくなっています。

M4=TIME(HOUR(C4),MINUTE(C4)+5,0)

として、5分加算した時間を作り出し、
もう一度TIMEでシリアル値を作ると丸め処理が入らず大丈夫だと思います!!

+で時間を加算することって、
確かに通常はやらないのですが、
感覚的には大丈夫な処理と今まで思っていました。

きっかけをありがとうございましたー!!

2020年07月30日

黒犬

大野様

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

TIME関数の使い方が悪かったのですね。
確かにhour、minute、secondを引数で使うと関数マニュアルにはあったのですが、省略しても出来ていたので・・
毎日10時5分に発注するのですが、発注されていない日も有りました。M4=time(10,5,0)加算はしていないのですが同じ原因ですかね。

TIME関数は取引時間帯指定、発注フラグや発注時刻、取消時刻、取消後再発注時刻、決済可能時刻、決済後再発注時刻・・沢山使っています。
FQUOTEで現在時刻を取得する事にしますので5分足は使わなくなります。等式にする必要はないかもしれませんが時間の加算は行います。

有難うございました。

2020年07月31日

大野 了

黒犬さんこんにちは!!

こちらは・・・
シグナルは15分足で判断するんだけど、関数の時差の問題のために
5分後に発注をするようにする。
その判断のために5分足のCANDLEで、5分後というの判断してる

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

IF文を試しにやってみたのですが、
正常に足ができている場合は、
5分足と15分足で +TIME(0,5,0)で判断でFalseになることはありませんでした。
=が成立しない場合の条件を詳しく教えて頂けますと幸いです。

IF文関係が間違いがない場合、
現状のロジックだけで考えられる点ですが、
シグナルが出て5分後の取引がたまたま5分間なかった場合は、
5分後の足ができませんので、発注がかからなくなります。
夜間ならともかく、225miniで日中に取引が5分間1度もないというのはちょっと考えつらいですね・・・


IFが成立しないとのことですが、どのような状況になりますでしょうか?


また、別の方法でディレイさせる場合ですが、
FQUOTEの現在値時刻を使用するというのはいかがでしょうか?
この関数だと取引がある秒単位で更新されるので、もっときめ細やかな制御ができると思います。
5秒単位とかの判断も可能になります!!!

2020年07月30日

ケン

サンプルシートを動かしたいのですが

市場モニターの画面.PNG (109.5KB)

現在、「ナイトセッション」で岡三RSSを活用した取引手法解説シリーズ 総論 [第4回] 後編 にて紹介されてるサンプル 「ifdoneOCO+時間決済サンプル.xls」に修正を加え、岡三RSSにて実稼働させようとしおります。しかしながら、このファイルにあるシート「市場モニター」において、“取引のない時間帯 補完”の欄で、朝08:45~09:01 までの17行のV,W,X,Y列のセルが全て#N/A となってしまいます。このような現象が起きる理由とその対策につきまして、教えていただければ幸いです。尚、問題のシートの写真を添付しました。

2020年10月27日

ケン

大野様
コメントありがとうございました!さて、流れ図に関して最後の質問です。L35~M48のエリアに「返済取消」というエリアがありますが、これの機能を調べようとして、流れ図を作成しようとしましたが、出来ませんでした。L37を制御しているのが誰なのかが判らなかった為です。この辺りを教えていただけますれば幸いです。

2020年12月14日

大野 了

ケンさん

フローチャート見てみましたー
ざざっとしか見れなかったのですが、
何かしら思いついたことは無かったです!!

いろいろとうまいこと行くことを祈ります!!

2020年12月14日

ケン

新流れ図(2020年12月8日)v006.xls (0.9MB)

大野様
了解です。新規発注していたオーダーが約定しなかった場合は、キャンセルが必要ですね! 気が付きませんでした! 現在まで出来ている流れ図を、拡張子xlsにして送ってみます。ありがとうございました。

2020年12月14日

大野 了

ケンさん、こんにちは

こちらの掲示板は拡張子が、xlsmが送れないので
拡張子を変更すると上げれると思います。

H35~L39の件ですが、こちらはマーケットに出ている注文が約定しなかった時に、
キャンセルを行うためのものの様ですので、
デイトレというより、発注等が、最大指値などで必ず約定するなら
いらないという感じになると思います!!

2020年12月14日

ケン

大野様
添付資料の解像度が悪い件了解です。なんとなくですが、これが限界の感じがします。元のファイルはExcelで作成しておりますので、このファイルを添付資料として送ることが出来れば、全く問題ないわけですが、いろいろトライしましたが、PNG形式でないと送ることが出来ない様です。又何か考えたいと思います。ところでQ27の件ですが、むしろ、ここを最大指値(ほとんど成行に近い)注文にしているので、このfreplaceorderの発注のトリガが損切りであっても、時間満了による発注も、全く同じ注文でOKである!事に気が付きました!いろいろ今回は勉強させていただきました! ありがとうございました。最後に一つ質問です。サンプルファイル「「ifdoneOCO+時間決済サンプル.xlsm」はH35~L39のエリアに、取消注文および返済取消用のエリアが用意されていますが、これは当方の使い方(当日終了するデイトレの場合)では使う機会は無い。と考えてよろしいでしょうか?教えていただけますれば幸いです。

2020年12月14日

大野 了

ケンさん、こんにちは

まず、申し訳ありません。

上げて頂いた画像の解像度が低く文字がつぶれてしまい、
中身が確認できませんでした・・・
サイズを大きくして頂いてあげて頂けますと幸いです。

また、Q27を使われたいという事は、損切などは逆指値で発注されたいという事でしょうか?
エリアAは決済にかかわる部分ですので、
個人的には逆指値にするのではなく、通常の成行や裁量指値が良いと思います!!

2020年12月14日

ケン

添付資料20201214_001.PNG (174.9KB)

小野様
お久しぶりです。小野さんからのエリアAの機能が、損切りおよび、時間満了における伝票処理の両方を兼ねているとのご説明を12月12日に受けまして、延々と足かけ3日間考え続けました!(お恥ずかしながら、エリアA近傍の流れ図を作成しましたので、添付資料を見ていただけますれば幸いです。自己流で汚いので、見る気もおきないでしょうから、一瞥していただき、何かコメントがございましたらいただけますれば幸いです)やはり最大のポイントはfreplaceorderの最後の引数「Q27」が、最大指値注文で、両方行けるか!に掛かっていると思いました。この部分の完全理解には更に数日(!)かかる可能性がありますが、全体の流れ図の完成を急ぎたいと思います。ありがとうございました。

2020年12月14日

大野 了

ケンさん

疑問1と疑問2をまとめて回答させていただきます!!
エリアAの使い方ですが、
C22が1になると、利確注文が訂正され決済がかかりますが
このC22の条件は、以下の条件の"OR条件"(AND条件ではない)となります。

ですので、
F22(手動決済したいときに1にする)
F24(時間条件が満たされたときに1になる)
F25(損切り価格になった際に1になる)
の"いずれか"が満たされた場合に決済されます。

このため、
E24を15:10など最終的に決済したい時間を入れて
D25は損切したい価格にしておくと、
新規発注後、損切価格に達した時はF25が1になり損切がかかり、
利確も、損切にも達しなかった時は、15:10にF24が1になって、
決済がかかります。

2020年12月12日

ケン

大野様
昨日は非常に大きな壁をなんとか乗り越えさせていただきました。大変ありがとうございました。早速ですが、次の疑問です。先日の12月10日にいただいたD24の使い方に関する質問です。以後、説明の便宜上、シート「条件注文」のB21~F27のエリア(返済注文損失限定(SL)開始条件)をエリアAとします。このAの使い方ですが、
疑問1.損切り用に使うとします。そうしますとE24を10:00(イニシャルレンジの最後の時間=新規発注が実行される時間)直後ぐらいに設定する必要があります。そうしますと、運悪く、15:00近くなっても新規約定した伝票が損切りにも、利益確定にも遭遇しなかった場合、成行でその伝票を処理しなければなりませんが、その場合はどうやって処理すれば良いのでしょうか?
疑問2.疑問1の代わりに今度は、エリアAを15:00近傍における残存伝票処理(成行処理)に使用したとすると、今度は、損切りの処理には何を使って処理をすれば良いのでしょうか?以上教えていただけますれば幸いです。

2020年12月12日

ケン

大野様
了解しました!圧倒的に重要な事を知りませんでした!更に便利な関数を教えていただきまして感謝しております。再度!ありがとうございました!

2020年12月12日

大野 了

ケンさん

動きましたかー
良かったです!!
確かにいろんな要因が重なると原因は見え辛くなりますよね・・・
タイミングが悪かったですねー

SQと岡三RSSの件ですが、
SQには、メジャーSQとかマイナーSQとかあるのですが、
マイナーSQは取引されないと思うので、飛ばしてメジャーSQだけでお話しますと、
3,6,9,12月の第二金曜日がSQ日となり、
SQ日の寄付きが、その限月のSQ値となります。

この時、ひとつ注意なのは、SQ日は第二金曜日ですが、
最終取引日は、前日の日中取引終了時点となります。

ですので、2020/12度の先物の場合、
2020/12/10(木)の15:15が最終取引日時となり
その後、日をまたいで、
翌日の2020/12/11(金)の寄付きで清算されます。

ですので、取引の最終日としての2020/12/10の15:15までは
岡三RSSでも取引が可能です。

また、もし期近でしか取引されない場合は、F31を以下の関数に書き換えますと
最終取引日が終わると自動的に次の期近に代わるので便利です!!

=FQUOTE("N225","0","限月")

例)
2020/12/10 15:15 までは『202012』が表示され
2020/12/10 16:30 からは『202103』に自動的に変わります。

2020年12月12日

ケン

大野様
おっしゃるとおり、限月を202103に書き換えたところ、問題なく市場モニターがバッチリと動きました!本日相当ドタバタしましたが、まるでアホの様です!インタネットで限月を調べると12月度は本日12月11日が期末ですね。今回限月(F31)を202012にしていました。最終日は動作しないのでしょうか?今回初めて知りました。2台のPCはそれぞれ違う環境で動いていましたので、てっきりwindowsのバージョンアップが悪さをしているのかと思い込んでおりました! 大野さんはさすがプロですね!岡三証券に電話して40分近く長電話しましたが、全くラチが上がりませんでした!ありがとうございました!

2020年12月11日

大野 了

ケンさん、こんにちは

市場モニターが取れない件ですが、
今日はSQで、限月が変わっていますので、
対象の限月が変更されていないのではないでしょうかー?

2020年12月11日

ケン

小野様
了解です。D24について「この時刻を過ぎたら決済させたい」という認識はありませんでしたので、感心しました!認識が深まりました。ありがとうございました。ところで、話題はコロッと変わりますが、、今朝、サンプルファイルがまともに動きません。2台のPCで動かしていますが、2台とも全く同じ現象です。シート「市場モニター」の4本値の書き込みが行われません。サンプルファイル「「ifdoneOCO+時間決済サンプル.xlsm」のバージョンを古いものに変えても同様です。こういう現象は2ヶ月前に岡三RSSを開始してから今回が最初です。昨晩windowsのバージョンアップがあったような気はしますが、明確ではありません。何か考えられる原因がありましたら教えていただけますれば幸いです。

2020年12月11日

大野 了

ケンさん

そうですねー
毎日D24も変える必要がありそうです。

ここの時刻を過ぎたら訂正発注に代わるので、
『この時刻を過ぎたら、決済させたい』
という時刻を設定してあげたら良いと思います。

15:10ぐらいで設定しとくと、大引けで決済させたいような動きにも使えると思います!!

2020年12月10日

ケン

小野様
了解しました。C22=1が損切りの端緒となること、そしてF24が価格監視になっていること、F25が損切りが有効となる時間を設定していることを完全に理解しました。(理解するまでに相当の時間を要しました!)ということは、毎朝、D9,D10をその日の日付に修正しておりますが、実はD24もその日の日付に修正せねばならないわけですね? としますと、E24は13:45ぐらいにしておけばよろしいのでしょうか?このあたりを教えていただけますれば幸いです。

2020年12月10日

大野 了

ケンさん、こんにちは

新規発注が約定した瞬間に発注されるのは
利確用の注文となります。
損切は損切の値に達した時、この利確用の注文を訂正する形で実現させています。

損切発注トリガーの式はQ4の
『=IF(ISERROR(M8),0,IF(AND(C22=1,M8="訂正・取消可"),1,0))』
となり、

上記のC22が1になることが、損切のシグナルとなります。

このため実際の価格の判断は、F24とF25で行われています!!

2020年12月09日

ケン

新流れ図(2020年12月8日).xlsx (48.5KB)

大野様
おひさしぶりです。ところで、当方、ファイル「ifdoneOCO+時間決済サンプル.xls」にトレーリングストップ(以下TSとする)を入れ込むため、マクロに変更を加えておりましたが、各種の理由でオリジナルに戻す作業をしております。そのため、全体の流れ図を書き直しております。この中で損切りの実行がどうやって、いつ行われるのか、わからない状態が続いております。(流れ図によりますと、損切り注文は、新規発注注文が約定した瞬間に起動している様に見えます)この辺りを教えていただきますれば幸いです。(現在作りかけの流れ図をお送りしますので、見ていただけますれば幸いです)

2020年12月09日

ケン

小野様
アクティブ取引について完全に了解しました。ありがとうございました。又サヤヌキについても了解です。この「ifdoneOCO+時間決済サンプル.xls」について完全にモノに出来た暁には、サヤヌキ(アービトラージ)に挑戦したいと考えております。現在、オリジナルに戻すべく、変更を加えております。それではまた。

2020年12月07日

大野 了

ケンさん、こんにちは

お伝えすることが出来てよかったです!!

アクティブ取引は、発注方法ではなく取引コースになるため、
アクティブ取引されたい場合は、取引コースの変更が必要です!
※確か先物の口座情報画面からコース変更の申請ができたような気がします・・・

ですので、アクティブ取引コースにすると、
すべての発注がアクティブ取引になる感じとなります!!

サヤ抜きは、連動性の高い"別の銘柄"を買いと売りと持つやり方となります。
連動性の高い銘柄は同じような動きをするのですが、
別銘柄なので、時々値動きにずれが起きます。
このズレた時に高くずれた方は売って、低くずれた方は買います。

その後、このズレが収束した時に、両方の銘柄を同時に決済掛けて
その値幅を取るような取引となります!!

2020年12月05日

ケン

大野様
うーーむ、大野さんのアクティブ取引の説明が非常に簡潔で、完全に理解できました!ありがとうございました! ところでアクティブ取引を岡三RSSに採用する場合、銘柄コードにはアクティブとか書き込むのでしょうか?それとも銘柄とは無関係なので、アクティブであっても、やはり「N225ミニ」と書き込むのでしょうか? 教えていただけますれば幸いです。ところでサヤ抜きとは、例の売りと買いを同時に立てるアレですね? いつかこれにも挑戦したいと思っておりますが、いつのことやら当分おあずけです。大変ありがとうございました。(ひょっとしたら、今回のファイルが完成した暁に、ファイルAの銘柄をα、ファイルBの銘柄をβとして売買をそれぞれ逆にして朝にA,Bの二つを立ち上げれば、これってサヤヌキですかね?)

2020年12月05日

大野 了

ケンさん、こんにちは!!

そうですねー
岡三RSSの場合、デバッグは自分の口座でやらないといけないため
どうしても実際に損失を出したりしてテストしないといけないので、
デバッグの時間が短縮できるのは、
トータルではケンさんのやり方もメリットもデカいなーと思いました

アクティブ取引は・・・
メリット
・証拠金が少なくて済む(spanの50%)
・手数料が安い

デメリット
・ポジションが引けで必ず決済される
・損失が大きくなると自動でロスカットされる(損切できない人にはメリット?)
 とはいえ、ほとんどかからないと思います

平たく言うと
『デイトレしかできないけど、その分必要証拠金低くするし、手数料も安くするよ』
て取引方法だと思います!!

自分はサヤ抜きのシステムがどーしてもオーバーナイトしてしまうので
そのシステムが無ければ、アクティブ取引にしたいところです。

ケンさんのおっしゃられますところの
『レバレッジがミニより小さいかも』

『ミニ1枚建てるときの、必要証拠金が減らせるかも』
と言う事であれば、その通りの取引になります!!

2020年12月05日

ケン

大野様
なるほど良さそうな提案、ありがとうございました! 通常であれば、すぐそのやり方に変更する作業に入るのですが、、、今心配しているのは、デバグの過程で、実の損失が膨大になるのではないか?ということです。これまでいろいろプログラミングを経験しましたが、バグ取りは相当難しく、時間のかかる作業であることを認識しております。そこで一月程前に、アクティブ先物取引という制度が出来ていることを発見しまして、ひょっとしたらレバレッジがミニより小さいかも!と色めき立ち、岡三証券に電話を掛けて話を聞きました。女性が出てきていろいろ説明していただきましたが、よく判らなかったです!結論は、どうもレバレッジとは関係がないらしいと思い、採用は完全に諦めました。一方、岡三RSSの「集いの広場」で公開しているサンプルファイルは、そのままでは殆ど使えないが(!)、骨だけはしっかりしており、デバグはしっかりされているように感じられます。ということで、サンプルの基本理念をそのまま使った方が良いのではないか?と最近思うようになった。という次第です。以上雑談ぽくなり申し訳ございません!大野さんのこのあたりのご見解をお聞かせいただければ幸いです。

2020年12月05日

大野 了

ケンさん

そうですね・・・
自分がやるなら、訂正注文が面倒なので以前に書いた形

===============================
1.約定後、利確の指値注文を発注しないようにする
2.高値(安値)を常に判断して閾値を超えたら、F17の利幅を増やし、TSの利確の幅を増やす
3.現在値を常に判断して、利確幅に達した場合、初めて利確の注文を成行出す

という感じでしょうか・・・
このやり方なら、ピーク値を超えた時の訂正注文がいらないため動作が簡単になります。

損切に関しては・・・

1.損切時に訂正注文をして損切を掛けるという流れから、
現在値を常に判断して閾値を超えたら、成行で損切を掛ける形に変更する
2.D25の変更価格『約定単価からいくら』という部分を
『D18の利確の注文価格からいくら』というように切り替える
※こうすると、ピークが切りあがると、つられて損切の幅も切りあがっていく形にできると思います。
=============================
の形でやると思いますが、
これだと変更量がそれなりに出てしまうので・・・

サンプルからの変更を極力抑えたいというのであれば―
ケンさんのやり方でも問題はないと思います!!

2020年12月04日

ケン

大野様へ
了解しました。大変ありがとうございました。さて、現在オリジナルファイルに、マクロによるトレーリングストッフを追加する方式にて次の段階に進もうとしておりますが、これとは別に、徐々に、オリジナルの方式の変更(最初に発注し、発注済みの逆指値の買い値を、株価が上がるにつれて訂正してゆく方式)にて対応する方がいろいろな意味で良いような気がしてきました。これはかなり最初の頃に、大野さんから指摘された方式でした。この方式をこれからやってみようと思っております。以下、フローを箇条書きにしましたので、これに対するご見解をお聞かせいただけますれば幸いです。
1.発注は規定の時刻に、規定の買値で逆指値で発注する。(オリジナルと全く同じ)
2.株価を監視する過程で、最大値を記録しておく。
3.株価が上がるにつれて、最大値を更新する。と同時に、株価上昇に対応し、発注済みの買値を訂正する。(オリジナルの訂正フォーマットを使う)
4.株価が最大値から規定の値だけ下降した場合、決済を実行する。発注形式は最大指値
とする。この方法で、オリジナルにほんのわずかな変更を加えるだけで結果として、トレーリングストップの機能を持たせることが出きる。
以上です。よろしくお願い申し上げます。

2020年12月04日

大野 了

ケンさん、こんにちは!!

最高値と最安値の差の条件追加、良いですねー
良いフィルタになりそう・・・( ..)φメモメモ

『発注待ち』の件ですが、ご認識通りFNEWORDERが書き出しています。

また『発注待ち』が出力される条件も、ケンさんのおっしゃれています、
発注禁止の際に出力される感じになります!!

2020年12月04日

ケン

小野様
当方の質問は小野さんの仰られている「サンプルシートの新規発注が有効時刻になったら逆指値で発注しているので、これは現在値を監視して発注するより効率がいいの?」に集約されておりました! いただいたサンプルファイルのアーキテクチャが、有効時間になったら100%発注される!という事を認識していなかったため、非常なショックを受けたため、余計なことをぐちゃくちゃ書き込んだため混乱させてしまい申し訳ございませんでした!
但し、100%発注されるのはいかにも問題がありそうな感じですので、イニシャルレンジにおける価格差(最高値と最安値の差)があまりにも小さいと、発注をやめる。という判断を、
発注の条件に入れるべきと思いますので、それをこれから考えてみます。ありがとうございました。それから追加の質問です。有効時刻を過ぎると、セルJ7に、「発注待ち」という文字が現れます。これは誰が書き込んでいるか調べましたが、マクロには存在しませんでした。ということは、以前教えていただいた、Fneworderが書き込んでいる。ということでしょうか?ということは、この関数は、現在岡三RSSのユーザー設定にて「発注禁止」にしていることを知っている。ということを意味している。というふうに考えてよろしいでしょうか?以上よろしくお願い申し上げます。

2020年12月04日

大野 了

ケンさん

申し訳ございません、理解力が無くケンさんのご質問が完全に理解できているか不安なのですが、
こちらは・・・

『サンプルシートの新規発注が有効時刻になったら、
逆指値で発注してるみたいだけど、これは現在値を監視して発注するより効率がいいの?』
という事で大丈夫でしょうかー?

それでしたら、ケンさんのおっしゃられます通り、
現在値を監視しておいて、指定した価格になったら発注させるよりも
逆指値注文を先に出しておく方が、
証券会社まですでに発注が通ってるので約定は早くなると思われます!!

2020年12月03日

ケン

小野様へ
了解です。ありがとうございました。ところで、とんでもない事を発見しました。新規注文は100%、10:00(イニシャルレンジの最後の時刻)に発注される。という事実です! と申しますのは、新規発注はマクロからではなく、セルJ7に書き込まれているFneworder(,,,,,,)によって実行されているからでした! 従いまして、J2=1、J3=1になりますと、セルJ7の関数=@IF(J2*J3<>0,fneworder(J9,J10,J11,"","",J14,J15,J16,J17,J18,J19,J20,J21,J22,J23,J24,J26,J27),"未発注") により自動的に新規発注が実行されます。ところでJ3=1になる条件はJ4=1(J4=1になる条件はF9=1(10:00になったら実行):マクロで実行)ですので、新規発注が決定されるアルゴリズムの中に、レンジ内の最高値がどうのこうの、株価の最高値がどうのこうのという情報が全く現れません!おかしいのではないでしょうか? と最初は思いました。ところが、どうも、これで正しいのではないか?と思い始めました。なぜかと申しますと、発注価格(J18=D13=F5+D58)が高めに設定されており、逆指値で発注されますので、この発注が約定すると、これは高値上昇モードに乗ったことになります。従いまして、4つのファイル(高値上昇モード対応、低値下降モード、一定レンシ振動モードの売り、一定レンジ振動モードの買いの4種)を1台のPCにて走らせた場合、10:00になったとたん4個の発注が同時に実行されると言うことになります! この方式のメリットは、株価がターゲットに達したときの発注速度が最高である。ということになるでしょうか?ターゲットに達してから発注行動を取るより、ずっと短い(論理的に最短時間ですかね?)ような気がします。以上について、小野さんの見解をお聞かせいただけますれば幸いです。

2020年12月03日

大野 了

ケンさん

とうとう、本格発注ですか1!!
楽しみですね!!うまくいくことを祈ります!!


パスワードの件ですが、
そうですねー
元々のF35を変更されても良いですし、ケンさんのおっしゃれます通り、
J24を適当なワードに変えられても良いと思います!!

2020年12月03日

ケン

大野様
了解です。J3=1が実行された直後にcell(5,10)=TimeforDakokuを実行しておりますので、「発注が実行された」ということではなく、「発注出来る状態が完了している!」という事であることを確認しました。従って、質問2も同時に判明し、「J5のトリガー発動時刻が100%、イニシャルレンジの測定範囲の最後の時刻に一致する時刻にて打刻される」背景も理解出来ました。ありがとうございました。ところで質問3ですが、「岡三RSSでチャートを描画しよう」というビデオを再度見ました。excel自体にチャート描画の機能があるんですね!思い出しました。このビデオに非常に詳細に描画の方法が説明されている事を再認識しました。これでなんとかなると思われます。どうにもならなくなったら小野さんに泣きつきますので、そのときはよろしくお願い申し上げます。ありがとうございました。ところで漸く発注の試しを実行する段階になったと思われます。大分前に小野さんからは「パスワードをわざと間違えておき、発注エラーが出るのを見て、ここまでの動作が活きていることを確認した」ということを教えていただきました。これを実行してみようと思っております。ファイルのJ21を見ますと=F35と書かれており、間違えようが無いですが、間違えるため、J21に適当な間違えたワードを書き込んでおけばよろしいでしょうか?以上教えていただけますれば幸いです。

2020年12月03日

大野 了

ケンさん、こんばんは!!

>1.シート「条件注文」のJ5はトリガー発動時刻ということですが、この意味は、発注のゴーサインが出た。という意味でしょうか?
マクロを観ると、
初回かつ有効時刻以上になった時に時間が入るようですので、
確かにゴーサインが出たような感じと思われまーす。


>2.トリガー発動時刻が毎回100%10:00になるのは、どこかおかしいですね?
動きとしてはおかしくはない感じです。
トリガー執行時間を退避してる感じですので・・・


>3.描画のサンプルを探したところ「チャート描画サンプルシート(先物).xls」というファイルが見つかりました。これを現在調べておりますが、何かほかのリコメンデーションがあるでしょうか?
4本値ですよね・・・
申し訳ありません、ぱっとは思いつかないです。
4本値だとExcel自体にチャートがあるので、最終的にそれを使う形になると思います!!

2020年12月02日

ケン

小野様
了解しました。ありがとうございました。ところで、現在、ファイルを08:30頃起動しますと、10:00にトリガー発動時刻が10:00となります。(イニシャルレンジの範囲は09:00~10:00に設定しています)まだ4日ぐらいですが、100%そうなります。これからそのあたりのアルゴリズムを調べますが、その前にグラフ(4本値)を描画したくなりました。(今後の開発インセンティブに相当影響します!)以下質問を箇条書きにしますのでよろしくお願い申し上げます。
1.シート「条件注文」のJ5はトリガー発動時刻ということですが、この意味は、発注のゴーサインが出た。という意味でしょうか?
2.トリガー発動時刻が毎回100%10:00になるのは、どこかおかしいですね?
3.描画のサンプルを探したところ「チャート描画サンプルシート(先物).xls」というファイルが見つかりました。これを現在調べておりますが、何かほかのリコメンデーションがあるでしょうか?
以上教えていただけますれば幸いです。

2020年12月02日

大野 了

ケンさん

ソースを見たましたが、多分大丈夫ではないかと・・・

ご質問の件ですが・・・
>疑問1:norder = Fneworder(L9, L10, L11, "", "", L14, L15, L16, L17, L18, L19, L20, L21, L22, L23, L24, L26, L27) の関数の引数の中のL16は「単価」となっていますが、これには現在値を入れておけばよろしいのでしょうか?
こちらは、指値などの単価となりますので、
最大指値を指定されている場合は『0』となります!!


>疑問2:疑問1の関数が実行された場合、norderには何か文字が出力されると教わりましたが、どのようなものが出力されるか教えていただけますれば幸いです。
自分が知っている範囲では・・・
『発注待ち』『発注完了』『発注金額オーバー』だったと思います!!

もしかしたらこれ以外もあるかもしれません・・・

2020年12月02日

ケン

添付資料20201202-001.PNG (161.7KB)

大野様
有段者とのお褒めの言葉をいただきまして、舞い上がっております!ところで、トレーリングストップのマクロに、ロスカットの手順を埋め込みました。添付資料を見ていただきましてご見解をお聞かせいただけますれば幸いです。ところで、この手順を作成している過程で疑問が二つほど出てきましたので、これも又よろしくお願い申し上げます。(最初のページが埋め込んだロスカットの部分で、2ページ目がこれまでのトレーリングストップの手順です)
疑問1:norder = Fneworder(L9, L10, L11, "", "", L14, L15, L16, L17, L18, L19, L20, L21, L22, L23, L24, L26, L27) の関数の引数の中のL16は「単価」となっていますが、これには現在値を入れておけばよろしいのでしょうか?
疑問2:疑問1の関数が実行された場合、norderには何か文字が出力されると教わりましたが、どのようなものが出力されるか教えていただけますれば幸いです。
以上よろしくお願い申し上げます。

2020年12月02日

大野 了

ケンさん

このサンプルを改良されて、TSのVBAを作られてる時点で、
有段者のレベルのような気が・・・

なにはともあれ、うまくいくことを祈ってます!!

2020年12月01日

ケン

大野様
了解です。当方も、昼飯を食いながら、TSの根元に入れるのが良いか?と考えていたところでした。当方も、実力13級から10級ぐらいに上がったですかね! ありがとうございました!

2020年12月01日

大野 了

ケンさん

あー違う・・・
落ちてきたら、約定させる形でしたね・・・

だったら、TSで一度も切りあがっていない状態での
損切の処理を、VBAに入れてあげるのが一番簡単だと思います!!

ケンさんの言われるところの、対策1ですね!!

2020年12月01日

大野 了

ケンさん

そうですね・・・
ケンさんのVBAなどを断片的にしか見ていないので、
なんとも判断に困るところですが・・・

以前、見せて頂きましたVBAですと、
TSの利確発注はVBAから発注される形に変更されていたと思います。

このため、L列(決済の発注)の発注機能がVBAに移行されてていると思うのですが、
L8の注文状態は機能すると思うので、
引きずられてQ列自体の処理自体は動くと思われます。
ですので、TSの切りあがりに合わせて、D25の損切価格を切り上げていく形が
もしかしたら簡単かもしれません 。

2020年12月01日

ケン

小野様
了解です。なるほど文字通り「訂正」だったのですね!道理で見つけることが出来なかった理由がわかりました。一方、ちょいと困ったことになったと思いました。と申しますのは、当方トレーリングストップを追加しましたので、発注は株価がピーク値から一定値下がったところで発動されますので、「訂正」ではなく、新たな損切り注文の発動をしなければなりません。ということは、今後の対策としては以下のいずれかということになるでしょうか?
すなわち
対策1.「損切り」のマクロを新たに作成する。
対策2.Q列に対応する「損切り」用の列をY列あたりに作成する。
なんとなく対策1が簡単かなあという気がしておりますが、このあたり教えていただけますれば幸いです。

2020年12月01日

大野 了

ケンさん、

ロスカットですが、
設定はケンさんのおっしゃられます通り
B21~F27で設定を行い
実際の処理は、Q列でやっているようです。

全体の動きをまとめますと・・・
1.新規発注(J列)
2.新規発注が約定されたら、利確の注文を出す(L列)
3.もし反対側に動いた場合は、損切注文に変更(Q列)

と思われます!!

2020年11月30日

ケン

大野様
現在、全体の流れ図を完成させようとしておりまして、ロスカットの流れ図を追加しようとしております。ところがこれがどこにあるのか発見出来ません! 
例えば新規注文であれば新規注文条件設定であるB8~F15に条件を指定して、J2~J27にて新規注文発注が実行されます。これに対して、ロスカットに対しては、返済注文損失限定(SL)開始条件という領域がB21~F27にありますが、これを実行するL2~L27に相当する部分が存在しません。これはどう考えれば良いのでしょうか? 以上よろしくお願い申し上げます。

2020年11月30日

大野 了

ケンさん、こんにちは!

うまく行ってますかー
それはよかったです!!

自分もこのサンプルを作ったわけではないので、
正しい答えができるかわかりませんが頑張ります!(笑

2020年11月30日

ケン

小野様
おはようございます。有効時刻と失効時刻について、確認しました(J38でしっかりと使われていますね!)失効時刻についての認識が深まりました。ありがとうございます。
尚、今朝の3カ所の処理(①市場モニターでの4本値クリア、②D9,D10の日付を本日に修正、③ alllock,standby実行)により、完全に正常に動作しております! ありがとうございました(土日は休日であった為動作がおかしかったものと認識しております)。しかしながら、当方、全体の動きがまだ判っていないようですので、引き続きご指導よろしくお願い申し上げます。

2020年11月30日

大野 了

ケンさん、こんにちは!!

E10の失効時間は、指値発注を掛けて新規発注した際に
『何時までに約定しなかったら、発注をキャンセルするか?』
の時刻の様です。
※J38で使用されています!!

有効時刻:その時間以降になったら新規発注する
失効時刻:その時間以降にまだ約定していなかったらキャンセルする

という感じです!!

2020年11月29日

ケン

大野様へ
ところで、この二日間、シート「条件注文」のB8~F15に書かれている「新規注文条件設定」について調査しております。動作が納得出来ないので、このあたりを教えていただけますれば幸いです。
納得出来ない動作を以下説明いたします。
有効時刻(D9,E9)を11/29、10:00、失効時刻(D10,E10)を11/29、10:53に設定しておきます。そして、11月29日10:55に Sub AllLock() を実行し、しかる後に Sub Standby() を実行しますと、トリガー発動時刻(J5)が10:55と記入されます。
へんだなあと思い、失効時刻(E10)をいろいろ動かして見ましたが、状態に変化は見られませんでした(Standby()を実行したとたん、E10の設定時間にかかわらず、トリガーが発動してしまう!)。これの意味するところは、F10が新規発注のコントロールに対して全く効いていない。という事では無いか?と思われます。以上の現象につきまして、教えていただければ幸いです。

2020年11月29日

大野 了

ケンさん

確かに毎日日付を入れるってのが、なかなかとっつき難くて
わかり辛い感じですよね・・・

なにはともあれ、お役に立てたようで幸いです!!

2020年11月27日

ケン

大野様
とんでもない大勘違いをしておりました! D9~E10は限月関連の指定かと勝手に思っておりました!D9,D10は月日を入れることになっておりましたし! 
と言うことは、毎朝、やることが増えました! 毎朝、D9とD10にはその日の日付を入力し、E9には、注文可能になる時間、E10には注文が失効する時間を入力するわけですね!(例えば、E9には10:00、E10には14:45などを入力)
ご教授、大変ありがとうございました!

2020年11月27日

大野 了

ケンさん

ケンさんのロジックでも動作は大丈夫だとは思いますが、
多分、イニシャルレンジの判断時間と、発注の有効時間がごっちゃになってると思われます!!

B6、C6の時間はあくまでも、
イニシャルレンジの高値安値を判断するための時間であり、発注の待機時間ではないようです。

発注の有効時間はD9~E10となります!!
多分、こちらの時間がイニシャルレンジの判断時間より、
小さい時間になっているのではないでしょうかー?

2020年11月27日

ケン

添付資料20201127-001.PNG (72.2KB)

大野様
ところで了解しました。大変ありがとうございました。特に利益を求める関数は助かりました。
早速ですが、次の質問です。本日朝08:45ごろファイルを起動しましたところ、すぐに発注OK状態になってしまいました。おかしいなあ、イニシャルレンジを09:00~10:00にしたはずだが、、と思い、マクロを調べると、確かにイニシャルレンジは考慮されていない様でした。そこでイニシャルレンジの条件を加えるように変更しようと思います。添付資料に示しました様に
And If Cells(6,3)<(NOW()-TODAY())を追加しようとしております。これで良いかどうかご教授いただけますれば幸いです。

2020年11月27日

大野 了

ケンさん、こんにちは

>1.シート「一般注文」の意味は何でしょうか?
意味と言われると、自分が作ったわけではないので
正確なところはわからないのですが、
オープニングレンジブレイクを行わない
普通の発注のサンプルではないでしょうか・・・
多分・・・


>2.シート「条件注文」のB37~F39の意味は何でしょうか?特にPC時刻とは何でしょうか?
D39の現在値時刻は、取引が無い場合更新されず最後の取引時間が表示されるため、
PC時間と現在時間で、大きい方をトリガー時間として使用しています。

例えば9:30までがオープニングレンジの対象時間とした場合に
9:25からずーと取引がなかった場合でも、PCの時間が9:30を超えたら
発注の対象になるようにしてるのだと思わrます。


>3.シート「複数注文総合管理」は、備忘録として使いなさい。という事でしょうか?
確かに、どのシートからもどのVBAからも使われてる様子がないですね。
すみません、なんのためにあるかまでは、ちょっと・・・
ケンさんのおっしゃいます通り、備忘録からもしれません・・・
自分が言えることは
『システム的にはどこからも使われていない』
ということぐらいです!!


>4.同シートのJ54に、確定した利益額を記入したいのですが、これは以下の計算でよろしいでしょうか?
シート「約定一覧」の新規約定の建玉番号に一致する約定金額(H列)マイナス シート「注文照会」の約定単価(F列)
ケンさんの計算式でも大丈夫ですが、LongとShortで計算式ひっくり返さないといけなくなりますので、
FOPEXECの中に『損益』という項目で取得した方が、手っ取り早いと思われます!!

2020年11月26日

ケン

大野様
現在、漸く全体の流れ図を完成し、全体の流れを認識出来ました。そこで、流れ図からはみ出した(流れ図の中に取り込まれない)ものがありますので、これらにつきまして、以下質問させていただきますのでよろしくお願い申し上げます。
1.シート「一般注文」の意味は何でしょうか?
2.シート「条件注文」のB37~F39の意味は何でしょうか?特にPC時刻とは何でしょうか?
3.シート「複数注文総合管理」は、備忘録として使いなさい。という事でしょうか?
4.同シートのJ54に、確定した利益額を記入したいのですが、これは以下の計算でよろしいでしょうか?
シート「約定一覧」の新規約定の建玉番号に一致する約定金額(H列)マイナス シート「注文照会」の約定単価(F列)
以上よろしくお願い申し上げます。

2020年11月26日

大野 了

なるほどー
そういう事だったんですねー

初期化の件ですが、ケンさんのおっしゃいます通り、
マクロを組めば、自動で初期化をしてくれます!!

2020年11月25日

ケン

添付資料20201125-001.PNG (174.8KB)

大野様
大変失礼しました!説明不足でした。AlllockとStanbyを起動すると、これに
連動して Worksheet_Change(ByVal Target As Range)が起動し、この中でJ3,J5がクリアされるのでした!(参考資料を参照いただけますれば幸いです)。僭越ながら以上が正しいと仮定して、以下の質問をいたしたいのでよろしくお願い申し上げます。
イニシャルレンジブレークの4通りについて、それぞれファイルを作成し、この4個のファイルを1台のPCにて走らせることが可能であることを前の話題にて教えていただきました。このとき、それぞれのファイルを立ち上げるとき、初期作業を2回行う必要があるとすれば、全体で8回もの作業が必要になります。これを防ぐため、08:30頃に自動的にこれら作業を行うマクロをそれぞれのファイルに組み込む事により、朝の作業(8回)は必要なくなる。と考えることは可能でしょうか?以上教えていただけますれば幸いです。

2020年11月25日

大野 了

ケンさん

AlllockとStandbyの中身を見たのですが、
J3、J5のクリアはしていないように思われます。
J2などのLockを解除してるだけのような気がします。

ですので、多分、J3などは手動で削除せねばならないのかなーと思います。

2020年11月25日

ケン

大野様
現在、発注ロック(その他5カ所)を1にして発注がうまく実行されるかどうかを試しております。(ロックしているセル6カ所(J2,L2,Q2,F37,J36,L36)を手で入力しておりました)今朝ファイルを起動してシート「条件注文」を見ておりましたら、昨日のデータと思われるものがJ3(=1)、J5(=15:15)に残っており、これでは使い物にならないなあ、、不思議だなあと思い、ファイルを再度起動しなおしましたが、変わりません!マクロを調べたところ、sub Alllockとsub Standby を実行して、初めてJ3とJ5がクリアされることを確認しました! ところで、この事は、以下を意味しております。
毎朝08:30頃に以下を実行することが必須である。
1.ファイルを起動し、シート「市場モニターの」4本値が削除されている事を確認する。
2.次にマクロsub Alllockとsub Standby を実行して、シート「条件注文」のJ3とJ5がク
リアされている事を確認する。
以上の考え方でよろしいかどうかご教授いただければ幸いです。

2020年11月25日

ケン

大野様
了解しました。ひょっとすると、発注が4種あるので、それぞれ干渉して混乱するかな?と思ったりしておりましたが、そうしますとメモで完全分離することが可能となり、混乱せずにすむ。ということですね。ありがとうございました。

2020年11月23日

大野 了

ケンさん

これは発注メモと言いまして、
発注時にメモを付けて発注するとポジション情報を取った時に、
その発注でできたポジションには、発注時のメモがついて落ちてきます。

ですので、どの発注でできたポジションかを認識することができます。
もし、4ファイル使われるときは、ここを4種類分けて頂けると各々のポジションを判断することができると思います!

2020年11月23日

ケン

大野様へ
多分大丈夫との件了解です。ところで、シート「注文紹介」で、K3にはメモと書いてあり、備忘録かなんかだろうと大して気にも留めていませんでしたが(しかも、ピンク色です!)、ここは重要な部分なのでしょうか?このメモの使い道を教えていただけますれば幸いです。

2020年11月23日

大野 了

ケンさん

保証は出来かねますが・・・
注文照会で発注メモも確認してみたいですし、多分、大丈夫な気がします!!

2020年11月22日

ケン

大野様
削除の方法その他了解しました。又、大体当方の考え方でよい件了解しました。ありがとうございます。ところで、そういたしますと、以下の仮定は正しいでしょうか?
ファイルを4種用意します。それぞれ次のように発注条件を指定します。
ファイル1は順張りでイニシャルレンジブレーク時に買いを指定している。(株価上昇すると予想)
ファイル2は順張りでイニシャルレンジブレーク時に売りを指定している。(株価下降すると予想)
ファイル3は逆張りでイニシャルレンジブレーク時に売りを指定している。(株価上限に来たので反転すると予想)
ファイル4は逆張りでイニシャルレンジブレーク時に買いを指定している。(株価下限に来たので反転すると予想)
そこで、この4種のファイルを1台のPCに同時に起動しておくと、イニシャルレンジブレークのすべての変化に対応出来る。という考え方でよろしいでしょうか?以上教えていただけますれば幸いです。

2020年11月22日

大野 了

ケンさん

>質問1:17と18は今は無いとするとD14の選択範囲から17,18を削除せねばならないですが、削除の方法はどのようにすればよろしいでしょうか?
削除しなくても使わなければ大丈夫と思いますが・・・
もし消されていのであれば・・・
D14のセルを選択して頂いて、
データ(メニュー)ーデータの入力規則(リボンの中)ーデータの入力規則(リボンの中)
をクリックして出てくる設定タブの『元の値』を
=$S$9:$S$20
にしてあげたら消えます


>質問2:D14に8もしくは18を指定するとF15、F16に「第17、第18パラメータを指定」と赤字で印字されます。この意味は警告なのでしょうか?(いづれにせよ、17,18が現在存在しないとすれば、F15,F16の関数は削除して良いのでしょうか?)
F15、F16の関数には発注などの意味はなく、
ただ単に『逆指値を指定した場合は、第17引数、第18引数の設定するのを忘れるな』
というメッセージを親切に出しているだけと思います。
それ以上の意味はないため、消して頂いても大丈夫と思います。
一応、8の逆指値は残っているので、残しておいても大丈夫ではないでしょうかー


>質問3:イニシャルレンジをブレークしたときに高値で買うのを順張り、売るのを逆張りとすると、ユーザーが順張りにしたければ、D14を8にすればよい。
はい、大丈夫と思います!!

2020年11月22日

ケン

大野様
6は名称は異なるが同じ機能のものが存在し、17,18はもはや存在しない可能性があるとのこと了解しました。これにつきまして、以下の質問につきまして教えていただけますれば幸いです。
質問1:17と18は今は無いとするとD14の選択範囲から17,18を削除せねばならないですが、削除の方法はどのようにすればよろしいでしょうか?
質問2:D14に8もしくは18を指定するとF15、F16に「第17、第18パラメータを指定」と赤字で印字されます。この意味は警告なのでしょうか?(いづれにせよ、17,18が現在存在しないとすれば、F15,F16の関数は削除して良いのでしょうか?)
質問3:イニシャルレンジをブレークしたときに高値で買うのを順張り、売るのを逆張りとすると、ユーザーが順張りにしたければ、D14を8にすればよい。
(株価が上に行くと思えばD11を3にし、株価が下に行くと思えばD11を1とする)
そして逆張りにしたければ、D14を例えば1にしてD11を3にする。
(株価がMaxに来たときはD11を1にし株価がMinに来たときD11を3とする)という考え方でよろしいでしょうか?
以上よろしくご教授お願い申し上げます。

2020年11月21日

大野 了

ケンさん

んー
意味的には以下の通りなんですが・・・
6は名称が違う(動きは一緒)のと
17と、18はJ-Gateが稼働した時に指定の仕方が変わって、今はもうないと思います。
サンプルが作られた時がだいぶ前なので、前の仕様の記述が残ってるだけかもです!!

6:不出来引成(不出来最大指値)
基本、指値発注を行います。
そしてプレクロージングまでに指値が約定しなかった場合、
大引けで最大指値に注文を自動で切り替え約定させます!!

17 :SO指値最大(今はないはず)
逆指値のトリガー価格に達した場合に、最大指値で発注!!

18:SO指値(今はないはず)
逆指値のトリガー価格に達した場合に、指値で発注!!

2020年11月21日

ケン

大野様
現在、イニシャルレンジブレークした瞬間に、買うのか売るのかを決定するアルゴリズムを調べております。このとき、D14の値(執行条件)の選択が売買を決定している様です。この執行条件は14種ありS9~T22にてリスト化されております。これらをインタネットにて調べました。14種あるうちの3種(6:不出来最大指値、17 :SO指値最大、18:SO指値)が意味不明でした。これらにつきまして意味を教えていただけますれば幸いです。

2020年11月21日

大野 了

ケンさん

こちらこそお役に立てて幸いです!!
解析うまく行くことを祈ります!!

2020年11月21日

ケン

大野様
了解です。当方完全に勘違いしておりました。B9~F9の意味を全く逆の意味に思い込んでおりました! ありがとうございました。

2020年11月21日

大野 了

ケンさん、こんにちは

F9ですが、セル関数の動きを見てみますと、
新規発注する際に、
指定した時間以降でないと発注させないようにするためのセルの様です。
また、その機能を有効にしたり無効にすることができます。

説明を行うにあたり、各セルの内容は以下の通りです。
======================================
C9:時間指定機能を使用するかどうか(不使用:使用しない、指定する:使用する)
F1:現在日付
TimeforDakoku(C39):現在時刻
D9:指定日付
ValidTime(E9):指定時刻
======================================


これらを踏まえて・・・
C9が"不使用"の場合は、時間指定する必要が無いため、常に1
(時間を気にせずいつでも発注していい)
※『=IF(MATCH(C9,$T$32:$T$33,0)=1, 1,』の部分

C9が"指定する"の場合、指定日時より後であれば新規発注させたい
※『IF($F$1+TimeforDakoku>=D9+ValidTime,1,0))』の部分

F1 + TimeforDakoku(C39) >= D9 + ValidTime(E9)
日本語に直すと・・・
現在日付 + 現在時刻 >= 指定日付 + 指定時間
となります。

このため指定した日時より、現在日時が大きくなった場合に1が立ちます!!

2020年11月21日

Ken Highfield

20201120-001.PNG (36.9KB)

大野様へ
現在、新規注文発注の要因を調べておりますが、一つ理解が出来ない点があります。教えていただければ幸いです。
F9=1が新規注文が発注される要因の一つですが、これが=1になる確率はゼロと思われます。それば、添付資料にありますように、セルF9に組み込まれている関数のフローチャートを見ますと、$F$1+TimeforDakoku>=D9+ValidTime は現在は限月以内ですから、成り立つ瞬間はありません。どのように理解すれば良いのか教えていただけますれば幸いです。

2020年11月20日

ケン

大野様
詳細な解説ありがとうございました。完全に理解いたしました。

2020年11月20日

大野 了

ケンさん、こんにちは!!

ご質問の件ですが・・・

>1.セルJ3には、誰が書き込みを行っているのでしょうか?
こちらは条件注文シート内のVBAにてフラグを立てているようです。
条件注文シートの再計算イベント時に、
Cells(3, 10) = 1
の一行で立てています。


>2.あるセルが、誰によって書き込みが行われているかどうかを調べる方法はあるでしょうか?

あるセルの状態によって調べ方を変える必要があります。

・セルに式がある場合
セルに式がある場合は、その結果がセルに表示されるため、
そのセルの計算式をスタートにして調べていけばよいと思います!!

・セルに式が無い場合
セルに式が無い場合は、基本、手入力かVBAにて値を入れています。
手入力でない場合は、VBAを見に行けばよいと思います。
VBAのEditorで、Ctrl + Fを押すと検索ダイアログが出るので、
ここで対象のセルを検索してあげたら良いと思います。
この時に気を付けないといけないのが、
セルの指定の仕方が2種類あることです。

今回の『J3』であれば
『Range("J3")』と書いてある場合もあれば
『Cells(3, 10)』と書いてある場合もあります。

こちらの両方を探してあげる必要があります!!

2020年11月20日

ケン

大野様
現在、条件注文シートの新規注文発注の部分(J1~K27)を集中的に調べております。以下教えていただけますれば幸いです。
1.セルJ3には、誰が書き込みを行っているのでしょうか?
2.あるセルが、誰によって書き込みが行われているかどうかを調べる方法はあるでしょうか?
以上よろしくお願い申し上げます。

2020年11月20日

ケン

大野様
サイトを見ました。なるほどと思いました。この方式でやってみようと思います。紹介ありがとうございました。

2020年11月19日

大野 了

ケンさん、こんにちは!!

なるほどー
そういう事ですねー

ExcleのVBAはイベント駆動方式と言いまして、
ケンさんのおっしゃられておられる、上から下まで全体的にシーケンシャルに流れていくというよりも
『何かイベント("ボタンが押された"、"セルの値が変わった"など)が起きた時に小さなプログラムが動く』
と言うような作りになっています。

今あるプログラムは、ほぼこのような作りの為
自分的には違和感はないのですが、
確かに各イベントに紐付いている一つひとつのプログラムが、
他のプログラムに影響のないようなシンプルな作りにしないと
わけがわからなくなってしまいがちです。

ちょっと適しているかわかりませんが・・・
以下のようなサイトの記述の仕方でまとめてみられるというのがいかがでしょうかー?
https://monoist.atmarkit.co.jp/mn/articles/1211/07/news003.html

2020年11月19日

ケン

大野様
さっそくThisWorkbook の中にPrivate Sub Workbook_Open()を埋め込みました。ファイルを立ち上げますと1~3秒ぐらいで4本値が削除されました。大きな壁を越えた気がします。大変ありがとうございました。ところで、現在、このファイルのシーケンシャルな動きを把握しようとして解析を進めております。理由は、全体のシーケンシャルな流れが把握出来ていないため、自信をもっていろいろ作業を進めることが出来ないためです。これまでの通常のソフトであれば、シーケンシャルに上から下へと読んでいけば、フローチャートを描くがことが出来て、すべてが把握できます。しかし、excelの場合は、2次元に平面に展開されており、時間的な流れが把握できません。大野さんにお聞きしたいのは、大野さんも私と同じフィーリングを持っておられますでしょうか?もしお持ちであれば、これに対して、どのような対処をされましたでしょうか?ご教授いただけますれば幸いです。

2020年11月19日

大野 了

ケンさん

解決しましたかー
それは良かったです!!

ケンさんのおっしゃられます通り、毎回消してあげる必要があると思います。

そうですねー
一番簡単なのは、Workbook起動時に消してあげるのが一番かと・・・

VBAのThisWorkbookの中に

Private Sub Workbook_Open()
ThisWorkbook.Sheets("市場モニター").Range("G10:K1450").ClearContents
End Sub

これを埋め込めば、毎回ワークブック起動時に分足のデータを消してくれるようになります!!

2020年11月18日

ケン

大野様
大野さんの仰るとおり、G10~L1181まで削除しました。今朝から見ておりましたら、昨日の問題2個とも解決しておりました。ありがとうございます。ところでそうしますと、毎朝08:30頃G10~L1181の削除が必要になる。ということでしょうか?よろしくお願い申し上げます。

2020年11月18日

大野 了

ケンさん

サンプル観てみました。

>疑問点1:4本値は1172個出力しているがFCANDLEの指定は1日分ではなかったか?
これ確かにおかしいですね・・・
下の方に過去データと思われるデータが残ってしまっています。
G10~L1181まで、一度データを消して頂くと元に戻ると思います。

疑問点2:V3、Y3、に入力されるべきデータは、381行のH381~K381
であるべきが、過去のデータ、H1166~K1166が入っている。なぜか?
こちらも上記の過去データを消して頂くと直ると思われます!!

2020年11月17日

ケン

添付資料20201117-001.PNG (168.7KB)

大野様
お久しぶりです。当方、昨日岡三RSSに継続契約をしまして、昨日から実践投入開始しました(ifdoneOCO+時間決済サンプル)。しかし、動作がおかしいのでご相談申し上げます。まず、シート「市場モニター」の動きがおかしいのです。添付資料におかしいところを抜き出して画面のコピーを添付しております。おかしい点を以下箇条書きします。
疑問点1:4本値は1172個出力しているがFCANDLEの指定は1日分ではなかったか?
疑問点2:疑問点2:V3、Y3、に入力されるべきデータは、381行のH381~K381
であるべきが、過去のデータ、H1166~K1166が入っている。なぜか?
以上につきまして教えていただけますれば幸いです。

2020年11月17日

大野 了

ケンさん

コンパイル通りましたかー
それはよかったです!!

俺もうれし涙がこぼれております(笑

2020年11月14日

ケン

大野様
Subを取ったらエラーは消えました。13級の悲哀を感じて涙が滂沱と流れました(笑)!
ありがとうございました。

2020年11月14日

大野 了

ケンさん

サブプロシージャを呼び出す際に、
"Sub"と付けているため発生しています

Call TrailingStop()

だけで大丈夫です。

2020年11月14日

ケン

添付資料20201114-002.PNG (44.7KB)

大野様
さて、マクロを修正し、いよいよ実戦投入しようとしましたがコンパイルエラーが発生し、潰すことが出来ません。ご教授よろしくお願いします。非常に簡単だと思うのですが、、(添付資料に問題のマクロ(赤字)を掲載しました) 尚、これまでファイルの識別子は.xlsでしたが、今回.xlsmに変えております。この変更によって生じたエラーではないようです。

2020年11月14日

大野 了

ケンさん、こんばんはー

実践投入うまく行くことを祈ります!!

2020年11月13日

ケン

大野様
ちょっと調子に乗りすぎました。「発注待ち」、「発注完了」で充分です!それでは、これから実戦投入してみます。ありがとうございました。

2020年11月13日

大野 了

ケンさん、こんにちはー

J50にFNEWORDERの実行結果は、
追加されたロジックで動くと思うのですが、
こちらはFNEWORDERが動いた結果となりますので、
『発注待ち』『発注完了』などとしか戻ってこず、
『未発注』と戻り値は戻ってきません!!

サンプルシートで『未発注』と出ているのは、
FNEWORDERの前にIF関数がかませてあり、
そこでFNEWORDERが実行されない状況の時に"未発注"と表示するようになっているようです!!

2020年11月13日

ケン

添付資料20201112-002.PNG (128.7KB)

大野様へ
これまでのご指摘を考慮して、マクロおよび、excel に変更を加えました(添付資料)ので、これにつきましてコメントいただけますれば幸いです。

2020年11月13日

大野 了

ケンさん、こんにちは!!

なるほどー!
確かにマニュアルは最新な方が良いですねー

>1. 戻り値とは何でしょうか。(岡三RSS関数マニュアルの54~55ページに解説されているFneworderの説明部分には戻り値の説明がありません)
今、マニュアル見てみたんですが、確かに戻り値の説明が書いてないですね・・・
唯一あるのは、12ページの部分でしょうか・・・

引数が関数の動作パラメータ的なものに対して、戻り値とは、関数の実行結果となります。
FNEWORDERの場合は、発注の実行結果が文字列として『発注完了』などと帰ってきます。

関数マニュアルの12ページの様に、norder = FNEWORDERとすると
FNEWORDERの実行結果が、norderに格納されます。

このように戻り値を取得する形の場合、()付きで、Call が必要ありません。



>2. 頭にCallを付けるのと、Callを付けないで、Fneworderの括弧をはずし、Fneworder L6,L7, とするのは同じ意味(どちらでも良い)ということでしょうか?
はい、まったく同じ意味となります!!

2020年11月13日

ケン

大野様
いろいろ教えていただきびっくり仰天しております。当方岡三RSSの実力は囲碁相当で5級と申しましたが、実は13級ぐらいしかないことが判明しました!まず、私が見ておりました「岡三RSS函数一覧」は、2014年3月作成のものでした(紙ベースで3~4年前に都内で開催された講習会で配布されたもの)! 先ほどインタネットで調べた一覧(岡三RSS関数マニュアル)では2020年8月のものでした。紙ベースの説明と圧倒的に異なっておりました! 紙ベース一覧は捨てることにしました! さて、Fneworder関数についての質問です。以下箇条書きしました。
1. 戻り値とは何でしょうか。(岡三RSS関数マニュアルの54~55ページに解説されているFneworderの説明部分には戻り値の説明がありません)
2. 頭にCallを付けるのと、Callを付けないで、Fneworderの括弧をはずし、Fneworder L6,L7, とするのは同じ意味(どちらでも良い)ということでしょうか?
以上よろしくご教授お願い申し上げます。
(尚、契約状況とコンパイルエラーは関係無い件了解しました)

2020年11月13日

大野 了

ケンさん

エラーはなくりましたかーよかったです。
FNEWORDERの前に『Call』を付けて頂いた場合、
戻り値を無視するような動きとなります。

ケンさんの場合ですと、FNEWORDERの戻り値を取得されていなかったので・・・

・FNEWORDERの戻り値を受け取るようにする
・頭にCallを付ける
・FNEWORDER(L6,L7・・・)の ()を外して『FNEWORDER L6,L7・・・・』の形にする

とエラーは解消されます!!

ですので、Callを付けてもサブタスクにする必要はありまっせん!!

岡三RSSの期限が切れている件は、どのようなことを懸念されていますでしょうかー?
もし、PG的にコンパイルエラーになるかどうかという事が懸念点という事であれば、
契約が切れていても大丈夫と思います!!

2020年11月13日

ケン

大野様へ
Fneworder の前に Call を付加しましたところ、コンパイルエラーは出なくなりました。(逆に、Fneworderの中をどのようにいじってもエラーは出なくなりました)これはFneworder はサブタスクとなったということでしょうか? であれば、Sub Fneworder()というような具合に新たなサブタスクは作成しなくて良い。ということでしょうか?更に言いますと、当方の現在の岡三RSSの契約が途切れており、継続の手続きをまだしておりません。このあたりの事情が影響している。ということはあるでしょうか?以上につきまして教えていただけますれば幸いです。

2020年11月13日

大野 了

ケンさん

そうですね、コンパイルエラーはここだけ見てみても
正確なところはわからないですが・・・

ここだけを見ると・・・

FNEWORDER(・・・

Call FNEWORDER(・・・

と頭にCall を付けてみたら直るかもしれません!!

2020年11月12日

ケン

添付資料20201112-001.PNG (51.9KB)

大野様
いよいよ「ifdoneOCO+時間決済サンプル」のマクロの修正作業を開始しました。しかし、コンパイルエラーが出て先に進めません。考えられる原因を教えていただけますれば幸いです。
(岡三RSS関数表を見ながらいろいろいじくりましたがどうにもなりませんでした!)

2020年11月12日

大野 了

ケンさん

何かありましたら、いつでもご連絡頂けますと幸いです!!
TSうまくいくことを祈ります!!

2020年11月11日

ケン

大野様
了解しました。これからminiでおっかなびっくりやってみようかと思っております。これからも当分教えてもらわなくてはいけない局面がきそうな気がします。よろしくご教授お願い申し上げます。

2020年11月11日

大野 了

ケンさん

まー
遅いよりかは早い方が良いですからねー

デバックですが、自分はぎりぎりまでパスワードを抜いてやったり、
実際は成行発注でも、テストの時だけ指値の約定しないような金額に変更してテストしたりしています。
それでも損切のテストなどは仕方ないためminiでやってます!!

2020年11月11日

ケン

添付資料20201111-002.PNG (51.0KB)

大野様
さすがシビアですね! たしかにご指摘の変更で、PCTimeUpdate 1回分早く発注出来る事を確認しました!(添付資料ご参照いただければ幸いです) ありがとうございました! それからデバッグはテスト環境がないため、パスワード無効による発注までのテストしか出来ない件了解です。そうしますと、発注後のいろいろ(注文照会、約定、TS、利益確定など)は、実際に岡三RSSに流してみないと判らない。ということですか! 日経miniでやれば損害があってもまあなんとかなる。ということでみなさんやっておられる。ということでしょうか?

2020年11月11日

大野 了

ケンさん、こんにちは!!

気が付いた点を・・・

1.If Range("$J$53").Value = 1 Then・・・
の部分ですが、J53の値を何かしらセル関数等で見ていなければ、
Range("J53").Value = IIF(・・・
の下にあると、J53が処理された後にすぐにTrailingStopの処理ができるようになるので
PCTimeUpdate一回分早く発注ができるようになると思います!

またデバッグですが、
残念ながら岡三RSSにはテスト環境がないため、
一番簡単なのは、パスワードを無効なものにしておいて、
実際の発注がかからないようにするのが一番簡単だと思います!!

パスワードが違う旨のエラーが出た場合は、
発注まではきちんとできていると判断ができますのでー

2020年11月11日

ケン

添付資料20201111-001.PNG (137.9KB)

大野様
ご指摘の2点を取り入れまして、添付資料に書きましたようにマクロに変更を加えました(最大指値注文という、成行より大分有利な注文手段があることも初めて知りました!)。見ていただきまして、ご教授いただければ幸いです。ところで実践で試す前に、デバグを行いたいのですが、擬似的に実践に近い方法があれば教えていただきたく、よろしくお願い申し上げます。(擬似的に実践に近い方法とは、実際には発注されないが、発注されたように擬似的に動作する。というような意味。ひたすら岡三RSS上でのデバッギングを目的とする)

2020年11月11日

大野 了

ケンさん、こんばんは!!

添付資料みました!!

思い付いた点を・・・

1.Range("J53").Value = IIF・・・
  以降のロジックがcalculateの前に来ていますが、
  もし問題が無ければ、Calculateの後の方が良いかもしれません!!

2.疑問点の ・・・『成行にするにはどうすればよいか?』
  の件ですが・・・
  こちらは・・・
  L15 = Range("$L$15")
    ↓
  L15 = 0
  としてあげれば最大指値となり成行と同じ動作となります!!

こんな感じで大丈夫でしょうかー?

2020年11月10日

ケン

添付資料20201110-001.PNG (145.3KB)

大野様
4個のご指摘と提言をベースにして、マクロを作成しました(添付資料)。これにつきまして、ご意見いただけますればありがたいです。

2020年11月10日

ケン

大野様
いやーーびっくりしました。IIfなどという函数があるとは、全く知りませんでした。今調べて愕然!としております。これから大野さんのご指摘4種および今回のご提言を参考にさせていただいて作り直したマクロを送りますのでよろしくお願い申し上げます(今日中ぐらいが目標ですが、、、)

2020年11月10日

大野 了

ケンさん、こんにちは!!

If (Range("$J$53").Value <> 1 Then
の1行上に・・・

Range("J53").Value = IIf(IsError(Range("J30").Value), 0, 1)

と追加してあげたら同じ動きをすると思います!!

この1行は・・・
PCTimeUpdate()が動くたびに、
J30がエラーかどうかを確認し、
エラーであれば、J53に0を立て、
エラーでなければ、J53に1を立てる形になります!!

その後、
If (Range("$J$53").Value <> 1 Then
でJ53の値を確認をするので、今までと同様の操舵になると思います!!

2020年11月10日

ケン

大野様へ
解答(4種類のご指摘)ありがとうございました。ところで、ご指摘2,3,4は大体解答を得ましたが、ご指摘1について未だに解答を得ておりません。現在得られている解答らしきものを以下に書き出しましたので、これにつきまして、教えていただきますれば幸いです。
まずは大野様のコメント1は
1.K53の『=IF(J30<>#N/A,J53=1,J53=0)』の記述について
  こちらはJ30がN/A以外なら、J53に1を立てたいと言う意味だと思うのですが、
  このような他のセルを更新するようなセル関数は書けないため、
  この処理はVBAにて行う必要があると思われます!!

ということでマクロでこの趣旨を実現しようとしました。
(以下はマクロSub PCTimeUpdate() の頭の部分あたりに挿入した文と思ってください)

もしもJ30の値が#N/Aから数字に変わったら、その瞬間、フラグ=1にせよ。それ以外は無視せよ。
という趣旨になるかと思います。

これを実現するには、どうすれば良いか?ですが、

J30の前の状態をセルxに格納しておく。(例として、#N/Aならx=0、そうでないなら1)
そこで判断文としては、
現在のJ30の状態=数字で且つx=0 であれば フラグ=1とする。
(その直後にx=1に戻す)
これ以外は無視する。

とすれば良い。ということでしょうか?

以上教えていただけますれば幸いです。

2020年11月10日

大野 了

ケンさん、こんにちは!!

TSできたんですねー!!
おめでとうございます!!

ロジック等は何となく理解できましたー
気がついた点を・・・

1.K53の『=IF(J30<>#N/A,J53=1,J53=0)』の記述について
  こちらはJ30がN/A以外なら、J53に1を立てたいと言う意味だと思うのですが、
  このような他のセルを更新するようなセル関数は書けないため、
  この処理はVBAにて行う必要があると思われます!!

2.VBAのApplication.OnTimeの処理の場所
  今のロジックでも問題はないのですが、誤動作の元になりますので、
  Application.OnTimeはPCTimeUpdateの一番最後のEnd Subの直後の方がよいと思われます!!

  この時、ケンさんが追加された、If Range("$J$53")・・・の処理はそのままだと動かなくなるので

  If Range("J$53").value <> 1 Then
   Call TrailingStop()
  End If

  と変更してあげる必要があります!!

  まとめると・・・
  Calculate
  If Range("J$53").value <> 1 Then
   Call TrailingStop()
  End If
  Application.OnTime・・・・

  となります!!

3.TrailingStop内のFNEWORDERがの引数の設定が行われない可能性があります
  たぶん、L7からコピーされてきたと思われますが、
  今の記述ですと、FNEWORDERで指定されているL9、L10などは変数として扱われセルの値を見に行きません
  もしセルの値を見に行かれたいのであれば、Range("L9")などとしてあげる必要があります!!

4.TrailingStop内のFNEWORDERの引数の設定が一部異なる可能性があります
  第10引数(L18)は注文確認となります!!(たぶん、今は金額を指定されようとしてる?)

以上、動かしていないので何ともですが、気がついた点です!!

2020年11月09日

ケン

添付資料20201109-001.PNG (105.9KB)

大野様へ
サンプルシート「ifdoneOCO+時間決済サンプル」におけるTrailingStop化の構想ができあがりましたので、相談させていただきます。以下5個ほどの要素からなっております。
1. シート「条件注文」のH50~L54の領域に、TS状態を表示するエリアを設ける。
2. 新マクロ「Sub TrailingStop()」を作成し、トレーリングストップの機能を担わせる。
3. マクロ「PCTimeUpdate()」の最後の部分にTSフラグ(シート!(条件注文)J53)を立てる手順およびマクロ「Sub TrailingStop()」を起動する手順を仕込む。
4. セルJ30の値が確定したときに新規約定が確定したと判断し、TSフラグを立てる。
(J30を監視する為の函数をK53に仕込んでおく(=IF(J30<>#N/A,J53=1,J53=0))。
5. TSフラグが立っている間、常に現在値を監視し、条件が満たされた瞬間TSフラグを降ろして成行にて利確作業を行う。
以上です。添付資料に、マクロの案(追加部分を赤くしました)とシート「条が件注文」に付加した新領域の画像を掲載しましたので、基本的にこのやり方で良いのかどうかなどを、よろしくご教授いただけますれば幸いです。

2020年11月09日

大野 了

ケンさん

自分もOCOのような処理をしているのですが、健さんの考え方と同じで成行で出しています。

指値に先に発注すると、どうしてもTSで切りあがっていくときに、
訂正注文が必要になるので面倒で・・・(笑

たまにExcelの自動売買のファイルの作成をお願いされることがあるのですが、
その時は『指値で!!しかも1秒でも早く板に乗せて!!』とご要望を受けることが
多いので・・・(笑

まー
スリッページは起きないなら起きない方が良いですしね・・・

また何かありましたら、お気軽にご連絡頂けますと幸いです!!

2020年11月05日

ケン

大野様
了解です。プロが考えるところのTSがなんとなく理解出来てきたような気がします。スリッページを許さない!というのが普通なんですね!当方は成行で出せば事は済むと軽く考えておりました。まずは、成行にて作ってみようと思います。何日かかるか不明ですが、これから頑張ってみます。まずはありがとうございました。

2020年11月05日

大野 了

ケンさん

そんな言って頂けると、恥ずかしい限りです(笑

トレーリングストップを作ること自体は消して難しいことではないのですが、
あのOCOのサンプルファイルの中に組み込もうとすると、少し大変そうという感じです。
だいぶ複雑ですし・・・

サンプルファイルに変更を加える形でやりたい
かつ
TSの約定にスリッページが入っても問題ない
というのであれば・・・

1.約定後、利確の指値注文を発注しないようにする
2.高値(安値)を常に判断して閾値を超えたら、F17の利幅を増やし、TSの利確の幅を増やす
3.現在値を常に判断して、利確幅に達した場合、初めて利確の注文を成行出す

という感じでしょうか・・・
このやり方なら、ピーク値を超えた時の訂正注文がいらないため動作が簡単になります。

損切に関しては・・・

1.損切時に訂正注文をして損切を掛けるという流れから、
現在値を常に判断して閾値を超えたら、成行で損切を掛ける形に変更する
2.D25の変更価格『約定単価からいくら』という部分を
『D18の利確の注文価格からいくら』というように切り替える
※こうすると、ピークが切りあがると、つられて損切の幅も切りあがっていく形にできると思います。


という感じにすると少ない変更でTSできるのではないかなーと思いますが、
それでもサンプルシートからはだいぶ変えないと厳しいと思います・・・(涙

2020年11月04日

ケン

大野様
とんでもございません。囲碁で言えば、大野さんはプロ9段~名人で、当方はアマチュア5級ぐらいですから、実力段違いです! ところで、公表されている岡三RSSのサンプルシートは全部で25種類ぐらいでしょうか。その中をすべてダウンロードし、トレーリングストップが存在しないか調査しましたが、見つけられなかったので、なぜだろうなあと不思議におもっておりました。やはり難しいのでしょうか? 当方も5級レベルではありますが(笑)これから考えてみます。

2020年11月04日

大野 了

ケンさん

無駄な時間を使わせてしまい、本当に申し訳ありませんでした。

なんか簡単にできる方法を思いついたら、俺も連絡します。

2020年11月04日

ケン

大野様
ほんの数10秒の差で、大野さんからの回答と、こちらからの質問が交差してしまいました。TS化は難しい件了解しました。これから少々考えまして、再度ご相談申し上げますのでよろしくお願い申し上げます。

2020年11月04日

ケン

TSのフローチャート(2020年11月4日).PNG (46.9KB)

大野様へ
昨晩の大野さんのコメントで、L列がTSでQ列がLSっぽいとのことですが、半日かけて調べましたが、それらしいところを捕まえることができませんでした。ひょっとしたら当方のTSの認識が間違っているのではないか?という気がしてきました。当方のTSの認識そのままのフローチャートを添付しましたので、これが大野さんの認識と合致しているようでしたら、TSを表現していると思われる函数(あるいはそのセル名)を教えていただけますればありがたいです。

2020年11月04日

大野 了

あぁ!!
申し訳ありません・・・

サンプルにTSと書いてあったので、俺が完全にごちゃごちゃになってました。
ケンさんのおっしゃいます通り、トレイリングストップしていかないですね・・・
大嘘ついて、申し訳ありません。

もしトレイリングストップする際は・・・
残念ながらサンプルシートを大幅に変更しないと対応は難しいと思います。

理由としては、約定後すぐに利確用の発注をしてしまうようなので、
トレイリングストップして行く際は、
利確用に出している注文に対して訂正注文をしていかなければならなく、
サンプルシートがそもそもそのような作りになってないため、
そこの仕組みから作らないといけないと思います!!

もしくは、利確用の指値発注をしないようにして、
現在値が利確の金額に達したら、成行で出すとか・・・
そうすると、1tick滑ってしまいますが・・・


重ね重ね、大嘘ついて申し訳ありませんでした。

2020年11月03日

ケン

大野様へ
TSですか!びっくりしました。固定の利益だとばかり思い込んでいました。これから調べてみます。ありがとうございました。

2020年11月03日

大野 了

ケンさん、ちょいと見てみたんですがー
やっぱり、L列がTS、Q列がSLっぽいです!!

イニシャルレンジの時間が過ぎたら、指値で発注して、
その後、約定したら、L列の設定でTSを掛けて、
もし、TSで約定せずに逆方向に動いて、
損切りに設定された金額まで落ちたら、
Q列でTSの注文を訂正して損切かけてるっぽいです!!

確かにもうちょっとシンプルだとありがたいですねー

2020年11月03日

大野 了

ケンさん、こんにちは!!

OCOのサンプルなので、
さすがにTSもSLも入ってると思われます!!

サンプルをさらっと見た感じ・・・
L列がTS、Q列がSLの処理だと思いますっ!!

2020年11月03日

ケン

大野様へ
早速のご返事ありがとうございました。すぐに試験してみます。それから、
「ifdoneOCO+時間決済サンプル.xls」には、トレーリングストップの機能は組み込まれていない。と思っておりましたが、いかがでしょうか? D18に書き込まれている価格は、固定利益幅のF17が単純にたしこまれているだけだと思っておりました。
したがいまして、次の質問は、「ifdoneOCO+時間決済サンプル.xls」にトレーリングストップの機能を埋め込みたいのですが、ヒントをいただけますればありがたいです。とするつもりでした!  ということでよろしくご教授お願い申し上げます。

2020年11月03日

大野 了

サンプル.png (9.6KB)

ケンさん、こんにちは!!

イニシャルレンジの件、了解しましたー!!

結論から書きますと、
簡単なやり方としては、条件注文シートのD13に+αの補正を掛けてあげるのが、
最も簡単なやり方と思われます!!

発注周りの仕組みを観てみたのですが、
イニシャルレンジの高値安値を使用する場合、
イニシャルレンジの時間が過ぎたら、その時間内の高安値で指値発注するだけのようですので、
ここの注文価格(条件注文!D13)を増減させてあげるのが簡単のような気がしましたー

添付しました画像のように
D58に高値の補正額、D59に安値の補正額を入れれるようにして頂いて

D13の計算式を
=IF(OR(F5="N/A",ISERROR(F5),F6="N/A",ISERROR(F6)),0,IF(F13="High",F5,F6))

=IF(OR(F5="N/A",ISERROR(F5),F6="N/A",ISERROR(F6)),0,IF(F13="High",F5+D58,F6-D59))

のように補正額を含んだ計算式に変更すると

発注時の価格だけではなく、
トレイリングストップの価格(D18)、ストップロス(D25)の価格も引きずられて変わりますので、
ここの変更だけで 発注、利確、損切、すべて対応することができます!!

多分、大丈夫だとは思いますが、
休場中でテストを行ったわけではないので、
自己責任でご確認とご使用頂けますと幸いです!!

2020年11月03日

ケン

大野様へ
「イニシャルレンジ」の意味の説明が不十分でした。これは、まさに大野さんがおっしゃる「イニシャルレンジの高値安値+αを設定出来る様にしたい」ということです。(イニシャルレンジの時間は手動で可変出来る様になっておりますので、こちらはOKです)
よろしくお願い申し上げます。

2020年11月03日

大野 了

ケンさん、こんにちは!!

ケンさんの言われている、イニシャルレンジを可変に!
と言われるのは、具体的にどのような感じのことを示されていますでしょうか?

イニシャルレンジの時間を可変にされたいという事でしょうか?
それとも
イニシャルレンジの高値安値+αを設定されたいという事でしょうかー?

2020年11月02日

ケン

大野様へ
了解です。PtrSafeを付加するだけでOKとのこと。これで安心いたしました。ありがとうございました。
ところで早速ですが、次の質問です。
何回目かのビデオにて、このソフト「ifdoneOCO+時間決済サンプル.xls」には、エントリーするためのイニシャルレンジの幅を可変出来る機能が無いため、本格的実用化のためにはイニシャルレンジの幅を自由に可変出来るようにそのソフトを付加する必要がある。ということでした。そこでシート「条件注文」のA57~F66あたりの領域にイニシャルレンジの可変範囲を制御する機能を埋め込もうとしております。ところが、ソフト全体の構造がよく見えてないせいか、どこあたりにどのように埋め込めば良いかがなかなか見当がつきません。このあたりについて、何かヒントをいただけますれば、非常にありがたいのですが、よろしくお願い申し上げます。

2020年11月02日

大野 了

ケンさん、こんにちは!!

PtrSafeの件ですが、付けて頂く形で大丈夫です!!

Excelには、まったく同じバージョンのExcelでも64bit版と32bit版があり、
使い方はほぼ同じなのですが、
VBAでAPIという特殊な機能を使う場合、
64bit版の時は『Ptrsafe』と、一言付けてあげる必要があります。


サンプルファイルが作られたときは32bitのExcelが主流だったため、
サンプルファイルの記述は、このようになっているものと思われます!!

しかし、最近のExcelは64bit版がインストールされていることも多く、
ケンさんのExcelは64bit版のため、
『PtrSafe』と付けてあげる必要が出てきた感じとなります!!

細かい点をすっ飛ばして、ざざっと説明しただけで
伝わりにくかったら申し訳ありません。

その時は再度返信いただけますと幸いです!!

2020年11月02日

ケン

画像(エラー画面))1.png (33.5KB)

大野様へ
F41の0.1分=6秒で有ることを理解しました。大変ありがとうございました。
それでは早速ですが、次の質問に移ります。
10月30日に岡三オンライン証券様からご紹介いただきました新たなファイル「ifdoneOCO+時間決済サンプル.xls」をダウンロードし、早速この新ファイルを起動してみました。そうしますと、添付しました画面のようにコンパイルエラーがでました。
これまでは、このエラーを消すため、マクロの最初の行から、6行の頭に‘を付加して、コメント化しておりました。

‘Public Declare PtrSafe Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" ( _
‘ ByVal pszSound As String, _
‘ ByVal hmod As Long, _
‘ ByVal fdwSound As Long _
‘ ) As Long
‘Public Const SND_ASYNC = &H1

そうしますと、エラーが消えて、プログラムが動くので都合が良かったわけですが、、、
しかし、ついに今回、腰を入れて、このエラーをなくすための手段を探しました。
なかなか発見出来なかったのですが、とりあえず Declareのすぐ後にPtrSafeの1単語を挿入しましたところ、エラーが消えることを発見しました。
これで添付しましたエラー画面が出なくなったので、いろいろ試しております。この様な簡単な修正で良かったのかどうか教えていただけますれば有りがたいです。

2020年11月01日

大野 了

ケンさん、こんばんは!!

結論から申しますと、
F41の0.1分は、6秒毎に再計算という意味になります!!

ExcelやVBAで日時を扱う場合、内部では小数点付きの数値として扱っていることは
前回お伝えさせて頂いたと思うのですがー
※整数部:日にち
※小数部:時間

実際の内部の値を細かく説明致しますと・・・

内部の値としては、1日(24時間)を"1"として扱っています。
このため、小数部の値としては・・・
1時間 = 0.04166666666666670 (1 / 24)
1分間 = 0.00069444444444444 (1 / 24 / 60)
1秒間 = 0.00001157407407407 (1 / 24 / 60 / 60)
として、内部では処理されています。

ですので

0.1 / (24 * 60) = 0.00006944444444444
で、6秒となります!!

このことから
Now + interval / (60 * 24)

今の時間に、0.00006944444444444(6秒)を足した時間(すなわち6秒後)に
再計算が掛かるという仕組みになります!!


>昨日教えていただいた、新たにダウンロードしたファイルでは、この現象は起こっておりません(これが不思議ですが、、)。
あら・・・
なんなんでしょうか・・・
またもし発生したらご連絡頂けますと幸いです!!
自分も再度ダウンロードして確認してみます!!

2020年10月31日

ケン

大野様へ
解答ありがとうございます。早速教えていただいた通りALT+F11を起動し、マクロを見て見ました。Sub PCTimeUpdate() が見えました(ほか3種ありましたが、関係なさそうなのでこれらは無視します)。このマクロには14行の命令が書き込まれていました。結局ポイントは最後の2行と判明しました。すなわち、以下の2行です。
Calculate
Application.OnTime Now + interval / (60 * 24), Procedure:="PCTimeUpdate"

この2行の意味は、以下のようになるかと推察しました。
すなわち、「今からinterval / (60 * 24)後に計算せよ」
従いまして、このサブプログラムの意味は、interval / (60 * 24)毎に計算を繰り返させる。という事になります。
ここでinterval の意味が問題になります。シート「条件注文」のF41には、「0.1分」と書かれています。ということは60秒×0.1=6秒 ということでしょうか? であるのであれば、interval / (60 * 24)=6秒/1440=4ミリ秒ということになり、頻度としては実現不可能に思われます。まず、このあたりを教えていただきたくお願い申し上げます。それから、@と{ }の意味の解説ありがとうございました。まあ気にしないでOKとのことなので今後気にしないことにします。昨日教えていただいた、新たにダウンロードしたファイルでは、この現象は起こっておりません(これが不思議ですが、、)。

2020年10月31日

大野 了

ついでに、サンプルファイルのご質問への回答も・・・


>1. 函数の頭に@が付いている場合がありますが、気にしなくてよろしいでしょうか?
結論としては、Excelが誤判断して@を付けているだけ
&
岡三RSSの関数は基本1関数、1つのデータが戻るだけですので、
動作には影響は無いと思われます!!

関数の前に"@"が付くのは、
あまり使われないのですが、Excelに共通部分の交差という関数の記述方式があり、
少し前にExcelの仕様が変わって、共通部分であることをわかりやすくするために、
Excelが追加するようになりました。
仕組み上1つのセル関数で、1つのデータが変わる場合は、@があってもなくても
動作が変わらないので大丈夫と思います。

以下、マイクロソフトのサイトです!
https://support.microsoft.com/ja-jp/office/%e6%9a%97%e9%bb%99%e7%9a%84%e3%81%aa%e3%82%a4%e3%83%b3%e3%82%bf%e3%83%bc%e3%82%bb%e3%82%af%e3%82%b7%e3%83%a7%e3%83%b3%e6%bc%94%e7%ae%97%e5%ad%90-ce3be07b-0101-4450-a24e-c1c999be2b34?ui=ja-jp&rs=ja-jp&ad=jp



>2. 函数が{ }にて閉じられている場合があります。
(例として {=FQUOTE($F$30,$F$31,D2)} のようになっている場合がある)
これも気にしないでよろしいでしょうか?
こちらも結論から書くと
こちらも岡三RSSの関数は基本1関数、1つのデータが戻るだけですので、
動作には影響は無いと思われます!!

関数の前後が{}で囲まれている場合、Excelは行列計算を行うのですが、
1関数、1データの場合は答えが変わらないので誤動作はしない気がします・・・(多分

もし気持ち悪いのであれば、F2でセルを編集モードにして、
そのままEnterキーを押すと消えます!!

ちなみに、自分が落としたファイルでは見つけられなかったのですが、
どのシートのどのセルになりますでしょうかー?

2020年10月30日

大野 了

ケンさん、こんにちは!!

サンプルファイル更新して頂けたみたいで、
良かったですね・・・(ありがたやありがたや・・・

さて、ご質問の件ですがー
サンプルファイルを見てみたのですが、
条件注文シートのJ3には、セル関数ではなくVBAを使用して立てているようです。


J3に1が立つ条件としましては、
何か再計算が走る度に以下の条件を毎回チェックし、合致すれば1を立てています。

1.条件注文!J2 が 1以外
2.条件注文!J3 が 1以外 かつ 条件注文!J4が1

また、上記の条件に合致し、J3を1にすると同時に
条件注文!C39 の時間を 条件注文!J5にも入れているようです!!


VBAのソースの見方ですが
ALT + F11 を見るとVBAエディタというものが上がってきますので、
そこからソースコードを見ることができます!!

2020年10月30日

ケン

フローチャート20201030.PNG (51.4KB)

大野様へ
次なる質問です。現在、サンプルファイル「ifdoneOCO+時間決済サンプル.xls」の動作の流れを把握しようとしております。このため、まず全体のフローチャートを作成し、そのフローチャートの部分に対応するセル(およびそのセルを含むシート)を対応付けしようとしております。ところで、最も重要な部分と考えるエントリーを決定するセルは、シート“条件注文”のJ3セルであり、ここに1が書き込まれれば、新注文が発注されます。(J7にはfneworderの命令が書き込まれており、J3×J2<>0のときに発注が実行される)
ところが、どこのシートのどこのセルがJ3=1を書き込んでいるのかが判りません。
このためフローチャート(添付しました)のエントリ部分に関連するシート名、セル名を書き込むことができません。どのように問題のセルを検索すれば良いか教えていただけますれば有りがたいです。(ビデオを複数回聴講しましたが、やはり説明されていませんでした)

2020年10月30日

岡三オンライン証券

ケンさま

再度のご投稿、ありがとうございます。


「岡三RSS集いの広場」は、「利用者同士の交流・情報交換を目的としたサービス」としております。

岡三RSSの仕様など当社へのご質問・ご要望につきましては、当社コールセンターまでお問合せくださいますようお願いいたします。

お手数をお掛けいたしますが、よろしくお願いいたします。

2020年10月30日

ケン

岡三オンライン証券様へ
新しいファイルのアップロードありがとうございました。早速試してみました。いろいろ変なところがすべて修正されているように思いました。さて、次の質問に移りたいと思います。当方VBAの超初心者ですので、よろしくお願い申し上げます。
1. 函数の頭に@が付いている場合がありますが、気にしなくてよろしいでしょうか?
2. 函数が{ }にて閉じられている場合があります。
(例として {=FQUOTE($F$30,$F$31,D2)} のようになっている場合がある)
これも気にしないでよろしいでしょうか?

2020年10月29日

岡三オンライン証券

ケンさま


いつも岡三RSSをご利用いただき、誠にありがとうございます。

今回ご投稿いただいたサンプル「ifdoneOCO+時間決済サンプル.xls」ですが、取引時間に変更があったことにより、一部のセルに「#N/A 」が表示されていた模様です。

その個所を修正したファイルをアップいたしましたので、ご利用いただければと思います。

https://www.okasan-online.co.jp/ont/use/rss/movie/order.html?id=5aL9-ZtPJgw
※該当するサンプルシートからダウンロードしてください。

なお、通常当社のウェブサイトで公開しているサンプルシートは、作成時点における取引概要などに基づき製作しております。そのため、公開後に取引時間などの変更があった場合、ご利用されるお客さま自身で修正をお願いしておりますことをご理解ください。

引き続き、岡三RSSをご利用くださいますようお願い申しあげます。

2020年10月29日

大野 了

上手くいきましたかー
よかったです!!

確かにサンプルが作られたころと、今では先物の開場時間が違うという視点で考えると
その他にもセル関数の範囲とか変えるところがあるかもですねー

何かありましたら再度ご連絡頂けますと、
また観てみまーす!!

2020年10月29日

ケン

大変ありがとうございました。結論から申し上げます。函数中の9/24を8/24にしただけで,一遍に解決しました。#N/A は全く生じなくなりました。再度ありがとうございました。
サンプルプログラムの「ifdoneOCO+時間決済プログラム」を実際に岡三RSSで動かすには、更に数カ所(数10箇所か?)修正せねばならにような気がしております。今後ともよろしくお願い申し上げます。

2020年10月29日

大野 了

ケンさん、こんにちは!!

なるほどー
ここの仕様が理解できましたー
&
ちゃんといろいろ見てみました(笑
その結果、原因としては・・・

O列に入っている
『=IF(ISNUMBER($G10),OFFSET(G$9,$N10,0),"")+IF(VALUE(OFFSET(G$9,$N10,0))<9/24,1,0)』の後半の
『+IF(VALUE(OFFSET(G$9,$N10,0))<9/24,1,0)』がN/Aの原因となります。

まず、前提条件としてExcelの日時は内部では小数点付の数値として管理されており
整数部:日にち
小数部:時間
となっています。
※O列などの書式を"標準"にすると実際の値が出てきます。

なので、時間+1などの処理をすると、翌日の同時間という意味になります。

O列で昇順にさせるときに
IF(VALUE(OFFSET(G$9,$N10,0))<9/24,1,0)
の記述があるため、9時より前のデータがすべて+1されてしまい、
O列が書式設定により、時間だけ見ると見た目上は昇順に並んでいるのですが、
9時以前のデータは翌日の同時間になってしまい、
データ的には昇順に並んでおらず、VLOOkUPの近似一致が正常に動作していません。

ここからは完全に妄想なのですが・・・
サンプルファイルが2012年に作られているため
先物の取引時間が、9:00~翌3:00だったのだと思われます。
この時、日にちをまたいだ
0:00~3:00をデータ的に最後に持ってきたいため、+1してるのではないかと・・・
しかし、2016年に8:45に開始時間が変更されたため、
8:45~9:00付近のデータがも翌日になってしまい、おかしくなったと・・・

ですので・・・
『=IF(ISNUMBER($G10),OFFSET(G$9,$N10,0),"")+IF(VALUE(OFFSET(G$9,$N10,0))<8/24,1,0)』
として、8時より前だったら、+1とすることにより、
全体的に正常に動くと思います!!

2020年10月28日

ケン

解答ありがとうございます。
大野さんの仰られる通りに実行しました。結果、08:45~08:59までは#N/Aのままで変化がありませんでした。しかし、09:00~09:01まではちゃんと数字が出ました。全く不思議です。ところで、「補完」の意味から考えますと、VLOOKUP函数の最後にFALSEを付加するのは、趣旨に反します。これでは補完の意味をなしません。これにつきましては、ビデオ講義「岡三RSS発注編4回シリーズ第4回 ifdoneOCO+時間決済プログラムの組み立てVol.3 (全体で25分のビデオの最初から14分後から16分あたりにかけて、VLOOKUP函数の説明があります) ということでほかに何か原因が考えられますでしょうか?教えていただけますれば幸いです。

2020年10月28日

大野 了

ケンさん、こんにちは!!!

サンプルファイル観てみましたー
VLOOKUPの検索方法が省略されていて、近似一致になってるためだと思われます!!

多分、ロジック的に完全一致でも大丈夫と思いますので、
=VLOOKUP($U10,OFFSET($O$10,0,0,$H$8,5),2,FALSE)
の様に、一番最後に『,FALSE』を付けてあげたら大丈夫と思います。

こちらのサンプルを作ったわけでもないですし、
サンプル内のすべての動作を確認したわけではないので、
多分大丈夫とは思いますが、誤動作する可能性があります。
自己責任で修正して頂けますと幸いです!!

2020年10月27日

ナカノ

トレーディングストップ機能

いつもお世話になります。
岡三RSSでVBAを使ってトレーディングストップ機能(含み益に合わせて、返済価格を切り上げていく機能)を持たせるていますが、かなり複雑になってしまい、VBAを使わないで(すなわちEXCELで)実現させるやり方があればご教示願います。

2021年03月27日

ナカノ

大野様
早速のご教示、ありがとうございます。

なるほどそういうふうにやるわけですか。
確かにおっしゃる通り複雑でVBAを使って実現するほうがシンプルですね。
そちらの方向で進めることにします。

どうもありがとうございました。


2021年03月30日

大野 了

確かにトレイリングストップ用の関数とかあると便利そうですね・・・

もっと簡単にやれる方法があったら、なんか考えてみます!!

2021年03月31日

大野 了

ナカノさん、こんにちは!!

トレイリングストップをセル関数だけでってことですね
個人的にはVBAを使った方が簡単と思いますがー
もしセル関数だけでやるのであれば・・・

例)
デイトレで100円含み益が出ると50円切り上げる場合

1.買い発注
2.QUOTE関数でその日の高値(売りの時は安値)を取得する
3.=IF(INT((『高値(安値)』-『約定価格』) /『100円』)>0,INT((『高値(安値)』-『約定価格』) /『100円』),0)
  の関数でトレイリングストップの切りあがり回数を算出
4.切りあがり回数 × 50円で返済価格を決定
5.QUOTE関数で『現在値』を取得し『約定価格』 + 『返済価格』 > 『現在値』 になったら決済

細かい制御はいりますが大体の流れはこれで行けると思います!!

2021年03月28日

ゆのみん

VBAでのFREPLACEORDER関数について

VBAにてOCOもどきの処理を作成してます。
FNEWORDERで発注、利食い決済設定をし、
ロスカットをFREPLACEORDERで処理しようと思ってます。

発注及び利食い設定まではうまく動作するのですが、
ロスカット処理のFREPLACEORDERがエラーになってうまく動作しません。
建玉単価から30円逆行で成行のロスカットとしてます。

Dim hID1 As String

hID1 = Format(Now, "yyyymmddHHMMSS") & "Close1"

'Range("$BX$4").Value:現値、Range("BM4").Value:建玉単価、Range("DG4").Value:注文状態
If Range("$BX$4").Value <= Range("BM4").Value -30 And Range("DG4").Value = "発注中" Then
'Cells(4, 109).Value:注文番号
Call FREPLACEORDER(Cells(4, 109).Value, 0, 0, 1, 1, 1, "", "password", hID1)
End If

引数設定等の単純なミスかもしれませんが、
ご教示頂けると助かります。

2020年10月31日

ぼん

指値→成行 もNGでした
こういうのは、取説に書いておいてもらいたいです

2021年05月07日

大野 了

ゆのみんさん、情報ありがとうございます!!

自分も似たようなロジックですが、
確かに安全性を考えると、逆指値を出しておきたいところなんですよねー

自分はORDERCANCELを毎回するのが面倒なので、
現在値を関し続けて、損切の価格に達したら成行で決済掛けてます。

安全性には欠けちゃいますが・・・

2020年11月02日

ゆのみん

こんばんは。
追加検証結果です。

逆指値から指値への訂正もNGでした。

安全のため先にロスカット設定を逆指値注文を出しておいて、
利食い条件になったらFREPLACEORDERで指値に訂正しようかと思いましたが、
この場合は一旦ORDERCANCELして、
再度FNEWORDERするしかないようですね。

●逆指値から指値への訂正
決済建玉がありません。

2020年11月02日

大野 了

ゆのみんさん

ここら辺は、自分もトライ&エラーでやってきました・・・

そうですね。
変更できないパターンが明記されてるとありがたいですねー

2020年11月02日

ゆのみん

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

>指値 → 逆指値
>のような、決済方法自体が変わるような変更はできないため
>一度、注文をキャンセルして、再注文させてあげる必要があります!!

やはりそうなのですね。
マニュアルには書かれてないので検証しながら組むしかないですね。

2020年11月02日

大野 了

ゆのみんさん、こんにちはー!!
うまくいきましたかーよかったです!!


>私のミスかそれとも、RSSの仕様なのでしょうか?
こちらはRSSの仕様の様です。

すべてのパターンは押さえていないので
すべてのパターンについては回答ができないのですが、

指値 → 最大指値
指値 → 指値(価格修正)
のような指値の金額が変わるような変更は可能ですが、

指値 → 逆指値
のような、決済方法自体が変わるような変更はできないため
一度、注文をキャンセルして、再注文させてあげる必要があります!!

2020年11月02日

ゆのみん

訂正(FREPLACEORDER)処理だけを切り出して確認しました。

指値から最大指値への訂正はOKでした。
他の処理部分に不具合があったのかもしれません。
お騒がせしました。

あと、ついでにその他の訂正処理について確認しました。
結果は以下の通りで、
指値→指値(価格訂正)、指値→最大指値以外はNGになりました。

私のミスかそれとも、RSSの仕様なのでしょうか?


●指値から最大指値への訂正はOK
'Cells(4, 109).Value:注文番号
Call FREPLACEORDER(Cells(4, 109).Value, 0, 0, 1, 1, 1, "", "password", hID1)


●指値から指値価格の訂正はOK
'Cells(4, 109).Value:注文番号
Call FREPLACEORDER(Cells(4, 109).Value, 1, 23600, 1, 1, 1, "", "password", hID1)


●指値から逆指値の訂正はNG
'Cells(4, 109).Value:注文番号
Call FREPLACEORDER(Cells(4, 109).Value, 8, 22500, 1, 0, 0, "", "password", hID1)

 49:この注文内容に訂正することはできません。入力項目をご確認ください。:1701


●指値から引成に訂正はNG
'Cells(4, 109).Value:注文番号
Call FREPLACEORDER(Cells(4, 109).Value, 5, 0, 1, 1, 1, "", "password", hID1)

 49:この注文内容に訂正することはできません。入力項目をご確認ください。:1701

●引成から指値への訂正はNG
'Cells(4, 109).Value:注文番号
Call FREPLACEORDER(Cells(4, 109).Value, 1, 23600, 1, 1, 1, "", "password", hID1)

 訂正可能な注文がありません。


2020年11月02日

ゆのみん

再度のEnd IFは誤記です。

2020年10月31日

大野 了

ゆのみんさん、こんにちはー

なるほどー
指値から、最大指値なんですねー
それならうまく行ってもよさそうですねー

ちなみに、今相場が閉まってるので完全に同じ状況ではないですが、
指値の利確注文に対して、ゆのみんさんのロジックで
最大指値への注文変更はできましたー

エラーがわかると
もう少し何かわかるかもしれませんので、ご連絡頂けますと幸いです!!

2020年11月01日

ゆのみん

大野さん。回答ありがとうございます。
エラー内容を保存してないので、月曜日に再度確認してみます。

利食い設定では下記コードで指値で発注かけてます。

'Range("DG4").Value:注文状態
If PosType = "買" And Range("DG4").Value <> "発注中" Then
hID1 = Format(Now, "yyyymmddHHMMSS") & "BuyTP1"
'決済指値売り 1枚
'Range("BQ4").Value:建玉番号、Range("BR4").Value:枝番、Range("BM4").Value:建玉単価
Call FNEWORDER("N225mini", 0, 2, Range("BQ4").Value, Range("BR4").Value, 1, 1, Range("BM4").Value + 30, 1, 1, 1, "1", "password", hID1, "1", "RSS_Buy_TP1")
End If
End If

2020年10月31日

大野 了

ゆのみんさん、こんばんは!!

エラー はどのようなエラーが発生しますでしょうかー?

引数を見る限り大丈夫そうなのですが、
もしかすると、執行条件等を変えたことによるエラーかもしれません。

2020年10月31日

星見

FNEWORDERの不出来引成は指値注文扱いですか?

初めまして。
FNEWORDER(先物注文)の第7引数の執行条件として「6:不出来引成」を指定し、なおかつ逆指値を有効にすることは可能なのでしょうか?
それとも執行条件「6:不出来引成」の場合第8引数の単価は必ず指値として扱われるのでしょうか?

2020年04月30日

岡三オンライン証券

いつもご利用いただき、誠にありがとうございます。

大野さまが投稿されているように、岡三RSSでは「不出来引成と逆指値」の同時利用(ひとつの関数における)は行えません。

ご不便をおかけいたします。

なお、他のツールではありますが、岡三ネットトレーダーライトFなどでの設定は可能です。

■岡三ネットトレーダーライトFマニュアル(P24-25をご参照ください)
https://www.okasan-online.co.jp/ont/manual/ont_lite_f/manual.pdf

用途にあうようならば、ご活用いただければ幸いです。

今後とも、どうぞよろしくお願いいたします。

2020年05月11日

大野 了

残念ながら・・・
確かに一緒に設定できるとIFDoneみたいなものが組めるので、便利そうですね・・・

2020年05月11日

山中智樹

コメントをいただきありがとうございます。
やはり不出来引成と逆指値を同時設定はできないんですね。

2020年05月11日

大野 了

星見さん、はじめまして!!

残念ながら、岡三RSSでは
不出来引成と逆指値を同時設定した発注を出すことができません・・・

もし逆指値で不出来引成をされたい場合は・・・

現在値を取得し、
逆指値を掛けたい金額を条件に入れて
FNEWORDERを、不出来引成で出す必要があります!!

2020年04月30日

大野 了

2020/4/15のExcelセキュリティパッチをあてるとVBAが動かなくなる不具合について

みなさん、こんにちは!!

タイトル通りですが、
2020/4/15のExcelのセキュリティパッチが原因でVBAが動作しなくなることがあるようです。
自分もすべてのファイルではないですが、一部のVBA付きファイルが動かなくなっています。

しかも残念なことに、動かなくなるだけだと良いのですが、
Excelファイルを起動したときに『復旧しますか?』と聞いてきて、
復旧させるとなぜかVBAがきれいさっぱり消えてしまいます(まぢに止めてほしい


調べてみたのですが、対象としてExcel2013、2016、Office365で発生しているようです。

もし対象のExcelを使用されている方で、
まだマクロが無事に動かれている方は、今後も影響がないかもしれませんが、
念のためいったん自動アップデートを止めた方がよいかもしれません!!

〇自動アップデートの止め方
1.Excelを起動
2.ファイル ー アカウント - 更新オプション
  をクリックし自動更新を無効化させる。
 
 
もし、自分の様に運悪く発生してしまわれた方は、
Officeを前のバージョンに戻すことにより復旧できました。

Microsoftの復旧手順のサイト
https://support.microsoft.com/ja-jp/help/2770432/how-to-revert-to-an-earlier-version-of-office-2013-or-office-2016-clic

もし、上記のサイトのやり方が面倒な方は、
以下に手順でも元に戻せます!!(自分は面倒だったんで、こっちでやりました)

〇Officeを前のバージョンに戻す
1.コマンドプロンプトを起動
  スタートボタン ー Windowsシステムツール - コマンドプロンプト

2.以下のコマンドを入力
  cd "c:\Program Files\Common Files\microsoft shared\ClickToRun"

3.以下のサイトで自分のExcelにあった3月版のバージョンを探す
  https://docs.microsoft.com/ja-jp/officeupdates/release-notes-office365-proplus
  ※Office365は、Office365ProPlus
  ※Office2016などは、Office(永続版)

4.以下のコマンドを入力し対象のバージョンに戻す
  officec2rclient.exe /update user updatetoversion=上記で調べたバージョン

  例) Office365(insider)の場合
  officec2rclient.exe /update user updatetoversion=16.0.12624.20382

あとは、これでOfficeが前のバージョンに戻って、VBA付きファイルが起動できるようになります!!


ホーント、この手の不具合はやめてほしい・・・
VBAを消すってなんだよ・・・一体・・・

2020年04月19日

スペース 西

大野 了 さん、こんにちは。スペース西です。

貴重な情報をありがとうございます。
深く感謝します m(__)m

昨日、同じ現象でVBAが全削除されました。
Excel2016です。
運良く削除されたのは開発PCだったので、運用PCに被害はありませんでした。

貴重な情報通り、開発PC・運用PCとも「自動アップデータ」を止めました。

>復旧させるとなぜかVBAがきれいさっぱり消えてしまいます(まぢに止めてほしい

本当に、マジ止めて!
大野さんの情報を知らなければ随分混乱したと思います。

>ホーント、この手の不具合はやめてほしい・・・
>VBAを消すってなんだよ・・・一体・・・

そうだ、そうだ。
VBAが突然消える被害は甚大!!!
一体どうなっているの・・・


もし可能なら、RSSでExcelを使わない方法があればベストです。
楽天RSS風のDDEとか、Excel抜きの使用方法を強く望んでいます。

私は、主に日経先物のTickデータを取得し自動売買しています。
Excelを経由すると、Tickデータのレコード単位の正確さが保証されません。
これを防ぐのにかなり時間を費やし、現在はほぼ正常に取り込んでいますが
Excel経由しなければ、より正確なデータ取得が簡単に出来そうです。

何時も集いの広場を参考用に読ませて頂いています。
今回、どうしてもお礼を言いたいので初投稿しました。
益々のご活躍を楽しみにしています。

2020年04月22日

大野 了

スペース西さん、こんにちは!!

やられてしまいましたか・・・(涙

アレって出てくるメッセージが悪すぎて、よく読んでないと
『VBAを消して、とりあえずファイルは上がるようにしました』
ってなかなか伝わらないですよね・・・

VBAはバックアップから戻せたとしても、
その後にExcelを正常なバージョンに戻せないと、
同じことの繰り返しでVBAが走らせられないので、今回、元に戻す手段をまとめまてみましたー
今の時期に止めたくないし・・・
お役に立ててよかったです!!


>Excelを経由すると、Tickデータのレコード単位の正確さが保証されません。
>これを防ぐのにかなり時間を費やし、現在はほぼ正常に取り込んでいますが
おぉぉぉ!!すごい!!すごすぎです!!
Tickってレコード単位の時差を潰すのって、だいぶ難しいですよねー
件数が同じこととか『***End***』が同じ行ってことも使えないし・・・
VBAとかを使われたんですかー?
いやーほんとすごいです!!


>楽天RSS風のDDEとか、Excel抜きの使用方法を強く望んでいます。
確かに、Excelを使わない方法で発注できると良いですよねー
俺も思うときが、多々ありますw


なにはともあれ、お役に立てて幸いです!!
自分は熊本なんですが、もしどこかでご一緒する機会があれば、
岡三RSSを肴に一杯飲みたいですねー!!

2020年04月22日

大野 了

スペース西さん

こちらこそいろいろとありがとうございましたー!!

2020年04月23日

スペース 西

大野 了 さん、こんにちは。スペース西です。

>Delphiのソースまで!!ありがとうございます!!

大野さんやRSSのユーザさんに少しでも役に立てばうれしいです。

>.xlsxと画像の拡張子のみOKっぽいです!!

なるほど、集いの広場の制限でしたか。
一つ賢くなりました。
・・・あてずっぽうな[.png]で良かったようです。

この度は、有益な情報をありがとうございました m(__)m

2020年04月23日

大野 了

おー!!
Delphiのソースまで!!ありがとうございます!!
Delphi読みる人には有益な情報になりそうで、みなさん喜ばれそうですね!!
(ありがたやーありがたやー


>Deiphi使いとの事なので、一番メインの部分を、ご参考用に
ありがとうございます!!
最近はずーとC#ばっかりになってしまいましたが・・・(笑
ソース拝見させて頂いたんですが、
連番かどうかなど結構チェックされてるんですねー
これはホント有益なロジックだ・・・


>その神プログラマと同じ対応をされているので、もしかしたら?と常々感じていました。
もしカンファレンスなどでお会いすることがあれば、
名前しか知らない方ですが、
『俺たち似てるらしいっすよ』
と一方的にフレンドリーに話しかけてみます(笑


>どうしてもソースが送れません。
集いの広場の投稿は、セキュリティ確保のため、
添付できる拡張子が制限されてるみたいです!!
.xlsxと画像の拡張子のみOKっぽいです!!


こちらこそ、ソースありがとうございました!!
今後の参考にさせて頂きます!!

2020年04月23日

スペース 西

>自分でも『なんだかなー』というロジックになってますw

はい、スッキリのプログラムにならないのと、
分足の様に過去データのサポートが無いので、
My実用レベルですが、本当に正しいのかは少し不明です。

Deiphi使いとの事なので、一番メインの部分を、ご参考用に
?文字数制限があるのでしょうか?
ソースは別投稿で

>昔、ボーランドにおられた大野さんというと、
>大野 元久さんという方がおられた記憶があります。

あっ、思い出しました。
神プログラマ「大野 元久さん」です。
その神プログラマと同じ対応をされているので、もしかしたら?と常々感じていました。

この度は本当にお世話になりました m(__)m


2020年04月22日

スペース 西

20200422.png (4.5KB)

???
どうしてもソースが送れません。
添付なら送れるのかテストしてみます。
拡張子[.png]→[.txt]にして下さい。

初投稿なのでFBの使い方が全く分かりません。

2020年04月22日

スペース 西

20200422.png (4.5KB)

???
どうしてもソースが送れません。
添付なら送れるのかテストしてみます。
拡張子[.png]→[.txt]にして下さい。

初投稿なのでFBの使い方が全く分かりません。

2020年04月22日

大野 了

スペース西さん!!

なるほどー!そういう感じなんですねー
自分も前にお願いされてTickの整合性チェックのPGを作った時は、
Tickで返すデータの全量をスナップショットとしてとっておき、
そのずれを感知する形で、整合性のチェックをしていましたー
自分でも『なんだかなー』というロジックになってますw

Delphi使われてるんですねー
残念ながら自分はボーランドの人間ではないですが、
昔、半導体関係のシステムを作ってた時は、ずーとDelphi使ってました!!
もう『Begin End』って、1万回ぐらい書きましたw


昔、ボーランドにおられた大野さんというと、
大野 元久さんという方がおられた記憶があります。
間違われるとは嬉しい限りですw

2020年04月22日

スペース 西

大野 了 さん、こんにちは。スペース西です。

この度は本当にありがとうございました。

>Tickってレコード単位の時差を潰すのって、だいぶ難しいですよねー

はい、1行でもカラム単位で更新がマチマチです。
「現在値日付, 現在値時刻, 約定通番, 現在値, VWAP, 出来高」の項目を取得するのに
同一行でない「現在値時刻, 約定通番, 現在値」等が混在します。
行単位で、データベース的な整合性を取るのが非常に困難です。
Excelなので、見た目には正常に見えるのですが、瞬時にプログラムで取り込むと矛盾が残ります。
更新終了等の正確なイベントがあれば対応出来そうですが、有効なイベントは見つかりませんでした。
止む無く「Tick取込み→整合性チェック→不正な場合、次回更新待ち」をループして解決しました。
自作チャートソフトの指標群を利用したいので「RSS→Excel→自作ソフト」と株価を読込み、
「自作ソフト→Excel→RSS」経由で売買指示を出しています。
間にExcelが入るのが、何ともいやらしいです。

>VBAとかを使われたんですかー?

いえ、DelphiでExcel操作し読込んでいます。
チェックや加工はDelphiです。

Delphiと言えば、ボーランドに大野さんと言う神様みたいな方がいらっしゃいました。
まさか、同一人物ではないでしょうネ!
、、、回答文や性格があまりに似ていらっしゃるので、、、

2020年04月22日

RSSユーザー

RSSのアップデートインストールの予告

レンタルサーバ上でRSSで運用しています。
先週の金曜日ですが、RSSがアップデートされましたので、インストール画面が出たところで
ストップしてしまいました。
RSSのアップデートは事前に、どこかに公開されていますでしょうか。
もしくは、無人でアップデートできるのでしょうか。

毎週金曜日の開始前に確認をかんがえていますが、何かよい方法があれば教えてください。
よろしくお願いいたします。

2021年10月03日

RSSユーザー

大野 了さん

回答ありがとうございます。
RPAのツールで作成するにしても、試験環境がないので、作成は困難になりますね。
>今までの経験上、RSSの更新は通常土日に行われているみたいですが、
確かに土日が多かった為問題が発生しませんでした。
今回のようなケースはイリーガルとして、諦めることにします。

どうもありがとうございました。助かります。

2021年10月03日

大野 了

RSSユーザさん、こんにちは!!

自分も岡三RSSの更新予定に気づいてなくて、システムの一部が止まってしまった人です(笑

更新のお知らせとしてまとまっているのは、岡三RSSのランディングページの下にある『お知らせ』のみかなーと思います。
https://www.okasan-online.co.jp/ont/rss

また、岡三RSSには無人アップデートのような機能はないので、
手作業でやってあげるか、
RPAのようなツールを動かしておいて、
インストールを促すメッセージが出てきた際に、
インストールを進めてあげるようなシステムを組むしかないと思われます!!

今までの経験上、RSSの更新は通常土日に行われているみたいですが、
今回は、金曜日に日経の算出方法が変更されたために、
その対応のため、イレギュラー的に金曜日に更新が掛かったかと思います!!

2021年10月03日

渡辺 暁

RANKING_M関数が動きません。誤りがあるのでしょうか?

以下のような記述をしていますが動いてくれません。
何か誤りがあるのでしょうか?教えてください。

=RANKING_M("出来高", "銘柄名", 10, A2)

2020年05月27日

大野 了

渡邊さん、こんにちは!!

関数ですが、記述方法等は問題ないと思いますっ!!

自分の環境でも、渡邊さんの書かれた関数を記入したところ、
正常に出来高が多い銘柄が10件表示されました。

xxxx_Mと関数の後ろに『_M』がついている関数は、
マニュアル動作の関数となり、リアルタイムにデータが落ちて来ず
岡三RSSのタスクバーの右から5つ目にある更新ボタン(ぐるっと矢印が回っているアイコン)を
押下した時にデータが表示されます。

こちらの更新ボタンを押下しても表示されない感じになりますでしょうかー?

2020年05月27日

黒犬

新規発注の保留ついて

いつもお世話になります。

早速ですが、標題の件に付きまして説明させて頂きます。

新規発注のルートを複数作っています。
2つの発注フラグが成立しました。但し、新規発注は一つに制限しているので一方しか発注されません。指定時間内に約定しない場合は取消となります。
 ここで問題が・・
発注されなかった方が取消後に発注されてしまいました。しかもその時点では条件が変わり発注フラグが立っていないにも関わらずです。

質問1.状況的には保留分が出てきたとしか思えないのですが仕様でしょうか?
質問2. 防ぐ方法は有りますか?

(補足)
先に発注された方は発注条件をオーダー文に入れています。後から出てきた方は発注条件をセルに入れ、条件が成立すると「Enter」が表示され、オーダー文ではその文字列だけをみています。

本日、休日で目の当たりにしましたが、不在時の検証でも何度かおかしなタイミングで発注されていました。おそらく同じ状況だと思います。

ご教授よろしくお願い致します。

2020年05月12日

大野 了

黒犬さん、こんばんは

なるほどー
指値の価格が、20分前の価格で指値で発注されているんですか・・・
それで保留を疑われたんですね。

今のところぱっとは思いつくことはありませんが、
また現象が続くようでしたら、ご投稿頂けますとまた何か考えてみます!!

2020年05月13日

黒犬

大野様

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

現象はそのとおりです。

やはり保留はないのですね。
発注されていないので保留される事は無いと思っていました。
ご指摘のように何らかの原因で発注フラグが立ったと思うべきなんでしょうが、そうすると発注価格が矛盾しているんです。本来のフラグが立った時の価格(今回は20分前)で発注されているんです。
(指値です)約定した価格は実際発注された時の価格ですのでかなりの乖離が・・

この回答頂いて回線切ってキャンドルを戻して検証しても再現出来ずです。

もう少し考えてみます。

有難うございました。

2020年05月12日

大野 了

黒犬さん、こんにちは!!

こちらは・・・
A、Bという二つのルートの発注方式があり、
AとBはセル関数のIF文などにより、片方しか発注がかからないようになっている。

今回は、A、B両方シグナルが立ったが、
片方しか発注がかからないため、Aが発注された。

しかし、その後Aの発注がキャンセルされた際に、
その時にシグナルが立ってないBが発注されてしまった。

Bの発注が裏で保留されていて、Aが取り消されたので
Bが発注されてしまったのではないか?

という事で認識違いはありませんでしょうか?

間違いないとすると・・・


>質問1.状況的には保留分が出てきたとしか思えないのですが仕様でしょうか?
岡三RSSには、発注の保留という機能はないため、
取り消された際に、何かしらのきっかけで発注関数が動いてしまったのだと思われます。


>質問2. 防ぐ方法は有りますか?
逆指値以外で、発注の保留機能はないため、
何かしらセル関数側で対応しないといけないと思うのですが、
全体的な動きがわからないため、今、頂いている情報だけですと
提案が難しい状況です。
詳しいセル関数などがわかれば、何かわかるかもしれません!!

2020年05月12日

黒犬

スリープで使えなくなりました。

いつも初歩的な質問で恐縮です。

デスクトップからノートPCに変更しました。
両方ともWin10で、電源とスリープの設定も同じです。

ノートPCではスリープ状態になるタイミングでキャンドルが止まります。デスクトップではスリープ状態でも動いていたのですが・・

電源オプションで蓋を閉じた時の動作をスリープから何もしないにしても改善されず、ハードディスクの動作時間も600時間に変更しても改善されず、電源の追加設定で「コンピュータをスリープ状態にする」の項目で「適用しない」にして使っています。勿論、常時電源接続です。

こんな設定でしか使えないのでしょうか?
PCはDELLのVostoroです。

2020年04月24日

黒犬

大野様

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

私は勘違いをしているのでしょうか?
デスクトップでは15分でスリープになり、ハイブリッドスリープも有効にしています。
その状態でもRSSは動いていたのでノートPCでもスリープ状態で使えるものだと思っていました。

スリープ状態では使えないという事でしたら解決です。

現在、蓋を閉じても何時間経ってもスリープしないようにしています。

とするとデスクトップ(HP)で出来ていた事が謎です。ネットワークアダプタの電源管理で「このディバイスでコンピュータのスタンバイ状態を解除する事ができる」項目を有効にしていた事が関係しているかもしれません。

2020年04月25日

大野 了

黒犬さん、こんにちは!!

あー確かに・・・
デスクトップはスリープでも使えたと書いてあったですね・・・

個人的にはスリープ中は岡三RSSが使えないような気がするのですが、
試したことが無いので、正確な情報が無く申し訳ありません。


多分、ネットワークアダプタの電源管理の
「このディバイスでコンピュータのスタンバイ状態を解除する事ができる」
にチェックを入れておくと、通信が流れてくると自動でスリープから復旧するので、
確かに、これが影響してスリープから復旧して処理を行ってたのかもですね。

2020年04月25日

大野 了

奥が深い・・・
自分も何かわかりましたら、また書き込みします!!

2020年04月25日

大野 了

黒犬さんこんにちは!!

こちらは、OSで『スリープにしない』としていても、
蓋を閉じると、スリープ状態になってしまうということでしょうかー?

それとも、スリープにならないけど、
岡三RSSが止まってしまうと言うことでしょうかー?

もし前者であれば、
BIOSの電源管理で、Block Sleepをオンにしてあげると、
ハード的にスリープ状態にならないと思います。
#確かDellのPCにはあったはず・・・
#なかったらすみません・・・

また、後者であれば
もしかすると、蓋を閉じた時点でネットワークカードの電源が落ちて
通信できなくなってるかもしれません。
PCによっては省電力のために、蓋を閉じた時に電源を落とすようになってるのがありますので・・・

こちらの時は、2通り対応が考えられます。

〇OS的に落とされている場合
 スタートボタンを右クリック
 デバイスマネージャ
 ネットワークアダプタ
 使われているネットワークアダプタを選んで頂き、右クリック
 プロパティ
 電源の管理タブ
 『電力の節約のために、コンピュータでこのデバイsの電源をオフにできるようにする』のチェックを外す
 
 
〇ハード的に落とされている場合
 BIOSで電源管理、もしくはネットワークアダプタの設定に該当の設定が無いか見てみる

で解決できるかもしれません。

DELLのVostoroが手元にないため、
BIOSでネットワークカードの電源設定ができるかわかりませんが、
もしかしたらと言うことで・・・

2020年04月24日

ふらんそわ

デスクトップクラウドでの使用について

はじめまして。
PCでの動作確認ができたのでお名前ドットコムのデスクトップクラウドを使用してみたのですが、FCANDLEでの価格取得ができません。
自動で再計算にチェックも入っています。

①ちなみにPCでも時折再計算ができないことがあります。この場合なにか原因があるのでしょうか?
作動しなくなってからcandleの式があるセルを選択してenterキーを押すと作動が再開します。

②そもそもクラウド上では作動しないのでしょうか?
こちらはPCと違って価格の取得がなされません。

以上、よろしくお願いいたします。

2020年05月30日

大野 了

山田さん

おー!!
ということは、お名前のデスクトップクラウドでも動作するということですね!!
ありがとうございます!!ノウハウが増えました!!
なにはともあれ、良かったです!!


①は解決することを祈ります!!

2020年05月30日

山田 将之

大野さん

詳細な説明ありがとうございます!
②については解決しました、アドインのVBAにチェック入れたら作動しました、すみません、、、

①については他のエクセル開きっぱなしだったかもしれません。
同じ事象が起こったら上記を試してみます!

2020年05月30日

大野 了

そらんふわさん、こんにちは!!

>①ちなみにPCでも時折再計算ができないことがあります。この場合なにか原因があるのでしょうか?
>作動しなくなってからcandleの式があるセルを選択してenterキーを押すと作動が再開します。
毎回ではなく、時々ですか・・・
状況をお聞きする感じ、再計算が外れているときの動きっぽいですねー
同じPCで別のExcelで作業されてたりしませんでしょうか?
別のExcelを起動して作業をしていると、同一プロセスの場合、岡三RSSの動作が止まってしまいます。

もし、他のExcelで作業をされていない場合、
その状況が発生した時に、セルを選択せず、
・F9で再計算
・Ctrl + Alt + F9(もしくは、Ctrl + Alt + Shift + F9) で再計算
を試して頂けますでしょうか?

もしF9で動作するのであれば、
再計算が何かしらの理由で動いてないのが理由でCandleが表示できていないと思われます。

F9では再計算が掛からず、Ctrl + Alt + F9でかかる場合は、
セル関数の順序などが原因で、再計算の対象から外れてしまってる可能性があります!!


>②そもそもクラウド上では作動しないのでしょうか?
>こちらはPCと違って価格の取得がなされません。
こちらは、QUOTE関数などを使用した際に、#VALUEなどのエラーは出ないんだけど、
価格が表示されないということでしょうかー?

お名前.comのデスクトップクラウドではないですが、他のVPS(さくらやazure)では使えてると聞きますし、
自分も一時期は使ってました。

可能性があるとしたら、インストールに失敗しているか、通信ポートが閉じられてる可能性があります。
通信ポートは、80(http/tcp)、443(https/tcp)を使ってるみたいですので、
一度、FW等で止められてないか確認してみるというのはいかがでしょうか?
※ですが、よく使うポートなので、多分閉じてない気がします・・・

2020年05月30日

みね

信用返済注文の(意図しない)取消について

岡三RSSで信用新規買い(売り)&信用返済売り(買い)の自動取引をしているのですが、信用返済注文(指値)の未約定の状態が続くとなぜか注文が取り消されてしまいます。

取消後はREPAYMENTORDER関数のおかげで自動で注文できますが、約定されるまで数分毎に取消&再注文が繰り返されることになります。

シートには新規信用注文の取消用にORDERCANCEL関数もセットしていますが、返済注文の取消には使っていません。

ORDERCANCEL関数の発出条件を何度もチェックしてみましたが、返済注文の取消には関係ないようです。

ORDERCANCEL関数の設定以外に思い当たる点がありましたらご教示ください。

2020年05月29日

大野 了

おぉぉぉぉぉぉぉぉ!!

直りましたか!!
良かったです!!(何もしてませんが・・・(笑

ORDQUERYとかの誤差問題厄介ですよねー

なにはともあれ安定したようでよかったです!!

2020年06月04日

みね

大野さん

無事、誤発注がなくなりました。
アドバイスありがとうございました。

2020年06月04日

大野 了

なるほど!!
確かに、ORDQUERYなどの1つのデータを複数セルにまたがって取得するような関数の場合、各セル間の時差がおかしな判断になってしまうことがあります。
項目ごとの件数や『*** END ***』が一直線に並んでいるなどの、判断が必要となります!!

なにはともあれ、誤発注の原因が分かって良かったですね!!

2020年06月02日

みね

どうやらORDQUERY関数の取得項目間のタイムラグが原因のようです。
ORDQUERY関数の「売買」「銘柄名」「注文単価」からVLOOKUP関数を使って「注文番号」に紐づけしているのですが、ORDQUERY関数は取得項目によって表示に時間差があることから、新規注文のキャンセルのつもりが、返済注文の注文番号を拾ってしまったようです。
ORDQUERY関数の表示数が揃うまではORDERCANCEL関数が発動しないように設定を変更して明日リトライしてみます。

2020年06月01日

大野 了

みねさん、こんにちは!!

REPAYMENTORDERのパラメータなどを見返して、
いろいろと妄想してみたのですが、
数分で指値が取り消されるというのは少し考えつらかったです。

ORDERCANCEL関数をいったん消されてみるとどのようになりますでしょうか?

たまに、IFS関数の様に関数の条件式の中の関数が先に動いてしまう関数もありますので
もしかしたら・・・

2020年05月29日

みね

大野さん

コメントありがとうございます。
やはりORDERCANCEL関数を消してみるのが一番ですね。

仕事がオフの日に試してみます。


2020年05月29日

RSSユーザー

先物の売約定と買約定をエクセルの下に書き出したいです。

お世話になります。

岡三RSSで先物の売約定と買約定をエクセルに記録したいです。
当日16時30分~5時30分迄の1約定毎1枚から記録し、
累積を出したいのですが、行数制限を気にせず下の行に書き出す
方法が知りたいです。

イメージとしては、
「岡三RSSでできること Vol.2」
https://www.youtube.com/watch?v=Iw6j9m5JwUY
の中の34分位にあります、TICK関数による
「売り注文」「買い注文」を1約定毎に記録するような感じです

https://www.okasan-online.co.jp/ont/rss/manual/detail/27
の中にあります、FTICK_M関数ですと、自動で更新がされない為、
VBAでの記述をする方法は有りますか。

何度かVBAに挑戦しては、分からずの初心者です。
宜しくお願い致します。

2021年04月05日

RSSユーザー

大野さん

ご返信有難うございます。
試してみます。

またご報告いたします。


2021年05月15日

大野 了

RSSユーザさん、こんにちは!!

返信が遅くなりましたー

今回のソースは複数のモジュール分のソースをまとめて張られたという事ですね!!

またSub記録の件も了解しました!!

多分、Sub注文(一つ目のSub記録)が呼ばれていないため、動いていないと思われます。

Sub 記録()の 1行目に

Call Sub注文

と一行書いて頂ければ、1分ごとにSub注文が実行されます!!
これで発注はできるようになると思います!!

2021年05月14日

大野 了

ソースファイル.xlsx (3.0KB)

RSSユーザさん、こんにちは

>1.夜間の引けも決済したいので、5時28分頃の記述はこれでよろしいでしょうか。
少し記述の仕方を変えないといけないのと、大引けのところが夜間の時間が入っていなかったため
そちらも修正したファイルを送ります。
ここにコードを張ると、インデント(プログラムを見やすくする段落)が抜けちゃうので
テキストファイルで送ります!!

テキストファイルがアップロードできないので、
ダウンロード後、ファイル名を『ソースファイル.txt』に変更すると中身が見れます!!


また、発注IDのところなど、nowの結果ではなく、
Now()という文字が入ってしまってるところがあったり、
Fneworderの引数の数があってなかったり、
IF とEnd Ifの組み合わせが異なったりしていますので、まとめて修正した方で送ります!!


>2.Module1のところに上記を記述しても,各シート毎(Sheet5に注文のVBA、Sheet6に1分毎の抽出)
に分けて記述し、マクロを実行してもエラーがでます。
エラー内容は
・CALL FNEWORDERのところで引っ掛かり、
「コンパイルエラー:SubまたはFunctionが定義されていません」
と表示されます(上図)。
こちらは、もしかすると、参照設定が抜けているかもしれません
VBAを入れるEditorを開いて
ツールー参照設定
で上がってきたダイアログの中の『岡三RSS』にチェックを入れてください!!


・1分毎の抽出はマクロを実行する時だけは、実行されますが
次の行数目の抽出がされません(2分目以降がされないです)。
今の条件だと、いろいろと動かないところがありますので
今回のファイルで一度動きを見て頂けますでしょうかー?

>・入金不足の状態で注文をすると「パスワード違う・建玉番号、もしくは決済順序が指定されていません」
とエラーがでます。パスワードは建玉番号また決済番号はミニ1枚のみ売買になるため1にしましたがこれがいけないでしょうか(下図)。
こちらは、決済注文時に、第四引数に1が指定されているため、
建玉番号が1というポジションを決済しに行って、その建玉が無いためエラーになっています。
もし決済したい建玉を指定しないでよいのであれば、"C"を指定すると、古い順から決済していきます。

2021年04月21日

大野 了

RSSユーザさん、こんにちは!!

すみません・・・
またロジックがイメージできず・・・

以下のような動きでしょうか?

1.セッション開始時にポジションを持つ(8:45、16:30)
  この時の売買区分は、S5に準拠???
2.ザラバ中はドテンし続ける
3.ポジションが残っていれば引けで決済

という感じでしょうか?



>・発注IDは自分が作成したもので、よろしいでしょうか。
はい、発注IDは誤発注を防ぐための機能ですので、発注毎に異なる文字列を入れる必要があります!


>・逆指値は不要なので、決済条件のC37のところは「""」でよろしいでしょうか。
はい、逆指値を使われない時は、第17引数(C36)、第18引数(C37)は『""』で大丈夫です


>・新規条件は最初に買いか売りか分からない為、2つの新規条件の関数を作りましたが
新規として売り買い両方持ってしまう事になりそうでしょうか。
そうだとしたらそれを避ける方法は有りますか。
画像を拝見する限り、新規発注(注文シートのB2,B3)に条件が無いため
ファイルを起動した際に、買いと売り両方のポジションを持ってしまうと思われます。
避ける方法ですが、もしS5の売買シグナル通りに発注がかかるのであれば、
決済注文と同様に条件を入れてあげれば行けると思います!!


>・引成りの関数の作り方が分からなくて、決済条件のIFOR関数の部分の
C36=19としましたが、分かりませんでしたので教えて下さい。
引成りの発注は
決済発注の第7引数を5(引成)で発注すると引成りの注文になります!!

ですが、引成り注文を出してしまうと、キャンセルしないとドテンの決済注文が出せないため、
いきなり出してしまうと、ドテンが出来なくなってしまいます。
ですので、ザラバ中はドテンをするために、
決済注文の執行条件は成行で行い、
どこかのタイミング(15:08など)になったら、もうドテンはしないという事で、
引成り注文を出せばOKと思います!!

また、もしドテンをする価格が事前にわかるのでしたら、
不出来引成で発注を出すと簡単ですが、
もし出来高を観られるとかで、事前にわからないというのであれば
残念ながら使えないです・・・

2021年04月15日

大野 了

RSSユーザーさん、こんにちは!!

発注できませんでしたか・・・
全くエラーも出ていないという事は、発注のロジック自体動いてないっぽいですねー

ちなみにソースですが、
こちらは複数のシートやモジュールのソースをまとめて張られていますでしょうか?
Sub 記録()が二つあったり、そもそもが正常なソースになっていないようです。

2021年05月13日

RSSユーザー

大野様

御返信有難うございます。

このソースはシートは1つで、
複数のモジュールをまとめて張っています。
モジュールを分けて(Module1~5とかに)分けても、
注文のマクロはできないみたいです。

Sub記録が2つあった件ですが、
注文は「注文」というマクロ名に変更しました。
それでも注文をしないみたいです。

2021年05月13日

RSSユーザー

大野様

お久しぶりです。
前回のご回答ありがとうございました。
あれからずっとテストをしておりました。
返信が遅くなってしまいました。

前回の発注IDの件は直ぐに理解し、
VBA有のブックを2つ同時に立ち上げ干渉させない方法の
件も直ぐにできるようになりました。

そして、昨晩始めて発注を、冷や冷やしながらやってみました。
結果は、全くエラーがでずに、注文がされませんでした。

確認しました事や疑問点に思いました事。
・アドイン→注文可能を確認しました。
・注文エラーのメッセージは岡三RSSからは全くでませんでした。
・注文マクロを実行しても、エラーはでませんでした。
・岡三オンラインのホームページからの注文画面でも約定等されておりませんでした。
・記述中のFneworder関数ですが、最後の2つの引数、すなわち新規(C21とC22)と決済(C36とC37)の6           種類とも全て「13,""」にしてみても変化無しでした。またC9に1をいれてみても結果は変わらずでした。
・元々Moduleを分けていましたが、一括にすると「名前が違う」とでたりでなかったりします。

また、1点質問がございます。
16時30分台も前日のデータが反映されており、
それを修正する為にR8に0を入力したく「R8に0入力」
というマクロを作成したのですが、R8に0入力がエラーが出ます。
「(マクロR8に0入力を実行できません)。このブックでマクロが使用できないか、
またはすべてのマクロが無効になっている可能性があります」
という感じのエラーです。
「夜間から日中」「日中から夜間」「M8に0入力」というマクロ
は正常に動いているようです。

添付ファイルの件ですが、テキストファイルを.xlsx形式にしようとしましたら、
文字化けをしてしまい、ネットで下記のようなやり方を試してみました。
https://kb.benchmarkemail.com/jp/how-do-i-convert-a-text-file-to-an-excel-file/amp/
https://data-analyzer.net/2020/02/19/txt-xlsx/
しかし、文字化けをしたり、「""」が2重になって「""""」になってしまったり
してしまいます。
そこでPDFやWORDで添付しようとしましたが、
これでは「ファイル形式が誤っています」
となってしまいます。
その為、今回も貼り付けをさせて頂きました。
良い方法が有りましたら、
作成し直しますので教えて頂けますか。

全てのマクロを添付致しました。
ご回答頂けましたら、幸いです。

お助け頂き、本当にうれしいです。




Sub 記録()
Static NowPosi As Long '現在どのポジションを持っているか 0:ノーポジション 1:売り、3:買い
Dim NextTime As Variant
Dim OrderID As String

'ザラバの間の処理
If "08:45" <= Format(Now(), "HH:MM") And Format(Now(), "HH:MM") <= "15:08" _
or "16:30" <= Format(Now(), "HH:MM") And Format(Now(), "HH:MM") <= "5:28" Then

OrderID = Format(Now, "YYYYMMDDHHMMSS")

'買いポジションの処理
If Sheets("Sheet1").Range("S5") = "買い" And (NowPosi = 0 Or NowPosi = 1) Then
If NowPosi = 1 Then
'売りポジションの決済
Call Fneworder("N225mini", 202106, 2, "C", "", 3, 13, 0, 1, 1, 1, 1, "パスワードに変えました", OrderID, 1, "")
End If

'買いポジションの新規
Call Fneworder("N225mini", 202106, 1, "", "", 3, 13, 0, 1, 1, 1, 1, "パスワードに変えました", OrderID, 1, "")

NowPosi = 3
End If

'売りポジションの処理
If Sheets("Sheet1").Range("T5") = "売り" And (NowPosi = 0 Or NowPosi = 3) Then
If NowPosi = 3 Then
'買いポジションの決済
Call Fneworder("N225mini", 202106, 2, "C", "", 1, 13, 0, 1, 1, 1, 1, "パスワードに変えました", OrderID, 1, "")
End If

'売りポジションの新規
Call Fneworder("N225mini", 202106, 1, "", "", 1, 13, 0, 1, 1, 1, 1, "パスワードに変えました", OrderID, 1, "")

NowPosi = 1
End If
End If

'大引け
If ("15:09" <= Format(Now, "HH:MM")) And (Format(Now, "HH:MM") <= "15:14") _
or "05:24" <= Format(Now(), "HH:MM") And Format(Now(), "HH:MM") <= "5:29" Then

OrderID = Format(Now, "YYYYMMDDHHMMSS")

'ここで引けなり発注
If NowPosi = 1 Then
'売りポジションの決済
Call Fneworder("N225mini", 202106, 2, "C", "", 3, 5, 0, 1, 1, 1, 1, "パスワードに変えました", OrderID, 1, "")

NowPosi = 0
End If
If NowPosi = 3 Then
'買いポジションの決済
Call Fneworder("N225mini", 202106, 2, "C", "", 1, 5, 0, 1, 1, 1, 1, "パスワードに変えました", OrderID, 1, "")

NowPosi = 0
End If
End If
End Sub


Sub 記録()
'
' 記録 Macro
'

'
Range("L5:Z5").Select
Selection.Copy
Range("L7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("O7").Select
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 8
Application.OnTime TimeValue("15:20:00"), "日中から夜間"
Application.OnTime TimeValue("05:40:00"), "夜間から日中"
Application.OnTime TimeValue("16:30:05"), "M8に0入力"
Application.OnTime TimeValue("16:30:59"), "M8に0入力"
Application.OnTime TimeValue("16:30:59"), "R8に0入力"
Application.OnTime TimeValue("16:31:59"), "R8に0入力"
NextTime = Now + TimeValue("00:01:00")
Call Application.OnTime(NextTime, "記録")
Application.CommandBars("岡三RSS2").Controls.Item("更新").Execute

End Sub


Sub 夜間から日中()
'
' 夜間から日中 Macro
'

'
Range("V3").Select
Application.CutCopyMode = False
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=R[5]C[-9]"
Range("W3").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=R[5]C[-7]"
Range("V3").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("W3").Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Paste
Application.CutCopyMode = False
Range("M5").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=R[-1]C[-9]-R[-1]C[-7]-R[-2]C[9]"
Range("P5").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=@FQUOTE(""N225mini"",""0"",""出来高"")-R[-2]C[7]"
Range("Q5").Select
End Sub


Option Explicit

Sub 日中から夜間()
'
' 日中から夜間 Macro
'

'
Range("M5").Select
ActiveCell.FormulaR1C1 = "=R[-1]C[-9]-R[-1]C[-7]"
Range("P5").Select
ActiveCell.FormulaR1C1 = "=@FQUOTE(""N225mini"",""0"",""出来高"")"
Range("M5").Select
End Sub


Sub M8に0入力()
'
' M8に0入力 Macro
'
Range("M8").Select
ActiveCell.FormulaR1C1 = "0"
Range("M8").Select
ActiveCell.FormulaR1C1 = "0"

End Sub


Sub R8に0入力()
'
' R8に0入力 Macro
'
Range("R8").Select
ActiveCell.FormulaR1C1 = "0"
Range("R8").Select
ActiveCell.FormulaR1C1 = "0"

End Sub


2021年05月13日

大野 了

RSSユーザさん、こんにちは!!

発注IDは発注の度に異なるIDを設定する必要が有るのですが
セル関数(シート上だけで)だけで自動で異なる番号を振ることが難しいので
Now()を使いますと現在時間という事で、毎秒ごとにセルの中身が変わりますので、
これを利用して、発注IDとしています。

VBAではRSSユーザさんのおっしゃられます通り、
重複しない任意の値を作成して入れればよいのですが、
これも面倒なのでVBAでも
OrderID = Format(Now, "YYYYMMDDHHMMSS")
の部分でNowを使って現在時刻を取って、OrderID変数に入れ、

Call Fneworder("N225mini", 202106, 2, "C", "", 1, 13, 0, 1, 1, 1, 1, "パスワードに変えてね", OrderID, 1, "")
として、それを発注IDとしています!!

もし、ご質問の回答にそぐわなかったらごめんなさい・・・



>ブックを2つ開いていてRSSを実行しても、
>1つのブックだけを読み込むような仕様になっているみたいなんですが
>これはVBA・RSSの仕様でしょうか。
ブックを2つ開いてもRSSは正常に動くのですが、
通常のやり方でExcelを二つあげた場合、プロセスというコンピュータの処理単位が同じになってしまい、
ひとつのExcelの動きが、もう一つのExcelに影響してしまうので、
別プロセスでExcelを上げると互いに干渉しない形で動きます。

やり方は、
1.スタートメニューのExcelをクリックして起動する際に、Altキーを押しながらクリックする
2.『新しく別のExcelを起動しますか?』と聞いてくるので"はい"を押す

これで見た目は同じですが、別プロセスのExcelとなり、
VBAをガンガン回したりしても片方のExcelに影響を与えません。

一度、このやり方で上げてみて様子を見て頂けますでしょうかー


自動売買まで上手い事行けることを祈ってます!!

2021年04月27日

RSSユーザー

大野様

テキストファイルありがとうございます。

前回のご返答の件です。

1-1.夜間の引けの決済追加コードの件
→テキストファイルを確認しました。

1-2.発注IDにnowの結果ではなく、Now()という文字にしたファイルで送信の件
→Now以外の部分は確認をし、理解ができました。
 発注IDのところは4月17日に教えていただいた、
 「NOW()などで現在の時間を発注IDとすると
 毎回発注IDを自動で変えることが可能です!!」
 とありますが、これはRSS関数上のお話であり、
 テキストファイルに記載いただいた、「発注ID」の項目は、
 VBAなので、任意で記載しつつ、Now()ではないと考えてよろしいでしょうか。

2-1.マクロを実行してもエラーが出る件
→ツール―参照設定―岡三RSSのチェックが入っておりませんでした。
入力して、正常にマクロが実行されるのを確認しました。

2-2.・1分毎の抽出がされなくなったの件
→先物サンプルのシートに新たに6つ目のシートを追加し実行していました。
そこへ色々なRSSの数式が入っていたためか分かりませんが、全部削除して
実行し直したらできました。また、例えばラージとミニのデータ抽出(今まで
やっていた1分おき)は、ブックを2つ開いていてRSSを実行しても、
1つのブックだけを読み込むような仕様になっているみたいなんですが
これはVBA・RSSの仕様でしょうか。

3-1「パスワード違う・建玉番号、もしくは決済順序が指定されていません」
とでるの、建玉を指定しないので良ければ、"C"で古い順から決済します。
→途転で、1回につき1注文分しか、建てない為、建玉指定無のCで理解しました。

1-2だけ、教えていただけましでしょうか。
まだ、実際売買はせず、データをだして検証している状態ですが、
完成次第、注文を出してみたいと思います。

もう直ぐゴールなような気がします。

本当にお陰様で、感謝をしております。

2021年04月27日

岡三オンライン証券

RSSユーザーさま

いつもRSSをご利用くださり、誠にありがとうございます。

投稿いただきました内容に、取引パスワードと思われる文字列の記載がございました。

そのため、該当する箇所を「*****」に差し替えをいたしました。

ご理解くださいますようお願い申し上げます。

なお、投稿の際には、取引パスワードなど重要な情報につきましては記載をしないようにお願いいたします。

2021年04月21日

RSSユーザー

2021-4-21.jpg (327.1KB)

大野様


ご丁寧に御返信有難うございます。

お答えに関しての返信を致します。
1.発注IDの件
→即理解しました。
2.何処に発注関数をいれるかの件
→A列に書いてみます。
3.手動で注文は大変の為、VBAで発注を出すほうが楽の件
→良い案を頂き感謝しています。
VBA初心者で難しく感じており、先に進む事ができなく、
コピペとかで利用しています。しかし、これではいけないと思い
少しでも理解できるように学習しております。
前回大野さんに教わった、「更新と1分おき」
のやり方が即出来たため、今回も大野さんのお力を借りつつ、
挑戦してみたいと思います。

今回教わった新たな注文のVBAと、
前回教わった出来高系の1分更新
の表示VBAを合わせてみました。
以下がその記述内容です。



Sub 記録()
Static NowPosi As Long '現在どのポジションを持っているか 0:ノーポジション 1:売り、3:買い
Dim NextTime As Variant

'ザラバの間の処理
If "08:45" <= Format(Now(), "HH:MM") And Format(Now(), "HH:MM") <= "15:08" Then
If "16:30" <= Format(Now(), "HH:MM") And Format(Now(), "HH:MM") <= "5:28" Then
'買いポジションの処理
If Sheets("Sheet1").Range("S5") = "買い" And (NowPosi = 0 Or NowPosi = 1) Then
'売りポジションの決済
Call Fneworder("N225mini", 202106, 2, 1, 1, 1, 13, 0, 1, 0, 0, 0, "*****", "NOW()", 1, "", 13, "", "保有")
'買いポジションの新規
Call Fneworder("N225mini", 202106, 1, 1, 1, 1, 13, 0, 1, 0, 0, 0, "*****", Now(), 1, "", 12, "")

NowPosi = 3
End If

'売りポジションの処理
If Sheets("Sheet1").Range("T5") = "売り" And (NowPosi = 0 Or NowPosi = 3) Then
'買いポジションの決済
Call Fneworder("N225mini", 202106, 2, 1, 1, 3, 13, 0, 1, 0, 0, 0, "*****", "NOW()", 1, "", 13, "", "保有")
'売りポジションの新規
Call Fneworder("N225mini", 202106, 1, 1, 1, 3, 13, 0, 1, 0, 0, 0, "*****", Now(), 1, "", 12, "")

NowPosi = 1
End If
End If

'大引け
If ("15:09" <= Format(Now, "HH:MM")) And (Format(Now, "HH:MM") <= "15:14") Then
'ここで引けなり発注
If NowPosi = 1 Then
'売りポジションの決済
Call Fneworder("N225mini", 202106, 2, 1, 1, 3, 5, 0, 1, 0, 0, 0, "*****", "NOW", 1, "", 13, "", "保有")

NowPosi = 0
End If
If NowPosi = 3 Then
'買いポジションの決済
Call Fneworder("N225mini", 202106, 2, 1, 1, 3, 5, 0, 1, 0, 0, 0, "*****", "NOW", 1, "", 13, "", "保有")

NowPosi = 0
End If
End If
' 記録 Macro

Range("L5:Z5").Select
Selection.Copy
Range("L7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("O7").Select
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 8
NextTime = Now + TimeValue("00:01:00")
Call Application.OnTime(NextTime, "記録")
Application.CommandBars("岡三RSS2").Controls.Item("更新").Execute

End Sub


今回御質問があります。

1.夜間の引けも決済したいので、5時28分頃の記述はこれでよろしいでしょうか。
2.Module1のところに上記を記述しても,各シート毎(Sheet5に注文のVBA、Sheet6に1分毎の抽出)
に分けて記述し、マクロを実行してもエラーがでます。
エラー内容は
・CALL FNEWORDERのところで引っ掛かり、
「コンパイルエラー:SubまたはFunctionが定義されていません」
と表示されます(上図)。
・1分毎の抽出はマクロを実行する時だけは、実行されますが
次の行数目の抽出がされません(2分目以降がされないです)。
・入金不足の状態で注文をすると「パスワード違う・建玉番号、もしくは決済順序が指定されていません」
とエラーがでます。パスワードは建玉番号また決済番号はミニ1枚のみ売買になるため1にしましたがこれがいけないでしょうか(下図)。

度々恐れ入りますが、よろしくお願い致します。

2021年04月21日

大野 了

こんにちは!!

>1.発注IDは「発注毎に異なる文字列」の件ですが、
> 1セッションに新規注文が5回あるとすると、
> 5回分手入力とかVBAで入力しないと駄目でしょうか。
全ての発注で別の値を入れる必要があります!!
発注が1秒未満で繰り返す場合はVBAで入力するしかないですが、
もし発注間隔が1秒以上であれば、NOW()などで現在の時間を発注IDとすると
毎回発注IDを自動で変えることが可能です!!



>2.売り買い両方ポジションを持ってしまうの件ですが、
> 送らせていただいた画像の一番上の、
> B2に売り新規条件、B3に買い新規条件を記載しました。
> A2とA26とA41にも注文がありますが、こちらに記載するのでしょうか?
> B2列B26とB41の注文は例ですか。
はい、サンプルのB列は例のようで
実際の発注関数は、A列に書かれているもののようです!


>  B2に売り新規条件
> =fneworder(N225mini,202106,1,"",1,1,13,0,1,0,0,0,12345,F001,1,"",12,"")
>  B3に買い新規条件
> =fneworder(N225mini,202106,1,"",1,3,13,0,1,0,0,0,12345,F001,1,"",12,"")
>  B41に決済買い条件
> =IF(Sheet1!S5="買い"),fneworder"N225mini",202106,2,"",1,3,13,0,1,0,0,0,"12345","F001",1,"",13,"","保有")
>  B42に決済売り条件
> =IF(Sheet1!S6="売り"),fneworder"N225mini",202106,2,"",1,1,13,0,1,0,0,0,"12345","F001",1,"",13,"","保有")
>この4つで無事に注文は通りますでしょうか。
A列の元々あった条件を外して、B列に上記の条件を入れますと発注はできると思います。



>3.事前に途転価格が分からない為、
> 出来高で途転しますので、引け前に注文を出すしかないですよね。
> IFOR関数で、途転若しくは、付きそうもない不出来引成って難しいですかね。
> 自動売買でも15時位と、早朝に手動で注文を出さないと難しいという事ですね。
なるほどー
それでしたらRSSさんの場合、すでにVBAで繰り返し処理をされているので、
全体的にVBAで発注を掛けてしまったがらくちんだと思います。

ドテンをし続ける場合、セル関数だけでできないこともないですが、だいぶ大変だと思います。


先日ご質問を頂いた
Sub 記録()の中に
Call FNEWORDER("N225mini", 0, "1", "", "", "3", "1", "21000", "1", "1", "1", "1", "password", "3", "1", "")
のような感じでセルに書くのと同じような感じで書くと、VBAから発注ができますので
こちらを拡張するというのはいかがでしょうか?

あくまでもイメージですが・・・

Sub 記録()
Static NowPosi As Long '現在どのポジションを持っているか 0:ノーポジション 1:売り、3:買い
Dim NextTime As Variant

'ザラバの間の処理
If "08:45" <= Format(Now(), "HH:MM") And Format(Now(), "HH:MM") <= "15:08" Then
'買いポジションの処理
If sheets("Sheet1").Range("S5") = "買い" And (NowPosi = 0 or NowPosi = 1) Then
'売りポジションの決済
Call FNEWORDER("N225mini", ・・・・)

'買いポジションの新規
Call FNEWORDER("N225mini", ・・・・)

NowPosi = 3
End IF

'売りポジションの処理
If sheets("Sheet1").Range("T5") = "売り" And (NowPosi = 0 or NowPosi = 3) Then
'買いポジションの決済
Call FNEWORDER("N225mini", ・・・・)

'売りポジションの新規
Call FNEWORDER("N225mini", ・・・・)

NowPosi = 1
End IF
End If

'大引け
If ("15:09" <= Format(Now, "HH:MM")) And (Format(Now, "HH:MM") <= "15:14") Then
'ここで引けなり発注
If NowPosi = 1 Then
'売りポジションの決済
Call FNEWORDER("N225mini", ・・・・)
NowPosi = 0
End If
If NowPosi = 3 Then
'買いポジションの決済
Call FNEWORDER("N225mini", ・・・・)
NowPosi = 0
End If
End IF

NextTime = Now + TimeValue("00:01:00")
Call Application.OnTime(NextTime, "記録")
Application.CommandBars("岡三RSS2").Controls.Item("更新").Execute

End Sub


ごめんなさい・・・
テストしたわけでもないので、間違いや漏れがあることはご了承ください!!

2021年04月17日

RSSユーザー

2021-4-16 質問.jpg (475.6KB)

大野様

ご連絡有難うございます。

ご質問の件
1.セッション開始時にポジションを持つ(8:45、16:30)
  この時の売買区分は、S5に準拠???

  →8:45か16:30のセッション開始時に、ポジションがでるとは
   限らず、買いか売りかも分かりません。良くあるのは、
   数分後に始めての新規を持ちます。
   
2.ザラバ中はドテンし続ける
   
  →出来高系のサインですが、出続ければ途転し続けます。
   只、セッション開始数分後に新規、引けで決済の2回という時もあります。
   また、3~4回で引けを迎える事も有りますし、もみ合うと。
   10回以上という事もあります。今回の2週間は揉み合相場でしたので、
   1セッション辺り7回~8回でした。もみ合わない場合は、
   5回以下だと思います。
  
3.ポジションが残っていれば引けで決済
  
  →5時30分か、15時15分の引けで決済希望です。


新規に質問です。

1.発注IDは「発注毎に異なる文字列」の件ですが、
 1セッションに新規注文が5回あるとすると、
 5回分手入力とかVBAで入力しないと駄目でしょうか。
 それとも1セッションに何回途転売買があろうとも、
 1戦略に発注ID1つあればよろしいでしょうか

2.売り買い両方ポジションを持ってしまうの件ですが、
 送らせていただいた画像の一番上の、
 B2に売り新規条件、B3に買い新規条件を記載しました。
 A2とA26とA41にも注文がありますが、こちらに記載するのでしょうか?
 B2列B26とB41の注文は例ですか。

  B2に売り新規条件
 =fneworder(N225mini,202106,1,"",1,1,13,0,1,0,0,0,12345,F001,1,"",12,"")
  B3に買い新規条件
 =fneworder(N225mini,202106,1,"",1,3,13,0,1,0,0,0,12345,F001,1,"",12,"")
  B41に決済買い条件
 =IF(Sheet1!S5="買い"),fneworder"N225mini",202106,2,"",1,3,13,0,1,0,0,0,"12345","F001",1,"",13,"","保有")
  B42に決済売り条件
 =IF(Sheet1!S6="売り"),fneworder"N225mini",202106,2,"",1,1,13,0,1,0,0,0,"12345","F001",1,"",13,"","保有")

この4つで無事に注文は通りますでしょうか。

3.事前に途転価格が分からない為、
 出来高で途転しますので、引け前に注文を出すしかないですよね。
 IFOR関数で、途転若しくは、付きそうもない不出来引成って難しいですかね。
 自動売買でも15時位と、早朝に手動で注文を出さないと難しいという事ですね。

 日中仕事をしていて、手を極力加えたくなく、
 引け前決済の件もそうですが、発注IDが凄く気になります。

 ファイルを修正して付けました。
 上:注文シートの新規注文2関数
 真ん中:注文シートの決済の2関数
 下:Sheet1の「買い」「売り」出現の監視シート
 となります。
 
 何度も有難うございます。
 今回もよろしくお願い致します。





2021年04月16日

RSSユーザー

2021-4-15 質問.jpg (0.5MB)

大野さん

こんにちは
先日はご返答ありがとうございました。

今回は注文をしたいと思い、
https://www.okasan-online.co.jp/ont/use/sample/download/02.html
の中にある、「先物サンプルシート」で作成しましたが、
中々分からないところが有りました。
注文関数を作成しましたので、
正確に注文されるか教えて頂けますでしょうか。


条件
・先物サンプルの横に、Sheet1を作成しS5に「買い」T5に「売り」
 がでれば、売買のサインとします。
・売買条件は途転(16時30分~または8時45分~の最初の注文は新規)。
 最低1回以上の売買をした後引け迄持ち越すので、
 5時30分か15時15分になったら引成行にします。
・ポジションはミニ1枚で、建玉は2枚以上にならないようにしたいです。
・16時30分~5時30分を1取引の区切り、8:45~15:15をもう1つの区切りにします。


質問です。
・発注IDは自分が作成したもので、よろしいでしょうか。
・逆指値は不要なので、決済条件のC37のところは「""」
でよろしいでしょうか。
・新規条件は最初に買いか売りか分からない為、2つの新規条件の関数を作りましたが
新規として売り買い両方持ってしまう事になりそうでしょうか。
そうだとしたらそれを避ける方法は有りますか。
・引成りの関数の作り方が分からなくて、決済条件のIFOR関数の部分の
C36=19としましたが、分かりませんでしたので教えて下さい。


以下、4つの関数になります。

日経225先物ミニ202106限月の新規売り成行で1枚注文。
注文確認、完了メッセージ、注文画面は無し。パスワードは"12345"。
発注IDはF001。有効期限は当セッションのみ。メモはなし。発注条件は成行(FOK)。
逆指値無し
=fneworder(N225mini,202106,1,"",1,1,13,0,1,0,0,0,12345,F001,1,"",12,"")

日経225先物ミニ202106限月の新規買い成行で1枚注文。
注文確認、完了メッセージ、注文画面は無し。パスワードは"12345"。
発注IDはF001。有効期限は当セッションのみ。メモはなし。発注条件は成行(FOK)。
逆指値無し。
=fneworder(N225mini,202106,1,"",1,3,13,0,1,0,0,0,12345,F001,1,"",12,"")

Sheet1のS5に"買い"が出現、または引けになったら、日経225先物ミニ202106限月の決済買い成行(FOK)1枚。
注文確認、完了メッセージ、注文画面は無し。パスワードは"12345"。
発注IDはR001。メモはなし。発注条件は成行(FOK)。逆指値無し。サインがでない場合は、保有。
=IF(OR(Sheet1!S5="買い",C36=19)),fneworder"N225mini",202106,2,"",1,3,13,0,1,0,0,0,"12345","F001",1,"",13,""),"保有")

Sheet1のT5に"売り"が出現、または引けになったら、日経225先物ミニ202106限月の決済買い成行(FOK)1枚。
注文確認、完了メッセージ、注文画面は無し。パスワードは"12345"。
発注IDはR001。メモはなし。発注条件は成行(FOK)。逆指値無し。サインがでない場合は、保有。
=IF(OR(Sheet1!S6="売り",C36=19)),fneworder"N225mini",202106,2,"",1,1,13,0,1,0,0,0,"12345","F001",1,"",13,""),"保有")

Sheet1では4:21途転買い、4時24分に途転売り、4時28分のSの5には「買い」とでているので途転買い。
次のサインが出なければ、引け決済成行売りとなります。

ファイルを付けました。
上:注文シートの新規注文2関数
真ん中:注文シートの決済の2関数
下:Sheet1の「買い」「売り」出現の監視シート
となります。

長くなってしまい、申し訳有りません。
恐れ入りますがよろしくお願い致します。

2021年04月15日

大野 了

こんにちは!!

まず、『=AVERAGE(M8:M12)』の件ですが、
『=AVERAGE(INDIRECT("M8"):INDIRECT("M12"))』
としますと、AVERAGEの見ている先のセルが増減しても
絶対的にそのセルを見続けてくれます!!


>=FTICK_M("N225","0","当日買約定数累計",D4)
>これを読み出す関数は、30行のみとなっておりますが、
>コピーして下に書き出す事は可能でしょうか。
申し訳ありません、自分の理解力が足りず
ご質問の意味を組みとれませんでした・・・(ごめんなさい

FTICK_Mは実行すると、30Tick分出ると思います。
こちらの中から1分間隔で最新足をコピーされているのが、
先日画像で頂いたL,M列だと思っていたのですが、
こちらとは違う感じでしょうか??


>8時間実行したら、30(Tick)×2(???)×8(時間)=480行となるようにしたいのです。
二つ目の『2』の意味がイメージできず・・・
いまいち・・・
ホント申し訳ありません
なにか具体例などを頂けますとありがたいです!!

2021年04月10日

大野 了

RSSユーザさん

1点目は解決できたようでよかったです!!

また、2点目の件も了解しました!!

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

2021年04月13日

RSSユーザー

大野様

ご連絡ありがとうございます。

1点目は
『=AVERAGE(INDIRECT("M8"):INDIRECT("M12"))』
即解決しました。

問題は
2点目の
「>コピーして下に書き出す事は可能でしょうか」
分かり辛く申し訳ありません。

L列とM列の件は大野様のお陰で、1分毎に書き出すのは
以前解決し、無事稼働させております。

今回はD列とF列になります。
イメージとしては仰る通り、30Ticks分でるのですが
31Ticks目は消えますので、31Ticks以降も消えずに、
書き出す方法は無いかと思い質問をさせて頂きました。
しかし、試していくと、今回余り必要なくなってきましたので、
大丈夫です。

同件か別件でまた質問がでましたら、よろしくお願いいたします。

有難うございます。

2021年04月13日

RSSユーザー


追記で質問お願いできますでしょうか(汗)。

=FTICK_M("N225","0","当日買約定数累計",D4)
これを読み出す関数は、30行のみとなっておりますが、
コピーして下に書き出す事は可能でしょうか。
8時間実行したら、30×2×8=480行となるようにしたいのです。

何度も申し訳有りません。

2021年04月09日

RSSユーザー

大野様

あの後順調に行ってます。

また、1点分からない事がでてきまして、
御質問をお願いしてもよろしいでしょうか。

例えば今までのコードと図を元に御説明を致しますと、
K8に
=AVERAGE(M8:M12)
と入力しますと、その時はいいのですが、
1分経過すると参照行が1行下にスライド
してしまい、
=AVERAGE(M9:M13)
となってしまいます。
=AVERAGE($M$8:$M$12)
にしても駄目みたいです。

これを避けるためにはどのようにしたらよろしいか教えて頂けますでしょうか。
度々のご質問ですが、
どうぞ、よろしくお願い致します。

2021年04月09日

大野 了

上手くいきましたか!!
それはよかったです!!!

少しでもお役に立てて幸いです!!

2021年04月08日

RSSユーザー

大野さん

ご連絡有難うございます。
返信が遅くなってしまいました。

上手く行ってました。
時間も任意で変更可能でした。
自動記録も大丈夫でした。

感謝致します。
有難うございました。。。

2021年04月08日

大野 了

VBA見ました!!

こちらの動きですが、
L7,M7に一度時間とデータを書き出して、
その後、行を追加してずらして
スペースができたL8,M8にL7,M8のデータをコピーするという感じでしょうか・・・

それでしたら、一番最後にOnTimeと更新が入っているこのPGで大丈夫だと思います!!
上手くいかない感じでしょうかー?

2021年04月07日

RSSユーザー

2021-4-6.jpg (96.3KB)

大野様

ご連絡有難うございます。
早速試してみました。

VBAは全てどなたかのコピーでやってきました。
VBAの記述は一切出来ないので、マクロの記録を作成してみました。

大野さんから教わった内容と、自分で作成したマクロを加えて
作成しました。

自分で作成したマクロ記録は、売約定累積-買約定累積を
下に書き込んでいくタイプでM列に書き込んでいきます。


Sub 記録()
'
' 記録 Macro
'

'
Range("M5").Select
Selection.Copy
Range("M7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("L7").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=NOW()"
Range("L7:M7").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("L8").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("O8").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = ""
Range("O10").Select

End Sub




そこへ大野さんから教わった、
・RSSを手動更新させる
・VBAを1分おきに実行させる
というのを付け加えてみました。
1分以内に沢山出てくるのですが、
場に張り付いて居る時はかなり調子がよいです。

場に張り付いていない時は、元々ご質問させて頂いた
1分毎にデータを更新し、1行分だけデータを出したいと思っております。
下記のその場合はどこを修正したらよろしいでしょうか。
よろしくお願い致します。



Sub 記録()
'
' 記録 Macro
'

' Private Sub 記録()
Dim NextTime As Variant
Range("M5").Select
Selection.Copy
Range("M7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("L7").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=NOW()"
Range("L7:M7").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("L8").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("O8").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = ""
Range("O10").Select
NextTime = Now + TimeValue("00:01:00")
Call Application.OnTime(NextTime, "記録")
Application.CommandBars("岡三RSS2").Controls.Item("更新").Execute
End Sub

2021年04月06日

大野 了

こんにちは!!

だいぶ、いろいろと策を練ってみたのですが、
完全な制度で、すべてのTickを記録し続けることは厳しそうです。

理由としましては、
岡三RSSで複数セルを使い一つのデータを取得する際に、
時間軸がずれるという問題があります。
(FCAMDLEを4つ使い、始値、高値、安値、終値を取るような
1つの時間軸のデータを、4つの関数に分けて取る場合、
1行の始値、高値、安値、終値 で時間軸がずれてしまう)

これを回避するため、岡三オンライン証券さんが、
CSV項目というのを少し前に追加してくれたのですが、
残念ながらTickにはCSV項目が存在しないため、この時間のずれを対応することが難しく、
単純にVBAでデータの退避を行っても、でたらめなデータが出来上がる可能性が高いです。

このためデータの補正をプログラムでする必要が出てくるため、
残念ながらVBAを駆使しても、1件ずつの約定を取得することは厳しいと思います・・・

んーなんか良い手無いかな・・・
悩む・・・

2021年04月05日

RSSユーザー

大野様

是非、岡三RSSに入金して、実施してみます。

また、教えて頂きたい事がありましたら、連絡をさせていただきます。

この度はご丁寧に教えて頂き、本当に有難うございました。

2021年04月05日

大野 了

RSSユーザさん

なるほどー

一枚ずつという事ではなく、
1分単位で、その時間までの累積だけでよいのであれば、
FTICK_Mを1分ごとに更新して、最新足を書き出していけば大丈夫と思います。

FQUOTEでもできますが、売約定累積と、買約定累積で時差問題が出てしまいので、
FTICK_Mを1分ごとに更新して最新足を取るのが簡単だと思います!!

やり方としては・・・

1.FTICK_Mで約定累積を取るようにする。
2.VBAで1分おきに以下の処理を実行
  ・RSSを手動更新させる
  ・FTICK_Mの最新足(一番上)の1行を退避

という流れで行けると思います!!


以前に頂いた質問のURLを転記という形で大変申し訳ないのですが、
以下の内容で行けると思います!!

・RSSを手動更新させる
https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=80#comment_713

・VBAを1分おきに実行させる
https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=258#comment_1385
こちらは2秒ごとですので、
NextTime = Now + TimeValue("00:01:00")
と書き直して頂くと、1分おきにマクロが繰り返し実行されます!!

VBAをどの程度使われているかわからないため、
とりあえず、内容だけを箇条書きにしてみましたー(手抜きでごめんなさい

もしわかり辛い点がありましたら、再度ご連絡頂けますと幸いです!!

2021年04月05日

RSSユーザー

大野 様

この度は、早速ご連絡を頂き大変有難うございます。

VBAを駆使しても難しいという事ですね。

FTICK_M関数の「当日売約定数累計」「当日売約定数累計」
が知りたいのですが、こちらを使用してみます。
1分とか10分おきに、自動で更新し、
下に書き出すのも、難しそうでしょうか。

2021年04月05日

プログラミング経験のあるRSS初心者

RSSのバグや仕様ミス?(逆指値での発注条件)

RSSのバグや仕様ミス?というスレッドを作りました。
今後、ここでいろいろ情報共有をしつつ、岡三オンライン証券さんのご回答をお願いするのがいいかと思います。

まずは、今回気づいたことをとりあえず共有します。

先物取引の逆指値での発注条件を「指値」にすることは、WEB画面からはできるが、RSSでは(マニュアルには記載があるのに)できないようです。
もしそうなら、バグまたは仕様ミス(仕様書の誤記載)ではないでしょうか?

事の発端は、逆指値での発注条件を「指値」にすると「発注単価が正しくありません」とエラーになることです。
試しに、いろいろな発注条件をVBA経由でRSSで入れてみると、以下のようになりました。
0最大指値:OK
1指値:NG(エラーとなる)
10指値(FOK):NG(エラーとなる)
11指値(FAK):NG(エラーとなる)
12成行(FOK):OK
13成行(FAK):OK
14最良指値(FAS):OK
15最良指値(FOK):OK
16最良指値(FAK):OK

少なくともこれで見る限り、RSSで逆指値を行うと、成行か最大指値や最良指値しか使えないので、スリッページがもれなくついてくる(WEBでの手入力と比べて確実に損をする)ということにあります。
もしかして、わざと(確信犯的に)仕様ミス(仕様書の誤記載)を放置していることは、ないですよね(笑)。
私の間違いなら、考えられるありがちな間違いを、ご教示いただきたいです。

岡三オンライン証券さんのご回答をいただけると幸甚です。
どうぞよろしくお願いします。

2020年10月20日

岡三オンライン証券

プログラミング経験のあるRSS初心者さま

いつも岡三RSSご利用いただき、誠にありがとうございます。

早速ではありますが、本投稿への回答をさせていただきます。

「岡三RSS集いの広場」は、利用規約の定めにあります通り「利用者同士の交流・情報交換を目的としたサービス」としております。

■「岡三RSS集いの広場」利用規約
https://bbs.okasan-online.co.jp/ont/rss/board/use.html

そのため、岡三RSSの仕様など当社へのご質問・ご要望につきましては、当社コールセンターまでお問合せくださいますようお願いいたします。

本掲示板につきましては、当社が運営するものではありますが、お客さま同士での交流・情報交換の場としておりますことをご理解ください。

今後とも、どうぞよろしくお願いいたします。

2020年10月21日

大野 了

プログラミング経験のあるRSS初心者さん

うまく逆指値できましたか!!
それはよかったです!!
環境違いで動作がおかしくなることは無いとわかっただけでも
だいぶ収穫ですね!!

とりあえず自分の方でファイルを作る必要はなさそうなので、
今夜はゆっくりビールでも飲みます(笑
もし必要な時は、ご遠慮なく言って頂けますと幸いです!!


逆指値の決済等の実験がうまくいくことを祈ります!!

2020年10月21日

プログラミング経験のあるRSS初心者

大野さん

途中経過報告です。
私のほうでも新たに上述②(以下に再掲)の超シンプルなシートとコードを作って実験してみました。
②記載された第1引数から第18引数の内容が記載されたセルを引数として、fneworderをVBAで実行

すると、新規については
第17引数(発注条件)

1:指値
指値にしても
第8引数
第18引数
のことは認識してきちんと発注されたようで、WEBの取引画面でも指定した値で注文が成立していることが確認できました。
ということは、推奨環境のバージョンのせいではないようです。

そこで考えたのですが、別の仮説として「RSSアドインの発注処理が遅いので、発注完了に時間がかかりすぎていて、VBAの処理が次の段階に進むスピードについていけないせいかもしれない」という仮説もありえます。

以前
https://bbs.okasan-online.co.jp/ont/rss/board/?category_id=1&topic_id=388
で話題になった訂正のエラーも、それに関係するかもしれません。

もしそうなら、適当な遅延を掛ければ解決するはずなので、それでまた実験をしてみます。
逆指値の決済についても、同様に実験してみます。

一方で、もしそうなら、本質的にはRSSの側に問題があるということになるので、将来の改善を期待したいですね。

2020年10月21日

大野 了

そうですね。
自分は返信するばっかりであまり新規投稿する機会はないのですが、
もし投稿する場合は合わせたいと思います。


なるほどー!!
第18引数に設定してもエラーになってしまったんですね・・・

自分はシートの内容を元にして発注は行わなかったので、
プログラミング経験のあるRSS初心者さんのやり方で
一度やってみます!!

そして、ファイルは共有しますねー

2020年10月21日

プログラミング経験のあるRSS初心者

大野さん

いつもご親切なコメントをいただき、大変ありがとうございます。

そうですね。今後はRSS自体の不具合の可能性がある場合は、
RSSのバグや仕様ミス?(XXXXX)
というスレッドにして、XXXXXに具体的内容の概略を書くようにしてはいかがでしょう。

早速テストをしていただいたようで、ありがとうございます。

ご指摘の第8引数や第18引数のことは認識しております。
そのうえで、第17引数(発注条件)をいろいろ変えて実験をしています。

おおまかな流れは以下のようになります。
①VBAによりfneworderの第1引数から第18引数までの内容をエクセルシートのセルに記載。
②記載された第1引数から第18引数の内容が記載されたセルを引数として、fneworderをVBAで実行

ソースコードを見ていただきたいのですが、以上の流れはVBAコード全体の一部で、そこだけ抜き出すことが難しいので、見ていただくためのサンプルがありません。

>今、逆指値の発注を実際にやってみたのですが、価格指定が必要な指値系(指値、指値FOK、指値FAK)の逆指値も発注が通りましたー

とおっしゃるのは、上記②のみを行うシンプルなものですか?
もしそうなら、そのエクセルファイルをシェアしていただけますと、大変ありがたいです。
どうぞよろしくお願いいたします。

ちなみに、私のほうでは、もしかしたら岡三の推奨環境のバージョンの差なのかもしれないと気づきました。その点を調べてみて、結果が分かったらまた共有したいと思います。
https://www.okasan-online.co.jp/ont/rss/platform/

感謝しつつ

2020年10月21日

プログラミング経験のあるRSS初心者

>岡三RSSの仕様など当社へのご質問・ご要望につきましては、当社コールセンターまでお問合せくださいますようお願いいたします。

とのご回答ですが、一方で
https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=377#comment_1841
のように直近でも「岡三RSSの仕様など当社へのご質問」でも「岡三オンライン証券」として回答なさっている例はたくさんあります。

また、規約が岡三RSSの仕様など岡三オンライン証券への質問・要望の記載を何ら妨げものではないことは、明白です。

ですから、今後とも回答をしていただけることを期待します。

また、コールセンターまで問合せたこともあるのですが、担当者の方が「自分はシステムは専門外で内容は理解していない」というお答えの場合もありました。
担当者の背景によってばらつきがあるのかもしれません。

その点、掲示板ならば貴社においても利用者においても情報が共有されるので、より価値が高いと思います。

よろしくお願いします。

2020年10月21日

大野 了

プログラミング経験のあるRSS初心者さん、こんばんは!!

確かに、こういうスレッドがあると、
いつも思ってる疑問とかが散らばらず、まとめられて良いですね。
回答する方も、後で検索する方も見やすいですし・・・


岡三オンライン証券さんでないのが、大変申し訳ない限りなのですが(笑
気がついた点を返信します!!

今、逆指値の発注を実際にやってみたのですが、
価格指定が必要な指値系(指値、指値FOK、指値FAK)の逆指値も発注が通りましたー

発注単価の設定が必要な注文がエラーになっているみたいですので、
もしかしたら第18引数が未入力かVBAで認識できない形になっておられませんでしょうかー?


逆指値発注の場合、
通常、指値などの金額を入れる第8引数の意味合いが変わり、
逆指値のトリガー価格になります。
そうすると、トリガー発動後の指値の価格指定ができないため、
トリガー発動後の指値の価格は、第18引数に設定する形になります!!

==================================
逆指値指定時
第8引数:逆指値トリガー価格
第17引数:逆指値発動後の発注条件
第18引数:逆指値発動後の発注条件で価格指定が必要な条件(指値、指値FOK、指値FAK)で指定する価格
==================================

2020年10月20日

RSSユーザー

メッセージの履歴についてです。

お世話になっております。
岡三RSSで現物株の売買を自動で行っているのですが、まだ資金力が足りなく「現物買○○○○において買い付け余力が不足しています」とか、「現物買○○○○発注不可設定になっています」とかのメッセージが2~3秒表示されたあと消えてしまいます。このメッセージの履歴(表示時刻と表示内容)をどこかにストックしておいて、場が閉まった後見るなんてことは出来ないでしょうか、できるとシステムの出来具合や成績がより分かるのですが、お教えください。

2021年03月29日

大野 了

こんにちは!!

発注時のエラーを確認されたいのであれば・・・
ORDERRESULTという関数があります。

エラーの内容によっては出力されないエラーもありますが、
確か・・・たぶん・・・きっと・・・
余力不足のエラーは残ったと思います。
こちらで観るのが簡単かとー

一応、メッセージをログとして残すことは可能ですが、VBAにてPGを書かないといけないので、
意外と大変です・・・

2021年03月29日

RSSユーザー

なんかマニュアルがリニューアルされているのですね!ORDERRESULTという関数、知らなかったです。早速試してみます。ありがとうございました。

2021年03月30日

大野 了

うまく取れましたか!!
良かったです!!

お役に立てて幸いです!!

2021年03月31日

RSSユーザー

お世話になっております。前場が終わった昼休みにORDERRESULTという関数を使ってみました。多分発注IDと思われるものが30位あり、だぶっているのを除くと6銘柄位の買いのNEWORDERがエラーになっていました、欲をいえばエラー時刻が欲しいですが一応買いの発注単価は推測できるので、これでこのシステムの評価はできます!ありがとうございました!!!



2021年03月30日

大野 了

うまく取れることを祈ります!!

2021年03月30日

岡三オンライン証券

岡三RSS(国内株式・先物OP)の先物OP発注関数仕様変更について

いつも岡三RSSをご利用いただき、誠にありがとうございます。

次期デリバティブ売買システム(J-GATE3.0)が稼働する2021年9月21日(火)(予定)に合わせて、大阪取引所において取引制度の見直し等が行われます。

それに伴い、岡三RSS(国内株式・先物OP)の先物OP発注関数の仕様に一部変更がございます。

詳細は下記よりご確認ください。

■岡三RSS(国内株式・先物OP)の先物OP発注関数仕様変更について
https://www.okasan-online.co.jp/information/2021/0906a/

■次期デリバティブ売買システム(J-GATE3.0)の稼働に伴う変更点について
https://www.okasan-online.co.jp/information/2021/0906b/

引き続き、岡三RSSをご利用くださいますようお願いいたします。

2021年09月06日

大野 了

恥ずかしながら、制度改正の中身をネットで探せてなかったので、
事前に情報頂けて、ほんとありがたいです!!

ありがとうございました!!

2021年09月06日

岡本

各関数の実際の挙動を試す方法はありますか?

例えばneworder関数で内出来だった場合の挙動を知りたいのですが、デモ注文のような事はできるのでしょうか?
マクロと関数を組み合わせて運用する予定です。
ぶっつけ本番ではなく、実際の注文を行う前に他の関数も一通り試して挙動を把握できるとうれしいのですが、、

2022年07月05日

大野 了

岡本さん、こんにちは!!

いえいえ!!
伝わったのでよかったです!!

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

2022年07月06日

岡本

ご回答ありがとうございます。
リンクの質問なのですが、なぜか見つからず消されたものかと思っておりました。すみません。

2022年07月05日

大野 了

岡本さん、こんにちは!!

>例えばneworder関数で内出来だった場合の挙動を知りたいのですが、デモ注文のような事はできるのでしょうか?
>マクロと関数を組み合わせて運用する予定です。
>ぶっつけ本番ではなく、実際の注文を行う前に他の関数も一通り試して挙動を把握できるとうれしいのですが、、
こちらですが、残念ながらテスト環境はなく実際の口座でテストを行う必要があります。
確かに一部だけ約定した場合のテストとか、難しいですね・・・


また、同様のご質問があったので、
もしかするとこちらの返答に気が付かれていないかとも思いましたので、返答のリンクも張っておきます!!
https://bbs.okasan-online.co.jp/ont/rss/board/?category_id=2&topic_id=538

2022年07月05日

クロ

日経平均株価の5分足等の4本値を表示したい

タイトルの通りなのですが、先物等ではなくリアルの日経平均株価の4本値をリアルタイムで表示する事は可能でしょうか?
ご存知の方がいらっしゃいましらご教示頂けると幸いです。

2022年09月22日

クロ

横山さま
ありがとうございます。
見て勉強します!!

2022年09月28日

横山

クロさん、こんにちは。
日経先物の4本値を表示する手順の動画があります。下のリンクで鑑賞できます。
https://youtu.be/lBg0-M6FlPM

2022年09月25日

クロ

大野さま
とても丁寧にありがとうございます!
頑張ってみます!!

2022年09月24日

大野 了

あっ
あと、NK225COMP_Mで株価換算係数も取れるので、それも取得させるとみなし額面出すときに使えると思います!!

2022年09月22日

大野 了

クロさん、こんにちは!!

具体的な出し方に関してですがー


1.NK225COMP_M関数を一度実行し、225採用銘柄の一覧を取得しておく
例)
A1セルに『=NK225COMP_M("銘柄コード",A2)』と記述を行うと
A2 ~ A227 に225採用銘柄の銘柄コードが表示される


2.QUOTE関数にて、取得した225の銘柄の現在値をリアルタイムに取得
例)
B列に『=QUOTE(A2,"","現在値")』と記述を行い、225銘柄の現在値をリアルタイムに取得する


3.現在値などの情報を元に日経平均を計算
みなし額面や除数をを計算しないといけないのですが、以下のpdfをご参考に頂けますと幸いです。
分かりやすいサイトを探してみたんですが、正確な計算式が乗っていたのは、このPDFだけでした・・・

https://indexes.nikkei.co.jp/nkave/archives/news/20220301J_3.pdf

もっと簡単にわかりやすいサイトがあるとよかったんですが・・・

また、225をExcelで出すためのExcelの計算式を説明したYoutubeの動画を見つけましたので、
張っておきます!!
https://www.youtube.com/watch?v=2lFc6_9NHb0

ご参考になれば幸いです!!

2022年09月22日

クロ

大野さま
ありがとうございます!
ちなみに「NK225COMP_M関数で日経225採用銘柄を取得し、その現在値から手計算するしかない」
との事ですが、それでも構わないのでやってみたいのですが、具体的にどのようなやり方になりますでしょうか?

2022年09月22日

大野 了

クロさん、こんにちは!!

リアルタイムの日経平均株価ですが、
残念ながら岡三RSSにはリアルタイムの日経平均株価を算出する項目がないようです。

もし、算出するとしたら、
NK225COMP_M関数で日経225採用銘柄を取得し、その現在値から手計算するしかないと思われます!!

2022年09月22日

RSSユーザー

約定したIDを表示させる方法です

お世話になっております、買い約定したNEWORDER関数のIDはどこかのセルに表示できますか、お教えください。

2020年06月08日

黒犬

お世話になります。

日経miniのデイトレです。
複数の発注ルートを設け、有効性を比較しています。
意図せぬ発注がなされる事が結構有ります。
検証しようにもどのルートで発注がなされたのかが分かりません。
各ルートにはメモに名前を入れているのでFOPORDQUERYでルートの確認はできるのですが、引けで消えるので帰宅した時は残っていません。(ナイトは朝確認できますが・・)
何か良い方法はないでしょうか?

2020年06月20日

大野 了

はい、少し前の岡三RSSのバージョンアップで追加されましたー!!
ありがたい限りです。

2020年06月08日

RSSユーザー

そうです!わかりました。ありがとうございました。(私が初めてNEWORDER関数を作ったときはこの引数はなかったような。)

2020年06月08日

大野 了

こちらの『総合取引口座の注文番号』と言われますのは、
現物株の特定口座や一般口座に入る現物株の発注の注文番号という事でしょうかー?

そうでしたら『その通りです』となります!!

2020年06月08日

RSSユーザー

これは、総合取引口座の注文番号ですか。

2020年06月08日

大野 了

こんにちは!!

NEWORDERという事ですので、現物株と思われますが、
こちらのIDと言われますのは、発注IDになりますでしょうか?
それとも約定後の各建玉のIDのようなものになりますでしょうか?

発注IDでよければ、NEWORDERの一番最後の『注文番号表示先セル』に
出力先のセルを設定すれば、実際に発注された発注情報のIDが返ってきます!!

また、もし約定後の各建玉のIDでしたら、残念ながら現物株では取得できません。
同一銘柄で複数回に分けた約定の場合、一つの銘柄として混ざってしまいます。

2020年06月08日

RSSユーザー

複数の買いプログラムに対応する複数の売りプログラムのひも付けについてです。

いつも、お世話になっております。
1つのエクセルファイルに複数の買いプログラムと複数の売りプログラムがあり、今のところはそれぞれ1つずつしか作動させていません。もし買1プログラム(デイトレ)で約定した銘柄には売1プログラム(デイトレ)が対応し、買2プログラム(スィング)で約定した銘柄には売2プログラム(スィング)が対応するなんてひも付けのようなことできるでしょうか、お教えください。

2020年06月06日

大野 了

はい!!
もしわからないことがあれば、またご質問頂ければー!!

2020年06月08日

RSSユーザー

分かりました。やってみます。ありがとうございました!

2020年06月08日

大野 了

なるほどー!!

それでしたら、条件判断のところを永久ループなどにして、
条件判断を毎回させてあげれば、"買1"と表示された瞬間に他のセルにコピーできます。

もし他のExcelではなく、自分自身の他のセルにコピーされたい場合は、
先ほどのサンプルで売り用のExcelを取得しているのを取得しないようにし、
BuyFileならBuyFileの特定のセルのvalueにコピーするようにしてください!!


また、もしPCの負荷の関係上厳しいのであれば、
UWSCを使われるのではなく、
VBAで買1ファイルのExcelファイルのCalculateイベントなどで
"買1"が表示されるセル確認して"買1"と表示されたら、
他のセルにコピーする方法が一番簡単だと思います!!

2020年06月08日

RSSユーザー

すいません、"買1"のセルはパーフェクトーダーとかある条件を充たすと表示され買い約定となるのですが、その後パーフェクトオーダーとかの条件が消滅すると"買1”のセルも”監視中"とかに変わってしまうため、"買1"が表示されたらすぐ他のセルにコピーしたいからです。

2020年06月08日

大野 了


同じExcelのファイルですと『=A1』と書けばいいだけですので、
こちらは別のExcelファイルという事でしょうか?

一応、その前提でスクリプトを記述しまーす!!

また、手元にuwscがないためテストしていません。
エラー等はご了承ください。

また、集いの広場の仕様で、一部の記号が投稿に使えません
記号で全角になっているところは、半角に変えてください!!

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

Try
BuyFile = GetActiveOLEObj("Excel.Application",買いファイル名)
SellFile = GetActiveOLEObj("Excel.Application",売りファイル名)

If BuyFile.Sheets(シート名).Range(あるセル).value = ”買1” Then
SellFile.Sheets(シート名).Range(特定のセル).value = ”買1”
EndIf
Except
MsgBox("ファイルが読み込めません")
EXIT
EndTry


2020年06月08日

大野 了

『=』が、全角になっています!!

2020年06月08日

RSSユーザー

すいません、uwsc pro版を使っているのですが,あるセルに”買1"が表示したら即座に違う特定のセルに"買1"をコピーするプログラムがあれば教えてください。エクセルを開いている時が条件です。

2020年06月08日

大野 了

なるほどー
そういうことなんですねー

でしたら、買1、買2で発注を掛けるときに、
現物の銘柄が事前に決まっていると思いますので、
売1、売2ロジックでは、その銘柄の価格などを確認しつつ、
決済を掛ければよいと思います!!

例)
A1:買1で発注する銘柄コード
B1:買2で発注する銘柄コード

売1の決済に関する情報(現在値などなど)はA1の銘柄コードを使用し、
売1で決済するときの銘柄もA1を使用する。

売2の決済に関する情報(現在値などなど)はB1の銘柄コードを使用し、
売2で決済するときの銘柄もB1を使用する。



なんか自分がRSSユーザさんの質問の意図を理解できていない感じもしますが(汗
返答になっていますでしょーかー?

2020年06月08日

RSSユーザー

すいません、現物でそれぞれ買1、買2で取得した銘柄はちがうものです。

2020年06月08日

大野 了

こんにちは!!

こちらは複数のストラテジで、
たまたま同一の銘柄を取引した場合、
決済を各々の建玉ごとにされたいということでしょうか?

もしそうでしたら、先物では可能で現物では不可能となります。

先物ではメモ機能があるため、そこにプログラムのIDなどを入れることにより、
その建玉がそのプログラムで建てられたものかわかるのですが、
残念ながら現物の場合、発注後は一つの銘柄に混ざってしまうので判断が付きません。

ですが、1ストラテジ毎の損益はズレてしまいますが、
デイトレで建てたものと、スイングで建てたものをごちゃまぜに決済を掛けても、
複数のストラテジトータルで見た場合は損益が同じになりますので、
最終的な損益が合えばよいのであれば、建玉を気にせず決済しても大丈夫だと思いまっす!!


また、もし複数のストラテジで別々の銘柄だった場合は、
発注時の銘柄をExcelのセルに残したりしておけば、銘柄コードを元に紐付けができると思います!!

2020年06月07日

竹内 誠

注文受付ポップアップについて

キャプチャ.JPG (15.6KB)

お世話になっております。

MARGINORDERで発注後、注文受付のポップアップが表示されるのですが、これを出ないようにしたいです。

引数は以下の通りなのですが、どこかおかしい部分はございますでしょうか。

=MARGINORDER("<銘柄コード>", "", 3, 0, "", 100, "T", 0, 0, 0, 0, "<取引パスワード>", "<発注ID>", "", "", "1", "1", 0, F2)

あと、注文受付ポップアップについての質問なのですが、
このポップアップの「OK」を押さず、ずっと放置した場合って何か問題はありますでしょうか。例えば、その後の注文受付がされないとか、約定されないとか。

どなたかご回答いただけると大変助かります。
どうぞよろしくお願いいたします。

2020年06月04日

大野 了

ですねー
ズレてないか確認するために、数えるのがだいぶ面倒です(笑

なにはともあれ、消えてよかったです!!

2020年06月06日

竹内 誠

大野さんありがとうございます。
うまくいきました!

それにしても、発注系の関数って、やたら引数多いですね。。。

2020年06月06日

大野 了

竹内さん、こんにちは!!

こちらは第10引数の完了メッセージを『1』にして頂くと、
表示されなくなります!!

岡三RSSの設定を自分も変えてみたんですが、
確かにチェック外しててもこの第10引数が0だと、出てしまいますね・・・

2020年06月05日

ただいま蹴上がり特訓中

価格が取得できない

ごく基本的な事なのですが、関数入力ツールで15分足を120本とるための関数で
#N/Aになってしまいます。
ワークシートの再起動など試しましたが改善しません。対処法をご教示ください。

=@fcandle("N225mini","202112","15","","始値",D5,"D","120")

2021年10月26日

大野 了

Takashi Hayataさん、こんにちは!!

解決できましたか!!
お役に立てて幸いです!!

2021年10月26日

Takashi Hayata

大野様

早速解決いたしました。空欄ではダメなのですね。
ご教示頂きましてありがとうございました。

2021年10月26日

大野 了

RSSユーザさん、こんにちは!!

こちらですが、FCANDLEで本数指定したい場合は、
取得期間(第四引数)を"0"で指定してあげる必要があります!!

以下の関数式で取得可能になると思いまーす!!
=@fcandle("N225","202112","15","0","始値",D5,"D","120")

2021年10月26日

RSSユーザー

補足です
関数入力ツールで式を入れております

2021年10月26日

黒犬

注文ルートの確認方法について

お世話になります。

日経miniでデイトレ試行中です。
複数のルートの発注方法で試行していますが意図しない発注が生じています。帰宅後検証するときにルートが分かれば原因を突き止めやすいのですが・・
それぞれの発注ルートごとにメモ引数に名前を入れFOPORDQUERYで表示させるようにしていますがこの表示は引け(ナイト開始?)で消えてしまいます。
なにか方法はないでしょうか?



2020年06月20日

大野 了

黒犬さん

このデータが戻ってくる範囲って、なんか難しいんですが、確か・・・
取得しようとしている期間の一番最後の日にちが1日分返ってこなくなるみたいです。

1日分なら、前日分
5日分なら、5日前の分

が返ってこなくなったと記憶しています・・・(間違っていたらすみません・・・

2020年06月23日

黒犬

大野様

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

行の削除は以前行ってましてRSS起動で復活するので無駄だと思ってました。
記憶間違いしていました。
他の関数(日足は復活した?)と勘違いしていたのかもしれません。
関数行を消さないように気を付けて使わせて頂きます。
有難うございました。

2020年06月23日

大野 了

黒犬さん

ルートの件・・・
何か思いついたら、ここに書きます・・・
ちょっと厳しそうですがー

CANDLEの件は、なるほどそうだったんですねー
理解力不足ですみません・・・

COUNTAで調べるときは、一度朝から出力セルをクリアしてあげる必要があります。
※クリアーされるとあとは増えて行くだけとなります。

もしかしたら前回補足し忘れていたのかもしれません。
申し訳ありません。

対象のセルをクリアするのはマクロを作ってワークブックの起動時にやるのが
手っ取り早いと思いまーす!!


以下サンプルソースを書いてみましたー
VBAEditerの『ThisWorkbook』の中に以下のソースをコピーして頂き

Sheets("Sheet1").Range("A1:F39")

の部分を黒猫さんのExcelシートのFCANDLEの領域に設定して頂くと、
ワークブックを起動時に削除を行うか聞いて来るようになります。
※問答無用で消えてしまいますので、テストの際はファイルのバックアップを取って頂けますと幸いです。


もし、毎回聞いてこられるのが面倒な時は、
If・・・と
End Ifの行を2行消して頂けると毎回、自動で消しに行きます!!

※以下、"="が全角になっています。
==========================================
Private Sub Workbook_Open()
If MsgBox("CANDLEの領域を削除しますか?", vbYesNo + vbQuestion) = vbYes Then
Sheets("Sheet1").Range("A1:F39").ClearContents
End If
End Sub
==========================================

2020年06月22日

大野 了

黒犬さん、お久しぶりです!!

FOPORDQUERYとか、夜間で消えちゃいますよね・・・
せめて前日分ぐらいまで取れるとホント良いんですが・・・

自分はVBAを使っているので、発注毎にログを履くことができるので
何かあった時は ,それを使って調査してるのですが、
セル関数のみだと、そもそものデータが夜間で消えてしまうので厳しいですね・・・

岡三RSSでの解決策ではないですが、
もし各ルートで枚数を変えることができるのであれば、
ネットトレーダーでは取引履歴を過去にさかのぼって見れるので、
そこで発注されている枚数から、誤発注されている各ルートは判断できると思います!!

VBAを使ってログを履くか、各ルートの枚数を変えてみて
後からネットトレーダなどで履歴を確認するか
ぐらいでしょうかー

2020年06月20日

黒犬

大野様

いつも有難うございます。
確かに枚数を変えれば可能ですね。
でも枚数を変えるのは証拠金の問題もありますし、試行段階で8ルートではちょっと・・度胸が・・

相変わらずキャンドルのズレと自らが課した発注制約(決済後の再発注や取消後の再発注や枚数制限等)とルートごとの競合に悩まされています。
VBAで時間指定で別名ファイル保存も試みましたが俄仕込みでは難しいですね。
暫くはナイトでの検証だけにします。
有難うございました。

P.S. 以前COUNTAを使った「取得済」でキャンドルのズレを無くす方法を教わりました。フラグにもオーダー文にも取り入れていますがズレの解消にはなっていないような気がします。キャンドルの取得本数(1日で設定)のMAX値からCOUNTAが変わらないくて落ちてきた数値に書き換えているような気がします。(15分足ですと80がMAXで81にはならない)D5>=E5とD5<=E5が一瞬ですが同時に成立しています。現在時間のウエイトで対処しています。

2020年06月21日

黒犬

大野様

いつも有難うございます。
ルートの確認の件は諦めます。

Candleの件は説明が不十分で申し訳ありませんでした。
15分足は確定足を使用しています。セル番号を固定する為に降順?を使っています。現在足が4行目、確定足が5行目以降となります。
例えば
確定足5行目に22000(始値)、22100(終値)で陰線。
15分後に価格が上昇し22150が終値となりました。
新確定足5行目は22100、22150で陽線となる訳ですが、その時にキャンドル関数の実行順で始値だけが更新され一瞬
22100、22100(更新される前の終値)B5<=C5(陽線否定)のフラグが成立します。次に終値が21150に更新されB5>=C5(陰線否定)のフラグが成立します。
この現象を回避する為にCOUNTA関数を使い両方の値が落ちてきた事を始値列のデータ7数と終値列のデータ数が一致する「取得済」
を使っていました。(以前大野様から提供頂きました)
始値が落ちてきて終値が落ちてきていない状態ではデータ行数が一致しないという事ですが、前日のデータが残っているのでMAX80行(データ取得を1日にしているので15分足では80になります)からスタートしているのでデータ数の差異が発生しません。データ取得の1日を超える81行にはならないという事です。確定足が形成されると行数そのままで5:30が消え、5:15、5:00・・と遡って消えていきます。

文章分かりにくくて恐縮です。補足させて頂きました。

2020年06月22日

大野 了

8つもあるんでしたら確かにすごい枚数になってしまいますね・・・(^^;
ネットトレーダーの履歴でメモがみれたら良いんですけどねー

だいぶ考えたんですが、現物先物以外ではセル関数だけでやるやり方は思いつきませんでした。
現物株だとメモが使えない分、発注番号出力セルというものが追加されたので、
それを駆使するとできそうなのですが、先物にはその機能なくて・・・
FCANDLEなどの誤差系の調査のログの場合、VBAで残す以外は厳しそうです・・・
Excelのセル関数に書き出すって関数があれば良いんですけど・・・



>キャンドルの取得本数(1日で設定)のMAX値からCOUNTAが変わらないくて落ちてきた数値に書き換えているような気がします。(15分足ですと80がMAXで81にはならない)
これは、分足の最新足の動きの話でしょうかー?
※自分の理解力不足でご質問の内容から問題を想像できませんでした・・・
※すみません・・・

もし最新足の動きの話でしたらー

FCANDLEの最新足は、その足が出来上がってから落ちてくるのではなく、
その時間になったら未完成のまま足が作られ、その時間内に更新し続けられて行きます。

例) 15分足を取得した場合・・・
実時間:9:00
現在値:20500
8:45:20000、21000、19000、20500 (完成した足)
9:00:20500、20500、20500、20500 (まだ、15分経ってないのに足が落ちてくる)

実時間:9:01
現在値:21500
8:45:20000、21000、19000、20500 (完成した足)
9:00:20500、21500、20500、21500 (高値が更新されたので最新足の高値と終値更新)

実時間:9:02
現在値:20000
8:45:20000、21000、19000、20500 (完成した足)
9:00:20500、21500、20000、20000 (安値が更新されたので最新足の安値と終値更新)

実時間:9:15
現在値:22000
8:45:20000、21000、19000、20500 (完成した足)
9:00:20500、22000、20000、22000 (完成した足)
9:15:22000、22000、22000、22000 (次の足がもう落ちてくる)

という感じで、最新足は未完成の足が常に更新し続けられていく形になりますので、
FCANDLEの場合、最新足は使用できず、1つ前の足を使う必要があります!!
とはいえ、本来は一つ前の足が使いたい足なので、問題ないと思います。

2020年06月21日

RSSユーザー

おしらせ・メールボックスについてです。

お世話になっております。パソコン画面の下のタスクバーで隠れたインジケーターの岡三RSSの緑色のマークを開くと「おしらせ・メールボックス」という項目があります。この中の日本株 現物買付可能額をエクセルのセルにリアルタイム表示は出来ないでしょうか、VBAだと出来そうに思うのですが! お教えください。

2020年10月16日

完全自動売買を作成したいのですが、買付余力が自動取得できないので断念しております。なんとか自動取得できるようアップグレードされないかなと期待しております。

2021年07月27日

大野 了

ですねー
自分も買付余力が取れれば、先物の枚数計算を自動でできるので、
欲しいなーと思っています。

今後のバージョンアップに期待です!!

2020年10月16日

RSSユーザー

買付余力が表示出来れば、保有株式、資産総額と出せると思ったのですが。。。。残念!    ありがとうございました。

2020年10月16日

大野 了

RSSユーザさん、こんにちは!!

買付可能額ですが、残念ながらVBAを使用しても取得がなかなかに難しいのが現状です。

岡三RSSはマネージド型という作りになっているので、
APIなどを駆使しないと、ダイアログの項目取得ができません。

また、APIを駆使したとしても、ダイアログ自体を表示しないと取得は厳しいと思います。(涙

買い付け余力取りたいですよね・・・
俺も取りたいところです・・・

2020年10月16日

大野 了

Windows11で岡三RSSが動くか試してみましたー

みなさん、こんにちは!!

もうしばらくしたらWindows11がリリースされますがー
自宅のテストPCでWindows11で岡三RSSが正常に動作するか確認してみましたー

いくつか関数をテストしてみたのですが、
結果からするとWindows11でも問題なく動作するようでしたー
※VBAはテストしていませーん

とはいえ、岡三オンライン証券さんの正式なアナウンスではないので
『Windows11に変更してしまったり、Windows11のPCを買ってしまっても、まー多分動く』
ぐらいの感じで受け取ってもらえますとありがたいです(笑

============== テスト環境 ==============
OS:Windows11(ビルド:22000.194)
Excel:office365
===================================

2021年09月26日

ワクワクワーク

VBの利用

いろいろ作成していると、似たような関数をたくさん作る羽目になりバージョン管理が苦痛になってきました。
オブジェクト指向で進めたいのですが、VBAではカプセル化しかできないので、Implemenets宣言の利用も考えましたが、非常に不便な代物なので、諦めました。
VBを利用しようかなと思っています。
しかし、このサイトでオブジェクト指向で検索するとひとつもヒットしないので、これは止めたほうがいいのかなと不安に感じました。
すでにVB利用なさっている方がいらっしゃったら、ぜひ事情を教えてください。
宜しくお願い致します。

2020年07月10日

大野 了

ワクワクワークさん、こんにちは!!

VBというのは、VBAではなく、VB.Netのことでしょうかー?
以下、VB.Netという事で・・・

自分も同じようなことを、
いろいろとやったんですが、最終的にVBAに落ち着いてしまいましたw

自分がやってた時は、C#だったのですが、
COMなどでExcelをコントロールする形ではなく、
VSTOを作ってExcelのアドインとして動かしていました。

自分はシステムトレーダーなので検証のためのバックテストを必ずやるのですが、
まず、C#で作ったシステムでバックテストを行い、
使えそうなロジックが出来たら、
そのまま、そのバックテストのソースコードから、
VSOTにリビルドして、Excelに流し込んでました。

これだと、オブジェクト指向な言語かつ1ソースでバックテストも運用もでき、
運用時はVSTOで低コストでシステムを稼働させることができます。

とはいえ、デバックなどで若干面倒な部分もあり、
最終的には、VBAで頑張って動かすという感じに落ち着きましたw


もしバックテストなどを考えずに、オブジェクト指向言語だけを使用して
生産性を上げるのが目的ならば・・・
以下の方法かなーと思います。

1.メインロジックはVB.Netで作成し、実際の発注は最小限度のVBAを作り
VB.NetからはCOMなどを利用しコントロールする。
※Excelをインターフェースの様に使い、
岡三RSSとのやり取りだけはExcelを経由する感じです。

2.VB.NetでVSTOを作って発注させる。
作るのは若干面倒ですが、こいつが一番安定すると思います。

3.岡三RSSのモジュールを直接叩く
ちょろっと見た感じ、岡三RSSはマネージド型のプログラムの様ですので、
ログインの処理などの仕様が解析できるのであれば、
VB.Netなどから使うには一番良いかもしれません。


VBA・・・
通常の言語に慣れてると面倒ですよね・・・

2020年07月10日

大野 了

あっ、捕捉が出てきた・・・

個人的には、特段、問題は無いと思います。
自分の知り合いも、PythonとRubyから使われている方がいるのと、
逆に、メインはVBAで統計系の計算の部分だけ、Pythonを呼び出す
という方もおられます!!

ここで質問が上がらないのは、
もしかしたら他の言語からRSSを使おうとされる方は、
そのまま気にせずにやられてるだけかもですw

2020年07月10日

大野 了

ワクワクワークさん

>なるほど、ログインの処理などの仕様が解析はやはり避けたほうがよさそうですね😃
仕様を公開して頂けるとありがたいですけどねー(笑


>GPGPUを使われるほどの計算量があるというと、アルゴリズムの最適性を総当たりで計算なさっているのですか?
はい、自分は2段階でやってまして―
ひとつひとつのストラテジの最適性はほぼ総当たり
最終的なストラテジの組み合わせは、遺伝的アルゴリズムやニュートン法などの数理最適化を行って出しています。
ストラテジも増えてきたので、終わるの待ってると眠くなっちゃうので、
数秒で結果が返ってほしいなーと・・・(笑

遺伝的アルゴリズムやニュートン法で、もし大域的最適解がたまたま引けたとしても
それ自体がカーブフィッティングしてる可能性もあるので、
結果が局所か大域かという以前に、自分はどうしても周辺領域の結果が欲しくなります。


>お話を踏まえて、私は、とりあえず出来合いのバックテスト処理系に先物データを流し込んで、そのバックテスト処理系の言語でシミュレーションをして、素性のいいアルゴリズムをVBAで書き直そうと思います。
自分も最終的に同じような流れでやってます(笑


>VBAのクラスモジュールの範囲内でも、継承が使えないことを逆手にとって、多様性(ポリモーフィズム)について工夫する余地がありそうです。
VBAのクラスは名前が紛らわしいのですが、
オブジェクト指向で言うところのクラスとは違い、
元来はCOMインターフェースなどのためにあるクラスっぽいので、
オブジェクト指向でいうクラス的なことはあきらめたが良いかもしれません!!
それでも、もうちょっと使いやすいと良いんですけどねー


>私も、以前は皆さんご存じの遺伝的アルゴリズムや強化学習をはじめとしていろいろ試してみました。
>しかし、しょせん局所最適解ですし、大域的な傾向もわからないから、無意味だと悟りました。
>DLは局所性にはより頑健ですが、結果がブラックボックス(正確に言うと人間に結果の直観的理解ができない)でしかももはや(Pythonライブラリなどの形で)コモディティであるので、やはり使う気になれません。
そうなんですよねー
DLしかりRNNしかり、はじき出された計算式が人間的に納得できない事も多く・・・
まーそんなこと気にすることが間違いなんでしょうけど・・・(笑

過学習させちゃうことも多々あり、未だに実践投入できるようなものが出来ていません(笑

2020年07月12日

ワクワクワーク

貴重な体験を披露いただき、興味深いお話を伺え、大変参考になりました。
本当にありがとうございます。

なるほど、ログインの処理などの仕様が解析はやはり避けたほうがよさそうですね😃

バックテスト(シミュレーシ)処理系をご自分でC#で用意なさっているのですね。
GPGPUを使われるほどの計算量があるというと、アルゴリズムの最適性を総当たりで計算なさっているのですか?
実際、それが確実かもしれませんね。

お話を踏まえて、私は、とりあえず出来合いのバックテスト処理系に先物データを流し込んで、そのバックテスト処理系の言語でシミュレーションをして、素性のいいアルゴリズムをVBAで書き直そうと思います。
アナログな方法ですが、アルゴリズムさえ決まれば、その実装コーディング自体は簡単ですから、そのほうがアルゴリズムのコードを書き直す手間だけで済み、かえって簡単そうです。
その後再考したのですが、VBAのクラスモジュールの範囲内でも、継承が使えないことを逆手にとって、多様性(ポリモーフィズム)について工夫する余地がありそうです。
それなら、岡三RSSの謎なデータ構造を解析する努力よりも、簡単な気がします (笑)

というのも、私は割と単純な取引アルゴリズムで勝負したいからです。

私も、以前は皆さんご存じの遺伝的アルゴリズムや強化学習をはじめとしていろいろ試してみました。
しかし、しょせん局所最適解ですし、大域的な傾向もわからないから、無意味だと悟りました。
そのような手法で組合せ探索的によいアルゴリズムを調べようとしても、しばしばカーブフィッティング(つまり非大域的な局所最適解)に陥るだけのように感じます。
総当たりには勝てません。

DLは局所性にはより頑健ですが、結果がブラックボックス(正確に言うと人間に結果の直観的理解ができない)でしかももはや(Pythonライブラリなどの形で)コモディティであるので、やはり使う気になれません。
ライブラリの豊富さ(とハードウェアの速さ)を追求するなら、クラウドサービスを使うのもいいかもしれませんが、上記の理由からあまり考えていないです💦

2020年07月12日

ワクワクワーク

補足です。
結局、VBからRSSの関数を呼び出すだけなのですから、特に問題はないように思うのですが、ような議論が今までないということは、何か重要な問題があるのかなと推測しています。
杞憂ならいいのですが,、、

2020年07月10日

大野 了

はい、連動という感じだと少し異なりますが、
RSSでデータをとってきて、
それをC#側でバックテストするシステムを作っています。
VBAでもできないことはないのですが、遅すぎて・・・

今はマルチスレッドでやってるんですが、GPGPUでやれるように変更してるところです!!

2020年07月11日

大野 了

>どちらのバグかの切り分けの問題ですか?
もう、数年も前の話なので、
もしかすると今は違うかも&俺のやり方が悪かっただけかもしれませんが、
自分がやってた時は、VSTOのアプリでVBA側のデバッグ自体が出来なくて、
ログとか埋め込みながらやってたのですが、途中で面倒になって・・・
『そんなことより、ロジックをもっと作らなきゃ』
とそっちに注力してたら、面倒になってしまいました(笑


>大野さんご自身は、ログインの処理などの仕様が解析はいかがでしたか?
>お差支えなければ、できたかどうかだけでも教えていただけると、ありがたいです。
作ろうと思ったのが、岡三RSSがVer1の頃で今の岡三RSSとは大きく違うのであれですが、
正確な結果だけ言うと『挫折するよりも前に、途中で止めた』という感じになります(笑

VSで読み込むだけでメソッドなどは見ることが出来て、
名前から大体の動きは予想できます。
ただ・・・
メソッドを使う順序とか戻ってくるオブジェクトの中身の解析とか
そこらへんはトライ&エラーで調査しないといけない感じです。
エラー時の処理とかまで考えた時は、
意外と時間が掛かりそうで、妄想で不安定なシステムを作るよりも、
VSTOで作れば安全でいつも使ってる言語でできるやん・・・
という感じで終わりました。

トライ&エラーやってる時に、もし相手側のシステムに影響を与えてしまった場合は
目も当てられないですし・・・

2020年07月11日

ワクワクワーク

>自分はシステムトレーダーなので検証のためのバックテストを必ずやるのですが、

バックテストのことも教えていただきありがとうございます。

RSSにはMT4のようなバックテスト環境はないので、ご自分でRSSと連動したバックテスト環境を作っていらっしゃるのですか?

頭が下がります。素晴らしいですね。

2020年07月10日

ワクワクワーク

大野さん

なるほどVBAに落ち着かれたのですね。

>とはいえ、デバックなどで若干面倒な部分もあり、
最終的には、VBAで頑張って動かすという感じに落ち着きましたw

なんとなくわかるような(笑)
どちらのバグかの切り分けの問題ですか?

>3.岡三RSSのモジュールを直接叩く

確かに、ログインの処理などの仕様が解析できるのであれば、
これが一番簡単そうですが、その部分のハードル高そうですね。
大野さんご自身は、ログインの処理などの仕様が解析はいかがでしたか?
お差支えなければ、できたかどうかだけでも教えていただけると、ありがたいです。

2020年07月10日

黒犬

FOPPOSITION関数の表示順について

いつもお世話になります。

QAでFOPPOSITION関数のソート順の回答記載がありました。
同一銘柄で
1. 9:00 買
2. 10:00 売
3. 11:00 買
のポジションの場合、表示開始セルに2、次の行に1、その次の行に3という解釈で宜しいのでしょうか?
又、関数最後の引数はゼロにしていますが、注文毎、建単価毎、売買毎という引数も有るようですが、これはソートに影響するのでしょうか?

2020年07月11日

大野 了

黒犬さん、こんにちは!!


自分もこんなに細かくはわからないので、ありがたい限りですねー

ちなみに怪現象とは、どんな感じでしょうか?
見覚えのない、建玉番号が鏡に映つるとか・・・(笑

そんな感じでしょうか?

何か自分でわかることがあればー

2020年07月16日

岡三オンライン証券

FOPPOSITION_グループ化表示例.xlsx (20.5KB)

いつもご利用いただき、誠にありがとうございます。

関数最後の引数の件ですが、下記をご確認ください。


※FOPPOSITION の第3引数 建玉の表示単位
 0:グループ化なし、1:建日・建単価毎、2:注文毎、3:建単価毎、4:売買毎

「1:建日・建単価毎」、「2:注文毎」、「3:建単価毎」の場合、
同一商品に限り、各明細をそれぞれの単位(注文毎など)で1明細にグループ化し、サマリー表示します。
サマリー表示した建玉一覧の表示順は「0:グループ化なし」で先に表示したものから順に表示されます。

例として、「0:グループ化なし」「3:建単価毎」の場合の表示例を添付いたします。
□添付内容
 1. FOPPOSITION_グループ化表示例.xlsx (Excel形式)

「0 - グループ化なし」シートの22~29行目の建玉が「3 - 建単価毎」の21~23行目に集約されていますが、
並び順は「0 - グループ化なし」で先に表示した 25,972円 から表示されています。

・建日・建単価毎:上位に出現した(建日・建単価) から順に表示
・建単価毎:上位に出現した建単価から順に表示
・注文毎:上位に出現した注文IDから順に表示

また「4:売買毎」ですが、商品1つにつき1行の表示のためソートに影響しません。


どうぞ、よろしくお願いいたします。

2020年07月16日

黒犬

有難うございました。

公式サイトからも回答がありましたね。

私もコメントを利用してINDEXとMATCHを駆使して注文番号、建玉番号を紐づけ出来ているのですが、時々相変わらず怪現象が・・

2020年07月16日

岡三オンライン証券

いつもご利用いただき、誠にありがとうございます。

FOPPOSITIONの順序は以下のソートキーとなります。

・第1ソートキー:商品種別
 出てくる商品の順番
  日経225先物
  日経225mini
  日経225OP
  TOPIX先物
  ミニTOPIX先物
  TOPIXOP
  TOPIX Core30先物
  日経平均VI先物
  JPX日経インデックス400先物
  東証マザーズ指数先物
  東証REIT指数先物
  NYダウ先物
・第2ソートキー:限月 (昇順)
・第3ソートキー:コールプット区分 (コールが先) (オプションのときに適用)
・第4ソートキー:権利行使価格 (昇順) (オプションのときに適用)
・第5ソートキー:売買区分 (買が先)
・第6ソートキー:建玉番号 (昇順)

どうぞ、よろしくお願いいたします。

2020年07月15日

大野 了

黒犬さん

ポジションを持って調べてみましたー

多分ソート順は・・・

1.銘柄(N225ラージ、N225ミニ、Topixラージ、Topixミニの順)
2.売買区分(買い、売りの順)
3.約定日時(昇順)

のようです!!

2020年07月15日

黒犬

少し解釈が違っていました。

一行目に2番目約定買
二行目に1番目約定売
三行目に3番目約定(最新)の売

の順になっています。

買が優先になっているのか、若しくは売、買はみていないのかもしれません。同じ売、買の中では昇順(?)でソートしているようです。

2020年07月15日

大野 了

黒犬さん、お久しぶりです!!

自分もQA見ましたー
今、ポジションが作れないので正確な確認はできなのですが、
自分が今持ってるポジションだけで言うと、
黒犬さんが言われてるソート順で返ってきそうですね・・・

ずーと建玉番号順で返ってくるもんだと思ってました。
俺も勉強になりました、ありがとうございます。

確かにグルーピング掛けると約定日時とかどうなるんだろう・・・

2020年07月11日

大野 了

なるほどー

約定順の降順が前提に・・・
ってことだったんですね・・・

自分が決済対象の建玉を指定するときは、
発注毎にメモを変えて発注し
そのメモを頼りに、FOPPOSITIONの結果を全部回して、
対象の銘柄と建玉番号を探し出して、決済掛けてます!!

確かにポジションが約定時間毎に変えってくると、
順序良くやる場合は、一番上とか、一番下を取れば良いので
だいぶ便利そうですね。

2020年07月12日

黒犬

大野様

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

私も?3-2-1の順だと思っていました。

決済方法をocoじゃなく変動決済ラインを採用しているので決済ラインを形成する建玉と決済建玉が合わずにマイナス5円で利確決済する事もありました。
ソートされているとは・・・まさかですね。

2020年07月12日

RSSユーザー

エクセルのセルの値の更新回数カウント方法

お世話になっております。以上のマクロ(eventではなくcaluculateで)教えください。a1:a10までをb1:b10まで反映する

2020年07月24日

RSSユーザー

範囲をA1:A20にする場合、

「Private PreData(19) As String '←ここは、A1~A20の個数 -1 を入れてください。

'データ退避
For Each TargetRange In Range("A1:A20") 」

にすればよいですね。

本当にありがとうございました。

2020年07月24日

大野 了

はい!!

RSSユーザさんのおっしゃられます通りとなりまーす。

これでうまく行くことを祈ります!!

2020年07月24日

大野 了

なるほど!!

RSSユーザさんのおっしゃられます通り、
A1~A10セルが岡三RSSの出力セルですと、値が入ってもChangeイベントが発生しません!!

Calculateイベントだと大丈夫です。
上手く行くことを祈ります!!

2020年07月24日

RSSユーザー

すみません、ChangeイベントだとQUOTE関数の株価の式が入ったセル値の更新回数カウントとか表示しないと思われるからです(今日は閉場日なので信号がなく検証できませんが)

2020年07月24日

大野 了

加算.xlsx (15.7KB)

こんにちは!!

Changeイベントでではなくて、Caluculateイベントと言う事ですねー
Caluculateイベントだと、だいぶ複雑になってしまいますが、
以下の通りです!!

ソースへの組み込みはRSSユーザさんからご提示頂いた
①コード全体をコピー。
②該当シートの見出しを右クリック。
・・・・・
と同じ流れで大丈夫でーす。

一応、作ったサンプルファイルをアップロードします。
Download後、拡張子をxlsmに変更すると動きます。

========================
Option Explicit
Private PreData(9) As String '←ここは、A1~A10の個数 -1 を入れてください。

Private Sub Worksheet_Calculate()
Dim TargetRange As Range
Dim Index As Integer
Dim CntCell As Range


Index = 0

'データ退避
For Each TargetRange In Range("A1:A10")
'現在値と前回の値との比較
If PreData(Index) <> TargetRange.Value Then
Set CntCell = Cells(TargetRange.Cells.Row, TargetRange.Cells.Column + 1)

'加算
CntCell = CntCell + 1

'現在のデータ退避
PreData(Index) = TargetRange.Value
End If

Index = Index + 1
Next TargetRange

End Sub
========================
※掲示板でエラーになるため『=』を全角にしてあります

また、ご提示頂きましたChangeイベントのソースですが
自分の方では問題なく動きましたので、大丈夫だと思います。
どの様なエラーが発生しますでしょうかー?

また、ご不明な点がありましたら返信いただけますと幸いです!!

2020年07月24日

RSSユーザー

すみません。以上が参照していただく文です。

2020年07月24日

RSSユーザー

ベストアンサーに選ばれた回答
プロフィール画像

him********さん 2015/1/2710:38:58
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) <> "A1" Then Exit Sub
Range("B1") = Range("B1") + 1
End Sub

①コード全体をコピー。
②該当シートの見出しを右クリック。
③ショートカットメニューから「コードの表示」選択。
④真っ白で空白なコードウインドウの場所に貼り付け。
⑤右上の「×」でVBE画面を閉じる。
⑥シート上で操作してみてください!

2020年07月24日

RSSユーザー

すみません。参照してもらうプログラム文をコピーするとエラーが出てしまいます。

2020年07月24日

RSSユーザー

すみません。event→changeの間違えです

2020年07月24日

ざき

先物注文時の建玉番号、取得方法について

初めまして、ざきと申します。
お世話になっております。

さっそく本題なのですが、
先物で建玉番号、建玉枝番号で建玉を指定し、
決算注文を行う場合、
「FOPPOSITION.建玉番号、建玉枝番号」を参照することは、
分かっているのですが、
問題点としましては、
----------
①「FOPPOSITION.建玉番号、建玉枝番号」に「-」が設定されている。
②更新しても、上記の内容は更新されない。
----------
になります。

新規注文(FNEWORDER)時には、「建玉番号:""」、「建玉枝番号:"1"」を設定しています。

回答の程、よろしくおねがいいたいします。

2021年01月15日

大野 了

おかざきさん

ご参考になっているのであれば幸いです!!

建玉番号取得できたならよかったです!!
注文ごとでも、1つの新規発注注文に対して、
注文形式によっては、まれに複数の建玉に分かれてしまうことがあるため、
出ないようになっているのではないかと・・・

②の件も了解しましたー!!

なにはともあれ、お役に立てたようでよかったです!!

2021年01月15日

ざき

大野さん
いつもお世話になっております。
広場での回答、いつも参考にさせていただいております。

>こちらは、FOPPOSITIONの表示単位(第三引数)が、0(指定なし)以外が設定されておりませんでしょうか?
→ご指摘通り、0以外が設定されていました。
 注文毎のグルーピングでも表示されないのですね。。。
 0に修正後、想定通り取得できました。

>こちらは
『建玉をネットトレーダーなどで決済を掛けても、FOPPOSITIONの出力結果が更新されない』
という事になりますでしょうか?
→こちらに関しては、「-」と表示されることが初期表示かと思ったので、更新しても変わりませんでしたと記載しました。

①の疑問が解決したため、②の疑問は取り下げます。

迅速な回答ありがとうございました。

2021年01月15日

おかざき りょうへい

大野さん
いつもお世話になっております。
広場での回答、いつも参考にさせていただいております。

>こちらは、FOPPOSITIONの表示単位(第三引数)が、0(指定なし)以外が設定されておりませんでしょうか?
→ご指摘通り、0以外が設定されていました。
 注文毎のグルーピングでも表示されないのですね。。。
 0に修正後、想定通り取得できました。

>こちらは
『建玉をネットトレーダーなどで決済を掛けても、FOPPOSITIONの出力結果が更新されない』
という事になりますでしょうか?
→こちらに関しては、「-」と表示されることが初期表示かと思ったので、更新しても変わりませんでしたと記載しました。

①の疑問が解決したため、②の疑問は取り下げます。

迅速な回答ありがとうございました。

2021年01月15日

大野 了

ざきさん、こんにちは!!

>①「FOPPOSITION.建玉番号、建玉枝番号」に「-」が設定されている。
こちらは、FOPPOSITIONの表示単位(第三引数)が、0(指定なし)以外が設定されておりませんでしょうか?
表示単位が0(指定なし)以外を選ぶと、その単位でグルーピングされたポジションの表示となり、
個別の建玉番号がわからなくなるため"-"表示となります。


>②更新しても、上記の内容は更新されない。
こちらは
『建玉をネットトレーダーなどで決済を掛けても、FOPPOSITIONの出力結果が更新されない』
という事になりますでしょうか?

そうであれば、
もしかすると表示開始セルと、FOPPOSITIONのセル関数が書いてあるセルが重なっていて、
FOPPOSITIONのポジションデータで、関数式を塗りつぶしているのかもしれません。

FOPPOSITIONなどを使用する場合は、
A1セルにFOPPOSITIONの関数式を書いて頂き
表示開始セルを、関数式の下のA2などにして、
元々のFOPPOSITIONを塗り潰さない形にすると、リアルタイムで更新がかかり続けます!!

2021年01月15日

職人さん

ログアウトできません

初歩的な質問ですいません。
パソコンを変えたらRSSのログアウト方法がわからなくなってしまいました。
windows10ですが、以前はRSSを起動するとタスクバーのところにRSSのアイコンが
表示され再ログインやログオフが簡単だったのですが、
新しいパソコンはタスクバーにアイコンが表示されないです。
タスクバーに表示されなくてもよいのでログオフの方法教えてください。

2021年10月05日

大野 了

職人さん、こんにちは!!

おぉぉぉぉぉ!!!
直りましたか!!よかったです!!

確かにログインしっぱなしだと、VBAエディタで割り込みが入ってイライラしますね・・・w

なにはともあれ、お役に立てて幸いです!

2021年10月08日

職人さん

大野さん

ありがとうございました!
上記ご教示の5でログアウトできるようになりました!

ログアウトしないとVBAのエディタが使いづらいので助かります。
ありがとうございました。

2021年10月08日

大野 了

職人さん、こんにちは!!

プリントスクリーンありがとーございます!!
よく見たら、通知領域(∧のアイコン)自体が出てないみたいですねー

以下の事を試してみて頂けますでしょうかー?

〇常にすべてのアイコンを通知領域に表示するを、オンとオフを切り替えてみる
1.『設定』を開く(Windowsキー + I)
2.『個人用設定』を開く
3.左のメニューで『タスクバー』選択
4.『タスクバーに表示するアイコンを選択します』をクリック
5.一番上の『常にすべてのアイコンを通知領域に表示する』をオンとオフを切り替えてみる

〇WindowsUpdateを掛ける
少し前のバージョンアップで通知領域が壊れてしまう不具合があったみたいなので
もしWindowsUpdateを掛けられていない場合は、かけてみて頂けますでしょうか?


また、もしwindowsUpdateを掛けても改善しない場合は、下記のサイトの復旧手順を試して頂けますでしょうかー
https://www.nichepcgamer.com/archives/windowsupdate-kb5003214-taskbar-break-problem.html

これで直ると良いのですがー

2021年10月07日

大野 了

職人さん、こんにちは!!

解決できませんでしたかー
インジケータから外れてるだけかと思ったんですがー
原因がなんか違いそうですねー

プリントスクリーンお待ちしてます!!

2021年10月07日

大野 了

職人さん、こんにちは!!

多分、タスクバーのインジケータの表示から外れてしまっているのだと思われます!!

1.『設定』を開く(Windowsキー + I)
2.『個人用設定』を開く
3.左のメニューで『タスクバー』選択
4.『タスクバーに表示するアイコンを選択します』をクリック
5.岡三RSSがオフになっていると思いますので、これをオンにする

これで常にタスクバーの前面に出てくると思います!!

これで解決できるといいのですがー

2021年10月05日

職人さん

大野さん
早々のご回答ありがとうございます。
結論からいうと解決しませんでした。
岡三RSSはオフでした、ONにしましたが現象変わらずです。
取り急ぎご確認のお礼です。
後ほどプリントスクリーン添付します

2021年10月06日

職人さん

ログオフできないパソコンの表示.png (44.0KB)

こちらはログアウトできないパソコンの画面で
普通のWindowsパソコンなのですが
ログオフできるパソコンにあった位置にはアイコンがなく
(添付ファイル)、
画面下の中央にRSSのアイコンはあるのですが、
右クリックしても
・ピンに止める
・設定
などしか表示されずログアウトできません。

左クリックは一番最初にログインするときの
小窓が一瞬表示されて何も変化がありません。

ちなみにログインしていない時にこのアイコンを
左クリックするとログイン画面が表示されます。

これだけの情報しかありませんが何かわかったらご教示お願いします。
お手数おかけ致して申し訳ございません。

2021年10月07日

職人さん

ログオフできるパソコン.png (86.8KB)

大野さん
お手数おかけしてすいません
ファイルが一つづつしかアップできないようなので2回に分けますね。
この画面はMacのBootCampという機能でWindowsをインストールして
RSSを動かしていた時のエクセルの画面で添付ファイルの位置のアイコンを右クリックしてログアウトできてました。

2021年10月07日

RSSユーザー

ローソク足を描画するマクロの作り方

岡三RSSの初心者です。Candle_Mを使って、好きな時刻に、更新ボタンを押して好きな銘柄の株価のローソク足を描画させるマクロを作りたいのですが、どなたか方法をご存知の方、教えていただければ幸いです。サンプル(チャートの描画方法)をダウンロードしてヒントを探しましたが、判りませんでした。

2021年07月25日

大野 了

RSSユーザさん、こんにちは!!

うまくいきましたかー
お役に立てて幸いです!!

2021年07月26日

RSSユーザー

大野様へ
最初紹介して頂いたサイトに行き、サンプルファイルをダウンロードして、数時間いじり回した結果、簡単にチャートを描かせることができる様になりました。これで簡単に描画用マクロを作ることができます。大変ありがとうございました。

2021年07月26日

大野 了

RSSユーザーさん、こんばんは!!

こちらのご質問ですが、
ローソク足のチャートをVBAで1から作りたいという事になりますでしょうか?
それともチャートは事前に手動で作成しておいて、指定した時間に更新ボタンを押したいという事になりますでしょうか?

>ローソク足のチャートをVBAで1から作りたい
他のサイトのリンクで大変申し訳ないのですが、
http://fanblogs.jp/vbafan/archive/1/0
こちらのサイトが簡潔に書かれているので、参考になるかと思います!!


>指定した時間に更新ボタンを押したい
他の方からご質問頂きました内容へのリンクで大変申し訳ないのですが、
こちらのやり方で指定した時間に更新ボタンを押下させることができます!!

https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=456#comment_2558


もしローソク足のチャートの作り方がご不明でしたら
こちらのサイトに簡潔にまとめられています!!
https://www.petitmonte.com/excel/excel_basicoperation_al_16.html

こちらのサイトの、事前準備と書かれている元データをCandle_Mの出力で出力したデータにすれば
大丈夫と思います!!

2021年07月25日

RSSユーザー

デイトレとスィングトレの両方を実行。

お世話になっております。タイトルどおり、デイトレとスィングトレの両方を一つのエクセルファイルでこなしたいのですが、ポジションを持った時、この銘柄がデイトレ(当日)で売りかスィングトレ(当日~数日)で売りかの判別をさせるいい方法はないでしょうか、お教えください。買い基準1で買ったらポジション関数の銘柄コードの脇にD(デイ)の表示、買い基準2で買ったらS(スィング)表示とかできるといいのですが。

2021年06月16日

大野 了

RSSユーザさん、こんにちは!!

ご質問の件ですが、こちらは株式になりますでしょうか?それとも先物になりますでしょうか?

先物の場合、第16引数にメモという欄がありますので、
こちらに"D"などとメモを入れて発注すると
FPOSITION関数でポジションを取る際にメモ欄の内容として"D"と帰ってきますので
こちらを元に判断をすることができます。

現物株の場合ですと、メモ欄の機能がないため、
残念ながら、注文とポジションを結びつける機能がないため、
注文に対するポジションの判断が付かないのが現状です・・・

2021年06月16日

RSSユーザー

現物株のトレードです。ここにもメモ機能が追加されるといいですね。ありがとうございました!

2021年06月17日

大野 了

現物株でしたか・・・

だとすると少し厳しいですねー
何かしら方法を思い付いたら、自分もここに書きますねー

2021年06月17日

上野

指数平滑移動平均(EMA)に関して

始めまして。上野と申します。
約半年前より岡三RSSを使用し、日々試行錯誤しながらスクリーニングシートを作成しております。
単純移動平均、ボリンジャーバンド、RSI、RCIなどはエクセルの関数で設定できましたが、
どうしても指数平滑移動平均だけ、岡三オンライン証券の数値と合いません。

どなたか、計算式の考え方、もしくはサンプル等を用いてご教授頂けませんでしょうか?
よろしくお願いいたします。

2021年06月08日

大野 了

上野さん、こんにちはー

何一つお役には立てませんでしたが、
差分をなくすことができてよかったです!!

2021年07月05日

上野

大野様

再度のコメントありがとうございます。
EMA25日を計算する為に、過去100日分の終値データから計算していましたが、200日に伸ばし、小数点第3位を四捨五入した所、ほぼびったり合いました!

これは定かではありませんが、概ね、n日の8倍以上の日数(EMA5日を求めるなら40日分以上、EMA25日を求めるなら200日分以上)で計算すれば、各証券会社のツールに表示されているEMAの数値に合うのかも知れません。あくまで憶測ですが…

これでMACDの計算に進めます。

ご丁寧にコメントして下さりありがとうございました!

また分からないことがあれば、こちらの掲示板を活用させて頂きます!

2021年07月05日

大野 了

上野さん、こんにちはー

>どなたか、正確なEMA、MACDの算出、もしくはデータ取得方法をご存じの方はいらっしゃいますでしょうか…?
自分の知ってる範囲では・・・

〇n日のEMA

n日前:n日前からn日間の終値の平均
n日前以外:前日のEMA + (2/(n+1)) * (その日の終値 - 前日のEMA)

〇MACD
EMAを短期と長期を二つ出して、短期EMA - 長期EMAとなります!!


興味があったので少し試してみたのですが、
結果から申しますと、ネットトレーダーが出力するEMAとは"ほぼ"同じ値は算出することが出来ましたー
※小数点第三位以下が若干ずれる。

ですが、出ることは確かに出せたのですが、
普通のEMAの計算方法では値が合わず、
n日前(初日の部分)も、他の日にちと同様に『前日のEMAと平滑定数を使う』形にしたところ値が合いました!!

2021年07月03日

上野

大野様

早速コメント下さったのに、私のコメントが非常に遅くなり大変失礼しました。
誠に申し訳ございません。
また、EMAの計算式のサイトを教えて下さりありがとうございました!

他のサイトでもそうですが、EMAを算出するには、どうしても前日EMAが必要になってきます。
その前日EMAを算出するには、まずSMAを求めますが…
詰まるとこ上場初日の終値からずーっと遡って計算しない限り、
岡三オンライン証券や他の証券会社のツールで表示している値にはならないのかもしれません…

試しにEMA5日を求めるため、100日前の終値から計算してみましたが、
0.1%未満の誤差レベルまで近づけましたがピッタリは合わず…
計算方法が違うのか、算出期間が違うのか、小数点以下の切り捨てなどの調整が必要なのか…
EMAを基にMACDの計算も視野に入れていましたが、数値に誤差があるまま進めようと思います…

どなたか、正確なEMA、MACDの算出、もしくはデータ取得方法をご存じの方はいらっしゃいますでしょうか…?

2021年07月02日

大野 了

上野さん、こんにちは!!

EMAの計算式に関してですが、
岡三オンライン証券さんのEMAの計算式の正確なところまではわかりませんが、
岡三オンライン証券さんのサイト内にまとまっているサイトがあります。

多分、岡三オンライン証券さんが算出されているEMAの計算式は
このサイト内のEMAの計算式だと思われます!

https://trade.okasan-online.rich-direct.jp/chart_help/frame.html
※こちらのサイトのロウソク足ページの下の方にある『3.移動平均線分析』の中にあるようです。

2021年06月08日

よしお

先物取引で一部約定がある注文の変更について

先物取引で一部約定がある注文が、損切りにひかかった場合に成り行きに変更したいと考えております。
一部約定がある注文でも、FREPLACEORDERで変更ができますか。
それとも一度キャンセルが必要となりますか。

なかなか一部約定が発生させることができませんでしたので、質問させていただきます。
何卒宜しくお願い致します。

2021年04月03日

大野 了

よしおさん、こんにちは!!

ご質問の内容としましては・・・

1.3枚指値(FAS)で発注
2.1枚だけ約定
3.2枚の発注が場に残る
4.約定した1枚が、損切になる
5.残ってる2枚の指値を成行に変更したい。

という事でしょうかー?

上記の内容でしたら、
確かそもそも指値注文から成行注文には変更できないため、
指値の価格を値幅制限まで変更し(最大指値と同じにする)成行と同じような動きにする必要があります。

んで、確か指値価格の変更は、一部約定してる注文でもできたと思います!!

とはいえ、自分も部分約定することが少なく記憶が微妙ですが・・・
確かできた気がします。

2021年04月03日

大野 了

よしおさん、こんにちは!!

多分、大丈夫だったと思うのですが、
もし、変更できなかったら申し訳ありません。

分割で決済掛けるときに指値価格を変えることができるという事は、
100%の自信があるのですが・・・

2021年04月04日

よしお

大野 了さん

回答ありがとうございます。
想定は大野さんが書かれた1から5のことです。

はい、その場合は最大指値に変更いたします。
どうもありがとうございました。

2021年04月03日

岡三オンライン証券

岡三RSS質問掲示板への投稿時の認証方法変更のお知らせ

2021年11月10日(水)に、質問掲示板「岡三RSS集いの広場」にコメント投稿を行う際の認証方法が変更されます。

【変更前】
Facebookアカウントによる認証



【変更後】
証券総合取引口座の口座番号と、当社にご登録のメールアドレスによる認証


詳細は下記URLよりご確認ください。

岡三RSS質問掲示板への投稿時の認証方法変更のお知らせ
https://www.okasan-online.co.jp/information/2021/1108a/

2021年11月08日

ぐっさん3

N225miniでは動く決済ロジックがDOWでは動かない

ダウ売買ロジック.PNG (18.9KB)

どなたかアドバイスを頂けないでしょうか。
N225ミニ用に作った決済マクロでダウ先物を取引しようとしたところ、新規買いは問題なく動作するのですが、決済売りが動作せず以下のメッセージが表示されます。
発注のセルが1になるとその前部分を読み取って動く関数です。
"指定された建玉情報の建玉数量が、実際の建玉情報の数量より多いため注文を受け付けできません"
保有数は1つで決済注文も1つだと思うのですが。。。
N225miniとダウ先物で決済注文方法に差異があるのでしょうか?

2021年11月22日

大野 了

ぐっさん3さん、こんにちは!!

自分もたまにあります・・・(笑
記号とかが大文字になってしまっておかしくなってしまったりとか・・・

なにはともあれ、うまく行ったとのことでよかったです!!

2021年11月24日

大野 了

ぐっさん3さん、こんにちは!!

なるほどー
67行目を新規にすると正常に動作するのであれば、引数等の指定は問題なさそうですね・・・

もし、N225miniに変更しても動かないのであれば、
決済のロジックの呼び出し関数に何か問題があるかもしれませんので、
関数周りの情報もいただけますと、もう少し何かわかるかもしれません!!

2021年11月23日

ぐっさん3

大野さんありがとうございます。
63の新規買いは問題なく動作して決済売りの67が動くとエラーメッセージが表示されます。
また67の取引種別と売買区分を63と同様にすると新規買いとして正常動作してしまいます。

>こちらは、63と67を『N225mini』とすると正常に動作して『DOW』とすると動かなくなる感じでしょうか?

ロジック自体がコピーなのでN225miniにするテストはしていませんでした。
完全に盲点でしたのでN225miniでテストしてみます。

2021年11月22日

大野 了

ぐっさん3さん、こんにちは!!

んー
DOWは発注したことないですが、頂いた画像だけ見ると
問題なさそうですね・・・
こちらは、63と67を『N225mini』とすると正常に動作して『DOW』とすると動かなくなる感じでしょうか?

2021年11月22日

ぐっさん3

すみません解決しました。
まずDOWをN225miniに変えてみましたら同様のエラーが発生してしまいました。
ですのでDOW起因ではないとみて他の原因を探していましたが見つからず、最終手段としてコピペ部分を一から手打ちした所、想定した動作するようになりました。
バグの原因は不明ですが、手打ちで治ったという事で見えない全角か何かが隠れていた?のかもしれません。
大野さんアドバイスありがとうございました。

2021年11月23日

RSSユーザー

岡三RSSのログイン数についてです。

お世話になっております。ログイン数についてですが、個人の場合2台までのPCにそれぞれログインが可能ですが、これをあと2台ログイン数を増やそうする場合(合計PC4台)、法人名義で別口座を作れば可能でしょうか。(会社を設立しなければなりませんか)。お教えください。

2020年08月03日

RSSユーザー

早速のご返答ありがとうございました。

2020年08月04日

岡三オンライン証券

いつも岡三RSSをご利用いただき、誠にありがとうございます。

早速ですが、ご質問にお答えさせていただきます。

岡三RSSは1口座につき2台までの同時ログインが可能となっております。

そのため、ご認識のように法人名義で別口座を開設いただければ、2口座合計4台までの同時ログインが可能となります。
ただし、取引にご利用される際には、別口座であることからも注意が必要かと思われます。

また、法人口座の開設には基準がございます。
下記より詳細をご確認いただき、口座開設をご検討いただければ幸いです。

https://www.okasan-online.co.jp/support/account/

2020年08月04日

RSSユーザー

エクセルファイルを開くスクリプトです。

お世話になっております。初心者です。デスクトップに保存してあるエクセルファイル、ファイル名「RSS2019(1)」を朝7:30分に開くスクリプトを教えてください。UWSCを使ってます。時間はUWSCにタイマー設定があるので大丈夫みたいです。よろしくお願いします。

2020年07月31日

大野 了

開けゴマ!!(笑
呼ばれて飛び出てジャジャジャジャーン!!


RSSユーザさん、ありがとうございます。

原因がわかりました。

やはりExcelのパスが若干異なっているようです。
Windows64bit、Excel2016(32bit) もしくはoffice365を使用されていると思います。

頂いたファイルのパスは
"C:\Program Files(x86)\Microsoft Office\root\Office16\EXCEL.EXE"
となっておりますが、
正確なパスは
"C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE"

"Program Files"と "(x86)"の間にスペースが必要となります!!

スペースを入れて頂くことにより、Excelが起動できると思います。

もしご不安な場合は、ひとつ前の投稿で書かせて頂いた方法で
表示されたパスをコピペされると安全だと思います!!

今度こそ、動くことを祈ります・・・

2020年08月01日

大野 了

まぢですか・・・

もし、ご面倒でなければ、
Msgbox(ShellCMD)
で出力されたメッセージを教えて頂くか、
RSSユーザーさんが作られたスクリプトファイルを、Excelに張り付けて上げて頂けないでしょうか?

そうすれば、たぶん原因がわかるのですが・・・

2020年08月01日

大野 了

あげて頂くのもRSSユーザーさんのお時間も使いますし、もちろん無理にとは・・・
もし、お時間があればで大丈夫でーす!!

2020年08月01日

大野 了

ファイル起動.xlsx (8.7KB)

この方式はCOM方式と言いまして、
Excelを起動するだけだと、これが簡単なんですが・・・

この方法だとExcelは起動するのですが、そのあと岡三RSSが正常に動かないんです・・・
自分が記述したやり方でないと・・・

今回、頂いたファイルで、
RSSユーザさんのデスクトップのパスがわかりましたので、
起動用のソースを作り直してみました。

一行目のExcelのパスを変更して頂きまして、動かしてみてください!!
もし、これでも起動しない場合、たぶん記述されたExcelのパスが間違っていると思われます!!

Excelのパスは
1.スタートメニューを開く
2.Excelのアイコンを左クリック
3.『その他』-『ファイルの場所を開く』を選択
4.Explorerが上がってくるので、Excelのショートカットを左クリック
5.プロパティを選択
6.『リンク先』に記述されているパスがExcelのパス

となります!!

2020年08月01日

大野 了

なるほどー

と言う事はUWSCのスクリプトファイルはきちんとできていて、
そのスクリプトファイルを読み込んで、
テレビのアイコンをクリックしても、動かないと言う事ですねー

でしたら、やはり
Msgbox(ShellCMD)
を一度、そのスクリプトファイルのEXECの上に書いて頂いて、
テレビのマークを押して、出てくるメッセージを教えて頂けますでしょうか?

メッセージに実際にExcelを起動するときに使用するコマンドが
表示されるので、なぜ動いてないのかが原因がわかります

2020年08月01日

大野 了

あー
動かない理由が、なんとなくわかりました!!

多分、UWSCのスケジュールの設定のやり方が
ちょっとだけ違う気がします。

わかり辛いとは思いますが、
UWSCのスケジュールのところは、スクリプト自体を書くのではなく、
作成した『UWSCのスクリプトファイルのパス』を指定する必要があります。

なのでー
UWSCでスケジュール機能を使うときはー

1.メモ帳を起動する

2.今回、アップロードしたファイル起動.xlsxの中のソースを転記する
  ※この時、1行目のExcelのパスはRSSユーザさんがインストールされている
   Excelのパスを指定してください

3.メモ帳で保存する時に『名前を付けて保存』を選択
  ファイルの種類で『すべてのファイル』を選択
  ファイル名は『任意の名前.uws』にする
  ※これでUWSCのスクリプトファイルができる

4.UWSCのスケジュールで、この作成したファイルを指定する

となります!!

2020年08月01日

RSSユーザー

すみません、上記エクセル起動(8.8kb)を左クリックして開き、やってみましたが動きませんでした。
実際はuwscのスケジュール設定のスクリプト欄に直接エクセルファイルを(拡張子.uws→すべてのファイル)にしてやると起動するのでそれでやっています。ただ時々、空のエクセルが5~6回開いていて消すのに再起動を5~6回(約20分位かかる)のがうざくて大野さんに正式なスクリプトを聞こうと思った次第です。少しこのままにしておきます。ありがとうございました。

2020年08月01日

大野 了

えっと・・・
ファイル起動.jpgは正常にDLできて、拡張子を変更して
中身は見れたと言う事で大丈夫でしょうか?

先頭の1行が
Const EXCELPATH = "C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE"
となっていれば大丈夫と思います。

ファイルが開かないとはExcel自体が上がらないと言う事でしょうかー?
それともExcelまでは起動するけど、デスクトップのファイルが開かないと言う事でしょうか?

自分のところでは開いているので、何かがおかしいと思うのですがー

もしよければ、EXEC(ShellCMD)の1行上に『Msgbox(ShellCMD)』と書いて頂いて
出てくるメッセージを教えて頂けますでしょうか?
そうするとファイルが開かない大体の理由はわかると思いまーす。

※デスクトップのパスのところはRSSユーザさんのユーザ名が出てしまいますので、
※気になる場合は、そこの部分だけ塗りつぶして教えて頂けますと幸いです!!

2020年08月01日

大野 了

ファイル起動.jpg (294B)

こんにちは!!

UWSCのスクリプトが掲示板のセキュリティに引っかかってしまうため、
添付ファイルの形で添付しまーす!!
また、txtの拡張子もアップロードできないので、
ダウンロード後、拡張子をtxtに変更してください。

中身についてですが、
EXCELPATHにRSSユーザさんが実際にExcelをインストールされている場所を指定して
あげてくださーい。
以下のパスはOffice365版のExcelのパスになりますので、
バージョンが違うとパスが異なると思います!!

2020年07月31日

大野 了

おぉぉぉぉぉぉぉぉぉぉ!!
ついに、開きましたか!!!
これは自分ごとのようにうれしい。

そうですねー
Msgbox(ShellCMD)
は原因を調べたいために入れてもらったので、
今後は消されても大丈夫だと思います。

なにはともあれ、お疲れ様でした!!

2020年08月01日

RSSユーザー

Msgbox(ShellCMD)の文を取っ払ったら・・・at last .ついに開きました!
まじで、どうもありがとうございました。!!!

2020年08月01日

RSSユーザー

大変お世話サマーですぅ。
一度uwscからokと聞かれそれをクリックすると開くようにはなりました。このファイル住所を聞かれなくなればよいにですが!

2020年08月01日

RSSユーザー

動きません、もう少し考えます、ありがとうございました。

2020年08月01日

RSSユーザー

UWSCでエクセルファイルを開く.xlsx (8.8KB)

お世話になっております。いろいろ検索したらスクリプトがありましたが、どうも送れないのでエクセルファイルで送ります。ただこのやり方だとエクセルのタスクバーが黄色く点滅し、サインインも薄くなります。手動でA1などにカーソルを持っていき左クリックすると治ります。これって問題ありますか。

2020年08月01日

RSSユーザー

たしかにそうなのですが、uwscは作った段階で再生(テレビの画面のようなマーク)することができるのです。すみませんでした!

2020年08月01日

大野 了

ファイル起動.xlsx (8.8KB)

ごめんなさい、俺バカちんでした。

普通にExcelに張ればよかった・・・
多分、DLできてると思いますが、
UWSCのソースを張ったExcelを一応あげておきます!!

2020年08月01日

RSSユーザー

すみません、uwscエラーは出なくなったのですがファイルが開きません。

2020年08月01日

RSSユーザー

すみません、ファイル起動.jpg(317B)はそのまま左クリックすると画面が真っ黒になってしまいます、で右クリックして「名前を付けてリンク先を保存で拡張子をTXTで保存してます」すんなりダウンロードはできませんよね。

2020年08月01日

大野 了

自分でもDLしてみました
次は大丈夫そうです!!

2020年08月01日

大野 了

ファイル起動.jpg (317B)

ごめんなさい・・・
俺があげたファイルがおかしくなってるみたいです。

もう一度上げなおします!!

またDL後、拡張子を変えて頂けますと幸いです。

2020年08月01日

RSSユーザー

Const EXCELPATH = C:\Program Files (x86)\Microsoft Office\root\Office16EXCEL.EXE
Const FILENAME = RSS2019(1).xlsm

Dim wsh = CreateOLEObj(WScript.Shell)
Dim DesktopPath = wsh.SpecialFolders(desktop)

ShellCMD = EXCELPATH + + DesktopPath + + RSS2019(1).xlsm

EXEC(ShellCMD)

すみません、以上の構文でエクセルのエグゼファイルのいる所をつきとめて書いてみたのですがUWSCを実行すると「変数:C:\PROGRAMが定義されていません」と出てしまいます。

2020年08月01日

大野 了

あっそれです!!
ダブルクオーテーションが外れてたりしますが、
それになります!!
拡張子を変えたテキストファイルの中身の方を使ってください!!


俺、何度もセキュリティに引っかかって書けなかったのに・・・
なんでだ・・・
なにはともあれよかったです!!

上手く行くことを祈ります!!

2020年08月01日

RSSユーザー

Const EXCELPATH = CProgram FilesMicrosoft OfficerootOffice16EXCEL.EXE
Const FILENAME = RSS2019(1).xlsx

Dim wsh = CreateOLEObj(WScript.Shell)
Dim DesktopPath = wsh.SpecialFolders(desktop)

ShellCMD = EXCELPATH + + DesktopPath + + RSS2019(1).xlsx

EXEC(ShellCMD)
これでしょうか

2020年08月01日

RSSユーザー

すみません、大野様の”ファイル起動”がどうしてもダウンロードできません。簡単な構文ではできないでしょうか。

2020年08月01日

RSSユーザー

すみません、画面では何も開いていない状態です。

2020年07月31日

いとー

返済注文がうまくいかない件

返済注文がうまくいかない件.xlsx (12.8KB)

お世話になってます。RSS初心者です。システム自体は完成していて信用買い注文まで正常に動作するのですが信用返済注文がどうしてもうまくいきません。
トレードの例を添付ファイルに記載してますのでどなたか教えてください。

2020年09月18日

大野 了

あー!!
そういう事ですか!!

うまくいってよかったです!!
""がいるところといらないところの区別が難しいですよね・・・

なにはともあれ、良かったです!!

2020年09月18日

大野 了

なるほどー!!
そうだったんですねー!!

後は、
第10引数の『建単価』と第11引数『建年月日』を入れて頂けますでしょうか?

確か指定しなくても行けてたような気もするんですが、
今、マニュアルを見てみたら必須項目となっていたので、
一応、入れてみて頂けますでしょうかー?

こちらは決済した時の約定価格と日にちになります!!

2020年09月18日

大野 了

いとーさん、こんにちは!!

Excelファイルを見てみました!!

このファイルのままとすると、
F4の決済注文の売買区分が、買いになっているために発生していると思われます!!

買いのポジションの決済は、売りにする必要があるため
第三引数の売買区分は、1の売りにしてあげる必要があります!!

これでうまくいくと良いのですがー

2020年09月18日

いとー

大野さん、コメントありがとうございます!
実はF4の売買区分を1にした場合も同様のエラーが出ることを過去に確認していまして・・・。それで試しに売買区分を3にしてみたのですが・・・・。

2020年09月18日

いとー

大野さんすいません。建単価と建年月日の""を取ったら注文が通りました!相談に乗っていただきありがとうございました!

2020年09月18日

大野 了

んー
預かり区分とかも確認してみたのですが、
今の感じだと、通ってもよさそうですが・・・

もし、問題が無ければ、今の状態のファイルをもう一度上げて頂けますでしょうかー?

2020年09月18日

いとー

今、建単価と建年月日を入力してみましたが、変わらずエラーが出ますね・・・

2020年09月18日

RSSユーザー

RANKING_Mが表示しないです。

お世話になっております。上記のとうりRANKING_Mが表示されません。今は平日の朝9時15分ごろです、ランキングの25日高乖離率マイナスと出来高急増とかです。なぜでしょうか、更新ボタンは押してます。

2021年06月17日

大野 了

銘柄が多いと確かに乖離率を作るのも大変ですもんねー

いろいろとうまく行ってよかよかよかったです!!

2021年06月17日

RSSユーザー

お世話になっております。今まで25日乖離率を作るのに、自作の式で作っていたのでえらい計算時間がかかっていました。(一つのマクロを処理するのに三分くらい)しかもしょっちゅうフリーズするのであきらめかけていました、こんなランキングまであるなんて知りませんでした。これからはめっちゃ早くストレスなしで出来ます。ありありありがとうございました!!

2021年06月17日

大野 了

取れましたかー
それはよかったです。

RANKING_M関数は、QUOTE関数の影響を受けないはずなので、
QUOTE関数で取得していても大丈夫と思います。

ランキングの最大数は50銘柄ですねー

>また東証1+東証2+ジャスダック全部+マザーズの表示(ETFとかを含まない)をするにはランキング用部コードをどのように書けばよいでしょうか、お教えください!
こちらは、東証1部の銘柄かどうか?を調べたいという事でしょうかー?
それでしたら、RANKING_Mに"部CD"というのものがありますので、
これを指定させると"東証1部"などの情報が返ってきます!!

2021年06月17日

RSSユーザー

お世話になっております。新しくエクセルを立ち上げて新規画面でやってみたらうまく表示しました、QUOTE関数の数に関係があるのかもしれません。
ところで、ランキングの最大数は50銘柄でしょうか、
また東証1+東証2+ジャスダック全部+マザーズの表示(ETFとかを含まない)をするにはランキング用部コードをどのように書けばよいでしょうか、お教えください!

2021年06月17日

RSSユーザー

もしかして、QUOTE関数が500近く取得しているからでしょうか。ランキングに関して、上限数のことは記載なかったと思うのですが。

2021年06月17日

大野 了

RSSユーザさん、こんにちは!!

RANKING_Mを動かしてみたのですが、自分のところでは正常に取得できています
動かしたのが10:30なので、9:15に障害か何かで表示できていなかった可能性が否めませんが
なんとも・・・

もし今でも動かないのであれば以下の事を確認して頂けますでしょうかー
・RANKING_Mのデータが出ているところを手動で消して頂いて、更新ボタンを押してみる
・RSSの再起動

時間が経ってしまうと、確認できないこともあるので、
お急ぎの時はコールセンターの方がいいかもですね・・・

2021年06月17日

あんこし

朝6時頃のメンテナンス

いつもお世話になっております。
自動売買でのシステムトレードを行っているのですが、
毎朝6時からメンテナンスがあるようで、
それより前からPCを立ち上げておくとメンテナンス終了後も自動売買が作動してくれません。

6時より遅い時間に立ち上げられるのであればいいのですが、日によって出来ない日もあるので正直不便に感じています。

自動売買といえど毎朝6時以降に立ち上げなければならないものなのでしょうか。

2020年07月13日

大野 了

あんこしさん

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

素敵な付けっぱなしライフになることを祈ってます(笑

2020年07月17日

あんこし

大野様

すごくわかりやすいご説明ありがとうございます。
これでPC付けっぱなしでできそうです。笑

この度はありがとうございましたm(__)m

2020年07月17日

大野 了

あんこしさん、こんにちは!!

こちらは一度岡三RSSの接続が切れてしまって、
その後再接続されないために、自動売買が動作しないということでしょうか?

もしそれでしら、岡三RSSの『設定』の中に、
・ログインIDを保存する
・パスワードを保存する(自動ログイン)
にチェックを入れますと、回線がもし切れても自動で再接続がかかります。
#でも、回線が切れた時はこの設定を入れてなくても再接続が掛かった気がします。


自分は一週間とかExcelを上げっぱなしにすることもあるので、
岡三RSS自体は6時のメンテをまたいでも大丈夫です。
6時のメンテもメンテ中はいったん接続が切れますが、6時半に再接続がかかります。


また、もし『6時から6時半の間に岡三RSSが起動できない』と言う事でしたら、
確かに起動できないですね・・・自分もたまに不便に感じる時があります。(笑
事前にわかっているのであれば、前日から上げっぱなしにされておくか、
もし、様々な理由で厳しい場合は、タスクスケジューラを使うというのはいかがでしょうか?

タスクスケジューラはWindowsの機能で指定した時間に、指定した機能を立ち上げてくれます。

以前のご質問のショートカットで大変申し訳ございませんが、
タスクスケジューラでの設定は、以下を観て頂けますと幸いです!!
https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=115

2020年07月14日

大野 了

あんこしさん、こんにちは!!

>それに加え、アドインタブの「発注可能/不可」を切り替えるボタンが自動的に不可に切り替わっていました。
なるほど!!
そう言うことだったんですね!!
取引が出来なくなった原因がわかりました。

『設定』の中に『エクセルの注文可・不可状態を維持する』というチェックボックスがあるので
これを入れておかないと、再接続した際に発注可能状態が維持されません。
こちらにチェックを入れて頂けますと、継続的に取引ができると思います。

また、画像のメッセージの件ですが『10分後に停止します』のメッセージが出たままでも
取引は可能です。
自分もずーと動かしてた時は、大量にこのメッセージが残ってます(笑

まとめますと・・・

・『停止します』のメッセージが残ったままでも売買は可能
・6時のメンテをまたぐ場合は『設定』で『エクセルの注文可・不可状態を維持する』をチェックを入れておく必要がある。

という感じになります!!

2020年07月16日

あんこし

52CEBB4C-B195-4643-A3EA-6FEAF25AF124.jpg (491.7KB)

大野様

丁寧なご回答ありがとうございます。
返信が遅くなって申し訳ありません。

IDとパスワードの保存はしてありましたので、今朝再度試してみましたが結果は同じでした。

ファイルを添付したので、ご確認頂きたいです。

再接続は完了しているようなのですが、
「メンテナンスの為、10分後にシステムを停止します。」
というダイアログが表示されたままです。

それに加え、アドインタブの「発注可能/不可」を切り替えるボタンが自動的に不可に切り替わっていました。

発注可能のまま保持できれば動作するのでは?と思うのですがそれは可能なのでしょうか?

2020年07月16日

あんこし

52CEBB4C-B195-4643-A3EA-6FEAF25AF124.jpg (491.7KB)

大野様

丁寧なご回答ありがとうございます。
返信が遅くなって申し訳ありません。

IDとパスワードの保存はしてありましたので、今朝再度試してみましたが結果は同じでした。

ファイルを添付したので、ご確認頂きたいです。

再接続は完了しているようなのですが、
「メンテナンスの為、10分後にシステムを停止します。」
というダイアログが表示されたままです。

それに加え、アドインタブの「発注可能/不可」を切り替えるボタンが自動的に不可に切り替わっていました。

発注可能のまま保持できれば動作するのでは?と思うのですがそれは可能なのでしょうか?

2020年07月16日

みね

更新速度の設定について

新規信用注文→約定→POSITION関数により保有情報更新→信用返済注文の手順で自動売買を行っているのですが、新規信用注文約定後の保有情報の更新に少し時間がかかっている感じがします。

更新速度は0~10mmの間で試しているのですが、更新速度を速く設定しすぎると逆にレスポンスが悪くなってしまうこともあるのでしょうか?

ちなみに古いノートPCではありますが、2コア4スレッドのcore i5で1銘柄のみの取引(マクロ未使用)、通信回線のping値は80ms程度です。

2020年05月30日

大野 了

もし、Excelの動作が遅いのが原因の場合、以下のオプションを確認して頂くと良いかもしません・・・

オプションダイアログの詳細設定を開く
(ファイルーオプションー詳細設定タブ)

・表示の中にある『ハードウェアグラフィックアクセサレータを無効にするに』
にチェックを入れてみる
→ 古いPCだとこれにチェックを入れると描画が早くなる時があります
・数式の中にある『マルチスレッド計算を行う』
のチェックが入っていて、『このコンピュータの全てのプロセッサを使用する』
にチェックが入ってることを確認する。


多分、効果は無い可能性が高いのですが、ぱっとできる範囲で・・・

2020年05月30日

大野 了

みねさん、こんにちは!!

なるほどー!!
そういうことなんですねー

岡三RSSの場合、Excelでの表示等もあるので、
POSITION関数の表示等にどうしても、数秒かかってしまうみたいです。
なので、遅い時に4,5秒なら岡三RSSとしては問題ないのかもです。


もし新規発注が成行で、
約定後、ミリ秒単位で少しでも早く決済注文を出されたいのでしたら、
投機実行というPGの作り方があります。

これは相手先の処理の結果を待たずに、
次の処理を先行してやって、
あとで帳尻を合わせるというやり方になります。

今回でいうと、
新規発注後、POSITION関数の更新を待たずに、決済注文を繰り返しだし、
POSITION関数が更新されたら、発注処理を止めると・・・


もちろん、約定自体しているかわからないし、
ポジション情報も更新されていないため、
建玉が無いだの、決済建玉が無いだの、エラーは出るのですが、
もし市場で約定して、
岡三オンライン証券さん側のポジション情報が更新されれば、
その瞬間に決済注文が通るので、
岡三オンライン証券さんのポジション情報がExcelに更新される間の時間は稼ぐことができます。


エラー処理もいりますし、だいぶシステムが複雑になってしまいますが、
リアルタイム性が上がると思います!!
※そもそも大量に投げすぎると間違いなく問題になると思いますので、
※ここら辺のさじ加減も必要かもしれません。
※0.5秒ごとに1回とか・・・


>更新速度は0~10mmの間で試しているのですが、更新速度を速く設定しすぎると逆にレスポンスが悪くなってしまうこともあるのでしょうか?
返答忘れてました。
これは更新速度を上げるだけではPCの負荷はあまり上がらないのですが
この更新速度の間隔で岡三RSSの関数の描画がかかりますので、
岡三RSSの関数が多くなると掛け算で負荷が増えて、レスポンスが遅くなるかもしれません。

2020年05月31日

大野 了

みねさん、こんにちは!!

新規発注は指値なんですねー

指値の場合はいつ約定するかわからないので、
投機実行的に発注される注文が長時間なる可能性が出てくるため、
止めたが良いと思います。
もし1時間約定しなかったりすると、3600回も空の発注が掛かってしまうので・・・

他の証券会社のお話ですが、
知り合いがプログラムミスって、約定できない発注を延々と繰り返してしまったときに、
電話がかかって来て怒られたと言ってました・・・(笑

2020年05月31日

大野 了

エラーで止まってしまいましたか・・・

なにはともあれ、値が反対方向に動くと指値のキャンセルって動きいいですねー
考えたこともなかったんですが、資金効率が良くなりそうです。
なんかの機会にまねさせてください(笑

2020年06月02日

みね

大野さんのコメントを見る前に今日試してみたところ、エラーでRSSが止まってしまいました。
指値注文ではありますが、値が反対方向に行くと早めに注文キャンセルするようにしているため、延々と空の発注がかかることはないのですが、投機実行はやめておきます。

2020年06月01日

みね

現在の返済注文方法はそのままにしておいて、保険として1秒間隔程度での投機実行を追加すればエラー数もそれほど気にならないですね。

新規発注は指値でやってますので、注文中の情報から指値+αで返済注文を見込み発注してみます。

大野さん、アドバイスありがとうございます。

2020年05月31日

みね

大野さん

ありがとうございます。

投機実行については(言葉は知りませんでしたが)検討しているのですが、銘柄数を増やしていくとエラーだらけになってレスポンスが悪くならないか心配しています。

更新速度については、規定値(500ms)を考えると、あまり速くしすぎないほうがいいかもしれませんね。

いろいろと試してみます。

2020年05月31日

みね

大野さん

ありがとうございます。

POSITION関数の応答時間は、感覚的なものですが、速い時は1秒以内、遅い時は4~5秒かかっているような印象です。

メモリは8Gで、取引時間中は3G程度しか利用していません。
EXCELのオプションについては、ハードウェアアクセラレータの無効化、マルチスレッド計算の有効化はともにチェックしており、取引時間中のCPU利用率が50%を超えることはほぼありません。

サーバの負荷が高くなった場合に遅延が発生するのであれば、それほど効果はないのかもしれませんが、今週中に通信環境が光回線化しますので、しばらく様子を見てみます。

2020年05月31日

大野 了

みねさん、こんにちはっ!

岡三RSSの更新が止まったり遅くなったりしてしまう原因としては、以下の2点が原因のことが多いです

・マクロが裏で動いている
・Excel(同一プロセスの場合、別のExcelでも影響がある)で何か作業をしていた

もし同時間にExcelで作業をされていないのであれば、マクロも使われていないとのことですので、
環境上の遅延だと思われますっ

PCのスペックはメモリがどれくらいかわかりませんが、お聞きしているスペックでは問題はないと思います。
Ping値は若干遅めな感じですが、岡三RSSを使用する上では問題ないと思われます。

POSITION関数の応答時間はどれくらいでしょうかー?

Excelを使う関係上、ネットトレーダーと同等の反応速度で動かすことは難しいみたいで、
自分の環境では、約定後1,2秒、込み合って遅い時は10秒ぐらいかかる時があります。

しかし、毎回1、2分とかかかるとなると別に問題があると思われます。

2020年05月30日

RSSユーザー

岡三rssの時間指定して閉じる

15時をすぎたら時間を指定して自動でパソコンをシャットダウンしようと思っています。しかし岡三rssが起動したまま強制的にシャットダウンするとパソコンに良くないとききました。そこで岡三rssを閉じた後パソコンをシャットダウンしたいです。岡三rssを時間指定して閉じることはできますか?

2018年01月21日

RSSユーザー

いろいろ調べていただきありがとうございます。
1度トライしてみます。ちなみにこのやり方で岡三rssはオフできてもエクセルはとじるのですか?

2018年01月24日

Ryo Ohno

あれ・・・やっぱり飛ばない・・・

『岡三RSSを自動でオフオンしたい』
で検索した頂けますと対象のスレッドが出てくると思いまーす!!

お手数をおかけしてすみません・・・

2018年01月23日

RSSユーザー

ありがとうございます。
トライしてみます。

2018年01月26日

Ryo Ohno

申し訳ありません。
いろいろとあって返信が遅くなりました。

自分が以前記述した内容ですと、岡三RSSは終了しますが、
Excelの保存と終了は行いません。

Excelを終了する際は、
通りすがりのRSSユーザーさんがおっしゃられている通り、
VBAでやるのが一番簡単だと思います。

RSSユーザさんのVBAがどのようなVBAかわかりませんが、
VBA内の終了させたい場所で

ThisWorkbook.Save
Application.Quit

のコードを追記していただきますと、保存後Excelが終了します。


もともとのご質問は『自動再起動時に・・・』
とのことでしたので、

もし、タスクスケジューラなどの外部からExcelを保存して終了させたい場合は
PowerShellなどを利用して、Excelを制御する必要があります。

2018年01月27日

Ryo Ohno

こんにちは!!


自動再起動の時に岡三RSSを事前に落とされたいとのことですね・・・

残念ながら、PGなどを作らずに、
岡三RSSを外から正常な手段で止めるのは厳しかったと思います。

以前もお尋ねがあったのですが、無理やり落とす方法でよければ、
以下のような手段があります。

https://fx-trade.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=115

上記の『岡三RSS停止』の部分をやれば、岡三RSSは落とせるのですが、
無理やり終了させているので、再起動させるのとあまり変わりません。


もしくは、
UWSCというWindowsの自動化のツールを使って、
右クリックメニューの終了を実行させる方法とか・・・

2018年01月23日

通りすがりのRSSユーザー

私もPC自動シャットダウンさせてますが、Excelさえ保存終了させておけば、岡三RSSが起動したままPCシャットダウンさせても何も問題ないと思います。
Excelの保存終了はVBAで出来ます。

2018年01月23日

RSSユーザー

すいません。私はVBAに詳しくないのです。
参考になるサイトかコードを教えて頂けたら幸いです。

2018年01月24日

RSSユーザー

初心者です。遠隔操作をしたいのですが。

お世話になっております。自宅にあるパソコンを会社など外出先から遠隔操作して岡三RSSを監視したいのですが、何かお薦めのものはありますか、有料無料どちらでもよいです。お教えください。

2020年08月11日

大野 了

RSSユーザさん、こんにちは!!

リモートのソフトですが、
マイクロソフト純正のリモートデスクトップか、
TemeViewerが無料で使えて、情報も多くておすすめです。

メリットデメリットとしては・・・

〇リモートデスクトップ
・メリット
 マイクロソフト純正で追加ソフトがいらない
 ※会社のPCで使いやすいw
 無料
・デメリット
 リモートを受ける側(自宅のパソコン)のWindowsがPro版である必要がある

〇リモートデスクトップ
・メリット
 無料
・デメリット
 個人利用では無料ですが、個人、法人の明確な違いがなく
 個人利用でもある日突然『法人利用にあたる可能性があります』と
 止められてしまう可能性がある。

ですかねー

2020年08月11日

RSSユーザー

自宅のpcを調べてみたら、残念ながらwindows10 homeでした。
TemeViewerを調べてみます。あと検索でanydeskなるものも見つけたので調べてみます。ありがとうございました。

2020年08月11日

タカ

position関数で取得単価が若干高めに表示される

初めて投稿させていただきます。
エクセル上で下記のようにA3セルに取得単価を表示させているのですが、岡三のWebサイトで約定単価を見ると1%ほど安価な単価になっています。
=POSITION("","","取得単価",A3)
同様な質問が見当たらなかったので当方の基本的なミスかと思われますが、どなたかご存じの方原因をご教授願えますでしょうか?

2021年07月14日

大野 了

タカさん、こんにちは!!

取得単価には手数料などが乗ってるんですねー
俺も知りませんでした。

勉強になりました!!ありがとうございます!!

2021年07月16日

RSSユーザー

すいません、解決しました。
positin関数での金額には取得手数料+消費税が加算されているためでした。
お騒がせしました。。。

2021年07月15日

RSSユーザー

2021.11.26 9:19現在 日経平均とマザーズの前日終値比が#value(エラー表示)になっています。

上記のとうりです。これって私だけでしょうか。

2021年11月26日

岡三オンライン証券

RSSユーザー さま

いつもご利用いただき、ありがとうございます。

日経平均株価、マザーズ指数、日経平均VIの前日比が正しく表示されない事象が発生しておりましたが、14:00に復旧いたしました。

岡三RSSでのデータ取得ができることを確認しております。

お客さまにはご迷惑をお掛けし大変申し訳ございませんでした。

2021年11月26日

岡三オンライン証券

岡三RSS(日本株・先物OP)の機能拡充について

2020年8月30日(日)、ご要望の多かった岡三RSS「ランキング(手動更新)(RANKING_M関数)」機能に関する拡充を予定しております。

いままでは全市場を対象としたランキングでしたが、「東証1部」「東証2部」「マザーズ」だけのように市場ごとにデータ取得ができるようになります。

詳細を下記にてご覧いただき、投資にご活用ください。

岡三ネットトレーダープレミアム・岡三RSS(日本株・先物OP)の機能拡充について
https://www.okasan-online.co.jp/information/2020/0826b/

2020年08月26日

丹羽 徹

NEWORDER関数における実行時エラー '1004'

表題の件につきまして、同じ事象が発生し、解決できた方がいらっしゃいましたらご教示ください。

VBAに以下のコードを記述するとエラーが発生しております。
Dim order_result As String
order_result = NEWORDER("1357", "", 1, 0, "0", "2", "T", "", "", 1, "1", trading_password, Format(Now, "yyyymmddHHMMSS"), "", "")

エラーメッセージ
実行時エラー '1004' 'ThisCell' メソッドは失敗しました: '_Application' オブジェクト

恐らく「NEWORDER」関数内で'ThisCell' メソッドを実行しているのでしょうが、関数を利用するプロシージャ内で解決する方法がわからず…

なお、同じ関数をワークシート上のセルに入力して実行すると動作することは確認できました。

よろしくお願い申し上げます。

2020年08月31日

大野 了

丹羽さん、こんにちは!!

上手くいきましたか!!
お役に立ててよかったです!!

2020年09月01日

丹羽 徹

大野さん、いつもお世話になっております。

お陰様でできました!
ありがとうございます!

2020年09月01日

大野 了

丹羽さん、こんにちは!!

少し前にですが、岡三RSSがバージョンアップして、
『NEWORDER』に注文番号返却機能が付いたことにより
関数の仕様が変わって『NEWORDER』をVBAから使うことが出来なくなってしまいました。

代わりにですが、VBA用に『NEWORDER_CL』という関数が新設されていますので、
こちらを使うことでVBAから発注可能可能になります!!

2020年08月31日

rss新規ユーザー

板のover、under情報

お世話になります。
板情報の中にoverとunderの項目がないのですが、情報を入手する方法はありませんか?無ければ機能を追加して頂きたく。宜しくお願いします。

2020年08月24日

RSSユーザー

回答ありがとうございます。確認不足ですみませんでした。早速活用したいと思います。

2020年08月25日

大野 了

こんにちは!!

BOARD関数に、『気配数量OVER』『気配数量UNDER』という項目があり、
こちらを設定することにより、取得ができます!!

2020年08月25日

Ken Highfield

トレーリングストップの作り方を教えてください

全くの初心者です。最も簡単な自動売買システムを岡三RSSで作ろうとしております。エントリはサンプルシートである「チャートポイント警告」に、同じくサンプルシートにある「発注」を組み合わせようとしております。これに最も基本的なexitルールであるトレーリングストップ(略してTS)を組み合わせようとして、ハタと困っております。TSのサンプルが見当たりません。そこで、TSの作り方のヒントをいただけますれば大変ありがたいです。よろしくお願い申し上げます。

2020年08月24日

大野 了

Ken Highfieldさん、初めまして!!

サンプルシートの「チャートポイント警告」が見つけられなくて・・・

多分、何かのサンプルのシート名だとは思うのですが、
どちらのサンプルになりますでしょうかー?

TSですと・・・
基本的なロジックの作り方としては・・・

1.POSITION関数で約定価格を取得
2.QUOTE関数で現在値を取得
3.約定価格と高値(売りの場合は安値)から、現在までの最高売買益を計算
4.最高売買益に合わせたTSのストップを算出
5.約定価格と現在値から現在の売買益を計算
6.現在の売買益がストップを下回ったら、決済

という流れで大丈夫かなーと思いまーす。

また、もしスイングの場合は、
3の『現在までの最高売買益』をQUOTE関数ではなく、
CANDLE関数を使用して日足の4本値を取得し、
約定日以降の高値のMAX(売りの場合は安値のMIN)を取ってあげたら大丈夫と思います!!

2020年08月24日

大野 了

お役にたてて幸いです!!

もし、わかり辛い点がありましたら、
再度、ご連絡を頂けますと幸いです!!

2020年08月27日

Ken Highfield

大野様へ 大変ありがとうございました。なんとか頑張ってみます。

2020年08月27日

クロ

Windows 右下の岡三RSS設定メニューが空白になってしまう

43549F28-5A51-477B-A53D-9C3FEC747F5C.jpeg (0.6MB)

お世話になっております。windows画面右下の岡三RSSアイコンを右クリックして出る設定項目等ですが、「設定」メニューのポップアップはされるのですが、中の文字が全く表示されません。「お知らせ」や「ログイン履歴」もポップアップはされるのですが、文字は表示されず空白のままになってしまいます。どなたか対処法をご存知でしょうか?
よろしくお願いします。

2021年01月31日

大野 了

クロさん、こんばんは!!

ドライバの入れ替えで直りましたかー!!
良かったです!!
&
返信見るのが遅くなってごめんなさい。

くろさんの画像がだいぶ的確でしたので、原因が絞り込めました!!

なにはともあれ、お役に立てたようでよかったです!!

2021年02月01日

クロ

大野様
ありがとうございます!!
1、2ともに試したところ、画面が消えますのでおっしゃる通り表示がおかしいのかと思います。
実は岡三RSSはこの現象の為に何度も再インストールをしています。
よってディスプレイドライバの更新をしてみようと思うのですが、イマイチやり方が分かりません。もしご存知でしたらご教示頂きたいのですが、、、申し訳ございません。
ちなみに先ほどエクセル上で岡三RSSを操作しましたところ、RSSのエラーメッセージなどのポップアップ内の文字も表示されませんでした。。。

2021年01月31日

クロ

大野様
スミマセン。まずは自分で解決しようと思い知り合いにディスプレイドライバの更新を尋ねた所、詳しい方で教えていただけました。
実行してみたところ解決しました!!
大野様の神対応に感謝しております!!
本当にありがとうございました。

2021年01月31日

大野 了

んー
出会ったことない現象ですね・・・

ちなみに
1.設定画面を上げていきなりエンターを押すとどうなりますでしょうか?
2.設定画面を上げて、14回タブキーを押して、エンターを押すとどうなりますでしょうか?

もしこれで設定画面が消えるのであれば、表示のみがおかしい、
もし画面が消えないのであれば、画面の中身自体が表示されてない
と思われます。

もし岡三RSSを再インストールしても直らない場合は、
前者の場合はディスプレイドライバ、
後者の場合は.NETフレームワークを更新すると直るかもしれません!!

2021年01月31日

スペース 西

2021丑年、明けましておめでとうございます。

岡三RSSユーザの皆さん、明けましておめでとうございます。

日々、自動売買に取り組んでいらっしゃると思います。
差しさわりのない範囲で、トレード方針・手法を教えてください。

岡三RSSで、素晴らしい環境を提供していただいています。
岡三RSSユーザ同志で、意見交換する事で切磋琢ができればと期待します。

私の場合、
・Tick出来高固定足(Tick当たり10枚以上)を主に使っています...RSSのおかげです
・週末に、次週用の最適指標を6~7選択します
・セッション毎に成績を判定し、好成績の指標で運用します

2021年01月01日

スペース 西

>もし何かいい方法を思いついたら、ここに書きますねー!!

はい、楽しみに、ゆっくりと待っています。

2021年01月04日

大野 了

そうですねー
Excelというか、個人投資家の取引環境は
証券取引所まで中継してるシステムが多すぎて、
情報がそもそも遅延してるので、HFTのような取引は無理だと思います。

HFTの様に取引所内にサーバーを置ければ可能とは思いますが・・・


>日銀を恨むしかなさそうです \(-_-;)
やっぱり日銀や、年金のせいなんですかねー
そういえば、近くに日銀のビルがありました。
あとで、鼻くそでも付けに行こうかな・・・(うんうん


21年はNTが今年みたいな動きをしても何か対応できるように
いろいろと考えたいと思っています。

もし何かいい方法を思いついたら、ここに書きますねー!!

2021年01月04日

スペース 西

詳細な情報、ありがとうございます。

>先物は、日経225とTopixでやると証拠金が相殺されて、
>証拠金が少なくて建てれるので意外といけます(笑

なるほど、勉強になります。

>ミニとラージのサヤ抜きは以前、実際にやったことがあるのですが、
>サヤを抜くこと自体出来ませんでした。

勉強になります、鞘が小さいとExcel経由では遅れるのですネ
これは利益の確実性が高いので、機関投資家のアービトラージが多そうです。

>今年はNT倍率がむちゃくちゃ上がって、NT倍率のサヤ抜きしてる自分としては・・・

納得です!
泣き別れが、少々待っても戻らない状態でした。
日銀を恨むしかなさそうです \(-_-;)

おかげさまで、鞘抜き実戦が理解でき、少し賢くなった気がします。

2021年01月04日

スペース 西

>戦略の情報交換っていいですねー

はい、せっかく岡三RSSと言う素晴らしい環境があるので、
ユーザ皆で情報交換し、向上できればと思います。

>サヤ抜きなど9つのストラテジを使ってて、
>過去の統計から最適な組み合わせを探し出して運用してます。

なるほど! 情報、ありがとうございます。
堅実なサヤ抜きですか。
私も2銘柄乖離などの研究をしていますが、大きな元金が必要そうなので二の足を踏んでいます。
それと、仕掛け決済時のスリップが気掛かりです。
鞘の大きなときに仕掛け、引け成りで決済すればスリップは半減しそうですが、妄想のみです。
日経先物のミニとラージで実行すれば、堅実だが利が少なそうだし
異なるものを組み合わせると、コツコツ・ドカンの泣き別れが恐ろしいです。

>今年は、だいぶサヤ抜きで・・・(涙

最後の涙の意味は???

2021年01月04日

大野 了

先物は、日経225とTopixでやると証拠金が相殺されて、
証拠金が少なくて建てれるので意外といけます(笑

ミニとラージのサヤ抜きは以前、実際にやったことがあるのですが、
サヤを抜くこと自体出来ませんでした。

そもそもスリッページを超えるほどのサヤが出ることも少なく・・・
たまに出た時でも、それを見てから発注しても間に合いませんでした。
個人投資家の環境だと厳しいですね・・・


>最後の涙の意味は???
今年はNT倍率がむちゃくちゃ上がって、NT倍率のサヤ抜きしてる自分としては・・・
えらい目に会いました・・・

の涙です・・・(笑

2021年01月04日

大野 了

あけましておめでとーございます!!
皆様、今年もよろしくお願い致します!!

戦略の情報交換っていいですねー

自分は先物なのですが、
サヤ抜きなど9つのストラテジを使ってて、
過去の統計から最適な組み合わせを探し出して運用してます。
今年は、だいぶサヤ抜きで・・・(涙

使用する指標やパラメータを変更することはないですが、
使用するストラテジの組み合わせや組合せの比率は変更してまーす!!

2021年01月03日

RSSユーザー

VBAの動作を確実に止める方法について

当方岡三RSSの初心者です。以前、定期的にQUOTE_Mを実行する手段について、
Application.CommandBars("岡三RSS2").Controls.Item("更新").Execute
を使って実行する方法を教えていただいた者です。
これは非常にうまく動作しておりまして、大変満足しておりますが、非常に困っている事があります。それはデバグする時の現象です。
マクロのある場所にブロックポイントを設け、そこでマクロを止め、F8ボタンを押してワンステップ毎に動作を確認してゆくとき、再度設定した時刻が来ると、プログラムが動作を開始してしまいます。あわてて、マクロのリセットボタンを押しても動作がなかなか止まりません。仕方がないので、コントロール+Pause/Breakボタンを押すのですが、なかなか動作が止まりません。確率的に言いますと、大体90%ぐらいは、そのうちなんとか停止しますが、10%ぐらいは、excelの右上の×印を押して、強制終了しなくてはいけません。この現象が著しくデバグ効率を下げています。何かスッキリしたVBAを停止する操作があれば、その方法を教えていただければありがたいです。

2021年08月09日

RSSユーザー

大野様
いろいろありがとうございました。これで応用が広がりそうです。

2021年08月15日

大野 了

RSSユーザさん、こんにちは!!


そうですね・・・

Call Application.OnTime(Cells(1, i), "UpdateRSSData", ,False)

で大丈夫と思います!!

もしうまく行かないのであれば・・・

Call Application.OnTime(EarliestTime:= Cells(1, i), Procedure:="UpdateRSSData", Schedule:=False)

と記述されるのがよいと思われます!

2021年08月12日

RSSユーザー

大野様
<やり方としては、
<スケジュールを設定するときと同じ要領でonTimeを呼び出して頂き、
<onTimeの第四引数をFalseで指定することにより、スケジューリングがクリアされます!!
実は、これをお聞きしたくて、長―い長い質問をしておりました!
現在私が使っているのは、Call Application.OnTime(Cells(1, i), "UpdateRSSData") 
です。(大分前に大野様に教わったコードです!)これに引数を追加して
Call Application.OnTime(Cells(1, i), "UpdateRSSData", ??? ,False)
とすれば良いのかなあ、、と思っていますが、3番目に何を入れるべきかがわかりません。教えていただければありがたいです。

2021年08月12日

大野 了

RSSユーザーさん、こんにちは!!

>従いまして、ある条件が成立したので、途中(例えば12:40分頃)に、このスケジュールを抜けて、別の重い処理をさせる事を考えておりましたが、
>これは不可能である。ということを意味しているのでしょうか?

こちらの『スケジュールを抜けて』とおっしゃられている状況としましては・・・

1.12:40、13:00、13:30の3つをonTimeでスケジューリング
2.12:40の関数が動く
3.この関数の動き方次第では、13:00、13:30のスケジューリングを動かしたくない場合がある

という感じの動きの事で間違いありませんでしょうか?

VBAを停止してもスケジュールが自動で消えることはありませんが、
手動でスケジュールを削除することは可能です。


上記の場合であれば、12:40の関数を抜ける際に、
13:00、13:30のスケジュールを指定して削除する感じになります。

やり方としては、
スケジュールを設定するときと同じ要領でonTimeを呼び出して頂き、
onTimeの第四引数をFalseで指定することにより、スケジューリングがクリアされます!!

2021年08月12日

RSSユーザー

大野様
大変詳細に回答いただきまして、大変ありがとうございました。今後参考にさせていただきます。ところで、その中で、ショックを受けた部分があります。それは、以下の部分です。

<また、面倒な事に一度onTimeでスケジューリングしてしまうとVBAを『停止』してもスケジュールは消えないため、onTimeでスケジューリングしたものが残っている場合、VBAを停止してもまた動いてしまいます!!

当方、数分おきに100回程度QUOTE_Mを動かしておりまして、これを別々に動かすのは不可能と思われます。従いまして、ある条件が成立したので、途中(例えば12:40分頃)に、このスケジュールを抜けて、別の重い処理をさせる事を考えておりましたが、
これは不可能である。ということを意味しているのでしょうか?
この辺を教えていただければありがたいです。
ところで、
<『Quote関数の使い方について』のご質問の方と同じ方(別の方でしたら、申し訳ありません)

これは、同じ私でした!

2021年08月12日

大野 了

>ケース2、ケース3:

こちらですが、メッセージは似ていますが、上記のスケジューリング問題とは別現象となっています。

『コードの実行が中断されました。』はVBAでエラー処理が入っていない状態で、エラーが発生し
後のロジックが実行できないような場合に表示されるメッセージとなります。

大きくは2点の可能性が考えられます!!

1.ソースコードにエラーがある
2.ブレークポイントがおかしくなっている


>1.ソースコードにエラーがある場合
以下の事を確認して頂けますでしょうかー?

1.『VBAエディタ』-『デバッグ(メニュー)』-『VBAProjectのコンパイル』でコンパイルをする
コンパイルを掛けるとソースコードの構文エラーなどを全体的にチェックしてくれます!!

2.『VBAエディタ』-『ツール(メニュー)』-『参照設定』で参照不可の項目がないか確認する
参照設定で、参照不可のライブラリがあると、VBAが不特定の場所でエラーになるので、
参照不可の項目がある場合はチェックを外してください!!

3.『デバッグ』が押せる場合は、押して止まった行の状態を見てみる
多分、変数の中身がNull(空っぽ)になっていたり、数値を処理するところに文字が入ってしまっていたりすると思うので、
黄色の行で止まった原因を調べて対処してください!!


>2.ブレークポイントがおかしくなっている
以前、自分も経験したのですが、一度張ったブレークポイントが残ってしまって、
消しても消しても何もないところでVBAが止まってしまうことがありました。
なにをやっても最終的に解決せず、ファイルごと作値直して解決させました・・・
もし、作られているExcelファイルが複雑でない場合、まっさらなExcelに作り直されると直る可能性があります!!


以上、長文になってしましたが、これで解決できると幸いです!!

2021年08月11日

大野 了

RSSユーザさん、こんにちは!!

なるほどー
いろいろな状況があるのですねー

ひとつずつ回答させて頂きます!!

まず、VBAの動きの前提として
Ctrl+BreakはVBAの『中断』をするショートカットで『停止』をさせるショートカットではないため、
『中断』しても、その後そのまま動かせば、VBAはそのまま動き続けてしまいます。

『VBA』を停止させたい場合は、Ctrl+Breakでは『中断』させた後、
リセットボタン(ツールバーにある四角いボタン)を押して初めてVBAの『停止』となります!!

また、面倒な事に一度onTimeでスケジューリングしてしまうとVBAを『停止』してもスケジュールは消えないため、
onTimeでスケジューリングしたものが残っている場合、VBAを停止してもまた動いてしまいます!!

多分、この複合要因が重なって、
VBAを止めても止めても動いてしまい、VBAがうまく止まっていないように見えていると思われます!!


>ケース1:(大野様に指摘頂いたケース)
>「中断モードでコードを実行出来ません」とメッセージが出ます。下にあるOKボタンを押します。そうすると、再度同じメッセージが出ます。再びOKボタン>を押す動作を6回程度繰返すと完全に停止します。

こちらですが、onTimeのスケジューリングを複数行われているためだと思われます。

もし複数スケジューリングされている場合ですと、スケジューリングされている分がすべて動作するので、
スケジューリングされている回数分、メッセージが繰り返し表示されます!!

『Quote関数の使い方について』のご質問の方と同じ方(別の方でしたら、申し訳ありません)でしたら、
for loop でonTimeを複数スケジューリングされるという流れでされるとのことでしたので、
多分、ここで複数設定されたスケジューリングがすべて動いているのだと思います!!
for loopでのonTimeの複数スケジューリングのロジックを変更して、一つずつスケジューリングする形にすると
このメッセージ自体で無くなると思います!!

2021年08月11日

RSSユーザー

大野様
<こちらはデバック中に、デバック前に指定したonTimeの関数が動いてしまい、
<デバックが中断してしまうという事でしょうか?
その通りです。
<『中断モードでコードを実行することはできません。』
<とメッセージが出て、onTimeで指定した関数は動作しないと思われます。
これまでの1ヶ月程度での経験で言いますと、数100回トライして、マクロがすんなり停止する確率は0%です。以下Ctrl+Pause/Breakボタンを押したときのマクロの反応は以下の3通りです。

ケース1:(大野様に指摘頂いたケース)
「中断モードでコードを実行出来ません」とメッセージが出ます。下にあるOKボタンを押します。そうすると、再度同じメッセージが出ます。再びOKボタンを押す動作を6回程度繰返すと完全に停止します。

ケース2:メッセージボックスが出ます。「コードの実行が中断されました。」と書いてあり、下に4個のボタンが並んでいます。左から「継続」、「終了」、「デバグ」「ヘルプ」となっており、「デバグ」と「ヘルプ」は薄くなっており、アベーラブルではありません。この場合、終了を押しても、終了しません。そのうちPCがうんうんとうなり始め、しばらくして同じメッセージが出るので、終了を押すと終了します。この場合完全に停止します。

ケース3:メッセージボックスはケース2と同じです。右から2番目の「デバグ」ボタンがアベーラブルになっています。「デバグ」を押すと、適当なマクロのステップが黄色になっています。マクロの画面の中央あたりにあるリセットボタンを押すと一旦停止します。が、設定時刻がきますと再度動作を開始します。終了時間を待てませんので、excelがいじくれる状態になったときを見計らって、excelの右上の×ボタンを押してexcellを強制終了させます。

以上3通りの反応です。最悪はケース3です。非常に時間を消費してしまいます。
なんとなくですが、マクロの仕事が重い場合(時間がかかる場合)にケース3となるような気がしております。以上、完全にスッキリさわやかにVBAを停止させる方法があれば教えていただければありがたいです。

2021年08月11日

大野 了

RSSユーザさん、こんにちは!!

こちらはデバック中に、デバック前に指定したonTimeの関数が動いてしまい、
デバックが中断してしまうという事でしょうか?

ブレークポイントなどでVBAを止め、中断状態(デバック状態)になっているときに
onTimeでスケジューリングしたVBAの関数が動いてしまった場合、
通常は
『中断モードでコードを実行することはできません。』
とメッセージが出て、onTimeで指定した関数は動作しないと思われます。

多分、自分がRSSユーザさんのご質問の内容と状況を理解できていないと思うのですが、
もう少し状況を詳しく教えて頂けますと幸いです!!

2021年08月09日

ケン

マクロについて判らないことがあります。

大野様
ケンです。お世話になっております。ところで、サンプルプログラムである、IfdoneOCO+時間決済サンプルのマクロについてお聞きしたいことがありまして、再度アップロードしました。
このファイルのマクロを開きますと、Module2の中に、Sub AllLock() というサブタスクがあります。(以下に示しました)
01 Sub AllLock()
02 Range("J2").Value = 0
03 Range("L2").Value = 0
04 Range("Q2").Value = 0
05 Range("F22").Value = 0
06 Range("J36").Value = 0
07 Range("L36").Value = 0
08 Range("A1").Select
09 End Sub

このタスクをステップインで最初の行から実行してゆきますと、02行が実行された直後に、シート“条件注文”の中に付随する、Private Sub Worksheet_Calculate() というタスクにジャンプします。そしてそのタスクのENDに来て直後03行に戻ります。再度ステップインを実行しますと、再度又Private Sub Worksheet_Calculate()にジャンプします。
結局09に来るまでに7回、全く関係の無いと思われるPrivate Sub Worksheet_Calculate()に飛びます。そこで私の質問は、
1. この現象はなぜ起きるのでしょうか?
2.このような飛ばしが必要な理由は何かあるのでしょうか?
3.この飛ばし現象をやめさせる方法はあるでしょうか?
以上の3個です。よろしくお願い申し上げます。

2021年07月21日

大野 了

ケンさん、こんにちは!!

うまく行きましたかー!!
お役に立てて幸いです!!

2021年07月25日

ケン

大野様へ
実験して、完全にイベントが動かなくなることを確認しました。これで新たなサブタスクを付加することが出来ます。大変ありがとうございました。

2021年07月24日

大野 了

ケンさん、こんにちは!!
お久しぶりです。

>1. この現象はなぜ起きるのでしょうか?
Calculateは再計算のイベントとなります。
計算式の参照元のセルが変更された場合などに再計算が走ると、このイベントが動きます。
今回は『Range("J2").Value = 0』でセルの値が変更されており
どこかで、このJ2のセルが参照されているため、再計算が走り
結果、Calculateが動いています。


>2.このような飛ばしが必要な理由は何かあるのでしょうか?
必要というか、CalculateイベントのVBAを入れているため、
必ず動きます


>3.この飛ばし現象をやめさせる方法はあるでしょうか?
02の前に
Application.EnableEvents = False

09の前に
Application.EnableEvents = True
として、セルの更新の時にイベントが動かないようにすることで回避可能です。

2021年07月21日

上野

IDX関数に関して

こんにちは。いつもお世話になっております。
IDX関数を用いて日経225とTOPIXの4本値を取得しています。

データはしっかりと取得出来るのですが、IDXで取得した値が数値として認識してくれません。
例えば、
A1セルに、27888.15(IDXで取得した日経225現在値)
A2セルに、27820.04(こちらは手打ち入力したものとします)

となった時、A1:A2で選択しても、データは「2」となるものの、
合計は「27820.04」となってしまい、A1セルの数値を含んでくれません。

コピーして数値貼り付けしてもダメです。
どのようにすれば数値として認識してもらえるのでしょうか?

なお、
同じシートで上場株式全銘柄の4本値をQUOTE関数で取得している為、
IDXCANDLEを使用すると正常に作動しなくなる、または作動しても時間がかかる為、
IDXで日経225、TOPIXの4本値を取得しています。

是非ともご教授下さい。
よろしくお願いいたします。

2021年08月11日

上野

大野さん

早速のご回答ありがとうございます!
ご教授頂いた内容で今後使用します!

2021年08月11日

大野 了

上野さん、こんにちは!!

確かにIDXの結果の型って文字列型になってますね・・・
なんでだろう・・・

とりあえず、SUMなどで使用された場合は、

=VALUE(IDX("N225","現在値"))

と、IDX関数をVALUEで囲ってあげると数値型に変換されるので、
その後のSUM関数などで集計できる形になります!!

2021年08月11日

あんどう

先物の発注について

お世話になります。
始めたばかりで調査もできていないのですがお聞きさせていただければと思い質問させていただきます。
順次条件を満たした段階でEXCELに時間と発注価格が表示されます。次に条件を満たすとその下に記載されます。
この表示されたタイミングで発注(N225mini)を掛けたいのですが、右横に=fneworderで記載すれば良いのでしょうか?
それとも一番下のデータのみを別のところに表示させて=fneworderは1つしか書かないのが良いのでしょうか?
注文は成行で行います。
初歩的な質問で申し訳ございませんがよろしくお願いいたします。

2021年10月08日

大野 了

あんどうさん、こんにちは

追加のメッセージを見落としていました・・・
返信が遅くなってしまい、申し訳ありません。

岡三RSSのツールバーの上の『発注可能状態』の事ですね。

それでしたら、岡三RSSの設定画面の中に
『エクセルの注文可・不可状態を維持する』
というオプションがありますので、こちらにチェックを入れて頂くと
アドインが終了時の『発注可能状態』を覚えていますので、
毎回、起動後に『発注可能』で起動することができます!!

2021年10月11日

あんどう

なんとか作成できたようです。
しかし、画面いっぱいに発注エラー 発注不可設定になっていますという小窓が出てしまいます。
B2に条件がそろうと表示される価格に対して、C2セルに
=if(B2="","",FNEWORDER(
で記載し、アドインで発注可能にするとできるようなのですが
いったん閉じてからファイルを開くと画面全面に発注エラーの小窓が出てしまいます。
エラーIDが次々切り替わっていますので、どんどん新しいエラー窓が発生しているようです。
たぶんファイルを開くときに発注可能な状態になっていれば良いのかなと思うのですがどのようにしたらよいかご存じの方いましたらご教授いただけますと幸いです。
以上よろしくお願いいたします。

2021年10月08日

あんどう

大野様

早速のご回答、ありがとうございます!!
それでやってみます。
ありがとうございました!

2021年10月08日

大野 了

あんどうさん、こんにちは!!

こちらは・・・
ある条件の発注条件が満たされると
A列:時間
B列:発注価格
に情報が表示され

1回目の条件が満たされると、A1、B1に時間と発注価格が
次に条件が満たされると、A2、B2に時間と発注価格が・・・
また条件が満たされると、A3、B3に時間と発注価格が・・・

と表示されていくという認識で間違いありませんでしょうかー?

もしこの動きであれば、あんどうさんがおっしゃられている
どちらのやり方でも大差がなく動作すると思います。

ただ、岡三RSSは誤発注を防ぐため、
発注ごとに発注IDを変えてあげないといけないので、
もし、さっと簡単に作りたいのであれば、
右横(C列)にfneworderを全部の行に書いて
すべてのfneworderの発注IDを、変えてあげるのが簡単だと思います!!

2021年10月08日

RSSユーザー

Quote関数の使い方について

岡三RSSの初心者です(先物での自動売買の経験は1年ちょっとです)。最近一般株をトライしております。ところで、本日、excelのセルJ3に、=QUOTE(I3,1,2)と記入し、I3に9479(企業名インプレス)と記入しました。しかし、I3には、0としか出力されません。インプレスと出力されると思ったのですが。時刻は16:20でした。15:00を過ぎると、一般株のサービスは停止してしまうのでしょうか?教えていただければ幸いです。

2021年07月05日

大野 了

RSSユーザさん、こんばんは!!

そうですねー
やり方としては同じと思います!!

なにはともあれ、うまく行ったようでよかったです!!

2021年07月19日

RSSユーザー

大野様
先ほどの質問を出してからしばらくして、良いアイデアが湧き、それを試したところうまく行きました。そのアイデアは、更新回数を示すパラメータを、UpdateRSSData内でインクリメントすれば良いのではないか? ということです。ということで、そのパラメータ(セルのどこかい空いているところを使っている)が、インクリメントされている部分を、Public Sub UpdateRSSData() の中に移動させたところ、全く問題なく動きました! さきほどの大野様の最後の部分で指摘されている方法と同じではないかと思いました。
これで、ほぼ私の目論んだ方法は完全に実現されました。本当にありがとうございました。

2021年07月19日

大野 了

RSSユーザさん、こんにちは

こちらは、
Call CopyListWright
がうまく動かないという事でしょうかー?

肝心のCopyListWrightの中身がどのような中身かわからないため、何とも言えませんが、
CopyListWright自体が、引数を受け取っていないため、
もしCopyListWrightの中で、どこかのセルを参照しコピー先を決めているのであれば
onTimeを『設定した時のセルの値』ではなく、
その後にonTimeで『動いた時のセルの値』が使用されます。
なので、一番最後のセルの値で動いてるものだと思われます。

解決するには、
ループ内でonTimeの設定を行う際に、4回とも違う引数を渡すか、
onTimeの設定は現状のままで、
UpdateRSSData内で、UpdateRSSDataが動いた回数をどこかのセルに出力し
そのセルの値を見て、CopyListWrightを動かせば大丈夫だと思います!!


※もし、onTimeで実行設定した関数に引数を設定する形でやられた場合は、
※以下のサイトが参考になると思います!
https://excel-ubara.com/excelvba1/EXCELVBA420.html

2021年07月19日

RSSユーザー

マクロ主要部.xlsx (9.6KB)

大野様
実験結果の結論は、一部うまく行きましたが、1部うまく行っておりません。
うまく行った部分は、更新を設定した時刻(例として09:10:00)を更新開始時刻とし、更新繰り返し時間間隔を15秒とし、繰り返し回数を4回として、更新が4回、15秒おきに自動的に行われることを確認しました。(これで大野様の提示していただいた更新の自動化については90%が終了したと考えて良いと思われます)
しかしながら、更新が行われた直後の処理がうまく動きません。
更新直後にしたい仕事は、
1.できあがった株価上昇率20位のリストを作成
2.出来上がったリストを、他の場所にコピーする作業
3.出来上がったリストを、次の更新処理用にクリアする作業
の3つですが、1と3は問題なく処理が終了しますが、2の処理がどうやってもうまくいきません。その理由は、更新回数をカウントするパラメータを引数として、2のコピーするタスクに引き渡し、更新回数に対応した場所にリストをコピーしようとするものです。しかし、メインプログラムを起動したとたんループは4回すぐに回ってしまい、この引数は最大の数になってしまいます。しかる後に、おもむろに、規定の時間が来る毎にリストが更新されます(見ていると変化するのでわかります)。しかし、引数は最終値になりっぱなしですので、いつも同じ場所にリストがコピーされてしまいます。この不可思議な現象はどのような背景から発生するのでしょうか?教えていただけたらありがたいです。(この実験は、土、日、月と3日間合計50回ぐらい繰り返しておりますが、原因を発見出来ておりません。マクロの主要部のコピーを添付しましたので参考にしていただければ幸いです)

2021年07月19日

RSSユーザー

大野様
私の質問を更に明確にするため、以下のプログラムの例で、懸念を申し上げたいと思います。
但し、Cells(1,2)には100が入っていると仮定します。
更に、Cells(2,1)~Cells(2,100)には時刻が入っていると仮定します。
更に、3行目の次の仕事というのは、更新された直後に、その株価データの上昇率を計算し、トップ20位までをリストアップする作業であると仮定します。

1行目; For i=1 to Cells(1,2)
2行目: Call Application.OnTime(Cells(2,i),”UpdateRSSData”)
3行目: Call 次の仕事(i)
4行目: Next i
5行目: End Sub

こうしますと、i=1のとき、2行目が実行されます。次に直ちに3行目が実行されますが、Cells(2,1)に書き込まれている時刻が現時刻の1分後であったとしますと、未だに株価データは更新されませんので、誤った計算値がリストアップされてしまいます。これを防ぐ為には、2行目と3行目の間に、目的の時間まで待ち、更に更新作業が終了するまでの間、3行目の作業開始を待たせる命令を、入れて置く必要があるのではないか?ということです。
以上私の懸念を説明いたしました。この懸念は理解していただけたでしょうか?このあたり教えていただけたらありがたいです。

2021年07月16日

大野 了

RSSユーザさん、こんにちは

こちらは更新ボタンを押す以外の処理もされたいという事でしょうか?
それでしたら『Call 次の仕事』の中の処理を、
UpdateRSSData の中に入れてしまうというのはいかがでしょうか?

そうすれば指定時間にUpdateRSSDataが動くので、
その中で更新ボタンの押下とトップ20のリストアップをやらせてあげればよいと思います!!

2021年07月17日

大野 了

RSSユーザさん、こんにちは!!

>ところで、ご指定のとおり実験して動作を確認しました。大変ありがとうございました。ところで、これを拡張しまして、時刻α時からβ分おきにN回更新を繰り返したいときは、
>Call Application.OnTime(Cells(1, y), "UpdateRSSData")
>の文につきy=1からNまでをループを組んで実行することは出来ないですね?
こちらですが、ループを組んで動かすことは可能ですので、大丈夫と思います。
β分の間隔が1秒未満だと厳しいですが・・・
分単位であれば問題ないと思います。


>質問の趣旨は、N(更新回数)を変数にしたい。ということでした。
>従いまして、「この仕事が終了した」ことを検知する事が出来れば、ループを組み、任意のNで更新が可能となるのではないでしょうか?
申し訳ございません、ご質問の主旨をいまいち理解できておらず、
RSSユーザさんのご質問に正確に回答できているかわかりませんが、

こちらは時刻αをA1などのセルで指定したように、
N(更新回数)をVBAの外から指定したいという事になりますでしょうか?

もしそれでしたら・・・
B1に更新回数を入れるとした場合
For i = 1 To Cells(1, 2)
という形でループを組めば大丈夫だと思ます!!

何か的外れな返答のような気もしますが、もしその時はまたご返信頂けますと幸いです!

2021年07月16日

RSSユーザー

大野様
ところで、先ほどの質問は、意味があいまいでしたので、以下の様に書き換えますので、よろしくお願いいたします。
質問の趣旨は、N(更新回数)を変数にしたい。ということでした。
従いまして、「この仕事が終了した」ことを検知する事が出来れば、ループを組み、任意のNで更新が可能となるのではないでしょうか?
即ち
If この仕事は終了=true then goto AAA
などとやって、AAAにて、異なった時間が書き込まれたセルを以下
Application.OnTime(Cells(x,y ), "UpdateRSSData")
に埋め込む事が出来れば、Nを可変に出来るように思います。
あるいは、もっと簡単にNを変数に出来る記述の方法があれば、教えていただければありがたいです。

2021年07月15日

RSSユーザー

大野様
7月12日に2回目のワクチン注射を受けまして、次の日悪寒が激しく、ヘロヘロでした!現在なんとか元に戻りました!(回答が遅れたいいわけです!)
ところで、ご指定のとおり実験して動作を確認しました。大変ありがとうございました。ところで、これを拡張しまして、時刻α時からβ分おきにN回更新を繰り返したいときは、
Call Application.OnTime(Cells(1, y), "UpdateRSSData")
の文につきy=1からNまでをループを組んで実行することは出来ないですね?
(Cells(1,1)からCells(1,N)までは時刻が入っているものとします)
もし出来ないとしますと、N=10の場合は、以下の様に10個ズラズラとならべて書かないと駄目なのでしょうか?
Call Application.OnTime(Cells(1, 1), "UpdateRSSData")
Call Application.OnTime(Cells(1, 2), "UpdateRSSData")


Call Application.OnTime(Cells(1, 10), "UpdateRSSData")
あるいは、もっとスマートな記述の方法があるようでしたら、教えていただければありがたいです。

2021年07月15日

大野 了

RSSユーザーさん、こんにちは!!

うまくいきましたか、よかったです!!

>1.更新を行う時間を、シートAのセルA1に書いて(08:00:20とか)おきたいのですが、その場合、マクロをどのようにすれば良いでしょうか?
こちらは以下のように記述することにより、A1に指定した時間で起動すると思います。
Call Application.OnTime(Cells(1, 1), "UpdateRSSData")



>2.ファイルを立ち上げた瞬間は、QUOTE_M関数が書き込んであるセルはすべて#VALUE!となっており、設定された時間が来れば、自動的に更新されます。この、ファイルを立ち上げた瞬間の状態に戻す命令はあるでしょうか?(デバグのとき便利です!)
んー
こちらは、#VALUEには戻せないよう気がします・・・
岡三RSSを再起動してもダメですし・・・

2021年07月13日

大野 了

RSSユーザさん、こんにちは!!

うまく表示できてよかったです!!

更新ボタンの件ですが、
岡三RSSのアドインの右から3つ目の矢印がぐるっと回ってるようなボタンが
更新ボタンとなります!!

このボタンを押してあげると、QUOTE_Mなどの手動更新系のデータが更新されます!!

2021年07月09日

RSSユーザー

大野様へ
お早うございます。本日午前3時に起きまして、教えていただいた通りに実験し、完全に動作する事を確認しました!大変ありがとうございました! 銘柄数は9001~9999に制限したのと、実行した時間帯が午前3時頃で、誰もWIFIを使っていなかった為と思われますが、更新は1秒から2秒程度で終了しました!
 ところで、以下二つにつきまして教えていただければありがたいです。
1.更新を行う時間を、シートAのセルA1に書いて(08:00:20とか)おきたいのですが、その場合、マクロをどのようにすれば良いでしょうか?
2.ファイルを立ち上げた瞬間は、QUOTE_M関数が書き込んであるセルはすべて#VALUE!となっており、設定された時間が来れば、自動的に更新されます。この、ファイルを立ち上げた瞬間の状態に戻す命令はあるでしょうか?(デバグのとき便利です!)

以上よろしくお願いします。

2021年07月12日

大野 了

RSSユーザさん、こんにちは!!

自分の環境は
4年前に購入したワークステーション
有線LAN
となります。

RSSユーザさんのPCが1分もかかってしまう理由がわからないためなんとも言えませんが、
岡三RSSはそんなにPCのスペックを要求しないので、PC自体はメモリが乗っていれば問題ないかと・・・
有線LANに変えてみるのが、費用も掛からないですし試してみる価値ありそうですね!!

さて自動更新の件ですが、
RSSユーザさんのご認識通りマクロでやってあげる必要があり、以下の行で自動更新を掛けることができます。

やり方としては
1.更新ボタンを押す関数を作成する
2.更新ボタンを押す関数を定刻実行する設定を行う
となります。

ひとつずつ説明しますと・・・


1.更新ボタンを押す関数を作成する
 こちらは『標準モジュール』か『ThisWorkbook』の中に

Public Sub UpdateRSSData()
Application.CommandBars("岡三RSS2").Controls.Item("更新").Execute
End Sub

 と作ってあげたら自動で更新が実行されるようになります。



2.更新ボタンを押す関数を定刻実行する設定を行う
 決められた時刻に実行は、OnTime メソッドを使うのが一番簡単だと思います。
 以下のように記述しますと、
 8時に先ほどUpdateRSSDataという関数を動かすことができるようになります!!

Call Application.OnTime(TimeValue("08:00:00"), "UpdateRSSData")

2021年07月11日

RSSユーザー

大野様
3~4秒ですか!驚きました!圧倒的な差ですね。こちらの環境は、PCが2年前に購入したノートPC、LANはWIFI、回線数は1回線のみ使用(先物の自動売買は終了後)でした。これを、高性能PC、LANはルーターとのケーブル直結、とすれば3、4秒になるんですかね? ところで最後の質問です。決められた時刻に自動的に更新する方法があれば教えていただければありがたいです。(例としてセルに書き込む関数とか、マクロにプログラムを書き込むとか)

2021年07月11日

大野 了

RSSユーザさん、こんにちは!

更新ボタンうまく行きましたか!!
良かったです!!

そうですねー
自分の環境が最高の環境なのかはわかりませんが、
とりあえず自分もやってみましたー

土曜日の9:00の時点で、3,4秒程度で全量取得できました。
休場中なので、きっと通信負荷も低いでしょうし、何とも言えませんが・・・

2021年07月10日

RSSユーザー

大野様
教えて頂いた通り、アドインの更新ボタンを押すことにより、QUOTE_Mが実行されるのを確認しました! 実のところ○○_Mの各種関数につきましては全く何も理解していなかった!という事に気が付きました。大変ありがとうございました! ところで、企業コード1001から9999までの全ての銘柄のデータ(企業名、前日終値、始値、現値の4個)を取得するのに、大体1分ぐらいかかりましたが、これは遅い方でしょうか? 最高の環境ではどれくらいの時間で取得出来るか、ご存知でしたら教えていただけたら嬉しいです。

2021年07月10日

RSSユーザー

大野様
教えていただいた方法にて、銘柄名を出力することが出来ました。ありがとうございます!
その後、岡三RSS集いの広場から、一般株のサンプルファイルをダウンロードしまして、そのファイルに新たにシートを追加し、各銘柄のデータを取ろうとしました。しかし、500銘柄程度でそれ以上はデータが取れなくなりました。マニュアルを調べましたところ、QUOTE_Mであれば数量に制限が無いということがわかりまして、QUOTE_Mに書き換えました。ところが、「手動更新」の意味がわかっていないことに気が付きました!「更新」とは、どこかに更新ボタンがあるのでしょうか?あるいは、マクロに更新のプログラムを書けばよいのでしょうか?このあたりを教えていただければ幸いです。

2021年07月09日

大野 了

RSSユーザさん、こんにちは!!

"=QUOTE(I3,1,2)"の、第二引数と、第三引数ですが
第二引数:市場コード
第三引数:取得項目
となっていますので

銘柄名を取得したい場合は、
=QUOTE(I3,"","銘柄名")
とする必要があります!!

また、サービスの利用時間に関してですが、
基本岡三RSSにログインできる時間帯は、市場が閉まっていてもデータは取得できます!!

2021年07月06日

T・S

過去のオプション価格の取得について

テストのため、過去のオプション価格データを取得したいのですが、可能でしょうか。
できれば過去3年以上、毎日のATMのコール/プット価格が必要です。

過去の質問を検索してみたのですが見つからなかったので、初歩的な質問で恐縮ですがご教示ください。

2021年11月11日

T・S

大野様
いつもご回答ありがとうございます。

日経平均の終値からATMを計算してOPCANDLEで取得する方法を考えてみます。

いつもご丁寧にご教示くださり、本当にありがとうございます。

2021年11月12日

大野

T・Sさん、こんにちは!!

オプションのデータほしいですね・・・

岡三RSSには、OPCANDLEという関数があって、
これで過去3年分の価格を取得できますが
権利行使価格に”ATM”という指定ができないため、

日々のATMの値を日経平均などから計算して、それで繋ぎ足を作ってあげる必要があると思われます。

ATMの価格の繋ぎ足ほしいですね・・・確かに・・・

2021年11月11日

三郎

rssでの逆指値注文について教えて下さい。

ネットトレーダープレミアムで、先物OP注文を選択し、単価[新規]を逆指値にし、その下のボックスに「達成後ー指値」とすれば、市場価格が達成されたら指値で発注するという事になると思うのですが、それを関数でやるにはどうしたらいいのでしょうか。

2023年04月29日

三郎

さっそくありがとうございます。
試してみます。

2023年04月30日

大野 了

三郎さん、こんにちは!!

FNEWORDERで逆指値注文を行いたい場合は、以下の引数の設定を行います!!

執行条件(第7引数):8(逆指値)
単価(第8引数):逆指値の発火価格
発注条件(逆指値指定時)(第17引数):逆指値達成後の発注条件
発注単価(逆指値指定時)(第18引数):逆指値達成後の発注単価

2023年04月30日

RSSユーザー

歩み値の取得方法について

一般株の銘柄につきまして、以下ご存知の方がおられましたら、教えていただければ幸いです。
1.1日分の歩み値のデータがあれば、デイトレの場合のバックテストが出来ると思いますがいかがでしょうか?
2.岡三RSSの関数の中にTICK という関数がありますが、残念ながら最大300本しか取得できません。他に3000本程度歩み値を取得する方法は無いでしょうか?(バックテスト用ですので、リアルタイムである必要はありません)
3.ネットトレーダープレミアムライトというツールの中に、歩み値というボタンがあり、ここをクリックして歩み値を出力し、板の上を右クリックしますと、1万本まで歩み値を取得することが出来る事を偶然発見しました。しかし、多くの銘柄(例として100銘柄)の歩み値を取るのは、時間がかかって現実的ではありません。自動的に歩み値を取得する方法はあるでしょうか?

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

2021年08月30日

RSSユーザー

大野様
UWSC、あるいはRPAの件了解しました。UWSCについては、完全に忘れておりました。数年前に使った経験がありますので、これでやってみたいと思います。ありがとうございました。

2021年08月31日

大野 了

RSSユーザさん、こんにちは!!


>1.1日分の歩み値のデータがあれば、デイトレの場合のバックテストが出来ると思いますがいかがでしょうか?
そうですねー
デイトレされるときのロジック次第だとは思いますが、
さすがに一日分だけですと、統計的に有効かどうかを証明するのは個人的に厳しいと思います!!


>2.岡三RSSの関数の中にTICK という関数がありますが、残念ながら最大300本しか取得できません。他に3000本程度歩み値を取得する方法は無いでしょうか?(バックテスト用ですので、リアルタイムである必要はありません)
こちらは下記の質問でRSSユーザさんがおっしゃられてます通り、
リアルタイムでなくてもよい場合はネットトレーダーから取得する方法があります!!
ネットトレーダーですと比較的大きなデータを取得することが可能です!!


>3.ネットトレーダープレミアムライトというツールの中に、歩み値というボタンがあり、ここをクリックして歩み値を出力し、板の上を右クリックしますと、1万本まで歩み値を取得することが出来る事を偶然発見しました。しかし、多くの銘柄(例として100銘柄)の歩み値を取るのは、時間がかかって現実的ではありません。自動的に歩み値を取得する方法はあるでしょうか?
そうですね・・・
ネットトレーダーとかはVBAで制御するのが難しいと思いますので、
UWSCやRPAなどのツールを使用して100銘柄を取得するタスクを作成して
取得するやり方はいかがでしょうか?

2021年08月31日

岡三オンライン証券

岡三RSS(国内株式・先物OP)の機能拡充について

いつも岡三RSSをご利用いただき、誠にありがとうございます。

8/28(土)に岡三RSSの機能拡充を予定しています。

今回の機能拡充では、指数情報16種・通貨種別12種の追加などをいたします。

なお、下記の指数情報4種は、今回削除となるため今後は使用ができなくなります。
使用されているお客さまにおかれましては、ご注意くださいますようお願いいたします。

■8/28(予定)に削除対象となる指数情報
テルアビブ100種指数
ヨルダンアンマン指数
エジプトヘルメス指数
モロッコCFG25種指数

詳細は下記のお知らせよりご確認ください。

■岡三RSS(国内株式・先物OP)の機能拡充について
https://www.okasan-online.co.jp/information/2021/0823a/

■メンテナンス日時(予定)
2021年8月28日(土)06:00 ~ 10:00頃

※メンテナンス終了後、岡三RSSを起動させると自動アップデートが行われます。

引き続き、岡三RSSをご利用くださいますようお願いいたします。

2021年08月23日

RSSユーザー

9/9の60分足16:00が無い件について

FCANDLE_M関数を9/10に実行しましたが、下記の通り、9/9 16:00だけ取得されていません。
9/8 16:00は、取得されています。
これは、バグなのでしょうか。調査をお願い致します。

FCANDLE_M("N225mini","0","60","0","取引日付",B2,"D","42") FCANDLE_M("N225mini","0","60","0","約定時刻",C2,"D","42") FCANDLE_M("N225mini","0","60","0","始値",D2,"D","42")
2021/9/10 5:00:00 29945
2021/9/10 4:00:00 29945
2021/9/10 3:00:00 29895
2021/9/10 2:00:00 29975
2021/9/10 1:00:00 30010
2021/9/10 0:00:00 30055
2021/9/9 23:00:00 30000
2021/9/9 22:00:00 29955
2021/9/9 21:00:00 29960
2021/9/9 20:00:00 29875
2021/9/9 19:00:00 29915
2021/9/9 18:00:00 29885
2021/9/9 17:00:00 29855
2021/9/9 15:00:00 30000
2021/9/9 14:00:00 29955
2021/9/9 13:00:00 29950
2021/9/9 12:00:00 30005
2021/9/9 11:00:00 30055
2021/9/9 10:00:00 30020
2021/9/9 9:00:00 29945
2021/9/9 8:00:00 29920
2021/9/9 5:00:00 29960
2021/9/9 4:00:00 30000
2021/9/9 3:00:00 30005
2021/9/9 2:00:00 30030
2021/9/9 1:00:00 29990
2021/9/9 0:00:00 29990
2021/9/8 23:00:00 30160
2021/9/8 22:00:00 30155
2021/9/8 21:00:00 30145
2021/9/8 20:00:00 30195
2021/9/8 19:00:00 30145
2021/9/8 18:00:00 30025
2021/9/8 17:00:00 30025
2021/9/8 16:00:00 29920
2021/9/8 15:00:00 30190

2021年09月10日

岡三オンライン証券

RSSユーザーさま、らぱんぬさま

12/9(木)大引け後にデータ取得できることが確認できました。

もし、取得できない場合には、岡三RSSをいちどログアウト、そして再度ログインしてください。

引き続き、岡三RSSをご愛顧くださいますようお願い申しあげます。

2021年12月09日

岡三オンライン証券

RSSユーザーさま、らぱんぬさま


開発会社よりSQ日をまたぐ期近「時足」においても、データ取得ができるよう改修が完了したと報告がありました。

このたびは、大変お待たせいたしました。

引き続き、岡三RSSをご愛顧くださいますようお願い申しあげます。

2021年11月29日

岡三オンライン証券

RSSユーザーさま、らぱんぬさま

いつもお世話になっております、岡三オンライン証券です。
開発会社より改修の準備ができたとの報告がありました。
11/28リリース予定となっております。

いましばらくお待ちくださいますようお願い申しあげます。

2021年11月15日

らぱんぬ

え~~~~~

こんなイージーなバグをずっと放置していたの???

っていうクレームはしないでおきます(汗)

速やかな対応ありがとうございました! 今後とも岡三RSSの拡充に期待しております!

2021年09月11日

岡三オンライン証券

RSSユーザーさま、らぱんぬさま

お待たせいたしました。
開発会社から調査の途中報告があり、データ作成時の不具合が確認できました。

近日中に改修を実施いたします。
また、対応完了の際は、こちらのスレッドにて改めてお知らせいたします。

今回の影響範囲は「時足」となりますので、「15分足(取得期間は0以外)」などのデータをご利用くださいますようお願い申しあげます。

2021年09月10日

岡三オンライン証券

RSSユーザーさま、らぱんぬさま

いつも岡三RSSをご利用いただき、誠にありがとうございます。

現在、開発会社へ調査を依頼しております。

いましばらくお待ちくださいますようお願いいたします。

2021年09月10日

らぱんぬ

類似の問題ですが、SQ日をまたぐ期近H1足の16:00の取得値がおかしいと思います。
限月入れ替えの日のH1足の16:00のOHLCが4本とも15:15の終値になっており、
これでは誤ったトレードシグナルが出てしまいます。是正をお願いします。

FCANDLE_M("N225mini","0","60","30","取引日付",D23,"D","10") FCANDLE_M("N225mini","0","60","30","約定時刻",E23,"D","10") FCANDLE_M("N225mini","0","60","30","始値",F23,"D","10") FCANDLE_M("N225mini","0","60","30","高値",G23,"D","10") FCANDLE_M("N225mini","0","60","30","安値",H23,"D","10") FCANDLE_M("N225mini","0","60","30","終値",I23,"D","10")
2021/9/10 10:00:00 29925 29925 29865 29890
2021/9/10 9:00:00 29890 30005 29845 29925
2021/9/10 8:00:00 29930 29955 29865 29890
2021/9/10 5:00:00 29945 29955 29910 29920
2021/9/10 4:00:00 29945 29990 29910 29940
2021/9/10 3:00:00 29895 29960 29865 29950
2021/9/10 2:00:00 29975 29985 29880 29890
2021/9/10 1:00:00 30010 30010 29950 29975
2021/9/10 0:00:00 30055 30090 29970 30005
2021/9/9 23:00:00 30000 30075 29995 30060
2021/9/9 22:00:00 29955 30010 29920 30000
2021/9/9 21:00:00 29960 29990 29930 29955
2021/9/9 20:00:00 29875 29970 29875 29960
2021/9/9 19:00:00 29915 29925 29865 29875
2021/9/9 18:00:00 29885 29935 29850 29915
2021/9/9 17:00:00 29855 29935 29840 29885
2021/9/9 16:00:00 29995 29995 29995 29995 ← ココがおかしい
2021/9/9 15:00:00 30000 30015 29985 29995
2021/9/9 14:00:00 29955 30005 29945 30000

2021年09月10日

上野

岡三RSSを再ダウンロード後、アドイン追加できません

一昨日、外出先にて普段使用しているノートPCから、外出先のwifi経由で岡三RSSに繋いだ所、「情報配信サーバーへ接続できません。ネットワークの設定を確認してください。」と表示され、ログインする事が出来ませんでした。
代わりに普段使用しているiphoneとノートPCをテザリングで繋ぎ、再度試みるも同様の結果となりました。

なお、過去にも外出先にて、外出先のwifiもしくはiphoneをテザリングして岡三RSSに問題なく繋げた事があります。

昨日、自宅にて、普段使用しているwifi経由で岡三RSSを繋ごうとしても同様のメッセージが出てログイン出来ず。
Program Files(x86)からOkasan Online Securites Co.,Ltdを削除し、再ダウンロード、再起動を試みました。

結果、岡三RSS自体はダウンロードでき、今までのようなメッセージも表示されることなく、ログインも出来たのですが、今度はExcelのアドイン追加が出来ません。
Program Files(x86)内にOkasan Online Securites Co.,Ltdが存在せず、アドインを追加する事が出来ません。

Cドライブ内を探してみましたが見つけられず…

このような場合、どのように対処すればよろしいのでしょうか?

2021年09月16日

大野 了

ワクワクワークさん、こんにちは
&
お久しぶりです!!

おふたり野!!
確かに(笑
気が付きませんでした!

貴重な情報ありがとうございます!!
勉強になります!!

参照設定が勝手に外れちゃう原因ですかー
Excelでネット上のファイルだとVBAなどの動作を止める設定があって、
それで外れることもありそうですけど、
トラストセンターであわされているのであれば、それが原因な可能性は低そうですねー

あと、可能性として考えられるのはWindowsのBit数が異なってて、
参照設定先のパスが変わってしまい外れる感じでしょうか・・・
でも、Windowsのbit数が違ってもクラスIDで指定されてたら、大丈夫な気もするんですが・・・
&
また、その時は『参照不可』って表示になりそうな気がして・・・
んーん

2021年09月26日

ワクワクワーク

windows11アップデートに伴い、いろいろ再イントールする可能性を考えると、上野さんと大野さんお二人の(おふたり野?(笑))やり取り、とても有益に拝読しました。

私のほうでも、時々、似たような以下のことが起きて困っていました。情報共有させてください。

(1)fNewOderなどの基本的なRSSの関数が「Sub または Function が定義されていません。」というエラーではじかれる。

(2)以前参考にしたサンプルシートを参照する設定になっていて、そのファイルがないとメッセージが出る。しかも、クラウドストレージにサンプルファイルを保存していたので、そのクラウドストレージのURL付きで、メッセージが出る。実際には、そのサンプルシートのエクセルシート(注文画面など)は使っているが、そのサンプルシートのコードは利用していない。

ちなみに、私はいくつかのPCで開発や運用や最適化を分割して行っていて、クラウドストレージで各PCを連携しています(NASは地震・洪水・停電などがあるとアウトなので、バックアップだけに利用しています)。そのため、それぞれのエクセルでトラストセンターやライブラリファイルなどの設定は同じにしています。しかし、あるPCで開発や最適化したものを、別のPCに移してみると異常が起きることが多いようです。特に、最新版の自動アップデートの後に、おかしな挙動を示すことが多いです。

最初はPCごとにクラウドストレージを保存している物理的な場所が違っていたり、PCのローカルログインネームが違いますので、そのせいと思っていたのですが、違うようです。VBAのツールから参照設定を見ると、岡三RSSのライブラリファイルのチェックが(そのほかの利用しているライブラリファイルのチェックも)なぜか外れていて、そのチェックを付けると (1)も(2)も解決しました。

いったいなぜそういうことが起きるのか、また(1)は説明がつくのですが、(2)は説明がつかないので、キツネにつまされたような心地がしています。

2021年09月26日

大野 了

上野さん、こんにちは!!

直りましたか!!
よかったです!!

こちらこそ明確な原因特定できずにすみません・・・(涙
何はともあれ、解決できたようでよかったです!!

安定稼働することを祈ります!!

2021年09月24日

上野

大野さん 

こんにちは!何とか全て直りました!!!恐らく…
教えて頂いたこと等を何度か試してみてやっと…
良かったです…ありがとうございます!!!
このまま安定稼働してくれる事を願います…

もう削除したり、変にいじったりしません(ToT)
いつもいつも深い知識と親身なご対応、誠にありがとうございます!!!

2021年09月24日

大野 了

トラストセンターの確認.xlsx (89.6KB)

上野さん

#NAMEのエラーがどうしても気になったので、Excelのセキュリティを上げてみました。
すると上野さんと同じ#VALUEのエラーが発生しました。

Excelのエラーで止まっている可能性も考えられますので、
添付ファイルのトラストセンターの設定も確認して頂けますと幸いです!!

2021年09月22日

大野 了

アドイン再設定.xlsx (78.9KB)

あっすみません、Windowsのbit数は64bitみたいですね・・・
上のコメントの質問の2番は無視してください!!


多分ですが、現状お聞きしていると、Excelアドインが正常に組み込まれていない感じがしています。
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn
に『岡三RSS.xla』というファイルはありますでしょうか?

もし存在する場合、以下の事を試して頂けますでしょうか?

1.アドインの再設定
言葉で書くと面倒だったので、添付のExcelファイルをご覧ください!!(笑

2.もしアドインの再設定で改善しなかった場合
再設定手順の7番を
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn\岡三RSS.xla
ではなく
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\岡三RSS.xla
の方を再設定してみて頂けますでしょうか?

以前『Okasan Online Securites Co.,Ltd』を直接消されたとのことだったので、
アドインが正常に登録できていないかもしれません!!


ですが一点気になるのが・・・
このExcelアドインがおかしくなる現象はたまにあるのですが・・・
この時のエラーって#NAME!だった気がしていて・・・


これで直るとよいのですがー

2021年09月22日

大野 了

上野さん、こんにちは!!

なるほどー

そういう事だったんですねー
今回、詳しくお伺いした内容だと他のExcelファイルへのリンクではなさそうですね・・・
失礼しました・・・


それでは数点お尋ねさせてください!!

1.以前お伺いした以下の内容に関してですが
>なお、岡三RSSを使用しているブックは2つ(仮にA、Bとします)あり、
>先日動作確認したものはBでした。これは普段、大引け後に個別全銘柄の4本値データを取るもので、
>ブックサイズも比較的軽かった為最初に動作確認として使用しました。
>こちらは、上記の「このブックには、安全ではない~~」のメッセージは今の所出てきません。

こちらは、

異なるExcelファイルAとBがあり、
"同一PC上で"ファイルBは問題なく岡三RSSの関数が動き、
Aのファイルはリンクの更新確認が出て値が取得できないことがある。

また、新規でExcelファイルを作成して岡三RSSの関数を組み込むと
必ずリンクの更新確認が出てしまう

という事で間違いありませんでしょうか?


2.Windowsのbit数は64bit版になりますでしょうか?

2021年09月22日

上野

リンク.JPG (85.1KB)

大野さん

こんばんは。早速のご返答ありがとうございます!
教えて頂いた、

 1.データ(メニューバー)
 2.リンクの編集
 3.リンクの編集ダイアログが表示されたら『リンクの削除』を押下

上記を実行すると、QUOTE_M関数が#VALUE!になってしまいます…

ちなみに、まっさらなブックを開いた状態では、もちろんリンクはありませんが、
普段使用しているQUOTE_M関数やIDX関数を入力すると、添付のようにリンクされます。

これは正常ではないという事でしょうか…


合わせて、ブックを開くと毎回セキュリティの警告が出ます。
コンテンツの有効化を押下する事で、アドインのリボンが出てきます。

これも正常ではないでしょうか…


何度も恐れ入りますがご教授下さい。
よろしくお願いいたします。

2021年09月22日

大野 了

上野さん、こんにちは!!

RSSの関数を記述しても、このリンクの更新の有無は聞いてこないため、
もし外部のExcelファイルへのリンクを埋め込んでいない場合、
計算式などをほかのExcelシートからコピーした際に、
どこかに入ってしまったのだと思われます。

もしリンク先のデータが不要であれば

1.データ(メニューバー)
2.リンクの編集
3.リンクの編集ダイアログが表示されたら『リンクの削除』を押下

これで外部リンクを削除することが出来ます!!

2021年09月22日

上野

大野さん

先日、動作確認も問題無しとコメントしましたが、他のエクセルを開いた所、
今まで出てこなかった下記メッセージが出てきます。

「このブックには、安全ではない可能性のある外部ソースへのリンクが1つ以上含まれています。
リンクを信頼できる場合、リンクを更新して最新データを取り込みます。信頼できない場合は、データをそのまま手元で処理してかまいません。」


「更新する」「更新しない」のどちらかを選択し、今まで通りデータを取り込みが出来る事もあれば、出来ない事もあります。
この場合、どのように対処すれば良いのでしょうか…?

なお、岡三RSSを使用しているブックは2つ(仮にA、Bとします)あり、
先日動作確認したものはBでした。これは普段、大引け後に個別全銘柄の4本値データを取るもので、
ブックサイズも比較的軽かった為最初に動作確認として使用しました。
こちらは、上記の「このブックには、安全ではない~~」のメッセージは今の所出てきません。

問題は、Aのブックです。普段何回も使用しますが、上記メッセージが出て、「更新する」を選択して出来る場合と、「更新しない」で出来ない場合、そして、どちらでも出来ない場合があります。
ブックサイズも大きい為、開くのにも時間がかかって、何度もやり直して…途方に暮れています…

是非ともご教授下さい。
よろしくお願いいたします。

2021年09月22日

上野

大野さん

こんにちは。ご丁寧にありがとうございます!!!

2021年09月18日

大野 了

上野さん、こんにちは!!

自分はRSSを作ってる人ではないため、
残念ながら正確な内容をお伝えすることはできないのですが、
いろいろなお話を聞いていると、情報を取得サーバーまで通信が届かなかったときに出ているようです。

丁度、同じタイミングで同様のご質問を受けたのですが、
その方はネットワークのセキュリティの関係で、情報配信サーバーに繋がらずこのメッセージが発生していたようでした。

ですが、上野さんの場合ですと、テザリングに変えてもダメだったとのことでしたので、
岡三RSSが何かの拍子でおかしくなってしまい、通信ができなくなり、
その後再インストールで直ったという感じだと思います。

想像レベルの話しかできず、申し訳ありません・・・


何はともあれ、解決できたようでよかったです!!

2021年09月17日

上野

大野さん

こんばんは!教えて下さった通り実行して、無事に再インストール出来ました!動作確認も問題無しです!
いつもありがとうございます!!!

ちなみに、
「情報配信サーバーへ接続できません。ネットワークの設定を確認してください。」と表示されたのは何だったのでしょうか…
外出先のwifiだったからか、私のPCの設定か、それともたまたまその日に何かあったのか…
原因が分かれば次回に対処できると思い、もしご存じでしたらご教授下さい。
よろしくお願いいたします。

2021年09月17日

大野 了

上野さん、こんにちは!!

もしかすると直接フォルダを削除されたことにより、
再インストール時にExcelアドインがインストールされなかったのかもしれません。

岡三RSSは少しわかり辛いのですが、インストーラーを動かすと
岡三RSS本体とExcelアドインが2つインストールされます。
たまに環境がおかしくなると、再インストールした際に、
岡三RSS本体しかインストールされない場合があるため、もしかしたらこの現象かもしれません!!


以下の手順にて岡三RSSを削除後、再インストールを試して頂けますでしょうか?


1.Windowsの『アプリと機能』から『岡三RSS』をアンインストール
2.Windowsの『アプリと機能』から『岡三RSSエクセルアドイン』があればアンインストール
3.以下のサイトの手順で、clickonceの情報を削除
http://blog.regrex.jp/2016/09/02/post-972/
4.岡三RSSの再インストール


これで解決するとよいのですが・・・

2021年09月16日

sigebo

FQUOTE取得時の秒時間

FQUOTEでは取得時の時間は時分秒で取得できますが、正しいミリセコンドを取得する方法はありませんか。
パソコンの時刻で代用するしかないでしょうか。時刻同期を正確にやるよりないですか。

2023年05月24日

sigebo

わかりました。ありがとうございました。

2023年05月24日

大野 了

sigeboさん、こんにちは!!

残念ながら、岡三RSSでミリセカンドの時刻は落ちてこないため、
VBAなどを使用して、パソコンの時刻で代用するしかないと思われます・・・

また『時刻同期を正確にやる』とありますが
こちらは、JPXでの本来の約定時間とミリセカンド単位で完全に合わせたいということでしょうかー?
それでしたら、個人投資家が取り扱えるデータは、そもそも秒単位で遅れてると思いますので、
JPX側の約定情報とミリセカンド単位で完全に合わせるのは難しい感じです。
※これは岡三RSSの制限というより個人投資家の取引環境上仕方ないと思います。

ですので『VBAなどを使用して、ローカルPCを基準としたミリセカンド管理』という感じになると思いまーす。

2023年05月24日

ももんがーZ

サンプルシート

解説動画「岡三RSSでできること2」に出てくる
2011年10月26日公開サンプルシート「条件合致回数カウントVBA」はどこにあるのでしょうか。
もうすでに削除されているのでしょうか。

2023年05月28日

大野 了

ももんがーZさん、こんにちはー

おー!!
良かったです!!

2023年05月28日

ももんがーZ

大野さん、ありがとうございます!!
これです。これを探していました。

2023年05月28日

大野 了

ももんがーZさん、こんにちはー

動画を観ていないので、もし違っていたら申し訳ないのですが、
こちらのファイルが『条件合致回数カウントVBA』となっていましたので、
もしかしたらこちらかもしれません!!

https://www.okasan-online.co.jp/ont/use/sample/sheet/20111026.zip

2023年05月28日

Ken

一般株の発注、決済処理について

小野様へ
Kenです。その節は「IfdoneOCO+時間決済サンプル」にて大変お世話になりました。
今回は、一般株についての自動売買についてお聞きいたしたく、よろしくお願い致します。
発注すべき銘柄のコードを手で入力し、発注ボタンをおせば、以下の手順で自動的に発注と決済が
実行されるシステムを作りたいのです。
1.指定された銘柄の株を成り行きで新規発注。
2.新規発注した株が約定した事を確認する。
3.約定後、直ちに設定された、トレール幅でトレーリングストップアルゴリズムにより決済される。

以上ですが、「IfdoneOCO+時間決済サンプル」の場合、Sub PCTimeUpdate() により6秒置きに
計算を行って、発注、決済処理が行われていました。一般株の場合はこれと同じやり方でやる必要があるのでしょうか?あるいは、もっと簡単にできてしまうのでしょうか?その辺りを教えていただければ幸いです。

2021年09月21日

大野 了

ケンさん、こんにちは!!

はい!!大丈夫と思います!!
うまく行くことを祈ります!!!

2021年09月30日

ケン

小野様
ORDQUERY(2, , )にすれば良い件了解しました。
これでやってみたいと思います。
大変ありがとうございました!

2021年09月30日

大野 了

ケンさん、こんにちは!!

残念ながら、現物株にFOPEXECと同様の関数はありません。

FOPEXECは約定情報を取得する関数ですので、
ORDQUERYで第一引数を約定済み完了(2)にして情報を取得すると
同様な情報は取れると思います!!

2021年09月28日

ケン

大野様
了解です。情報大変ありがとうございました。
ところで、IfDoneOCO+時間決済 的な先物用の、非常にガードが堅いものと、
非常にシンプルな一般株用の いづれかを採用すべきか迷っていましたが、両方のいいとこ取
りをすることにしました。そこで、先物用から、3枚のシート(注文照会、約定一覧、保有)をコピーして一般株に貼り付けることにしました。ところが、シート“約定一覧”に使用されている
=@FOPEXEC(A3,A4) に相当する一般株用の関数が見当たりません。換わりにどんな関数を使用すればよいか教えていただければ幸いです。

2021年09月28日

大野 了

ケンさん、こんにちは!!

URLとファイルありがとうございます!!
教えて頂いたサイトを見てみたのですが、見つけられませんでした・・・

添付されているファイルも確認したのですが、
変換時にVBAが消えていて、正確なことは言えない感じですが
多分、約定後、現在値が変わるたびにトレーリングの判断をする形になると思います!!

2021年09月27日

大野 了

ケンさん、こんにちは!!

すみません・・・
サンプルを見てみようと思ったのですが、見つけることが出来ず・・・
09_trailorderはどのURLに上がっているサンプルになりますでしょうかー?

2021年09月26日

ケン

大野様へ
昨日久しぶりに岡三RSS集いの広場にて、サンプルを調査してみましたら、09_trailorderというサンプル
ファイルが見つかり、早速ダウンロードして見てみました。ほぼマクロ無しでexcelの関数だけでトレーリ
ングストップによるイグジット処理が出来ておりました。確かに大野様が仰られるように、純粋マクロのようなシンプルな感じはなく、一目ではわかりにくい感じでした。なんとかフローチャートを書いてみて
全体を理解することが出来ました。そこで疑問が湧きました。IfdoneOCO+時間決済のサンプルの場合のPCtimeUpdateでは、6秒置きでしたが、この一般株の場合、何秒おきに処理されているのでしょ
うか?あるいは、約定があったときだけサーバーから情報のアクセスがあるのでしょうか?このあた
り教えていただければ幸いです。

2021年09月26日

大野 了

ケンさん

もともとが先物用なので、だいぶ大変だとは思いますが、
うまく行くことを祈ります!!

2021年09月22日

Ken

大野様
了解しました。PCTimeUpdate でやってみたいと思います。ありがとうございました。

2021年09月22日

大野 了

ケンさん、こんにちは!!
お久しぶりです、お元気でしたでしょうかー?

さて、ご質問の件ですが、
先物と現物は基本同じ感じで発注がされますので、
現物株に変更したことにより、簡単にできる手法があるかといわれると、残念ながらない感じになります。

また、「IfdoneOCO+時間決済サンプル」と同じ仕組みでやるとしたら、
ケンさんのおっしゃられます通り、
PCTimeUpdateのような感じで、繰り返しマクロを動かし、
その中でトレーリングストップの判断をするのが最終的に簡単だと思います。
VBAを使わずにセル関数だけでできなくもないですが、
関数が複雑になりすぎて、逆に大変になってしまうかとー

2021年09月21日

RSSユーザー

2台のPCでの負荷分散は可能でしょうか?

岡三RSSの初心者です。定期的に株価情報をQUOTE_Mを使って知る方法を最近この「集いの広場」から体得し、大変重宝しております。しかしながら、有望な銘柄のローソク足を描かせようとしますと、処理が重くなり、株価情報のダウンロードに支障を来すようになってきました。従いまして、以下のようなことをしたいのですが、可能でしょうか?どなたか教えていただければありがたいです。
1.現在岡三RSSに接続しているPCをPC1とする。
2.隣のPC(PC2とする)とLanあるいは、USBケーブルで接続する。
3.PC1にて得られた有望株の銘柄コードを、定期的にPC2へ送る。
4.PC2では、PC1から送られてくる銘柄コードの銘柄のローソク足を描かせる。
以上です。よろしくお願いします。

2021年08月04日

大野 了

RSSユーザさん、こんばんは!!

こちらこそ、サイトのURLのコピペで申し訳ありません。
まずはLANの環境構築がうまくいくことを祈ります!!

2021年08月04日

RSSユーザー

大野様
懇切丁寧な説明ありがとうございました。明日、共有化に再度挑戦してみたいと思います。これに失敗しますと、USBケーブルを購入するしかなさそうです!大変ありがとうございました。

2021年08月04日

大野 了

RSSユーザさん、こんにちは!!

LANの構築は確かにネットワークの構成によりやり方が異なるので、
うまくいくことを祈ります!!

さてご質問の件ですが

>PC1にて有望株データを共有フォルダに掃き出すにはどのようにすればよろしいでしょうか?
こちらですが、手順が多いので、まとまっていてわかりやすそうなWebページを探しました
こちらをご参考いただけますと幸いです。
https://tonari-it.com/vba-txt-print/

こちらのページはテキストファイルという文字だけのファイルを作成するサンプルになっております。
こちらを参考に、対象の銘柄のデータをテキストデータとして出力していただければと思います!!


>PC2で見えたデータをどのようにexcelに取り込めば良いのでしょうか?
こちらも手順が多いため、参考になりそうなWebページを探しました(この流ればっかりですみません・・・
http://officetanaka.net/excel/vba/file/file08b.htm
このサイトをもとに、PC1で作られたテキストファイルをPC2で読み込むとデータの受け渡しができます。


>2台のPCをUSB接続するケーブル(数千円で購入出来るらしい)を使いますと、クリップボードまで共有出来るとマニュアルに書いてありました。そこで、PC1で動いている株価情報を定期的にクリップボードに書き込めば、PC2の方でデータを取り込めるのではないかと考えました。すなわち、PC1にて、マクロで必要部分をcopyし、PC2でPaste により、時間同期を取って、定期的に取り出す。ということをすれば良いのでしょうか?
こちらはどちらのマニュアルになりますでしょうかー?
USBで別PCを接続してクリップボードの共有といわれているので、
多分どこかの商品とは思いますが、現状の情報だけですとなんとも・・・

windowsにもクラウドクリップボードというPC間でクリップボードを共有する機能がありますが、
VBAから扱おうとすると大変ですので、この場合はテキストファイルなどで情報をやり取りしたが早いと思います!!

2021年08月04日

RSSユーザー

大野様
情報通知ありがとうございます。早速1. をトライしましたが、非常に手順が複雑で、数時間投入してトライしましたが、未だ共有化に成功しておりません(お互いのPCからお互いのPCが見えません!)。そこで、仮に共有化に成功した場合、2.の、PC1にて有望株データを共有フォルダに掃き出すにはどのようにすればよろしいでしょうか?又3.の、PC2で見えたデータをどのようにexcelに取り込めば良いのでしょうか? この方法について教えていただければ幸いです。
又、私のスキルが未熟で、共有化が出来なかった場合、2台のPCをUSB接続するケーブル(数千円で購入出来るらしい)を使いますと、クリップボードまで共有出来るとマニュアルに書いてありました。そこで、PC1で動いている株価情報を定期的にクリップボードに書き込めば、PC2の方でデータを取り込めるのではないかと考えました。すなわち、PC1にて、マクロで必要部分をcopyし、PC2でPaste により、時間同期を取って、定期的に取り出す。ということをすれば良いのでしょうか?
これにつきましても教えていただければ幸いです。

2021年08月04日

大野 了

RSSユーザさん、こんにちは!!

そうですねー

可能かどうかであれば、プログラミングすれば可能です。

複雑なことをせずにやりたいのであれば、
1.PC1とPC2をLANで繋ぎ、共有フォルダを作成
2.PC1で有望株をテキストデータとして共有フォルダに掃き出し
3.PC2で定期的にそのテキストを読み込んで処理
が簡単だと思います。

また、処理がどのようなものかわからないため、なんとも言えませんが
Excelの描画が原因で処理が重たい場合は

処理が重たい部分を
Application.ScreenUpdating = False

Application.ScreenUpdating = True
で囲むと描画を止めることができます!!

注意点としては、エラーなどでVBAが止まった場合に
Application.ScreenUpdating = True
をかけていないと、描画が止まったままになりますので、ご注意ください!!

2021年08月04日

ケン

IfdoneOCO+時間決済サンプルについて

エラー表示(20210329-v001).PNG (208.3KB)

当方、岡三RSSにて、ダウンロードした、サンプルファイル「IfdoneOCO+時間決済サンプル.xlsmを動かそうとしております。このファイルを起動してみて、気が付いたのですがSheet1というシートに、添付の写真の左側に示した警告文とおぼしきものが掲載されている事に気が付きました。おそらく2020年11月14日に、岡三証券のRSS担当のどなたかが、ご親切に挿入していただいたものではないか?と想像しております。ところが、四角の枠内に書かれている文章「このブック内の一部のセルには、他のワークシートの値を参照するデータ入力規則が設定されています。これらの規則は保存されません」の意味が理解できません。どなたかご存知の方にこの意味を教えていただきたく、更に対処方法について教えていただけますれば幸いです。尚当方が現在使用しているexcelのバージョンは最新のものです(岡三RSSで推奨されているバージョン)

2021年03月29日

大野 了

ケンさん、こんにちは

こちらこそお役に立てず申し訳ありませんでした。
何か解決できるとよかったのですが・・・

トレーリングストップうまくいくことを祈っております!!

2021年06月22日

ケン

大野様
複数ファイル運用方法について、いろいろサジェストいただきましたが、残念ながら、現在完全にギブアップです。UとDを一つのファイルで動かすのも、難しそうなので、これはひとまず置いときまして、今後トレーリングストップの追加に集中することにします。170件に渡るQ$A大変ありがとうございました。

2021年06月22日

大野 了

ケン、こんにちは!!

IF(L2*L3*L4<>0、)で干渉が起きてしまうことを考えると、
先日お送りしたURLの対策を掛けても、残念ながらエラーが発生してしまうと思われます。

こちらはやはり一度きちんと原因を調べたが良いですね・・・

2021年06月17日

大野 了

ケンさん、こんにちは

復活おめでとうございます(笑

んーヒントですか・・・
今までやり取りしてきた感じですと、
エラー発注がどのタイミングで起きて、その時の状態がどのようになっているかがいまいちわからないため、
どのタイミングで、その時、各値がどのようになっているかを調べるのが
まずの第一歩だと思います!!

また、ファイルを一つにする件ですが、
VBAなどもすべて2重にするのであれば、取り合えず動きはすると思うのですが、
確かonTimeを使っていたと記憶していますので、
部分の処理だけは1つで複数のシートの動作に対応する必要があると思います。
onTimeを複数並列で使うと動作が不安定になりますので・・・

2021年06月20日

ケン

大野様
おはようございます。あまりのショックに少し寝込んでおりましたが、気を取り直して活動開始しました! 
<こちらはやはり一度きちんと原因を調べたが良いですね・・・
了解しました。どのようにして原因を調査すれば良いか、ヒントを頂けますれば幸いです。
ところで、現在1台に1ファイルで運用しておりますが、1ファイルにてダウントレンドとアップトレンドの両方の機能を持たせる方法を検討しております。例として、シート1でダウントレンドの条件注文シートとし、シート2をアップトレンドの条件注文とし、いずれか先に発動した場合、瞬時に他方をAlllockしてしまう。という方法です。ご意見いただけますれば幸いです。

2021年06月19日

ケン

大野様
提案ありがとうございます。ご指示いただきましたURLを4回くらい読みましたが、良く理解できませんでした。当方のレベルが黒犬様のレベルより遙かに低い為と思われます。より直接的に指示いただけますれば、幸いです。
ところで、残念なことに、IF(L2*L3*L4<>0、)と修正を加えたファイルに、本日エラーが発生しました。当面問題は解決したかと思っていましたが、やはりダメでした!以下報告します。
本日は、ダウントレンドとなり、ダウンファイルの方が返済約定しました(5円の損失!)。間髪をいれず、アップの方のPCに確認画面が現れました!ガックリ来ましたが、気を取り直し、とりあえずOKを押しました。エラー検証シートを見ますと、これまでと全く同じエラー1701でした。条件注文シートを見ますと、今回はL7は“未発注”となっています。(前回(5月19日)は“発注完了”でした)以上の結果から考えますと、L2*L3*L4=0であるにもかかわらず、fneworderが起動してしまったという事を意味しています。これは、マクロが干渉を受けたと同時に、excelの関数も干渉を受けた事を想起させます。(とりあえず例によりまして、アップトレンドファイルの新規注文の取り消しを手動で行いました)
さて、こうなりますと、IF(L2*L3*L4<>0、)も干渉対策として、役に立たないことが証明されました。ご指示いただきました方法につきまして、より具体的に教えていただけますれば幸いです。

2021年06月16日

大野 了

ケンさん、こんにちは

ダウントレンドのエラーは、アップトレンドの決済注文が出たのと同時のタイミングで発生するんですか・・・
それなら、ポジション関数のところに項目間の時差を埋める対応を入れると直るかもしれません。

他の方から頂いた質問のリンクになってしまい申し訳ありませんが、こちらを参考にして頂けますと幸いです。
https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=315#comment_1585

2021年06月16日

ケン

大野様
<そして、干渉調査の件ですが、いまだに試すことができていません。
なにとぞよろしくお願い申し上げます。
<L3が1でL4が0の状態というのは発生する可能性はありそうです。
そうですか!明日、じっくりと考えて見たいと思います。
<こちらは『IF(L2*L3*L4<>0』とされた変更された場合、干渉が発生しなくなりますでしょうか?
本日、実験して、エラーが発生しないことを確認しました。以下その状況を報告します。
1.PC1にて、アップトレンド(IF(L2*L3*L4<>0)と修正済み)を起動した。
2.PC2にて、ダウントレンド(IF(L2*L3*L4<>0)と修正済み)を起動した。
3. ダウントレンドとアップトレンドの時間をすべて10分ずらした。
4.10:25頃アップトレンドの新規注文が約定し、同時に返済注文が発動した。
5.返済注文が発動した17ms後に返済注文が約定した(10円の損失!)。
6.IF(L2*L3<>0)の場合は、ダウントレンドが直ちにエラーを発生するが、今回は無し。
7.ダウントレンドは規定の時間(13:55)に、正常に、新規注文取消が実行された。
8.14:20頃まで観測していたが、PC1,PC2とも、一切エラーは発生しなかった。
以上です。当面このまま2台で運用してみようと思っております。
<もし発生しなくなるのであれば、何かここら辺が解決の糸口になるかもしれません!!
そうですか!期待しております!(何しろ、結果オーライ的対処法なので!)
以上ご報告を申し上げました。よろしくお願い申し上げます。

2021年06月15日

大野 了

ケンさん、こんにちは!!

そして、干渉調査の件ですが、いまだに試すことができていません。
申し訳ありません。

さて、ご質問の内容ですが、
L3が1でL4が0の状態というのは発生する可能性はありそうです。

10:08に新規注文が約定すると
L4が1になり、それに合わせてL3が1になると思うのですが、
その後注文状態などが変わると、L4が0に戻ってしまいます。
J8を見ますと逆指値待機中となっているので、
逆指値がかかったために、0に戻ってしまったのだと思われます!!

こちらは『IF(L2*L3*L4<>0』とされた変更された場合、干渉が発生しなくなりますでしょうか?
もし発生しなくなるのであれば、何かここら辺が解決の糸口になるかもしれません!!

2021年06月15日

ケン

ファイルB-条件注文シート20120519-pなしPNG.PNG (73.3KB)

大野様
以下、無い知恵を絞り、干渉を防ぐ方法を考えましたので、ご意見をいただきたく、よろしくお願いします。(干渉が発生したとき(5月19日)の干渉を受けた方のファイルの条件注文シートのキャプチャ画面を添付しました)
方法:条件注文シートのセルL7(返済注文のオーダー実行)の関数を、以下のように変更する。
=@IF(L2*L3<>0,fneworder(L9,~L27),"未発注")
を以下のように変更
=@IF(L2*L3*L4<>0,fneworder(L9,~L27),"未発注")
以下この簡単な変更を行う根拠を述べます(残念ながら、結果オーライ的です!)。
1.添付の画面のL4=0になっているにもかかわらず、L3=1になっている。
2.これはあり得ない事である。従って、L3=1と書き込むのはマクロなので、マクロが干渉を受けている証拠であると言える。
3.L2=L3=1となったので、excelはL7の関数のfneworderを発動する。
4.しかし、当然のことながら、建玉が存在しないので、エラーとなる。
5.従って、L7において、fneworderを起動する条件に、L4=1も加えるとこの干渉を防ぐ事が出来る。
6.すなわち、=@IF(L2*L3<>0,fneworder(L9.....)を=@IF(L2*L3*L4<>0,fneworder(L9...)と書き換えるだけで、干渉による誤作動を防ぐ事が出来る。
以上、この方法を考えた背景を説明させていただきました。残念ながら、この方法は、マクロエラーが発生する根本原因に対処しておりませんので、結果オーライ的であります!とはいえ、対処療法的に機能するのではないかと思っております。大野様のお考えをお聞かせいただけますれば幸いです。

2021年06月14日

ケン

大野様
おはようございます。
<何かのタイミングで動かすことができれば・・・
それで結構でございます!
<自分が動かしているシステムを一部止める必要がありますので・・・
感謝感激です!なにとぞよろしくお願い申し上げます!

2021年06月03日

大野 了

ケンさん、こんにちは

大変申し訳ございません。
本件ですが、何かのタイミングで動かすことができれば・・・
という感じでよろしいでしょうか?

本件をテストするためには、PCが2台必要とのことで、
自分が動かしているシステムを一部止める必要がありますので・・・

2021年06月02日

ケン

IfdoneOCO+時間決済サンプル(20210517)_稼ぎ調査用-アップトレンド用.xls (1.0MB)

大野様
<本格的に調査してみないと、現時点では何とも・・・
とのことですが、ぜひ本格的に調査いただきたく、よろしくお願い申し上げます。ご参考に、本日使用しましたファイルを添付しました(PC1台のみでこのファイルを使用して10円稼いでおります!)。ただし、拡張子はxlsmでは添付出来ませんので、xlsとしております。ダウンロードされた後でxlsmに変更されれば、問題無く動作するものと考えております。

2021年06月02日

大野 了

ケンさん、こんにちは

そうですね・・・
ポジションの住み分けは、先物の場合メモ欄を使用するのが手っ取り早いです。

例えば、発注時にアップトレンド用のメモを追記し、
約定の確認などは、帰ってきたメモ欄をを条件に加える感じとなります。

ですが、頂いたファイルを見る限りでは、
メモ欄にてキチンと住み分け的なことはやってそうでした。

なので本格的に調査してみないと、現時点では何とも・・・

2021年06月02日

ケン

大野様
<そもそも複数のポジションを持てるように作られていない
複数のポジションが持てるような作りとはどんな作りでしょうか?
<アップトレンド側とダウントレンド側のポジションの棲み分けが上手く出来ておらず、<ダウントレンド側でアップトレンド側のポジションを見てしまう。
この現象は、私が経験したエラーの原因の、そのものずばりという感じがします。ふたつのファイルの新規発注がそのまま取消になりますと、全くエラーなしで両者終了します。しかし、片方の返済注文が実行され、約定したとたんに他方のファイルが約定した如く行動を起こし、エラーを生じます。まさに、片方の約定サインを見てしまっています!これを排除出来ればしめたものですが! (この約定サインは、自分のものではないので、無視する。という命令があれば、ありがたいですが!)この「ポジションの棲み分け」を確実に行う方法があれば、教えていただけますれば幸いです。

2021年06月02日

大野 了

ケンさん、こんにちは

そうですね・・・現時点ではなんとも・・・
ORDERRESULTの結果やケンさんからのお話を聞いているだけですと、動いてもよさそうな感じがしています。

よくあるような原因としましては、
・そもそも複数のポジションをもてるように作られていない
・アップトレンド側とダウントレンド側のポジションの住み分けが上手くできておらず、
ダウントレンド側でアップトレンド側のポジションを見てしまう

という感じでしょうか・・・
あくまでも妄想でしかないのですが・・・

2021年06月02日

ケン

大野様
干渉の原因がわかれば、それぞれの原因に従った対処の仕方が存在する。ということを理解しました。さて、干渉の原因ですが、干渉が起きる背景には、どのような事が考えられるのでしょうか? たとえば、PC1とPC2の速度に大きな差がある場合(現在10倍ぐらいの差があります)とか、excel のバージョンが違うとか(現在は同一:excel 2019を使用)、あるいは全く違うものでしょうか?その辺りを教えていただけますればありがたいです。

2021年06月02日

大野 了

ケンさん、こんばんは

申し訳ありません。
自分の書き方が紛らわしかったです。

干渉の原因がわかって、
その対策としてセルの内容やVBAを修正すれば、二つ同時に使用可能という事でした。

紛らわしい書き方をして申し訳ありません。

2021年06月01日

ケン

大野様
複数回線でログインして問題無いとのこと了解です。セル関数を書き換えたりすると干渉の原因がわかるとのことですが、いくつかヒントになるサンプルを教えていただけますれば幸いです。

2021年06月01日

大野 了

ケンさん、こんにちは!!

Excelファイルで保護もかかっていないので、セル関数を書き換えたりすることで
干渉の原因を調べれば、対応は可能と思われます。
自分も複数回線でログインしており、問題は無いので・・・

しかし、このサンプルファイルに関して、干渉の原因を調べたわけではないので、
具体的にどこをどう直せば大丈夫になるのかは、パっとは出てこないです。

申し訳ありません。

2021年06月01日

ケン

大野様
手直し出来るのですか!思いもよりませんでした!干渉を防ぐ方法があるのでしょうか?教えていただけますれば幸いです。

2021年06月01日

大野 了

やはり、2台同時に利用すると手直しをしないとダメそうですね。

あくまでも自分の想像でしかないのですが、
岡三RSSが2回線で使用できるのは、利用者の利便性のためで、
ファイルが同時に使用できないのは、単純にあくまでもサンプルだからではないでしょうかー

OCOなどの『機能』として提供しているのではなく、
『OCOなどもこんなやり方だと作れますよー』というだけのサンプルではないかと・・・

2021年06月01日

ケン

大野様
今朝2台のPCを動かしました。PC1にはアップトレンド用、PC2にはダウントレンド用のファイルを載せました。両者ともエラーの無いと思われるファイルから作成したつもりでした。結果は無残にもエラーとなりました。今回はPC1の方です。本日、先物価格はダウントレンドとなり、PC2のダウントレンドファイルは新規注文の返済注文を決済しました(10円の損失!)10:25でした。この瞬間の同時刻にPC1のアップトレンドが反応し、新規返済注文の決済の確認を聞いてきました。あり得ない、おかしいと思い、PC1のエラー検証シートを見た結果、エラーが出ており、数日前のエラーと全く同じエラー(8:指定された建玉情報の建玉数量が、実際の建玉情報の数量より多いため注文を受け付けできません。:1701)となりました。結局2台のPCでの運用も、マクロが干渉してエラーとなることが証明されました。これまでの実験では、2台ともに新規注文が取り消された場合、干渉が起きませんでした。ところが、いずれかのPCが返済注文が約定した瞬間、もう一台にダメージを与えることが明らかになりました。これで2個のファイルの同時運用は出来ないことが証明されました。ということは、岡三証券RSSが2回線まで使用OKにしている意味がわからなくなりました。この辺りを教えていただけますればありがたいです。

2021年06月01日

大野 了

ケンさん、こんにちは!!

うまくいきましたか!!
よかったです!!

しかしながら、うまく動いたという事は、
アップ用とダウン用のファイルを同時に使うと問題があるという事ですので、
2台のPCといえども動かさない方が良いと思われます!!

2021年05月31日

ケン

大野様
本日、大野様のご助言の通り、PC1のみに、ダウントレンド用ファイル(アップトレンドのD11を3から1に変更したもの)を運用し、全くエラー無く終了しました(残念ながら10円の損失!)。これにて、アップもダウンもファイルにエラーは無さそうな事が判明しました。明日から2台のPCにそれぞれアップ用、およびダウン用ファイルを載せて運用開始する予定です。的確なるご指示、大変ありがとうございました。

2021年05月31日

ケン

大野様
なるほどそれが早道のような気がしてきました。そうしてみます。

2021年05月29日

大野 了

ケンさん、こんにちは!!

一度、PC1でダウントレードのファイルだけを動かして観られるというのはいかがでしょうか?

もし、ファイルを複数使うことにより干渉しあってるのであれば、
PC1でダウントレードのファイルだけを動かされれば、正常に動くはずですので・・・

2021年05月29日

ケン

大野様
今週は以下の実験をして、2台目のパソコンに問題がない事を確認しましたのでご報告申し上げます。
1台目のPCにてバグが無くなったと思われるアップトレンドのファイルを運用。
2台目のPCに、上記ファイルをコピーし、時間に関するパラメータをすべて10分ずらして運用。
以上の実験の結果、両方のPC共々全くエラー無しに終了しました。
上記実験を行った理由は、2台目のPCに何か問題があるのではないか?という疑いを明確にする為でした。これにより、2台目のPCは全く問題ないことが確認されましたので、これからダウントレンドのファイルのバグを取る作業に入ります。この方法は、バグのないアップトレンドのファイルを、ダウン用に変更してみる事から始めようとしております。この結果は来週の始め頃になると思っております。以上ご報告申し上げました。

2021年05月29日

大野 了

ケンさん、こんにちは!!

んーそうですか・・・
となると、注文番号周りは完全に大丈夫そうですね。

そうとなると、残念ながら頂いた画像などの情報からだけでは、
残念ながら判断が付かない感じです。

2021年05月25日

ケン

大野様
以下保存されているキャプチャ画面を見ることにより、再度確認しました。
1.取消時間
アップトレンド(E10)=14:05 でした。
ダウントレンド(E10)=13:55 でした。
2.注文番号
アップトレンドの注文番号はアップトレンドの注文番号が表示されているか?確認済み
 ダウントレンドの注文番号はダウントレンドの注文番号か表示されているか?確認済み
3.ORDERRESULTの正常キャンセルが出来ている行(4行目)の注文番号は
  アップトレンドの注文番号になっているか?確認済み

以上すべて確認出来ました。よろしくお願い申し上げます。

2021年05月25日

大野 了

ケンさん、こんにちは

ダウントレンドのファイルの画像ありがとうございます。
確認ですが、
取り消し時間はアップトレンドが14:05、ダウントレンドが13:55で間違いありませんでしょうか?

以下の点を確認して頂けますと幸いです!!

・アップトレンドとダウントレンド両方のポジションを持った際に
アップトレンド側のファイルにはアップトレンドの注文番号、
ダウントレンド側のファイルにはダウントレンドの注文番号が表示されている

・ORDERRESULTの正常にキャンセルが出来てる行(4行目)の注文番号はアップトレンドの注文番号になっている

2021年05月25日

ケン

pnasi.PNG (206.5KB)

大野様、おはようございます。
アップトレンドと、ダウントレンドの時間はすべて10分ずらしております。(確認ボタンを押さねばならないので、同じにしておきますと、あたふたするため、ずらしておりました!)したがいまして、アップトレンドの新規注文の取り消し時間(条件注文シートのE10)は13:55,アップトレンドは14:05に設定しております。ご参考までに、ダウントレンドの方の条件注文シートのキャプチャ画面を添付しましたのでよろしくお願い申し上げます。

2021年05月25日

大野 了

ケンさん、こんばんは!!

んー悩ましいですね・・・
シートを観る限りうまい事、動いてもよさそうなんですが・・・

もしよかったら、アップトレンドのファイルと、
ダウントレンドのファイルのキャンセル時間を5分ほどずらしてもらう事は可能でしょうか?

もし、新規発注のキャンセルが同時に走ってるために出てるエラーでしたら、
これで発生したくなると思います!!

2021年05月24日

ケン

エラー検証シート-p無し20210524-キャプチャ.NG.PNG (33.3KB)

大野様
本日、初めて2台のPCにてRSSを開始しました。1台には、アップトレンド用のファイル、2台目にはダウントレンド用のファイルが搭載されています。本日はレンジトレンドでしたので、2台とも新規注文取消が行われました。しかしながら、新たに開始した2台目は、取消が行われませんでした。仕方がないので先物口座にて、手作業で取消を行いました。2台目のエラー検証シート(添付しました)を見ますと、注文番号がただしくありません。と出ています。しかしながら、2台目の条件注文シートをみますと、J41は、発注完了と出ています。どのようにしてデバグすればよいか教えていただけますれば幸いです。(尚、1台目の方は全く問題なく終了しました。こちらの方のエラー検証シートを見ますと、2台目のエラー情報はありませんでした!すなわち、エラー検証はサーバーでは行われず、PC側で行われている。という事でしょうか?)

2021年05月24日

ケン

20210521-2台目PCキャプチャ.PNG (32.1KB)

大野様へ
本日、2台目のPC(昨日立ち上げた)にてファイルBを起動しました。ところが動作しませんでした。
仕方がないのでファイルBを取り除き、ファイルAを起動させました。しかしながらファイルBが動かないのと全く同様に、動きません。(その問題の条件注文シートの左の部分のキャプチャ画面を添付しました)更に詳細に症状を説明しますと、
1.6秒おきに動作はしているように見える。
2.市場モニターシートにはデータが表示されていない。
3.条件注文シートのC44~F56の板のデータも表示されない
4.9時以降は6秒おきの動作も停止してしまった。
以上のような症状です。岡三RSSのサーバーからのデータが切断されているような感じですが、残念ながら私の知識ではデバグできません。どのようにして原因を突き止めるのか、そのあたりにつきまして教えていただきますれば幸いです。(1台目のPCではファイルAが動作しておりますが、通常通り全く問題無く動作しております)

2021年05月21日

大野 了

けんさん、こんにちは!!

2代目のPCで、まっさらのExcelを起動して頂いて、
その中でFQUOTE関数を使用して情報が取得できますでしょか?
もしできない場合は、岡三RSSのセットアップが失敗していると思われます。

一度、岡三RSSをアンインストールして頂き、再セットアップを試して頂けますでしょうか?
もしそれでだめな場合は、たぶんアドインの設定がうまく行ってないのだと思われます。

以下を見てアドインの設定を確認して頂けますでしょうかー?

https://www.okasan-online.co.jp/ont/rss/install/#:~:text=%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89%E3%81%8A%E3%82%88%E3%81%B3%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%AE%E6%89%8B%E9%A0%86&text=%E6%97%A5%E6%9C%AC%E6%A0%AA%E5%8F%96%E5%BC%95%E7%94%BB%E9%9D%A2%E3%81%AB,%E3%82%92%E5%AE%8C%E4%BA%86%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82

2021年05月21日

大野 了

ケンさん、こんにちは

上手く行きましたかー!!
それはよかったです!!

24日もうまく行くことを祈ってます!!

2021年05月22日

ケン

大野様
本日、半日を費やしまして、ついに2台目のPCでのファイルの動作を確認しました!誠に適切なるご助言をいただきまして、感謝感激いたしております。来週月曜日、24日から2台のPCにて、アップトレンドおよび、ダウントレンドのファイルを別々に走らせる予定でございます。大変ありがとうございました。

2021年05月21日

ケン

大野様
本日、ファイルAのみを1台のPCで動かし、全く問題なく終了したのを確認しました。
ところで、自分なりに無い知恵を絞って、昨日発生した、不可思議なる現象の原因を突き止めようとしました。その結果わかったことを以下説明させていただきます。(アップトレンド用ファイルをファイルA(ほぼデバグ完了)、ダウントレンド用ファイルをファイルBとします)
1.ファイルAの返済注文が発注された時間とファイルBの返済注文が発注された時間差はわずか100分の19秒だった。
2.そのときの現値(ミニ先物)はファイルBの返済注文に起動が掛かるような価格ではなかった(むしろかけ離れていた)。
3.ファイルBの返済注文が「注文完了」とL7に出ているにもかかわらず、L4=0のままである。更に、L30,L31が#N/Aである。こうなるルートは存在しない。すなわちあり得ない結果となっている。
4.ファイルBの返済注文が「注文完了」と書かれているにもかかわらず、先物口座にそのような発注は出ていない。かつ新規注文が約定したとの記録も出ていない。
5.岡三RSSのサーバーは、ファイルBの動作に異常があったことは、検出していた事がエラー検証シートからうかがえる。
6.トレードが終了(15:00以降)し、ファイルを格納するとき、ファイルAにマクロエラーが発生していた。そのエラーは
Private Sub Worksheet_Calculate()の中の
OrderAmendment: の2行目の
If Cells(3, 17).Value <> 1 And Cells(4, 17).Value = 1 Then が黄色くなっていた。
7.二つのファイルを動かすと、両方のファイル、あるいは片方のファイルにほぼ必ずマクロエラーが発生する(わずか4日程度の実績ですが)
以上の7件です。これから考えますに、ひょっとしたら二つのファイルが干渉したのではないでしょうか(別インスタンスで立ち上げても関係がない)? 以上につきまして、大野様のご見解をお聞かせいただけますれば幸いです。(本日は半日潰してもう1台のPCを立ち上げましたので、明日からは、それぞれのファイルを別々のPCにて起動する予定にしております)

2021年05月20日

大野 了

ケンさん、こんばんは!!

なるほどー
そうですね・・・

マクロのエラーが出る理由が二つのファイルを起動することなので、
動作環境としてはだいぶ厳しいと思いますので、ひとつずつ動かされる方がよいと思います!!
これで解決できると良いのですがー

2021年05月20日

大野 了

もしくは複数ファイル起動せずに、ダウントレンド用のファイルだけ動かして様子を見て頂けますでしょうかー?

2021年05月20日

大野 了

ケンさん、こんにちは

情報ありがとうございます!!
ファイルと頂いた情報からしますと、L3に1が立ってしまったために決済の発注が走り、
しかし、まだ逆指値待機中でポジションが無いため、決済建玉不足のエラーが発生しているようです。

とはいえ頂いたファイルの計算式や、VBAを観るとL4が0のため、L3が1になってしまうことは考えつらく・・・
この部分を手動で1にされたか、起動直後から1になってしまった可能性はありませんでしょうか?

2021年05月20日

大野 了

けんさん、こんばんは

んーそうですね・・・
頂いた情報とエラーの内容だけではなんとも・・・
申し訳ないです。


以下のことを教えて頂けますと、もう少し何かわかるかもです・・・

以下、アップトレンドをAファイル、ダウントレンドをBファイルといた場合・・・

・AとB二つあげられていたとの事ですが、別プロセスで起動し、D15は異なる値をいられていますでしょうかー?
・9:55に約定したのは、AとBどちらのファイルでしょうかー?
・L7が発注完了となったのは、AとBどちらのファイルでしょうかー?
・逆指値待機中となっていたのは、AとBどちらのファイルでしょうかー?

2021年05月20日

ケン

エラー検証20120519-pなし.PNG (14.0KB)

大野様
当方、現在、サンプルファイル「IfdoneOCO+時間決済サンプル」のダウントレンド版の実働試験を行っております(ほぼバグが出尽くしたと思われるアップトレンド版と2つを同時に1台のPC上で動かしている)が、本日不思議な現象が発生しましたので、報告申し上げます。以下簡単に経緯を申し上げます。
08:20 頃ファイルを立ち上げる。
08:55~09:55 に高安値測定終了
09:55 新規注文発注(確認ウインドウにてOKボタンを押す)
この状態で、11:10頃PCを見に行ったところ、条件注文シートのL列(L7)を見ますと、返済注文発注が「発注完了」となっておりました。しかしながら、確認ウインドウが開きませんでしたので不思議に思ったので、先物口座を開き、確認しますと、新規注文の逆指値待機中のままでした。返済注文の発注が出される為には、新規注文が約定している必要がありますが、約定の記録はありません(先物口座にて確認済み)。このときに、エラー検証(添付しました)を見て見ますと、エラーが出ており、「指定された建玉情報の建玉数量が実際の建玉数量より多いため注文を受け付け出来ません。:1701」とあります。気持ちが悪いので、逆指値待機中の新規注文は手入力で取り消しました。この現象はどのように考えればよろしいでしょうか?以上の現象につきまして教えていただけますれば幸いです。(尚、添付のエラー検証シートには、同時に走らせているアップトレンドのデータも記録されております。本日も首尾良く35円利確出来ております)

2021年05月19日

ケン

大野様へ
D26の件了解です。単なる注意喚起用の意味のようですね。返済注文訂正(Q列)の関数をすべて調べ、重要な判断にはD26がどこにも使用されていない事を確認しました。ありがとうございました。ところで、音につきましても、確認画面が出たと同時に音が出るようになり、非常に便利になりました。これも大変ありがとうございました。

2021年05月18日

ケン

ファイルB-条件注文シート20120519-pなしPNG.PNG (73.3KB)

大野様
説明が不十分で失礼いたしました。以下回答します。
1.別プロセスで起動したか?  回答:別プロセスで起動している。
2.D15は異なっているか?   回答:異なる値にしている(N001とN002)
3.09:55に設定したのはどちらか?  回答:ファイルBです。
4.L7が発注完了となったのはどちらか? 回答:ファイルBです。
5.逆指値待機中となっていたのは?    回答:ファイルBです。
以上です。ファイルBのキャプチャ画面を添付しましたのでよろしくお願い申し上げます。
(尚、ファイルAにつきましては、稼げているので、問題ないと思われます!)

2021年05月20日

ケン

大野様
D11について教えていただきまして、誠にありがとうございました。ここを変更した途端、6カ所が自動的に変更されることを確認しました!
ところで、本日、これまで使っていたアップトレンド稼ぎ調査用ファイル(ファイルA)と、大野様に教えていただいたダウントレンド用のファイルB(D11=1に変更)の2個のファイルを起動し、2ファイル動作実験を開始しました。混乱を避けるため、ファイルBの時間はすべてファイルAより10分早めました。途中、私の勘違いで(ファイルBの売値、買値が間違っていると勘違いしてしまった!)人力でファイルBの新規注文を取り消してしまいました。ですので、又来週継続してこの実験を続ける所存ですのでよろしくお願い申し上げます。(ファイルAは本日も70円利益を出しました。これが50円を超えた理由は、取引許可警告ボタンを推すのを1時間も放置していたせいでした(幸運でしたが、これが損切りであったとすれば、ぞっとします!)警告表示と同時に音を出す設定を調べねばなりません)

2021年05月14日

ケン

大野様
音について、大野様に教えていただきましたURLを見ました。更に、2020年10月14日に大野様がRSSユーザーに回答されていた音の出し方につきましても見させていただきました。非常に懇切丁寧だと思いました。そこで、これらを見習って、音を出すべく、色々サンプルファイルを作成しまして、音を出そうとしましたが、エラーが出て収まりが付きません。そこで一旦あきらめ、現在使用しているファイル「IfdoneOCO+時間決済サンプル」に音を出す機能があることを思いつきました。そこでこれを引っ張り出し、条件注文シートのF42=1(これまで一回もここを1としたことがありません!)として、なんとか音を出そうとしましたが、これまたどうにもなりません。これにつきまして、どのようにすれば音が出るのか教えていただきますれば幸いです。これがわかれば、後はいろいろなイベント(新規注文、その他返済処理時における確認画面表示)における音出しのマクロは自力で書けると思われます。以上よろしくお願い申し上げます。

2021年05月15日

大野 了

ケンさん、こんにちは!!

以前頂きましたファイルを見た限りですと・・・

PCTimeUpdateの中に書いてある
PlaySound "C:\WINDOWS\Media\notify.wav", 0, SND_ASYNC
を記述さえすれば音が鳴りますので
こちらをWorksheet_Calculate()内の任意の場所に、記述すれば大丈夫と思います。

例)
新規発注の時に鳴らしたいのであれば
Cells(3, 10) = 1
と書いてある下にコピーし

Cells(3, 10) = 1
PlaySound "C:\WINDOWS\Media\notify.wav", 0, SND_ASYNC

とする

2021年05月15日

ケン

大野様
本日、教えていただいた通り、確認表示が現れるイベントの直後(4カ所)に
PlaySound "C:\WINDOWS\Media\notify.wav", 0, SND_ASYNC
Range("F42").Value = 1
を埋め込みました。(2行目のRange("F42").Value = 1は、音を1回だけでなく、ずっと出し続ける為のものです。この音を止めるには、手入力にてF42を0にします!)
この実験を本日行い、正常に動くことを確認する予定です。
 ところで、別の問題が発生しましたのでご報告申し上げます。それは、本日初めて起動開始しました、ダウントレンドのファイルです。F26に「要確認」の文字が赤字で現れました。そこでF42に設定されている関数を見てみますと
=IF(L14=1,IF(D26<D25,"","要確認"),IF(D26>D25,"","要確認")) と書かれています。
この関数を意訳しますと、返済注文が「買い」の場合はD26>D25でなければ要確認と書け。ということの様です。このファイルはアップトレンドのファイルをそのままコピーしてD11=1としただけですので、この表示が現れたものと考えられます。そこで、ダウントレンドの場合は、D26の値をどのように指定すればよいか教えていただけますれば幸いです。

2021年05月17日

大野 了

ケンさん、こんにちは

D26ですが、訂正注文の訂正価格のようですので、
ロスカットの価格を入れればよいと思います。
要確認というのは、ロスカットの閾値より高かったり安かったりした場合に出るようです。
ロスカットで指値指定した際に指値になってしまわないような価格をD26に入れてしまった場合に
おかしくならないように気を使ってくれてるのだと思われます!!

2021年05月17日

大野 了

ケンさん、こんにちは

音を同時に出す方法ですか・・・
残念ながら、音を出すにはVBAで出してあげるしかありません。

以前お伝えしましたPlaySound APIを使って頂くか、
ビープ音(ビーとなるだけ)でよいのであれば、以下のサイトが参考になると思います!!
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1226590347

新規発注や返済注文の時にJ3などが1になりますので、
それを判断して音を出してあげる形になります!!

2021年05月14日

ケン

大野様
新規注文の時や、返済注文の約定の時等に、確認画面が出ますが、これと同時に音を出す方法を調べましたがわかりませんでした。この方法を教えていただけますれば幸いです。

2021年05月14日

大野 了

ケンさん、こんにちは

dさうんtrendの件ですが、
J14よりもD11を1に変更される方が良いと思います(大本ですので
そして多分、D11を変更すれば大丈夫と思います!!

2021年05月13日

ケン

大野様
マクロのフローは問題なさそうな件了解しました。ありがとうございました。これからなんとか頑張ってプログラムを作る予定です。
ところで、本日、気になっていた複数ファイル(2個)を走らせて動作試験を行い、全く問題なく動作することを確認しました(先週のエラーは片方のファイルがマクロエラーを起こしていた為と思われます)。二つのファイルは、両方ともアップトレンド用で、単に時間関係のパラメータを違えていただけでした。本日も昨日に引き続き、アップトレンドではありませんでしたので、二つのファイルは新規注文が自動的にキャンセルされ、利益は出ませんでした。そこでお聞きしたいのですが、このファイルをダウントレンド用に変更するには、条件注文シートに於ける、J14(売買区分)を1(売り)にするだけでOKでしょうか?(J14を1にした途端、L14が自動的に3(買い)に変化します) このあたりにつきまして教えていただけますれば幸いです。

2021年05月13日

大野 了

ケンさん、こんにちは

フローチャートを見た感じですと問題なさそうな気がします!!
多分、行けるんじゃないかと・・・

2021年05月11日

ケン

TS_フローチャート(20210511)_v001.xlsx (23.9KB)

大野様
IfdoneOCO+時間決済サンプルにこだわった理由は、やはり変更量です。条件注文シートの他、各種のシートがあり、これはこれで非常に便利であると思いました。
<もし少しでも修正量を抑えられたいのであれば、、、
これにつきまして、最近作成したフローチャートを添付しましたので見ていただけますれば幸いです。
この右側のフローの中間あたりに、損切りを判断する判断文がありますが、これは、一回も価格が買値を上回らず、ズルズルと下がっていった場合を想定しておりました。しかし、損切りの値をマイナスの利益を含めてしまえば、損切りおよび利確も同じ判断文で処理が出来て、簡単になるような気がしてきました。考え直してみようと思います。
尚、フロー全体につきましても、コメントをいただけますれば幸いです。

2021年05月11日

大野 了

ケンさん、こんにちは

そうですね・・・
新規注文から、返済まですべてマクロで処理されるなら、
IfdoneOCO+時間決済サンプルにこだわる必要はないと思いますが、
入力項目を作るのがご面倒とか言うのであれば、入力フォームとしてIfdoneOCO+時間決済サンプルを使われても良いかもしれません。

もし少しでも修正量を抑えられたいのであれば、
損切りの値にマイナスが入るのが前提ですが、
トレイリングストップの閾値に差し掛かるたびに、損切の値を変更していくのが簡単かもしれません。

2021年05月10日

ケン

大野様
最大指値の件了解です。ありがとうございました。
さて、今後はトレーリングストップ化についてのご相談をいたしたく、よろしくお願い申し上げます。まずは、基本路線につきまして、以下箇条書きしましたので、ご意見をいただけますれば幸いです。
1.基本的に「IfdoneOCO+時間決済サンプル」ファイルを使用する。
2.新規注文、同取消、返済処理(利確、損切、時間強制決済)をすべてマクロで処理する。
  (条件注文シートのJ2,J36,L2,L36,Q2,をすべて0としておく)
3.利確および損切りはトレーリングストップの手法にて処理する。
4.上記処理(2.)はマクロプログラムであるTrailingStopにて処理する。
5.マクロTrailingStopはマクロのPCTimeUpdateの中から呼ばれる。

 以上です。よろしくお願い申し上げます。

2021年05月10日

ケン

大野様
マクロエラー発生時の対処につきましては了解しました。
ところで、本日は、つかぬ事をお聞きします。5月7日に稼ぎ調査用ファイル(ファイルB)を走らせていましたが、結果として75円儲けたという事を報告しました。しかしながら、このファイルの条件注文シートの利確幅(F17)には50が設定されていました。従いまして、利益は50円を上回ることは無いだろうと思っておりましたが、実際は、これを25円も超えております。ここで返済注文の失効条件(L15)を見ますと0(最大指値)に設定されております。この最大指値をネットで調べたところ、「売りの場合は値幅下限の指値で注文すること」とあります。下限で注文しているにもかかわらず、なぜこれほどの利益が出たかがわかりません。初歩的な質問で申しわけございませんが、このあたりを教えていただけますれば幸いです。

2021年05月09日

ケン

大野様
現在当方、トレーリングストップ化を検討中です。これに関連しまして、以下教えていただけますれば幸いです。5月7日に稼ぎ調査用ファイル(ファイルB)を走らせていましたが、結果として75円利確出来たという事を報告しました。しかしながら、このファイルの条件注文シートの利確幅(F17)には50が設定されていました。従いまして、利益は50円を上回ることは無いだろうと思っておりましたが、実際は、これを25円も超えております。ここで返済注文の執行条件(L15)を見ますと0(最大指値)に設定されております。この最大指値をネットで調べたところ、「売りの場合は値幅下限の指値で注文すること」とあります。下限で注文しているにもかかわらず、なぜこれほどの利益が出たかがわかりません。この執行条件は、トレーリングストップ的な機能が仕込まれているのでしょうか?このあたりを教えていただけますれば幸いです。

2021年05月10日

大野 了

ケンさん、こんにちは!!

キャンセルはかかってよかったですね
という事は複数で動かしたのがまずかったんですかね・・・

なにはともあれ、正常に動いたようでよかったです

また、最大指値の件ですが、
最大指値自体にはトレーリングストップのような機能はなく、
ケンさんが調べられた内容の通りで値幅制限の上限や下限で発注しますので、現物でいうところの成行のような動きとなります。

多分、単純にマクロの起動の合間に値が大きく動いてしまったんだと思われます!!

2021年05月10日

ケン

大野様
今朝、新規注文自動取消デバグ用ファイルを単独で起動し、すべてデータを取得(各シートの画像のキャプチャ)しました。結果は、全く問題なく(エラーなく)自動的にキャンセルが行われ、返済注文などは行われておりません。現在09:10ですが、このまま14:00ごろまで走らせ、問題が生ずるかどうか観察を続けます。

2021年05月10日

ケン

大野様
本日は、別件につきましてお聞き申し上げたい事がありました。5月7日に稼ぎ調査用ファイル(ファイルB)を走らせていましたが、結果として75円儲けたという事を報告しました。しかしながら、このファイルの条件注文シートの利確幅(F17)には50が設定されていました。従いまして、利益は50円を上回ることは無いだろうと思っておりましたが、実際は、これを25円も超えております。ここで返済注文の執行条件(L15)を見ますと0(最大指値)に設定されております。この最大指値をネットで調べたところ、「売りの場合は値幅下限の指値で注文すること」とあります。下限で注文しているにもかかわらず、なぜこれほどの利益が出たかがわかりません。現在、トレーリングストップの機能を入れこもうとしておりますが、ひょっとしたら、この執行条件は、トレーリングストップ的な機能が仕込まれているのでしょうか?このあたりを教えていただけますれば幸いです。

2021年05月09日

大野 了

ケンさん、こんばんは

そうですね・・・
月曜日に単体で動かしてない用を見てみられたが良いかもですねー!


あと、参照設定は外れていませんでしたか・・・
だとするとあとはセルの中身がおかしいぐらいしかないのですが、
確かにケンさんが懸念されておられます通り、
Q3とQ4の内容はエラーが発生した時の値でないと意味がありませんので
次に発生した際に中身を教えて頂けますと幸いです!!

2021年05月08日

ケン

大野様
ファイルA(キャンセルデバグ用)と同じプロセス(同じインスタンス)で動かしていたファイルはありませんでした。来週の月曜日(5月10日)には、とりあず、ファイルAだけを動かして、同じ現象が出るかどうかを確認する事にしました。デバグ効率を上げるため、複数ファイルの運用をトライしましたが、複数運用による新たなバグが生じるような予感がしておりました(笑)!
ところで、5月7日にご提案いただきました「参照設定エラー」につきまして、少々勉強させていただきました。そこでマクロエラーの出るファイルBについて以下調べた結果を報告申し上げます。
1.参照設定不可になっているものはありませんでした。
(ただし、参照不可の場合の表記について知りませんので、確信はありません)
2.Cells(3, 17)=Q3の内容は「空」でした。
3.Cells(4, 17)=Q4の内容は「#VALUE!」でした。
(ただし、これは岡三RSSが切り離されている状態ですので、実態は不明です)
以上調べた結果をご報告申し上げました。よろしくお願い申し上げます。
(尚、このマクロエラーの出るファイルは削除する予定です)

2021年05月08日

大野 了

ケンさん、こんにちは!!

んー
そうですね・・・
VBAなど見てみたのですが、
確かにケンさんのおっしゃられます通り
別プロセスで動かされてれば問題なさそうですね

あと可能性がるとしたら、
キャンセルデバッグ用のファイルAと同じプロセスで他のExcelファイルを動かされていたりしましたでしょうか?
VBAが複数のExcelファイルでの動作を考慮していないコードでしたので
可能性があるとしたら、ファイルAと同じプロセスで別のExcelが動いていたことぐらいでしょうか・・・

2021年05月08日

ケン

条件注文シート-キャプチャ画面.PNG (68.3KB)

大野様
本日、ファイルA(新規注文の自動キャンセルデバグ用)が、なぜ取消が実行されたにもかかわらず、取消エラーが出たかの原因を調べました。添付のファイルはそのファイルの条件注文シートのコピーです(注文番号、パスワードは消してあります)。これを見ますと、新規注文が取り消されているにもかかわらず、返済注文が発注されています。(L2=L3=1になっている。10:24に発注されていることになっている)(心配になり先物口座で確認しましたが、一切注文は存在しませんでした)マクロを調査し、最終的問題は、L4=1になったので、返済注文が出た様です。ところがJ8が「取消済」になっていれば、L4=1にはならない事が判明しております。どうも力が尽きました。新規注文が取り消しになっているにもかかわらず、なぜ返済注文が発注されたかの背景を教えていただけますれば幸いです。

2021年05月08日

大野 了

ケンさん、こんにちは!!

エラーが起きているファイルが特定できたのだけでも一歩前進ですね!!
原因が早期解決することを祈ります!!

2021年05月07日

ケン

大野様
早速二つのファイルの発注IDについて確認しました。結果、
ファイルA(新規注文キャンセルのデバグ用 =N001
ファイルB(儲け用) =N002でした。
従いまして、ファイルAのエラーであることが明白となりました!
まずはこれにつきまして自分なりに調べてみます。
後、参照設定エラーにつきまして、少々勉強してから取りかかろうと思いますのでよろしくお願い申し上げます。

2021年05月07日

大野 了

ケンさん、こんにちは

すみません、整理させて頂きたいのですが・・・

ファイルA:
発注ID:N001
自動キャンセル実験用

ファイルB:
発注ID:N002
いくら稼げるかの実験用
マクロエラーが出る

という事で間違いありませんでしょうか?

もし上記で間違ってないとすれば、そもそものご質問であった、
エラーが出ているのは(エラー検証シートのコピー.PNG)、ファイルBではなく、
ファイルAの自動キャンセルの方で発生しているようです。
※A4に『S001』と出ているので・・・

また、マクロのエラーの件ですが、
別プロセスで動かしている場合、この構文の部分で型一致のエラーが出ることは少し考えつらいですので、
もしかしたら、参照設定エラーが出てるのかもしれません。
VBAエディタの参照設定(ツールー参照設定)で"参照不可"となっている項目はありませんでしょうかー?
もし無い場合は、エラーが出た際の、
Cells(3, 17).Value と Cells(4, 17).Value の値を教えて頂けますと幸いです。

2021年05月07日

ケン

大野様
早速2つのファイルA、ファイルBの発注IDを調べましたが、N001とN002のように違っておりました。ところが、ファイルB(いくら稼げるかの実験用:本日7422円稼いだ方)の方が動作がおかしい事を発見しました。ファイルを立ち上げますと、添付のウインドウが開きます。そこでデバグをクリックしますと、マクロのPrivate Sub Worksheet_Calculate()のOrderAmendment:の中の
If Cells(3, 17).Value <> 1 And Cells(4, 17).Value = 1 Then の文が黄色くなっております。不思議な事に、このエラーが出る場合と出ない場合があり、今朝は出ていなかったので、そのまま使っておりました。来週の月曜日に、エラーの無いファイルで同じ実験をして見ようと思っておりますが、このあたり何か心当たりがございましたら、教えていただけますれば幸いです。

2021年05月07日

大野 了

ケンさん、こんにちは!!

こちらですが、ファイルを複数起動されているとの事ですが、
D15の発注IDがファイルAとファイルBで同じものが入っておられませんでしょうか?

ファイルAはN001、ファイルBはN002のように分けてあげる必要があります!!

もし同じ発注IDの場合、別のファイルが引きずられて動いてしまいます。

2021年05月07日

ケン

エラー検証シートのコピー.PNG (56.9KB)

大野様
新規発注の取り消しの自動化はうまく行きましたが、もう1本走らせていた(いくら稼げるかの実験用)のファイルが、\7,412円稼ぎました! しかしながらエラーなのです!(エラー検証シートを添付しました)エラー検証シートをみますと、受付が複数みえますので、2本注文が起動しており、1本がうまくいき、もう1本がトラブっているのか?と思いまして、ネットトレーダープレミアムを起動し、調べました。はっきりしないので、先物口座を開き、調べましたが、走ったのは1本だけのようです。そして、売買の両方が成立しており、利確は7500-44×2=7412でした。すべて順調に見えています。この現象につきまして、教えていただけますれば幸いです。

2021年05月07日

ケン

大野様
今朝、新規注文の自動キャンセルはうまく動作しました。J43=1に変更した結果です。大変ありがとうございました。さて、これからトレーリングストップのデバグに移行しますのでよろしくお願い申し上げます。

2021年05月07日

大野 了

ケンさん、こんにちは

上手く行きましたかー!!
よかったです。

第二引数0の全注文は、すべての注文じゃなくて場に出ている注文てことなんですね・・・
俺も認識がありませんでした、きっかけをありがとうございます!!


トレーリングストップうまく行くことを祈っております!!

2021年05月07日

ケン

大野様
正確には、「新規注文後、新規注文のキャンセルが出来ない」これで正しいです。
先ほどJ43=1として実験しましたが、パラメータをじっくりと詰めていなかったため、あっというまに返済処理が自動的に行われ、588円の損失で終了しました。明日の朝、再度じっくりパラメータを詰めた上でトライしてみようと思います。再度ありがとうございました。

2021年05月06日

大野 了

ケンさん、こんにちは

ファイルAの件ですが、こちらは新規注文が自動的に処理されないという事ではなく
正確には、新規注文後、新規注文のキャンセルができないという事で間違いありませんでしょうか?

注文番号があってるなら出てもよさそうですね・・・
ちなみに、第二引数のJ43を1にしても同じエラーとなりますでしょうか?

2021年05月06日

ケン

エラー検証シート002.PNG (5.4KB)

大野様
本日、ついに別インスタンスで二つのファイルを起動し、二つの結果を得ました。(デバグ効率が2倍になりました!ありがとうございます!)
ファイルA:新規注文が自動的に処理されない問題をデバグする為のもの。
ファイルB:返済処理が自動的に処理されない問題をデバグする為のもの。
早々と2個の結果が得られました。
ファイルAの結果:前回と全く同じエラーが出て(キャプチャ画面を添付しました)人力で新規発注を取り消しました。
ファイルBの結果:完全に自動的に処理されました。fneworderのL12を読み込ませる処理が効果を発揮しました。(尚500-88=412円儲かりました!)
ということで本日の成果は1勝1敗でした。
ファイルAのエラー原因は「注文番号が正しくありません」でしたが、注文条件シートのJ30、J42、およびエラー検証シートのA5はすべて同一の番号でした。もし他に思い当たる原因が考えられるようでしたら教えていただけますれば幸いです。

2021年05月06日

大野 了

ケンさん、すみません!!

前回、書き込んだ時さっぱりGWの事を忘れてました。
ケンさんのおっしゃいます通りGW中はお休みなので、木曜日スタートになります!!

また、デバッグの高速化というのは、問題解決までの時間を短くされたいという事でしょうか?
今回で言いますと
『キャンセル発注ができない問題を解決させるまでの時間を短くさせたい』
という感じの意味合いで・・・

もし、そいう事でしたら、残念ながら原因調べ&再実行のサイクルを短くしていくしかないと思います。

例えば今回を例にとりますと・・・
8:46に新規発注し、14時まで待ってキャンセルさせるのではなく、
8:46に新規発注し、9時にキャンセルするように設定し、一度キャンセルを掛けてみる。
もしこの時にエラーが出たのであれば、
原因を調べて失効時刻を10時に変更&発注のためのフラグを整理し
もう一度10時にリトライ・・・
もしまたダメなら、もう一度原因を調べて、11時にリトライ・・・

という風にしていけば、一日に何度も確認できます。

このような感じで地道に一日に何度もリトライさせていくしかないと思います!!

2021年05月03日

ケン

大野様
別プロセスで動かす事のメリットを理解しました。ありがとうございます。ところで昨日は半日を費やして、別インスタンスで立ち上げる方法および、タスクマネージャにてこれを確認する方法を完全にマスターしました。時間が掛かった最大の理由は、excelのアイコンをALTキーを押しながらクリックする場面で、ALTキーを長めに推していないと、別インスタンス立ち上げの確認用の小ウインドウが出てこない為だということに気が付かなかったためでした!気が付いた後は100%失敗無く、別インスタンスで立ち上げる事が出来る様になりました。大変ありがとうございました。

2021年05月06日

大野 了

ケンさん、こんにちは

同一のプロセスで動かしても、岡三RSSの動作には問題はありませんが、
触っていない方のVBAが触ってる方のExcel操作の影響を受けて止まってしまうことがあります。

例えば、ファイルAでVBAを動かしてる時に、ファイルBでセルの編集等をするとファイルAのVBAが止まってしまいます。

これを避けるためにも別プロセスで動かされることを遅すめします。
また、ケンさんがおっしゃられます通り、PCを分けますとこの問題は発生しなくなります。

2021年05月05日

ケン

大野様
大野様からご提示いただいたサイトを見ました。別プロセスで動かす。と言うことは別インスタンスで動かす。と同意であると考えました。この言葉の定義の説明はなんとなく理解しました。具体的に、どんな差違が出るのか今使用しているノートPCで実験してみました。この差違は全く無いように感じられました。具体的に、複数のファイルを別インスタンスで起動しなかった場合、岡三RSSのサーバーはどのような不具合を生じるのでしょうか?このあたりを教えていただけますれば幸いです。

2021年05月05日

ケン

大野様
失礼しました。大野様のアップロードされた文面そのものにカーソルを合わせてクリックしたところ、うまく行き着けたようです。自分でMicrosoftEdgeに手入力した場合、エラーになってしまう事が判明しました。このサイトをこれから読んでみます。失礼いたしました。

2021年05月05日

ケン

大野様
ご提案のhttp://www4.synapse.ne.jp/yone/excel/excel file instance.htmlをクリックしましたが、404Error-File Not Foundと出て、行き着く事が出来ませんでした。少し気になったのが、大野様が投稿された文の最後の行のhttp://......htmlの最後の部分に見かけない絵が映っていたことですが、、、
話変わりまして、もし二つのファイルを、2台のPCにてそれぞれ起動すれば、この操作をしなくて済む可能性はあるでしょうか?以上教えていただけますれば幸いです。

2021年05月05日

大野 了

ケンさん、こんばんは

そうですね・・・
ささっと見ただけですが、メモをすべて異なる値にすれば大丈夫な気がします
例えば、一つのファイルはS001でもう一つのファイルがS002など

一応、この時はExcelを別プロセスにて起動されることをお勧めします。
別プロセスで起動するには、Altキーを押しなら起動してください

もしご不明な場合は以下のサイトが参考になると思います。
http://www4.synapse.ne.jp/yone/excel/excel_file_instance.html

2021年05月04日

ケン

大野様
ところで、デバグの効率を上げるための方策について、以下ご相談申し上げます。その方法は、まず、一つのファイルを名前を違えて2個にします(仮にファイルAとファイルBとします)。次に、ファイルAは、新規注文が自動的にキャンセルされない問題用にします。これに対して、もう一つのファイルBは自動的に返済処理が行われない問題用とします。そして、1台のPCにて2個のファイルA,Bを起動します。しかる後に岡三RSSを起動します。このような事は可能でしょうか?教えていただけますれば幸いです。

2021年05月04日

ケン

大野様
なるほど、時間を自分の都合に合わせる方法がありましたね!馬鹿正直すぎました!以降その線でデバグ頑張ってみます。ありがとうございました。

2021年05月03日

ケン

大野様
ご提示いただいた2点に気を付けて、再度試験を試みます。ところで先物の5連休中のサービス日を調べましたが、開始は5月6日(木)から始まる様です。なんとかデバグの高速化は出来ないものでしょうか?

2021年05月03日

ケン

大野様
ご提示いただいた2点に気を付けて、再度試験を試みます。ところで月曜は5月3日ですので、休みだと思いましたが、先物はやっているのでしょうか?5月6日(木)から始まるような気がしますが、、この点よろしくご教授お願い申し上げます。

2021年05月02日

ケン

大野様
ご提示いただいた2点に気を付けて、再度試験を試みます。ところで月曜は5月3日ですので、休みだと思いましたが、先物はやっているのでしょうか?5月6日(木)から始まるような気がしますが、、この点よろしくご教授お願い申し上げます。

2021年05月02日

大野 了

ケンさん、こんにちは

まず、ご使用されているORDERRESULT関数ですが、
こちらはその名の通り注文関数が成功した、逆に失敗したなどの
発注結果を取得する関数になります。

正常に注文が通れば、通った注文の注文番号が返ってきます。
もしエラーになった場合は、注文が通ってないため、そもそも注文番号が無いため
どの注文が失敗したかユーザに教えてくれるために、注文番号の代わりに発注IDを返してくれてるのだと思われます。


取消は発注と同時ではなかったですか・・・
同時に取消が入ったって現象が濃厚だったんですが・・・
4時間も空いてるのであれば、新規注文の注文番号がPCまで落ちて来てないはずがないですね・・・


んー
そーですねー
現時点だと、問題なさそうってことぐらいしか言えないのですが、
今、試してみることができないので、月曜日にもう一度動かされてみて頂けますでしょうか?

確認して頂きたいポイントとしては以下の通りです!!

新規発注がされた後から、発注キャンセルが起きるまでの間に・・・

1.注文照会シートのH列に新規注文の注文番号が出ている
2.新規発注の注文番号と同じ値が条件注文シートのJ42に表示されている

2021年05月01日

ケン

20210430-エラー検証シート.PNG (5.5KB)

大野様
エラー検証シートは、D列がエラーメッセージとなっております。再度添付いたしましたのでご参考していただけますれば幸いです。したがいまして、4行目にエラーが出ていたので、てっきりCN001がエラーだと思ってしまったわけでした。ところがエラー文が「注文番号」と出ていますから注文番号がエラーに決まっていますね。
と、ここまで書いて、気が付きましたが、エラー検証シートのC4にはエラーと書いてあり、C列は注文状態と書いてあります。注文状態における注文番号とは一体何を意味しているのでしょうか?
さて、大野様の後半の予想の「発注直後のキャンセル走り」についてですが、以下時刻を確認しました。
新規注文時刻:2021/04/30 10:00:29(注文照会シートのI4に記入されている)
新規取消時刻:14:06頃(私の記憶です)(10時から取消の時刻まで4時間と6分ですが、それまでに何回も画面を見ておりますが、キャンセルが走ったのは見ておりません。)
以上よろしくお願い申し上げます。

2021年05月01日

大野 了

ケンさん、こんにちは


>エラー検証シートのA5は間違いでA4でした。
よくわからないのですが、以前あげて頂いたエラー検証シートのA4は、エラーの行で
そもそも発注番号は出ていなかった気がするのですが・・・

なにはともあれ、注文番号は問題なさそうですね・・・

新規発注時間とキャンセル発注時間がわからないためあくまでも可能性でしかないのですが、
可能性があるとすれば、新規発注直後に、注文取消し関数が動いた可能性はいかがでしょうか?
日付などの設定が間違っていて、
発注直後にキャンセルが走れば、まだ発注番号が落ちて来ておらず、エラーになると思われます。

2021年05月01日

ケン

大野様
先ほど送ったものに間違いがありましたので訂正します。
エラー検証シートのA5は間違いでA4でした。
失礼いたしました。

2021年05月01日

ケン

大野様
本日以下の4カ所の注文番号を確認しましたが、すべて同一でした。
注文条件シートの J30=20210430A**********1
注文照会シートの H4=20210430A**********1
エラー検証シートの A5=20210430A**********1
  〃       A6=20210430A**********1
以上よろしくお願い申し上げます。

2021年05月01日

大野 了

んー確かに
問題はない気がします・・・

ちなみに注文照会シートのH4は新規発注を行ったときの注文番号が入っていますでしょうか?
&
あげて頂いたエラーの画像のA5の注文番号も同一の注文番号となりますでしょうかー?

2021年04月30日

ケン

大野様
異なっているのは取消IDではなく、注文番号である。ということを理解しました。以下3カ所の注文番号を確認しましたが、すべて同一でした。(使用したファィルの各シートのキャプチャ画像を保存しております)
1.条件注文シートのJ30=20210430………………1
2.条件注文シートのJ42=20210430………………1
3.注文照会シートのH4=20210430………………1
(20210430以下の数字は隠蔽しております)
一見して問題無いように思われますが、他に調べるべき所があれば教えていただけますれば幸いです。

2021年04月30日

大野 了

ケンさん、こんにちは

こちらはJ48の内容によるエラーではなく、
注文番号が異なるためによるエラーです。

J42に表示されている注文番号が入っていなかったか
何かしら異なる値が出ていませんでしょうかー?

2021年04月30日

ケン

20210430-エラー検証シート.PNG (5.5KB)

大野様
L7をIF(L2*L3<>0,fneworder(L9,L10,L11,L12,,,,,,,,,,,)と書き換えた件の実験は、本日は残念ながら先物の価格トレンドがダウントレンドの為、実証できませんでした。本日は、別のエラーが発生しました。添付に示したのがエラー検証シートのキャプチャ画像です。エラーメッセージには「注文番号が正しくありません」と書かれています。この画像のA4には注文番号「CN001」と書かれています。これはどこから来たかをファイル「IfdoneOCO+時間決済サンプル」の注文条件シートのJ48を調べますと="CN"&MID(D15,2,10)という関数が書かれています。これはD15から一部を取って来て取消IDを作成しています。これのどこが間違っているのでしょうか?教えていただけますれば幸いです(少々不思議なのは、この実験は2週間前ほどに動作確認はされていました。本日使用したファイルはこのあたりの変更は一切行っておりません)

2021年04月30日

ケン

大野様
了解です。同時に二つデバグするのは諦めます。(実はTS処理する方のファイルは、L2=Q2=L36=0にするので、関数は関係が無くなるはずと思っておりました!)ただし、マクロのプログラムの方はご相談に乗っていただきたく、よろしくお願い申し上げます。

2021年04月30日

ケン

大野様
本日は、大野様のご提案されました、L12=Cとして利益確定に成功するかどうかをトライしましたが、残念ながら本日は、アップトレンドになりませんでしたので、試験できませんでした。明日又トライします。ところで、本日、別件ですがトラブルが発生しました。それは、E10=14:17として強制的に新規注文を取り消ししようとしました。しかしながら14:17になっても取消が行われません!原因を調べましたところ、K8に、関数が書き込まれておりまして、J8=「発注中」のときのみ取消が自動的に行われる事が判明しました。しかし、今回、J8には「逆指値待機中」が書き込まれており、これ故に、K8が「訂正・取消不可」となっており、自動的に新規注文が取り消されない事が判りました。そこで大野様にお聞きしたいのは、このK8の式 "訂正・取消"&IF(J8="発注中","可","不可")を、"訂正・取消"&IF(J8=OR("発注中",” 逆指値待機中“),"可","不可")と書き換えてしまって良いかどうかです。よろしくお願い申し上げます。

2021年04月27日

大野 了

ケンさん、こんにちは!!

今日は利確ならずですか・・・
明日に期待ですね。

ご質問の件ですが、
他の部分との関係性までは保証できませんが、
お聞きした感じとぱっとファイルを見た感じだと、たぶん大丈夫と思います!!

2021年04月27日

大野 了

ケンさん、こんにちは!!

エラーを拝見させて頂いたところ
決済発注の注文の決済建玉の指定でエラーになっているようです。

L12に"C"と入れてみて頂けますでしょうか?
空白でもいいはずなので、今のままでも大丈夫なはずなんですが・・・

2021年04月26日

大野 了

ケンさん、こんにちは!!

そうですね・・・
トレイリングストップの機能追加は、今のサンプルがすべて正常に動かれてからの方がよいと思います。
同時にやるとわけがわからなくなるので・・・

2021年04月28日

ケン

大野様
L7を見てみました。確かにL12、L13だけが “” ですね!あきれました!なぜですかね?早速直しました。明日又トライします。このサンプルは、初心者に試練を与え、Excelの力を付けさせようという親心を強く感じます!(当然イヤミですが!(笑))さて、話題かわりまして、マクロ化(トレーリングストップを仕込む為)を本格的に進めるインセンティブが非常に高まっております。今後、このマクロ化したファイルと2本建てでデバグをしていこうと考えておりますので、よろしくご指導お願い申し上げます。

2021年04月28日

大野 了

ケンさん、こんにちは

これファイルを見てみたんですが・・・
決済用の関数ってL12を観るようになってないですね。

L7を以下のように書き換えて頂けると大丈夫と思います。
=IF(L2*L3<>0,fneworder(L9,L10,L11,L12,L13,L14,L15,L16,L17,L18,L19,L20,L21,L22,L23,L24,L26,L27),"未発注")

とはいえ・・・
正直、元の関数のままでも動いて良さそうな気はするのですが・・・

2021年04月28日

ケン

大野様
L12=Cにつきまして、本日試験できました。残念ながらエラーが発生(1昨日と全く同じ)し、自動的に利確は行われませんでした。再度人力で処理しました。次なる対処案につきまして教えていただけますれば幸いです。

2021年04月28日

ケン

20210428-エラー検証002.PNG (9.6KB)

大野様
L12=Cにつきまして、本日試験できました。残念ながらエラーが発生(1昨日と全く同じ)し、自動的に利確は行われませんでした。再度人力で処理しました。(添付ファイルにエラー検証シートのキャプチャ画面を添付しております)次なる対処案につきまして教えていただけますれば幸いです。

2021年04月28日

ケン

20210428-エラー検証002.PNG (9.6KB)

大野様
L12=Cにつきまして、本日試験できました。残念ながらエラーが発生(1昨日と全く同じ)し、自動的に利確は行われませんでした。再度人力で処理しました。(添付ファイルにエラー検証シートのキャプチャ画面を添付しております)次なる対処案につきまして教えていただけますれば幸いです。

2021年04月28日

ケン

20210426-エラー発生キャプチャ002.PNG (12.3KB)

大野様
ご提案いただいたODERRESULT関数が早速動作しました!添付のキャプチャ画像がそのエラーの状況を表しております。経過を述べますと、
10:00に29,110円での逆指値での買いの新規発注が実行された。
10:43に新規注文が約定し、同時に売り注文が発注された(29,160円で)。
10:55頃に価格が29,190程度になったが約定しないので、先物口座を開き、手動で利確
した。利益は412円だった(500-44×2)!
早速検証シートを確認したところ、エラーメッセージが「建玉番号、もしくは決済順序が指定されていません」と出ていました。これについて対処方法につきまして教えていただけますれば幸いです。(ネットトレーダープレミアムにはエラーのメッセージが見当たりませんでした)

2021年04月26日

ケン

大野様
まず、昨日の私の記述に誤りがありましたので訂正します。
>ここは、H列であれば、H3となって、、、は、以下が正しいです!
>ここは、H列であれば、H4となって、、、が正しかったです。済みません!
そこで本日の本論に入ります!
<#REF!になった理由ですが、たぶん、何かのタイミングでH4の列を削除されてしまっ<たのではないでしょうか?
列を削除した事はありません。ただし行を削除した事があります!それは、過去の履歴が残っていると、動作がおかしいので、前日の新規注文等の履歴を消すために削除しました。これ以降動作がおかしくなったように感じられます。この行を削除する事の履歴がexcelのどこかに記憶されているのでしょうか?常識的に考えますと、行を削除しても何ら関係が無いような気がしますが、、そのあたりを教えていただけますれば幸いです。

2021年04月23日

大野 了

ケンさん、おはようございます!!

ごめんなさい!!
自分も間違えてました・・・
『列』じゃなくて『行』ですね・・・

行を消されてるなら、その時だと思います。
FOPORDQUERY("4","2",H3,H4)
というような関数の場合、

4行を行削除した際ですが
H4など4行目を指定しているセルの参照元が無くなるため、#REF!になります。

もし内容を削除される場合は、
行を削除されるのではなく
A4~L20ぐらいまでを選択されて、セルの内容を削除されると、#REF!にならずに消すことができます!!

2021年04月23日

ケン

IfdoneOCO+時間決済サンプル-新新バージョン(20210423)_v003.xls (0.9MB)

大野様
ご指定の通り実験してみました。
実験1:4行目を削除する>結果:注文照会シートの1行目の関数の第4引数が#REF!となる!
実験2:A4~L5をカーソルでなぞり、Delelteボタンで消す>結果:問題無し。
実験3:5行目の***END***の行A5~L7をコピーし4行目以降にペーストする:問題無し。
以上完全に確認が出来ました!ありがとうございました(ちょっと腑に落ちないところがありますが、まあ結果オーライということで!)、ということで、毎朝、それぞれのシートの履歴をコピペで塗りつぶす作業を実行する事にします!)
さて、次の問題に移ります。それは
問題1:利益が条件を満足しても利確しない。
問題2:終了時刻が来ても利確も損切りも何も実行しない。
以上の二つです。ただし、問題1についてはL15=0(最大指値)にしたらどうかとの大野様からのサジェスチョンに対する実証がまだ出来ておりません。
問題2は本日確認しました。E24=14:17に設定していましたが14:17が来ても何もアクションがありませんでした!これについても何か考えられる理由など判りましたら教えていただければ幸いです。(添付ファイルは今日使ったものです。拡張子はxlsに変えておりますが、今回は、excelの機能を使用しました。Saveするときに、xlsを選択しております。以前は手でむりやり書き換えておりました!)

2021年04月23日

大野 了

ケンさん、こんにちは

こちらのファイルだけでは何とも言えませんが
ロジック的には14:17分にポジションがあれば、問題なく決済が掛かってもよさそうです。

ひとつ気になるのは、10:02:40に新規発注したのち
10:02:48に決済処理がかかったように見えます。

ここからは妄想になるのですが、たぶん・・・

1.10:02:40に新規発注
2.10:02:48に決済注文
3.けど、決済注文が何かしらの理由で失注
4.システム上、決済注文がすでにされているので、14:17に決済が掛からない

という感じなのかもしれません。

注文が失注した場合は、
ORDERRESULT関数を使用するか
ネットトレーダーなどの画面で、注文照会画面を見ると注文が失効した理由がでますので
一度、確認してみられますと原因が何かつかめるのかもしれません

また、確か失効した理由は、日にちが経つと観れなくなりますので、ご注意ください!!

2021年04月23日

ケン

大野様
L11に関してL列自体が決済用の列になるので、2以外にはあり得ないとの件了解です。
(それならば、なぜ1(新規)と2(決済)の二つが選択肢になっているのか(M11にIF(L11=1,"新規","決済")というIF文が埋め込まれている)不思議ではありますが、、)
ところで、話変わりまして、本題の、最終時刻にレスポンスが起きない問題に入ります。
この問題を調査するために、二つの御提案を頂きました。一つはORDERRESULT関数を使って原因を探る方法、もう一つがネットトレーダーを使って調査する方法です。まず、1個目につきましては、ORDERRESULT関数を調査してすぐに使い方が判明しましたので、ファイルに、あらたなシートを追加作成し、そこでエラー原因を記述させることにしました。次に二つ目のご提案の、ネットトレーダーを使う方法を調べましたが、いまいち先物OP状況を知る手段が判りませんでした。ネットトレーダーについては3種(ネトトレーダープレミアム、ネットトレーダーライト、ネットトレーダーWEB2の3種を調べました。この3種の中で、ネットトレーダープレミアムのみが先物OPの状況を記述する機能があることが判明しましたが、どのようにすれば決済の失敗原因などを調査できるのかが判りませんでした。このあたりにつきまして教えていただけますれば幸いです。

2021年04月25日

大野 了

ケンさん、こんにちは

>(それならば、なぜ1(新規)と2(決済)の二つが選択肢になっているのか(M11にIF(L11=1,"新規","決済")というIF文が埋め込まれている)不思議ではありますが、、)
確かに・・・


>どのようにすれば決済の失敗原因などを調査できるのかが判りませんでした。
以下の手順です
1.ネットトレーダープレミアムを起動
2.『取引』メニューをクリック
3.開いたメニューから『先物OP注文照会』をクリック
4.『先物OP注文照会』タブ内の『失効/取消/エラー』をクリック

でその日のエラーが出てきます。

※もしかするとFAKなどで失効した分は乗らない可能性がありますので、ご注意ください。

2021年04月25日

ケン

20210425-001エラー検証シート画像.PNG (16.0KB)

大野様
大野様ご提案のORDERRESULTを使ったシート(エラー検証)を作成しましたので、これでOKかどうかご意見いただけますれば幸いです。添付は新しく追加しましたシート「エラー検証」の画像です。表示のやり方は、注文照会シートと全く同じ方法を使用しております!

2021年04月25日

大野 了

ケンさん、こんにちは

画像拝見しましたー
ORDERQERYではなく、ORDERRESULTを使用してください!!

2021年04月25日

大野 了

ケンさん、こんにちは

L11ですが、L列自体が決済用の列となりますので、
2以外はあり得ないので、サンプルとして初めから2と固定値で入っていると思われます。

2021年04月24日

ケン

大野様
各種アイデアありがとうございます。これからORDERRESULT関数およびネットトレーダーでの先物監視機能などを勉強しようとしております。その前に非常に気になったものがありますので、大野様にお聞きします。ファイルの条件注文シートのM11に「決済」と出ています。これはその左隣のL11=2となっているせいですが、L11に2と書き込んだのは誰なのか、マクロを検索しましたが、見つかりません! このあたりにつきましてご存知でしたら教えていただけますれば幸いです!

2021年04月24日

ケン

大野様
まず、昨日の私の記述に誤りがありましたので訂正します。
>ここは、H列であれば、H3となって、、、は、以下が正しいです!
>ここは、H列であれば、H4となって、、、が正しかったです。済みません!
そこで本日の本論に入ります!
<#REF!になった理由ですが、たぶん、何かのタイミングでH4の列を削除されてしまったりしたのでは<ないでしょうか?
<参照先(ここではH4)を列削除すると参照先が無くなるので、#REF!になる時があります。
列を削除した事はありません。ただし行を削除した事があります!それは、過去の履歴が残っていると、動作がおかしいので、前日の新規注文等の履歴を消すために削除しました。
これ以降動作がおかしくなったように感じられます。この行を削除する事の履歴がexcelのどこかに記憶されているのでしょうか?常識的に考えますと、行を削除しても何ら関係が無いような気がしますが、、そのあたりを教えていただけますれば幸いです。

2021年04月23日

ケン

大野様
まず、昨日の私の記述に誤りがありましたので訂正します。
>ここは、H列であれば、H3となって、、、は、以下が正しいです!
>ここは、H列であれば、H4となって、、、が正しかったです。済みません!
そこで本日の本論に入ります!
<#REF!になった理由ですが、たぶん、何かのタイミングでH4の列を削除されてしまったりしたのでは<ないでしょうか?
<参照先(ここではH4)を列削除すると参照先が無くなるので、#REF!になる時があります。
列を削除した事はありません。ただし行を削除した事があります!それは、過去の履歴が残っていると、動作がおかしいので、前日の新規注文等の履歴を消すために削除しました。
これ以降動作がおかしくなったように感じられます。この行を削除する事の履歴がexcelのどこかに記憶されているのでしょうか?常識的に考えますと、行を削除しても何ら関係が無いような気がしますが、、そのあたりを教えていただけますれば幸いです。

2021年04月23日

大野 了

ケンさん

こちら、ファイル名だけではなく、Excelのファイルの形式自体をxlsに変更されておられないでしょうか?
ダウンロードしたファイル名のままのxlsですと、こちらでも開きました。

多分、ケンさんのところでもxlsmに拡張子を変更すると起草しなくなると思います。

ご確認頂けますと幸いです。

2021年04月20日

ケン

大野様
ただいま、昨日アップロードしたファイルをダウンロードしまして、パソコンのデスクトップに貼り付け、拡張子をxlsからxlsmに変えました。そこでそのアイコンをダブルクリックして開こうとしましたが、開く事が出来ませんでした!そこで、昨日アップロードした時のファイル(拡張子xls)の元のファイル(拡張子.xlsm)をダブルクリックしたところ、当然のことながら開く事ができました! ということは、アップロードしたとたん、それをダウンロードして拡張子をxlsmに戻すと、そのファイルは開くことが出来なくなる。という事のようです!ところで、それはそれで良いとして、なぜ、先物価格が70円アップしたにもかかわらず、約定しなかったか?についてはそのままの状態で(.xlsのままでの意味)調べていただく事は出来ないでしょうか? (あのあと、更にああでもない、こうでもないといろいろ調べましたが、原因がわかりませんでした。しょうが無いので、明日又全く同じトライをしてみようと思っておりますが、、)

2021年04月20日

大野 了

ケンさん、こんにちは


頂いているファイルを観ますと、
L15は、D19を観るようになっていますが、いかがでしょうか?
もしかしたら計算式を書き換えてしまっておられるのかもしれません

また、D19で0が選べない件ですが、
選択項目を観ますと指値系だけですので、もそもとのサンプルの仕様として、
利確の価格にぶれが出ないように指値系に絞らているのだと推測されます。

ですので、今回のようなテストの場合は、いったん0を無理やり入れてしまって、
テスト後に戻されても問題ないかと・・・

2021年04月22日

大野 了

ケンさん

>ここには、H列であれば、H3となっているはずです。こうなってしまった原因は何でしょうか?
そうですね、書き出し開始セルが#REFになっていますので
H列であれば、H3ではなく、H4と記述してあげる必要があります。
#REF!になった理由ですが、たぶん、何かのタイミングでH4の列を削除されてしまったりしたのではないでしょうか?
参照先(ここではH4)を列削除すると参照先が無くなるので、#REF!になる時があります。

2021年04月22日

ケン

キャプチャ20210422-001.PNG (10.7KB)

<L15は、D19を観るようになっていますが、いかがでしょうか?
<もしかしたら計算式を書き換えてしまっておられるのかもしれません
確かにその通りでした。L15=D19でした。従ってD19を0に書き変えました。

<ですので、今回のようなテストの場合は、いったん0を無理やり入れてしまって、
<テスト後に戻されても問題ないかと・・・
D19に無理矢理0を入れますと「この値は、このセルに与えられているデータ入力規則制限を持たしていません」という警告が出て先に進むことが出来ません。
ということで、この問題はとりあえずL15だけを0にして進めることにします。

ところで、今朝これとは違ったトラブルが発生しました!
今朝、10時になり、新規注文の許可申請が出たのでOKしました。すぐに注文照会シートにて新規注文の状態を確認したところ、全く何も記入されていませんでした。これは異常と思い、別のPCにて先物口座を開き、人力にて新規注文を取り消しました。そこで理由を調べました。原因と考えられる所が発見されました。それは添付しました、注文照会シートのキャプチャ画面にあります通り、A1~L1のセルに書き込まれている関数FOPORDQUERYの4番目の引数がことごとく#REF!となっている為だと思われました。通常であれば、ここには、H列であれば、H3となっているはずです。こうなってしまった原因は何でしょうか?教えていただけますれば幸いです。どうも複合汚染しているようで、一つ一つ明らかにして行かねばならないと思っておりますので、よろしくお願い申し上げます。

2021年04月22日

ケン

大野様へ
各種の検討大変ありがとうございます。深く感謝申し上げます。本日、以下新規まき直しの意味でトライ開始しました。
1.ファイルは、注文照会シートなどに過去の履歴が残っていない新しいファイルを使用する。
2.L15=0(最大指値)とする。
3.D58=D59=5(高値補正、安値補正)とする。
以上ですが、本日14:45過ぎにどうなったか結果をご報告申し上げます。
(ところで不思議な事を今発見しました!D19(利確の執行条件)=0が指定出来ません!(選択肢の中に0がありません)ところが、L15は指定出来ます!D19は無視して良いのでしょうか?)

2021年04月22日

岡三オンライン証券

ケンさま

いつもRSSをご利用くださり、誠にありがとうございます。

添付いただきましたファイルに取引パスワードと思われる文字列の記載がございました。

そのため、該当する投稿につきましては、非公開とさせていただきました。

ご理解くださいますようお願い申し上げます。

また、投稿の際には、取引パスワードなど重要な情報につきましては記載をしないようにお願いいたします。

2021年04月21日

大野 了

また、元のファイルで70円の件を調べれるだけ調べてみました。

その時のデータが消えてしまっているため、何とも言えませんが、
ファイルだけを見ると、11:01に+50円で決済が掛かってもよさそうな気がします。

また、ファイルを観ますと11:01の+50円に達した際に、
利確の注文処理自体は動いているようです。
※L5に11:01と時間が入ってるため

このため、約定しなかった原因としましては、
岡三オンライン証券さん側で失注したか、
RSSの発注自体が失敗した可能性が考えられます。
あとは、考えつらいですが、
決済の発注が指値のFAKで出されていますので、
もし何かのタイミングで一瞬、29,795を付けた後に、値が下がると
指値の注文が失注する可能性があると思います。(たぶん・・・自信がないですが・・・

あと、怪しそうなところとしては・・・
『利確注文時にL16に正常に数値が入っているか』ぐらいでしょうか・・・
ここに正常に数字が入っていないと、今の執行条件の設定ですと
正常に発注処理がかかりません。

もし、指値の価格が怪しそうな場合は、
L15を0の最大指値にして頂くと、とりあえず決済処理が正常に動くかは確認できると思います!!

2021年04月21日

大野 了

ケンさん、こんにちは

>条件注文シートのF2~F5に添付しましたキャプチャ画面のような「発注完了」の記述が見えました!
こちらですが、キャプチャを拝見したところ
F2~F5以外でも「発注完了」という文字が見受けられないため
状況を判断するのが少し厳しいのが現状です。
どこか別のセルか、アップロードされているキャプチャ画面が別のものではないでしょうかー?

また、岡三RSS上で『発注完了』という文字が表示されたにもかかわらず
岡三オンライン証券さんの画面で発注自体が無いという状況は、
発注する際にエラーになった可能性があります。
『発注完了』はあくまでも『発注完了』で、
『発注が正常に完了』という意味ではないため、
正常に発注できた場合でも、エラーになった場合でも『発注完了』になってしまいます。

岡三オンライン証券さん側で、失注してしまった場合は、
ORDERRESULT関数を使用するか
ネットトレーダーなどの画面で、注文照会画面を見ると注文が失効した理由がでます!!

2021年04月21日

ケン

大野様
今朝いろいろ実験しまして、問題が判明しました。まず、注文照会シートに、昨日の新規注文が取り消された旨記入されたファイルをそのまま使用して、今朝再度新規注文したところ、昨日のデータに上書きされて、本日の新規注文データが記述されおりました。そしてその注文の取り消しも、規定の時間が来ると、自動的に取り消されるのを確認できました。さて、昨日、人為的に新規注文の取り消しが記述された行を削除したファイルは、理由がわかりませんが、まともに動作しないようです。このファイルは削除することにします!ともかく、めでたく使い方が判りましたのでご報告申し上げます!

2021年04月13日

大野 了

ケンさん、こんにちは

今回は、何もお役に立てませんでしたが、問題解決してよかったです!!
今後も上手い事行くことを祈ります!!

2021年04月14日

ケン

大野様
今、実験的に、昨日アップロードしたファイル「IfdoneOCO+時間決済サンプル-新バージョン_20210419-1412もうけ.xls (0.9MB)」をダウンロードして、私のパソコン(1年ほど前に買ったノートパソコン)で開いてみました。全く問題なく開くことが出来ております。xlsをxlsmにしなくても問題なく開く事が出来ております。以上ご参考までにお知らせいたしました。(尚、拡張子を変えるときは、ファイルを右クリックして下から2番目の「名前の変更(M)」にて名称の変更をしております)

2021年04月20日

大野 了

ケンさん、こんにちは

すみません、やはりDLしたファイルを開くことが出来ず・・・
多分、何かしら拡張子の変更方法が異なると思うのですが・・・
どのようにされてますでしょうか?

2021年04月20日

ケン

大野様
元のファイル名は「IfdoneOCO+時間決済サンプル-新バージョン_20210419-1412もうけ.xlsm」 です。よろしくお願いします。

2021年04月20日

大野 了

ケンさん、こんにちは!!

やはり拡張子を変えても、ファイルを開くことができません・・・
拡張子を変更される前のファイル名を教えて頂けますでしょうか?

2021年04月20日

大野 了

ケンさん、こんにちは!!

すみません・・・
ファイルですが、拡張子を変えたのですが開けませんでした・・・
お手数ですが、もう一度アップロードして頂けますでしょうかー?

2021年04月19日

ケン

IfdoneOCO+時間決済サンプル-新バージョン_20210419-1412もうけ.xls (0.9MB)

大野様
お久しぶりです。当方岡三RSSで動くexcelファイル「IfdoneOCO+時間決済サンプル.xls」を動かそうとしております。先週はなんとか新規発注から発注取消まで完全に動くことを確認しました。今週からいよいよ新規発注以降の返済系のデバグを開始しました。ところが初日からトラブル発生しまして、その原因につきまして、ご相談に乗っていただきたく、本質問状を送らせていただきました。以下状況です。新規発注(買い)は10:00に行われました。そのときの買いの目標価格は29,745でした。11:01頃に価格が目標に達し、買いが成立(約定)しました。同時に売りの返済注文が発注されました。目標の売値は50円の利益を積んで29,795です。更に12:41頃に価格が29,815になりました(そのときの利益は70=29,815-29,745)。ターゲットの利益は50円でしたので、利益確定が行われるはずなのに、何も起きないので、不思議だなあと思い、これはおかしいと確信し、手動にて利益確定しました。利益は1500円でした(もたもたしている間に価格が急落!)。そこでexcelファイルをあちこち調べましたが、理由がわかりませんでした。この辺りを教えていただけますれば幸いです。添付しましたのはそのとき使ったファイルです。(Xlsmをxlsに変えています)

2021年04月19日

大野 了

ケンさん、こんにちは!!

その時の発注の状態がわからないので、何とも言えませんが・・・
岡三オンライン証券さんのWebの画面で『発注待機中』と出るのであれば、
発注自体は正常にできていると思われます。
ですので、ただ単純に逆指値で発注を掛けてしまい、
まだトリガー条件に合致していなかっただけではないでしょうか?

2021年04月13日

ケン

大野様
了解しました。解答ありがとうございます。ところで本日、excelファイル「IfdoneOCO+時間決済サンプル」を起動し、いよいよ新規発注およびその後の決済関係の実働試験を開始しました。規定の時刻の10時になり、新規発注の可否を聞かれましたのでOKをクリックしました。すぐにその確認の為、注文照会シートを見ました。ところが何も出力されていませんでした!おかしいと思い、先物口座を開きました。そこには発注待機中の注文が出ていましたので、それを手動で取消しました。こうなった理由を考えました。一つ思い当たるのは、昨晩、ファイルの注文照会シートを見ますと、昨日に行った新規注文の取り消しの記録が残っておりましたので、その記録があっては邪魔になると考え、注文照会シートの4行目全体を削除しました。これが問題だったのでしょうか?もし問題であったとすれば、どのような対処をすれば良いかご教授いただけますれば幸いです。

2021年04月12日

大野 了

ケンさん、こんにちは!!

そうですね・・・

損切りなどの決済系の注文をすべてVBAでされるなら、
L2、Q2、L36を0にすることにより、
サンプルシート側の発注はされなくなると思います!!

2021年04月11日

ケン

TS(20210411-v001).PNG (75.3KB)

大野様
8600についての説明ありがとうございました。自動売買に於いては、このあたりは無視して良いと認識しました。このファイル「IfdoneOCO+時間決済サンプル.xls」について、これから実際のシステムにて実証試験を行っていく所存です。ところで、これと平行して、このファイルにTS(トレーリングストップ)を仕込む検討を開始したいと思っております。TSについては昨年末に、大野様から基本的な事を教えていただき、添付に示しましたプログラムをマクロに組み込む予定にしております。お聞きしたいのは、このマクロを組み込んだ場合、セルの動作とマクロの動作が干渉して動作がおかしくなるのを防ぐ意味で、L2=0、Q2=0、L36=0というふうにしておけば、問題ない。と言えるでしょうか?そのあたりを教えていただけますれば幸いです。尚、添付はTSのフローチャートと、TSの挿入位置(Sub PCTimeUpdate()の中における)を示しております。

2021年04月11日

大野 了

ケンさん、こんにちは

D26ですが、
こちらは損切の価格に達した時に、
成行ではなく指値などで決済注文を出す場合の価格のようです。

2021年04月10日

ケン

IfdoneOCO+時間決済サンプル-新フロー(20210328)_v002.xls (311.9KB)

大野様
さて、漸く全体の流れを把握できました。しかしわからないところが一カ所残っております。それは、返済注文損失限定(SL)開始条件の変更後、注文価格のD26に書き込まれている8600という値の意味がどこにも書き込まれていない事です。これにつきまして教えていただけますれば幸いです。(ご参考のためファイル「IfdoneOCO+時間決済サンプル.xls」を添付しました)

2021年04月10日

大野 了

ケンさん、こんにちは!!

このファイルを作ったわけではないので、何とも言えないのですが・・・
サンプルファイル名だけみますと、
If done + OCO ですので、新規発注は逆指値以外もあるのではないかと思います!
新規約定と同時に設定したり、約定後に設定したりできるという意味ですので、
新規約定は成行とか指値とかあり得ると思います。(とはいえほとんど使わないと思いますが・・・

2021年04月08日

ケン

大野様へ
昨日は、漸く、新規注文が出来ることを確認出来ましたが、その新規注文の取り消し、すなわち新規取消が動作するかどうかを確認しようとしましたが、出来ませんでした。このとき、新規注文の失効時刻(E10)は14:45に設定していました。従いまして、14:45になって、注文照会シートを見ましたが、取り消されていませんでした。仕方がないので、14:58頃に、二日ほど前に、新たに開設した先物口座に入り、手動にてこの新規発注を取り消しました。そのとき注文照会シートを見ましたが、ちゃんと取り消されていました。そこで、取消しない理由を調べました。結果わかったことは、新規発注の失効条件(D14)が8の場合、逆指値発注を意味することが判明しました。逆指値発注の場合、新規取消のトリガー執行条件が満たされない為、取消が実行されないことが判明しました。しかし、考えてみるに、このexcelファイル「ifdoneOCO+時間決済サンプル」は、ブレーク買いですので、新規発注は逆指値になるかと思いましたが、この考えは間違っているのでしょうか?教えていただけますれば幸いです。

2021年04月08日

大野 了

ケンさん、こんにちは!!

発注うまくいきましたか!!
よかったです!!!

ファイルもうまく動くことを祈ります!!

2021年04月07日

ケン

大野様へ
あれからいろいろありまして、なんとか新規注文の発注に成功しました。いろいろの最大なものは、10年近く前に口座を開いたときの先物のパスワードを教えてもらい、パスワードの変更を行い、発注余力が0だったので、いくらか積み増したということでした。長年、他の証券会社に慣れ親しんでいたため、思い込みが酷く、ショックの連続でした。従いまして、岡三証券のやり方を最初からやり直した。という訳でした。という事で、現在、発注された新規注文が無事14:45に、新規注文取消が実行されるかどうかを確認しようとしております。これからどれくらいの日数で、利益確定まで行くかどうか全く予想も付きません!今後ともよろしくお願いもうし上げます。

2021年04月07日

大野 了

ケンさん、こんにちは!!

岡三オンライン証券さんの取引パスワードと同じパスワードになります!!

ちなみに取引パスワードですが、現物と先物で異なりますが、
岡三オンライン証券さんのWeb取引画面で、先物をテスト発注された際に
使用したパスワードが通らないという事でしょうかー?

2021年04月06日

ケン

大野様へ
本日、パスワードを取引パスワードに変更し、岡三RSSへのアクセスをトライしましたが、やはり全くこれまでと同様に(パスワードをnaishoにしていたときと同様!)エラー(1701)が出て、新規発注が出来ませんでした。この取引パスワードとは、岡三オンライン証券の取引パスワードと同一ものではないのでしょうか?教えていただけますれば幸いです。(尚、この取引パスワードについては、直前に岡三オンライン証券にて実際に動作する事を確認しております)

2021年04月06日

ケン

大野様
エラーになっているのは、新規注文(J7)と思われます。なぜならば、10:00きっかりにアラームが出るからです。J7のパスワードは、仰るとおりJ21です。ですので、J21に=F35、あるいはF35に書かれているnaisho というパスワードを直接書き込むことをしています。さきほど添付したファイルの場合はJ21に直接naisho と書き込んだ例を添付したわけです。昨日から既に同じ実験を20回ぐらい繰り返しておりますが、エラーが消えません。よろしくお願い申し上げます。

2021年04月01日

ケン

IfdoneOCO+時間決済サンプル-新フロー(20210328)_v002.xls (311.9KB)

大野様へ
今朝も2台のPCで実験しましたが、やはり全く同じ警告(パスワードが異なります)でした。1台はパスワードそのもの(naisho),もう1台はセルの参照(=F35)でした。尚、使用したファイルを添付します。拡張子をxslm だったものをxlsに変えております(添付出来ないので)

2021年04月01日

大野 了

パスワードが複数あるので、どちらか迷いますよね・・・

何はともあれ解決されたようでよかったです!!

2021年04月04日

ケン

取引パスワードだったんですね!あまりのショックに、二日ほど寝込んでしまいました!それにしても、実力30級を思い知りました!これに懲りず、今後ともよろしくお願い申し上げます!

2021年04月03日

大野 了

ケンさん、こんにちは

なるほどー!
いろいろと理解できました

という事は、J21に『naisho』という文字列ではなく、
ケンさんの正しいパスワードを入れても『パスワードが異なります』のエラーが出るという事でしょうかー?

関数等は間違っていないと思いますので、
J21やF35に、取引パスワードではなく、ログインパスワードを入れられたりしませんでしょうか?

岡三オンライン証券さんはログインパスワードと、取引パスワードが異なるので、
J21には取引用のパスワードを入れる必要があります!!

2021年04月01日

大野 了

ケンさん、こんにちは

どの注文がエラーになっているかわからないため、何とも言えませんが、

こちらは、条件注文シートのJ7、L7 を使用して注文されている感じでしょうかー?
もしそれでしたら、パスワードとしてはF35は見ておらず、
J7はJ21
L7はL21をパスワードの元として参照しているようです。

2021年04月01日

大野 了

ケンさん、こんにちは

返信が遅くなりました。
発注不可の件、解決できてよかったです!!

パスワードの件ですが、
こちらはK35に正しいパスワードを入れられても『パスワードが違う』とエラーが出るという事でしょうか?
ちなみにK35を参照するのではなく、パスワードを直接記入されても動かない感じでしょうかー?

2021年03月31日

ケン

小野様へ
原因がわかりました! excel ファイルのアドインの、ど真ん中の設定が、赤くなっておりました!これをクリックして赤印を消したとたん、発注の許可を求めるウインドウが立ち上がりました。そこでOKを押した瞬間、「パスワードが異なっております」との警告文が出ました! これは4ヶ月ほど前に、小野さんから「パスワードをわざと間違えておけば、発注までの手順が正しいかどうか調べる事が出来る!」とのアイデアをいただき、その通り実行した結果となりました! とりあえず、ここまで来ましたので、今後パスワードを正しくして、どこまで行くかを確認したいと思っております。ありがとうございました。

2021年03月30日

ケン

小野様へ
ところで、早速ですが、以下質問させていただきます。本日朝から岡三RSSを起動し、excelファイルを起動しました。10:00丁度に、小さなウインドウが開きまして「発注不可設定になっています」と書かれていました。そこで早速いろいろ調べてみましたが、どこをどう直せば良いか判りませんでした。以上につきまして教えていただけますれば幸いです。ところで、問題のexcelファイルを添付したところ(~.xlsm)、ファイル形式が違っています。との警告が出て、送信できませんでした。このあたりにつきまして教えていただければ幸いです。

2021年03月30日

ケン

大野様へ
大変お久しぶりです!前回136回もやりとりいただきまして、深く感謝いたしております。ところで、警告について了解です。要するに気にすることはないということがわかり、安心しました。
ところで、前回のやりとりの最後である136回目は、2020年12月14日でしたが、その日以来、今日まで3ヶ月に渡り、何回も反芻し、ネチネチと確認作業をしておりました。そこでいささか自信を得て、昨日からRSSを再度稼働させました。そこで偶然、例の警告文を発見した!というわけでした。今日から又やりとりを再開させていただきますので、よろしくお願い申し上げます。

2021年03月30日

ケン

大野様
現在、今朝から岡三RSSを動かしておりますが、エラーが出て、先に進むことが出来ません!エラーを調べる為、注文取得通知(Orderresult)を動かして調べたところ、「先物,N001,新規,エラー,10010:取引パスワードが異なります。入力内容をご確認ください。:1701」 との事でした。しかしながら、パスワードについては、大元のセルを参照する形式(=K35)にしておりますので、異なる理由がわかりません。本件につきまして、何か原因が考えられますでしょうか?教えていただけますれば幸いです。

2021年03月31日

大野 了

ケンさん、こんにちは!!

136回もやり取りしていましたか・・・(笑

はい、あれは『このファイルは古いExcelでは一部動かないよ』と言ってるだけですので、
最新のExcelを使用されているのであれば、気にされなくて大丈夫です!!

なにはともあれRSSの可能おめでとうございます!!
めでたいですね!!

2021年03月30日

大野 了

ケンさん、お久しぶりです!!

IfdoneOCO+時間決済サンプルのサンプルが見つからないため、
正確なところはよくわからないのですが、
画像を観ますと、互換性チェックのレポートが出力されているようです。

元々のサンプルの時点でついていたか、
何かの拍子で互換性チェックが動いてしまったのかはわかりませんが、

この警告は、
他のシートの値を使った入力規制が対象にセルに行われているため発生しています。
他のシートの値を使った入力規制はExcel2003以前のExcelでは動かないため、互換性のチェックで引っかかっています。
Excel2003以前のExcelでファイルを使用しないのであれば、特段問題ありません!!

2021年03月29日

ゆのみん

VBAでのドテン処理

VBAでのドテン処理について質問です。

下記のような売りポジション1枚保持からドテン処理をすると、
売りポジションのロスカットはできますが、
反対売買の処理ができないようです。

反対売買処理前のポジションチェックのタイミングでは、
タイミング的にポジションが残ってる状況になるのでしょうか?

もし、そうだとすると反対売買時にはポジションチェックせずに
発注処理することになりますが、
その場合、一時的にポジションを倍持つことになり、
証拠金は倍必要ということになるのでしょうか?


'売りポジション1枚保持からドテン処理

'ポジションのチェック
PosSize = PosReturn(2)

'Doten LossCut
If PosSize > 0 And PosType = "売" Then
Call 強制_LossCut1_3
End If 'if Range

'ポジションのチェック
PosSize = PosReturn(2)

'1枚もポジションを持ってなかったら処理
If PosSize = 0 Then
Call Buy1_成行
End If

よろしくお願いします。

2021年05月15日

大野 了

ゆのみんさん、こんにちは!!

おぉぉ!!うまく行きましたか!!よかったです!

俺も他のコードとの兼ね合いが大丈夫であれば、1の方がよいと思います

なにはともあれ、上手くいってよかったです!!

2021年05月22日

ゆのみん

大野さん

おはようございます。

2.は少し不安だったので、
1.の処理を下記のように追加しました。

ロスカット後に発注フラグをオンに設定。
次回のLoop処理の初めに発注フラグを確認。
発注フラグがオンなら発注処理を実行。
発注後はフラグをオフに設定。

昨晩、ドテン処理がうまく動作してることを確認しました。

ありがとうございました。

2021年05月22日

大野 了

ゆのみんさん、こんにちは!!

Doeventsの件、説明不足で申し訳ありません。

今回、VBAの大まかな流れがわかったので説明しますと・・・
まず岡三RSSはVBA実行中は情報をセルに更新することができません。
※ExcelがVBAの処理につきっきりになってしまう。

ですので、ゆのみんさんのソースですとLoop()が3秒間隔で動きますが、
一度、Loop()の処理を抜けてVBAの処理がいったん終わり、
次のLoop()が動く3秒間の間にやっと岡三RSSのセルの更新が可能となります。

今回ですと、Call 強制_LossCut1_3の後にVBAを抜けることなく、
続けてPosCheck()で確認されていますので、
FNEWORDERで決済した結果(ポジションが無くなる)が、
セルに更新される前にセルの値として落ちてきません。


このため、これを回避させるためには、以下の3点が対応策となります。

1.3秒後の次に起きるLoop()の中でドテンの発注を行う
2.DoEventsを使用してVBA実行中でも、岡三RSSが更新できるようにする。
※Doeventsは、OSに他のイベント(岡三RSSのセル更新イベント)の処理をVBA実行中にやらせるための関数です。
3.ポジション関数に頼らず、変数などでポジションを管理しておき、決済したら変数を減算させる。

3は危険なので、一番のおすすめは安定的な処理の1です。(俺もこのやり方です)
ですが、もしそのほかのPGの関係で厳しい場合は、

Call 強制_LossCut1_3 と PosCheck()の間に
DoEventsの繰り返し処理を入れてあげると大丈夫と思います

例)

Call 強制_LossCut1_3

'DoEventsを無限に実行
Do while true
DoEvents

'DoEventsを実行し続けて、岡三RSSがセルを更新できるようにしてポジション情報が落ちてくるのを待つ
If ロスカットしたポジションが無くなれば Then
Exit Do
End If
Loop

'ポジションのチェック
PosReturn = PosCheck()

※テストしてないので、構文とか間違ってたらごめんなさい

という感じでしょーかー

DoEventsを実行すると、他のイベントの処理を動いてしまうので、
PGの作りによっては危険な動きをしてしまう可能性がありますのでお気を透けください!!

2021年05月16日

ゆのみん

大野さん

詳細な説明ありがとうございます。

VBA処理を抜けないとポジション情報は更新されないのですね。
理解できました。

1か2を試してみます。

2021年05月16日

大野 了

ゆのみんさん、こんばんは!!

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

2021年05月16日

ゆのみん

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

仰る通り、ポジション関数のセル出力を読み取ってるだけです。
メインのLoop処理は3秒毎に売買ロジックとポジション管理を処理をするようにしてます。

コメント頂いた意味が理解できませんでした。
Doeventsを入れて岡三RSSがセルを更新できるようにするとは具体的にどうすれば良いのでしょうか?

よろしくお願いします。

Static Sub Loop()

'ポジションのチェック
PosReturn = PosCheck()
PosSeries = PosReturn(0)
PosType = PosReturn(1)
PosSize = PosReturn(2)

'買いトリガー
If BuyTrigger=1 then

'Doten LossCut
If PosSize > 0 And PosType = "売" Then
Call 強制_LossCut1_3
End If 'if Range

'ポジションのチェック
PosReturn = PosCheck()
PosSeries = PosReturn(0)
PosType = PosReturn(1)
PosSize = PosReturn(2)

'1枚もポジションを持ってなかったら処理
If PosSize = 0 Then
Call Buy1_成行
End If

End if

'回帰処理 3sec毎にLoop
Application.OnTime Now + 3 / 86400, Procedure:="Loop"

End Sub

Function PosCheck() As Variant

Dim ddd As Integer
Dim PosSeries As Integer
Dim PosSize As Integer
Dim PosType As String

For ddd = 0 To 10
'保有照会 数量
If Cells(4 + ddd, 64).Value = "***END***" Then
Exit For
Else
'保有照会 行数
PosSeries = ddd + 1
'保有照会 売買
PosType = Cells(4 + ddd, 63).Value
'保有照会 数量
PosSize = PosSize + Cells(4 + ddd, 64).Value
End If
Next ddd

PosCheck = Array(PosSeries, PosType, PosSize)
End Function

2021年05月15日

大野 了

ゆのみんさん、こんにちは!!

PosReturn(2)の中身がわからないので、完全な妄想ですが(笑

もしこの関数の中身がポジション関数の吐き出したセルの内容を見ているだけで
Doeventsなどの処理が入っていないとすると、
Call 強制_LossCut1_3 でロスカットした後、
VBAの処理が終わっていないため、
岡三RSSがポジション情報を更新することが出来ず、
まだ、Excelのシート上はポジションが残っているように見えていると思われます。

これを回避するには、
onTimeを利用して、VBAを一度抜けるように作り直すか
Doeventsを入れて岡三RSSがセルを更新できるようにしてあげる必要があります!!

2021年05月15日

ヨッシー

発注関数のダブルコーテーション(””)の要不要に関して

いつもお世話になります。
発注関数を直接VBAに書き込もうとしているのですが、ダブルコーテションの要不要に関して、マニュアルによって書いてある内容が異なっており、どれが正しいのでしょうか。
当面私が今困っているのは「FNEWORDER」関数で、関数一覧表と関数マニュアルで「単価」等複数の項目の記述が異なっています。
他の関数を調べたわけではないのですが、こういうのはあまり気にせず、付けても付けなくてもよいということなのでしょうか。
お手数ですが、ご教示をお願いいたします。

2021年05月12日

ヨッシー

大野様
いつも私の拙い質問に回答していただきありがとうございます。

なるほど、そういうことですか。
全引数ダブルクオーテーションを付けてやってみます。
ありがとうございました。



2021年05月14日

大野 了

ヨッシーさん、こんにちは!!

お役に立てて幸いです!!
上手くいくことを祈ります!!

2021年05月15日

大野 了

ヨッシーさん、こんにちは!!

確かに各種マニュアルでちょっとずつ記載がずれていますよね・・・

とりあえず、ExcelはVBA、セル関数ともに『暗黙の型変換』という機能があるので、
ダブルクオーテーションを付けてもつけなくても、Excel側で自動で調整してくれます。

一応、FNEWORDERのプログラム的なインターフェースは、
すべてString型になっていますので
全引数ダブルクオーテーションを付けるのが、正しいのかなーと思っています。

2021年05月13日

かしたか

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

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

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

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

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

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

2021年05月12日

かしたか

大野さん、こんにちは!

失礼しました。各引数は以下のように持ってきています。
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日

大野 了

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

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

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

2021年05月13日

かしたか

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

2021年05月13日

かしたか

大野さん

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

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

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

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

2021年05月13日

大野 了

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

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日

デザイナー

保有情報関数FOPPOSITIONの挙動について悩んでいます。

こんばんは。岡三RSSで自動売買を始めて1年弱経つのですが、いつも岡三RSSの独特の挙動に悩まされその度にメンテナンスを繰り返しています。

今回はちょっと自分ではなかなかアイデアが出てこないので皆様のアイデア・ご意見を伺いたく書き込ませていただきました。

foppositionでは横一列にメモや建玉番号などを表示させております。
保有が1枚の時の挙動は全く問題ないのです。
約定したらそれぞれの項目で「***END***」が一つ下に繰り下がり、メモや建玉番号などが横一列に表示される。決済されると、それらの項目は一斉に***END***となる。
ところが、複数枚保有している時が問題で、約定する瞬間でも決済される瞬間でもそうだと思うのですが、どうやら保有情報が更新される際に一度***END***など全てクリアされてから更新される気がするのです。

memo1 27000 買
memo2 26950 買
***END*** ***END*** ***END***
↓(memo1が決済されると・・・)
クリア クリア クリア
クリア クリア クリア
クリア クリア クリア

memo2 26950 買
***END*** ***END*** ***END***

という感じで一瞬(もしかしたら数秒)クリアの瞬間を挟んでいるのではと考えています。(違っていたらすみません。。)

-----------------
その対策として、シート上で=AND(NOT(EXACT(A2,"")), NOT(EXACT(B2,"")),...)としてこれがTRUEにならないと決済注文や新規注文はしないでねーという対策をしたのですがこれでもうまくいきませんでした。。もしかしてクリアでなく、一瞬0を挟むのでしょうか。
この辺りの挙動についてご存知の方、もしくはこの場合こう対処しているなどの知見をお持ちの方、アドバイスいただけますと助かります。
よろしくお願いいたします。

2021年10月25日

大野 了

デザイナーさん、こんにちは!!

ここら辺一瞬の動きで目に見えないので、大変ですよね・・・
なにはともあれ、お役に立てたようで幸いです!!

また、何かありましたらー!!

2021年10月27日

デザイナー

サンプルシートありがとうございます!!!
なるほど、その手があったかと、ものすごくスッキリいたしました。

本当に助かりました、お忙しい中ご回答いただきありがとうございます。

2021年10月26日

大野 了

関数の動き.png (46.9KB)

デザイナーさん、こんにちは!

なるほどー!!
いろいろと理解できました。

動きとしては、デザイナーさんのご指摘通りの動きをセル関数単位で行っています!!
言葉で説明しずらいので、実際に動かした動きを画像として添付します!!
※汚い画像でごめんなさい・・・

添付画像は、注文情報関数で注文した注文を一件キャンセルした時の動きとなりますが、
取得項目単位で、対象データをクリア後、取得データをExcelに書き込んでいます。

2021年10月26日

大野 了

END行チェックサンプル.xlsx (12.8KB)

こちらに対応するには、
FOPPOSITIONのデータが取得し終わったことを判断する必要があります。

データが取得し終わったことの確認は、
***END***が横一列に並んでいることで判断できるため、
***END***が一列にすべて並んでいる行が発生した時のみ、
様々な判断を行う形に条件を追加させてあげるのがよいと思います。

言葉では難しいので、
こちらもサンプルシートを作成しましたので、ご参考頂けますと幸いです!!

簡単に説明しますと、
F列で その行が『***END***』で埋められているかを確認し、
F1で、一つでも『***END***』が埋められている行があれば、
データの時差がなく正常に取得されたと判定しTrueとなる形になります!!

後は、様々な発注判定のロジックで、F1がTrueの時のみに判断せる
という条件を追加すれば、誤発注は防げると思います!!

2021年10月26日

大野 了

デザイナーさん、こんにちは!!

確かに、RSSはEXCELに書き出す仕様のため少し変わった動きをしますね・・・
デザイナーさんのお困りごとが、いまいち理解できておらず、
正確な回答になっているか不安なのですが、

もしこちらは、FOPPOSITIONの情報に対して
正しい条件等を設定しているのに、誤発注や誤判断などを起こしてしまうということでしょうか?

だとすると、もしかしたらFOPPOSITIONの項目間の時差問題が原因かもしれません。
以前いただいた質問への回答のURLで申し訳ございませんが、
内容的にはこちらを見て頂けますと幸いです。
※質問の内容はFCANDLEですが、一つの情報を複数のセル関数で取得する場合は、同様の状況が発生します!!

https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=315#comment_1585

これで解決できるといいのですがー

2021年10月25日

デザイナー

大野さん、こんばんは!

質問回答URLありがとうございます。

すみません、状況が正確にお伝えできておりませんでした。もう少し具体的に申し上げますと、困っているのは誤発注です。
memo001の買い注文を例にしますと、memo001の発注の最低条件として、memo001の発注・保有がないこと、つまりFOPPOSITIONでメモを取得し、memo001がないことです。(2重発注を避けています)
他のロジックでエントリがなければ何も問題はないのですが、既にmemo001の建玉を持っていて、別のmemo002のエントリがあるような状況でmemo002が決済された時に誤動作を起こします。
memo002は想定どおり決済されるのですが、決済された瞬間にFOPPOSITIONの情報が変に?なる(一瞬リセットされる?)のか、memo001は本当は保有しているのに、エクセル上では(一瞬かもしれないですが)保有していない判定となって結果としてmemo001が再度エントリしてしまうのです。

状況説明が下手ですみません・・

2021年10月25日

ストレッチ博士

当日の損益状況を取得したいです

タイトルのままなのですが、注文履歴は@FOPORDQUERYで取得できるものの、
どうも損益情報が出てこないようです。
決済注文が通るたびに、本日の累計損益を更新するような仕組みにしたいのですが、このような情報は取れないのでしょうか?

2022年01月17日

ストレッチ博士

ごめんなさい、FOPEXECというのがありました。
失礼しました!

2022年01月17日

ストレッチ博士

勝手にアドインのロックがかかることがあります

私の理解だと、起動時はアドインロックがかかってるので手動で解除すればいいのですが、
ときおり勝手にロックがかかってしまって発注不可になっている時があります。

ご存じの方おられましたら、どのタイミングでロックがかかるのか教えて頂けないでしょうか。

2022年01月12日

大野 了

ストレッチ博士さん、こんにちは!!

あっていましたか!!
よかったです!!

状態を維持するのチェックで解決できることを祈ります!!
また、他に何か思いついたら追記まっす!

2022年01月13日

ストレッチ博士

大野様

毎度の貢献ありがとうございます。
私の質問が舌足らずでしたが、まさにご推察の通りです。
設定メニュー初めて見たのですが、「状態を維持する」にしてみました。
いつも的確な回答ありがとうございます。

2022年01月13日

大野 了

ストレッチ博士さん、こんにちは!!

アドインのロックというのは、どのような状況になりますでしょうかー?

理解力不足のため、状況がいまいち想像できず・・・(すみません
岡三RSSのツールバーの中にある『発注可能』OFFになってしまう現象のことを示しますでしょうか?

もしこちらのことでしたら、自分が知っている範囲であれば・・・

岡三RSSの設定の中にある『エクセルの注文可・不可状態を維持する』がオフになっている状態で
岡三RSSが再接続したりした場合でしょうか
『エクセルの注文可・不可状態を維持する』がオフになっている状態で、回線が一瞬切れて再接続を行うと
発注状態を忘れてしまって、不可状態になります!!

2022年01月12日

RSSユーザー

#VALUE!に関しまして

岡三RSSで出来高を表示する時に、=QUOTE(N3,"東証","出来高")
となるかと思うのですが、正常に反映されたり、#VALUE! になってしまいます。
同様に、=QUOTE(N3,"東証","売買代金")や=QUOTE(N3,"東証","現在値")
等もなったりならなかったりしていまいます。
これを解決する良い方法は、ございますでしょうか。

関数は一切いじっていないのに、気分で正常だったり、
エラーになったりするような感じです。

どうぞよろしくお願いいたします。

2022年08月03日

大野 了

RSSユーザーさん、こんにちは!!

N/Aではなく#VALUEですか・・・
#VALUEが出る場合は、関数の引数などが間違っている場合が多いです。

でたりでなかったりという事ですので、もしかすると岡三RSSがおかしくなっているのかもしれません。
一度、岡三RSSの再インストールを試していただけますでしょうか?

また、Clickonesのキャッシュが残っていると正常に再インストールができない場合がありますので

以前に頂いたご質問の転記で大変申し訳ないのですが、
https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=267#comment_1414
をご参考にされて、clickonesのキャッシュを削除してから
再インストールを試して頂けますでしょうかー?

2022年08月03日

kamap

基本的な質問すみません

大野様、お久しぶりです
おかげさまで、勝ち負けはともかくw 楽しくシストレさせて頂いてます。
 QA探したのですが見つからなかったので、3つ質問させてください

①office2021の対応はいつ頃でしょう?(PC新しくしようと思ったらoffice2021になってる)
②RSSの多重ログインは制限ありますか?(今は2つで問題なしです)
③RSSの500銘柄の制限で、RSSとEXCELをOFF/ONしてますが、EXCELをいかしたままクリアする方法ないですか?

よろしくお願いします

2023年02月26日

2023年02月26日

大野 了

kamapさん、こんばんは!!

毎晩、全銘柄ですか・・・
これをExcelの再起動でやってたと聞いただけで、胸がキュっとなりましたw

とりあえず、QUOTE_Mでうまくいきましたかー!!
解決できたようで良かったです!!

2023年02月27日

kamap

大野さん、ありがとうございます! QUOTE_Mで1発でできました。 毎晩、全銘柄のデータとるのに苦労してたんですよw

RSSの3台目以降もやってみますね、分かったら報告します
ではー^^

2023年02月27日

大野 了

kamapさん、お久しぶりです!!

自分も楽しくシストレやってます!!勝ち負けはともかく・・・w


>①office2021の対応はいつ頃でしょう?(PC新しくしようと思ったらoffice2021になってる)
今見てみたのですが、確かに推奨環境は2019で止まってますね・・・

自分は岡三オンライン証券さんの人間ではないため、自分の経験上・・・
という前提で大変申し訳ないのですが、
自分はOffice365でRSSを動かしています。
5年以上、問題なく動いていますので、多分、2021でも問題なく動くのではないかと思います!!


>RSSの多重ログインは制限ありますか?(今は2つで問題なしです)
一応、公式では2台までとなってます。
もしかすると普通に3台目も動くかもしれないですが、試したことはないです(すみません。


>RSSの500銘柄の制限で、RSSとEXCELをOFF/ONしてますが、EXCELをいかしたままクリアする方法ないですか?
Excelを上げたままで500銘柄の制限をクリアする方法は残念ながらわかりませんが、
QUOTE_Mが500銘柄の制限が解除されていますので、
こちらを使用されるというのはいかがでしょうかー?

2023年02月26日

じーつー

何度もすみません…

じーつー先物サンプル.xlsx (436.0KB)

度々失礼します。
簡潔にまとめましたのでご回答いただけると幸いです。

使用しているサンプルシートは岡三RSS用各種サンプルシートからダウンロードした先物サンプルです。

不明点が2点ございます。

・「注文」シートの利食い、ロスカットを「%」ではなく「円」の値にしたい場合がわからない。
(例、損失5%→損失100円)

・移動平均線のゴールデンクロスorデッドクロスで動くシステムがこれで大丈夫なのか。

以上です。お忙しいところすみませんがご回答いただけると有難いです。
よろしくお願いいたします。

2021年11月05日

じーつー

大野様、ありがとうございます!
無事に一通り完成することができました!
いつもご丁寧に教えていただき本当にありがとうございました。

2022年01月08日

大野 了

じーつーさん、こんにちは!!

サンプルファイルを拝見しましたー

A26のセルの件ですが、以下の点の対応が必要となりそうです。

1.シート名が異なっている
四本値 ⇒ 四本値(移動平均)
2.第6引数が2回書かれている

ということで、以下のように変更すれば、
ひとまず、逆のクロスが出たら決済になると思います!!

=IF(OR('四本値(移動平均)'!M6=1,'四本値(移動平均)'!M7=1),fneworder(C5,C6,C29,C8,C9,IF('四本値(移動平均)'!M6=1,3,1),C31,C32,C13,C14,C15,C16,C17,C33,C34,C35,C36,C37),"決済待機中")

2022年01月07日

じーつー

先物クロスシート - コピー.xlsx (493.4KB)

大野様、ありがとうございます。
たしかに新規発注IDと決済IDが同じだったので、IF文を使っていない決済IDの方が早く使われるのは当然でした…

ちなみに、移動平均線がクロス後に発注、その後逆のクロスが発生したら決済という条件なのですが、A26セルの添削をお願いできますでしょうか。

いつもご丁寧に教えてくださり感謝しております。

2022年01月07日

大野 了

じーつーさん、こんにちは!!

サンプル動かしてみましたー!!
確かにシグナルが立っても、新規発注はかからないみたいです。

原因としましては、
新規発注として設定されている発注IDの『F100』が
決済発注として既に使われているため、発注ID重複で発注ができなくなっているようです。

まず"発注ID"についてですが、
こちらは誤発注を防ぐための機能で、毎回違う値を設定させてあげる必要があります。
※発注IDはExcelと岡三RSSが再起動すると初期化されます。

アップして頂いたサンプルシートでは
新規発注の発注ID(C18)と決済発注の発注ID(C33)が
どちらも同じ『F100』となってしまっているため、
実質どちらか早く動いた方の発注関数しか受け付けなくなっています。

この時、決済発注側にIF文などの条件が無いため、
Excelが起動した瞬間に、いきなり決済発注が動いてしまい
この時に『F100』を使用してしまいます。

そして肝心の新規発注用のシグナルが立った時に『F100』で発注を行おうとしても
発注できない・・・

となっているようです!!


動作確認というだけでしたら、C18の発注IDとC33の発注IDを異なる値にして頂くことにより
新規発注の動作確認はできると思います!!

試しに異なる値にしてみたら、
シグナルが変更されると正常に動作する(発注の確認ダイアログが表示される)ことは確認できました!!

2022年01月05日

じーつー

先物クロスシート - コピー.xlsx (492.5KB)

大野様、いつも大変お世話になっております。
先日はセル関数の発注についてご教示いただき誠にありがとうございました。

問題点がございます。
四本値シートで移動平均がクロスがされた際、注文シートでしっかり発注が行われているのか確認したいのですがなぜか私のPCでは動きません…
サンプルを添付させていただいたので確認していただくことは可能でしょうか。
VBAではなく、全てセル関数で作成しております。

お手数おかけして申し訳ございませんが何卒よろしくお願いいたします。

2022年01月03日

大野 了

じーつーさん、こんにちは

発注が掛からないとのことですが、
こちらはシグナルが正常に動作しないという事でしょうか?

四本値(移動平均)シートのFCANDLE関数の取得先が、
H列となっているため、そもそもFCANDLEが正常に動いていないようです。
K列に変更してFCANDLE関数が正常に動作するようにして、
試して頂けますでしょうかー?

2022年01月03日

じーつー

先物クロスシート - コピー.xlsx (492.6KB)

大野様、いつも迅速に対応していただきありがとうございます。

上記の件ですが、K列にFCANDLE関数が引っかかるように変更いたしましたが、
恐らく私のPCの容量の問題なのか、正常に動作しているのか確認ができていません…
このサンプルの発注が正常に動作しているのを確認していただくことは可能でしょうか…?
何度もお手数をお掛けしてしまい、申し訳ございません…

2022年01月04日

大野

じーつーさん、こんにちは!!

確か残高が足りない場合、完了メッセージ等は表示されなかったと思います。
その代わり、岡三RSSのエラーで残高不足のポップアップが出ると思うのですが
いかがでしょうか?

もし出ていなかった場合、そのほかのエラーで発注関数が止まっていると思われます。
その場合は
=ORDERRESULT("エラーメッセージ",A2)
として挙げるとA2に発注時に発生したエラーを表示することが出来ます!!

2021年11月11日

じーつー

先物サンプルコピー1.xlsx (483.0KB)

大野様、いつも迅速かつご丁寧にありがとうございます!

残高不足のポップアップも表示されないのですが、どこか根本的な部分を間違えているのでしょうか…。
エラーメッセージも表示されません…

添付したサンプルにご指摘いただけると幸いです。
お忙しいところ申し訳ございません。よろしくお願いいたします。

2021年11月13日

大野 了

じーつーさん、こんにちは!!

添付されているファイルを見てみたのですが、
注文シートのA2の関数が『***END***』で塗りつぶされいてるため
発注用の関数がなくなってしまっているようです・・・

このため発注自体が行われていないと思われます!!

2021年11月13日

じーつー

大野様、いつもご丁寧に教えていただきありがとうございます!
試しにやってみます!!!

2021年12月21日

大野 了

この程度の判断だけでよければ、マクロを組まなくてもExcelのセル関数だけで
発注などが可能です!!

2021年12月18日

大野 了

じーつーさん、こんにちは!!

単純に四本値シートのM6、M7が1になった場合に発注を掛けたいのであれば、
注文シートのA2を・・・

=IF(OR(四本値!M6=1,四本値!M7=1),fneworder(C5,C6,C7,C8,C9, IF(四本値!M6=1,3,1),C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22),"移動平均線クロス待機中")

としてあげれば、四本値シートのM6かM7に1が立った場合、
発注を行うと思います!!

『四本値!M6』
のように
『シート名 ! セル』
とすると他のシートのセルを観ることができますので、
これでif関数などを利用すれば他のシートの情報を元に発注を行うことができます!!

2021年12月18日

大野

じーつさん、こんにちは!!

返信が遅くなってしまい大変申し訳ありません・・・
なんかFBの認証がエラーになってしまい、今日まで掲示板に書き込むことが出来ませんでした・・・

>・「注文」シートの利食い、ロスカットを「%」ではなく「円」の値にしたい場合がわからない。
(例、損失5%→損失100円)

こちらは書式設定の変更と計算式の変更で対応可能です。

1.注文シートのB44、B45のセルの書式設定ないの表示形式タブの分類を、"パーセンテージ"から"数値"に変更
2.B41の実際の発注関数の条件判断を以下の通りに変更
=IF(OR(B43>C12+B44,B43<C12-B45),fneworder(C5,C6,C29,C8,C9,C30,C31,C32,C13,C14,C15,C16,C17,C33,C34,C35,C36,C37),"保有")


>・移動平均線のゴールデンクロスorデッドクロスで動くシステムがこれで大丈夫なのか。
こちらは四本値シートのM6,7のゴールデンクロスとデッドクロスがの判断が正常に動くかということで問題ありませんでしょうか?
計算式を拝見したところゴールデンクロスとデッドクロスの判断は問題ないと思います!!

2021年11月10日

じーつー

先物サンプルコピー1.xlsx (438.8KB)

大野様、迅速に対応していただき本当にありがとうございます。
ご指摘通りにやってみたところ、上手くいきました!

そして、もうひとつ不明点がございます。

現在、口座に入金していない状態で動かそうといているのですが、注文確認や完了メッセージ等の表示がないので不安です。
(アドインで岡三RSSと接続はしており、注文可能の表示。)
この場合は口座に入金していないため表示が出ないのでしょうか。

お忙しいところ恐縮ですがご回答いただけると幸いです。

2021年11月10日

大野 了

じーつーさん、こんにちは!!

>・以前、質問に添付させていただいた先物発注サンプルシートの『四本値』の項目に入力した移動平均線のクロスは『注文』画面のどこをどう読み取って判断され、発注されるのかがわからない。引数の何番にあたるのか。それとも何か別のところで判断されるのか。

こちらは、四本値シートのM6,7セルの計算式のことになりますでしょうか?

以前こちらにあげられたExcelのファイルを見る限りでは
計算式を見ます限り、四本値シート5分移動平均線と20分移動平均線を比較しているようですので、
『注文』シートの情報は使用されていないようです。

また、『4本値』シート側に『注文』シートを見る設定は見当たらないので、
シグナルが立つだけで発注は行われないかと思います。

2021年12月08日

じーつー

お返事が遅くなってしまい申し訳ございません。ご丁寧にありがとうございます。
やはり移動平均線クロスのトリガーで発注させるためにはマクロを組み込むしかないということで合っていますでしょうか…?
もし、やり方等ございましたら教えていただけると幸いです。
初歩的な質問で申し訳ございません。
よろしくお願いいたします。

2021年12月17日

じーつー

先日、移動平均線のゴールデンクロスorデッドクロスの判断が正常に動作するかどうかの質問をさせていただきました。
その節はありがとうございました。

もう1つ不明点がございます。

・以前、質問に添付させていただいた先物発注サンプルシートの『四本値』の項目に入力した移動平均線のクロスは『注文』画面のどこをどう読み取って判断され、発注されるのかがわからない。引数の何番にあたるのか。それとも何か別のところで判断されるのか。

以上です。ご回答いただけると幸いです。
何卒よろしくお願いいたします。

2021年12月07日

Ken

PCにより岡三RSSが出来なくなりました。

大野様へ
大変お世話になっております。ケンでございます。今回の質問は、最近発生した不可思議な現象についてお聞きいたします。
現在、4台のPCを使って、一般株の自動化ソフトを開発しております。
(1台でデバグし、デバグが完了すれば、他の3台にファイルをコピーしてランニング試験を行う。というスタイルでこの1年開発しております)
今回も、デバグ用のPC(ノートPC)でデバグが完了し、他のPC3台へコピーしました。ところが、3台ともエラーが発生して動かすことが出来ません。
原因は3台とも全く同一で、「更新」のところにくると、エラーになります。
(Application.CommandBars("岡三RSS2").Controls.Item("更新").Execute の所です)
アドインのボタンを使って、「更新ボタン」をクリックしても、3台とも全く同一のエラーウインドウが出ます。(○○、、、はマクロが無効です、、云々)
実を申しますと、3台のPCにファイルをコピーしますと、岡三RSSの関数の前に、
‘D:なんたらかんたら、、!という長いパス名?とおぼしきゴミが付加されるようになりました。この現象は以前は起きなかったものです。
いろいろネットで調べたところ、アドインの保存場所が違っているからゴミが付くが、置換を行ってゴミを削除すれば良い。などと書いてありましたが、ほとんど何をやっても解決しないので、今回大野さんに、泣きついた次第です!
なにとぞ、対処方法をよろしくご教授お願い申し上げます。

2021年11月11日

大野 了

kenさん、こんにちは!!

地獄の1週間お疲れ様でした・・・
とうとう、OSの再インストールまでされたんですね・・・

なにはともあれ、全端末復旧おめでとうございます!!

2021年11月19日

ken

大野様
漸く、3台目のPCを復旧させました!以下手順です。
1.何をやっても岡三RSSがインストールされないので、PCを初期化しました。(これが地獄の始まりでした)
2.岡三RSSのインストールはすぐに成功しましたが、アドインがインストールされません。
3.Excellが削除されていた為と思い、365を再インストールしました。
4.Excelを立ち上げて、オプションボタンをを押しても、何も出力されません。
5.マイクロソフトサポートにアクセスして聞きましたが、要領を得ず、諦めました。3日消耗です。
6.自力で解決を試みました。まず、この変なオフィスを削除、なんとか再インストールに成功しました。
7.このexcelは完全でした。再度岡三RSSをインストールし、アドインもインストール出来ました。
8.岡三RSSを起動し、QUOTE_Mが完全に動作する事を確認しました。
  以上、地獄の1週間でした。お騒がせしました。

2021年11月18日

大野 了

Kenさん、こんにちは!!

復旧できましたか!!よかったです。

3台目がインストール時にログですか・・・
インストール時にログが発生する現象というのに、自分はであったことがないので
対処方法を記述することが出来ないのがもどかしい限りですが、
もしまたご不明な点がありましたら、状況をもう少し詳しく教えて頂けますと幸いです!!

なにか解決方法がないか考えてみます。

2021年11月13日

大野 了

Kenさん、こんにちは!!

岡三RSSが正常に再インストールできない場合は、ClickOnesのキャッシュがおかしくなっている可能性があります。
以下のサイトを参考にして、
ClickOnesのキャッシュを削除後再インストールを試して頂けますでしょーかー

https://blog.regrex.jp/2016/09/02/post-972/

2021年11月13日

Ken

大野様
3台のPCのうち、1台だけ復旧しました。
その理由は簡単でした。岡三RSSを再インストールして、excelを立ち上げたとき、既にアドインのタブが出ていた為、アドインの追加手続きは必要ないものと思い込んでいたためでした! 再度アドインの手続きを行ったところ、問題なく復旧させることが出来ました。アドインのタブは信用してはいけない!ということを学習しました。
もう1台はダメでした。アドインをしようとしましたが、岡三RSS.xlaがどこを探しても発見出来ませんでした。そこで、PCの設定からアンインストールのウインドウを開き、岡三RSSのアドインを探したところ、インストールされていませんでした。(道理で探しても見つからないはずです!)このPCに限ってこうなる理由が不明です。
3台目はそもそも岡三RSSがインストールできませんので重傷です!
明日以降、2台のPCの復旧について頑張ってみたいと思っております!

2021年11月12日

Ken

大野様
早速調べて見ました。
<空のExcelを起動して、更新ボタンを自分で押下してもエラーになる感じでしょうか?
空のexcelを起動して、トライしましたところ、3台とも同じエラーが出ました。
「マクロ'Reflesh'を実行できません。このブックでマクロが使用できないか、また
はすべてのマクロが無効になっている可能性があります。」
というエラーです。
次に
<また、RSSの関数の前に付与される文字列ですがこれは『C:なんたらかんたら、、!』
<ではなく『D:なんたらかんたら、、!』と頭がDで始まるパスで表示されている感じでしょうか?
3台とも違っておりました。
1台目は =’D:\ProgramFiles(x86)\Okasan なんたらかんたら
2台目は ={‘C: 以下同文  }
3台目は =’https://d.docks.live.net/Programfiles ,,,,,以下同文  
というぐあいに全部違っておりました。

まずは、3台ともに、岡三RSSをアンインストールし、再度インストールしてみます。
結果を報告させていただきます。

2021年11月12日

Ken

大野様
教えて頂きましたURLを開き、そこに記述されている方法で、2台目のPCも完全に復旧しました!大変ありがとうございました。3台目も同じ方法をトライしましたが、最初の岡三RSSのインストールが出来ません。エラー表示ウインドウには、「○○のログを見なさい」とありましたので見ましたが、怒濤のコメントでさっぱり理解出来ません。
3台目については、別途調べてみようと思います。大変ありがとうございました。

2021年11月13日

Ken

大野様
再インストールを試みた結果、3台とも、惨憺たる結果となりました。
1台目は、岡三RSSをアンインストールし、再インストールしようとして、
出来ませんでした。エラーの原因は不明です。
(詳細な理由は、C:何たらかんたらを見よ。と出ているがそのパスが見えません!)
2台目は、再インストールは出来ましたが、アドインをいくら探しても見つからず、
結局諦めました。
3台目は、再インストール出来ました。アドインをインストールしようとしたら、既にインストールされていました!不思議です! まっさらなexcelを起動して、手動更新しましが、全く前回と同じエラーでした。

以上、全くのお手上げ状態です。現在全く問題なく動いているノートPCが、なぜ動いているのか、不思議に思えてきました!

実は、3台のPCとも、ほぼ1ヶ月間に渡って、歩み値を使ったバックテストシステムの試験を繰り返しておりまして、500Mバイト近いデータで、最大1週間近く連続的に計算をさせておりました。こういうことをしてはいけなかったでしょうか?ご教授いただけますれば幸いです。

2021年11月12日

大野

ケンさん、こんにちは!!
お久しぶりです!!

こちらですが、エラーとなる3台で
空のExcelを起動して、更新ボタンを自分で押下してもエラーになる感じでしょうか?
もし、エラーとなる場合は、岡三RSS自体が壊れてしまったと思われますので、
再インストールをしてみて頂けますでしょうか?

また、RSSの関数の前に付与される文字列ですが
これは
『C:なんたらかんたら、、!』
ではなく
『D:なんたらかんたら、、!』
と頭がDで始まるパスで表示されている感じでしょうか?

2021年11月11日

ストレッチ博士

関数でOCO注文は出せないのでしょうか

色々なアドバイスありがとうございます。
夜間取引の自動化という動画の解説を何度か見て、いまいち納得いってないのですが結局のところ関数でOCO注文を出す方法はないということでしょうか?
例えば、約定したらプラス100円の指値とマイナス50円の逆指値を入れておくというような方法です。

動画ではOCOという言葉を使っていますが
約定したら指値だけの決済注文を出す
リアルタイムの価格を観察しておいて反対に動いたら先の注文を取り消して再度、決済注文を入れるという手順になっているように思われます。
OCOと同様の効果ということではありますが、可能なら一発でOCO注文入れておしまいにしたいです。

2021年11月20日

大野 了

ストレッチ博士さん、こんにちは!!

はい、よく岡三オンライン証券さんの方と間違われます(笑
ただのRSSユーザの一人になります

だいぶ使ってきたので、今までの経験が少しでもお役に立てればとー

2021年11月20日

大野 了

ストレッチ博士さん、こんにちは!!

そうですね・・・
残念ながら岡三RSSの関数単体ではOCOの発注はできない感じです。

ストレッチ博士さんのご認識通り、
リアルタイムの価格を監視ししながら、決済発注などを行って
OCOと同じ動きをする関数を作る感じとなります。

OCO関数あると確かにだいぶ便利ですね。
俺もほしいです。

2021年11月20日

ストレッチ博士

大野様、ありがとうございます
やはりそうでしたか。

てっきり岡三の方だと思っていたのですが、、、投資家さんだったのですか!
岡三から表彰されてもおかしくない貢献ですね!

2021年11月20日

初心者

CANDLE_M で約定時刻だけがまともに動きません。

岡三RSS初心者です。
=@CANDLE_M($A$1,"","D",3,"約定時刻",A6,"A",0) を動作させますと、出力が
かならず1900年1月0日になってしまいます。どこが問題かがわかりません。
どなたか教えていただければ幸いです。以下5種類についてトライした結果を記述しております。
1.=@CANDLE_M($A$1,"","D",3,"始値",B6,"A",0) では問題無く動作します。
2.同様に「始値」のところを、高値、安値、終値としても同様に問題なく動作します。
3.この関数が動作しているファイルからセルをコピーして貼り付けても動作しません。
4.まっさらなexcelファイルを起動しても同様な問題が発生します。
5.アドインをクリックし、一番左の「株」をクリックすることで関数を作成しても駄目です。
以上、約定時刻だけがまともに動作しません。どなたか助けていただければ幸いです。

2021年11月20日

初心者

大野様
本日、3種のファイルで完全に動作する事を確認しました!
ありがとうございました。ファイルによって動作したりしなかったりしていたのは
セルの書式設定が間違っていた為でした。ありがとうございました!

2021年11月24日

大野 了

初心者さん、こんにちは!!

うまく行きましたかっ!!
解決できたようで何よりです!!

2021年11月25日

大野 了

初心者さん、こんにちは!!

なるほど!!
申し訳ありません、いろいろと勘違いしていました。

CANDLE関数ですが、
日足の情報を取得しようとした場合、日足は約定時刻が特定できないため、
0が返ってくのは正常な動作と思われます。

また、日付を取得されたい場合ですが、
CANDLE関数での日付指定は『約定日付』ではなく『取引日付』となります。

初心者さんから頂いた関数も
=@CANDLE_M(A1,"","D","3","取引日付",A4,"A",0)
と『取引日付』で指定すると取引日付を取得できることまで確認しましたので、
その他の点は問題ないと思われます!!

これ確かに『日付』ってだけで指定できると迷わなくて良いですねー

2021年11月23日

初心者

大野様
教えていただいた関数=@CANDLE_M(A1,"","1","3","約定時刻",A4,"A",0)
は、確かに動作しました。ありがとうございました。
しかしながら、私がやりたかったのは日足でした。
マニュアルには、第3引数をDとしなさい。と記述されています。しかしながら
=@CANDLE_M(A1,"","D","3","約定日付",A4,"A",0) はセルに#N/A と出て、どうやっても動かすことが出来ません。約定日付が良くないのかと思い、日付、約定時刻、取引日付などいろいろ試しましたが、駄目でした。このあたりご教授いただければ幸いです。

2021年11月23日

大野 了

初心者さん、こんにちは!!

こちらですが
=@CANDLE_M($A$1,"","D",3,"約定時刻",A6,"A",0)
の第三引数が、取得期間ではなく、並び順が指定されているため正常にデータが取得できてないためだと思われます!!

=@CANDLE_M($A$1,"","1",3,"約定時刻",A6,"A",0)
のように第三引数に取得期間を指定して頂くと正常に動作できると思います!!

2021年11月20日

ストレッチ博士

建玉できたら自動で決済注文を入れたい

単純な話なのですがご相談にのってください。
約定したら自動でストップロス注文用のマクロが動作してほしいのですが動いてくれません。

A2セルには建玉番号(正確には冒頭1文字だけなので「2」)が入るようになっておりまして、建玉なければ0、あれば2と表示されます。
建玉できたら決済注文用のマクロ(KessaiOrder)を発動させたいというシンプルな希望です。
イベントプロシージャでA2セルを監視するだけで良いと思うのですが、発動してくれません。

Private Sub Worksheet_Change(ByVal Target As Range)
'建玉番号が変更されたら
'If Target.Address = Range("A2").Address Then

If Range("A2").Value = 2 Then

Call KessaiOrder

 End If
End Sub

2021年11月24日

大野 了

ストレッチ博士さん、こんにちは!!

いやー実は・・・
昔、同じようなことをやってできなかったので・・・(笑

少しでもお役に立てて幸いです!!

2021年11月25日

ストレッチ博士

大野さま

ありがとうございます!
計算式じゃダメなんだと初めて知りました
確かに計算式自体は変更されてないですもんね。
いつもながらの貢献、敬服いたします

2021年11月25日

大野 了

ストレッチ博士さん、こんにちは!!

『発動してくれません』というのはChangeイベントが発生しないということでしょうか?

もしそれでしたら、A2のセルが計算式になっておりませんでしょうか?
ExcelのChangeイベントはセルに何か入力等があった場合に動作するイベントとなるため、
計算式の結果が変わるような場合、残念ながらイベントが発生しません。
また、岡三RSSの関数の出力も通常の手入力と方式が異なるためChangeイベントが発生しません。

これらの場合でも、何かイベントを拾われたい場合は
Calculateとイベントがありますので、こちらだとイベントが発生します!!

Private Sub Worksheet_Calculate()
If Range("A2").Value = 2 Then
Call KessaiOrder
 End If
End sub

2021年11月25日

RSSユーザー

臨時システムメンテナンスのメッセージの消去についてです

お世話になっております。上記の通り、日曜日の朝とかに「臨時システムメンテナンス」のメッセージが出ている時、手動でその都度右上の×を押して消去しているのですが、自動で消去するいい方法はありますでしょうかお教えください。

2022年08月14日

RSSユーザー

お世話になっております。やはりありませんか、無視していれば毎日朝7時にパソコンが再起動するように設定されているので、月曜日の朝には消えていると思います。お騒がせしました。

2022年08月15日

大野 了

RSSユーザさん、こんにちは!!

残念ながらあのメッセージを非表示にする機能は岡三RSSにはないので、

メッセージがでたら自動で消すというプログラムを作るかRPAやUWSCなどの自動化ツールで
あのウィンドウがでたら消してあげるしかないと思います!!

VBAだとWindowを探したりといろいろと大変なので、RPAなどのツールでやられることをお勧めします!!

2022年08月14日

しん2222

別ブックへのマクロ干渉

数分おきに、株のデータをエクセルの下の行に書き出すマクロを組んでいますが、
別のエクセルブックを開いたときに、そのマクロが干渉しないようにするにはどのようにしたらよろしいでしょうか。こちらで聞くことではないかもしれませんが是非ともよろしくお願いいたします。

2022年07月20日

大野 了

しん2222さん、こんにちは!!

うまく行きましたかー
よかったです!!

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

2022年08月03日

しん2222

大野さん

エクセルを開く+ALTでできるようになりました。
この度は、有難うございました。

2022年08月03日

大野 了

しん2222さん、こんにちは!!

複数のブックを開いた際に、お互いのマクロが干渉しないようにするには

マクロをWorkbook名から指定する形で記載するか、
二つのExcelが別のプロセスになるように起動してあげると、
コードを一切直さないくても正常に動作すると思います。


他の方から頂いた質問のリンクになってしまって大変申し訳ございませんが、
以下のリンクをご参考頂けますと幸いです。

https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=524#comment_2834

もしわかり辛かったら、ご返信ください!!

2022年07月20日

デザイナー

保有情報関数FOPPOSITIONの挙動について(第二弾)

こんばんは。
以前、https://bbs.okasan-online.co.jp/ont/rss/board/?category_id=1&topic_id=489 にてFOPPOSITIONの挙動について質問(相談)させていただきました、デザイナーです。

この時の解決策としては、FOPPOSITIONを取得し終わってから、すなわち「***END***」が横一列に並んだら処理を実行する、と変更しそれでうまくいっていました。
が、新たに問題が発生したのでまた相談させてください。

「***END***」が横一列に並んだらFOPPOSITIONの取得が完了したとみなして、次の処理をする、としていたのですが、この場合で解決できるのは***END***がズレてデコボコになった場合を回避できるのみということに気づきました。

FOPPOSITIONの仕様として、保有が更新された際にやはり一瞬0クリア?されて何も保有していないかのような表示になってしまうようです。(それはほんの一瞬で、すぐに正しい保有情報に更新されます。)
たまたま全ての項目で一瞬0クリアされた場合や本当は更新し終わっていないのに「***END***」が横並びになる場合だと、上記の方法ではFOPPOSITIONが更新された、と判定してしまうことになります。
この場合を避けることはできますでしょうか。皆様の知恵をお借りしたいです。

2021年11月24日

大野 了

そうですねー
確実に各ロジックは独立させた方がいいですよねー

自分も9つロジックを動かしているのですが、
各ロジックはシグナルをだすだけで、
そのシグナルを検知して一括してオーダーを出すオーダーマネージャみたいなシステムを作って
運用してます!!

そのオーダーマネージャ内でFOPPOSITIONが安定するのを待機しています。
もともとはネッティング処理のために作ったのですが、
結果、複数のロジックがシグナルを同時に立てても大丈夫なつくりにたまたまなっていたという感じです。

なにはともあれ、何か思いついたら追加で書きたいと思います!!

2021年12月03日

デザイナー

大野さん、こんばんは!

コメントありがとうございます。
やはり、そのような対応をするしかないんでしょうかね・・
できる限り各ロジックは独立させて実装したい気持ちがあるので、もう少し考えてみます。

とは言ってもほとんど起こり得ない事象ではあるので次にまた同じ現象が発生したら考えることにしますね。
(こんなことをしているからいつまで経ってもバグが取り切れないのですがww)

2021年12月03日

大野 了

デザイナーさん、こんにちは!!

そして返信が遅くなってしまい、大変申し訳ありません。
ご返信に気が付いていませんでした・・・


さて本題ですが、
こちらは・・・

1.現在、建玉を1ポジション保有
2.ロジックAで決済
3."同時"にロジックBで新規建て
4.FOPPOSITIONの更新処理が実行される

という感じでしょうか?

もしそれでしたら、もともと『1.』で持っていたポジションのデータと
『3.』で新規建てした情報がFOPPOSITIONで混ざってしまうことは、
確かにあるかなーと・・・

この場合は確かにEND横一列戦法は使えないのと、FOPPOSITIONにはCSV項目がないため
対応は厳しそうですね・・・
ロジックAとロジックBが同時に動かないように、
ロジックAが動いた後は、FOPPOSITIONのメモ欄などを確認してポジション情報が安定した後に
ロジックBが動くというロジックを組むしかないと思われます・・・

これは厄介ですね・・・

2021年11月30日

デザイナー

大野さん、こんばんは!

もし1が発生したとしたら、おっしゃる通りFalseになるので問題ありません。
おそらく2の場合の派生が発生したと考えています。
「同時にデータが書き出されてはいたけど、書き出しが不十分」言い換えると、「ENDまで表示されたけど、保有しているはずのデータが一瞬ない」という状況が発生した気がしています。

ロジックAでは、ロジックAでのエントリがない場合にのみ発注関数を動かすことにしているのですが、ロジックAですでに1枚保有しているかつ別ロジックBでエントリがあって保有情報が変更された場合に、たまたま同時に中途半端にデータが更新されてロジックAもロジックBも1枚も保有していないよー(ENDは横一列になっている)という状態になって、ロジックAがさらに発注して2枚保有となってしまうケースが起こった次第なんです・・
かなりレアなケースかもしれないですが、この場合にはEND横一列戦法が通用しないのではと思ってまして・・

2021年11月26日

大野 了

デザイナーさん、こんにちは!!

なるほどー
了解しましたー!!

ちなみにですが、もし同時にセル関数が動いたとして・・・

1.二つの関数が同時に0クリアされる
  (この時は「***END***」がないので横一列はFalse)
2.二つの関数が同時にデータを書き出す
  (この時は「***END***」が横一列でTrue となるけど、そもそもENDまでのデータも書き出されているため更新が完了してると判断できる)
ような気がするのですが、どちらの時点で問題が発生してるかわかれますでしょうかー?
多分、1のゼロクリアされているところで誤判断されてるとすれば、
「***END***」がないのに Trueになってるのがおかしいため、その部分をつぶせば直るかもしれません!!

2021年11月25日

デザイナー

大野さん、こんにちは!

はい、概ねそれで合っています。
その場合で、本当は保有しているはずが、A1セルの関数とB1セルの関数が同時に更新され、同時にゼロクリアされて、同時に***END***が書き込まれたと考えております。

もしかしたらなんらか別の現象が起きたのかもしれないですが、「***END***」が横一列に並んだら、以外の方法でFOPPOSITIONの更新が完全に完了したことを察知したい、と言うのが今回の相談です。

2021年11月25日

大野 了

デザイナーさん、こんにちは!!

こちらは、FOPPOSITIONで複数項目を取得した場合に、
複数関数が同時に動いて同時に0クリアされるということでしょうか?

例えば、
A1セル:=FOPPOSITION("銘柄コード",A2,"0")
B1セル:=FOPPOSITION("建玉単価",B2,"0")
としていた場合に、A1セルの関数とB1セルの関数が同時に動いて
同時にすべてがゼロクリアされて、同時に***END***が書き込まれたということでしょうかー?

正直、少し考えにくい現象ですが、
もしかしたら何かあるかもしれないので少し考えてみます!!

2021年11月25日

Ken

選択的「更新」は可能でしょうか?

大野様へ
Kenです。大変お世話になっております。ところで、一縷の望みですが、
「更新」を選択的にする方法があれば、教えていただきたいのですが、、、
すなわち、シート”A”に存在する、QUOTE_Mだけに効く「更新」と
シート”B”にのみ有効な「更新」があり得るでしょうか?
実は、シート”A”には、約5万個のQUOTE_Mが存在しておりまして、更に
シート”B”には30個程度のCANDLE_Mが存在しております。
シート”A”に対する更新とシート”B”に対する更新のタイミングがズレておりまして
シート”A”の為に更新をかけますと、一緒にシート”B”にも更新がかかり、非常に
重い状態になってしまいます。したがいまして、「更新」が選択的に出来れば、
非常に都合が良くなるのですが、、、いかがでしょうか?

2021年11月25日

ken

大野様へ
期待いたしております!

2021年11月30日

Ken

大野様へ
実験してみました。結論はほとんど差が認められませんでした。
実験の概要を以下に記述しました。
1.シートws04を開き、上方の「校閲」タブをクリック。
2.シートの保護をクリック
3.シートとロックされたセルの内容を保護する(C)にチェックを入れる。
4.パスワードを設定し、OKボタンをクリック
5.アドインボタンをクリックし、手動にて「更新」ボタンをクリックする。
6.シートws04におけるQUOTE_Mが書き込まれたセルに数字が現れる。
以上の実験で明らかなように、保護をかけても、「更新」は全く保護に関係なく実行されました。(更新を掛けますと、ノートPCの空冷ファンがうなりだし、CPUの温度を下げようとします!)即ち、セルに書き込まれた内容を上書きしようとすると、パスワードの入力を求められますが、QUOTE_Mの実行は保護のあるなしに関係なく行われます。従いまして、CPUタイムの節約は出来ませんでした。残念です!
最初から一縷の望みかなあ、、と思っておりましたが、やはり一縷だったか!と、うなだれております。おつきあい大変感謝いたしております。ありがとうございました!

2021年11月29日

大野 了

Kenさん、こんにちは!!

ダメでしたか・・・

ワンチャンあるかなーと思ったんですが、俺も残念です・・・
ちょっと解決策は思いつかないですが、
何かいい方法思い付いたらここに書かせて書きたいと思います!!

2021年11月30日

大野 了

Kenさん、ストレッチ博士さん、こんにちは!!

更新ボタンを各シート単位でかける方法はパッとは思いつかないです。
もしかしたらシートを編集不可にしたら更新が掛からないかもしれませんが、
こちらは試してみないとノウハウがありません。

そしてストレッチ博士さんのやり方めっちゃいいですね!!
自分には絶対に思いつかない内容と思いました。
このリネームの方法が簡単だし、自分も一番いいと思います!!

ストレッチ博士さん、ありがとうございました!!
自分も一つノウハウが増えました!!

2021年11月25日

Ken

大野様、ストレッチ博士様、Kenでございます。
本日、半日を費やしまして、以下の置換えタスクを作成し、メインプログラムに
挿入して、実験したところ、処理時間が予想していたよりも、多く掛かりまして
結局、QUOTE_Mとの処理時間はほとんど同じ(あるいは少し多く掛かる)
という結果となってしまいました。残念です! ということで、大野様からは
<シートを編集不可にしたら更新が掛からないかもしれませんが、、
あたりにつきまして、教えていただければ幸いです。実験してみたいと思います。
(なんせ、52,800個という猛烈なセルの数がネックと思われます)

Sub シート更新無効有効化()
Dim b As Boolean
Dim ws04 As Worksheet
Set ws04 = Worksheets("データ一覧")
ws04.Select
If K = 1 Then '無効化
b = Range("C5:H8703").Replace("QUOTE_M", "QUOTE_Z")
GoTo ZZZ
End If
If K = 0 Then   '復旧化
b = Range("C5:H8703").Replace("QUOTE_Z", "QUOTE_M")  
End If
ZZZ:
End Sub

2021年11月26日

Ken

大野様へ
早速実験してみました。Timer関数での経過時間を計測した
結果を以下に示しております。

ScreenUpdate   =False時 =True時
無効化 の時間  10.87秒 11.16 秒
有効化 の時間  10.1秒 10.609 秒

結果、ScreenUpdate=False をやった場合とやらない場合の差は
 わずか3~5%程度でした。少し残念です。
シート“データ一覧”の更新だけをバッサリと切る命令があれば
実に都合が良いのですが、、、

2021年11月27日

大野 了

kenさん、こんにちは

まったく速くなってないですね・・・
残念ですね・・・

シートの編集可不可は、
Protectメソッドで編集不可
Unprotectメソッドで編集不可解除
となります。

編集を掛けたいSheetオブジェクトに対して実行する形になります。
※Kenさんのロジックでいうところの『ws04』になります。

ですが、こちらは効果があるか未知数ですので、
一度、
校閲 - シートの保護を一度掛けてみられて
更新ボタンを押して早くなるかを確認してみられてからの方がいいと思います!!

2021年11月27日

大野 了

Kenさん、こんにちは!

こちらですが、いったん描画を止めてみられるというのがいかがでしょうか?
描画が原因で遅いのであれば、もしかすると下記のソースで早くなるかもしれません。

Sub シート更新無効有効化()
Dim b As Boolean
Dim ws04 As Worksheet

On Error GoTo Catch

Application.ScreenUpdating = False
Set ws04 = Worksheets("データ一覧")
ws04.Select
If K = 1 Then '無効化
b = Range("C5:H8703").Replace("QUOTE_M", "QUOTE_Z")
GoTo ZZZ
End If
If K = 0 Then   '復旧化
b = Range("C5:H8703").Replace("QUOTE_Z", "QUOTE_M")  
End If
ZZZ:

Catch:
Application.ScreenUpdating = True

End Sub

2021年11月27日

Ken

早速実験してみました。=QUOTE_Mを '=QUOTE_Mに置換えました。
置換えた数は52,280個と出ました。置換えるに必要だった時間は1~2秒でした。
非常に有望です! メインプログラムに入れ込もうと思います。
大変ありがとうございました。

2021年11月25日

ストレッチ博士

よこっちょからお邪魔します。
やや荒業といえるかも知れませんが、簡単です

文字変換のマクロを作ってQUOTE_MをQUOTE_Zとでも変更してしまえば#NAMEになるので更新されないです。

更新したいときにQUOTE_ZをQUOTE_MにもどしてやればOK

2021年11月25日

ストレッチ博士

実際に書き換えるのはQUOTE_Mの部分だけなんで5万個もないでしょ
せいぜい10個では?
っていうか1行マクロなんだからまず試したらどうです??

2021年11月25日

Ken

ストレッチ博士様へ
横から入っていただき、感謝です!
ところで、全く思いも付かない提案でびっくりしております。
ところで、シート”A”には、5万個のQUOTE_Mがあるのですが、毎回(1分間に1回)
5万個のMを、Zに書き換えるのは、軽い作業でしょうか?もし、書き換える作業が
QUOTE_Mを処理するにかかる時間よりも圧倒的にはやければ、
実にすばらしいアイデアと思われますが、いかがでしょうか?

2021年11月25日

ストレッチ博士

更新が一瞬遅いのが気になる

どうもうまく説明しづらいのですが、同様の悩みが想定されるので質問させてください

1 価格データが更新される
2 それに基づく計算結果を取得する

普通このようになっているわけですが、観察していますと2が一瞬早く実行されており、希望の動作が実現できていません。

更新の後1秒置いてから2、ができれば解決するのですがsleepなんかを使うと1の更新自体も止まるので改善いたしません
さらにいうと、まれに1→2の順に動くときもありさらに悩んでおります。
悩まれた方以外は意味不明の質問で申しわけありませんがよろしくお願いいたします

2021年11月29日

大野 了

ストレッチ博士さん、こんにちは!!

うまく行きましたか!!
よかったです!!
CSV項目は全関数にはないので、全関数に広げて頂けるとありがたい限りです。

なにはともあれ、お役に立てて幸いです!!

2021年11月30日

大野 了

ストレッチ博士さん、こんにちは!!

ストレッチ博士さんの今回の現象が当てはまるか、まだ判断が出来かねていますが、
FCANDLEなど1つの時系列のデータを複数のセル関数で取得する場合、
Excelが一つずつ岡三RSSの関数を実行していくため、
一瞬。項目間でずれが発生してしまいます。

以前、他の方に頂いた質問の返答で大変申し訳ございませんが、
以下のリンクのズレのイメージ.xlsxをご参考頂けますと幸いです
https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=315#comment_1585

この現象に対応するため
1つのセル関数ですべての項目のデータを返そうという機能が実装されて
それが『CSV』という取得項目となります!!


また、@FCANDLE("N225mini","202112","1","100","CSV",C5,"D","500")がNAになる件ですが、
1分足のデータは過去5日分しか取得できないのですが、
第三引数の取得期間が100日と長いためNAが返ってきているようです。

@FCANDLE("N225mini","202112","1","5","CSV",C5,"D","500")

とすると取得できると思います!!

2021年11月30日

ストレッチ博士

csvに置き替えしました。
動作は順調です。
この掲示板がなければとっくに諦めていたはず。
市場データはcsv必須ですね!

2021年11月30日

ストレッチ博士

大野様
毎度ながらありがとうございます!
すんなり解決いたしました。
ホントにコンサル料お支払いしたいくらいですm(_ _)m

2021年11月30日

ストレッチ博士

@FCANDLE("N225mini","202112","1","100","CSV",C5,"D","500")

CSVデータを取得してみたいのですがNAになってしまいます

2021年11月29日

RSSユーザー

自動でエクセルを上書保存後閉じる時、ときどきエラーが出てしまいます。

お世話になっております。
RSSのエクセルファイルが15時10分になったらUWSCにより自動で上書き保存して閉じるようになっているのですが、たまにそのエクセルファイルがまた起動していることがります。
そんな時は右上の×を押して手動で閉じているのですが、再度開くと今度は「重大なエラーが発生しました、このドキュメントを開きますか。」とメッセージが出るようになります、手動で仕方なく開き上書き保存すると、もう開いてもそのようはメッセージは出なくなります、このような煩わしい現象をなくすことはできないものでしょうか、お教えください。

2021年12月13日

大野 了

RSSユーザーさん、こんにちは!!

PCを立ち上げっぱなしでも、効果があるかもしれませんので
もしもお手間でなければ、試してみるともしかすると・・・

なにはともあれ、時計を停止することによって解決できることを祈ります!!

2021年12月14日

RSSユーザー

早速のお返事ありがとうございます。 
パソコン自体は常に立ち上がっています。
通常、午後3時10分に自動で上書保存後終了で閉じるのですが、たまに2,3秒後にまたエクセルが立ち上がるのです。
エクセルファイルの中に時計のプログラムがあり、エクセルファイルを開くと自動で時計が動くようになっています。これが干渉しているんじゃないかと思われます。UWSCで午後3時9分に時計のプログラムを止めてみることにします。だめだったらまたアドバイスお願いします。

2021年12月13日

RSSユーザー

発注IDの自動変更についてです。

お世話になっております。
信用取引で一日に同じ銘柄を何回も売買するため発注IDを一分おきに自動変更しています。
=IFERROR($E6*10000+$C6+TEXT(NOW(),"HHMM"),"-") 
以上の式を発注IDのセルに書いています。$E6は買いなら3、売りなら1、$C6は銘柄コードです。
ポジション関数に該当する銘柄コードがある場合は発注しないようになっています。
条件がそろい発注がはしった時ちょうどHHMMが切り替わった時と重なると発注注文が2つでてしまいます、(ポジション関数の反映が遅いためもある)
なにかうまい方法で二重発注をしない方法はありますか、お教えください。

2021年12月27日

ストレッチ博士

HHMMSSで時間をとれば済む話かと思います

2022年01月12日

RSSユーザー

お世話になっております。
とりあえず、12:00前後で前場後場としてIDを二種類にしてやってみます、お騒がせしました!

2021年12月28日

大野 了

RSSユーザさん、こんにちは!!

こちらは・・・
発注時に一応ポジション関数でポジションがあるかどうかを見ているが、
ポジション関数の反応が遅いため、発注IDを利用して二重発注を抑えている。
けど、たまたまHHMMをまたいだ時に、二重発注がかかってしまう

という感じでしょうかー?

発注のシグナルの出方や発注の種類がわからないためなんとも言えませんが
ポジション関数ですと、発注を行ってもすぐに約定するとは限らないため、
約定するまでの間にもう一度シグナルが立ってしまうと、発注してしまいそうです。

発注情報関数(ORDQUERY)を使用して再発注を防ぐか
発注IDを時間ではなく、発注した回数にしてみると言うのはいかがでしょうか?
こちらはVBAでの制御が必須となってしまいますが・・・

2021年12月28日

ゴン

VBAで上手くコードが書けません…

移動平均先物サンプル(マクロ) - コピー.xlsx (356.8KB)

はじめまして。
先日からVBAでの自動売買を学び始めた超初心者です。

セル関数ではなくVBAの方が比較的簡単という情報を目にしたのでVBAで自動売買ができるように作成中です。

条件としては、
・移動平均線クロスが発生後、新規発注
・その後、逆のクロスが出現したら決済+新規発注
・損切や利確も設定したい
のドテン買いの構想です。

岡三RSSのホームページからダウンロードした先物サンプルにVBAを書き加えております。
やりたいことは頭の中に浮かんでいるのですがなかなか上手くコードが書けず、難しく考えてしまって心が折れてしまっています…
自信をつけるためにどうにかVBAで完成させたいので、どなたかご教授いただけますと幸いです。

ファイルの拡張子を変更しています。

お手数をおかけしますが何卒よろしくお願いいたします。

2022年01月08日

大野 了

ゴンさん、こんにちは!!

>①ロスカット値や利確値はセルの値設定で指定しているのですが、VBAで組み込むにはどのようなコードを組めばよろしいのでしょうか?ちなみに、値を自由に変更できるようにしたいです。(セルの値設定のみで大丈夫なようでしたら、そのままにしようと思っております。)
ゴンさんのPGを拝見していますと、注文()の中に組み込んで頂くのが手っ取り早い感じがします。
ザラバ間の処理が記載してありますので、ザラ場中に発注をした後、
現在値(I46)が利食いや損切価格を超えたら、決済の発注を行うというのがよいと思います!!


>②ポジション決済の際も四本値シートのゴールデンクロスorデッドクロスで判断するのですが、コードの記述はこれで合っていますでしょうか?
こちらは具体的にどちらのコードになりますでしょうか?
ポジション決済のコードが大引け用のは見つけたのですが、クロスで決済するソースがいまいち見つけられず・・・(すみません


>・Function PosCheckから下(ポジションのチェックなど)のコード全てですが、他の質問者さんのコードを参考にしました。
ここの部分のコードは不必要でしょうか…?
もともとの質問のスレッドを確認してきたのですが、
こちらのコードは、ご質問された方がPosReturnの関数の内容を公開されていないため、
呼び出し側のコードをコピーしても呼び出し先の関数がなくエラーとなってしまいます。

2022年01月19日

大野 了

ゴンさん、こんにちは!!

返信が遅くなってしまい大変申し訳ありません・・・
こちらですが、岡三RSSは関係なくExcelのセキュリティの設定となります。

以下のサイトを参考に設定してみて頂けますでしょうかー
https://pasokon-labo.com/excel-this-book-cannot-use-macro/

2022年01月24日

ゴン

先物(移動平均線クロス)シート1 - コピーコピー (version 1).xlsb.xls (223.0KB)

大野様、いつもありがとうございます!


最後の最後でまた問題が出てきてしまいました…
どうしても、このブックのマクロ実行させると『このブックでマクロが使用できないか無効になっている可能性があります』とのエラーメッセージが出てきます。
前提として、
『ツール』→『参照設定』では岡三RSSにチェックは入っています。
『オプション』→『アドインセンター』で無効なアドインには岡三RSSは含まれておりません。
ファイル自体もマクロ有効ブックです。
ちなみに、『発注不可設定になっています。』とのポップは出てきます。

四本値の価格取得などはセル関数で取得している為、マクロが無効になる原因はそれでしょうか…?
ネットで調べても答えがわからず…
ご教授いただきたいです。よろしくお願いいたします。

2022年01月21日

大野 了

ゴンさん、こんにちは

>①前回質問させていただいた決済発注は新規発注と同じく、Sheet四本値(移動平均)M6セルのゴールデンorM7セルのデッドで判断します。
> 新規発注と逆に記述すれば大丈夫でしょうか?
新規発注と逆といわれるのは、条件文のことになりますでしょうかー?

ゴンさんのPGを見ますと、NowPosiが 3がLong 1がShortとなっているようですので、
NowPosiが 3または 1 で ゴールデンクロス または デッドクロスが発生した際に
決済の注文を発注で大丈夫と思います!!



>② ’損切・利確の条件’ の部分のコードに関して、構文エラーが出てしまいます。
> どこの部分を修正すればよろしいでしょうか…?
> (現在、注文シート・条件発注部分のセル関数と似たような記述です。)
こちらは、 if の最後に Thenがないために発生しています。
また、IFの条件も成り立っておらず・・・
I46 > J15 + I47のような判断をされたい場合は、

IF Sheets("注文").Range("I46") > Sheets("注文").Range("J15") + Sheets("注文").Range("I47") Then

のような記述の仕方が必要となります!!

2022年01月20日

ゴン

先物(移動平均線クロス)シート - コピー (version 1).xlsb.xls (198.5KB)

大野様、早速のご返信誠にありがとうございます!
再びご指摘いただいた箇所を修正し、ポジションチェックなどの部分は削除いたしました!

また2点ほどご教授いただけると幸いです。

①前回質問させていただいた決済発注は新規発注と同じく、Sheet四本値(移動平均)M6セルのゴールデンorM7セルのデッドで判断します。
 新規発注と逆に記述すれば大丈夫でしょうか?
(前回添付させていただいたシートに該当するコードが記述されていなかったので修正しました…すみません。)

② ’損切・利確の条件’ の部分のコードに関して、構文エラーが出てしまいます。
 どこの部分を修正すればよろしいでしょうか…?
 (現在、注文シート・条件発注部分のセル関数と似たような記述です。)


その他、注文()のコード部分でお気づきの箇所があれば教えていただきたいです。
いつもながらの貢献、敬服いたします。
本当にありがとうございます。

2022年01月20日

ゴン

先物(移動平均線クロス)シート - コピー (version 1).xlsb - コピー.xls (225.0KB)

大野様、いつもありがとうございます!
お返事が遅くなってしまい、すみません。
ご指摘いただいた箇所を修正したところ、注文時にメッセージが出てくるようになりました!(口座に入金していない為、エラーがでます。)

3点質問がございます。
①ロスカット値や利確値はセルの値設定で指定しているのですが、VBAで組み込むにはどのようなコードを組めばよろしいのでしょうか?ちなみに、値を自由に変更できるようにしたいです。(セルの値設定のみで大丈夫なようでしたら、そのままにしようと思っております。)

②ポジション決済の際も四本値シートのゴールデンクロスorデッドクロスで判断するのですが、コードの記述はこれで合っていますでしょうか?

・Function PosCheckから下(ポジションのチェックなど)のコード全てですが、他の質問者さんのコードを参考にしました。
ここの部分のコードは不必要でしょうか…?
(トリガーなどの条件は新規発注のIF文に含まれているため)


質問が多く、お手数をおかけしますが何卒よろしくお願いいたします。
おかげさまでもう少しで完成できそうです!

2022年01月19日

大野 了

ゴンさん、こんにちは!!

発注がかかるかどうかの確認という事ですが、
こちらは『注文()』という関数の中の発注の関数が動作するかという事になりますでしょうかー?

上記の事で間違いなければ、
If Sheets("四本値(移動平均)").Range("M6") = "買い" And (NowPosi = 0 Or NowPosi = 1) Then
で、ゴールデンクロスの条件を判断されていますが、
四本値(移動平均)シートのM6は、"買い"などの文字ではなく、0,1でシグナルのフラグを表現されていますので、
シグナルが発生しても、発注がかからない状態となっております!("1"と"買い"の文字は異なるため)

If Sheets("四本値(移動平均)").Range("M6") = "1" And (NowPosi = 0 Or NowPosi = 1) Then

として頂くと、シグナルが立った時に発注がかかると思われます。

また、以下の実際の発注関数に関してですが
Call FNEWORDER("N225mini", "202201", "1", "", "", "3", "0", "0", "12", "1""1", "1", "Pass", CStr(hODRID), "3", "memo")

1.限月が昔の限月になっている
2.第10引数と第11引数の間にカンマが無い

以上の点をご修正頂けましたら、とりあえず、FNEWORDERの関数は動作すると思われます!!
※自分の方でも動作しました。


ですが、他にも注文()内だけですが、他にも対応する必要な個所はありそうです!!

1.ローカル変数のNowPosiを判断されてますが変数の中身を設定していないため、
  下の方に記述があります決済発注は動作しないと思われます。
  NowPosiの意味合いなどがわからないため、何とも・・・

2.hODRIDがローカル変数になっているため、この関数が呼ばれるたびに初期化され0に戻ってしまいますので、
  2回目以降の発注は発注IDが重なってしまい発注が行われなと思われます!!
  Static変数にして頂くか、グローバル変数にして頂く必要があると思われます!!

以上、発注()に関して気が付いた点となります!!

2022年01月15日

ゴン

大野様、ありがとうございます!

マクロ実行ボタンを押下後、エラーは出なかったのでこれは動いてるってことでいいのでしょうか!?
トラストセンターのマクロ設定を確認したところ、チェックはついておりました。

私のPCの処理速度が遅いのかもしれないのですが、発注がかかるか確認ができません…
大野様の方で確認していただくことは可能でしょうか...?
何度もお手数おかけしてしまい申し訳ございません。


大野様のお陰でもうすぐ完成できそうです。
本当に感謝しております。

2022年01月14日

大野 了

ゴンさん、こんにちは

こちらはマクロの実行がセキュリティにて無効化されていると思われます。

シート起動時に上の方に『コンテンツの有効化』のボタンが表示されていれば、
クリックすると動くと思います。

もし、表示されていなければ、
ファイル ー オプション - トラストセンター - トラストセンターの設定 - マクロの設定
で『警告して、VBA マクロを無効にする』にチェックを入れてください。

これで、起動時にマクロを有効化するかどうか聞いてくると思います!!

2022年01月13日

ゴン

先物(移動平均線クロス)シート - コピー - コピー のコピー.xls (186.0KB)

大野様、いつもありがとうございます!

何度もデバックを繰り返し、コンパイルエラーがなくなるまで一通り修正いたしました。

マクロ実行のボタンを押したあと、実行できず、無効になっている可能性があるとの項目がでてきました。ネットで調べても実行されません…
その際の対処法を教えてください。
RSSでは『発注不可です』とのメッセージは出てきます。

そして、発注・決済条件とVBAのコードが一致しているのかを見ていただけませんでしょうか…?

2022年01月13日

大野 了

ゴンさん、こんにちは!!

そうですね・・・
VBAの発注関数自体は、注文シートの中に記述があるのは確認できたのですが、
このシート自体がコンパイルエラーが起きているようです。
※コンパイルエラーとはVBAの構文等がおかしく、まったく動作できない状況となります。

このためVBA自体が動いていないため、発注も行われていないと思われます。


VBA エディタで
メニューバー ー デバッグ - VBAProjectのコンパイル
を押下して頂くと、エラーの内容とエラーの箇所が分かり明日の出、
こちらで一度コンパイルエラーを取り除いて頂けますと、VBAが正常に動かくかもしれません!!

簡単なエラーでしたら、こちらで修正して動かしてみようかとも思ったのですが、
Exit Subが存在しないなど、プログラムの終わりがないというような
エラーも出ており、こちらでは判断が少々厳しかったです。

一度、コンパイルエラーがなくなるまで修正して頂き試して頂けますでしょうか?
これで動くとよいのですが・・・


>ストレッチ博士さん
確かに小さく作って、少しずつトライアンドエラーで機能を増やしていくやり方も良いですね!

2022年01月12日

ゴン

先物(移動平均線クロス)シート - コピー - コピー のコピー.xls (197.5KB)

大野様、いつもありがとうございます!

やはり発注が上手くいかないのですが、
・移動平均線のクロス
・新規発注、決済発注
この部分の文法がおかしいのでしょうか?
岡三RSSにつないでいる状態でも発注完了メッセージがでてきません…

>四本値シートのゴールデンクロスの値を別シートから見られたい場合は
Sheets("四本値(移動平均)").Cells(6, 13)
もしくは
Sheets("四本値(移動平均)").Range("M6")
となります!!

迷っていた形だったのでそっちでしたか!ありがとうございます!

2022年01月12日

ストレッチ博士

まずは発注 IDだけ手打ちすれば発注できるようにシート作りませんか。
それも無理ならまずVBAの基本的な学習が先です

2022年01月12日

大野 了

ゴンさん、こんにちは!!

>もし発注のみVBAでやる場合は特に価格取得などはVBAを使わなくてもセル関数のみでいいのでしょうか?
>その場合は発注のみVBAでやろうと考えております。
こちらは、ゴンさんが書かれておられます、
『四本値のデータ取得』の意味合いになりますでしょうかー?

それでしたらFCANDLEなどのRSSの関数を記述したところとは
別のところに結果を出力する系の関数はVBAでは動作しないためセル関数で記述を行い、
その出力結果をVBAにて取得させてあげる必要があります!!


>また、四本値シートのゴールデンクロスまたはデッドクロスの判断で発注をかけたい場合、別シートを参照する『Sheets(四本値).Select』で合っていますでしょうか?

VBAにて他のシートのセルを参照する場合の記述方法は以下の2種類あります。
・Sheets(シート名).Cells(列, 行)・・・行列番号で指定する
・Sheets(シート名).Range(セル)・・・セルの名称で指定できる


四本値シートのゴールデンクロスの値を別シートから見られたい場合は
Sheets("四本値(移動平均)").Cells(6, 13)
もしくは
Sheets("四本値(移動平均)").Range("M6")
となります!!

2022年01月12日

ゴン

先物(移動平均線クロス)シート - コピー - コピー のコピー.xls (197.5KB)

大野様、ありがとうございます。
抽象的な質問で申し訳ございません。

・四本値のデータ取得
・移動平均線のデータ算出
・移動平均線作成
・売買シグナル作成
・条件設定→発注
現在、ここまでの流れとしてコードも試行錯誤尾しながら書いているのですが、発注がなかなかうまくいきません…

もし発注のみVBAでやる場合は特に価格取得などはVBAを使わなくてもセル関数のみでいいのでしょうか?
その場合は発注のみVBAでやろうと考えております。

また、四本値シートのゴールデンクロスまたはデッドクロスの判断で発注をかけたい場合、別シートを参照する『Sheets(四本値).Select』で合っていますでしょうか?


たくさん質問してしまい申し訳ございません…
足りない部分などご教授いただければ幸いです。
よろしくお願いいたします。

2022年01月11日

大野 了

ゴンさん、こんにちはー!!

ファイル開けましたー
ありがとうございます!!

中のVBAも拝見することはできたのですが・・・
色々と記述があり添削という形ではコメントが少々厳しく・・・

お困りの部分や動かない部分など、具体的な内容を頂くことは難しいでしょうか?

2022年01月10日

ゴン

IfdoneOCO^LM時間決済サンプル のコピー.xls (270.0KB)

大野様、ありがとうございます。

先物サンプルではなく、If done OCO+時間決済サンプルに上記の条件注文の部分を少し変更して作成しているのですが、初心者のためVBAで書いた条件が合っているか不安になり、わからなくなってしまいます…
添削のような形でご教授お願いしたいです…

ファイルの拡張子をxlsに変更した場合は開けますでしょうか?
ファイルサイズが超過するみたいなので約定一覧などのシートは一時的に消去しております。

何卒よろしくお願いいたします!

2022年01月09日

大野 了

ゴンさん、はじめまして―

VBAって慣れるまで難しいですよね・・・

こちらはどのようなことがお困りでしょうかー?
具体的にお困りの内容を頂けると、何かお応えできるかもしれません。

また、アップされているファイルですが、拡張子を変更しても開くことができませんでした・・・

2022年01月09日

新参者

FNEWORDERの指値注文時の制御について


どなたか詳しい方におたずねします。

FNEWORDERで指値注文をして
なかなか約定しないので成行に変えようとする場合、
FOPPOSITIONが***END***である事を確認してから
FORDERCANCELでキャンセルして
FNEWORDERで成行注文を入れようとすると
できません、みたいなメッセージがでて
40秒後ぐらいに指値注文が約定するということがあります。

これは、一度、FNEWORDERで指値注文を入れると、制御が岡三rssにうつってしまい、
エクセルの関数もvbaも黙ってしまうということでしょうか。

岡三オンラインに確認したところ、
発注して注文が受け付けられればキャンセル等の命令は可能との事ですが
(スマホからの注文ではそうですが)
vbaで実行している限り、
一回FNEWORDERで指値注文を入れると、
約定するまで制御がかえってこない感じがします。

FNEWORDERで指値注文をして
約定しないうちに成行に変える(キャンセルしてから成行で注文する)
ということは普通にできるのでしょうか?

2022年01月12日

大野 了

新参者さん、こんにちは!!

なるほどー
DoEventsで動くようになったということは、
VBA自体が永久ループのような形で動き続けてますでしょうか?
もしそうであれば、ExcelがVBAの処理に夢中で、岡三RSSの情報の更新がかかってなかったためと思われます。
DoEventsは、Excelに『VBAばっかり処理するなよ』とお願いする関数になりますので、
DoEventsを入れたことにより岡三RSSのFOPPOSITIONが正常に動作できるようになったのだと思われます!!

また、Sleepですが新参者さんのご認識通り、
Sleepを使用中は岡三RSSも止まってしまい更新ができません!!

なにはともあれ、無事に動いてよかったです!!

2022年01月12日

新参者

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

大野さんが別の箇所で説明されている
Application.CommandBars("岡三RSS2").Controls.Item("更新").Execute
DoEvents
等と使ったら使える様になりました。

sleep等で待っていると、エクセルが更新されないのかも知れません。(そんな事ないのかも知れないですが)。

どうもありがとうございました。

2022年01月12日

大野 了

新参者さん、こんにちは!!

こちらですが、結論から申しますと、
岡三RSSで指値発注後、キャンセル後、成行で発注することは可能です。
※自分もやっています!!

40秒後に指値で約定しているところを見ると、一発目のキャンセルの発注がうまく行っていない感じがしています。

ORDERRESULT関数を使用して頂くと発注エラーの原因が分かりますので、
一度、こちらで原因を確認して頂けますでしょうかー?

もし関数の使い方に問題がなければ、発注ID等が重複していると思われます!!

2022年01月12日

新参者

考えてみれば出来ないわけないですよね。
FORDERCANCELという命令があるのだから。
もう少し考えてみます。

2022年01月12日

ストレッチ博士

他のエクセルファイルを開くとマクロエラーが発生してしまいます。いい方法ありませんでしょうか?

システムトレード用のエクセルが基本的に常時稼働しているわけですが、他のエクセルファイルをアクティブにしてしまうと、トレード用のファイルでイベントプロシージャが動いた際に、このブックにはそんなシートがありませんみたいなエラーになります。

一応、トレード専用機なのですがシミュレーションなどほかのファイルを使いたいときもありまして、現状はシステムトレード用のエクセルいったん閉じるしか方法がないという状態です。

他のブックで作業していてもバックで動き続けてくれるようにする方法がありましたらご教示くださいませ。

2022年01月19日

大野 了

ストレッチ博士さん、こんにちは!!

自分も同じことで困って、修正するのは面倒だったので別プロセスで上げるようにしています。
お役に立てて幸いです!!

月額利用で販売良いですねー
なんか汎用的なやつが出来て皆さんに喜んでもらえるといいですねー!!

2022年01月20日

ストレッチ博士

さすがの大野様、誠にありがとうございます。
Workbook名から指定するといいのかなと思いつつ面倒だなッと思ってしましました。
調べてみると確かにそのようなテクニックがあると判明しました。
ホントに感謝です。
その見識、もったいないです。
RSS用のシストレファイルを月額利用で販売したいですね!っていうかしませんか?

2022年01月19日

大野 了

ストレッチ博士さん、こんにちは!!

複数解決方法があるのですが、
一番簡単なのは、Excelを別プロセスで動かすことだと思います!!

Excelを二つ起動させると、
見た目は別のExcelですがプロセスというプログラムの管理領域が同じ場所に、二つのExcelが起動してしまいます。
この状態だと、VBAの一部が二つのExcelで共有される(Workbooksが同じになる)ため、
Sheet名などをWorkbookから指定していない場合、アクティブになったExcelのWorkbookを見に行ってしまい、
そこにシート名がないと『シート名がない』的なエラーになってしまいます。

解決するには、Workbook名から指定するといいのですが、
それですと大量にコードを直さないといけないので、二つのExcelが別のプロセスになるように起動してあげると、
コードを一切直さないくても、正常に動作すると思います
(自分もこのやり方でやっています!!)

やり方としては・・・
スタートメニューなどで、ExcelをALTキーを押しながらクリックすると、
『新しく別のExcelを起動しますか?』
と表示されます。
ここで"はい"を押すと、現在、起動しているシストレ用のExcelと別のプロセスで新しくExcelが起動します!!

これだとVBAを一切直さなくても、お互いが干渉しない個別の状態となります。

また、プロセスが別ですと、もしシミュレーション用のExcelが異常停止したような場合でも、
プロセスが別のためシストレ用のExcelが引きずられて死ぬこともなくなります。

デメリットとしては若干メモリを多く食ってしまうのですが、最近のPCですとまったく問題ないと思いまーす!!

2022年01月19日

ken

シートに貼り付けられたタスクが、ブック全体に波及してしまいます。

大野様
Kenです。大変お世話になっております。以下、問題が起きておりまして、1ヶ月ほどいろいろ頑張りましたが、どうしても解決出来ません。教えていただければ幸いです。
今回お聞きしたいのは、2021年9月26日に少し相談させていただいた、サンプルファイル 09_trailorder.xlsm についてです。このサンプルを現在開発中のシステムに組み込もうとしております。このサンプルを起動して、各種調べておりますが、納得出来ない現象が発見されました。どうも自分のスキルではまるっきり動きが理解が出来ません。この辺りを教えていただけますれば幸いです。
(ご参考までに、以下に、このサンプルのマニュアルのURLを記述しました。
https://www.okasan-online.co.jp/ont/use/sample/sheet/1910-RSS-All.pdf
ここには、09_trailorder.xlsm の動作について、大変分り易く解説されております)
動きが理解出来ないのは、ただ1点、このシートに付随しているマクロ
Private Sub Worksheet_Calculate() が、関係無いはずの他のシートのセルの内容が変化しても、動いてしまうことです。仕方がないので、現在はこのサブタスクを削除し、数秒おきに時刻を予約して処理を行っておりますが、動作が重いのと、予約時間の間にQuoteによる株価が動いたときに即応出来ないという問題があります。
以上につきまして、解決法を教えていただけますれば幸いです。

2022年01月26日

大野 了

kenさん、こんにちは!!

そういう理由でしたかー
なにはともあれ、解決されたようで何よりです!!

2022年01月28日

ken

小野様へ
結論は、解決しました! どうやったかと言いますと、Quote をQuoteZ としていたものをすべて削除した結果です。なぜ存在しないQuoteZとしていたかと言いますと、Quote の機能を一時的に無効にしておきたかった為でした。
この原因を発見出来ず1ヶ月を無駄にしました!
小野さんのおっしゃる通りに、他のシートを参照している関数があるかどうかを調べましたが、それが発見できませんでしたので、変なものを次々と削除していった結果、上記の結論を発見しました。お騒がせいたしました!

2022年01月27日

大野 了

Kenさん、こんにちは!!

Worksheet_Calculate() が動いてしまう件ですが、
Worksheet_Calculateを記述してあるシートに、他のシートを参照する計算式などがありませんでしょうか?
もしあると、引きずられてそのシートも再計算が走りCalculateイベントが動いてしまいます!!

2022年01月27日

RSSユーザー

POSITION関数の***END***の表示がずれる時の修正方法とその他1点についてです。

お世話になっております。
一つは、POSITION関数の銘柄コード、保有数量、取得単価が並んでいるのですが、約定した時たまに取得単価とかがそのまま残っていて***END***が一段下にずれて表示されたままになっている場合があります。これを自動で直す方法はありますか。
二つは、ある銘柄のQUOTE関数の買付強度をあるセルに表示させておき、そのセルが>0.5の時実行というIF文を書いたのですがそのセル<0.5の時実行されてしまいました。セルは41.07%と表示されていました。セル値の書式とかが問題なのでしょうか、お教えください。

2022年02月03日

大野 了

RSSユーザーさん、こんにちは!!

なるほどー
UWSCの方がご都合がよかったんですねー

なにはともあれ、安定したようでよかったです!!

2022年02月05日

RSSユーザー

何度もすみませんでした。
結局、UWSCで一分おきにエクセルマクロ(***END***の範囲をDELETE)を実行させることにしました。VBAだといったんDELETEした後また***END***の出現が不揃いでくるので、DELETEのマクロが動き出しエンドレスになってしまいます。
いろいろお騒がせしました!
 

2022年02月05日

RSSユーザー

取引デモ1.xls (26.0KB)

すみません、
***END***がきれいにそろっていないとだめな理由は添付ファイルのようにたの保有銘柄にも影響し全取引が停止してしまうからです。
ついでに、質問しちゃいますがPOSITION関数の売買区分の 売 買 の表示は文字表記でしょうか? いろいろすみません、ザラバ明けでけっこうですので!

2022年02月04日

大野 了

RSSユーザさん、こんにちは!!

ルパンのタイプライター音懐かしいですねー
久々にルパンの『ふ~じこちゃ~ん』を聞きたいです(笑


さて、ご質問を頂いた内容の回答とは異なってしまいますが、
今回のご質問の元々の発端は"***END***"が複数行に出てしまって、誤発注が防げないという事になりますでしょうか?

もしそれであれば、他の方に頂いたご質問の回答とは異なって、
大変もうしわけないのですが、
こちらのリンクの『END行チェックサンプル.xlsx』の方式でやって頂きますと、
***END***が消えていなくても、誤発注が防げると思います。

https://bbs.okasan-online.co.jp/ont/rss/board/?category_id=1&topic_id=489

以前、やり取りをさせて頂いたみたいですので、
もしかすると以前に自分が不適切なやり方をお伝えしてしまったのでしたら、大変申し訳ありません。

VBAで***END***を消すより簡単だと思います!!

もし、不都合がございましたら、またご返答頂けますと幸いです。

2022年02月04日

RSSユーザー

すみません、私ばかちんです。
これだと結局UWSCスクリプトをタイムスケジュールで実行しなければいけません、(1分おきとかに設定)
で、考えていたら、いぜんに***END***より上の数が銘柄コード、取得単価、保有数量それぞれ同じにカウントしたら注文できるという誤発注の対策を教えていただいていました。そこで思いついたのが同じカウントじゃない時つまり約定中のマクロ実行(Sample)でした。このSampleは「ルパンのタイプライター音」で結構きにいっているものです。

話が長くなってしまいましたが、このvbaの中でSampleの前にMacro1(***END***の範囲を一度Deleteするマクロ)を実行させてからSampleを実行させる文はどう書けばよいか教えてください。
以下の文がそうです。シートを右クリックしてコード表示を押すとでてくるやすです。本物は線が引いてあります。

Worksheet Calculate

Private Sub Worksheet_Calculate()
If Range("N4") = 0 Then Call Sample
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
If Range("N4") = 0 Then Call Sample
End Sub

2022年02月03日

大野 了

RSSユーザーさん、こんにちは

以前、やり取りをさせて頂いた方だったんですね!!

>以下の文にセルA1=1などと条件をつけてUWSCから実行はできないでしょうか。
こちらはA1=1の時だけMacro1を動かされたいという事でしょうか?

UWSCからやられる場合は
try
ExcelObj = GETACTIVEOLEOBJ("Excel.Application")

If ExcelObj.Sheets("Sheet1").Range("A1").value = 1 Then
ExcelObj.Run("Macro1")
EndIf

except
exit
endtry

というような感じで大丈夫かと思われます!!
※テストはしていませんので、若干の構文間違いなどありましたら、申し訳ありません。

2022年02月03日

RSSユーザー

何度もすみません。普段はUWSCのスケジュール設定でタイマーによりマクロ実行しているのですが、以下の文にセルA1=1などと条件をつけてUWSCから実行はできないでしょうか。「UWSCは独立系でマクロコードの実行が中断しないかなあと」

try
ExcelObj = GETACTIVEOLEOBJ("Excel.Application")
ExcelObj.Run("Macro1")
except
exit
endtry

2022年02月03日

RSSユーザー

お世話になっております。
セルの値が数字として認識しない問題は、=A1*1でいいかなあと思っていましたが大野様の =VALUE(A1)に変更しました。
もう一つの問題である、***END***が一段下にずれて表示されたままになっている場合ですが以前大野様より以下のようなVBAを頂いていたので、各POSITION関数の銘柄コード、保有数量、取得単価の下の数のカウント合計が同じでない場合A1=1になるように設定しマクロ実行(該当箇所の表示を削除)するようにしてみます。

「セルA1が1になったらマクロ実行」

シート1のコード
 Option Explicit
Private PrevData As String

Private Sub Worksheet_Calculate()
If PrevData <> "1" And Range("A1").Value = 1 Then
Call Application.Run("Macro1")
End If

PrevData = Range("A1").Value
End Sub

モジュール1のコード
Option Explicit

Public Sub Macro1()
MsgBox "aaa"
End Sub

2022年02月03日

大野 了

RSSユーザーさん、こんにちは!!

>***END***が一段下にずれて表示されたままになっている
たまにありますね・・・
セル関数やExcelの設定だけでどうにかできないか考えてみたのですが
残念ながらこちらは自動で直すことは厳しいと思われます。
VBAを書けば、何とかなるのですが・・・


>QUOTE関数の買付強度
買付強度は"41.07%"という文字で表示されているため、数値との比較が正常にできていないようです。
A1セルにQUOTE関数を書いているとして

=VALUE(A1)<0.5

という感じで買付強度が出力されているセルをVALUE関数で囲ってあげると、41.07%を数値に変換しますので
比較可能になります!!

2022年02月03日

ヒデ

IVの値について、教えて下さい。

OPQUOTE関数の値について教えて下さをい。オプションのスマイルカーブを作成しようと思い、OPQUOTE関数でIVの値を表示させる事は出来るのですが、エクセルでグラフを作成しようとそのIVの値を使用しましたが、エクセルは0(ゼロ)と認識するのか、グラフを描写しても、全て0(ゼロ)にラインが書かれます。尚、その他の値(現在値や気配値)等では、問題なくグラフ作成できます。IVの値をセルの書式設定より、数値やパーセント、指数なんかに変えてみましたが駄目でした。全くの初歩的な事かもしれませんが、質問箱それなりに読んでみましたが、解決しません。ご回答よろしくお願いいたします。

2022年02月22日

大野 了

ヒデさん、こんにちはー!!

うまく行きましたかーー!!
それはよかったですっ♪

わかる範囲でしかお答えが出来ないのが、歯がゆい時もありますが、
今までの経験が少しでもお役に立てれば幸いです!

なにはともあれ、お役に立ててよかったです!!

2022年02月22日

ヒデ

大野様 有難うございました。出来ました~~!!!
色んな質問みましたが、大野様の回答で助けられてる方沢山ですね・・・
感謝です。

2022年02月22日

大野 了

ヒデさん、こんにちは!!

IVを取得してみたのですが、表示されているのは数値ですが、
出力内容が文字列として出力されているようです。

=VALUE(OPQUOTE("0","P","27500","IV","N225op"))

のように、OPQUOTE関数をVALUEで囲むと、
データが数値型に変換されますので、グラフが正常に表示されると思います!!

2022年02月22日

上野

CFDに関して

大野様

こんばんは。ご無沙汰しております。
過去何度かやり取りさせて頂いた上野と申します。

https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=504#comment_2739

以前、上記のやり取りをさせて頂きましたが、
同じような事がCFD(日経225/2022)でも出来ますでしょうか?
※個別銘柄ではなく、日経225でやりたいのです。

ちなみにFCANDLEでN225のデータを得れる事も承知ですが、
15:15-16:30が取引無い為、データが抜けてしまいオシレーターなどの
数値がズレてしまうのを懸念しています。

個別質問で大変恐れ入りますがご教授下さい。
よろしくお願いいたします。

2022年03月31日

上野

大野さん

早速のご返答ありがとうございます!!!
あまり詳しくない中でお聞きしてしまって申し訳ございません…

CFDHISTORICALRATEDATAAUTOで「日経225/2022」を入れてみたのですが、
最新のデータが一番下に来るいわゆる降順になっており、
一方、CANDLE関数は昇順の為、最新のデータが上に来ております…
以前やり取りさせて頂いた、株価シートの処理時刻で行がズレる仕様にするには
どのように手を加えれば良いのでしょうか…?

または、
=CFDMARKETINFO("日経225/2022","買気配")とセルに入力した所、
常に「買気配」の値が更新されています。
これを、例えば5分おき(=5分足)に1行下にずらしていく。という事も出来ますでしょうか?

2022年04月04日

大野 了

上野さん、こんにちは!!

Excel2019でしたら、残念ながらSORTBYは使えないかもしれません・・・
その時は、日付の最大値の行を探す方式しかないと思われます・・・


>多分分からないことがまた出てくるので、また質問させて下さいm(__)m
はい、何かあればいつでもご連絡頂けますと幸いです!!

2022年04月05日

上野

な…なるほど…
excelは2019を使ってるのですが、SORTBY関数に関してちゃんと調べて頑張ってやってみます…
いつも教え下さりありがとうございますm(__)m

多分分からないことがまた出てくるので、また質問させて下さいm(__)m
よろしくお願いします。

2022年04月04日

大野 了

上野さん、こんにちは!!

CFDHISTORICALRATEDATAAUTOですが、調べてみたのですが、
残念ながらFCANDLE関数と違い、ソート順を選択させることは出来なさそうです。

日付の新しいものが先頭表示されるようにされたい場合は、
CFDHISTORICALRATEDATAAUTOのデータを、
一度、Excelのシートに表示したのちに、SORTBY関数で日付をキーにして並べ変えてあげるのが
最も簡単だと思います!!

もし、Excelのバージョンの関係でSORTBYが使用できないのであれば、
ソート順を変更するのはあきらめ、
日付が最大の行をMAXとFIND関数で探し、その行の終値を使用するのがよいと思います!!



>=CFDMARKETINFO("日経225/2022","買気配")とセルに入力した所、
>常に「買気配」の値が更新されています。
>これを、例えば5分おき(=5分足)に1行下にずらしていく。という事も出来ますでしょうか?
こちらの件ですが、5分毎の瞬間の値であれば、
VBAを記述すれば、データを退避させることは可能ですが、
瞬間の値を退避しても、あまり意味がないと思われますので、
5分間の買い気配を集計する必要が出てくると思います!!

2022年04月04日

大野 了

上野さん、こんにちは!!

RSS 365CFDはあまり詳しくないのですが、
RSS 365CFDに、CFDHISTORICALRATEDATAAUTO という関数があり
こちらで日経225の4本値が取得できますので、
以前やり取りさせて頂いたところの株価シートを
こちらの値にすれば、EMA等の算出はできると思います!!

2022年04月01日

ストレッチ博士

FCANDLEが自動更新されないPCがあるのです。

お世話になります。
PC2台の内、1台でデータ更新されない状況です
症状は下記の通りです。さほどスペックが高いPCではありませんのでそれが理由かとも思っていますが
原因として可能性のありそうな事項をご教示頂けますと幸いです。
岡三に問合せしまして、エクセルの再インストールをということで再インストしましたが改善が見られません。
よろしくお願いいたします。


FCANDLEが更新されず、F2+Enterで更新するほかない
再計算は常時動いている
もう一台のPCでは自動更新され正常に動作する

2022年03月09日

大野 了

ストレッチ博士さん、こんにちは!!

直りましたかー!!
お役に立てたようで幸いです!!

2022年03月11日

大野 了

ストレッチ博士さん、お久しぶりです!!

状況として、自分も再計算が動いてない感じがしてるんですが、
常時動いてるとなると、なかなか難しいですね・・・

ちなみにF9を押すとFCANDLEの内容は更新される感じでしょうかー?

また、Excelだけではなく岡三RSSを再インストールされている場合ですが、
岡三RSSのキャッシュが残っていると、
再インストールしてもすべてのプログラムが入れ替わらない場合があります。

他の方に頂いた質問の回答で大変申し訳ないのですが、
岡三RSSの完全な再インストールする方法を以前投稿しましたので、
ご参考頂けますと幸いです!!
https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=475#comment_2624

2022年03月09日

ストレッチ博士

毎度の大野様ありがとうございます!
過去ログ気づかずに失礼しました!
その中にあったキャッシュの削除というのが原因だったみたいです。
解決いたしました!感謝いたしますm(_ _)m

2022年03月11日

TTT

アラート音

岡三RSSで価格が設定以上、以下になった場合のアラート音は出せますか?
どなたかご存じでしたら教えてください。

2023年02月01日

おおぎ

なるほど! 有難うございます!

2023年03月07日

大野 了

おおぎさん、こんにちは!!

もしかするともっと簡単に出す方法があるかもしれませんが・・・
ぱっと思いついたのは・・・
FTICKで『当日買約定数累計』と『当日売約定数累計』を監視しておいで、
この数字の変化量で判断するというのはいかがでしょうか?
『当日買約定数累計』のみが増えた場合は、買いが約定したということで・・・

2023年03月06日

おおぎ

いつも大変お世話になっております。さて日経225先物の歩み値において大口の取引を見ています。一定程度大口の取引があった時、前回比の項目で+10とか-10とか表示されていればいいのですが、前回比0と表示されることのほうが圧倒的に多いです。(恐らく目立たないように意図的にそういう数量を取引しているのでしょう) さて岡三RSSにおいて、こういった前回比0の大口取引が「買」だったのか「売」だったのかを判断する方法があったらご教示いただけないでしょうか。よろしくお願いいたします。(既出だったら申し訳ありません)

2023年03月06日

TTT

大野様

ご返信ありがとうございます。
下記のようにネット上で見つけたコードで実行してみたのですが、RSSの配信価格には反応しませんでした。
手動でA1セルに入力すると発音するのですが、FCANDLE関数の終値を自動配信しても反応してくれません。
なにか良い策はございますか?

Declare PtrSafe Function BeepAPI Lib "kernel32.dll" Alias "Beep" _
(ByVal dwFreq As Long, ByVal dwDuration As Long) As Long

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1").Value > Range("B1").Value Then
Call BeepAPI(2500, 50)
Call BeepAPI(40, 450)
Call BeepAPI(2500, 50)
Call BeepAPI(40, 450)
Call BeepAPI(2500, 50)
Call BeepAPI(40, 450)
Else
Call BeepAPI(2500, 450)
Call BeepAPI(40, 50)
Call BeepAPI(2500, 450)
Call BeepAPI(40, 50)
Call BeepAPI(2500, 450)
Call BeepAPI(40, 50)
End If
End Sub



2023年02月01日

大野 了

TTTさん、こんにちは!!

上手く行きましたかー
お役に立てて幸いです!!

2023年02月03日

TTT

大野様

上手くいきました。
ありがとうございました。

2023年02月03日

TTT

大野様

ご返信ありがとうございます。
Worksheet_Caluculateでやってみます!
またご報告いたします。

2023年02月02日

大野 了

TTTさん、こんにちは!!

Worksheet_Changeイベントは、手動でセルを変更した時のみ動作するイベントとなりますので、
残念ながら、TTTさんのおっしゃれています通り、
岡三RSSの関数がセルを更新してもイベントが動きません。

Worksheet_Calculateイベントだと動作しますので、こちらを試してみて頂けますでしょうかー?

2023年02月02日

大野 了

TTTさん、こんにちは!!

残念ながら岡三RSSには、アラート機能がないため、
もし、音を出されたい時は、VBAにてプログラムを組む必要があります。

もしビープ音でよければ(ビーという音しかなりません。)VBAのBeep関数を使用し、
ちゃんとした効果音を出されたい時は、PlaySound APIを使用して効果音を鳴らす感じとなります!!

2023年02月01日

RSS初心者

一般信用取引における空売りの可否について

岡三RSSの初心者です。岡三RSSでの一般信用取引における空売りの可否についてどなたか
教えていただければ幸いです。以下、1~4私なりに最近調べた内容を記述しておきます。

1.岡三RSS集いの広場で、空売りというキーワードで検索しますと、
 一般信用銘柄での空売りは出来ない。ということのようです。
2.自動売買ソフトを販売している業者(岡三RSSを使っている)に問い合わせたところ、
  問題なく空売りは出来ている。とのことでした。(ホームページを見ても確認出来ます)
3.岡三証券のサポート(0120-146-890)に電話してこの件について問い合わせをしたところ、
  昔から出来ている。との返事を頂いております。
4.マニュアル https://www.okasan-online.co.jp/ont/manual/ont_rss/function_list.pdf
  を見ました。NEWORDER という関数の第3引数が売買区分であり、1で売り、3で買い
  となっており、特に空売りが出来ないとの記述は見つかりません。

以上のことから、少し頭が混乱しております。どなたかに以上の状況についての
 クリアーな説明をお願いいたしたく、よろしくお願い申し上げます。

2022年05月27日

RSS初心者

大野様へ
非常にクリアーに説明して頂きまして、ありがとうございました。
『MARGINORDER』 ですね!肝に銘じました!

2022年05月27日

大野 了

RSS初心者さん、こんにちは!!

疑問点の解決が出来たとのことで、よかったです!!
お役に立てて幸いです!!

2022年05月27日

大野 了

RSS初心者さん、こんにちは!!

多分、一般信用取引と制度信用取引の話が途中で混ざってしまったのだと思われます。
信用取引には『制度信用取引』と『一般信用取引』があり

〇制度信用取引
新規買い、新規売り共に可能

〇一般信用取引
新規買いのみ、売りはできない

となっております。

岡三RSSは両方の取引に対応していますので『信用取引』を使用する場合は
『NEWORDER』ではなく『MARGINORDER』を使用し、
信用取引区分で、制度信用か、一般信用かを選ぶ形となります。

多分、自動売買の販売をされている方も、岡三証券のサポートの方も、
信用取引ということで、制度信用の話をされていたのだと思います!!

2022年05月27日

RSSユーザー

ときどき、UWSCから エクセルマクロ(上書保存後終了) ができなくなります。

お世話になっております。
上記の通り、ときどき、UWSCから エクセルマクロ(上書保存後終了) ができなくなります。
以下のようなメッセージが出て止まってしまっています。
このようなときは、手動で更新するを押して再度エクセルを立ち上げ、正常に機能しているか確かめています。
これって、何とかならないものでしょうか、お教えください。 

「 このブックには、安全でない可能性のある外部ソースのリンクが1つ以上含まれています。
リンクを信頼できる場合、リンクを更新して最新のデータを取り込みます。信頼できない場合は、データをそのまま手元で処理してかまいません。

更新する  更新しない  ヘルプ(H) 」 

なお、エクセルを上書保存後終了のマクロは以下の文です。

エクセルマクロ
Sub Macro3()
Dim bk As Workbook
For Each bk In Workbooks
bk.Save
Next bk
Application.Quit
End Sub


UWSCの制御文 

try
ExcelObj = GETACTIVEOLEOBJ("Excel.Application")

If ExcelObj.Sheets("データ").Range("G1").value = 1 Then
ExcelObj.Run("Macro3")
EndIf

except
exit
endtry

2022年02月13日

大野 了

RSSユーザさん、こんにちは!!

なるほどー
両方とも同じPathだったんですねー

なかなか厳しいですねー
多分、オプションの中にあるトラストセンターで『外部コンテンツ』のデータ接続を有効にする
というオプションにチェックをつけると出なくなると思うのですが、
怪しいExcelを開いた時にノーガードになると思いますので、あまりお勧めはできない感じです。

何かわかりましたら、自分も追記します!!

2022年02月15日

RSSユーザー

すみません、どちらも同じでした。(C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn\岡三RSS.xla)

ほんと、たまになんです、たまにあのにくいメッセージがでてフリーズってわけです。

もしかしたら、ファイル内の時計(マクロ)かなあ~。
ほんとお騒がせしました。

2022年02月14日

大野 了

申し訳ありません
説明の仕方が不親切でした。

多分、PCに岡三RSSをインストールされた際に、アドインの設定をされていると思うのですが、
こちらが二つのPCで異なっていると思われます。

ファイル - オプション(左下) - アドイン(下から二つ目)

をクリックしてアドインの情報を表示した際に
アクティブなアプリケーションアドインのところに『岡三rss』とあると思うのですが、
こちらのパスが2台で異なっているのではないかと思われます!!

こちらを
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn\岡三RSS.xla
に合わせてあげると、発生しなくなると思います!!

2022年02月14日

RSSユーザー

パソコンは2台全く同じもの、それぞれログインして各パソコン内のエクセルファイルを使っています。(もとはコピーですが売りと買い別のファイル名で中身も少し違う)。
どちらもリンクを開くと

リンク元     種類     更新     状態
岡三RSS.xla ワークシート    A      不明

リンク元:C:¥Program File (x86)¥Okasan Online Secu... ¥Addin
項目 :
更新 : ●自動 ○手動(M)

で\Addinの文字があるので、上記のご指摘ではないみたいです。
ちなみに一台リンクを解除してみるとQUOTE関数などきれいに式が消えました。びびりました! (バックアップしてます)

・・・ ときどき、なる現象なのでもう少し様子見します。お手数かけました!

2022年02月14日

大野 了

なるほどー

今回の事象は、岡三RSSのアドインの場所が異なるため発生していると思われます。

こちらは、一つのExcelファイルを複数のPCで使用されていませんでしょうか?

もし、使用されているWindowsのbit数が同じ場合、
すべてのPCが
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn\岡三RSS.xla
になっているかご確認ください!!

多分、一部のPCは
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\岡三RSS.xla
になっていると思われます!!


また、Windowsのbit数が異なる場合は、
UWSCなどでファイルを起動させる前に
『C:¥Program File (x86)¥Okasan Online・・・・』を置換などで消す必要があります!!!

これで解決できるといいのですがー

2022年02月14日

RSSユーザー

大野さんの推奨するサイトを参照してみました。
自分のRSS使用しているエクセルファイルも開いてみて、リンクの編集を開くと

リンク元     種類     更新     状態
岡三RSS.xla ワークシート    A      不明

リンク元:C:¥Program File (x86)¥Okasan Online Secu... ¥Addin
項目 :
更新 : ●自動 ○手動(M)

以上一つが引っ掛かりました。
ただ、これって岡三RSSのアドインだから解除しちゃいけないものですよね、状態が不明になっているのがあやしいですが、どうなのでしょう?

2022年02月13日

大野 了

RSSユーザーさん、こんにちは!!

こちらですが、VBAやUWSCには問題なく、
Excelファイル内に外部へのリンクがあるために発生してします。

他のExcelをどこかで参照されておりませんでしょうか?
※Excelを二つ開いてセルの内容をコピーするとそのファイルへの参照となる場合があります。

また、64bitのWindowsと32bitのWindowsで
岡三RSSの関数を入れたExcelファイルを行き来した際もこのエラーが出る場合があります!!
※岡三RSSの関数の前に『C:\Program・・・・』などと付いている場合です!!

消し方や探し方でわかりやすいサイトのURLを張ります!!
これらのファイルで解決できると良いのですが・・・


〇対処のやり方
https://studiosero.net/forlife/tips/26661/

〇対処のやり方、その2
https://hazukei.com/1581/

〇外部リンクの探し方
https://support.microsoft.com/ja-jp/office/%e3%83%96%e3%83%83%e3%82%af%e5%86%85%e3%81%ae%e3%83%aa%e3%83%b3%e3%82%af-%e5%a4%96%e9%83%a8%e5%8f%82%e7%85%a7-%e3%82%92%e6%a4%9c%e7%b4%a2%e3%81%99%e3%82%8b-fcbf4576-3aab-4029-ba25-54313a532ff1?correlationid=1bbe7a0e-cd75-4331-9a5a-2cddc1ea8600&ui=ja-jp&rs=ja-jp&ad=jp

2022年02月13日

RSSビギナー

225miniのセッション別の始値・終値の抽出方法

日中とナイトセッションごとの始値・終値を5日分程自動で抽出したいのですが、やり方が良く分からず、、、
ご存じの方がいらっしゃったらお教え頂けませんでしょうか?
一番上の行が最新の物となる為セッション中の場合は常に最新日の終値が動いているといった状態にしたく思います。

6/6夜間 始値 終値
6/6日中 始値 終値
6/5夜間 始値 終値
6/5日中 始値 終値
6/4夜間 始値 終値
6/4日中 始値 終値
6/3夜間 始値 終値
6/3日中 始値 終値
6/2夜間 始値 終値
6/2日中 始値 終値

2022年06月07日

大野 了

RSSビギナーさん、お役に立てて幸いです!!

2022年06月08日

RSSビギナー

大野さま
正に求めていたものそのものです!!
ありがとうございます。

2022年06月08日

大野 了

RSSビギナーさん、こんにちは!!

もう、5年ほど前になってしまいますが・・・
同様のご質問を受けてサンプルを作成したことがあります!!

他の方から頂いた質問のURLで大変申し訳ございませんが、
以下のURLを参照して頂けますと幸いです!!

サンプルというか、ご期待の動きをするファイルもありますので
ご活用いただけますと幸いです!!

https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=112#comment_848

2022年06月08日

イーサン

更新ボタンの処理が完了したことを検知する方法はありますでしょうか?

こんにちは。

以下の通り、VBAで岡三RSSの「更新ボタン」を押して、RANKING_M()等の手動関数を実行しているのですが、RANKING_M()関数
で、セルへの書き込みが完了したことを検知する方法は
ありますでしょうか。

Application.CommandBars("岡三RSS2").Controls.Item("更新").Execute

上記の関数はどうやら非同期のようで、RANKING_Mでの
セルの書き込みが完了しないうちに呼び出し元に戻ってきて
しまいます。

すみませんがよろしくおねがいいたします。

2019年04月09日

イーサン

Ryo Ohnoさん、こんにちは。

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

おかげさまで少しづつわかってきましたが、まだわからないのが
「最終セルまで表示されたたら表示完了と判断」
を具体的にどうのようにコーディングすればよいのか
わかりません。

最終セルの値が空欄でなくなるまでSleepを繰り返すと
Excelがフリーズしてしまいますし。

ご教示いただければ幸いです。

よろしくおねがいいたします。

2019年04月10日

Ryo Ohno

イーサンさん、こんにちは!!
返信が遅くなってしまい大変申し訳ありません。

イーサンさんがおっしゃれれます通り、
VBAでSleepを使うとそこで処理が止まってしまい
岡三RSSがセルに更新をかけることができません。

どのようなVBAを書かれているかわかりませんが、
もし単一VBAで、onTimeなどでマクロを繰り返す形ではないのでしたら、
DoEvnetsという関数を利用するのが一番です(というか、これしか方法がないw)

DoEvnetsというのは、一度OS側に処理を戻す関数で、
これを使用すると、OS側に処理が戻るので岡三RSSがExcel側に書き込むことができるようになります。

以下にサンプルを記述しまっす!!

A1にRANKING_Mの関数を書いておきTop10件取るようにしてあります。
(A2~A11に結果が吐き出される)

更新ボタンを押した後に、Do Until で無限ループするのですが、
その中でDoEventsを読んで、岡三RSSがセルにデータかけるようにしてあげます。
その後、RANKING_Mの関数がデータを取ってこれているか確認し
取ってこれているなら、Do Until の無限ループを抜けます。
そして後続処理のメッセージボックスが表示されるという動きです。


Private Sub CommandButton1_Click()
'A1に =RANKING_M("出来高","銘柄名","10",A2) といつ関数を入れてる

'RANKING_Mが書き出す予定のセルのクリア
Range("A2:A11").ClearContents

Application.CommandBars("岡三RSS2").Controls.Item("更新").Execute

Do Until False
'OSがイベントを処理できるようにする
DoEvents
If Range("A11") <> "" Then Exit Do
Loop

Call MsgBox("取得完了")
End Sub

ご参考になれば幸いです。

2019年04月13日

Ryo Ohno

イーサンさん、お役に立てたようでよかったです!!

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

2019年04月16日

イーサン

Ryo Ohnoさん

こんにちは!

素晴らしい回答をいただきありがとうございました。

ためしてみたところ、ちゃんと取得できました。

これで所望の処理が実現できそうです。

どうもありがとうございました!

2019年04月15日

Ryo Ohno

イーサンさん、こんにちは!!

イーサンさんのおっしゃられます通り、
VBA主体でみた場合、一部の関数は非同期になっていますので、
更新処理後、全量が書き込まれる前に次の処理が動きます。

VBAを使われているとのことですので、
手動更新を行う前に、RANKING_Mが出ロするセルを削除し、
手動更新更新後、
最終セルまで表示されたたら表示完了と判断させる方法がよく使われますっ!!

2019年04月10日

RSS初心者

QUOTE_Mの更新直後のWaitが効かない。

どなたか、以下につきまして困っております。対策を教えていただけるとありがたいです。

現状:4本値をQUOTE_Mにてダウンロードし、その4本値を使って、ろうそく足チャートを描こうとしております。まず、日足の4本値をダウンロードして、その4本値を元に、日足のチャートを描画します。そのあと、1分足の4本値ダウンロードし、1分足のチャートを描画します。
以上をマクロで実行します。ところが、日足のチャートは描画されず、(画面が真っ白)、1分足のチャートだけが描画されます。
仕方がないので、デバグモードで1ステップ毎に実行しますと、大体きれいに、両方のチャートが出力されます。
この原因は、マクロで実行しますと、最初の日足の場合、4本値のダウンロードが終了する前に、描画タスクが動いてしまう為と思われます。しかし、その後に実行される、1分足の場合は、描画タスクの実行時間が大きいため(数秒程度)、4本値が完全にダウンロードされ、きれいに1分足のチャートが出力される。ということのようです
(勝手に自分でそう思っている!この解釈が間違っているかも知れません)。

上記現象の対策として、以下2つの方法を試しました。
方法1:QUOTE_Mを実行した直後にwait関数を使用。
Application.Wait [Now()] + 5000 / 86400000 を実行。
結果は、ダメでした。(いくら遅延時間を大きくしても駄目)
方法2:QUOTE_Mを実行した直後にSleep(5000)を使用。
「Declare PtrSafe Sub Sleep Lib "kernel32"
(ByVal dwMilliseconds As Long)」をタスクの頭で宣言しておきます。
結果は、いくらsleep時間を大きくしても駄目。

ということで、現在、手動で、QUOTE_M実行直後の描画タスクにストップをかけておき、
そのタスクが黄色になったのを確認してから、
3秒ほど待ってからタスクの再開(F5を押す)をしております。
(まったく面倒くさいです!)

どなたか、以上の対策案をお持ちの方おられましたら教えて
いただければありがたいです。

2022年06月23日

大野 了

RSS初心者さん、こんにちは!!

ここら辺は普通のVBAのプログラミングと違い、
なんとも難しいところですからね・・・

なにはともあれよかったです!!

2022年08月04日

RSS初心者

大野様へ
おっしゃるとおり、すべてのケースの直後にDoEventsを挿入して実験したところ
問題なく動作することを確認しました!
1年以上、動作したりしなかったりで、すっきりしなかった懸案が、これでスッキリしました!
なんだか、初心者から、すこし上達したような気が致しております!
ありがとうございました!

2022年08月04日

大野 了

RSS初心者さん、こんにちは

うまく行ったようでよかったです!!


>なぜ、Sleep と DoEventsのコンビネーションが、この問題を解決するのか
>が理解できません。この辺りを解説いただければ幸いです。

まず、1~3に記載されている内容は、RSS初心者さんのおっしゃられている内容で間違いありません!!
onTimeを使用すると、RSS初心者さんのおっしゃられている通りVBAが一度止まるので、
その時に岡三RSSがデータをセルに書き出すことができます。

この時onTimeを使用せずともDoEventsを使用することでVBAを動作させつつ、岡三RSSがセルにデータを書き込む
タイミングを作成することができます。

Call 待ち3種
で岡三RSSがサーバーからデータを取得する間を待っているようですが、

>If J = 1 Then K = 0: For J = 1 To 30000000: K = K + 1: Next J: Exit Sub
>If J = 2 Then Application.Wait [Now()] + 5000 / 86400000: Exit Sub
>If J = 3 Then Sleep 5000: Exit Sub
こちらいずれも、30000000回ループしたり、5秒まったりしていますが、
DoEventsがないため、岡三RSSがセルを更新をすることができません。


>If J = 4 Then DoEvents
こちらはDoEventsの記載はありますが、上の3つと違ってそもそもWait処理が入っていないため
更新ボタンを押した直後にDoEventsが動いてしまっているため
岡三RSSがサーバーからデータを取得しきる前に、
DoEventsが動いてしまい、DoEventsが実質空回りしている状態でした。

このため、Wait処理が入っている中で、処理が一番簡単だった
J = 3 にDoEventsを追加することで今回は対応を行ったという感じです。
J=1、J=2 にDoEventsを入れても同様に動作すると思います!!

以上のような感じですが、説明になっておりますでしょうかー?

2022年08月03日

大野 了

RSS初心者さん、こんにちは

最も良いのは、onTimeメソッドを使用するのが一番安定しますが、
もしロジックを大きく変えたくないのであれば、以下のように対応されるとオーバーフローは出なくなります!!

Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal ms As LongPtr)
Sub メイン()
Range(Cells(4, 1), Cells(40, 7)) = ClearContents
Cells(1, 2) = 9983
Call 更新
Call 待ち3種(3)
Call 正規化
End Sub
Sub 更新()
Application.CommandBars("岡三RSS2").Controls.Item("更新").Execute
End Sub
Sub 正規化()
For J = 1 To 10
Cells(J + 3, 7) = Cells(J + 3, 2) / Cells(J + 3, 3)
Next J
End Sub
Sub 待ち3種(J)
If J = 1 Then K = 0: For J = 1 To 30000000: K = K + 1: Next J: Exit Sub
If J = 2 Then Application.Wait [Now()] + 5000 / 86400000: Exit Sub
If J = 3 Then Sleep 5000: DoEvents: Exit Sub
If J = 4 Then DoEvents
End Sub

2022年08月02日

RSS初心者

大野様へ
動きました! 感激しております!
しかし、なぜ動くかが理解出来ないのが残念です!
 以下、大野様から教えて頂いた事から、私が理解した内容を申し上げます。

1)VBAが動作しているときは、ダウンロード出来ない。従って、ダウンロードさせるには、一旦、VBAを止める必要がある。
2)For Next文や、DoLooP,Wait等は、VBAの動作なので、VBAを止めた事にはならない。
3)OnTime メソッドは、VBAを止める事が出来る。なぜならば、予約時間が来て、設定された処理が終了すれば、次の予約時間が来るまで、VBAが止まっているから。

以上は理解できましたが、今回、大野様からの指示は、たった1カ所の追加でした。
すなわち、Sub 待ち3種(J) の中の3行目のDoEventsの挿入でした。
再度、この部分を抜き出しますと、
If J = 3 Then Sleep 5000: DoEvents: Exit Sub
ここで、Sleep 5000 まではVBA だと思いますが、、違うでしょうか?
(参考までに、この値が750あたりがエラーになるかならないかの境でした)
なぜ、Sleep と DoEventsのコンビネーションが、この問題を解決するのか
が理解できません。この辺りを解説いただければ幸いです。

2022年08月03日

RSS初心者

更新のサンプル.xlsx (28.8KB)

大野様へ
ついに刀折れ、矢が尽きました! 6月25日以来、1ヶ月強、どのように頑張っても、解決出来ませんでした。
以下、簡単なファイルを添付しましたので、見ていただければ幸いです。
ファイルがマクロ付きでは添付出来ませんので、xlsxとして添付しました。
マクロを以下に記述しましたので、このマクロをファイルに追加して、xlsmとして保存し直していただければ幸いです。

Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal ms As LongPtr)
Sub メイン()
Range(Cells(4, 1), Cells(40, 7)) = ClearContents
Cells(1, 2) = 9983
Call 更新
Call 待ち3種(4)
Call 正規化
End Sub
Sub 更新()
Application.CommandBars("岡三RSS2").Controls.Item("更新").Execute
End Sub
Sub 正規化()
For J = 1 To 10
Cells(J + 3, 7) = Cells(J + 3, 2) / Cells(J + 3, 3)
Next J
End Sub
Sub 待ち3種(J)
If J = 1 Then K = 0: For J = 1 To 30000000: K = K + 1: Next J: Exit Sub
If J = 2 Then Application.Wait [Now()] + 5000 / 86400000: Exit Sub
If J = 3 Then Sleep 5000: Exit Sub
If J = 4 Then DoEvents
End Sub

以上が最も簡単に、この問題(更新後にどのような「待ち」をしても、サーバーからのダウンロードが行われない)を顕在化するように作成したマクロです。
結局、ステップインモード(F8キーをおして、ストップを更新直後に設置して、このステップが黄色になった
ときに、3~5秒待って、データがダウンロードされたのを確認してからF5を押す)という手段以外に、
エラー(オーバーフロー)無しでこのタスクを終了させることが出来ませんでした。
そこで、大野様にお願いです。具体的に、どのようにすれば、この問題を解決(デバグモード以外に、
このプログラムをエラー無しで終了出来る)出来るでしょうか?
よろしくご教授お願い申し上げます。
(尚、蛇足ですが、Sub 待ち3種(J)は、時間待ちする方法の3種および、Doeventsを入れておきましたが、
どれも効果がありませんでした)

2022年08月02日

RSS初心者

大野様
早速試してみましたが、うまくいきませんでした。以下、経過を説明します。
試し1)Call 描画管理学習oEventsを挿入しました。最初うまく行きましたが、その後、駄目になりました(不思議です!)
試し2) サブタスクを分離しました。以下そのコードを記述します。
Sub 学習データ作成実行()
Call 学習データ作成実行2
Call 描画管理学習
End Sub
とやって、これまでのタスクの名前を「Sub 学習データ作成実行2」と変更しました。
(これで、Sub 描画管理学習 を外に追い出した事になると思います)
これも駄目でした。

結局、上記、試し1)、試し2)とも駄目でした。
そこで、Call 描画管理学習のステップに、ストップを入れ、黄色くなったところで、1秒程度待ち、F5を押すと、2枚の絵が綺麗に描画されました。(1秒より早く押すと、1枚しか出力されなかったりします)

何か、他にうまい手はないでしょうか?

2022年06月24日

RSS初心者

大野様へ
早速の回答ありがとうございます。以下、現在の私のマクロを以下に記述しました。
(頭に番号を付加しました)

1) Sub 学習データ作成実行()
2) Dim ws50, ws51, ws52 As Worksheet
3) Set ws50 = Worksheets("学習データ")
途中省略
4) Call 銘柄コード転送学習(銘柄コード, 銘柄名) ‘4本値取得する銘柄コードを送る。
5) Application.CommandBars("岡三RSS2").Controls.Item("更新").Execute
6) ‘Call Sleep(5000)
7) ‘Application.Wait [Now()] + 3000 / 86400000
8) Call 描画管理学習
9) End Sub

以上、何の変哲も無い、簡単なものです。8)の「描画管理学習」にて、蝋燭足を描かせます。
5)により、QUOTE_Mが動作して、4本値がサーバーからダウンロードされます。
8)にストップを仕掛けておき、ここが黄色くなったとき、3秒程度待ってから
F5を押しますと、ちゃんとチャートが描かれます。
ストップを掛けなかった場合、6)や、7)を入れても、全く意味がありません。
最初のチャートが出力されません。(日足と1分足を描かせている場合)
なんとなく、以下の感じがします。
6)や、7)は、VBAの動作を止めるのと同時に、サーバーからデータをダウンロードする機能まで、ストップしてしまう。という気がしています。
ですので、以下のような命令があれば、OKかな?という気がします。
すなわち、「VBAの動作は停止するが、サーバーからデータをダウンロードする機能は失われない」
あるいは、「4本値データのサーバーからのダウンロードが終了した瞬間、トリガーが発生し、蝋燭足チャートを描くタスクが起動する機能」と言った方が正確かもしれません。

以上の現象につきましては、この半年ほど手こずっておりまして、最初のチャートが出ないのは、ほぼ諦めておりました。今回、遂に意を決して、質問させていただきました。
以上、この現象につきまして、ご理解いただけましたでしょうか?

2022年06月24日

大野 了

RSS初心者さん、こんにちは

VBAの中身がわからないためなんとも言えないのですが、描画プロシージャの中などにDoEventsが残っているのではないでしょうか?
サブプロシージャを何度も読み込んでいることで、DoEventsが何度も動いて
RSSのシートへの描画とタイミングがあったのだと思います。


繰返しの説明になってしまい、大変申し訳ないのでですが・・・

もっとも安定した対応としては、
Call 描画管理学習
をSub 学習データ作成実行()の中から出して頂き再計算イベントなどの他のイベントから呼び出してあげるのがよいと思います!!

2022年06月25日

RSS初心者

大野様へ
<RSSはVBAが実行されている間は情報をExcelのシートに更新することができないため、
<VBAをいったん終了させてあげる必要があります。
そういうことだったのですか!愕然としております!
そうなりますと、何故、試し2)で、Call 描画を3回繰り返すと、4本値がシートに
ダウンロードされるようになるかが、わからなくなりますが、、、

仕方が無いので、DoEventsをぐぐりました。そうしますと
一旦、VBAからOSに処理を移す。のだそうですが、、、、
OSに戻ったときに、何かキーボードを操作するのであれば、それは、デバグモードで
「更新」の後の処理にストップを掛けておいて、黄色くなったらF5を押す。
というのと、大して変わらない。ということになってしまいます。

具体的に、どうすれば、美しく、「更新」直後に、1枚のチャートもロスすることなく
描く事が出来るのでしょうか?
もはや、大野様におすがりするしか、道はありません!

2022年06月25日

大野 了

RSS初心者さん、こんにちは!!

申し訳ございません、自分の説明の仕方が悪く誤解を与えてしまいました。

RSSはVBAが実行されている間は情報をExcelのシートに更新することができないため、
VBAをいったん終了させてあげる必要があります。

『End Subまで行かないと』と記載しましたのは『VBAを終わらせて』という意味となります
※紛らわしく申し訳ありません。

サブプロシージャを分けても、親のプロシージャが終わっていない場合、
VBAは実行中のままとなりますので、岡三RSSはシートを更新できない状態が続きます!!

2022年06月25日

RSS初心者

大野様へ
<試し2)ですが、こちらは学習データ作成実行()の中を分けても、学習データ作成実行()自体が終わっ<ていないため、
<岡三RSSの更新はかからない形となります。
ここが私が完全に理解出来ていない為に、この問題を綺麗に解決出来ないものと思われます。

6月24日の2個目の、大野様のコメントの一部を、以下コピーしますと、
<RSSは"VBA実行中"はデータのシートへの書き込みが行えないため、
<5)のApplication.CommandBars("岡三RSS2").Controls.Item("更新").Execute
<でデータ取得をさせていても、
<実際は 9) End Sub まで行かないと、データがシートに出力できません。
という事でしたので、ともかく、「更新」したら、End Sub で一旦抜けて、その上位のタスクで「Call 描画」とすれば、解決出来るだろうと思いましたので、
試し2)のように、上位のタスクを作り、「更新」部分と、「描画」部分を分けました。
(しかし、これでも駄目でした)
このあたりをもうすこし説明いただけますと、有りがたいです。

2022年06月25日

大野 了

RSS初心者さん、こんばんは!!

うまく行きましたかーよかったです。

試し1)の方ですが、
こちらはDoEventsの処理はタイミングが関係しているため、動かない時もあると思われます。

また、
試し2)ですが、こちらは
学習データ作成実行()の中を分けても、学習データ作成実行()自体が終わっていないため、
岡三RSSの更新はかからない形となります。

なにはともあれ、上手く行ったようでよかったです!!

2022年06月24日

RSS初心者

大野様
なんとか成功させました(しかし、あきれた方法です!)
どうやったかといいますと、タスクを分離し(前回説明の「試し2」)、且つ、Call 描画管理学習 を2回実行し、かつまた、オリジナルのタスクにおいて、Call 描画管理学習 を復活させました。結果、描画が3回実行されます。この結果、ほぼ100%の確率で、2枚の蝋燭足を描画させることが出来ました!  時間的に言いますと、描画の処理時間が早いので、あまり遅くなった感じがしません。まあしょうがありません。取りあえずは、これで凌いでおこうと思います。ありがとうございました。

2022年06月24日

大野 了

RSS初心者さん、こんにちは!!

本件ですが、
5)のApplication.CommandBars("岡三RSS2").Controls.Item("更新").Executeでデータ取得した後に
8) Call 描画管理学習の間に
RSSがデータをシートに描画するタイミングがないために、発生していると思われます。

RSSは"VBA実行中"はデータのシートへの書き込みが行えないため、
5)のApplication.CommandBars("岡三RSS2").Controls.Item("更新").Execute
でデータ取得をさせていても、
実際は 9) End Sub まで行かないと、データがシートに出力できません。
このため
8) Call 描画管理学習
をさせた時は、RSSの内部にデータはあるもののシート上には何もないという状況になっていると思われます。

解決策ですが、最も簡単なのは
5)のApplication.CommandBars("岡三RSS2").Controls.Item("更新").Execute
の後にDoEventsを入れて頂くと大丈夫と思いますが、
こちらはタイミングの問題があるので、上手く行けば・・・
という感じです。

もっとも安定した対応としては、
8) Call 描画管理学習
をSub 学習データ作成実行()の中から出して頂き再計算イベントなどの他のイベントから呼び出してあげるのがよいと思います!!

2022年06月24日

大野 了

RSS初心者さん、こんにちは!!

VBAの中身がわからないため、何とも言えませんが、
チャートを動作させるためのVBAはどのようなイベントで実行されていますでしょうか?

F5の実行で動くのとステップ実行で正常に動作するという事であれば、
VBAが実行し続けているため岡三RSSがデータを更新できていないのかもしれません。

もし、Do Loopなどで指定時間の永久ループをさせているのであれば、
そのDo Loopの内側に DoEvents を記述してあげれば、
チャートの描画が動くようになるため正常に動作すると思われます!!

これでうまく行くと良いのですが・・・

2022年06月23日

yosi707

板表示ををリアルに動かす方法

初めまして、こんにちは。yosi707と申します。
以下は225ミニの売3本買3本の板表示をするためのプロシージャです。

Sub fboard_sanple()
Range("D1") = "= FBOARD(""N225mini"", 202209, ""売気配数量3"")"
Range("D2") = "= FBOARD(""N225mini"", 202209, ""売気配数量4"")"
Range("D3") = "= FBOARD(""N225mini"", 202209, ""売気配数量5"")"

Range("E1") = "= FBOARD(""N225mini"", 202209, ""気配値3"")"
Range("E2") = "= FBOARD(""N225mini"", 202209, ""気配値4"")"
Range("E3") = "= FBOARD(""N225mini"", 202209, ""気配値5"")"
Range("E4") = "= FBOARD(""N225mini"", 202209, ""気配値6"")"
Range("E5") = "= FBOARD(""N225mini"", 202209, ""気配値7"")"
Range("E6") = "= FBOARD(""N225mini"", 202209, ""気配値8"")"

Range("F4") = "= FBOARD(""N225mini"", 202209, ""買気配数量6"")"
Range("F5") = "= FBOARD(""N225mini"", 202209, ""買気配数量7"")"
Range("F6") = "= FBOARD(""N225mini"", 202209, ""買気配数量8"")"
End Sub

これを一度走らせればあとはリアルに動いてくれるのですが、同じモジュールのその下に売買プログラムを書いて動かすと
残念ながら止まってしまいます。そのままリアルに動かしてそのデータを参照し、エクセル上だけで仮想売買をしてみたいのですが、
何かうまい方法があったらご教授ください。

2022年08月24日

大野 了

yosi707さん、こんにちは!!

N88は、本を買ってめっちゃ触ってました!!

>ontime,sleep,waitなどをループの中に入れて試してみましたが、だめですね。止まってしまいます。
ontimeですが、こちらはループの中に入れるのではなく、ループ自体をなくす作りに変更する必要があります。
GoTo分を使用されているとの事ですので・・・

Sub Trade()
 StartProc:
  If Now > 15:00
   GoTo EndProc
  End If

  メインの処理
  GoTo StartProc

 EndProc:

End Sub

こんな感じの処理かと思われます。
これですと、VBAが終わらないため岡三RSSが動かせないため・・・
これを・・・

Sub Trade()
 メインの処理
 
 If Now <= 15:00
  NextTime = Now + TimeValue("00:00:01")
  Call Application.OnTime(NextTime, "Trade")
 End If
End Sub

のように作り替え、メインのロジックからループを除外し、
15時までは自分自身をもう一度呼び出す形にすることで
一旦、VBAが終了しますので岡三RSSが更新できるようになります。


とはいえ、一つ気になるのは
DoEventsはループしていても岡三RSSが更新できるようになるので、
こちらは動いてもよさそうな気がするのですが・・・

もしかすると別要因もあるかもしれません。

2022年09月01日

yosi707

まだまだエクセルVBAについて、理解が足りないですね。
勉強します。ありがとうございました。

2022年09月05日

大野 了

はい、yosi707さんのおっしゃれます通り、繰り返しますのでループ処理となります。

do loopやGoToで回し続けてるのと違いは、
処理ごとに、いったんサブプロシージャを終わらせることができるので
RSSがシートを更新するタイミングを作り出すことができます。
(次のサブプロシージャが呼ばれる間にRSSが更新できる)

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

2022年09月03日

yosi707

前文はその通りです。CDateを使って、午後の時間帯は空回りさせています。さすがですね。
後文は自分で自分を呼び出すですか。そういう発想をしたことがありませんし、当然やったこともありません。
一見形を変えたループにも見えてしまうのですが、ループではないわけですね。まだアタマがついていってません。

doeventsですが、ストップボタンを作ってまして、それを受け入れるのに使用しています。使わなくともいいのですが。
ネット上の例文にあったものですから、そのまま引用してます。1種類でしか使えないのですか。
だとすれば、まだまだ理解が足りないですね。もっと勉強します。

2022年09月01日

yosi707

すみません、doeventsもだめでした。

2022年09月01日

yosi707

N88をこどものときですか。すごい(^^;

ontime,sleep,waitなどをループの中に入れて試してみましたが、だめですね。止まってしまいます。
vbaを止めると動き出します。fcandleもその都度呼び出していますので、その関係ですかね?
うーむ、実売で試すしかないでしょうか。なにか名案があったら、お願いします。

2022年09月01日

大野 了

yosi707さん、こんにちは!!

N88BASICですかー
めっちゃ懐かしいです!
子どものころ使ってました!!

あのころとは、いろいろと状況が異なりますが、
正常に動作するようになることを祈っております!!

2022年08月27日

yosi707

大野さんありがとうございます。マイクロソフトは推奨していないというGoTo文を使って回しています。
昔N88BASICなんてのをやっていたので、その名残です(苦笑
そうでしたか、これからじっくりやってみます。Sleepを使って隙間をあけたら動くかなあと思ったのですが、ダメでした。
まだまだ勉強不足です。また報告します。
ありがとうございました。

2022年08月25日

大野 了

yosi707さん、こんにちは!!

止まってしまうとのことですが、
こちらはVBA実行中にFBOARDの更新が止まってしまうということであってますでしょうかー?

もしそうであれば、VBAがDo Loop などで永久ループされていませんでしょうか?
残念ながらVBA実行中はExcelがVBAの動作を優先させるため、
VBAが実行されていると岡三RSSのデータ更新がかからない状態となってします。

もし、do loop などでマーケットが空いている時間ずーとループしている形ですと
一つのVBAが動き続けており、岡三RSSがデータをセルに更新するタイミングがなく
止まったように見えてしまいます。


VBAと岡三RSSをの動作を並行して動作させたい場合の対処方法として、以下の二つの方法があります。
・onTimeメソッドを使用してメインのPGを繰り返い動作させる方法(こっちがベスト!!)
・DoEventsをDo Loopの中に書いてあげる方式


〇onTime
onTimeメソッドは、指定したマクロを指定した時間に実行させる関数となります。
この機能を利用して、メインで処理しているプロシージャを繰り返し呼び出すことにより
Do Loop と同様な動作を確保しつつ、岡三RSSがデータを更新できるようになります。
以前いただいた質問のリンクで大変申し訳ございませんが、こちらを見て頂けますと幸いです。
https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=258#comment_1385

デメリットとしては現在のVBAの内容次第では大きく変更が必要な場合があります。


〇DoEventsの場合
DoEventsはVBA実行中でもExcelなどにほかのイベント処理(岡三RSSの更新など)を強制的に行わせる関数となります。

以下のように Do Loopの中にDoEventsと書くだけで
VBA実行中でも岡三RSSが動作できるようになります。
VBAを修正せずに済むので簡単ですが、
デメリットとしては、Excelのそのほかのボタンも動かすことができてしまうため、
VBAが止まってしまうような動作を間違ってやってしまって
VBAが止まってしまうことがあります。

Do xxxxxx
DoEvents
処理
Loop


onTimeはわかり辛い点も多いと思いますので、もし説明不足な場合はまたご連絡頂けますと幸いです!!

2022年08月25日

ぐんぐん

注文における売買区分のエラー

日経225先物(ミニ)日中5分足【ボリンジャーバンド】(岡三RSS集いの広場相談).xlsx (86.2KB)

はじめて投稿させていただきます。どうぞよろしくお願いいたします。
早速ですが、岡三RSSを取り込んで自動売買できるシステムをエクセルシートで作成してみたのですが、構築した処理に則り利益確定やロスカットの決済注文にて売買区分がエラーであるメッセージが出てしまい、うまく注文できません。利益確定及びロスカットの決済が複雑になりすぎているのかとも考えましたが、行き詰った感じです。作成したエクセルで見ていただきたいところセルを赤色にしています。アドバイスいただけたら幸いです。よろしくお願いいたします。

2023年01月08日

大野 了

ぐんぐんさん、こんにちは!!

確かに正解が分からないと不安ですよねー
自分の経験が少しでもお役に立てれば幸いです!!

2023年01月13日

ぐんぐん

大野様ありがとうございます。不明な要素があると不安になったりしますがこうやってご丁寧に教えて下さり大変感謝しています。

2023年01月13日

大野 了

ぐんぐんさん、こんにちは!!

こちらは、分足のお話ということで間違いありませんでしょうかー?

CANDLE関数で分足を取った場合ですが、
ぐんぐんさんのおっしゃられている通り、
7時を境界線にして当日分のデータがスイッチされて表示されなくなります。

取得日数は当日を含めた日数のため
5日分の分足を取得しようとした場合『当日 + 過去4日分』となっています。

先物の場合は、6:30~7:00の日次メンテナンス明けに当日分がスイッチされて取得できなくなります。

現物はあまりやらないので間違っている可能性もありますが、確か同じ動きだったと思います!!


もしわかり辛いようであれば、またご連絡ください!!

2023年01月12日

ぐんぐん

大野様、ついでにという訳でもないのですが岡三RSSの四本値など様々なデータの取得期間の考え方についてお伺いします。当日分を含めた取得期間と理解しているのですが、時間帯によって当日を含めず過去何日分となっているように見受けられるのですが、午前7時など境界線となるような時間があるのでしょうか?

2023年01月11日

大野 了

なにはともあれ、よかったです!!

2023年01月11日

大野 了

ぐんぐんさん、こんにちは!!

やはりO列が0になっていることが原因でしたかー
これで解決できることを祈ります!!

2023年01月11日

ぐんぐん

大野さん、早速のご返答ありがとうございます。投稿してからあきらめずに見直してい見たのですがおっしゃられるように決済判断の参照先が間違っていることに気づいて修正してみました。想像以上にアドバイスを頂けて感激しております。これからもよろしくお願いします。

2023年01月10日

大野 了

ぐんぐんさん、こんにちは!!

ファイル拝見させていただきました!!
結果から申しますと・・・
シストレシートの計算式がなかったため、残念ながら明確な原因はわかりませんでした。


以下、現状のファイルとシストレファイルの過去のログから判断した怪しいところです!!

・決済時のO列の売買Pが0になっている
 決済の判断文を見たところ、R列(決済判断)が1で利益確定、9で損切りの決済注文を出されると思われるのですが
 この時の売買区分は同一行のO列を参照しているようです。
 ですが、373行目などを見てみますと、決済判断時点でO列が0に戻ってしまっているため、
 決済注文を出そうとした時に、売買区分を判断することができず、空白になると思われます。
 もしいただいたシートのデータ通りに動作するのであれば、決済時点までO列の情報を引っ張るか

=IF(OR(OFFSET(シストレ!R1,シストレ!C2-1,0)=9,OFFSET(シストレ!U1,シストレ!C2-1,0)=9),IF(OFFSET(シストレ!O1,シストレ!C2-2,0)>0,1,IF(OFFSET(シストレ!O1,シストレ!C2-2,0)<0,3,"")),"")

 などとして1行上の売買区分を見てあげるのが良いと思います!!
 ※ドテンの処理がある場合は厳しいと思いますが・・・
 

・決済発注の条件に、売買区分が空白以外の条件を追加する
 Excelのセルの処理は各セルごとに逐次実行されます。
 このため、注文シートの決済注文(A48)が実行する時点では、売買区分の判断(C52)がまだ実行されておらず
 売買区分が空白になってしまっている可能性があります。
 この状況を回避するために、決済注文(A48)の条件に、売買区分が空白以外(C52が空白以外)という条件を追加されると
 エラーが回避できるかもしれません!!

2023年01月09日

kurumi

分割約定対応のVBAについて

新規注文で複数枚数を成行などで発注していた場合、約定時に分割約定されることがあります。
分割約定時に以下の処理をしたいです。対象は先物取引です。

① ロストカットのセット(逆指値注文)
② ①のロストカットが掛からなかった場合、取消注文
③ ②の後に決済注文

VBAで上記の注文を処理したいです。

FOPORDQUERYやFOPPOSITIONで注文照会や保有一覧からメモの値から注文番号を参照するという方法かと思っています。

工夫することで、簡単にできるテクニックなどあれば教えて頂けませんか?
もし、可能であれば、簡単で構いませんので、VBAのコードのサンプルファイルなどご提供頂けると有難いです。
(厚かましいお願いで申し訳ないです。)

過去の掲示板を見させて頂いたのですが、マネできるものがなく、、、知恵をお借りしたいです。

2022年09月06日

kurumi

大野さん、ご確認ありがとうございます!

「多分」以下も、すっきりしました(笑)

頂いた内容で対応します。
何かあれば、ご質問させて頂きます!

助かりました。ありがとうございました。

2022年09月08日

大野 了

『多分』の後は『上記のような流れで大丈夫だと思います』と書くつもりだったんですが、
なぜか消えていました(笑

>念のために確認なんですが、以下の認識でOKですかね?
>・分割約定時は「建玉番号」、「枚数」が変わり、それ以外は同じ情報
>・メモの値は、注文ごとに同じでも発注自体はエラーなしで可能 (分割約定後のLC設定時やLC取消注文時にセットするメモを同一のものを使用)
はい、ご認識通りです!!
メモ欄はあくまでもメモですので、新規発注、決済発注で同一の内容を入れても大丈夫です!!


kurumiさんのVBA事情がよくわからなかったので、サンプルを作ったり
詳しく説明することが難しかったのですが、
もし何かありましたら、再度投稿頂けますと幸いです!!

2022年09月07日

kurumi

早速のご回答ありがとうございます。
「多分、」以下が気になりますが(笑)、概ね理解できました。

>一点違うとすれば、1回の発注で複数ポジション出来てしまうため、
>FOPPOSITIONで取得できた件数分をループし、
>メモが同一の行のみ、現在、処理されているロスカットと取消注文のVBAの部分を実行する形することで、

理解しました。
念のために確認なんですが、以下の認識でOKですかね?
・分割約定時は「建玉番号」、「枚数」が変わり、それ以外は同じ情報
・メモの値は、注文ごとに同じでも発注自体はエラーなしで可能 (分割約定後のLC設定時やLC取消注文時にセットするメモを同一のものを使用)

現在のVBAの作りは、
・複数システムを使用しているため、各行ごとにシステムをセットしています。(1行で1ロジック)
・各行で横に長くしており、新規発注⇒LC⇒取消注文⇒決済、のようにしています。
・処理が必要なものについては、関数でフラグを出しています。
・VBAでは上から順に参照していき、フラグが出ているものに関して処理しています。
上記の通りですので、関数でメモの値の個数をあらかじめ取得しておき、1以外の場合は、その値分VBA側でループするようにしようと思います。

ありがとうございました!

2022年09月07日

大野 了

kurumiさん、こんばんは!!

>新規注文で複数枚数を成行などで発注していた場合、約定時に分割約定されることがあります。
>分割約定時に以下の処理をしたいです。対象は先物取引です。

分割約定に関してですが、分割約定してしまった各ポジションは独立したものとなり、
通常のポジションと同一の扱いとなります!!
※建玉枝番もつかず、建玉番号自体が変わる

このため、ロスカットなどの決済処理に対して特別な処理は不要で、
通常のポジションと同じ対応で問題ありません。


一点違うとすれば、1回の発注で複数ポジション出来てしまうため、
FOPPOSITIONで取得できた件数分をループし、
メモが同一の行のみ、現在、処理されているロスカットと取消注文のVBAの部分を実行する形することで、
正常に動作すると思われます!!

現在がどのようなVBAの作りになっているかわからないため、何とも言えませんが、
多分、

2022年09月06日

TEE

イフダンOCOの訂正注文について。

現在新規注文→約定→利確までは出来るようになったのですが、どうしても訂正注文が入りません。
訂正注文の執行条件は成行や最良指値も試してみましたが、全く発動しませんでした。
225ミニでやっているのですが、約定価格からいくら以上離さないと機能しないとかあるのでしょうか?今は5円アゲインストで損切りしようとしているのですが、完全素通りして含み損がすぐに膨らんでしまいます。
それとも、訂正注文の単価欄には数式を入れると機能しないのでしょうか?

どなたかご教示くだされば幸いです。
よろしくお願いいたします。

2022年09月02日

海行かば

>エラーコードも出ず、SL値に届いてもウントモスントモ言いません。

テキストなどにエラーコードを吐き出すようにしたらどうですか

2023年01月21日

TEE

大野 さん

いつもありがとうございます。
何かわかったらご報告いたします!

2022年09月15日

大野 了

TEEさん、こんにちは!!

>しかしながら、何故”成行”が機能せず、”最大指値”でしか訂正注文が機能しないのかが謎です。
そうですねー
訂正元の注文が指値の場合、成行には変更できず、最大指値にしか変更できないと思います。
確かに、成行も最大指値も似たような動きなので、変えれると便利なんですが・・・


>エラーコードも出ず、SL値に届いてもウントモスントモ言いません。
ひとつ気になったのは、さすがにエラーは出るような気がするので
もしかしたら別の理由があるかもです!

2022年09月08日

TEE

大野 様

いつもコメント頂きありがとうございます。
約定後アゲインストになり、SL値に到達→決済注文キャンセル→即 FNEWORDERを入れるという感じですね。

やってみましたが、いずれにしても相場急変時には”逆指値の指値”は含み損が闇雲に膨らむ恐れがある為、危険だと思いました。
多少の滑りは確後して、最大指値で実験続けようと思います。
しかしながら、何故”成行”が機能せず、”最大指値”でしか訂正注文が機能しないのかが謎です。
エラーコードも出ず、SL値に届いてもウントモスントモ言いません。

2022年09月08日

大野 了

TEEさん、こんにちは!!

まず、訂正注文ですが、
訂正元の注文から執行条件が変更されるような変更は受け付けくれません。

例えば、指値から逆指値への変更は受け付けてくれずエラーとなります!!
この時は、一旦、注文をキャンセルして出し直しとなります。
もし、執行条件は変えず、指値の価格等を訂正されたいような場合は訂正注文で可能です。

エラーが出ていると思うのですが、どのようなエラー出ていますでしょうか?
エラーの内容が分かるともう少し詳細に対象方法をお伝えできるかもしれません!!


>それとも、訂正注文の単価欄には数式を入れると機能しないのでしょうか?
単価の引数のところに、数式は問題なく記載できます!!


>追記させていただきたいのですが、訂正注文の執行条件を0の最大指値に変更したところ、注文が実行されました。
しかし滑ります。
>これを8の逆指値、発注条件を1の指値で動かす方法はないでしょうか?
別のところに書いてあった追記の部分も考慮しますと・・・

1.新規注文
2.約定
3.指値注文
4.逆指値に訂正したい

という感じを想定されていますでしょうか?
だとすると、指値から逆指値への訂正注文は通らないため
一旦、注文をキャンセルして再度逆指値でだす必要があります!!

2022年09月03日

のび太

先物用RSSとCFD用RSSの同時動作でエラー

先物用RSSが使えなくなるので、徐々にCFD用RSSに移行する実験をしています
そのため、1台のPCで先物用RSSとCFD用RSSの同時動作させると、どちらかでエラーが起きます。
たとえば、建玉一覧が読み込まれないなどのエラーです。
別々のPCで作動させると問題なく動作します。
これは、仕様なのでしょうか?

2023年08月07日

大野 了

のび太さん、こんにちは!!

岡三RSSと くりっく株 365 の岡三RSS を並行で動作させてみたのですが、
エラーとならず正常に動作しました。

たくさん関数を使用されているとの事なので、自分の場合と少し異なるのですが、
ご参考になれば幸いです。

とはいえ、確かにのび太さんがおっしゃられる通り、先物があと、1,2週間ぐらいしか使えないため、
複数のPCでさばけるのであれば、そちらで回避されたがよいかもですねー

なにはともあれ、回避策があってよかったです。

2023年08月17日

のび太

大野さん

そうなんですね、以前は大丈夫だったのですね。
貴重な情報をありがとうございます。

ほとんどすべての関数を利用していて、エラーログも取っているのですが、どれでエラーになっているのかわからないのです。

どうやら、エクセル側ではなくて、先物RSSとCFD用の(ネットトレーダー株365付属の)RSSが競合しているみたいで、ネットトレーダー株365が反応しなくなっているみたいです。フリーズのような状態です。

同一PCで先物RSS用とCFDRSS用とでユーザを代えて実行しても、同様のエラーが起きます。

先物RSSはそのうち使わなくなりますので、とりあえず複数PCでしのごうかと思っています。

PS
レスがおそくなってすみません。
早速にお返事をいただいたのに、長期のお盆休みを取っていて、ボーとしてました、、、

2023年08月17日

大野 了

のび太さん、こんにちはー!!

以前、先物用のRSSとCFD用のRSSを同時に使っていた時は、
読み込まれなくなるなどの、エラーは出ていませんでしたー

とはいえ、だいぶ前の話なので状況が変わってる可能性があるかもしれません・・・

もしよかったら、先物で使用しているエラーになる関数と
CFD側で使用しているエラーになる関数を教えていただけますでしょうかー?

自分の方でも動かしてみたいと思います!!

2023年08月07日

とんちゃん

データを取得できず#NAME?になります。

アドイン設定.jpg (230.7KB)

お世話になります。
岡三RSSで自動売買をはじめて4か月になります。
1月10日から突然データを取得できず#NAME?がセルに表示されるようになりました。
6種類のストラテジーで6つのエクセルファイルをPC2台で運用していましたがすべてのファイルでPC2台とも同じ症状です。
#NAME?表示のセルをダブルクリックまたはF2で正常に表示しますがファイルを閉じて開くと同じ症状になります。
VBAの参照設定で岡三RSSのチェックを外すと正常にデータ取得できますがVBAで発注できなくなります。
アドインを再インストールして再設定してもダメでした。
自分のスキルではお手上げです 皆様のお知恵を拝借したく投稿しました。
よろしくお願いいたします。
よろしくお願いいたします。

2023年01月19日

大野 了

海行かばさん、こんにちは!!

OSが64bitの場合、アプリケーションは64bitも32bitもインストールできるので
32bit版が入ってしまったのかもですね・・・

パスの指定変更で直ることを祈ります!!

2023年02月16日

海行かば

大野さん

ご丁寧にありがとうございます。
色々とお調べいただき、とてもありがたく存じています。

実は
『RSS365FX.Xllのファイルの形式と拡張子が一致しません。ファイルが破損しているか、安全ではない可能性があります。』
でくじけてしまい、しばらくはFXのことはあきらめて別の開発を行っていました。
そのため掲示板をしばらく見ていませんでした。
お返事が遅くなってすみません。

なお、私のほうで新たに購入した当該PCをよく調べましたところ、購入したPCがOSは64bitなのにofficeは32bitという不思議な構成になっていたことが分かりました。
OSが64bitならofficeも64bitだと思っていたので、盲点でした。
そのためご指摘のようなパスのことが原因だったのかもしれません。

落ち着いたらFXの方を再開して、結果をご報告したいと思います。

今後ともよろしくお願いいたします。

2023年02月16日

海行かば

>但し、計算不良のエクセルファイルを単独で立ち上げれば再び計算不良になります。

私のほうでも同様に、動作不良ファイルに悩まされています。

くりっく365用のRSSの単純な関数だけのファイルさえずっと動作不良なので、環境のせいなのかなと思って今日新しくwindows11+office2019のPCを新に購入して試してみたのですが、やはり以下のような警告が出て徒労感を感じています。

RSS365FX.Xllのファイルの形式と拡張子が一致しません。ファイルが破損しているか、安全ではない可能性があります。

また、別のPCでは一瞬動作して数秒するとダウンしてしまいます。

サポートに電話しても、サポート部門のファイルはその関数で正常に動いているということでした。
サポート部門はこのサイトを読まないということで、掲示板で提起された問題も把握していないということでした、、、、、

とんちゃんも、りーぼーじいじさんも、私も、複数台PCで運用しているという点は共通ですから、そこに何らかの原因があるのでしょうか?
しかし、サポートも複数台PCで運用しているはずですよね。

2023年01月27日

大野 了

海行かばさん、こんにちは!!

俺のところでも
『RSS365FX.Xllのファイルの形式と拡張子が一致しません。ファイルが破損しているか、安全ではない可能性があります。』
を発生させることができました。

Excelのビット数と、RSSのフォルダがマッチングしていないと発生するようです。
(自分のExcelは64bitなのですが、わざとRSSフォルダを見るように変更したら発生しました)


ひとつ前に記述させていただきました
『2.Excelを起動しRSS365FXのアドインをセットアップ』
のパスをご確認いただけますと、もしかしたら解決するかもしれません。

2023年01月30日

大野 了

海行かばさん、こんにちは!!

くりっく365FXのサンプルファイル等の件ですが、自分のPCにも入れてみました。
結果から申しますと正常に動作しましたー

自分の環境は以下の通りです

OS:Windows11 (64bit)
Office:Office365 (64bit)

インストール手順は以下の通りとなります。

1.最新版のネットトレーダFX365をインストール
https://www.okasan-online.co.jp/fx/rich/download.html


2.Excelを起動しRSS365FXのアドインをセットアップ
※こちらですが、使用されているOSやOfficeのビット数によってパスが異なります

・OS(64bit) + Office(64bit)
C:\Program Files (x86)\OkasanOnlineSecurities\NET_TRADER 365FX\RSS64\RSS365FX.xll
・OS(64bit) + Office(32bit)
C:\Program Files (x86)\OkasanOnlineSecurities\NET_TRADER 365FX\RSS\RSS365FX.xll
・OS(32bit) + Office(32bit)
C:\Program Files\OkasanOnlineSecurities\NET_TRADER 365FX\RSS\RSS365FX.xll


3.以下のサイトからサンプルファイルのダウンロード
https://www.okasan-online.co.jp/fx_tools/rss365fx/sample_download.html?_ga=2.176060578.1896815587.1674896819-1020692556.1668848928&_gac=1.19514314.1674374562.CjwKCAiA2rOeBhAsEiwA2Pl7Q_CehBWx1zLxSpcHIMB27Vp2GSjnKsgkC1yqDfR1OoY7c-ggEopQXhoCBr8QAvD_BwE


4.ファイルが古すぎてExcelのセキュリティに引っかかってしまうので、ファイルを信頼済みのファイルにする
4-1.ダウンロードしたExcelファイルを右クリックしプロパティダイアログを表示する
4-2.全般タブの一番下にある『セキュリティ:このファイルは他のコンピュータから取得した・・・』の隣にある『許可するチェックボックス』にチェックを入れて、OKボタンを押下


5.ネットトレーダFX365を起動し、ログイン

6.サンプルファイルをダブルクリックして起動させる。


残念ながら、海行かばさんと同様のエラーが発生しなかったため、解決策の書き込みではないのが心苦しいところですが、
何度も再インストールされているとのことですので、
ご参考になれば幸いです!!

2023年01月28日

大野 了

りーぼーじいじさん、こんにちは!!

なるほどー
すべて統一されてるんですねー
それであれば、パスの違いは関係はなさそうですね。

とりあえず、動かされる方法で解決できることを祈ります!!

2023年01月24日

りーぼーじいじ

大野さん 早速のコメントありがとうございます。
昼に一旦エクセルを止めて、再度新規ファイルなしで4つとも立ち上げたらそのまま動きました。
パスは、C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn\で統一しています。
今日、RSSExcelアドイン関連のファイルを,再度新規ファイルと同一プロセスで全てやり直してみてエクセルに教え込ませてみます。
計算できるファイルとできないファイルがあるのも説明できるので、それで改善されれば解決となりそうです。
エクセルが小さな親切余計なお世話的に動いていそうです。
ただ、設定を変更したつもりはないので不思議ですはありますが。

2023年01月24日

大野 了

りーぼーじいじさん、こんにちは!!

りーぼーじいじさんも同じような状況なんですねー

自分も環境としては『windows10Pro 64bit Microsoft 365 64bit』のため全く同じ環境なんですが、
今のところ、自分の環境では発生していません。(今後出るかもですが・・・

>⇒本来のリンクファイルの場所を知りたいです。
こちらですが、
『C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn\岡三RSS.xla』
が正式なアドレスとなります。

また、Excelアドインに関してですが、岡三RSSをインストールすると・・・
岡三RSS.xlaが以下の2か所にインストールされてしまいます。

C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn\


Excelアドインは、どちらでも動作するのですが、
PCごとに参照しているExcelアドイン先が異なる場合に、PC間でExcelファイルを行き来すると
アドインが参照できなくなり、RSSが動かなくなってしまいます。

このため、すべてのPCでExcelアドインのパスを
C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn\
に統一させてあげる必要があります!!


これで解決できるとよいのですが・・・

2023年01月24日

りーぼーじいじ

前投稿の①の方法で現在4つのエクセルを運用していて、重い処理を90分全く問題なく計算されています。
新規ブックにRSS関数を1個書き込んで、同一プロセス(同インスタンス)で計算ファイルを立ち上げて計算されているのを確認後、新規ブックを削除する。これを新たなプロセスで繰り返すことで運用しました。

Excelアドインの競合だろうと個人的に理解しますが、ただ、突然こういう事態に陥ることがよく理解できません。
(エクセルも勝手に環境変数的に記憶するような変な癖があります。)
解決ではありませんが、面倒でもとりあえず運用はできそうです。

2023年01月24日

りーぼーじいじ

私も、1月19日の投稿者様と全く同じ現象が起きていて1週間悪戦苦闘していましたが、私だけの問題ではないことを昨日知りました。
私は、PCの復元ができずに相変わらずです。
当初、岡三RSSの再インストールを数回行っても治らず、PCの不具合を疑いました。

メイン機(デスクトップPC:windows10Pro 64bit Microsoft 365 64bit)
 ⇒エクセル5~6プロセス+ネットトレーダー プレミアム+他トレードツール (12コアPC))
サブ機1(ノートパソコン:windows10Home 64bit Microsoft 365 64bit)
サブ機2(ノートパソコン:windows11Home 64bit Microsoft 365 64bit)

そこで、メイン機のクリーンインストールはファイル処理の手間がかかるため、サブ機1をクリーンインストールし試しましたが、同様でしたのでPCの不具合ではないのを確認しました。
(クリーンインストール後同様なので、clickonesのキャッシュが悪さをしているのでは無いと推定し、メイン機のキャッシュを削除後の再インストールはしていません。⇒後述しますが、症状としては岡三RSS.xlaのリンクが重複しRSS関数が競合で計算できないのではと疑ってはいるのですが。)

混乱しながら色々試したので整理できませんので省きますが、現在は単独起動ですが、正常に計算するファイルと計算しないファイルがあるようになりました。

興味深いのは、
① 新規ブックにRSS関数を書き込めば「データ⇒リンクの編集」に岡三RSS.xlaが登録されます。
(リンク元は、アドイン登録のパスC:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn\岡三RSS.xlaであろうと思われます。(枠内省略表示のため推定))
その後、同一プロセスで、計算不良のエクセルファイルを立ち上げると正常に計算します。
但し、計算不良のエクセルファイルを単独で立ち上げれば再び計算不良になります。
② 正常に動くファイルの「データ⇒リンクの編集⇒をリンク元の変更」で本来の設定と思われるC:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\AddIn\岡三RSS.xlaに再設定すると計算不良になります。(但し、もっと検証が必要と考えます。)
⇒本来のリンクファイルの場所を知りたいです。
③ 新規ブックに移植をすれば正常になると思われますが、気が遠くなります。

現在は、サブ機2で以前にバックアップしたファイルの内、保有と発注の状況管理をしているファイルのみを立ち上げて監視しています。(正常に計算されていますので、1ファイルのみで余計なことはしていません)

以上が私の状況で全然解決していませんが、投稿者さん以外にも困った状況になっている人が他にもいるだろうと想定し、情報共有ができればと思い投稿します。

岡三オンラインのサポートからの一日でも早い有益な情報提供をお願いしたいです。

2023年01月24日

海行かば

大野さん

ご丁寧にご教示ありがとうございます。

>異なる場所のExcelアドインを見てる

に関しては当方は問題ないのです。

それ以前の問題が多々あります。
たとえば、くりっく365用のRSSの設定の説明は
https://www.okasan-online.co.jp/fx_tools/rss365fx/use.html
Office2010の場合
となっています(爆笑)。
それを
office2019においてそこでの説明のように設定して、
ついで岡三オンラインが
https://www.okasan-online.co.jp/fx_tools/rss365fx/sample_download.html
で提供するサンプルファイルを開くと、以下のような警告がでて動作しません。

RSS365FX.Xllのファイルの形式と拡張子が一致しません。ファイルが破損しているか、安全ではない可能性があります。

結局、岡三オンラインのoffice対応に根本的な問題があると思います。それについては、別投稿で問題提起したいと思います。

2023年01月22日

大野 了

とんちゃんさん、こんにちは!!

解決できたようで良かったです。

以前のExcelに戻されたら動いたとのことだったのでExcelの問題かと思うのですが、
マイクロソフトのサイトでExcelの既知の問題がまとってるところをを見てみたのですが、
見つけれませんでした・・・
(2021/4のExcelの更新でアドインの初期化ができなくなるという不具合があったのですが、
時期的に合わないので、これとは違うかと・・・)

何はともあれ、良かったです。


海行かばさん
Excelアドインが読めなくなるエラーで多いのが・・・

・OSのBit数が異なるPC間でExcelファイル開いてしまった
・異なる場所のExcelアドインを見てる
 岡三RSSをインストールすると、なぜかExcelアドインが2か所にインストールされてしまい。
 各々のPCで異なる場所のExcelアドインを見るようにしてると、Excelアドインが見つけれなくなって
 動かなくなってしまいます!!

がよくある問題な感じです!!

2023年01月22日

とんちゃん

解決したかな?.jpg (229.5KB)

お世話になります。 なんとか解決?しました。
excelの更新を戻して正常に動作するようになりました。
土曜日なので株価データが動きませんが板情報やポジション情報を正常に表示し発注もできるようになりました。
不具合が始まった1月10日にexcelの更新がありそれが原因だと思います。
2023年1月4日更新へ戻したところ症状変化なし
2022年10月27日更新へ戻すと正常に動作するようになりました。
ちなみに動作環境は
PC2台ともWindows10 64bit Office2016 64bit
アドインのパスと参照は全てのファイルC:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\岡三RSS.xla
クラウドは使ってないです。

海行かば様 大野様が動作環境について質問くださりもしやと思って試したところ上手くいきました。
ありがとうございました。

2023年01月21日

海行かば

とんちゃん様

解決できてよかったですね。
察するに
1. Officeのバージョン
5.OSのバージョン
のいずれかまたはその両方の組み合わせなのでしょう。

ただし、以前の更新に戻したことはリスクも増えるわけですし、本質的な解決ではないですね。
次の最新更新をかけたら変化があるかどうか、わかったら教えてください。

私の複数台PCの解決の一つも、システムのバックアップをリストアして、officeのバージョンを365から2019に下げるものでした。
(2019は最新の更新で利用しています)
しかし、ほかにも時々不可解な現象が多々おき、いろいろな原因・対策があり、どれが本質なのかいまいちわかりかねています。

これからも情報共有よろしくお願いいたします。

2023年01月22日

海行かば

2023年01月21日

海行かば

さらに補足・訂正です。
これらのいずれかがボトルネックになっている可能性があります。

これらのいずれか(の組み合わせ)がボトルネックになっている可能性があります。

私場合複数の異なる組み合わせで問題が生じましたが、そのどれが本質か判然としません。

本質の解明は提供元の責任ですから、追って岡三オンラインのサポート部門からも有益な情報提供があるでしょうね。

2023年01月20日

海行かば

補足です
5.OSのバージョン
も関係するかもしれません

2023年01月20日

海行かば

間違えて空メッセージを送ってしまいました。すみません。

私のいくつかの環境では、すべてOSもOfficeもbit数は同じでした。
最大の問題は、そもそもパスからRSSアドインのファイル自体が消えていたことです。
再インストールしても復活しませんでした。

ただ、女性担当者の方に相談した際は、その方がアドインの設定についてご自分でも説明書を読みながら苦労してくれていたため、そもそもその問題以前のところで会話が終わってしまいました。

いずれにせよ、彼女も含めた、岡三オンラインのサポート部門も、当然に様々なユーザー環境に相当するテストマシンと作って常時テストを継続的に行っているはずです。
何度か根気よく電話をして聞いてみるのがいいのではないでしょうか。

そのために役に立つかもしれない質問をとんちゃんにお尋ねします。
僕もすべての因果関係を把握しているわけではないのですが、これらのいずれかがボトルネックになっている可能性があります。
1. Officeのバージョン
2. 複数バージョンと併用しているか
3. パスにRSSアドインのファイル自体は存在しているか
4. 保存ドライブがOneDrive(などのクラウド)と連動しているか

2023年01月20日

海行かば

2023年01月20日

大野 了

海行かばさん、こんにちは!!


入力し終わったら出てきました・・・(笑

自分はOffice365の環境で岡三RSSを実行していますが、
ありがたいことに、今のところ正常に動作しています。


複数人の方で発生してるところを見ると、ExcelもしくはWindows側の問題かもですねー

解決されたとのことですので、情報頂けるとありがたいです!!

2023年01月20日

大野 了

とんちゃん、こんにちは!!

#NAMEと出るということですのでExcelアドインが認識できなくなっている感じのようです。

ちなみに、今回は・・・
『Excel起動時は岡三RSSの関数のセルが#NAMEで表示されているが、
そのセルをF2で編集モードにしてエンターを押して確定させると
その後は岡三RSSが正常に動作して値が取れ続ける』
ということで認識違いはありませんでしょうか?

もし、上記の通りであれば、上げて頂いた画像を見る限りアドイン等の設定は完璧な感じがしますので、
多分、PC2台でOSのBit数が異なるか、
ExcelファイルとPC間アドインの指定先が異なるものになっているかと思われます。

PCを2台使われているとのことですの、以下の事を教えていただけますと幸いです。
・PC1とPC2のBit数
・PC1とPC2のExcelアドインの参照先のフルパス
・PC1とPC2のVBAの参照設定で使っている『岡三RSS』の参照先のフルパス

2023年01月20日

海行かば

私も昨日から同じ現象が起きています。
同じ日に同じことが起きたというのは、シンクロニシティや奇遇というより、何らかの必然ですね
必然であることを理解できて感謝します。

その必然を乗り越えるために私も奮闘しました。
まずは信頼すべき岡三オンラインのサポートに電話ました。

担当者の女性の方とのやり取りは概略以下のようなことでした。

女性担当者:office2013をご利用ください
私:ずっと前のバージョンじゃないですか
女性担当者:推奨環境です
私:officeのマイクロソフトのサポート期間をご存じですか
女性担当者:それはマイクロソフトのことですからわかりません
私:最新のものはoffice365ですよね
女性担当者:それは推奨環境ではないので当社ではサポートしていません

女性担当者の方は高度な知識を持つ専門家なのでしょうか、ある意味で大変印象的なサポートをいただき感銘を受けました。
みなさんも、彼女のアドバイスに従たがうといいのでのしょうが、女性担当者の方はサポート期間を教えて下さらないので、自己責任でマイクロソフトのofficeのサポート期間を調べください。

ちなみに、私はあと数か月でサポートが切れるらしいoffice2013を利用することに躊躇したので、違う方法も自分で調査して、そちらでうまくいきました。
ただし、私は開発と運用に複数のマシンを使っていますが、対応方法はマシンごとに異なりました。長くなるので、追ってまた整理しますね。
とんちゃんさんのマシン環境はどのようなものでしょうか?

もちろん、岡三オンラインのサポート部門も、当然に様々なユーザー環境に相当するテストマシンと作って常時テストを継続的に行っているはずです。
したがって、岡三オンラインのサポートの方も早晩様々なユーザー環境に対応した解決策を把握なさるでしょうから、正式な情報を受けられるのではないかと思います。
岡三オンラインのサポートの方が、現時点でそれらを把握なさっているかどうかわかりませんが、まずはサポートに電話なさるといいでしょう。

2023年01月20日

のた

TICK関数について

アドイン画面.png (10.3KB)

お世話になります。

下記URLでのTICK関数の説明で、「指定した市場での指定した銘柄の歩みを、C1セルから縦に300件表示します。」と記載されておりますが、文例にある「TICK(7203,"東証",300,"現在値",C1)」を試してみても、当方のPCでは300件表示されず30件までしか表示されません。

https://www.okasan-online.co.jp/ont/rss/manual/detail/4

また、Excelアドインの関数入力画面でも、添付ファイルのように「取得件数(1-30)」となっています。

TICK関数を300件表示させるためには、何か設定はあるのでしょうか?

ご存知の方がおられましたら、ご教示頂けると幸いです。

2023年02月19日

大野 了

のたさん、こんにちは!!

確かに他の関数と動きが少しだけ違うので、難しいですね・・・
なにはともあれ、上手いこと行くことを祈ります!!


また、何かありましたらご質問いただけますと幸いです!!

2023年02月22日

大野 了

のたさん、こんにちは!!

Tick関数の取得件数に関してですが、
どうやら、初回の取得件数が最大30件で、
その後、関数で指定した件数分(Max300件)まで、ローカルにため込んだデータを
表示するようです。
(自分も今回初めて知りましたー)

このため、マーケットが閉じているときは、取得件数に300と指定しても、
30件までしか表示されず(ローカルでデータが育てられないため)
マーケットが開いているときは、
まず30件が一度に表示され、その後300件までデータが増えていきます。


ご質問の
>TICK関数を300件表示させるためには、何か設定はあるのでしょうか?
の件ですが、回答しますと
「TICK(7203,"東証",300,"現在値",C1)」のままで大丈夫ですが、
TICK関数実行時に、過去分300件を取得することはできないため
マーケットが開いているときに、取引が300回あるのを待つ必要がある

という感じでしょうかー?

わかり辛い点がありましたら、また連絡ください!!

2023年02月21日

のた

大野様
ご回答頂きまして、ありがとうございます。
そのような挙動をしているとは思いませんでした。
教えて頂いたことを踏まえて、いろいろ試してみたいと思います。
ありがとうございました。

2023年02月21日

さくま

セルに値が入りません

始めて投稿します。
是非、皆さんのお知恵を拝借できましたらと思います。
現在、RSSで独自のチャートなどを作成しています。
RSSで現在値などを取得し、取得した、値によりVBAで処理をしております。
VBAで処理を行った結果を、エクセルのセルに値をセットしようとしているのですが、なぜか、値をセットすることができません。
値のセットは普通にVBAで
ThisWorkbook.Worksheets("テスト").Cells(2, 27).Value = Format(ThisWorkbook.Worksheets("テスト").Cells(10, 20).Value, "hh:mm")
のように記載しているのですが、どうしてもCells(2, 27)に値が入りません。どのようにすれば値が入るようになるのでしょうか?
初歩的な質問で申し訳ありませんが、ご教授いただけますと助かります。

2023年02月02日

海行かば

RSSがCells(2, 27)を読んでいて循環参照になっていませんか?

2023年02月20日

大野 了

さくまさん、こんにちは!!

ファイルありがとうございます!!

一点確認させてください!!

こちらはRSSを起動していない場合は動作されるとのことですが
いただいたファイルですと、ワークシート関数として使用されている中で
他のセルを更新しているため、エラーとなってしまいます。

Excelのバージョンが異なっているためかと思われますが、
もし、さくまさんの環境では動作されるとのことですので、
ソースコードを確認して感じた、怪しいところは以下の通りです。

・一行目のIf分で再判断している
ワークシート上のuBeep関数の引数でZ1が〇かどうかを判断されていますが、
uBeep関数内で、再度、Z1が丸かどうかを再判断されいるため、
一瞬だけZ1が丸になった場合、
ワークシート上のZ1が〇であったとしても、VBAでの再判断時はZ1が〇であり続けているとは限りません。

If "〇" = ThisWorkbook.Worksheets("2分").Cells(1, 26).Value Then

If c Then

のように、最初に判断された結果を入れている、引数の条件値を使用して判断させたがよいと思われます!!

もしくは、そもそもAA1の関数を以下のように変更し、
=IF(Z1 = "〇",uBeep())
uBeepの中からIf文を外すと、再判断がなくなるためRSSを動かしたときの誤動作はなくなると思います!!

2023年02月03日

さくま

大野様
お返事ありがとうございます。
If "〇" = ThisWorkbook.Worksheets("2分").Cells(1, 26).Value Then

If c Then
に変更し、RSSを動かさない状態で動作させても、値が入らないですし、
ThisWorkbook.Worksheets("2分").Cells(3, 26).Value = Format(ThisWorkbook.Worksheets("2分").Cells(10, 20).Value, "hh:mm")の処理より先に進まないのですが、なぜなのでしょうか?

2023年02月03日

大野 了

さくまさん、こんにちは!!

こちらですが、T10 のセルの中身をAA2にコピーされたいということで問題ありませんでしょうか?

記述されたコードですが、コピペして実行してみたのですが、
正常に T10 のセルの中身が、AA2 にコピーされました。

この一行には問題ないと思われますので、
シート名が間違っていたり、そもそもVBAの処理が起きていないなどの、
他の要因が原因と思われます。

もし問題がなければ、前後の情報などをもう少し情報をいただけますと、何かお力になれるかもです!!

2023年02月02日

さくま

早速のコメントありがとうございます。
今、出先なのでファイルなどは用意ができませんが、
やりたいことは、VBAの処理が動いた時にT10に表示されている時間をコピーしたいのです。
通常ですと、記載した処理で正しく動くのですが、RSSが起動して動いていると、何故か、セルに値が入らないのです。
T10の値が取得できているのは確認できています。
がAA2にRSSが動いていると値が入らなくて困ってます。
ちなみにRSSは5秒更新となっています。
お知恵をお貸しいただければと思います。

2023年02月02日

大野 了

さくまさん、こんにちは!!

すみません、同じタイミングで書き込んでしまい、
さくまさんの投稿と前後してしまいました。(すみません

状況をいろいろと了解しました!!

RSSの実行の有無に関係ないとなると、
やはりワークシート関数のように使用されていることが問題かと思われます!!

でしたらー

細かい仕様がわからないため、さくまさんのご要望を満たせていないかもしれませんがー

Z1が〇の間、時間を出したいのであれば・・・

Z3のセルを
=IF(Z1="〇",ubeep(),"")
としていただき、

VBAを
Function uBeep() As String
uBeep = CStr(Format(ThisWorkbook.Worksheets("2分").Cells(10, 20).Value, "hh:mm"))
End Function
のように変更していただけますと、

Z1が〇の間、Z3に時間が入り続けます。
Z1が×になると、空白になってしまいますが、
もしそれでよければ、この対応が修正がすくなくてよいかもです!!

2023年02月04日

さくま

大野様
何度もありがとうございます。
ワークシート関数ですと、他のセルの更新はできないのですね。
勉強になりました。

2023年02月03日

大野 了

ちなみに、自分のところですが、ワークシート関数のように使われているので、
他のセルの更新はできない感じとなります!!

2023年02月03日

さくま

大野様
ありがとうございます。
こちらですが、RSSの実行の有無にかかわらず、動作しませんでした。
誤解を与えるような記載をしてしまい、大変申し訳ありません。
改めて、お知恵を拝借できましたら幸いです。

2023年02月03日

大野 了

さくまさん、こんにちは。

繰り返しな確認になってしまい大変申し訳ありません・・・

こちらですが、初めのご質問の内容で
>通常ですと、記載した処理で正しく動くのですが、RSSが起動して動いていると、何故か、セルに値が入らないのです。
と、ご質問を受けているのですが、
こちらはRSSの実行の有無にかかわらず、関数が動作しないということになりますでしょうかー?

『RSSが実行してるときだけ動作しない』という状況の時と
『常に関数が動作しない』という状況ですと、
原因や対応が異なるため、情報をいただけますと幸いです!!

2023年02月03日

さくま

テストエクセル.xls (106.5KB)

大野様
昨日はコメントいただきまして、ありがとうございます。
現在作成している物の、一部ですが、現象が現れますので、こちらに添付いたします。
マクロについてもあまり慣れておりませんの、皆様のお知恵をお借りできたらと思っております。
やりたいことは、先日のコメントにも記載してありますが、あるトリガーを元にマクロが起動して、シートにあります、値を取得して、セルにコピーを行いたいということです。
是非よろしくお願いします。

2023年02月03日

BEG

先物新規注文の指値コード(1:指値)について

*スミマセン間違えて全般に関する意見・要望に書き込んでしまったので、こちらに再掲致します*全般に掲載分は無視して下さい

本当に初歩的な質問ですみません。
FNEWORDERの執行条件ついてお教えください。
1:指値
の指値の条件はどのようなものになりますでしょうか

10:指値(FOK)、11:指値(FAK)は分かるのですが「1:指値」の条件はどのようになりますでしょうか?
「FOK」でも「FAK」でもないとすると「FAS」かな?と個人的に思うのですが正しいでしょうか?

2023年03月02日

BEG

大野様
ありがとうございます!
またご返信遅れまして誠に申し訳ございませんでした。
やはりFASなのですね。とても参考になりました

2023年03月14日

大野 了

BEGさん、こんにちは!!

FNEWORDERの執行条件についてですが、
詳しい知り合いに聞いたところ、1:指値は FAS での取引となるようです!!

ご参考になれば幸いです!!

2023年03月06日

BEG

大野様

ありがとうございます!

2023年03月03日

大野 了

BEGさん、こんにちは!!

岡三RSSのマニュアルとか、QAとかいろいろとみてみたんですが、
確かに明記されてないですね・・・

自分も残ってるのがFASしかないので、FASだとは思うのですが、
正確なところは分かりませんでした。(すみません

何かわかったら追記したいと思います!!

2023年03月02日

さくま

FNEWORDERの指値注文について

先物取引をこちらのRSSで作成しています。
新規の注文は問題なく、発注され約定までします。
システムでは新規の注文が約定したら、指値で返済予約を行うように作成しています。
エクセル上では、問題なく、発注完了になっているのですが、岡三のホームページで、注文照会を確認すると状態に「できず」となっていて、実際には返済注文ができていない状態です。どのような原因があるか、全く分からないので、ご教授いただけましたら幸いです。

2023年03月24日

大野 了

さくまさん、こんにちは!!

FASでうまくいきましたかー
1枚だと、俺もさすがにうまくいっていいと思うんですが・・・
なんかちゃんと理解できていない部分があるんだろうか・・・

また、詳しい知り合いから返事が来たのですが、
やはりFASのの場合、部分約定した際の残りは、注文状態が『一部出来』として、
そのまま残るとのことでした!!

何はともあれ、上手く動くようになって良かったです!!

2023年03月28日

さくま

大野 了様
お返事ありがとうございます。
本日、指値注文をFASに変更し、システムトレードを行ってみました。
結果は問題なく、新規注文が約定した後に、指値注文が入りました。
やはり、執行条件が原因だった可能性があります。
1枚の注文でなぜ?問題が起こったのかは謎ですが。
とりあえず、一旦はこの状態で、問題なさそうです。
色々ありがとうございました。非常に助かりました。
また、最大指値につきましても、ご教授いただきありがとうございます。

2023年03月27日

大野 了

さくまさん、こんにちは!!

>やはり他に原因があるのですかね?
んー
パラメータを観た感じ問題なさそうです・・・
これだと、指値を踏まずに一日が終わったとき以外、不出来になることは無いような・・・
んー難しいですね・・・


>最大指値とどのような注文となるのでしょうか?
最大指値は、その時の値幅制限目いっぱいの価格で指値を発注するやり方となります。
『いくらでもいいから決済するぜ!!』というような感じです。

自分の場合、システムの都合上、最大指値の方が扱いやついので、こちらを使用しています。

2023年03月27日

さくま

大野 了様
お返事ありがとうございます。
やはり他に原因があるのですかね?
FASの件、お知り合いの方にお聞きいただけるのですね。ありがとうございます。
お待ちしておりますのでよろしくお願いします。
指値発注なのですが、一応、VBAで作成をしているのですが、以下に記載します。
=FNEWORDER("N225mini",202306,2,"C","1",1,1,27000,1,1,1,"1","pass","20230324123112","","","",)
上記のように作成しています。
よろしくお願いします。

もう一点、お聞きしてもよろしいでしょうか?
最大指値とどのような注文となるのでしょうか?
不勉強で申し訳ないのですが、お教えいただけますと幸いです。

2023年03月26日

大野 了

さくまさん、こんにちは!!

1枚 & 毎回ですか・・・
とすると、他に原因がありそうですね・・・

もし問題なければ、発注時のほかのパラメータを教えていただくことは可能でしょうか?
なんか原因として考えられることがないか見てみます!!


あと、FASの件ですが、部分約定した際の残りは、注文状態が『一部出来』として、
そのまま残ったと思います。
確か・・・きっと・・・

すみません、前回偉そうなことを書いたのに申し訳ないのですが・・・
自分はいつも、最大指値で発注し、部分約定はしないようにしていて、
今回の回答の正確性にちょっと不安があるので、知ってそうな知り合いの方にちょっと聞いてみたいと思います!!

大変申し訳ございませんが、しばらくお待ちいただけますと幸いです!!

2023年03月24日

大野 了

さくまさん、こんにちは!!

こちらは必ず発生しますでしょうか?

もし『"出来ず"になる場合がある』ということでしたら、
今回の発注はFOKとのことですので、
全量一括約定できず、注文が失注してしまったと思われます。

具体的な内容としては、
Excel上の注文状態は『証券会社までの注文が通ったか?』という状態が表示されています。

今回ですと、指値(FOK)の注文が岡三オンライン証券さんへの正常に通ったためExcel上は"発注完了"と表示されます。

その後、JPXの板に指値の注文を乗せるのですが、
今回は発注方法が、FOKですので、
決済注文に出した枚数が全数一括約定(10枚なら10枚すべて一発で約定)できなかった場合、
決済注文がJPX側でキャンセルされてしまいます。
この状態が発生した場合、注文照会で『出来ず』と表示されてしまいます。


『出来ず』を回避させるには・・・

〇一部だけでも約定させたい場合は、FAKを使う
※FAKでは残枚数は失注します。
もし一部の枚数だけ約定した場合、状態には『出来ず(内出来あり) 』と表示されます。


〇一部だけ約定してしまった場合に、残枚数の注文を板にそのまま残したい場合は、FASを使う
※ただ単純に"指値"とだけ書いてあるのがFASになります。

となります!!

2023年03月24日

さくま

上記で記載を忘れてしまったのですが、指値の執行条件は10:指値(FOK)です

2023年03月24日

さくま

申し訳ありません。追記ですが、
こちらのできずは毎回発生しております

2023年03月24日

さくま

大野 了様
ご回答、ありがとうございます。
今回の枚数は1枚なのですが、なぜ?となりますが、大野様からご指摘いただいた内容が原因ではないかと思われます。
不勉強で申し訳ないのですが、FASについて、ご教授ください。
FASでもし、10枚の注文をし、7枚約定した場合に、3枚は板にそのまま残るとのことですが、こちらは残り3枚の注文も残っていると思ってよろしいのでしょうか?

2023年03月24日

RSSユーザー

同時に複数の銘柄を発注しないようにしたい。

お世話になっております。上記表題のとおり、信用取引の買いと売りのトレードをそれぞれのパソコンでおこなっていて発注条件の一つに全保有銘柄数が1以下の時としているですが、保有銘柄が1以下で条件に複数の銘柄が同時に合致した場合、余裕資金のある限り発注してしまいます、信用維持率がぎりになってしまう時も多々あるのでびびります。うまい方法で複数の同時発注をしない方法はありますでしょうか、お教えください。

2023年04月06日

大野 了

ですねー

もし何かあれば、またご質問いただけますと幸いです!!

2023年04月08日

RSSユーザー

ですよねー。とりあえず、条件を少し厳しくして対応してみます。ありがとうございました!

2023年04月07日

大野 了

RSSユーザさん、こんにちは!!

RSSユーザさんは発注等にVBAを使用されたりしていますでしょうか?
それならいくつか手は考えられるのですが、
もしセル関数だけでやられている場合、簡単に実現できる上手い方法はなさそうでした。

セル関数だけでやられている場合、残念ながら岡三RSS側に銘柄を複数発注させないような機能はないため、
ORDER関数や、POSITION関数で銘柄を保持していたら発注を行わないように判断させるのが一番簡単と思うのですが、
新規発注後に、ORDER、POSITION関数への反映へのタイムラグを考えると、完璧に抑制するのは厳しそうです。
※ORDER関数等の情報がExcelに落ちてくる間のタイムラグ中に発注がかかってしまう。

このため、もしセル関数だけでやられているとしたら、発注条件側の式で止めるしかないと思われます。

RSSユーザさんが作られている、複数シグナルの発注関数の作りがわからないため、具体的な返答は厳しいですが、
銘柄毎に他の発注条件が動いていたら、その発注条件は動かないようにIF関数等で制御するぐらいしかないと思われます!

2023年04月06日

RSSユーザー

IF式で○○なら赤文字の"S"、××ならR黒文字の"N"と表記したいのですが・・・

お世話になっております。上記の通りエクセルのIF式で返す文字の色を変えることは出来ますでしょうか。IF式の作成中、右クリックでフォント色とか選べるかなと思ったのですがだめでした。
スキャルピングで約定した銘柄の条件次第で”スーパーモード"の赤Sと"ノーマルモード"の黒Nの表記に分けて利食い追いの条件を変えたのですがパッと見すぐわかるようにと思ったのですが、、、難しいでしょうか?  お教えください。

2023年04月21日

大野 了

RSSユーザーさん、こんにちは!!

上手く行きましたかー!!
お役に立てて幸いです!!

2023年04月22日

RSSユーザー

お世話になっております。
条件付きの書式設定の中の"数式"ではなく、"指定の値"でいとも簡単に赤Sが表示できました! ありがとうございました!

2023年04月22日

大野 了

RSSユーザーさん、こんにちは

IFの式の結果でフォントやセルの背景色を変えたい場合は、
『条件付き書式』を使用するのが簡単です。

こちらのサイトを参考にしていただけますと幸いです!!
https://exceljoshi.cocoo.co.jp/media/excel-condition

2023年04月21日

RSSユーザー

MAの自作についてです。

お世話になっております。MA(ムービングアベレージ)を自作しようと思っています。一分おきに株価を記録しようと思っています。が一分足のMA(5)、MA(25)は最低でも9時25分からしかできないと思っていたのですが、岡三ネットトレーダーのチャート一分足をみると9時ちょうどからMA(5)、MA(25)が表示されていました、これって前日のデータも使っているのでしょうか、それとも自分のMAの考えがちがっているのでしょうか、お教えください。MA(5)は一分足の終値5本の平均という意味ですよね?

2023年04月07日

大野 了

RSSユーザさん、こんにちは!!

解決できたようで良かったです!!

2023年04月08日

RSSユーザー

ザラバ中のお忙しい中、返信下さって有難うございます。岡三ネットトレーダーのチャートをよく見ると、1日だけじゃなく2日とかの選択もあったのですね、そこで私も一つの銘柄を計算してみたら、9時ちょうどのMA(5)になりました。お騒がせしました、ありがとうございました!

2023年04月07日

大野 了

RSSユーザさん、こんにちは!!

ネットトレーダーのデータを見て計算してみましたー!

RSSユーザさんのご想像通り、前日のデータも使用しMAを出しているようでした。

9時ちょうどの1分足のMA5のデータは
・14:57
・14:58
・14:59
・15:00
・9:00
の終値を元に計算しているようです!!

今回、1銘柄だけ手計算をして確認しただけですので、

もし正確な情報である必要がある場合は、
岡三オンライン証券さんの、サポートセンターに確認して見られたが良いかもです!!


>MA(5)は一分足の終値5本の平均という意味ですよね?
はい、指定足の過去x本の単純平均となります。

高値のMA5のように高値や安値を使用することもありますが、
通常、移動平均といえば、対象足の過去5本分の単純平均となります!!

また、1分足だけとは限らず、5分足や日足のMAなどもあります!!
ネットトレーダーのチャートも、その時に表示している足の種類(分足や、日足)の平均となります!!

2023年04月07日

sigebo

excelの更新のたびにVBAを呼び出す仕組み

岡三RSSを使いだそうとしています。
サンプルシートで先物板情報を表示し、更新されることを確認できました。
やりたいことは、
寄り前と引け前の1分程度の間の先物のリアルタイム板情報をできるだけ高頻度にファイルに記録することです。
とりあえず想定される手続きは、
excelでFBOARD関数などで、データを取得。
excelの更新頻度(これに同期してFBORD関数が発行される?)ごとに、VBAの関数を呼ぶ(VBAからexcel関数を呼ぶのでなく)
呼ばれたvbaの関数では、前回受信値より更新されていれば、時刻と板情報をファイルに追加書き込みする。終了後直ちに戻れる。
というような処理を考えましたが、可能な処理でしょうか。
特にexcelからVBAを呼び出す仕組みはどんなことになるでしょうか。

もっと高速に取得記録できる方法があるでしょうか。

2023年04月07日

sigebo

大場様 ご丁寧なご返事ありがとうございます。
精度の問題の存在わかりました。実際板情報をどのように具体的に利用(計算)するか、定かではないのですが、
目的は寄り付きの値段を予測するためで、どのように板情報を使うかということです(質問ではありません)。
ご提案頂いた内容を100%理解してはいないで別な質問をするのは申し訳なく思いますが、
その後気が付いたことなのですが、次のような方法は、ご提案と比較して好悪はどうなりますか。

必ずしもVBAで逐次監視するのでなく、ワークシートに板が更新される度に、シートの最下行に追加し、
寄り付いた後に、おもむろに、全行のデータをファイルに書く。
板番号は列方向に配置する。全量は1分程度(30秒でも可)で十分なので、十分シートに展開され得ると予想します。実際観測していると、1秒にせいぜい数回程度のようなので。


同じことを大引けでも行うのですが、まだ調べていないのですが、
板寄せ時間中に更新される板情報も、同様に取得できるのでしょうか。

2023年04月08日

sigebo

ご返事がおそくなりすみません。
現在シートの下方に転記する方法で検討しています。

2023年05月25日

大野 了

sigeboさん、こんにちは!!

なるほど!!
寄り付きの価格を予測されたいだけなんですねー


>必ずしもVBAで逐次監視するのでなく、ワークシートに板が更新される度に、シートの最下行に追加し、
>寄り付いた後に、おもむろに、全行のデータをファイルに書く。
>板番号は列方向に配置する。全量は1分程度(30秒でも可)で十分なので、十分シートに展開され得ると予想します。実際観測していると、1秒にせいぜい数回程度のようなので。
そうですねー
このやり方でも、データ量共に自分も大丈夫と思います!!


>同じことを大引けでも行うのですが、まだ調べていないのですが、
>板寄せ時間中に更新される板情報も、同様に取得できるのでしょうか。
はい、プレオープニング、プレクロージング共にいた情報はリアルタイムで更新されます!!

2023年04月10日

大野 了

sigeboさん、こんにちは!!

板情報を高頻度にファイルに記録されたいとのことですが、
こちらはどれくらいの『精度』が必要でしょうかー?

FBOARD関数の場合、更新頻度もですが『データの精度』も問題になりそうです。

処理速度と、精度を分けてご説明させていただければ思います!!

〇処理速度
VBAを利用されるということですので、考えられる最速な方法としては・・・

・ExcelにFBOARD関数を記述し、ワークシートの『Calculate』イベントでファイルへの書き込みの記述をする
岡三RSSがセルを更新したら、Excelの更新頻度に関係なくイベントが動作しますのでセルが更新された瞬間に
ファイルに落とすことができます。

・VBAでループ処理を行い、その中でDoEventsを使用しVBAと岡三RSSを同時に動作させながらVBA内でFBOARD関数を使用し
データを取得し、ファイルへの書き込みを記述する。
ワークシート関数としてFBORARDを記述しているとVBAの中でFBOARD関数が呼べるようになりますので、
そこでデータを取得しファイルに落とすことができます。


〇精度
FBOARD関数の場合、板の気配値と出来高の情報を複数のFBOARD関数を使用して取得を行います。
このため、複数の関数の実行タイミングを完全に同時にすることができず、
気配値、出来高など、その瞬間の板の情報というものが取得できない感じです。

他の関数にはCSV項目として、その瞬間の情報を1つの関数でまとめて取得する機能があるのですが、
FBOARD関数にはないため、POSITION関数等であれば動きが緩やかなため、対策はあるのですが
板情報は動きが速いため、正確な情報の取得は厳しいかもしれません。

とは言え、誤差があるとして若干と思われるので、使い方次第では問題はないレベルとは思います!!



>過去の掲示板で、vbaのみでFBOARD関数を実行(可能かどうか不明ですが)していて、excelに戻らないと、
>実際にデータの受信が実行されないとの情報を見たのですが、excelでは表示をしなくてもよいという条件でも、そうでしょうか。
FBOARD関数は、その関数をワークシート関数として記述しているのであれば、
VBAから実行して値を取得することは可能です!!

2023年04月08日

sigebo

過去の掲示板で、vbaのみでFBOARD関数を実行(可能かどうか不明ですが)していて、excelに戻らないと、実際にデータの受信が実行されないとの情報を見たのですが、excelでは表示をしなくてもよいという条件でも、そうでしょうか。

2023年04月07日

RSSユーザー

2つのセルの値を1つのセルにまとめて表示したいです。

お世話になっております。
以前、日経平均と前日比の表示を教えていただき、二つのセルに表示させているのですが式を入れるセルが必要になりこれを一つのセルにまとめて表示したいのですがどうすればよいか、お教えください。
セルA1 日経平均 =VALUE(IDX("N225","現在値")) セルA2 前日比 =(IDX("N225","前日終値比幅")) これをセルA1に 32,204(+50) セルA2は空白 みたいなかんじです。

2023年07月12日

RSSユーザー

ありがとうございました。またよろしくお願いいたします!

2023年07月13日

大野 了

新しい書式ルールダイアログ.png (16.4KB)

RSSユーザさん、こんにちは!!

上手く行きましたかー
よかったです!!

ある条件の時(今回は+の文字が含まれる場合)だけ書式を変えたい場合は、
『条件付き書式』を設定することで実現ができます。

手順としては以下の通りです!!

1.『ホーム』ー『条件付き書式』-『新しいルール』を選び『新しい書式ダイアログ』を表示する
2.ルールを選択してくださいリストの中から、『指定の値を含むセルだけを書式設定』を選ぶ
3.『次のセルのみを書式設定』を添付しました画像のように設定する
4.キャンセルボタンの上にある『書式』ボタンを押下し、+の文字が入っていた時に表示したい書式を設定する
(今回はフォントの色を赤色にする)

2023年07月12日

RSSユーザー

ありがとうございます。表示ができました。
あーと、要望なのですが前日終値比幅が+のときは赤字なんてできないでしょうか、今の別々のセル書式は前日比幅が+のときは赤字の設定でした、すみません!

2023年07月12日

大野 了

RSSユーザさん、こんにちは!!

なるほどー
それでしたら・・・

=VALUE(IDX("N225","現在値")) & "(" & IDX("N225","前日終値比幅") & ")"

という感じで、ご希望の表示ができると思います!!

2023年07月12日

RSSユーザー

日経平均株価算出のエクセル計算シートについてです。

お世話になっております。
自分でエクセルにQUOTE関数から225銘柄の株価を表示して、日経平均株価と寄与度を算出する式を作ろうと思っています。

が!面倒くさく、そのようなエクセルシートがあれば拝借したくメールしました。
そのようなサンプルシートはありますでしょうか? お教えください。

2023年07月06日

大野 了

RSSユーザさん、こんにちは!!

日経平均株価のサンプルシートの件ですが、現在は非公開となっているようです。

https://bbs.okasan-online.co.jp/ont/rss/board/?topic_id=311


また、もしご自身で計算される場合、他の方がご回答された内容になりますが、
エクセルで日経平均を計算させるシートの作り方を紹介してる動画があるそうです!!

https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=552

こちらが参考なれば幸いですっ!!

2023年07月06日

大野 了

RSSユーザさん、こんにちは!!

お役に立てましたかー
良かったです!!

2023年07月06日

RSSユーザー

動画が大変参考になりました。
ありがとうございました!

2023年07月06日

yosi707

RSSが切断・再接続を繰り返す

みなさん、こんにちは。

RSSが数秒おきに切断と再接続を繰り返します。パソコンを再起動しても同じ状況です。他のソフトが使いにくいものですから、仕方なくタスクマネージャーから切っています。サポートに問い合わせても、こちらでは問題ないとのことです。何か対処法があれば教えてください。数日前にも同じことがありました。

再インストールしてみるしかないでしょうか?

2023年07月06日

yosi707

大野さん、ありがとうございます。返事が遅れました。最近不真面目でパソコンにあまり電源入れないものですから。

状況は今見てる限り同じです。ドコモ光で有線接続です。wifiも飛ばしている環境ですが、もっぱら寝転がりながらスマホで使っています。パソコンが元々8.1のもので、けっこう年期が入っているものですから根本的な問題かもしれませんね。これから再インストールしてみます。また書きます。

2023年07月07日

大野 了

yosi707さん、こんにちは!!

RSSが再接続を繰り返す件ですが、自分も発生していないので、岡三RSSと岡三オンライン証券さんの問題ではないような気がします。
とはいえ、数秒おきに再接続繰り返すのは、ダイアログが出まくって辛いですね・・・

可能性があるとしたら・・・
・岡三RSSが壊れた
・ネットワークが不調
・セキュリティソフトが遮断している
のどれかかなーと思います。

毎日ではないのとPCを再起動されても同様とのことですので、ネットワーク系が怪しいと思われます。
もしノートPCのようなWifiにつながるPCでしたら、次回発生した際にスマホなどのテザリングに切り替えて、
ネットワーク回線を変更してみていただけますでしょうか?
もしこれで解決するのであれば、ネットワーク回線、ネットワークカード、ルータのいずれかが調子悪いのだと思われます。

また、もし岡三RSSを再インストールされる場合は、他の方に返信した内容のコピペで大変申し訳ないのですが、
https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=475#comment_2624
こちらの手順で岡三RSSのアンインストールだけではなく、
Clickonceのキャッシュの削除も行うと、完全な再インストールが可能となります!!

ご参考になれば幸いです。

2023年07月06日

RSSユーザー

更新に時間が掛かってしまいます

大野さん

お久しぶりです。
前回の質問の件(2021年04月05日の質問)ですが、
大野様のお陰でほぼ毎日2年間楽しく使用しております。
大変ありがとうございます。

注文の部分は除いて、1行毎に下に落としていくのをずっと続けております。
1点だけ、難点が出てきました。
更新するのに、非常に遅くなってしまいました。
15秒毎に下に落としていくため、1分間に4行更新されるはずなのですが、
2行程しか更新されません。1分間に30秒位が更新に時間がかかっている状態です。

岡三RSSの関数はTICKやQUOTE等10関数もありません。以前は100関数位試しに使ってみましたが、
遅れる事はありませんでした。また、エクセルの関数も10個もないですし、下の行も数百から数千位
しかデータがありません。

特徴としては、7行目に一旦降りて、そこで15秒程エクセルが固まってから8行目に行く感じです。
VBAの記述内容をどこか変更すればよろしいでしょうか。
PCは2台共Win10で、2台共同じ症状が出ます。

どうぞ、よろしくお願いします。


Sub 記録2()
'
' 記録2 Macro
'

'
Range("N5:S5").Select
Range("N5:S5").Select
Selection.Copy
Range("N7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
NextTime = Now + TimeValue("00:00:15")
Call Application.OnTime(NextTime, "記録2")
Application.CommandBars("岡三RSS2").Controls.Item("更新").Execute


End Sub

2023年05月16日

大野 了

RSSユーザーさん、こんにちは!!

再起動で直りましたかー
それはよかったです!!

2023年05月18日

RSSユーザー

大野さん

PC再起動等色々やっているうちに解決していました。
再発しましたら、再度コードの追加をさせて頂きたいと思います。

この度も、大変ありがとうございました。

2023年05月18日

大野 了

RSSユーザさん、こんにちは

なるほどー
VBAだけでは正確な原因がつかめないですが、
もしかすると、画面描画か計算式の再計算で時間がかかってるのかもしれません。

VBAの遅い処理を以下のコードで挟んであげると解決するかもしれません
一点、注意点としてはVBAを強制終了させたりエラーで抜けたりすると
Excelの画面描画が止まったままになる可能性がありますので、ご注意ください!!
※その時は、エラーのハンドリング処理を追加してください。

==============================
Application.ScreenUpdating = False
Application.Calculation = xlManual

遅い処理

Application.Calculation = xlAutomatic
Application.ScreenUpdating = True
==============================


これで解決できるとよいのですがー

2023年05月17日

RSSユーザー

5-16.jpg (159.8KB)

はい、その通りです。
5行目を8行目にペーストするのですが、
ペーストしている最中にフリーズする感じです。

イメージ写真を載せました。
A行とC行が1銘柄のTICK、EからMがエクセルの関数、
O行とQ行とR行が岡三RSSの関数です。

本当に、感謝と御礼の限りでございます。

2023年05月16日

大野 了

RSSユーザーさん、こんにちは!!

2021年04月05日の質問を見てきました。
以前に, VBAでやり取りをさせていただいた方ですね。
こちらこそ、その節はお世話になりました。

さて、ご質問の件ですが、
残念ながらご記入いただいたVBAのコードだけでは、原因の追究は難しそうです。

更新に時間がかかっているとのことですが、ペーストのところの処理にかかる感じでしょうか?

2023年05月16日

sigebo

板情報の更新データを順次記録する。

板情報と気配値をある1行に並べています。この行を値の更新されるごとに、もしくは一定時間ごとに、最新表示行の次の行に記録することをやりたいです。
記録時間は高々1分間ほどで、可能な限りの更新頻度で記録し、記録終了後csvファイルに書きます。この操作を手動または自動で1日に数回行います。
方法1
VBAを一定時間ごとに呼び出して、記録していく方法
方法2
EXCELのみで処理する
ことが考えられますが、方法1はなんとか見通しがつきますが、excelのみで可能でしょうか。

2023年05月24日

大野 了

sigeboさん、こんにちは!!

記述いただいたソースですが、やはりイベントプロシージャ自体は問題なく実行されるようです。

イベントプロシージャは正常に実行はされるのですが、
ソース中に記述を変更しないと動作しない部分があり、最後までは動作しないようです。


>lastpos = Cells("a6")
>Cells("a6") = ct
Cellsは文字列にてセル指定をすることはできないため、CellsではなくRangeを使用する
例) lastpos = Range("a6")


>Range("b8").Offset(ct, 0).Select = Range("b7:w7").Select
この部分はB7:W7を B8以降のセルにコピーされたいということでしょうか?

それであれば、そもそもSelectで代入することはできないため
Range("b7:w7").Copy Range("b8").Offset(ct, 0)
とする必要があります!!

2023年05月26日

sigebo

大野様 ご返事ありがとうございます。
ご案内のように、Calculate() イベントハンドラーなら、RSSの更新の度に起動されるので、よさそうに思えます。
それで、下記のコードで試しました。
取得情報はb7:w7にならべてあり(計19個)、それを最後の位置をA6から読み、その次の行に取得情報を転記します。そして最後の位置を更新します。
呼ばれる度に、現在時刻をa1に表示しておきます。

ところが次の問題があります。
1.VBAのプロシージャのやり方が多分まずい(VBAは慣れていません)のでしょうが、VBAのデバッグでコンパイルを実行したのち、とりあえずF9で再計算をしましたが、ハンドラーは起動されないようです。
2.RSSの更新ですが、気配値情報の取得はFQUOTE関数を並べていますが、各FQUOTE関数が実行される度なのか、一連の実行が完了したときなのかが、わかりません。前者ならちょっと多すぎて問題かと思います。

かなり込み入った質問ですが、アドバイスいただければ幸いです。



Option Explicit

Public mOnTime As Date
Private Sub Worksheet_Calculate()
Dim serial As Long
Dim lastpos, ct As Integer

Range("A1") = Format(Time, "yy/mm/dd hh:mm:ss")
Range("A1").NumberFormatLocal = "yymmdd hhmmss"


lastpos = Cells("a6")
ct = lastpos + 1
Range("b8").Offset(ct, 0).Select = Range("b7:w7").Select
Cells("a6") = ct

End Sub



2023年05月25日

sigebo

次のように操作しました。
1.シートにRSS関数を書く
2.VBAプロジェクトのThisWorkbookを開く。
3.自動的に挿入される行も考慮して、下記のコードを書く
4.エラーが無いことを確認(文法エラーがあるとメッセージが出る)
5.シートを開く
6.RSSを起動する

とすると、fquoteのセルは更新されますが、イベントプロシージャが書く、セルa1は更新されない(取得セルのコピーも)ので、
どうも、イベントプロシージャは実行されていないように見えます。
何が原因かご教示願えないでしょうか。



Option Explicit

Public mOnTime As Date

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)

Dim serial As Long
Dim lastpos, ct As Integer

Range("A1") = Format(Time, "yy/mm/dd hh:mm:ss")
Range("A1").NumberFormatLocal = "yymmdd hhmmss"


lastpos = Cells("a6")
ct = lastpos + 1
Range("b8").Offset(ct, 0).Select = Range("b7:w7").Select
Cells("a6") = ct

End Sub

2023年05月25日

大野 了

sigeboさん、こんにちは!!


>1.VBAのプロシージャのやり方が多分まずい(VBAは慣れていません)のでしょうが、VBAのデバッグでコンパイルを実行したのち、とり>あえずF9で再計算をしましたが、ハンドラーは起動されないようです。
F9を押した際に計算のもととなるセルが変わっていないためイベントが起こってないと思われます。
また、頂いたソースをworksheetにコピーしたら、再計算時にイベントが起こりましたので、
ソースは問題ないと思います。


>2.RSSの更新ですが、気配値情報の取得はFQUOTE関数を並べていますが、各FQUOTE関数が実行される度なのか、一連の実行が完了した>ときなのかが、わかりません。前者ならちょっと多すぎて問題かと思います。
再計算のイベントは、セルの更新単位でイベントが発生しますが、
再計算処理中には岡三RSSが更新できないため、重なって動作することはないと思われます。
ですが、RSSの式が山のようにあって、すべてのRSSの更新が終わる前にVBA実行が終わり、
その後、残りのRSSの更新がかかる場合、
更新される度に複数回VBAが動く可能性はあると思われます。

この部分は完全に調査をやったことがないため、
正確ではない情報の可能性もありますが、
VBAとExcelの動作の仕様からすると、上記のような動作になると思われます!!

2023年05月25日

sigebo

ご返事ありがとうございます。やはりEXcelのみでは、難しいのですね。
その後、VBAによる方法を考えていましたが、一定時間ごとにVBA関数を呼ぶのではなく、
VBAを OnTimeStart()で一定間隔で呼べばセルに時刻更新をできることがわかりました。
しかし
Sub OnTimeStart()
Call TimerProc
mOnTime = Time() + TimeSerial(0, 0, 1)
Call Application.OnTime(mOnTime, "OnTimeStart")
End Sub
のように(ネットで探した)するのでは、TimeSerialが最小1秒しか設定できないので、ちょっと不足です。
RSSの限界の100msの倍の200msくらいにしたいところです。
TimeSerial値を秒以下にする方法があれば良いのですが、できるでしょうか。
実際には先物寄り付き直前数秒間の振る舞いを調べたいのです。(先物がなくなることは承知していまして、それ故今の間にということです)

2023年05月24日

大野 了

sigeboさん、こんにちは

残念ながらOnTimeメソッドは、最短で1秒間隔でしか動作させることができません。
ミリ秒単位の処理を行わせたい場合は、
Calculateイベント等でRSSの更新が行われるタイミングで処理を行うか、
1分間永久ループさせ、その中でFBOARD関数を呼び出してデータを取得する感じになるかとー

2023年05月24日

大野 了

sibeboさん、こんにちは!!

そうですねー
あるセルの値を、他のセルに行を移動させながらコピーする場合は、VBAでないと厳しいと思います。

特に板情報の場合、同じセルが更新され続けるため、
1分前のデータが取れないためVBAでないと厳しいかと思います!!

2023年05月24日

RSSユーザー

約定時刻の選択の式についてです。

約定時刻.xlsx (10.3KB)

お世話になっております。添付ファイルを開いてから見てください。
エクセルの式は=を外して文字扱いにしてあります。
この中でセルB3の式はセルB1の内容です。
セルB3の表示をセルG4(2023/6/7 10:41)の表示、つまりセルE3:E8の中セルC3の値があり、なおかつその1つ右のセルが”信用新規売”のとき2つ右のセル値を返すという式はどう書けばよいかです。約定後20分したら返済としていたのですが新規約定が2つになってしまい20分後1つだけ約定したあと、さらに20分後返済となっていたためです。よろしくお願いいたしまーす。

2023年06月07日

大野 了

RSSユーザさん、こんにちは!!

はい、いろいろと組み合わせるとなんでもできます(笑

今回はロジックを別の形にされるとのことみたいなので、
今度の何かの参考になれば幸いです!!

とりあえず、いろいろとうまくいくことを祈ります!!

2023年06月07日

RSSユーザー

約定時刻.xlsx (10.4KB)

すげー!そんな合わせ技もあったのですね。
でも、今回は余ったセル(A列)に最新売買種別を表示させて"信用返済買"が表示されたら即返済の命令を出すようにしました。一日になんども同じ銘柄の売買をするのでこの方がよいかと・・・
お世話がせしました!!!

2023年06月07日

大野 了

約定時刻.xlsx (10.9KB)

RSSユーザさん、こんにちは!!

RSSユーザさんがどのバージョンのExcelを使用されているかわからないため使えるワークシート関数が決めれないところですが、
もしシートを少し変更しても問題ないのであれば、VLookupを使用されるのはいかがでしょうかー?

VLookupであれば、シンプルに関数一つにできて、かつだいぶ古いexcelでも動作します。
IndexとMatch関数を使用すれば、レイアウトを変更せずとも取得はできるのですが、
今回は条件を複数にされたいとのことで、ワークシート関数がだいぶ入れ子になってしまいますし、
xxxIFSなどの複数条件系の関数を使用すると、最新のExcelでしか動かなくなってしまうため、
もし、ワークシートのレイアウト変更が可能であれば、VLookupが簡単かもれません!!

対応内容としてはG列に E列とF列を結合したセルを用意し、
そこを検索値として『約定コード + 信用新規売』を探すVLookupかける形となります。


添付いただいたファイルを修正してみたのでご参考いただけますと幸いです!!

2023年06月07日

たまげ太

先物・オプション取引のサービス終了について

「先物・オプション取引のサービス終了について」というメールが来たのですが、サポートにお電話したところ、くりっく株365(及びくりっく365)でのRSSは10月以降も継続されるそうです。
日経平均デリバティブ取引という意味では、手数料が実質的に値上げになるようですね。
皆さんもご存じの事やお考えがあれば教えてください。

<ご参考>

【重要】先物・オプション取引のサービス終了について

平素より岡三オンラインをご利用いただきまして、誠にありがとうございます。

この度、2008年6月から提供して参りました先物・オプション取引につきまして、誠に勝手ながらサービスを終了させていただくこととなりましたのでお知らせいたします。

長年にわたるご愛顧に感謝いたしますとともに、サービス終了にあたり、お客さまにご不便をお掛けいたしますこと深くお詫び申し上げます。
サービス終了に伴い、新規口座開設、新規注文、決済注文を以下のスケジュールで順次停止させていただきます。

今後につきましては、株式、投資信託、FX、CFDをはじめとした既存の取扱商品に注力する他、お客さまからご要望をいただいております新サービスの導入に取り組んで参りますので、何卒ご理解賜りますようお願い申し上げます。

なお、日経225やNYダウ、NASDAQ-100といった世界の株価指数や金・原油ETFなどの取引ができる取引所CFD(くりっく株365)では、5月1日(月)より新たなキャンペーンを開始いたします。先物取引と同様に株価指数の証拠金取引ができる取引所CFD(くりっく株365)でのお取引を是非ご検討ください。

2023年04月28日

たまげ太

私が以前書いたことに一部追加させてください。
先物ではRSS利用料は有料(一定以上の利用があると無料)ですが、CFDの場合はRSS利用料はそもそも無料なんですね。

https://www.okasan-online.co.jp/cfd_tools/rss365cfd/use.html
岡三オンライン株365(くりっく株365)に口座開設されているお客さまは、無料でRSS 365CFDをご利用いただけます。

私は先物でもそれなりに取引していて無料だったので、この点を見落としていました。

2023年08月21日

たまげ太

大野さん、よしさん

こんにちは。
私も間が空きましたが、調べたことの続きを書いてみます。

<岡三APIとの比較>

QUOREAプラットフォーム経由で岡三APIを利用する場合は、QUOREAからさらに0.03%の手数料を取られるので
https://www.quoreasupport.jp/questions/fee-3
手数料総額で考えると0.04%以上の変動がないと取引しても赤字ということでしょうね。
手数料の10倍は利益が欲しいとなると0.4%以上の変動がないと取引しても無意味となるでしょう。
詳細は省略しますが、各種の論文を読む限り、Pythonなどで公開されているAIライブラリ(ほとんどがDL系やRL系の機械学習)によるパフォーマンスはシャープレシオがかなり低いようです。それと同じ程度だとすれば、必ずしも優位性があるとは思えないです。

また、QUOREAはAI投資といいながら、ほとんどはテクニカル分析のように見えました(私にそう見えただけなので、詳細をご存じの方は教えてくださるとありがたいです)。
https://www.junvestment-diary.com/entry/quorea

その意味では、(QUOREAと同等のパフォーマンスを出せるのなら)RSSのほうがQUOREAよりはるかに有利ともいえます。

一番いいのは、自分でAPIをつくることでしょうが、個人の場合はセキュリティ上の理由(過誤トランザクションによるシステムダウンのリスク)からプラットフォーム経由での取引しかできないそうです。

2023年05月26日

yosi707

こんにちは。しばらくお休みしてました。
二つの岡三が合併したときから、いやな予感はしてました。
そもそも口座を作るときに二つの岡三があることに気が付きませんでした。今となっては懐かしい思い出です。電話で確認したところ、RSSも含めて日経先物はなくなるようです。残念です。

2023年05月26日

たまげ太

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

先物を続けてくれたほうがいいのですが、岡三さんとしては手数料が安すぎるのでしょうね。
大野さん、皆さんはこれからどうないますか?
私は、他社との比較も含めて検討したのですが、結論から言えば、日経平均先物取引の代わりに、くりっく株365で岡三RSS(短期)とサポートコース(中期と現物ヘッジ)を使い続けるつもりでいます。
その検討の過程で分かったことを少しづつまとめますので、間違いや補足あれば、ぜひご指摘ください。

<くりっく株365への移行>
手数料が現状のままのだとすると、RSSで取引する場合、日経平均先物は手数料がmini片道44円に対して、くりっく株365では原資産額(=日経平均×100)で相当する日経225リセット付証拠金取引の手数料は片道156円なので約3.5倍となり、往復で312円(日経平均30000円として0.01%)なります。
これはつまり日経でいえば0.01%以上の変動がないと取引しても赤字ということでしょうね。
手数料の10倍は利益が欲しいとなると0.1%(10pips)以上の変動がないと取引しても無意味となるでしょう。
いままでは往復88円(0.003%)の変動でよかったので、取引チャンスは大幅に減ることになります。

なお、miniの証拠金は日経225リセット付証拠金取引の2倍なので証拠金当たりの手数料は上記約4倍の半分の2倍となりますが、普通は証拠金比率は一定にするでしょうからあまり関係がないと言えます。

<くりっく365(FX)でのRSS利用>

くりっく365(FX)でドル円の場合はスプレッド(ドル円でだいたい0.035円だが変動あり)を手数料と考えると往復が0.035円(1ドル=100円計算で0.035%=3.5pips)の手数料(135円で0.026%)となるので、ボラティリティ拡大によるスプレッド拡大(リスクプレミアムを受け取るのではなく支払うことになる)を考えると、日経先物(往復0.006%で固定)やくりっく株365(往復0.02%で固定)のほうがFXよりはるかに優位性が高いと言えます。

<サポートコースとの比較>

私は、中期取引や現物ヘッジのために、手数料は高いですがサポートコースも利用しています。ただし、RSSはサポートコースとの併用ができない(正確に言えば併用するとRSSもサポートコースの高い手数料となる)のです。そこで、別に資産管理会社を用意するなどして、サポートコースの取引をする必要があるでしょう。

2023年05月03日

よし

大野さん、こんにちわ。

長年RSSを使用してきたので、非常に残念でなりません。
ぎりぎりまで使用できるにせよ。対応策を検討するようにします。

さみしいですが、今までありがとうですね。

2023年05月04日

大野 了

よしさん、こんにちは!!

サイトに書いてある内容を読むと・・・


>①RSSでN225先物データは取得できなくなるのですか。
こちらは明記はないのですが、2023年11月限月以降の商品は取り扱いしないとのことですので、
もしかするとデータも取れない可能性があるかもですね・・・


>②RSSでN225先物の発注はできなくなりますか。
先物の新規発注は 10/12の15:15までのようです。
ですが、メジャーSQのことを考えると、9/7が実質の最後かなーという気がしています。

2023年05月04日

よし

質問です。
①RSSでN225先物データは取得できなくなるのですか。
②RSSでN225先物の発注はできなくなりますか。

2023年05月03日

大野 了

たまげ太さん、こんにちは!!

そうですねー
一般的な話ですが・・・
各商品の手数料に関しては、取引期間によるかなーという気がします。

例えば、スキャルピングやデイトレを行う場合ですと、手数料はものすごい大きなコストとなると思いますが、
スイングや長期投資のように期間が比較的長い場合は、手数料がコストとして占める割合は低くなると思います。

その方の戦略次第かなーと思いましたー

2023年05月03日

大野 了

たまげ太さん、こんにちは!!

自分も先物がメイン(というか先物しかしていない)ので、だいぶびっくりで残念なお知らせでした。

先物のラインナップ、ヒストリカルデータの取得のやりやすさなど、
岡三オンライン証券さんとRSSの組み合わせは、ホント最強だったのでめっちゃ残念です。

まーこればっかりは仕方ないと思うので、
今まで、ありがとうございましたー
という感じですかねー

2023年04月30日

岡山さん

「RSS総合チャート管理」のエラーメッセージの対応方法について(PtrSafe属性の設定方法)

「RSS総合チャート管理」のサンプルシートをダウンロード後、動画に沿って使用しようと思ったのですが、下記の様なエラーメッセージが出て使用できない状態です、何とか使用できないかトライしたのですが、自分ではどうしようも無く、どなたかご教授いただければ幸いです。
エラーメッセージの内容は
「このプロジェクトは、64ビットシステムで更新する必要があります。Declareステートメントの確認及び更新を行い、次にDeclareステートメントにPtrSafe属性を設定してください。」
Module1(コード)の所には下の様なコードが書かれており、Functionの部分が白抜き文字でポップUP表示されています。

≪内容≫
Public Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" ( _
ByVal pszSound As String, _
ByVal hmod As Long, _
ByVal fdwSound As Long _
) As Long
Public Const SND_ASYNC = &H1
Sub Notify()

PlaySound "C:\WINDOWS\Media\notify.wav", 0, SND_ASYNC
End Sub

是非ともご教授お願いいたします。

2023年06月10日

岡山さん

再度、DLした上で確認すると正常に使用することができました。
いろいろとコメントありがとうございます。
とても助かりました。

2023年06月20日

大野 了

岡山さん、こんにちは

PtrSafeは解決できたようで良かったです。

>「d.docs.live.net に接続しています」
こちらはOneDrive上のファイルに対してリンクなどが入っている場合に表示されます。

自分も一応『RSS総合チャート管理.xls』をDLして確認してみたのですが、d.docs.live.net のメッセージは表示されませんでした。
※岡山さんが落とされたファイルが正確にわからないため、もしかしたら自分が違うファイルを落としている可能性も考えられますが・・・

新しく再度DLすると解決するかもしれません・・・

2023年06月10日

(追加)質問です。/ありがとうございます

ご教授ありがとうございました。
PtrSafeをPtrSafeを入れるとエラーメッセージガ出なくなったのですが、今度は様
「d.docs.live.net に接続しています」というメッセージ画面が表示される様になりました。
メールアドレスとパスワードを要求されている様なのですが、一体何なのか?分かりません。
このシートを使用するに際して入力が必要なのでしょうか?
スルーすると「必要な情報をダウンロードできません。」という表示が出ます。
教えていただけたら有難いです。

2023年06月10日

大野 了

岡山さん、こんにちは!!

Excelが64bitなんですねー

Public Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" ( _
の部分を・・・

Public Declare PtrSafe Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" ( _

とすれば動作するようになります!!


PlaySound以外にもDeclare にてAPIを宣言してあるところがあれば、
『Declare』の後ろに『PtrSafe』を入れてください!!

2023年06月10日

(追加)質問です。/ありがとうございます

2023年06月10日

岡三オンライン証券

「岡三RSSメンバーズ」入会申し込み開始!入会するとオトクな特典がもらえます

Excelでシステムトレードができる取引ツール「岡三RSS」にファンクラブができました。

「岡三RSSメンバーズ」に入会(入会金無料)いただくと、オトクな特典をプレゼントいたします。

○入会特典○
■岡三RSSメンバーズ会員証
■岡三RSSセミナー優先申込み
■岡三RSSメンバーズ懇親会へのご招待
■岡三RSSオリジナルグッズプレゼント
■岡三RSS限定サンプルシートの提供
■岡三RSS限定キャンペーンの案内(例:岡三RSS無料期間プレゼントなど)

お申し込みをお待ちしております。

▼岡三RSSメンバーズの詳細はこちら▼
https://www.okasan-online.co.jp/ont/rss/members/

2017年09月01日

Kenさん

一般株式市場の半自動売買ソフトについて

こちら岡三RSSにて、一般株の半自動売買のデイトレードソフト(人力で保有したい銘柄コードを入力すれば、後は、発注から手仕舞いまで全部自動的に処理される)作りに挑戦しようと思い、サンプルシートを各種ダウンロードしました。ところが、一部分の機能はあるものの、全体として半自動的に売買が実行されるようなサンプルを発見する事ができませんでした。サンプルの中には、非常に便利なものがありました。例えば、09_trailorder.xlsm というサンプルです。これは、保有している株の銘柄コードおよびその他パラメータを入れてやりさえすれば、後は、自動的に手仕舞い処理が実行されます。そこで、これと同じように、エントリも、銘柄コード(および株数)を入力しさえすれば、自動的にエントリが行われるようなサンプルを探しました。これと09_trailorderを組み合わせれば、簡単に半自動売買ソフトが作れると考えたからです。ところがそれはうまくいきませんでした。どなたか、この辺りをご存知の方がおられましたら、よろしく教えていただければ幸いです。(当方先物での岡三RSSを使った自動売買の経験は多少あります)

2023年03月23日

Kenさん

大野様
<POSITION関数で『取得単価』を参照されると、
<現在持っているポジションの約定価格となります!
確かに、こちらの方が良さそうな気がしてきました!
早速コーディングを開始します。
ありがとうございました。

2023年04月03日

大野 了

Kenさん、こんにちは!

上手く行ってよかったです!!

>一番大事な情報は、取得価格です
取得単価というのは、新規発注し約定した後の単価が欲しいということでしょうか?

それでしたら、Kenさんのおっしゃられているやり方でも大丈夫ですし、
POSITION関数で『取得単価』を参照されると、
現在持っているポジションの約定価格となります!

2023年04月03日

Kenさん

大野様へ
現在08:30ですが、VBAでの発注は完全にうまくいきました!
(パスワードロックが2回もかかり、解除するのに、電話を2回もしました!
パスワードを間違えていました!)
大変ありがとうございました。

ところで、早速ですが、次の質問です。
発注は、自動売買ですので、成り行きで行う予定にしております。
次のシート“trailorder”に、仕事を引き渡す必要があります。
一番大事な情報は、取得価格です。
これを知るには、orderquery 関数にて 
1) 約定状態 が 完了 であることを確認し、
2) 平均約定単価 を コピーして trailorder に引き渡す。

ということでよろしいでしょうか?
なにとぞよろしくお願い申し上げます。

2023年04月03日

Kenさん

大野様へ
ビデオを見まくり、サンプルをトライしまくりました。そこで、以下突き当たってしまいました。

サンプルシート(日本株サンプル.xlsx)(https://www.okasan-online.co.jp/ont/rss/movie/chart/order.html?id=5aL9-ZtPJgw )で、
セル関数=@NEWORDER(C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23)  を使って、発注されることを確認しました。
その後、VBAでも発注する方法をビデオで聞いて、試しました。
norder = neworder(ws01.Cells(6, 3), ws01.Cells(7, 3), ws01.Cells(8, 3), ws01.Cells(9, 3), ws01.Cells(10, 3), ws01.Cells(11, 3), ws01.Cells(12, 3), ws01.Cells(13, 3), ws01.Cells(14, 3), ws01.Cells(15, 3), ws01.Cells(16, 3), ws01.Cells(17, 3), ws01.Cells(18, 3), ws01.Cells(19, 3), ws01.Cells(20, 3), ws01.Cells(21, 3), ws01.Cells(22, 3))

以上を、ワンステップ(F8)で動作確認しますと、
「実行時エラー “424” オブジェクトがありません」
というエラー表示がでて、先に進むことができません。

norder = neworder(ws01.Range("C6"), ws01.Range("C7"), ws01.Range("C8"), ws01.Range("C9"), ws01.Range("C10"), ws01.Range("C11"), ws01.Range("C12"), ws01.Range("C13"), ws01.Range("C14"), ws01.Range("C15"), ws01.Range("C16"), ws01.Range("C17"), ws01.Range("C18"), ws01.Range("C19"), ws01.Range("C20"), ws01.Range("C21"), ws01.Range("C22"))

以上の様にしたところ、
実行時エラー’1004’ ‘ThisCell’メソッドは失敗しました。’_Application’オブジェクト
となり、やはりだめでした。

このエラーを乗り越える方法を教えていただければ幸いです。

2023年03月30日

Kenさん

norder = neworder(ws01.Range(、、、、 は
norder = neworder_cl(ws01.Range(、、、、の 間違いですね??
このように、_CLを挿入して実験したところ、発注のウインドウがでました!
注文のボタンを押したところ、ウインドウがでました。「パスワードロックがかかっています。解除の
手続きをしてください」とのことです。2日前まで問題なく使えていたんですが、、

ということで、これから電話して解除してもらいますが、、
これで解決したようです!
大変ありがとうございました!

2023年04月03日

Kenさん

neworderの質問_v001(2023年4月2日).xlsx (0.5MB)

大野様へ

ご指定のように、無理矢理xlsmをxlsxに変えたファイルを添付しました。
このファイルのマクロモジュールの2個目のB_簡易発注手仕舞い系 の中の
Sub 発注処理() の中に norder = neworder(ws0、、、、、)が存在しております。
よろしくお願い申し上げます。

2023年04月02日

大野 了

Kenさん、こんにちは

すみません、肝心なことを忘れてていました
VBAからNEWORDER関数は使用できません。
VBAからはNEWORDER_CL関数を使用して発注を行う必要があります。

引数が一つ少ないのですので、以下のように行うと発注ができると思います。

norder = neworder(ws01.Range("C6"), ws01.Range("C7"), ws01.Range("C8"), ws01.Range("C9"), ws01.Range("C10"), ws01.Range("C11"), ws01.Range("C12"), ws01.Range("C13"), ws01.Range("C14"), ws01.Range("C15"), ws01.Range("C16"), ws01.Range("C17"), ws01.Range("C18"), ws01.Range("C19"), ws01.Range("C20"), ws01.Range("C21"), ws01.Range("C22"))


2023年04月02日

大野 了

Kenさん、こんにちは

>確かに、私も、VBAから発注しているサンプルは未だ発見出来ておりません。
ということは、先日からご質問いただいているソースコードは、
サンプルファイルではなく、Kenさんご自身で記述されたコードということでしょうか?

そうなると、その他のコードを見てみないと何とも原因がわからないのが現状です。


また、添付いただきましたファイルはVBAが削除されているため、VBAの確認はできませんでした。
xlsmのまま、保存いただきファイルの拡張子をxlsxに変更後、再投稿いただけますでしょうかー?

2023年04月01日

Kenさん

日本株サンプル(抜粋).xlsx (35.1KB)

大野様へ

<VBAから発注を行っているサンプルが見つけられず・・・
確かに、私も、VBAから発注しているサンプルは未だ発見出来ておりません。
私が発見したのは、ビデオでした。以下そのビデオのpdfのURLです。
https://www.okasan-online.co.jp/ont/use/rss/seminar/pdf/seminar04.pdf
この6~7ページに渡って、VBAで発注する場合の説明があります。

それから、私が使用したサンプルシート 「日本株サンプル.xlsx」の
シート“注文管理画面”だけを抜き取ったファイル「日本株サンプル(抜粋)xlsx」
を添付しましたのでそれを見ていただければ幸いです。

norder = neworder(ws01.Cells(6, 3), ws01.Cells(7, 3)、、、、、、、、)というコードは
シート“注文管理画面”のC6~C22 を参照している。という事です。

本日又、シートで発注されることを確認しました。
更にVBAでの発注をトライしましたが、同じエラーが発生し、発注出来ませんでした。

以上よろしくお願い申し上げます。

2023年04月01日

Kenさん

以下のコードで、中身を確認しました。
MsgBox (ws01.Range("C6")): MsgBox (ws01.Range("C7"))
MsgBox (ws01.Range("C8")): MsgBox (ws01.Range("C9"))
MsgBox (ws01.Range("C10")): MsgBox (ws01.Range("C11"))
MsgBox (ws01.Range("C12")): MsgBox (ws01.Range("C13"))
MsgBox (ws01.Range("C14")): MsgBox (ws01.Range("C15"))
MsgBox (ws01.Range("C16")): MsgBox (ws01.Range("C17"))
MsgBox (ws01.Range("C18")): MsgBox (ws01.Range("C19"))
MsgBox (ws01.Range("C20")): MsgBox (ws01.Range("C21"))
MsgBox (ws01.Range("C22"))
すべてOKでした。(ただし、C13、C19、C20 はカラです)
と申しますのは、サンプルシートを使用しておりますので
(発注が実際に実行されるのを確認済み)問題ないはずですが、、

2023年03月31日

大野 了

なるほどー

それでしたら、全体のソースが分からないため、
投稿されたソースコードを見る限りですが
『ws01』にSheetオブジェクトは格納されていますでしょうかー?

多分ですが、ws01の変数の中身が空っぽのような気がします!!

2023年03月31日

Kenさん

以下確認しました。
<・参照不可となっている項目が無いか
ありませんでした。
<・岡三RSSにチェックが入っているか
チェックが入っていました。

2023年03月31日

大野 了

申し訳ありません、こちらはどちらのサンプルになりますでしょうか?

ご提示いただきたページのサンプルを全部開いてみたのですが、
VBAから発注を行っているサンプルが見つけらえず・・・

2023年03月31日

大野 了

ありがとうございます!!
コンパイルエラーは無い感じなんですねー

それでは、VBAの参照設定で以下の事を確認していただけますでしょうか?
・参照不可となっている項目が無いか
・岡三RSSにチェックが入っているか

参照設定ダイアログの出し方は以下のサイトを参考にしていただけますと幸いです!!
https://www.sejuku.net/blog/76520

2023年03月31日

Kenさん

ご指定の通り、コンパイルしてみました。
結果、エラーは検出されませんでした。
2回やろうとしたら、薄くなっており、コンパイル出来ませんでした。
(説明を見ますと、コンパイルは、どこか書き直したとき1回だけ有効
と書いてありましたので、その通りでした)

2023年03月31日

大野 了

Kenさん、こんにちは!!

まず、一点確認していただきたいのですが、
VBAのコンパイルは通っていますでしょうか?

以下のサイトで一度コンパイルを試していただけますと幸いです。

https://vbabeginner.net/compile/

また、もしコンパイルが通っていない場合、エラー等を修正してあげると、
本エラーは消える可能性があります。

2023年03月30日

Kenさん

大野様へ
ところで、ステップアップ動画 「動画でわかる! Excelから岡三RSSで個別株発注」
という サイトで一連のビデオを早送りで見ていたところ、足かけ4年前(2020年末ごろ)大野様に、怒濤の質問をしまくっていたころのことを鮮明に思い出してきました!
そして、先物の証拠金のレベルがminiより小さい、ウルトラmini は無いですかね?
などというアホな質問をしていたのを思い出しました! 今、まるで同じ事を今度は、一般株でやろうとしているんだという事に気がつきました! 4年前は、ビデオを見ながら、なんとかIfdoneOCO+時間決済 で、先物の自動売買システムを開発したのでした。
 これから再度ビデオを見まくりますが、先物における、イニシャルレンジブレークから
エントリし、それをIfdoneOCO へ引き継ぐソフトの作り方を説明するビデオを発見しましたので、これを一般株用に使えるかどうか、これから調べます。その節はまたよろしくお願い申し上げます。

2023年03月28日

Kenさん

大野様へ 
大変お久しぶりです。2年ぐらい前だったでしょうか?述べ600回近くQ&Aさせていただきまして、おかげさまで、岡三RSSの実力 20級ぐらいの超入門者から、初段!ぐらいまで上達させていただきました!(自称ですのであてになりませんが!(笑))この間のお対しまして対しまして深く感謝いたしております。
 あれから2年間私は何をしていたかと言いますと、先物から一般株へ移行し、どうやれば利益が出るかを試行錯誤して、最近漸く利益が出るまでに(フォワードテストで)なりました(AIの導入が効きました!)。そこで、遂にゲンナマを掛けて本格トレードを始めようと思い立ったわけです。
 そこで、一般株式対応の、自動売買用のサンプルファイル(銘柄コードを手入力すれば、あとは、エントリ、手仕舞いを自動的にやってくれる)を探しましたが、見つかりませんでした。と申しますのは、フォワードテストで使用していた、09_trailorder.xlsm というサンプル(https://www.okasan-online.co.jp/ont/use/sample/download/02.html
にてダウンロードサイトおよび、解説記事が出ております)が非常な優れもので、保有している銘柄コードおよびその他のエントリ情報を入力すれば、トレーリングストップにて、自動的に手仕舞いしてくれます。このサンプルのおかげで、フォワードテストシステムが比較的簡単に開発できたと言えます。
以上の背景から、エントリに関しても、このような単純なサンプルファイルがきっと探せば出てくるだろうと思っておりました。そうすれば、09_trailorder.xlsm とドッキングして、あとは適当なマクロを開発すれば、簡単に半自動売買システムができあがるに違いない。と考えておりました。
ところが期待に反して、発見出来ませんでした。唯一「日本株サンプル.xlsx」というサンプルが見つかりました。これを調べましたところ、neworderから、replaceorder その他発注に関する関数の例が出ていました。これは、これでありがたいとは思いましたが、、、
しかし、プログラムをデバグする為には、実際に株を買い、約定を確認し、しかる後に、09_trailorder.xlsm にパラメータを入れ、、、、というふうにやらないとデバグできませんので、その間、バグによる誤発注、発注取り消し、発注変更などを辿って、どれだけ損失を出すか、、、戦々恐々としております!  一旦デバグ出来てしまえば、あとは楽になりますが、、、
ということでして、大野様にお聞きしたいのは、半自動システムを完成させるには、誰であっても、その戦々恐々の期間を経由しなければ、自動売買システムを開発する事は出来ない。という事でしょうか。以上長くなりましたが、この辺りをよろしく教授いただければ大変ありがたいです。

2023年03月25日

大野 了

Kenさん、こんにちは。

そうですね・・・
システム開発は誰かにお願いするか、気長に付き合っていくのが一番だと思います。

また、何かありましたらご連絡いただけますと幸いです。

上手くいくことを祈っています!!

2023年03月26日

Kenさん

大野様へ
<残念ながら、岡三RSSにはテスト環境がないため、実際に発注を行うことでしか
<デバッグを行うことができません。
やはりそうでしたか。残念です。是非、大野さんからも、この辺りを岡三証券さんに伝えていただければ幸いです。
 更に言えば、テスト環境を構築するのはコストが掛って大変でしょうから、半自動売買のサンプルがあれば、事足りるのではないか?という気もします。これがあれば、ユーザーは、開発工数を、すべて利益を上げる為のアルゴリズム開発へと集中出来ます(私が2年掛けて開発したものがこれに属します)。そして、そのアルゴリズムと、その半自動システムと結合すれば、完全な自動売買システムが完成します。
 さて、無い物ねだりしてもしょうがありませんので、今後どうやってデバグしていくかですが、、、
<新規発注のテストは、約定しないような値段がだいぶかけ離れた指値でやったり
なーーるほど!
<どうしても成行で出したい場合は、取引パスワードを間違ったやつに変えて、
実際の発<注が飛ばないようにしてテストしています。
またまたなーるほど!
<決済時も同様で、岡三RSSを止めてORDERQUERY関数で帰ってくるであろう値を
<Excelに手入力してVBAを動かしたりと、ぎりぎりまで実発注せずとも
<安全に動くようにテストしています。
なるほど了解です。
しかし、トータルでエラーフリーを確認するには、かなり岡三RSSについてハイレベル
でないと開発は難しいのではないか?という気もします。2~3年前に大野様に鍛えていただいたおかげで、数ヶ月かければなんとかなるかなあという気もしておりますが、、
ひょっとして1年がかりかなあ、、という気もしないでもありません。
再度、大野様を質問攻めにするかも知れませんが、そのときは再度よろしくお願い申し上げます。

2023年03月25日

大野 了

Kenさん、こんにちは!!
やはり以前やり取りさせていただいたKenさんでしたかー
こちらこそ、その節はお世話になりました。
何はともあれ、トレードができるぐらいまでシステムが成長されたとのことで、よかったです!!
そして羨ましいです(笑

さて、本題ですが・・・

>半自動システムを完成させるには、誰であっても、その戦々恐々の期間を経由しなければ、自動売買システムを開発する事は出来ない。という事でしょうか。

残念ながら、岡三RSSにはテスト環境がないため、実際に発注を行うことでしたデバッグを行うことができません。

自分の場合、
新規発注のテストは、約定しないような値段がだいぶかけ離れた指値でやったり、
どうしても成行で出したい場合は、取引パスワードを間違ったやつに変えて、実際の発注が飛ばないようにしてテストしています。

決済時も同様で、岡三RSSを止めてORDERQUERY関数で帰ってくるであろう値をExcelに手入力して
VBAを動かしたりと、ぎりぎりまで実発注せずとも安全に動くようにテストしています。

ですが、やはり最後はどうしても本番のデータで確認しないと行けないので、
その時は、実際に発注してデバッグしています。

テスト環境があると助かるなーと思うことは自分もあります。

2023年03月25日

大野 了

Kenさん、こんにちは!!

Kenさんは、以前やり取りさせていただいたKenさんでしょうか?
それでしたら、お久しぶりです!!


09_trailorder.xlsmはどちらのサンプルになりますでしょうかー?
見つけれず・・・
OCO的なサンプルのやつになりますでしょうか?
ダウンロード先を教えていただけますと幸いです。


自分も以前、半自動売買のデイトレード用のExcelシート依頼されて作ったことがあるのですが、
サンプルは使用せずに、1からすべて起こしました。

トレードスタイルにもよると思いますが、
デイトレードの場合一日に何回も取引したりするため、どうしてもフラグ制御など必要になってしまいます。

その場合、VBAを使った方がシステムがシンプルにできるため、1から起こしています。

2023年03月23日

職業玄人

RSS起動時エラー

昨夜からRSS起動時に以下のエラーが発生します。

プラットフォームのバージョン情報
Windows : 10.0.19045.0 (Win32NT)
Common Language Runtime : 4.0.30319.42000
System.Deployment.dll : 4.8.9037.0 built by: NET481REL1
clr.dll : 4.8.9167.0 built by: NET481REL1LAST_B
dfdll.dll : 4.8.9037.0 built by: NET481REL1
dfshim.dll : 10.0.19041.30000 (WinBuild.160101.0800)

ソース
配置の URL : file:///C:/Users/xxxx/AppData/Roaming/Microsoft/Internet%20Explorer/Quick%20Launch/User%20Pinned/TaskBar/%E5%B2%A1%E4%B8%89RSS.appref-ms%7C

エラーの概要
以下はエラーの概要です。これらのエラーの詳細はログに一覧表示されています。
* C:\Users\xxxx\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\岡三RSS.appref-ms| のライセンス認証により例外が発生しました。 次の失敗メッセージが検出されました:
+ 参照されたアセンブリはシステムにインストールされていません。 (HRESULT からの例外:0x800736B3)

コンポーネント ストア トランザクションの失敗の概要
トランザクション エラーは検出されませんでした。

警告
この操作中に警告は発生しませんでした。

操作の進行状況
* [2023/08/07 21:18:25] : C:\Users\xxxx\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\岡三RSS.appref-ms| のライセンス認証が開始されました。

エラーの詳細
この操作中に次のエラーが検出されました。
* [2023/08/07 21:18:34] System.Runtime.InteropServices.COMException
- 参照されたアセンブリはシステムにインストールされていません。 (HRESULT からの例外:0x800736B3)
- ソース:System.Deployment
- スタック トレース:
場所 System.Deployment.Internal.Isolation.IStore.GetAssemblyInformation(UInt32 Flags, IDefinitionIdentity DefinitionIdentity, Guid& riid)
場所 System.Deployment.Internal.Isolation.Store.GetAssemblyManifest(UInt32 Flags, IDefinitionIdentity DefinitionIdentity)
場所 System.Deployment.Application.ComponentStore.GetAssemblyManifestFromStore(DefinitionIdentity asmId)
場所 System.Deployment.Application.ComponentStore.GetAssemblyManifestWithRetry(DefinitionIdentity asmId, TimeSpan retryInterval, Int32 maxRetryCount)
場所 System.Deployment.Application.ComponentStore.GetSubscriptionStateInternal(DefinitionIdentity subId)
場所 System.Deployment.Application.SubscriptionStore.GetSubscriptionStateInternal(SubscriptionState subState)
場所 System.Deployment.Application.ApplicationActivator.ProcessOrFollowShortcut(String shortcutFile, String& errorPageUrl, TempFile& deployFile)
場所 System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl, Uri& deploymentUri)
場所 System.Deployment.Application.ApplicationActivator.PerformDeploymentActivationWithRetry(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
場所 System.Deployment.Application.ApplicationActivator.PerformDeploymentActivationWithRetry(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
場所 System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)

コンポーネント ストア トランザクションの詳細
トランザクション情報はありません。

2023年08月08日

大野 了

職業玄人さん、こんにちは!!

すでに解決されたので多分見られることはないと思いますが、一応・・・

本件ですが、自分の知り合いでも同じことが発生しました。
やはり、ClickOnceのキャッシュが壊れてるみたいで、キャッシュをクリアしたら解決しました。

最近あったWindowsUpdateが怪しいですね・・・

具体的な対処方法は以下の内容をご参考いただけますと幸いです!!
https://bbs.okasan-online.co.jp/ont/rss/board/?category_id=1&topic_id=589

2023年08月13日

職業玄人

大野様、コメントありがとうございます。
結局、面倒なのでWindowsアカウントを追加、岡三RSS専用環境にインストールして解消(回避?)しました。

2023年08月11日

大野 了

職業玄人さん、こんにちは!!

Windowsアカウントを追加して解消されたという事は、
ClickOnceのキャッシュがおかしくなってた可能性が高いですねー

なにはともあれ、解決できたようで良かったです!!

2023年08月12日

大野 了

職業玄人さん、こんにちは!!

スタックトレースを拝見した感じ、ClickOnceの起動時の起動時に例外が発生しているようです。

内容的に再インストールまでやらなくても、ClickOnceのキャッシュフォルダの削除だけでも大丈夫そうですが、
念のため、岡三RSS自体を再インストールしてあげた方がよいかもです!!

他の方からいただいた質問への返信のリンクで大変申し訳ございませんが、
以下のリンクの手順にてClickOnceのキャッシュを削除して、再インストールしてみていただけますでしょうかー?
https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=533#comment_2883

これで直るとよいのですがー

2023年08月08日

ヒロシ

複数銘柄でRSSで信用売買プログラムを作成する場合の「発注番号」の採番方法の考え方について

今、VBAで自動化プログラムを作成しているのですが、
複数銘柄でRSSで信用売買をする場合の『発注番号』の採番方法をどのように考えていけばよいかよくわかりません。
例えば、銘柄「7203」で信用買いの場合「7203_M007」、信用売り「7203_R008」という形で銘柄ごとに管理するようがよいのでしょうか?
また、「7203_M007」の下3桁の数字部分は、増えていくことになるかと思いますが、
発注初期からの通し番号をどんどん増やして管理しないといけないものでしょうか?
まだ、発注自体をやっことがなく、仕様を見ながらプログラムを作りこんでおります。
売りと買いをセルで表示させたタイミングで、
①信用買いの関数[MARGINORDER]や②信用売発注の関数[REPAYMENTORDER]
を動かしたいのですが、その際に『発注番号』の採番していく必要があり、
「注文紹介のORDQUERYの関数」や「保有の注文紹介のPOSITIONの関数」と絡めてどのように管理していくのか
分かり易い事例にて紹介頂けるとありがたいと思い、ご連絡させていただいた次第です。
よろしくお願いします。

2023年08月19日

ヒロシ

大野様
この度は、大野様のお立場を取り違えまして大変申し訳ありませんでした。お詫びいたします。
また、長文にもかかわらず、懇切丁寧にご確認いただきまして、大変有難うございました。
関数についての案内ページの参照の方法に少しづつ慣れてきましたが、念のための確認させていただけますと幸いです。
<ご質問の内容1>
>>3.決済発注時(REPAYMENTORDER_CL)の建単価(第10引数)、建年月日(第11引数)の扱い方
>こちらは、約定した際の価格と建年月日を指定してあげる必要があったと思います。
信用の売り[REPAYMENTORDER_CL]に対応する新規信用の買い[MARGINORDER_CL]の買い注文が約定した結果を、
下記URLの[POSITION]関数を「信用建玉別表示」でEXCEL上に第5引数の「取得単価(建単価)」第12引数「約定日付(建年月)」
https://www.okasan-online.co.jp/ont/rss/manual/detail/10
を表記し、対応する信用の売り[REPAYMENTORDER_CL]建単価(第10引数)、建年月日(第11引数)に登録する
という理解で誤りないでしょうか?

<ご質問の内容2>
関数(REPAYMENTORDER_CL)と(MARGINORDER_CL)における『発注番号』のの通し番号は、
RSSの接続をサインアウトする度に、0リセットされるという理解でよろしいでしょうか?

お手数になりますが、ご教示の程宜しくお願いします。
あとは、執務中のお昼休みが少しでもとれれば、実際に少額の売買をやってみて、売買データがどのようにとれるか等を確認する必要がありそうに感じました。

よろしくお願いします。

2023年08月27日

大野 了

ヒロシさん、こんにちは!!

返答しすぎていつも間違われるので、大丈夫です (笑
自分こそ紛らわしくて申し訳ない限りです・・・

自分宛という事で遠慮なく回答します!!(笑


さて、ご質問の内容ですがー

>信用の売り[REPAYMENTORDER_CL]に対応する新規信用の買い[MARGINORDER_CL]の買い注文が約定した結果を、
>下記URLの[POSITION]関数を「信用建玉別表示」でEXCEL上に第5引数の「取得単価(建単価)」第12引数「約定日付(建年月)」
>https://www.okasan-online.co.jp/ont/rss/manual/detail/10
>を表記し、対応する信用の売り[REPAYMENTORDER_CL]建単価(第10引数)、建年月日(第11引数)に登録する
>という理解で誤りないでしょうか?
はい、ヒロシさんのご認識通りとなります!!


>関数(REPAYMENTORDER_CL)と(MARGINORDER_CL)における『発注番号』のの通し番号は、
>RSSの接続をサインアウトする度に、0リセットされるという理解でよろしいでしょうか?
もしや・・・
『発注番号』はヒロシさんが、各発注を個別に識別したいために独自で作った番号ではなく
『発注ID(第13引数)』に指定したい内容になりますでしょうか?
それでしたら、RSSで再起動したら初期化されますので、0リセットしても大丈夫です!!
自分は、初期化が面倒なので、日時をそのまま発注IDとしています!!


>あとは、執務中のお昼休みが少しでもとれれば、実際に少額の売買をやってみて、売買データがどのようにとれるか等を確認する必要がありそうに感じました。
自分も自動売買のシステムを作るまでは、岡三RSSの関数を使ってだいぶ手動発注して実験しましたー
決済をするためには、実際にポジションを持たないとダメですが
発注に関しては、指値で約定しないような価格で発注したりしてました。

2023年08月27日

大野 了

ヒロシさん、こんにちは!!

質問中に『岡三証券様にご質問』とあるのですが、こちらは自分宛でのメッセージという事で問題ありませんでしょうかー?
自分は岡三オンライン証券さんの社員ではなく、RSSの1ユーザとなります!!

もし岡三オンライン証券さん宛で、自分宛でなかった場合は、勝手に返答する形になってしまい申し訳ありません。

ご質問の内容ですがー
全体的に確認したところ、以下の内容で漏れはありませんでしょうか?

1.大引け時に注文が残ってしまった場合の対応
2.通常発注時の逆指値系の引数(第14引数, 第15引数)の扱い方
3.決済発注時(REPAYMENTORDER_CL)の建単価(第10引数)、建年月日(第11引数)の扱い方

もしそうであれば・・・

>1.大引け時に注文が残ってしまった場合の対応
『MARGINORDER_CL』 『REPAYMENTORDER_CL』共に、第7引数に『期間指定』というものがあります。
これを『T:当日のみ有効』にしていただくと、大引け後注文が残っていた場合、自動でキャンセルされます。


>2.通常発注時の逆指値系の引数(第14引数, 第15引数)の扱い方
逆指値が不要な場合は空白("")で大丈夫です!!


>3.決済発注時(REPAYMENTORDER_CL)の建単価(第10引数)、建年月日(第11引数)の扱い方
こちらは、約定した際の価格と建年月日を指定してあげる必要があったと思います。


以上、ご参考になれば幸いです!!

2023年08月27日

ヒロシ

大野様
お世話になります。
「MARGINORDER_CL」と「REPAYMENTORDER_CL」関数を利用して、5分足で注文売買のトリガーが発動した際のVBAのプログラム作成を試みております。
大きく下記(1)~(3)の考え方でVBAを組む方向で考えていおり、要件を定義する中で以下①②に関する質問項目が出てきました。
①進めていく中で関数における引数の使い方詳細の確認
②大引けで残ってしまった買いと売りの注文をキャンセルする方法

システムの動きとしては、
(1)9:00~14:50までは、
「REPAYMENTORDER_CL」で「0:成行」の買い注文と「REPAYMENTORDER_CL」で「0:成行」の売り注文を交互に入れる。
(2)手仕舞い時間を14:55とし、14:55に買い注文は「REPAYMENTORDER_CL」は「5:引成」の売りがの大引け15:00までに成立するようにする。
(3)15:00の大引けに売りと買いの注文が残っていたら、VBAマクロでキャンセルする
   ⇒VBAでその日の残売買をキャンセルさせることはできるか?どのような関数を使うか?【岡三証券様にご質問:②】

上記(1)~(3)のロジックを組むために、以下の考え方で、5分足の自動売買のロジックを作成して間違えがないか?確認したいと考えております。
当面、逆指値は止め、成り行き注文のみの、売買トリガーの発動に応じた売買のプログラム作成のみを行いたいと考えています。
以下について【岡三証券様にご質問】の部分と、関数の利用イメージに間違えがないか?ご教示ください。

(1)9:00~14:50までの通常発注時(5分足で売買するので)
①9:00~14:50でまで、売買許可トリガーのセル=1おいて"注文売買"のトリガー=”買”が出た場合
 以下の関数イメージで買いを行う
 ・MARGINORDER_CL(”1358”,””,3,0,”0”,1,T,”20230825”,0,1,1,”password”,”1358_M_0001”,””,””,”1”,”1”,0)
(※1) 引数3は「売買区分は”3:買”」、引数4は「執行条件は”0:成行”」とする
 (※2) 発注IDは『銘柄コード+_M+通し番号』とし、通し番号はマクロで数値を増やしていく。<上の例では、発注IDは「1358_M_0001」で、通し番号は「1」とした>
 (※3) 引数14,引数15は空欄””にしてよいか?(逆指値はやらないので項目は入れない)【岡三証券様にご質問:①】

②9:00~14:50でまで、売買許可トリガーのセル=1おいて、"注文売買"のトリガー=”売”が出た場合
 以下の関数イメージで買いを行う。
 ・REPAYMENTORDER_CL(1358,,1,0,'0',10,T,'20230826',0,,,0,0,”password",”1358_R_0008”,,,,1,'1',0)
 (※1)  引数3は「売買区分は”1:売”」、引数4は「0:成行」とする
 (※2) 発注IDは『銘柄コード+_M+通し番号』とし、通し番号はマクロで数値を増やしていく。<上の例では、発注IDは「1358_M_0008」で、通し番号は「8」とした>
 (※3) 第10引数:建単価と第11引数:建年月日は空欄”にしてよいか?(引数4は「0:成行」なので【岡三証券様にご質問:①】
(※4) 引数16,引数17は空欄””にしてよいか?(逆指値はやらないので項目は入れない)【岡三証券様にご質問:①】

(2)14:55の手仕舞い時(5分足で売買するので)
③14:55 売買許可トリガーのセル=1おいて、"注文売買"のトリガー=”買”が出た場合
14:55~15:00までは、新規信用の関数[MARGINORDER_CL]の買い注文はマクロで動作させない。

④14:55  トリガーのセル[Sheet"発注条件等一覧"!G3セル]=1おいて"注文売買"のトリガー=”売”が出た場合
 14:55に以下の関数を呼び出し、15:00に売買成立させる
 ・REPAYMENTORDER_CL(1358,,1,5,'”0”',10,”T”,'”20230826”',0,,,0,0,”password",”1358_R_0010”,,,'1','1',0)
 (※1)  引数3は「売買区分は”1:売”」、引数4は「5:引成」とする
 (※2) 発注IDは『銘柄コード+_M+通し番号』とし、通し番号はマクロで数値を増やしていく。<上の例では、発注IDは「1358_M_0008」で、通し番号は「8」とした>
 (※3) 第10引数:建単価と第11引数:建年月日は空欄””にする?(引数4は「0:成行」なので)【岡三証券のご担当ごに質問:①】
(※4) 引数16,引数17は空欄””にする?(逆指値はやらないので項目は入れない)【岡三証券のご担当にご質問:①】

⑤トリガーが空欄であれば売買しない。
(3)15:00の終了時
 15:00時点で残ってしまった信用買いと売りの注文をキャンセルする
 →15:00にVBAで残ってしまった信用売りと信用買いの注文をキャンセルさせることはできるか?どのような関数を使うか?岡三証券のご担当に教えて頂きたいと考えている。
  【岡三証券のご担当にご質問:②:具体的にどのような関数を用いて処理を行えばよいか?確認させて頂きたい】

以上、お手数をお掛けしますが、ご教示頂けますと幸いです。宜しくお願いします。

2023年08月26日

大野 了

ヒロシさん、こんにちは

お役にたてて幸いです!!
VBAでのシステムの作成うまく行くことを祈っています!!

2023年08月23日

ヒロシ

大野様
お世話になります。
今回の一連のご質問では最後の質問になるかと思います。

『MARGINORDER_CL』関数の使用しての売買ですが、
買いの場合は、第3引数の「売買区分」=”3” で信用買いの買い
売りの場合は、第3引数の「売買区分」=”1” で信用買いの売い
になるという理解でよろしいでしょうか?

また、下げ相場を利用した信用売買による空売りをVBAで行いたいのであれば、
関数『REPAYMENTORDER_CL』を使用するという理解でよろしいでようか?
その場合、
第3引数の「売買区分」=”1” で空売りの買い
第3引数の「売買区分」= ”3” で空売りの売り
となりますでしょうか?
ご教示頂けますと幸いです。
よろしくお願いします。

2023年08月22日

ヒロシ

大野様
お世話になります。本村です。
今回は色々ご教示頂き、大変有難うございました。
何とか頑張ってVBAのプログラムを作成しようと思います。
よろしくお願いします。

2023年08月22日

大野 了

ヒロシさん、こんにちは!!

信用取引の売買に関してですが、

信用買い、信用売り(空売り)問わず、
MARGINORDER_CLが『新規発注』
REPAYMENTORDER_CLは『決済発注』となります。

このため、新規発注したい場合は
一律、MARGINORDER_CL関数を使用し
信用買いの場合は、第3引数の「売買区分」=”3”
信用売り(空売り)の場合は、第3引数の「売買区分」=”1”

となります!!

2023年08月22日

ヒロシ

大野様
お世話になります。
この度は、懇切丁寧に御対応下さり大変有難うございました。
また、プログラムを作成する中で、不明点が出てきましたら、ご質問させて頂くかもいsれませんが、引き続き宜しくお願い致します。

2023年08月22日

ヒロシ

大野様
お世話になります。おはようございます。ご連絡頂き有難うございます。
当初のご質問が、的を得ていなくて申し訳ありませんでした。
<最初の質問>
「発注番号」とは”発注を管理するためのシリアル番号のようなもの”という理解でいました。
例えば、銘柄ことに、(a)信用買いの関数[MARGINORDER]と(b)信用売発注の関数[REPAYMENTORDER]に応じたアルファベット1文字をつけ、「発注番号」を通し番号をつけていくという考え方で進めるとすれば、以下の例で「発注番号」を考えても問題ないでしょうか?具体的なイメージを以下①~⑤の例で示します。
①「発注番号」1358_M_0001: [市場コード”1358”における通算1番目の発注で(a)信用買いの関数[MARGINORDER]の発注なので”M”をつける]
②「発注番号」1358_R_0002: [市場コード”1358”における通算2番目の発注で(b)信用売りの関数[REPAYMENTORDER]の発注なので”R”をつける]
③「発注番号」1358_M_0003: [市場コード”1358”における通算2番目の発注で(b)信用売りの関数[REPAYMENTORDER]の発注なので”M”をつける] ※仮に何等かの理由で発注を中止したとしてが、通し番号の数値は増えていく。
④「発注番号」1358_M_0004: [市場コード”1358”における通算2番目の発注で(b)信用売りの関数[REPAYMENTORDER]の発注なので”M”をつける]
⑤「発注番号」1358_R_0005: [市場コード”1358”における通算2番目の発注で(b)信用売りの関数[REPAYMENTORDER]の発注なので”M”をつける]
上記のような考え方で進めていけば、①の信用買いと②の信用売り、④の信用買いと⑤の信用売りが、それぞれが売買のセットになる。
今、作成しようとしているプログラムは、自動プログラムのSHeet「発注条件等一覧」の”売”と”買”のタイミングでの売買発注 & 自動メール送付を行うことを考えております。
サンプルプログラムとして近いものは、下記URL内の「「ナイトセッション」で岡三RSSを活用した取引手法解説シリーズ 総論 【第4回】後編」の動画とサンプルプログラムを拝見して、ご質問した次第です。
https://www.okasan-online.co.jp/ont/rss/movie/chart/order.html??id=8bCD5be82mk

<追加質問>
あと1点追加でご質問ですが、[MARGINORDERでは第19引数、REPAYMENTORDERでは第22引数]に「注文番号表示先セル」の項目があるのですが、これはどのような意図で設けられているものでしょうか?
『次の発注番号を考える場合の資料としてEXCEL上のどこかのセルに記載する必要があれば、表示先のセルを指定するものである』と考えましたが、利用方法に苦慮したため、ご質問した次第です。

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

2023年08月21日

大野 了

ヒロシさん、こんにちは!!

『発注番号』の採番とありますが、こちらは具体的にどのような用途でご使用される予定でしょうか?

いろいろと想像したのですが、いまいちヒロシさんが『発注番号』を、
どのように使われたいかが想像できず・・・(申し訳ありません)
『発注番号』をどのような用途でご使用になりたいのか、情報をいただけますと少し何かお伝えできるかもです!!

2023年08月21日

大野 了

ヒロシさん、こんにちは!!

なるほど、いろいろと理解できましたー
ありがとうございます。

『発注番号』は、発注した際に、各発注を自身で管理されたい番号ということで問題ありませんでしょうか?
もしそうであれば・・・

ヒロシさんのおっしゃれている方法で問題ないと思います!!


>あと1点追加でご質問ですが、[MARGINORDERでは第19引数、REPAYMENTORDERでは第22引数]に「注文番号表示先セル」の項目があるのですが、これはどのような意図で設けられているものでしょうか?

こちらですが、
発注関数で注文を行ったときに、注文一つ一つに振られるユニークな注文番号を表示させるセルを指定する引数となります。
(番号は岡三オンライン証券さん側で割り振られます。)
例えばここに、A2と記述すると、A2セルに注文を行った際の実際の注文番号が表示されます。
用途としては、
発注したものの注文状態はORDQUERY関数で確認するのですが、この時対象の注文を探すために使用します。

また、この関数は残念ながら、VBAから使用することはできず、
VBAから発注を行うには、MARGINORDER_CLを使用する必要があります!!

まとめると・・・
・MARGINORDER
発注が通ったときの注文番号を取得できるが、ワークシート関数としてしか使用できない。

・MARGINORDER_CL
発注が通ったときの注文番号取得できないが、VBAでも使用できる。

となります!!

ヒロシさんがVBAから発注を行う場合は『MARGINORDER_CL』を使用して発注を行う必要があります!!

2023年08月21日

ヒロシ

大野様
お世話になります。度々のご連絡有難うございます。

私は、信用取引における複数株式の自動売買のプログラムをVBAで作成しようと考えております。
この際に「発注番号」をどのように扱うかの一般的な考え方が分からずご質問させていただいた次第です。

銘柄種別は特に考えず、『発注種類毎の(a)信用買いの関数[MARGINORDER]と(b)信用売発注の関数[REPAYMENTORDER]に応じて頭に M +通し番号 とか R +通し番号 とかのような形で管理するのが普通の考え方である』
ということであれば、そのようにしたいと考えております。

お手数になりますが、ご教示頂けますと幸いです。
よろしくお願いします。

2023年08月21日

けんた

歩み値の取得

指定銘柄の任意時間(株取得時)からの歩み値の取得をし、売却タイミングを判断したいと考えています。TICK関数では30件となっていますので、これを超える場合もありますので、VBAでエクセル上に一旦書き出すなどして、取得する(ためこむ)ことになるのでしょうか?その際、VBAからTICK関数を呼び出し書き込む場合の参考になるシートなどはありますか?VBA初心者ですので、参考になるプログラミングなどをご教示いただければ幸いです。

2023年08月31日

丹下段平

VBA なんだか難しいですよね~
当方もなんだかチンプンカンプンなのですがっ!!!
chatGPT(MSNでチャットモードで動きます)この子、めっちゃプログラムに関して詳しくて
一瞬でほしいプログラムを書いてくれたりします。
ぜひ使ってみて下さい。恐ろしく明確な答えをくれると思います。

2023年09月25日

大野 了

けんたさん、こんにちは!!

確かに・・・
今回のデータを転記するVBAは増えたデータを探したりする必要があるため、
少し面倒そうですね・・・

VBAの勉強に関してですが、少し古いですが、まとめサイトがありました!!
https://variiis.com/blog/vba-study-website/
無料のサイトもありましたので、この中からご自身に合ったサイトで勉強されるのが一番近道かもしれません!!
ご参考になれば幸いです!!

もしくはもし詰まった際は、VBAの内容でよいのでまたご質問いただけますと幸いです!!

2023年09月03日

けんた

コメントありがとうございます。

VBA初心者で、大野様のコメントの内容はりかいできるものの、VBAのプログラムを書くのに、超難儀しております。

VBAを勉強するのによい手法はないものでしょうかねえ、、、
頑張ってみますが、なにか良い方法があったらご教示くださいませ。
以上、よろしくお願いいたします。

2023年09月02日

大野 了

けんたさん、こんにちは!!

残念ながら、TICK関数はVBAから呼び出すことができないため、
セル関数で出力されたものをVBAで転記してため込む形になります。

この時、セル関数で取得するTICKの項目ですが、
面倒ですが"CSV"がよいと思います。
CSV形式は、TICKのすべてのデータをまとめて落とすモードとなり、
TICK取得項目間のずれを防ぐことができる取得方法です。

例)
『=TICK("8609","東証","30","CSV",T2)』


基本はこのCSV形式で出力されたTICKの値を、
1件ずつループさせながら、カンマ単位でばらしつつ、ワークシートの別の場所に転記していくだけなのですが、

一つ面倒な問題があり、すでに転記してしまったTICKのデータも30件の中にあるため、
転記の際に必要なTICKのデータ(現在値など)と合わせて『出来高通番』も転記し、
未転記のTICKのデータかどうかを判断し、転記する必要があります。


また、実際にVBAを組まれる際のイベントは『Worksheet_Calculate』がよいと思われます!!
(1秒ごとの動作の場合、1秒以内にTICKのが30件以上出た場合、データが流れてしまう可能性があるため)


もしよくわからない部分があれば、再度ご質問をいただければ幸いです!!

2023年08月31日

大野 了

【大朗報】先物のロウソク足などの取得関数が先物のサービス停止後も使えるみたいです!!

こんにちは、大野です。

岡三オンライン証券さんのサイトに、
『先物終了後も利用できる岡三RSSの関数』
の情報が上がっていました!!

https://www.okasan-online.co.jp/information/2023/0830a/

FBOARDやFCANDLEなどの関数がそのまま使えるみたいなので、
先物のサービス終了後も、
今まで通りに板情報やロウソク足は、そのまま取得できるみたいです。

正直、先物系の情報はすべて取れなくなるだろうなー
と思っていたので、めっちゃうれしい誤算です!!


1分足のデータが5日分取れるのが岡三RSSしかないので、
FCANDLEがそのまま使えるのは、ほんとめっちゃありがたい。


※いっそ、このまま先物のサービスも継続をせずに・・・

2023年08月30日

大野 了

Windows Updateをかけると、岡三RSS、および岡三ネットトレーダが起動しなくなる状況について

こんにちは!!
大野です!!

どうやら一部のPCでWindowsUpdateが動いた後に、
岡三RSSとネットトレーダーが起動しなくなる現象が発生しているようです。
(自分のPCでは起きておらず、知り合いのPCで発生しました。)

内容としては、先日、職業玄人さんからご質問を受けたのご質問と同様の状況でした。
https://bbs.okasan-online.co.jp/ont/rss/board/?category_id=1&topic_id=588

複数の方で起きたという事はWindows Updateが原因の可能性が高く
他の方でも同様の現象が起こる可能性が高いと思いますので、
知り合いのPCのサポートした時の解決方法を展開しまーす!!

原因としてはClickOnceのキャッシュ(もしくは証明書)の整合が取れなくなり、起動に失敗するようです。

以下の手順で、ClickOnceのキャッシュをクリア後に
アイコンをクリックして起動して自動で走るインストールを
もう一度動かしていただきますと、起動するようになります。


1.エクスプローラで『C:\Users\xxxxx(ログインしているユーザ)』を表示

2.以下のサイトを参考に、隠しファイルを表示できるようにする
Windows10の場合
https://helpx.adobe.com/jp/x-productkb/global/show-hidden-files-folders-extensions.html
Windows11の場合
https://win11lab.info/win11-hidden-file/

3.AppDataフォルダが表示されると思いますので、以下のサイトの手順で、clickonceの情報を削除
http://blog.regrex.jp/2016/09/02/post-972/

4.岡三RSSとネットトレーダのアイコンをクリック

5.『インストールするかい?』と聞いてくるので、インストールボタンを押して再インストール

これで、岡三RSSとネットトレーダが起動できるようになります!!


※また、岡三RSSやネットトレーダーだけではなく、
※ClickOnceを使用しているアプリケーションもすべて復旧します!!

2023年08月13日

RSSユーザー

UWSC上でエクセルの一つの条件時に2つのプログラムを実行させたいです。

いつもお世話になっております。
以前、UWSC上でエクセルのセル値が特定値でマクロ実行するプログラムを教えていただきました。以下の文です、G1=1(休日朝、株価セル値がリセットされていない)時、マクロ3(エクセル上書き保存後終了)実行というものです。

try
ExcelObj = GETACTIVEOLEOBJ("Excel.Application")

If ExcelObj.Sheets("データ").Range("G1").value = 1 Then
ExcelObj.Run("Macro3")
EndIf

except
exit
endtry

この条件の時にもう一つUWSCのスクリプト1を実行させたいのですが、どのように追加して書けばよいかお教えください。

スクリプト1.uws(開いている特定サイトを閉じるスクリプト)

2023年10月09日

大野 了

RSSユーザさん、こんにちは!!

他のスクリプト呼び出しが、問題なく動作したようで良かったですっ!!
また何かありましたら、ご質問いただけますと幸いです!!

2023年10月10日

RSSユーザー

大野様できますた!

try
ExcelObj = GETACTIVEOLEOBJ("Excel.Application")

If ExcelObj.Sheets("データ").Range("G1").value = 1 Then
ExcelObj.Run("Macro3")

CALL C:\Users\・・・・・\スクリプト1.uws

EndIf

except
exit
endtry

たったこれだけでいとも簡単にできました!涙がとまりません。
これで今日のような祝日もゆっくり休めます、ほんとありがとうございました。

2023年10月09日

大野 了

RSSユーザさん、こんにちは!!

UWSCで別のスクリプトを呼び出すには・・・

CALL スクリプト1のパス

で良いようです!!

2023年10月09日

すべての投稿を表示する

to_top
to_top

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

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

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

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

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

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

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