自動売買

カジカの裁量トレード

カジカのメインは自動売買なので裁量を広める人ではありません。

ここ最近、裁量で調子が良い方法があるのでその方法を自動化することを目的としてメモしておく。

あと、時々裁量がしたくなったときに、ここを見れば重要な点を思い出すようにしたい。

チャートの発生理由とそれを自動化するための具体的な手法をメモする。

基本的に5分足チャートの話です。

戦略概要

リスクリワードが良いところでエントリ

急な大きい波と逆の方向にエントリしない

他の人の損切を意識して、損切波に乗る

損切は逆指値で入れておく

利確は逆指値を徐々に変更していく

エントリのタイミングで損切は決めておくが利確は決まらない

大きな波があったあとは続けて順張りのエントリをしない。いつもこれでマイナスになる

損切は浅いのでエントリを厳選する

同値撤退を入れる

早漏エントリは禁止。エントリ条件が満たされてからINするべし。

負け始めたら・・・・

負けの原因は、LCが深い 、LCができない 、ポジポジする、エントリが厳選できていない、チキン利確

一撃で死ぬのがLCができないやLCが深いこと。これの対策は、苦しくても浅いLCを入れておく。

終わってみると大損している原因はポジポジしてフルボッコにあうこと。発生理由はエントリが厳選できていないからすぐに逆行するし、すぐにLCにあう。エントリを厳選すること。応急処置は、確定足になってから、大波と逆行しない、安値切り上げ、高値切り下げを確認。

どうしてもポジポジしてしまうときは、厳選したエントリをなんとか作って、そいつを放置する。ポジションをもっていて、そいつが含み益なら精神的にも楽だし、エントリしなくなるのでポジポジが回避できる。ミソは利確しないこと。このポジションは利確目的ではなくてポジポジの治療。このとき、同値撤退を入れておく。

早漏エントリをしないこと

抵抗線、支持線でエントリしない。こいつは危険。

抵抗線と支持線は危険

抵抗線や支持線でエントリすることもあるが、ここは超危険ポイントなのでそれだけが理由でエントリしないこと。

なぜ、超危険か。

リスクリワードの観点から危険さが計算できる。

一見、支持線でエントリするのはリスクリワードが良いと見える。

しかし、支持線を割れこんだら、、、、その良かったリスクリワードに符号がマイナスにある。気が向いたら図解を載せたいが、自分のメモなのでテキトーです。

支持線のPFは1.0程度。むしろマイナス。支持線のPFが良いと勘違いしてる人が多い。ここは注意。

損切波を意識する

先物がなぜ、急上昇、急降下するのか原理を考えたときに行き着いたのが損切波。利確や新規買い、新規売り(エントリ)ではなくて、損切によって大きく動く。

エントリのタイミングは人でばらつく。なので大口がエントリしてもたいして先物は動かない。利確もタイミングは人それぞれ。

でも、損切は違う。みな同じ。

タイミングの議論をすると、エントリと利確は意見が一致しない。なのに、仮にこの辺でエントリしてたらどこで損切する?って議論をした場合、意見が一致する。浅い損切の場合と深い損切の場合で場合分け程度はある。

大きな損切波を意識する

日足で直近の最安値や最高値を確認する。その最安値(高値)から1000円離れているときは大きな損切波が発生する。例えば日足で27000円の最安値がついているとき、28000円で上昇の損切波が発生する。

理屈は、27000円でショートを保有した人たちが、含み損を耐えに耐えている状況。だいたい1000円も含み損をすればロスカットせざる負えなくなる。そのロスカットが一点に集中するため、上昇する。

理屈は同じで、最安値から1000円、1500円、2000円離れたところでも同様に大きな損切波が発生する。2000円を超えた場合はそれ以上保有している人はまずいないと見ている。

具体例でいうと、日足の最安値が27000円のとき、28000円、28500円、29000円までは急上昇がおこる(可能性がある)。

これが分かっていると、チャートでは下げトレンドに見えていても安心してロングに入れる。

