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

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

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

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

岡三オンライン証券(代理記入)

当社に寄せられた質問「保有情報取得関数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日

小笠原聖史

以下の記述で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日

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

おおた

第8引数 1
第9引数 1
第10引数 1
第11引数 1
第12引数 “パスワード"
第13引数 “Ceー

2017年05月27日

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

おおた

小笠原聖史 様
早速のご回答お礼申し上げます。
新規買いの発注マクロを詳細にお教え頂き有難うございます。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日

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

すべての投稿を表示する

to_top
to_top

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

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

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

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

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

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

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