ある程度慣れてきたので、Protraの(私の)使い方を説明します。
Protraを通じてテクニカル指標や手法に詳しくなることが、最終的にどんな相場でも利益を出すことに繋がる・・と思っています。
まぁ、株で年間を通して勝ったことは一度もないですが・・・。
Protraとは?
日本の株式市場を対象とするシステムトレードソフトです。独自のプログラミング言語を使用して、さまざまなチャートを描画したり、トレーディングシステムを構築したりすることができます。
- 【ダウンロード】Protra Wiki
- 【使い方】Protraマニュアル
Protraの残念なところ
- 同日売買ができない
- 自動売買ができない
- 各年の利益率を表示することができない
- 組み込み関数が少ない(今日の日付などが取得できない)
- 明日買うべき銘柄を表示する機能がない
- リアルタイムな株価に対する検証はできない
- レンジが異なる2軸の指標を一つのグラフ上に表示すると見にくい
多数の銘柄からシグナルが発生したものはすべてエントリーすることになる
要するにデイトレとして使うことはできません。そもそもリアルの売買機能もないです。
※protraは、基本的に表示された結果をもとに、翌日の寄りで売買することを想定しています。
また、テクニカル指標でのバックテストしかサポートしていないので、似た動きをする銘柄を抽出したり、関数フィティング、遺伝的アルゴリズムやDeep Learningを使った売買検証はできない(と思っています)。
2chを見てみると、Protraのテクニカル指標のライブラリTIlib.ptを参考に、完全にシステムトレードを自作する人もいます。
実売買の自動化を目指す場合には、そのような方向に進んでいくのもありでしょう。
また、UIで出来ることは単純なオプション設定程度です。
因みに、Omega ChartやイザナミはUIから各テクニカル指標のパラメータ調整ができるようです。
【Omega Chart】
【イザナミ】
protraは、かなり割りきった仕様にすることで、ユーザーのバックテスト環境の早期立ち上げを可能としています。
新規に銘柄一覧を作る
デフォルトでは次の3種類しか存在しません。
- 株価指数
- 日経平均構成銘柄
- 売買代金上位500位
東証一部の大柄な銘柄で利益を得ようとすると、すでにたくさんの投資家により購入された株式だったり、機関投資家が参戦する株式だったりと多くの障壁があります。
なので、短期の個人投資家にとって旨味があるマザーズや東証2部に興味があります。
あったら便利そうな銘柄一覧
- 貸借銘柄(東証1部)
- 日経225採用銘柄
- マザーズ
- 東証2部
- JASDAQ
- ○○関連株(オリンピック、宇宙、医療バイオ)
日本取引所グループのサイトに制度信用・貸借銘柄一覧があります。
ここから一覧のExcelを取得して、銘柄コードをコピー&ペーストすれば、新規に銘柄一覧を作ることができます。
チャートの追加方法
既に紹介済ですが、「Protra\chart」フォルダの下に「○○.pt」というファイルを置けば自動的にチャート一覧に表示されます。
例えば、3点チャージ投資法で利用するMACPとRSI、VRを表示するソースコードを作成して、名前をつけて置いてみて下さい。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
// 3点チャージ投資法 require "Color" require "TIlib" $Names[0] = "Charge3 (MACP <= -7 && VR <= 70 && RSI <= 25)" $Colors[0] = $Pink $Names[1] = "MACP(26)" $Colors[1] = $Yellow $Names[2] = "VR(25)" $Colors[2] = $Green $Names[3] = "RSI(14)" $Colors[3] = $Red //Candle_draw($White, $Yellow) if !$__INIT__ $MACP = DiffMA_new(26) $VR = VR_new(25, 0) $RSI = RSI_new(14, 0) $__INIT__ = 1 else DiffMA_next($MACP) DiffMA_draw($MACP, $Colors[1]) VR_next($VR) VR_draw($VR, $Colors[2]) RSI_next($RSI) RSI_draw($RSI, $Colors[3]) end Indicator(1, DiffMA_value($MACP)) Indicator(2, VR_value($VR)) Indicator(3, RSI_value($RSI)) |
右クリックするとチャート一覧が表示され、そこに作成したファイル名が表示されるはずです。
Y軸の基準値が違う指標を、もっと分かりやすく表示して欲しいですが、そのような機能はありません。
自作の売買ルールのバックテストをする方法
これも今まで記載しているとおりです。
「Protra\system」に「○○.pt」というファイル名で保存すると、PtSim.exe上でバックテストが可能です。
基本的なソースコードの構成は次のようになります(by Hirafer!の株式投資入門さんより抜粋)。
このような独自のプログラミング言語を使ったプログラムで作られています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
//================================================== // コメント //================================================== require "TIlib" //================================================== // 設定値エリア //================================================== $aaa = n : //================================================== // 条件エリア //================================================== def Cond1 : end def Cond2 : end : //================================================== // メイン部 //================================================== if ! $hold && Cond1 $hold = 100 $buy = Close Buy(Close, $hold) elsif $hold && Cond2 Sell(Close, $hold) $hold = 0 end |
注意する点として、不具合修正等を行いバックテストを2回行う場合は前回のデータを削除する必要があります。
「data」「log」ファイルの該当ログを削除するか、PtSim.exeの
「ファイル」→「実行履歴の削除」
から削除できます。
実装の容易さと自由度に関してはprotra最大の利点です。