他人の利確と損切を意識する

ロングの戦略につながるが、急上昇は第二波まである。

第一波は、ショート勢のロスカットや撤退+ロングのエントリのダブルの圧力

第一波の終了は、早期ロング勢の利確+早漏ショート勢の新規エントリのダブルの圧力。

ここで、第一波の終了の開始は、陰線を付けることと定義した。これで機械的に判断できる。

陰線付けたら第一波終了。これ大事。

ただ、第一波の終了の終了はいくつかの条件が必要。

陰線の出来高が大きいこと

安値切り上げになっていること

ビルドアップしていること。ビルドアップ中に出来高が多ければなお良い。

陽線をつけていること

第二波は、押し目買いを狙った追加のロング勢と、早漏ショート勢の損切波で上昇。ここで、第一波前から持ってたショート勢の損切も食らって上昇するので、第一波よりも強い圧力で上昇することがある。

第二波は、基本的に第一波の高値までは到達し、さらにそこを突き抜けることがおおい。

機械的な利確ポイントは第一波の高値。

一番いいのは第一波をとらえることだが、とらえることができなかった場合、第二波でエントリすることになる。

第二波のエントリのタイミグは、第一波の終了の終了のタイミング。なので、

陰線の出来高が大きいなら、買い

安値切り上げになっているなら、買い

ビルドアップしているなら、買い

陽線をつけているなら、買い

あとはちょっと特殊だが、

陰線でも終値が半分より上にあるなら買い。これは、上昇基調を示してる。このとき、1分足で確認すると陽線になっている(はず)。ただし、早漏エントリではあるので、近くの最安値または最安値を少しオフセットさせたところに指値でエントリ。

ロングの戦略

エントリは第一波のところ。

第一波の数値的なとらえ方は、まだ完成していないので、自動化できていない。

これができれば、自動化の見込みがある。

損切は、近くの最安値に逆指値。その後、逆指値を同値撤退に変更。

利確は、値不明。エントリするときは分からない。機械的な利確タイミングは第二波の第一波の高値。裁量の場合は、そこに逆指値を変更して放置。利益がぐんぐん成長することもある。

エントリ後にすぐに陰線が発生したら、同値撤退なのですぐに離脱すること

(未完成だが)ロングエントリの条件

ローソクの実態が 5MAを上抜け

陽線の確定

エントリ後にすぐに陰線になるなら、第一波ではなかったので、すぐに徹底すること。

最安値が直近4本以内にあること

第二波、第三波で乗っかるエントリは禁止。途中に長いビルドアップがあるなら、それは第一波なので、区別すること。

ショートの戦略

エントリ不明。まだ確立できていない。

せめて、確定足で高値切り下げは確認すること。

上昇中の飛び乗りショートは死亡する。

損切は、近くの最高値に逆指値。その後、逆指値を同値撤退に変更。

利確は、ロングのエントリ条件

同値撤退を入れる

同値撤退は必須であり必勝法。だって同値撤退をしてしまえば、利益またはゼロしかない。損失が存在しない。ただ、むやみやたらにエントリすると同値撤退が設定できないので損切と手数料が積みあがっていき、結果、損になる。

同値撤退の目安

含み益が50円程度あること。〇円のとこは、そとときの波の大きさによるので一概には言えない。値動きがあまりないときは20円とか30円になる。

エントリ後の下ヒゲまたは上ヒゲが建値にかかっていない。この状態が確認できてエントリ後5分足のローソクが2本程度確定しているのなら(エントリ後10分以降)同値撤退を設定。

順張り期と逆張り期を意識する

順張りで勝てるときと逆張りで勝てるときがある

どちらかだけをやり続けると負ける

順張り期は期間が短いが、大きな利益と大きな損失がでる。

逆張り期は期間は長いが、少ない利益と少ない損失になる。

月単位や年単位でこの期間がかわるともとれるが、

5分足チャートでも発生していることがわかる。

主に正当なビルドアップ後に順張り期が発生しやすく、順張り期が終わると、すぐに逆張り期が訪れる。

