ゴン
VBAで上手くコードが書けません…
はじめまして。
先日からVBAでの自動売買を学び始めた超初心者です。
セル関数ではなくVBAの方が比較的簡単という情報を目にしたのでVBAで自動売買ができるように作成中です。
条件としては、
・移動平均線クロスが発生後、新規発注
・その後、逆のクロスが出現したら決済+新規発注
・損切や利確も設定したい
のドテン買いの構想です。
岡三RSSのホームページからダウンロードした先物サンプルにVBAを書き加えております。
やりたいことは頭の中に浮かんでいるのですがなかなか上手くコードが書けず、難しく考えてしまって心が折れてしまっています…
自信をつけるためにどうにかVBAで完成させたいので、どなたかご教授いただけますと幸いです。
ファイルの拡張子を変更しています。
お手数をおかけしますが何卒よろしくお願いいたします。
2022年01月08日
大野 了
ゴンさん、こんにちは!!
>①ロスカット値や利確値はセルの値設定で指定しているのですが、VBAで組み込むにはどのようなコードを組めばよろしいのでしょうか?ちなみに、値を自由に変更できるようにしたいです。(セルの値設定のみで大丈夫なようでしたら、そのままにしようと思っております。)
ゴンさんのPGを拝見していますと、注文()の中に組み込んで頂くのが手っ取り早い感じがします。
ザラバ間の処理が記載してありますので、ザラ場中に発注をした後、
現在値(I46)が利食いや損切価格を超えたら、決済の発注を行うというのがよいと思います!!
>②ポジション決済の際も四本値シートのゴールデンクロスorデッドクロスで判断するのですが、コードの記述はこれで合っていますでしょうか?
こちらは具体的にどちらのコードになりますでしょうか?
ポジション決済のコードが大引け用のは見つけたのですが、クロスで決済するソースがいまいち見つけられず・・・(すみません
>・Function PosCheckから下(ポジションのチェックなど)のコード全てですが、他の質問者さんのコードを参考にしました。
ここの部分のコードは不必要でしょうか…?
もともとの質問のスレッドを確認してきたのですが、
こちらのコードは、ご質問された方がPosReturnの関数の内容を公開されていないため、
呼び出し側のコードをコピーしても呼び出し先の関数がなくエラーとなってしまいます。
2022年01月19日
ゴン
先物(移動平均線クロス)シート - コピー (version 1).xlsb.xls (198.5KB)
大野様、早速のご返信誠にありがとうございます!
再びご指摘いただいた箇所を修正し、ポジションチェックなどの部分は削除いたしました!
また2点ほどご教授いただけると幸いです。
①前回質問させていただいた決済発注は新規発注と同じく、Sheet四本値(移動平均)M6セルのゴールデンorM7セルのデッドで判断します。
新規発注と逆に記述すれば大丈夫でしょうか?
(前回添付させていただいたシートに該当するコードが記述されていなかったので修正しました…すみません。)
② ’損切・利確の条件’ の部分のコードに関して、構文エラーが出てしまいます。
どこの部分を修正すればよろしいでしょうか…?
(現在、注文シート・条件発注部分のセル関数と似たような記述です。)
その他、注文()のコード部分でお気づきの箇所があれば教えていただきたいです。
いつもながらの貢献、敬服いたします。
本当にありがとうございます。
2022年01月20日
大野 了
ゴンさん、こんにちは
>①前回質問させていただいた決済発注は新規発注と同じく、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日
ゴン
先物(移動平均線クロス)シート1 - コピーコピー (version 1).xlsb.xls (223.0KB)
大野様、いつもありがとうございます!
最後の最後でまた問題が出てきてしまいました…
どうしても、このブックのマクロ実行させると『このブックでマクロが使用できないか無効になっている可能性があります』とのエラーメッセージが出てきます。
前提として、
『ツール』→『参照設定』では岡三RSSにチェックは入っています。
『オプション』→『アドインセンター』で無効なアドインには岡三RSSは含まれておりません。
ファイル自体もマクロ有効ブックです。
ちなみに、『発注不可設定になっています。』とのポップは出てきます。
四本値の価格取得などはセル関数で取得している為、マクロが無効になる原因はそれでしょうか…?
ネットで調べても答えがわからず…
ご教授いただきたいです。よろしくお願いいたします。
2022年01月21日
大野 了
ゴンさん、こんにちは!!
返信が遅くなってしまい大変申し訳ありません・・・
こちらですが、岡三RSSは関係なくExcelのセキュリティの設定となります。
以下のサイトを参考に設定してみて頂けますでしょうかー
https://pasokon-labo.com/excel-this-book-cannot-use-macro/
2022年01月24日