なので、順張りで成功した方法を、利確後、同じ考えでトライすると、フルボッコにあるので、要注意。

基本的には5分足チャートで検討する

なぜ、5分足チャートで検討するのか。

先に断っておくと、5分足チャートしか見ないのではない。エントリ、損切、利確の検討は5分足チャートを使うのがベストということ。

日足は見る。日足によって、大きな流れを確認することが重要。日足レベルでの逆張り期は期間も長く反転を感じやすい。ここで稀にある、最安値と最高値から1000円,1500円,2000円離れたところは損切波が発生するので要注意。安易に日足の抵抗線を信じないこと。

30分足は見る。5分足でもみ合ったりするところは、たいてい30分足のなんらかの場所になってることがおおい。日足みて、30分足見ての順で確認する。そのあと5分足。

5分足でロジックを検討、検証する。

なぜ、5分足なのか。

逆に利確幅と損切幅がどれくらいを想定しているかから考える。

損切幅(利確幅)が50円~100円なら、それは5分足の波で現れる。

だから5分足で検討する。

例えば、1分足の場合、利確も損切も細かくなり、50円とかにはならない。

最低利確幅が20円であることから、1分足は使いづらい。

30分足や日足など長期足の場合、その足で検証して、良いロジックが見つかったとしても、瞬間最大含み損が-1000円を超えるなどになることがある。

実際、そんな含み損は耐えられない。精神的に耐えられるのは-100円程度。大きくても-200円まで。30分足で検討しても最大含み損が-100円以内なら、それは使えるし、その場合は5分足である必要がない。

日足チャートで、ほら、この通りにすれば儲かりますよってやつもあるが、含み損がえげつないので使い物にならない。

最低利確幅20円

最低利確幅は20円は必要。それ以下で細かくとっても、一回の損切でまける。結果、トータルマイナス。

なぜ、20円なのか。

225miniの刻みは5円でスリッページも考慮すると、利確幅を5円に設定した場合、むしろ利確のつもりがゼロになっていることがある。

10円の場合、スリッページがおきると利益の半分が失われる。

15円の場合、微妙なところ。

20円の場合、スリッページが起きても15円は残る。

あとは、損切幅から逆算。損切幅を100円、利確幅20円で設定した場合、勝率84%でトントン。

損切幅100円、利確幅10円で設定した場合、勝率91%が必要。

考えたロジックの勝率の高さから利確幅も決まる。

まあ、実際は利確幅で勝率もかわるので、両者の検証を行わないと計算できない。

リスクリワードを意識する

エントリ前にリスクリワードを計算する。

リスクは、近くの最安値(最高値)+αで固定される。そこでしかエントリしないのでこっちは決まっている。

リワードは、30分足または5分足25MA、5分足75MA上での安値、高値で考える。

ただし、エントリタイミングが最高値や最安値の場合は、リワードが無限になる。ここで入れるひとは変人だが、理論上は是非入りたいポイントだし、ここでINして大勝することがる。

オートレを解剖する -移動平均線-

バックテストをしていて、ある発見をした。

オートレの移動平均線と自分の移動平均線が一致しない

と思わる現象が発生。

オートレの移動平均線が直接確認できるわけではないので、憶測になるし、

内部の計算方法が詳細に公開されているわけではないので、真実はわからない。

しかし、オートレの移動平均線と自分の移動平均線が違うということだけは、

自信が持ててきた。

自分を含めて、通常は、四本値の本数で移動平均線を計算する。

5分足の25SMAなら、5分足の四本値を作って、その終値を25個足して、その値を25で割る。

ここで、引けの値もこの足としてカウントされるということがミソ。

一方、オートレの移動平均線を間接的に確認すると、

どうやら引けの四本値を含めていないか、5分以下の足からその平均を計算していると思われる。

例えば、1分足から5分足の25SMAを計算するなら、1分足を125本足してその平均を求めるという方法。

これが、引けの値の処理方法で結果として変わってくる。

今後、どのようにバックテストを検討していくかは、もちろん前者の一般的なやり方を採用していく。(オートレの方法ではない)

オートレに実装した場合にずれが生じるのは間違いないが、

自分のメインは岡三RSSだし、ほかのシステムを利用することになっても前者の方が利用しやすいから。

なんで、こんな細かいこと気にしてるの?ってなるかもだけど、

プロバックテスターとしては重要な問題。

繰り返しになるが、オートレの内部処理の真実はわかりません。

持ち越さないけど持ち越す機能

VolPotは以下の点で持ち越しをしません。

  • 場が閉じているときの相場変動によるリスクを回避する
  • アクティブ口座による少ない証拠金

ただ一方で、持ち越すことを前提としたロジックには不向きです。

そこで、「持ち越さないけど、持ち越す機能」を考案しました。

1.引けで決済する

2.本来持ち越すべきだった場合は、次の寄りで再度エントリ

こうすることで、次のメリットがあります。

  • 持ち越すことを前提としたロジックに対応できる
  • アクティブ口座が使えるので証拠金を抑えることができる
  • 実際には持ち越していないので休日も安心できる

なんといっても、実際には持ち越していないから休日に安心できるのはでかいでしょう

一方で、手数料が余分にかかってしまうことと、ギャップよって利益がでたとしてもなかったことになります。

でも、メリットの方が大きいので、この機能はかなり良いでしょう!

自動売買とものづくり

自動売買はものづくりである。

ものづくり、つまり、製品開発をするときに生みの苦しみがある。

設計して、

実機をつくって、

試験をして、

失敗して、

また設計しなおして、

また失敗して、、、

これをずっと繰り返す。

でも、気が付いたときには、初めの製品よりもずっと良いものが出来ている。

時間はかかるけど、出来上がったものをみると感動する。

ある程度の出来栄えで一つの製品としては完成として、

その改良したものを次の製品としてまた開発する。

ものづくりは、ずっとその繰り返し。

そして、自動売買の開発もこれとまったく同じだった。

設計して、

プログラムを書いて、

実売買して、

大損して、ときどきは爆益して、基本は損して、

また設計し直して、

プログラム書いて、

実売買して、

失敗して、、、、

この繰り返し。

でも、気が付いたら、かなり良いものが出来ていた。

そして、そいつを商品とした。

もちろん、そいつを運用していくと新たな気づきが生まれて、

また改良していく。その改良バージョンは次の商品になる。

自動売買の開発も終わりがない。

windows updateの自動化

自動売買専用PCだと、夜中にかってにアップデートされると困ることがある。

そこで、windows updateは土日にやりたい。それも自動的に。出来る限り放置したいんです。

ローカルグループポリシーエディターを使えるようにする

ローカルグループポリシーエディターってのが必要になります。

windows home の場合は通常、使えないようになっているので、まずはこれが使えるように変更。

下のコマンドのbatファイルを作成して実行。

@echo off
pushd “%~dp0”

dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3.mum >List.txt dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3.mum >>List.txt

for /f %%i in (‘findstr /i . List.txt 2^>nul’) do dism /online /norestart /add-package:”%SystemRoot%\servicing\Packages\%%i”
pause

このブログを参考にしました。


実行するとこんな感じ。管理者権限で実行するする必要がありました。

検索バーに「gpedit.msc」と入力するとしたのようなアプリが起動できました。これでOK。

ローカルグループポリシーエディターを設定する

一つ目の設定

二つ目の設定

これで終わり。

ちなみに、二つとも「無効」にすると自動で更新しなくなるらしいです。

あとがき

このやり方は下のブログの方から教わりました。自分のメモ帳(ブログ)にもあると後で検索しやすので残しておきます。

【カジカの自動売買記録】2021年5月

これまでの通算成績(2021/4月~)

+52618円

月間成績

5/1~5/31:+16152円(未確定)

以下、詳細

5月6日デイ

岡三RSSから情報がうまくとれず、すごく焦った。PCの再起動や岡三RSSの再起動を何回もしなければならなかったので、ライブ配信も途中で中断することに。

でも、ライブ配信できなかった日に限って大きくプラス。

VolPotはこうやって大きく勝てるときに利益を伸ばすトレンドフォロー型です。

ロボたまは、ちょっとお休みしてます。たまbeseってのが導入されたんですけど、まずは様子見してます。

5月6日ナイト

5月7日デイ

5月7日ナイト

5月10日デイ

5月10日ナイト

System8

System8はオートレ戦略ショップで販売中(リンクはこちら:準備中)

ロジックについて

インジケーターを使ったロジックなので、オートレで実装可能です。

(例えばVolPotはオートレで実装不可能なロジックのため、岡三RSSを利用)

ロジックはひとつです。同時に何枚も保有しません。

両建てになることもありません。

ショートの値幅系です。

こだわりポイント

  • 常にショートでエントリー

実は、ショートで利益を伸ばすのは非常に難しいです。

これはバックテストをしてみればわかるのですが、ショートで利益を伸ばすのってなかなかできません。

ロングで利益が出るロジックをそのまま真逆のことをショートでやってみる全然うまくいかないことが多いです。

そこで、これならショートでも利益が出たパターンがありますよってことで、紹介します。それがSystem8です。

あまり大きな利益になっていませんが、このSystem8は基本形として、さらに発展させてください。

どういうエントリーでショートが成功するかを分かりやすくするために、あえて単純なロジックにしてあります。

ご自身でショート型のロジックをお持ちの場合は、このSystem8がフィルターとして活躍するかもしれません。

バックテストについて

バックテストには、プログラミング言語を使用した自作ソフトを用いています。
そのため、エクセルマクロでは通常扱わない1分足を使ったバックテストを使用しています。
1分足のバックテストを用いることで、5分足や、15分足でのバックテストよりもはるかに高精度な予測ができます。

画像は2017年(1月1日)から2020年(12月30日)の4年間の結果です。
(他の年はバックテストしていません)

System8はオートレ戦略ショップで販売中(リンクはこちら:準備中)

・本ロジックは将来の利益を保証するものではありません。
 損失が出た場合自己責任となりますのでご注意下さい。
・実売買前にシミュレーションで稼働状況をご確認下さい。
・ドローダウンに備え、資金には余裕を持たせてください

System4

System4はオートレ戦略ショップで販売中(リンクはこちら

https://shop.autore.jp/products/detail.php?product_id=77

バックテストの結果

ロジックについて

インジケーターを使ったロジックなので、オートレで実装可能です。

(例えばVolPotはオートレで実装不可能なロジックのため、岡三RSSを利用)

ロジックはひとつです。同時に何枚も保有しません。

両建てになることもありません。

上昇トレンドフォロー型です。

こだわりポイント

  • 上昇時にエントリー
  • あとは、取れるだけ利益を伸ばす
  • 自動売買に稀な損小利大型
  • 新TS(トレーリングストップ)搭載

一番のこだわりポイントは、新TSを搭載していることです。
このTSは今までに無いカジカオリジナルのTS(トレーリングストップ)です。

裁量トレードなら、損切を早くして、利益を伸ばしますよね。
新TSではそれを実現できます。
あと、新TSでは、利確値と損切値が自動で可変なので、設定値迷子になりません。
エントリー自体は、単純なものですが、この新TSを搭載しているので、お値段はちょっと高めです。

エントリーを改良すれば、さらに増益が見込めると思いますよ。

バックテストについて

バックテストには、プログラミング言語を使用した自作ソフトを用いています。
そのため、エクセルマクロでは通常扱わない1分足を使ったバックテストを使用しています。
1分足のバックテストを用いることで、5分足や、15分足でのバックテストよりもはるかに高精度な予測ができます。

画像は2017年(1月1日)から2020年(12月30日)の4年間の結果です。
この4年間では、各年でも一応プラスとなっていました。
(他の年はバックテストしていません)
さらに2020年のコロナショックの時も、大きな損失をしていない結果でした。

System4はオートレ戦略ショップで販売中(リンクはこちら

・本ロジックは将来の利益を保証するものではありません。
 損失が出た場合自己責任となりますのでご注意下さい。
・実売買前にシミュレーションで稼働状況をご確認下さい。
・ドローダウンに備え、資金には余裕を持たせてください

simulatorを使ってみる

simulatorの使い方を簡単に説明する。

解凍

ダウンロード時にzip形式の場合、使用前にzipを解凍する必要がある。

powershellを開く

「simulator.exe」が格納されているフォルダに移動する。

そのフォルダ上でpowershellまたはコマンドプロンプトを開く。

フォルダの中で、「shift+右クリック」で「powershellウインドウをここで開く」を選択して開く。

実行

Powershellウインドウ上で、「./simulator.exe」と入力し、Enterキー

アドバイス

  • 「s」と入力して「tabキー」を押せば、自動的にsimulator・・・に補完させる
  • 2回目からは、「上矢印キー」でコマンドが表示される
  • コマンドプロンプトでも実行可能
  • 「simulator.exe」をダブルクリックでも実行可(ただし非推奨。この場合、エラーで停止しても内容がわからない)

「out_data.dat」が作成されていれば完了

結果の確認

「out_data.dat」をテキストエディタ(※)で開く

※)テキストエディタはnotepadなど(外部リンク

  • 1列目は出力ステップ
  • 2列目は終値
  • 3列目は損益

が出力されている。この出力を詳細や変更はキーワードマニュアルを参照のこと。

エクセルに中身をコピーしてグラフ等で結果を確認する(結果の確認例はこちら)。

注文の変更

*define_orderで売買条件を指定(変更)する。

詳細はキーワードマニュアルを参照。

足データの変更

*conrol_fileの一行目を変更することで、バックテストをする年を選択できる。

  • 2017年の場合「/data/asi_2017.dat」
  • 2018年の場合「/data/asi_2018.dat」
  • 2019年の場合「/data/asi_2019.dat」
  • 2020年の場合「/data/asi_2020.dat」

このとき、*control_fileの二行目を変更することで、出力ファイル名を変更できる。

詳細はキーワードマニュアルを参照。

simulatorの使い方

自動売買バックテストソフトsimulatorの使い方について

使ってみる(初めての方)

使ってみる(初めての方)はこちら

設定ファイルのサンプル例

下図は、キーワードを用いた設定ファイルのサンプル例。

基本事項

  • 本プログラムはキーワード形式を採用している。
  • 計算に必要な指示(例:control_termination)を、キーワード(keyword)と呼ぶ。
  • “$”によってコメントアウト可能。コメントアウトする全ての行の先頭に必要。$によってコメントアウトされた行はキーワード内の行数にカウントされない。
  • END”は必須のキーワード。プログラムは”END”まで読み取りを行う。逆に”END”以降はプログラムに影響を及ぼさない。
  • 本プログラムはfortran90で開発されており、その挙動(読み取りや書き込み)もfortranの挙動に従う。
  • カラム(列)で連続してパラメータを読む場合、空白によって次のパラメータを認識している。(fortran標準読み取り)
  • カラム(列)のパラメータとパラメータの間は空白を推奨するが、”,”(カンマ)でも対応はしている(非推奨)
  • パラメータの読み取りはfortranの自由長形式(固定長形式ではない)のため、空白の数は問題ではないが、可読性のためにデフォルトでは10文字の固定長で設定されている。
  • 不要なパラメータの場合も、なんらかの値を入れておく必要がある。その値は大抵の場合は”0″を入れる(詳細は各キーワードの説明に従う)。
  • 時間に関する指定は基本的にはシリアル値で行う。シリアル値とは、1秒=1/24/60/60で示された値。

キーワードマニュアル

キーワードマニュアルはこちら

結果をエクセルで処理してみる(結果例)

結果をエクセルで処理した場合の結果例はこちら